﻿.hashtag-panel{overflow:hidden}
.hashtag-app{--hg-accent:#9b6cff;--hg-strong:#7648ed;--hg-border:rgba(255,255,255,.1);--hg-text:#f5f2ff;--hg-muted:#aaa7bd;--hg-success:#65d8ad;--hg-danger:#ff718c;color:var(--hg-text)}
.hashtag-app *{box-sizing:border-box}
.hashtag-app button,.hashtag-app textarea,.hashtag-app select,.hashtag-app input{font:inherit}
.hashtag-app button{cursor:pointer}
.hashtag-app button:focus-visible,.hashtag-app textarea:focus-visible,.hashtag-app select:focus-visible,.hashtag-app input:focus-visible{outline:3px solid rgba(155,108,255,.45);outline-offset:3px}
.hg-hero,.hg-card,.hashtag-help{border:1px solid var(--hg-border);border-radius:17px;background:linear-gradient(145deg,rgba(30,23,56,.66),rgba(7,9,20,.72));box-shadow:0 16px 40px rgba(0,0,0,.2)}
.hg-hero{margin-bottom:20px;padding:20px;border-color:rgba(155,108,255,.28);background:linear-gradient(135deg,rgba(47,28,95,.38),rgba(9,11,24,.78))}
.hg-kicker{color:#d9cbff;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.hg-kicker:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--hg-accent);box-shadow:0 0 14px rgba(155,108,255,.8)}
.hg-hero h2{margin:9px 0 6px;color:#fff;font-size:clamp(1.35rem,3vw,1.72rem)}
.hg-hero p,.hg-card-head p,.hg-help,.hg-input-count,.hg-status,.hg-output-meta,.hg-empty-state p,.hg-privacy,.hg-category-description{color:var(--hg-muted)}
.hg-hero p{margin:0;line-height:1.55}
.hg-layout{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(330px,.98fr);gap:20px;align-items:start}
.hg-card{padding:20px}
.hg-card-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:18px}
.hg-card-icon{display:grid;width:33px;height:33px;flex:0 0 33px;place-items:center;border:1px solid rgba(155,108,255,.38);border-radius:10px;color:#e9e1ff;background:rgba(155,108,255,.13)}
.hg-card-head h2,.hg-field-label{margin:0;color:#f2effb;font-size:1rem}
.hg-card-head p{margin:3px 0 0;font-size:.82rem}
.hg-field{display:grid;gap:7px;margin-top:15px}
.hg-field-label{font-size:.84rem;font-weight:750}
.hg-textarea,.hg-select,.hg-custom-count,.hg-output{width:100%;border:1px solid var(--hg-border);border-radius:11px;outline:0;color:var(--hg-text);background:rgba(4,6,15,.6)}
.hg-textarea:focus,.hg-select:focus,.hg-custom-count:focus,.hg-output:focus{border-color:rgba(155,108,255,.8);box-shadow:0 0 0 3px rgba(155,108,255,.12)}
.hg-textarea{min-height:156px;padding:12px;resize:vertical;line-height:1.5}
.hg-select,.hg-custom-count{height:43px;padding:0 11px}
.hg-help{margin:0;font-size:.76rem;line-height:1.45}.hg-input-count{margin:0;font-size:.75rem;text-align:right}
.hg-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}
.hg-count-buttons,.hg-actions,.hg-format-buttons{display:flex;flex-wrap:wrap;gap:7px}
.hg-tag-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
@media(max-width:999px){.hg-tag-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.hg-tag-list{grid-template-columns:1fr}}
.hg-count-button,.hg-action,.hg-format-button{min-height:38px;border:1px solid var(--hg-border);border-radius:10px;color:#efeafa;background:rgba(255,255,255,.05);font-size:.82rem;font-weight:750;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.hg-count-button{min-width:40px;padding:7px 10px}.hg-count-button:hover,.hg-action:hover,.hg-format-button:hover{border-color:rgba(155,108,255,.65);background:rgba(155,108,255,.13)}
.hg-count-button.is-active,.hg-format-button.is-active{border-color:rgba(155,108,255,.85);color:#fff;background:rgba(155,108,255,.21)}
.hg-custom-count{display:none;margin-top:8px}.hg-custom-count.is-visible{display:block}
.hg-actions{gap:9px;margin-top:19px}.hg-action{flex:1 1 130px;padding:10px 14px}.hg-action-primary{border-color:rgba(155,108,255,.86);color:#fff;background:linear-gradient(135deg,#9667ff,#7043e9);box-shadow:0 8px 20px rgba(102,59,226,.25)}.hg-action-danger{color:#ffc3d0}
.hg-status{min-height:1.3em;margin:13px 1px 0;font-size:.82rem}.hg-status.is-success{color:var(--hg-success)}.hg-status.is-error{color:var(--hg-danger)}
.hg-results-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.hg-results-head h2{margin:0;color:#f4f0fd;font-size:1rem}.hg-output-meta{margin:4px 0 0;font-size:.78rem}.hg-local-badge{padding:6px 9px;border:1px solid rgba(101,216,173,.28);border-radius:999px;color:#cdf5df;background:rgba(72,183,130,.08);font-size:.72rem;font-weight:750}
.hg-empty-state{display:grid;min-height:310px;place-items:center;padding:28px;border:1px dashed rgba(155,108,255,.3);border-radius:14px;text-align:center}.hg-empty-icon{display:grid;width:49px;height:49px;margin:0 auto 12px;place-items:center;border:1px solid rgba(155,108,255,.35);border-radius:15px;color:#dacbff;background:rgba(155,108,255,.11);font-size:1.25rem}.hg-empty-state h3{margin:0;color:#f3effc;font-size:1rem}.hg-empty-state p{max-width:270px;margin:7px auto 0;font-size:.83rem;line-height:1.5}
.hg-results-content{display:none}.hg-results-content.is-visible{display:block}.hg-category{margin-top:16px}.hg-category:first-child{margin-top:0}.hg-category-heading{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:9px}.hg-category-heading h3{margin:0;color:#ece8f6;font-size:.88rem}.hg-category-description{font-size:.72rem}
.hg-tag{max-width:100%;padding:8px 10px;overflow:hidden;border:1px solid rgba(155,108,255,.26);border-radius:999px;color:#f3effd;background:rgba(155,108,255,.09);font-size:.81rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.hg-tag:hover{border-color:rgba(155,108,255,.74);background:rgba(155,108,255,.18)}.hg-tag.is-copied{border-color:rgba(101,216,173,.7);color:#d9fae8;background:rgba(72,183,130,.15)}
.hg-format-section{margin-top:19px;padding-top:17px;border-top:1px solid var(--hg-border)}.hg-format-buttons{margin-top:10px}.hg-format-button{padding:7px 10px}.hg-output{min-height:96px;margin-top:12px;padding:11px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;line-height:1.5}.hg-output-footer{display:flex;justify-content:space-between;gap:10px;margin-top:8px;color:var(--hg-muted);font-size:.75rem}
.hg-privacy{margin-top:18px;padding:13px;border:1px solid rgba(101,216,173,.25);border-radius:12px;background:rgba(72,183,130,.07);font-size:.78rem;line-height:1.5}.hg-privacy strong{color:#dcfae9}
.hashtag-help{margin-top:20px;padding:20px}.hashtag-help h2{margin:0;color:#f3effb;font-size:1.02rem}.hashtag-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:15px}.hashtag-help-grid div{padding:14px;border:1px solid rgba(255,255,255,.075);border-radius:12px;background:rgba(255,255,255,.025)}.hashtag-help-grid h3{margin:0;color:#eeeaf8;font-size:.87rem}.hashtag-help-grid p{margin:7px 0 0;color:var(--hg-muted);font-size:.79rem;line-height:1.5}
@media(max-width:800px){.hg-layout{grid-template-columns:1fr}.hashtag-help-grid{grid-template-columns:1fr}}@media(max-width:510px){.hg-hero,.hg-card,.hashtag-help{padding:16px;border-radius:14px}.hg-options{grid-template-columns:1fr}.hg-actions{display:grid;grid-template-columns:1fr 1fr}.hg-action{min-width:0}.hg-results-head{align-items:center}.hg-local-badge{font-size:.67rem}}@media(prefers-reduced-motion:reduce){.hashtag-app *{transition:none!important;animation:none!important}}

/* === Grid layout fix: two-column workspace === */
.hashtag-app .hg-layout {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 20px;
}
@media (min-width: 1000px) {
  body:has(.hashtag-app) .wrap {
    max-width: 1400px;
  }
  .hashtag-app .hg-layout {
    grid-template-columns: minmax(380px, 0.9fr) minmax(0, 1.1fr);
    gap: 22px;
  }
  .hashtag-app .hg-controls {
    position: sticky;
    top: 20px;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
  }
  .hashtag-app .hg-tag-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .hashtag-app .hg-tag {
    width: 100%;
    text-align: center;
  }
}
.hashtag-app .hg-results {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.hashtag-app .hg-results-content {
  flex: 1 1 auto;
  min-height: 0;
}
