/* ═══════════════════════════════════════════════════════
   PromptGenius by MolvicStudios — Design System
   Dark Editorial + Electric Amber
   Fonts: Syne · DM Sans · JetBrains Mono
   ═══════════════════════════════════════════════════════ */
:root {
  --bg-deep: #08080a; --bg-surface: #111114; --bg-elevated: #19191e;
  --bg-hover: #222228; --border: #2a2a32; --border-light: #3a3a44;
  --text-primary: #f0ece4; --text-secondary: #9a958c; --text-muted: #5c584f;
  --amber: #f5a623; --amber-bright: #ffbf44; --amber-dim: #c47f10;
  --amber-glow: rgba(245,166,35,0.15); --amber-glow-strong: rgba(245,166,35,0.3);
  --red: #e05252; --green: #4ecb71; --green-dim: rgba(78,203,113,0.15);
  --blue: #5b9cf5; --blue-dim: rgba(91,156,245,0.15);
  --space-xs:4px; --space-sm:8px; --space-md:16px; --space-lg:24px;
  --space-xl:40px; --space-2xl:64px; --space-3xl:96px;
  --radius-sm:6px; --radius-md:10px; --radius-lg:16px; --radius-xl:24px;
  --shadow-sm:0 1px 3px rgba(0,0,0,.4); --shadow-md:0 4px 16px rgba(0,0,0,.5);
  --shadow-lg:0 8px 40px rgba(0,0,0,.6); --shadow-amber:0 0 30px rgba(245,166,35,.2);
  --ease:cubic-bezier(.22,1,.36,1); --duration:0.3s;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:'DM Sans',sans-serif;background:var(--bg-deep);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px}
::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}

@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes glow{0%,100%{box-shadow:0 0 20px rgba(245,166,35,.1)}50%{box-shadow:0 0 40px rgba(245,166,35,.25)}}
.fade-up{animation:fadeUp .6s var(--ease) both}
.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}

/* ── Navbar ── */
.navbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);background:rgba(8,8,10,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
.navbar-brand{display:flex;align-items:baseline;gap:var(--space-sm)}
.navbar-brand h1{font-family:'Syne',sans-serif;font-weight:800;font-size:1.4rem;letter-spacing:-.02em;color:var(--text-primary)}
.navbar-brand h1 span{color:var(--amber)}
.navbar-brand .tagline{font-size:.7rem;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}
.navbar-brand .by-molvic{font-size:.65rem;color:var(--text-muted);letter-spacing:.04em;margin-left:4px;opacity:.7}
.navbar-brand .by-molvic strong{color:var(--text-secondary);font-weight:600}
.navbar-actions{display:flex;align-items:center;gap:var(--space-sm)}
.btn-nav{font-family:'JetBrains Mono',monospace;font-size:.7rem;font-weight:700;letter-spacing:.1em;padding:6px 12px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--duration) var(--ease)}
.btn-nav:hover,.btn-nav.active{border-color:var(--amber);color:var(--amber);background:var(--amber-glow)}

.container{max-width:1200px;margin:0 auto;padding:0 var(--space-xl)}

/* ── Hero ── */
.hero{text-align:center;padding:var(--space-3xl) 0 var(--space-2xl);position:relative}
.hero::before{content:'';position:absolute;top:-100px;left:50%;transform:translateX(-50%);width:600px;height:400px;background:radial-gradient(ellipse,rgba(245,166,35,.08) 0%,transparent 70%);pointer-events:none}
.hero h2{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(2rem,5vw,3.5rem);line-height:1.1;letter-spacing:-.03em;max-width:800px;margin:0 auto var(--space-lg);background:linear-gradient(135deg,var(--text-primary) 0%,var(--amber-bright) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero p{font-size:1.1rem;color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.7}

.section-title{font-family:'Syne',sans-serif;font-weight:700;font-size:1.3rem;color:var(--text-primary);margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:2px solid var(--border);display:inline-block}

/* ── Mode Selector ── */
.mode-section{margin-bottom:var(--space-2xl)}
.mode-toggle-wrapper{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg)}
.mode-card{flex:1;padding:var(--space-lg);border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);cursor:pointer;transition:all var(--duration) var(--ease);position:relative;overflow:hidden}
.mode-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--amber-glow) 0%,transparent 60%);opacity:0;transition:opacity var(--duration) var(--ease)}
.mode-card:hover{border-color:var(--border-light);transform:translateY(-2px)}
.mode-card.active{border-color:var(--amber);box-shadow:var(--shadow-amber)}
.mode-card.active::before{opacity:1}
.mode-card h3{font-family:'Syne',sans-serif;font-weight:700;font-size:1.1rem;margin-bottom:var(--space-sm);position:relative;z-index:1}
.mode-card.active h3{color:var(--amber-bright)}
.mode-card p{font-size:.85rem;color:var(--text-secondary);position:relative;z-index:1}
.mode-badge{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:.7rem;font-weight:600;padding:4px 10px;border-radius:var(--radius-sm);margin-top:var(--space-md);position:relative;z-index:1}
.mode-badge.online{background:var(--amber-glow);color:var(--amber);border:1px solid rgba(245,166,35,.3)}
.mode-badge.offline{background:var(--green-dim);color:var(--green);border:1px solid rgba(78,203,113,.3)}

/* API Key Panel */
.apikey-panel{padding:var(--space-lg);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-lg);display:none}
.apikey-panel.visible{display:block;animation:fadeUp .4s var(--ease) both}
.apikey-panel label{display:block;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-sm)}
.apikey-row{display:flex;gap:var(--space-sm);align-items:center}
.apikey-row input{flex:1;font-family:'JetBrains Mono',monospace;font-size:.85rem;padding:10px 14px;background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;transition:border-color var(--duration) var(--ease)}
.apikey-row input:focus{border-color:var(--amber)}
.apikey-links{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-sm);flex-wrap:wrap}
.apikey-link{font-size:.8rem;color:var(--amber);text-decoration:none;transition:color var(--duration) var(--ease)}
.apikey-link:hover{color:var(--amber-bright);text-decoration:underline}
.apikey-saved{font-size:.75rem;color:var(--green);display:none}
.apikey-saved.visible{display:block}

/* API Explainer */
.api-explainer-toggle{font-family:'DM Sans',sans-serif;font-size:.78rem;color:var(--blue);background:none;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:0;transition:color var(--duration) var(--ease)}
.api-explainer-toggle:hover{color:var(--text-primary)}
.api-explainer-toggle .arrow-exp{font-size:.6rem;transition:transform var(--duration) var(--ease)}
.api-explainer-toggle.open .arrow-exp{transform:rotate(90deg)}
.api-explainer{display:none;margin-top:var(--space-md);padding:var(--space-md);background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.8rem;color:var(--text-secondary);line-height:1.7}
.api-explainer.visible{display:block;animation:fadeUp .3s var(--ease) both}
.api-explainer h4{font-family:'Syne',sans-serif;font-weight:700;font-size:.85rem;color:var(--text-primary);margin-bottom:var(--space-sm)}
.api-explainer p{margin-bottom:var(--space-sm)}
.api-explainer code{font-family:'JetBrains Mono',monospace;font-size:.75rem;background:var(--bg-elevated);padding:2px 6px;border-radius:3px;color:var(--amber)}
.api-explainer ul{list-style:none;padding:0;margin:var(--space-sm) 0}
.api-explainer ul li{padding:4px 0 4px var(--space-md);position:relative}
.api-explainer ul li::before{content:'→';position:absolute;left:0;color:var(--amber-dim)}
.api-explainer a{color:var(--amber);text-decoration:none}
.api-explainer a:hover{text-decoration:underline}

/* ── Categories ── */
.categories-section{margin-bottom:var(--space-2xl)}
.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md)}
.category-card{padding:var(--space-lg) var(--space-md);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration) var(--ease);text-align:center;position:relative;overflow:hidden}
.category-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--amber);transform:scaleX(0);transition:transform var(--duration) var(--ease)}
.category-card:hover{border-color:var(--border-light);background:var(--bg-elevated);transform:translateY(-3px);box-shadow:var(--shadow-md)}
.category-card:hover::after{transform:scaleX(.5)}
.category-card.selected{border-color:var(--amber);background:var(--bg-elevated);box-shadow:var(--shadow-amber)}
.category-card.selected::after{transform:scaleX(1)}
.category-icon{font-size:2rem;margin-bottom:var(--space-sm);display:block}
.category-label{font-family:'Syne',sans-serif;font-weight:700;font-size:.9rem;color:var(--text-primary);margin-bottom:4px}
.category-card.selected .category-label{color:var(--amber-bright)}
.category-desc{font-size:.72rem;color:var(--text-muted);letter-spacing:.02em}

/* ── Main Layout ── */
.main-layout{display:grid;grid-template-columns:1fr 300px;gap:var(--space-xl);margin-bottom:var(--space-2xl);align-items:start}

/* ── Form ── */
.form-section{display:flex;flex-direction:column;gap:var(--space-lg)}
.field-group{display:flex;flex-direction:column;gap:var(--space-sm)}
.field-group label{font-weight:600;font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}
.field-group textarea,.field-group input[type="text"]{font-family:'DM Sans',sans-serif;font-size:.95rem;padding:12px 16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);outline:none;resize:vertical;transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}
.field-group textarea:focus,.field-group input[type="text"]:focus{border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-glow)}
.field-group textarea{min-height:100px}
.char-counter{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--text-muted);text-align:right}
.char-counter.warning{color:var(--amber)}.char-counter.danger{color:var(--red)}
.select-wrapper{position:relative}
.select-wrapper select{width:100%;font-family:'DM Sans',sans-serif;font-size:.95rem;padding:12px 16px;padding-right:40px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);outline:none;appearance:none;cursor:pointer;transition:border-color var(--duration) var(--ease)}
.select-wrapper select:focus{border-color:var(--amber)}
.select-wrapper::after{content:'▾';position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}
.toggle-group{display:flex;gap:0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}
.toggle-btn{flex:1;padding:10px 16px;font-family:'DM Sans',sans-serif;font-size:.85rem;font-weight:600;background:var(--bg-surface);border:none;color:var(--text-secondary);cursor:pointer;transition:all var(--duration) var(--ease);border-right:1px solid var(--border)}
.toggle-btn:last-child{border-right:none}
.toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}
.toggle-btn.active{background:var(--amber);color:var(--bg-deep)}
.chips-group{display:flex;flex-wrap:wrap;gap:var(--space-sm)}
.chip{font-family:'DM Sans',sans-serif;font-size:.8rem;font-weight:500;padding:8px 16px;border:1px solid var(--border);border-radius:100px;background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all var(--duration) var(--ease)}
.chip:hover{border-color:var(--border-light);color:var(--text-primary);background:var(--bg-hover)}
.chip.active{border-color:var(--amber);background:var(--amber-glow);color:var(--amber)}
.advanced-toggle{display:flex;align-items:center;gap:var(--space-sm);font-size:.85rem;font-weight:600;color:var(--text-muted);cursor:pointer;padding:var(--space-sm) 0;border:none;background:none;transition:color var(--duration) var(--ease)}
.advanced-toggle:hover{color:var(--amber)}
.advanced-toggle .arrow{transition:transform var(--duration) var(--ease);font-size:.7rem}
.advanced-toggle.open .arrow{transform:rotate(90deg)}
.advanced-fields{display:none;flex-direction:column;gap:var(--space-lg)}
.advanced-fields.visible{display:flex;animation:fadeUp .3s var(--ease) both}

/* ── Live Preview ── */
.live-preview{padding:var(--space-md);background:var(--bg-surface);border:1px dashed var(--border-light);border-radius:var(--radius-md);max-height:200px;overflow-y:auto;display:none}
.live-preview.visible{display:block;animation:fadeIn .3s var(--ease) both}
.live-preview-label{font-family:'JetBrains Mono',monospace;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--amber-dim);margin-bottom:var(--space-sm)}
.live-preview-text{font-family:'JetBrains Mono',monospace;font-size:.75rem;color:var(--text-muted);line-height:1.6;white-space:pre-wrap;word-break:break-word}

/* ── Generate button ── */
.btn-generate{font-family:'Syne',sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:.02em;padding:16px 40px;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--amber) 0%,var(--amber-dim) 100%);color:var(--bg-deep);cursor:pointer;transition:all var(--duration) var(--ease);position:relative;overflow:hidden}
.btn-generate::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--amber-bright) 0%,var(--amber) 100%);opacity:0;transition:opacity var(--duration) var(--ease)}
.btn-generate:hover::before{opacity:1}
.btn-generate:hover{transform:translateY(-2px);box-shadow:var(--shadow-amber)}
.btn-generate:active{transform:translateY(0)}
.btn-generate span{position:relative;z-index:1}
.btn-generate:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-generate:disabled:hover::before{opacity:0}

.error-msg{padding:var(--space-md);background:rgba(224,82,82,.1);border:1px solid rgba(224,82,82,.3);border-radius:var(--radius-md);color:var(--red);font-size:.85rem;display:none}
.error-msg.visible{display:block;animation:fadeUp .3s var(--ease) both}

.skeleton{display:none;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg)}
.skeleton.visible{display:flex;animation:fadeIn .3s var(--ease) both}
.skeleton-line{height:14px;background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-hover) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s ease infinite;border-radius:4px}
.skeleton-line:nth-child(1){width:90%}.skeleton-line:nth-child(2){width:75%}.skeleton-line:nth-child(3){width:85%}.skeleton-line:nth-child(4){width:60%}.skeleton-line:nth-child(5){width:80%}.skeleton-line:nth-child(6){width:70%}

/* ── Result ── */
.result-panel{display:none;flex-direction:column;gap:var(--space-md)}
.result-panel.visible{display:flex;animation:fadeUp .5s var(--ease) both}
.result-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}
.result-header h3{font-family:'Syne',sans-serif;font-weight:700;font-size:1.1rem}
.result-badges{display:flex;align-items:center;gap:var(--space-sm)}
.result-badge{font-family:'JetBrains Mono',monospace;font-size:.65rem;font-weight:600;padding:4px 10px;border-radius:100px;text-transform:uppercase;letter-spacing:.05em}
.result-badge.ai{background:var(--amber-glow);color:var(--amber);border:1px solid rgba(245,166,35,.3)}
.result-badge.offline{background:var(--green-dim);color:var(--green);border:1px solid rgba(78,203,113,.3)}
.btn-fav{font-size:1.2rem;background:none;border:none;cursor:pointer;transition:transform var(--duration) var(--ease);padding:4px;line-height:1}
.btn-fav:hover{transform:scale(1.3)}
.result-output{font-family:'JetBrains Mono',monospace;font-size:.82rem;line-height:1.7;padding:var(--space-lg);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);max-height:450px;overflow-y:auto;white-space:pre-wrap;word-break:break-word;color:var(--text-primary)}
.result-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}
.btn-action{font-family:'DM Sans',sans-serif;font-size:.8rem;font-weight:600;padding:8px 18px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all var(--duration) var(--ease)}
.btn-action:hover{border-color:var(--amber);color:var(--amber);background:var(--amber-glow)}
.btn-action.copied{border-color:var(--green);color:var(--green);background:var(--green-dim)}
.variant-chips{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border)}
.variant-chip{font-family:'DM Sans',sans-serif;font-size:.75rem;font-weight:500;padding:6px 14px;border:1px dashed var(--border-light);border-radius:100px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--duration) var(--ease)}
.variant-chip:hover{border-color:var(--amber);color:var(--amber);border-style:solid;background:var(--amber-glow)}

/* ── Side Panels (History / Favs) ── */
.panel-overlay{display:none;position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.panel-overlay.visible{display:block;animation:fadeIn .2s var(--ease) both}
.side-panel{position:fixed;top:0;right:-420px;width:400px;max-width:90vw;height:100vh;z-index:201;background:var(--bg-surface);border-left:1px solid var(--border);padding:var(--space-lg);overflow-y:auto;transition:right .4s var(--ease)}
.side-panel.visible{right:0}
.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border)}
.panel-header h3{font-family:'Syne',sans-serif;font-weight:700;font-size:1.1rem}
.btn-close-panel{font-size:1.3rem;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px 8px;transition:color var(--duration) var(--ease)}
.btn-close-panel:hover{color:var(--text-primary)}
.panel-empty{text-align:center;padding:var(--space-2xl) 0;color:var(--text-muted);font-size:.85rem}
.panel-empty .empty-icon{font-size:2.5rem;margin-bottom:var(--space-md);display:block;opacity:.5}
.history-item,.fav-item{padding:var(--space-md);background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-sm);cursor:pointer;transition:all var(--duration) var(--ease)}
.history-item:hover,.fav-item:hover{border-color:var(--border-light);background:var(--bg-elevated)}
.history-meta,.fav-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xs)}
.history-category,.fav-category{font-family:'JetBrains Mono',monospace;font-size:.65rem;font-weight:600;text-transform:uppercase;color:var(--amber);letter-spacing:.05em}
.history-date,.fav-date{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:var(--text-muted)}
.history-preview,.fav-preview{font-size:.78rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.history-actions,.fav-actions{display:flex;gap:var(--space-xs);margin-top:var(--space-sm)}
.btn-mini{font-family:'DM Sans',sans-serif;font-size:.7rem;font-weight:600;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--duration) var(--ease)}
.btn-mini:hover{border-color:var(--amber);color:var(--amber)}
.btn-mini.danger:hover{border-color:var(--red);color:var(--red)}

/* ── Tips ── */
.tips-panel{position:sticky;top:80px;padding:var(--space-lg);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg)}
.tips-panel h3{font-family:'Syne',sans-serif;font-weight:700;font-size:1rem;color:var(--amber);margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border)}
.tip-item{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md);font-size:.8rem;color:var(--text-secondary);line-height:1.6}
.tip-item:last-child{margin-bottom:0}
.tip-number{font-family:'Syne',sans-serif;font-weight:800;font-size:.9rem;color:var(--amber-dim);min-width:22px;flex-shrink:0}

/* ── Footer ── */
.footer{padding:var(--space-xl) 0;border-top:1px solid var(--border);text-align:center}
.footer p{font-size:.8rem;color:var(--text-muted);margin-bottom:var(--space-xs)}
.footer .privacy-note{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--green)}
.footer .molvic-brand{font-size:.75rem;color:var(--text-muted);margin-top:var(--space-sm)}
.footer .molvic-brand strong{color:var(--text-secondary)}

/* ── Responsive ── */
@media(max-width:900px){.main-layout{grid-template-columns:1fr}.tips-panel{position:static}}
@media(max-width:640px){.container{padding:0 var(--space-md)}.navbar{padding:var(--space-md)}.navbar-brand .tagline,.navbar-brand .by-molvic{display:none}.hero{padding:var(--space-2xl) 0 var(--space-xl)}.mode-toggle-wrapper{flex-direction:column}.categories-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.category-card{padding:var(--space-md) var(--space-sm)}.category-icon{font-size:1.5rem}.category-label{font-size:.8rem}.result-actions,.variant-chips{flex-direction:column}.toggle-group{flex-direction:column}.toggle-btn{border-right:none;border-bottom:1px solid var(--border)}.toggle-btn:last-child{border-bottom:none}.chips-group{gap:6px}.chip{font-size:.75rem;padding:6px 12px}.side-panel{width:100vw;max-width:100vw}}
select option{background:var(--bg-surface);color:var(--text-primary)}
