*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0c0a09;--bg-card:#171412;--bg-elevated:#1c1917;--border:#292524;--border-hover:#44403c;--text:#e7e5e4;--text-dim:#a8a29e;--text-muted:#78716c;--accent:#f97316;--accent-soft:#f9731614;--accent-glow:#f9731633;--coral:#fb7185;--teal:#2dd4bf;--display:"Instrument Serif", Georgia, serif;--body:"DM Sans", -apple-system, sans-serif;--radius:14px}body{font-family:var(--body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:9999;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)' opacity='0.025'/%3E%3C/svg%3E");position:fixed;inset:0}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--bg-card);z-index:50;align-items:center;gap:1.5rem;padding:.75rem 2rem;display:flex;position:sticky;top:0}.topbar-brand{align-items:center;gap:.5rem;margin-right:1rem;display:flex}.brand-mark{color:#fff;letter-spacing:-.3px;background:linear-gradient(135deg,#f97316,#ea580c);border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.65rem;font-weight:800;display:flex}.brand-text{font-family:var(--display);color:#fafaf9;letter-spacing:-.3px;font-size:1.15rem}.topbar-modes{gap:.25rem;display:flex}.topbar-tab{font-family:var(--body);color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:.45rem 1rem;font-size:.8rem;font-weight:500;transition:all .12s}.topbar-tab:hover{color:var(--text-dim);background:var(--bg-elevated)}.topbar-tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.topbar-right{margin-left:auto}.topbar-status{color:var(--accent);font-variant-numeric:tabular-nums;align-items:center;gap:.5rem;font-size:.78rem;display:flex}.preview-btn{border:1px dashed var(--border-hover);color:var(--text-muted);font-size:.72rem;font-family:var(--body);cursor:pointer;background:0 0;border-radius:6px;margin-left:.75rem;padding:.35rem .75rem;transition:all .12s}.preview-btn:hover{border-color:var(--accent);color:var(--accent)}.status-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.global-loader{background:var(--border);z-index:51;height:2px;position:fixed;top:49px;left:0;right:0}.global-loader-fill{background:linear-gradient(90deg, var(--accent), #fb923c);height:100%;transition:width 1s linear}.error-bar{color:var(--coral);background:#fb71850f;border:1px solid #fb718526;border-radius:10px;margin:.75rem .75rem 0;padding:.7rem 1.25rem;font-size:.85rem}.dashboard{grid-template-rows:1fr 1fr auto;grid-template-columns:2fr 3fr;gap:.75rem;width:100%;min-height:calc(100vh - 50px);padding:.75rem;display:grid}.dashboard .tile-input{grid-area:1/1/3}.dashboard .tile-market{grid-area:1/2;min-height:0}.dashboard .tile-instructions{grid-area:2/2;min-height:0}.dashboard .tile-action{grid-area:3/1/auto/-1}.dashboard-direct{grid-template-rows:1fr auto;grid-template-columns:1fr 1fr}.dashboard-direct .tile-input{grid-area:1/1}.dashboard-direct .tile-edit-instructions{grid-area:1/2}.dashboard-direct .tile-action{grid-area:2/1/auto/-1}.tile{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.85rem;padding:1.5rem;display:flex}.tile-label{text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);align-items:center;gap:.5rem;font-size:.68rem;font-weight:700;display:flex}.optional-tag{color:var(--border-hover);text-transform:uppercase;letter-spacing:.5px;font-size:.62rem;font-weight:500}.tile-action{background:0 0;border:none;padding:0}.tile-market,.tile-input{flex-direction:column;display:flex}.tile-input .upload-zone{flex:1;min-height:0}.tile-input textarea{resize:none;flex:1;min-height:0}.tile-edit-instructions{flex-direction:column;display:flex}.tile-edit-instructions textarea{resize:none;flex:1;min-height:0}.upload-zone{border:1.5px dashed var(--border);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;min-height:140px;transition:all .15s;display:flex;overflow:hidden}.upload-zone:hover{border-color:var(--accent);background:var(--accent-soft)}.upload-zone.has-error{border-color:var(--coral)}.upload-empty{color:var(--text-muted);flex-direction:column;align-items:center;gap:.5rem;padding:2rem;font-size:.88rem;display:flex}.upload-icon{background:var(--border);width:48px;height:48px;color:var(--text-dim);border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.upload-zone:hover .upload-icon{background:var(--accent);color:#fff}.upload-sub{color:var(--text-muted);font-size:.75rem}.preview-wrap{width:100%;position:relative}.upload-preview{object-fit:contain;background:var(--bg);width:100%;max-height:200px;display:block}.clear-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--border);color:var(--text);font-size:.75rem;font-family:var(--body);cursor:pointer;background:#000000bf;border-radius:6px;padding:.25rem .65rem;position:absolute;top:8px;right:8px}.clear-btn:hover{background:#dc2626cc}.tile-divider{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:.75rem;font-size:.68rem;font-weight:600;display:flex}.tile-divider:before,.tile-divider:after{content:"";background:var(--border);flex:1;height:1px}textarea,input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);font-size:.85rem;font-family:var(--body);resize:vertical;border-radius:8px;padding:.65rem .85rem;transition:border-color .12s,box-shadow .12s}textarea:focus,input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}textarea::placeholder,input::placeholder{color:var(--text-muted)}.tile-input textarea::placeholder{text-align:center;color:var(--border-hover);font-size:.8rem}.validation-hint{color:var(--coral);margin-top:.3rem;font-size:.76rem;animation:.15s ease-out fadeUp;display:block}@keyframes fadeUp{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.market-pills{flex:1;grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.pill-wrap{display:flex;position:relative}.market-pill{background:var(--bg);border:1.5px solid var(--border);cursor:pointer;font-family:var(--body);border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.85rem 1rem;transition:all .12s;display:flex}.market-pill:hover{border-color:var(--accent);background:var(--bg-elevated);transform:translateY(-1px)}.market-pill.active{border-color:var(--accent);background:var(--accent-soft)}.pill-flag{font-size:1.8rem;line-height:1}.pill-name{color:var(--text-dim);font-size:1.05rem;font-weight:600}.market-pill.active .pill-name{color:var(--text)}.pill-tooltip{border:1px solid var(--border-hover);z-index:30;opacity:0;pointer-events:none;background:#292524;border-radius:10px;flex-direction:column;gap:.3rem;width:220px;padding:.8rem 1rem;transition:opacity .12s,transform .12s;display:flex;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(-4px);box-shadow:0 8px 24px #00000080}.pill-wrap:hover .pill-tooltip{opacity:1;z-index:40;transform:translate(-50%)translateY(0)}.pill-tooltip strong{font-family:var(--display);color:#fafaf9;font-size:.95rem}.tt-lang{color:var(--accent);font-size:.75rem}.tt-vibe{color:var(--text-muted);font-size:.72rem;line-height:1.45}.tile-instructions{flex-direction:column;display:flex}.tile-instructions textarea{resize:none;flex:1;min-height:0}.instr-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.instr-grid input{padding:.75rem .85rem}.gen-btn{background:var(--accent);color:#fff;width:100%;font-size:.92rem;font-weight:600;font-family:var(--body);cursor:pointer;border:none;border-radius:10px;padding:.9rem;transition:all .2s;position:relative;overflow:hidden}.gen-btn:after{content:"";background:linear-gradient(135deg,#0000 40%,#ffffff1a 50%,#0000 60%);transition:transform .5s;position:absolute;inset:0;transform:translate(-100%)}.gen-btn:hover:not(:disabled):after{transform:translate(100%)}.gen-btn:hover:not(:disabled){box-shadow:0 6px 24px var(--accent-glow);transform:translateY(-1px)}.gen-btn:disabled{background:var(--border);color:var(--text-muted);cursor:not-allowed}.gen-btn-edit{background:var(--teal)}.gen-btn-edit:hover:not(:disabled){box-shadow:0 6px 24px #2dd4bf33}.results-dashboard{width:100%;padding:.75rem}.back-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-dim);font-size:.78rem;font-family:var(--body);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.4rem .85rem;transition:all .12s;display:inline-flex}.back-btn:hover{border-color:var(--accent);color:var(--text)}.results-grid{grid-template-rows:minmax(420px,auto);grid-template-columns:5fr 5fr 4fr;gap:.75rem;margin-bottom:.75rem;display:grid}.results-grid-direct{grid-template-columns:5fr 5fr 4fr}.rtile{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex;overflow:hidden}.rtile-label{text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);font-size:.65rem;font-weight:700}.rtile-label.accent{color:var(--accent)}.rtile-img{object-fit:contain;background:var(--bg);border:1px solid var(--border);border-radius:8px;flex:1;width:100%;min-height:0}.rtile-original,.rtile-output{flex-direction:column;display:flex}.rtile-original .rtile-img,.rtile-output .img-hover-wrap{flex-direction:column;flex:1;min-height:0;display:flex}.rtile-output .img-hover-wrap .rtile-img{flex:1;min-height:0}.rtile-text{color:var(--text-dim);background:var(--bg);border:1px solid var(--border);white-space:pre-wrap;border-radius:8px;flex:1;padding:1rem;font-size:.85rem;line-height:1.65}.rtile-text.dim{color:var(--text-muted);text-align:center;padding:2rem;font-style:italic}.img-hover-wrap{position:relative}.img-overlay{opacity:0;background:linear-gradient(#0000,#000c);border-radius:0 0 8px 8px;justify-content:flex-end;gap:.4rem;padding:.75rem;transition:opacity .15s;display:flex;position:absolute;bottom:0;left:0;right:0}.img-hover-wrap:hover .img-overlay{opacity:1}.img-overlay button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:.75rem;font-weight:600;font-family:var(--body);cursor:pointer;background:#ffffff1f;border:1px solid #ffffff26;border-radius:7px;align-items:center;gap:.35rem;padding:.4rem .75rem;transition:background .12s;display:inline-flex}.img-overlay button:hover{background:#fff3}.tiktok-btn{background:#0009!important;border-color:#ffffff1a!important}.tiktok-btn:hover{border-color:var(--teal)!important;background:#2dd4bf33!important}.pub-msg{border-radius:7px;padding:.5rem .75rem;font-size:.78rem}.pub-msg.ok{color:var(--teal);background:#2dd4bf0f;border:1px solid #2dd4bf26}.pub-msg.err{color:var(--coral);background:#fb71850f;border:1px solid #fb718526}.pub-msg a{color:var(--teal);margin-left:.4rem;font-weight:600;text-decoration:underline}.rtile-strategy{overflow-y:auto}.section-toggle{cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:0;display:flex}.toggle-arrow{color:var(--text-muted);font-size:.85rem;transition:transform .2s}.toggle-arrow.open{transform:rotate(180deg)}.strat-body{flex-direction:column;gap:.85rem;margin-top:.85rem;animation:.2s ease-out expandIn;display:flex}@keyframes expandIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.strat-group h4{font-family:var(--display);margin-bottom:.4rem;font-size:.88rem;font-weight:400}.strat-keep{color:var(--teal)}.strat-change{color:var(--accent)}.strat-adapt{color:var(--coral)}.strat-lang{color:#d6d3d1}.strat-group ul{padding:0;list-style:none}.strat-group li{color:var(--text-dim);border-bottom:1px solid #29252480;padding:.35rem 0 .35rem .75rem;font-size:.78rem;line-height:1.5;position:relative}.strat-group li:before{content:"";background:var(--border-hover);border-radius:50%;width:4px;height:4px;position:absolute;top:.65em;left:0}.strat-group li:last-child{border-bottom:none}.strat-group p{color:var(--text-dim);font-size:.78rem;line-height:1.6}.edit-instructions-text{color:var(--text-dim);white-space:pre-wrap;font-size:.85rem;line-height:1.65}.rtile-copy,.rtile-brief{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;padding:1.25rem}.copy-row{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.75rem;margin-top:.85rem;animation:.2s ease-out expandIn;display:grid}.copy-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.5rem;padding:1.25rem;transition:border-color .12s;display:flex}.copy-card:hover{border-color:var(--border-hover)}.copy-lang{text-transform:uppercase;letter-spacing:1px;color:var(--accent);background:var(--accent-soft);border-radius:4px;align-self:flex-start;padding:.2rem .55rem;font-size:.6rem;font-weight:700}.copy-hl{font-family:var(--display);color:#fafaf9;font-size:1.1rem;line-height:1.3}.copy-bd{color:var(--text-dim);font-size:.82rem;line-height:1.6}.copy-cta{color:var(--accent);border:1px solid var(--accent);border-radius:6px;align-self:flex-start;padding:.35rem .75rem;font-size:.78rem;font-weight:600}.copy-why{color:var(--text-muted);border-top:1px solid var(--border);margin-top:.25rem;padding-top:.5rem;font-size:.75rem;font-style:italic;line-height:1.55}.brief-body{margin-top:.85rem;animation:.2s ease-out expandIn}.brief-body p{color:var(--text-dim);margin-bottom:.75rem;font-size:.85rem;line-height:1.7}.brief-tags{flex-wrap:wrap;gap:.35rem;display:flex}.tag{color:var(--text-dim);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.25rem .6rem;font-size:.72rem}footer{text-align:center;margin-top:auto;padding:1rem}footer p{color:var(--text-muted);letter-spacing:.05em;font-size:.72rem}@media (width<=768px){.topbar{flex-wrap:wrap;gap:.75rem;padding:.6rem 1rem}.topbar-modes{order:3;width:100%}.dashboard{grid-template-columns:1fr;padding:1rem}.dashboard .tile-input,.dashboard .tile-market,.dashboard .tile-instructions,.dashboard .tile-action,.dashboard-direct .tile-input,.dashboard-direct .tile-edit-instructions,.dashboard-direct .tile-action{grid-area:auto/1}.results-grid,.results-grid-direct{grid-template-columns:1fr}.results-dashboard{padding:1rem}.copy-row,.instr-grid{grid-template-columns:1fr}}
