:root{--bg:#0a0b10;--bg2:#11131d;--panel:#151825;--panel2:#1b1f33;--border:#ffffff14;--border2:#ffffff1f;--text:#e2e8f0;--muted:#94a3b8;--accent:#facc15;--accent2:#a78bfa;--accent3:#22d3ee;--shadow:0 10px 40px #00000080}*{box-sizing:border-box}html,body,#root{height:100%}body{background:radial-gradient(1200px 600px at 20% -10%, #a855f72e, transparent 60%), radial-gradient(900px 500px at 90% 0%, #22d3ee26, transparent 60%), radial-gradient(800px 600px at 50% 120%, #facc1512, transparent 60%), var(--bg);color:var(--text);margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow-x:hidden}button,input,select{font:inherit}a{color:inherit}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#0a0b10b3;justify-content:space-between;align-items:center;height:56px;padding:0 18px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.03em;align-items:center;gap:12px;font-weight:800;display:flex}.brand-badge{color:#111;background:linear-gradient(135deg,#facc15,#f59e0b);border-radius:10px;place-items:center;width:34px;height:34px;font-weight:900;display:grid;box-shadow:0 6px 18px #facc1559}.brand span{font-size:18px}.brand small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-left:6px;font-size:12px;font-weight:600}.top-actions{align-items:center;gap:10px;display:flex}.pill{border:1px solid var(--border);color:var(--muted);background:#ffffff0a;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.btn{appearance:none;border:1px solid var(--border2);color:var(--text);cursor:pointer;background:#1c2136;border-radius:10px;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn:hover{background:#232842;border-color:#ffffff2e;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{color:#111;background:linear-gradient(135deg,#facc15,#f59e0b);border-color:#0000;box-shadow:0 8px 22px #facc154d}.btn-primary:hover{filter:brightness(1.05)}.btn-ghost{background:0 0}.btn-small{border-radius:8px;padding:6px 10px;font-size:12px}.main{flex:1;grid-template-columns:360px 1fr 320px;gap:0;min-height:0;display:grid}@media (width<=1100px){.main{grid-template-columns:1fr}.left,.right{order:2}.stage{order:1;min-height:520px}}.left,.right,.stage{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#151825e6,#0f121ee6)}.right{border-right:none;border-left:1px solid var(--border)}.left,.right{padding:18px;overflow:auto}.stage{background:radial-gradient(600px 400px at 30% 20%,#a78bfa1f,#0000 60%),radial-gradient(600px 400px at 80% 80%,#22d3ee1a,#0000 60%),#0e1120;flex-direction:column;display:flex;position:relative;overflow:hidden}.panel-title{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:18px 0 10px;font-size:11px;font-weight:700}.panel-title:first-child{margin-top:0}.input-wrap{position:relative}.input{border:1px solid var(--border2);width:100%;color:var(--text);background:#0f1220;border-radius:12px;outline:none;padding:14px 14px 14px 40px;font-size:14px;transition:all .15s}.input:focus{border-color:#facc1580;box-shadow:0 0 0 3px #facc1526}.input-icon{opacity:.6;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.hint{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.5}.segmented{border:1px solid var(--border);background:#0f1220;border-radius:10px;gap:4px;padding:4px;display:flex}.seg-btn{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:1;padding:8px 10px;font-size:12px;font-weight:600}.seg-btn.active{color:var(--text);border-color:var(--border2);background:#1e233a;box-shadow:0 2px 10px #0003}.char-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.char-card{border:1px solid var(--border);cursor:pointer;background:#0f1220;border-radius:14px;padding:10px;transition:all .15s;position:relative;overflow:hidden}.char-card:hover{border-color:#ffffff24;transform:translateY(-2px)}.char-card.active{background:linear-gradient(#facc151f,#0f1220);border-color:#facc15e6;box-shadow:0 8px 24px #0000004d}.char-emoji{font-size:22px}.char-name{margin-top:6px;font-size:13px;font-weight:700}.char-desc{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.3}.char-check{color:#111;background:#facc15;border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;font-weight:900;display:grid;position:absolute;top:8px;right:8px}.stage-header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0c1499;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.stage-title{letter-spacing:-.02em;align-items:center;gap:10px;font-weight:800;display:flex}.badge{color:#facc15;background:#facc1526;border:1px solid #facc154d;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.stage-controls{align-items:center;gap:8px;display:flex}.viewport{flex:1;place-items:center;min-height:420px;max-height:calc(100vh - 190px);padding:18px;display:grid;position:relative}.canvas-container{width:100%;height:100%;min-height:420px}.toolbar{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.stat{border:1px solid var(--border);background:#0f1220;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.stat b{font-size:14px}.stat small{color:var(--muted);font-size:11px}.slider-row{align-items:center;gap:10px;margin-top:10px;display:flex}.slider{accent-color:#facc15;flex:1}.footer{border-top:1px solid var(--border);color:var(--muted);background:#0a0b1099;justify-content:space-between;align-items:center;padding:12px 18px;font-size:12px;display:flex}.rec-badge{color:#fff;letter-spacing:.06em;z-index:5;background:#dc2626;border:1px solid #ef4444;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:800;animation:1s step-end infinite blinkRec;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #dc262673}@keyframes blinkRec{50%{opacity:.7}}.corp-footer{color:var(--muted);background:linear-gradient(#0e1120 0%,#0a0c16 100%);border-top:1px solid #ffffff14}.corp-footer-inner{grid-template-columns:1.7fr .8fr .9fr 1.1fr .8fr;gap:28px;max-width:1400px;margin:0 auto;padding:36px 24px 28px;display:grid}@media (width<=1100px){.corp-footer-inner{grid-template-columns:1fr 1fr;gap:24px}}@media (width<=640px){.corp-footer-inner{grid-template-columns:1fr}}.corp-col h4{letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 14px;font-size:11px;font-weight:800}.corp-col a{color:var(--muted);cursor:pointer;font-size:13px;line-height:1.7;text-decoration:none;transition:color .15s;display:block}.corp-col a:hover{color:#fff;text-underline-offset:3px;text-decoration:underline}.brand-col .corp-brand{color:#fff;letter-spacing:-.02em;align-items:center;gap:10px;font-size:16px;font-weight:900;display:flex}.corp-tagline{color:#94a3b8;margin:12px 0 14px;font-size:13px;line-height:1.6}.corp-meta{color:#64748b;flex-wrap:wrap;gap:8px;font-size:11px;display:flex}.corp-meta span{white-space:nowrap}.love-line{color:#e2e8f0;background:#facc1514;border:1px solid #facc152e;border-radius:10px;align-items:center;gap:6px;margin-top:14px;padding:10px 12px;font-size:13px;display:inline-flex}.love-line a{color:#facc15;font-weight:800;text-decoration:none}.love-line a:hover{text-decoration:underline}.heart{color:#ef4444;animation:1.2s ease-in-out infinite heartBeat}@keyframes heartBeat{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.corp-bottom{color:#64748b;border-top:1px solid #ffffff0f;flex-wrap:wrap;justify-content:space-between;gap:12px;max-width:1400px;margin:0 auto;padding:16px 24px;font-size:11px;display:flex}.corp-bottom a{color:#94a3b8;cursor:pointer;margin-left:10px;text-decoration:none}.corp-bottom a:hover{color:#fff;text-decoration:underline}.dot{opacity:.5;margin:0 4px}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#030610b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:linear-gradient(#151a30,#0f1326);border:1px solid #ffffff1f;border-radius:16px;flex-direction:column;width:min(860px,96vw);max-height:86vh;display:flex;overflow:hidden;box-shadow:0 30px 80px #0009}.modal-head{background:#ffffff08;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.modal-head h2{color:#fff;margin:0;font-size:18px}.modal-head p{color:#94a3b8;margin:4px 0 0;font-size:12px}.modal-body{color:#cbd5e1;padding:18px 20px;font-size:13px;line-height:1.7;overflow:auto}.modal-body h3{color:#fff;letter-spacing:.04em;text-transform:uppercase;border-left:3px solid #facc15;margin:18px 0 8px;padding-left:8px;font-size:13px}.modal-body h3:first-child{margin-top:0}.modal-body p{margin:8px 0}.modal-foot{color:#94a3b8;background:#ffffff05;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;font-size:12px;display:flex}.cookie-banner{z-index:90;background:linear-gradient(#1a1f39,#12162c);border:1px solid #ffffff1f;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1100px;margin:0 auto;padding:14px 16px;display:flex;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 20px 60px #00000080}.cookie-text{color:#cbd5e1;flex:1;min-width:260px;font-size:13px;line-height:1.5}.cookie-text b{color:#fff}.cookie-actions{flex-wrap:wrap;gap:8px;display:flex}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#232840;border-radius:999px}::-webkit-scrollbar-track{background:0 0}.brandword{letter-spacing:-.03em}.brandword i{color:#facc15;text-shadow:0 0 14px #facc1573;font-style:normal}.view-tabs{border:1px solid var(--border);background:#0f1220;border-radius:10px;gap:4px;padding:4px;display:flex}.view-tab{color:var(--muted);cursor:pointer;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:7px;padding:6px 12px;font-size:12px;font-weight:700;transition:all .15s}.view-tab:hover{color:var(--text)}.view-tab.active{color:var(--text);border-color:var(--border2);background:#1e233a;box-shadow:0 2px 10px #00000040}.scene-help{pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#cbd5e1;background:#0f121eb3;border:1px solid #ffffff14;border-radius:10px;padding:8px 10px;font-size:12px;line-height:1.4;transition:opacity .35s;position:absolute;top:12px;left:12px}.scene-help b{color:#fff}.left,.right{min-height:0;padding:0;overflow:hidden}.pane-inner{width:360px;height:100%;padding:18px;overflow:hidden auto}.right .pane-inner{width:320px}@media (width>=1101px){.main{transition:grid-template-columns .3s cubic-bezier(.4,0,.2,1)}.main.left-closed{grid-template-columns:0 1fr 320px}.main.right-closed{grid-template-columns:360px 1fr 0}.main.left-closed.right-closed{grid-template-columns:0 1fr 0}}@media (width<=1100px){.pane-inner,.right .pane-inner{width:100%}}.pane-toggle{border:1px solid var(--border2);width:26px;height:26px;color:var(--muted);cursor:pointer;background:#1c2136;border-radius:8px;flex:none;place-items:center;font-size:12px;transition:all .15s;display:grid}.pane-toggle:hover{color:#fff;background:#232842}.stage-header{gap:12px}.stage-title{flex-wrap:wrap;min-width:0}.viewport{max-height:calc(100vh - 205px)}.canvas-container{width:100%;height:100%;min-height:380px;position:relative}.stage-foot{border-top:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0c14bf;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;display:flex}.foot-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.foot-hint{color:#94a3b8;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--border);white-space:nowrap;background:#ffffff08;border-radius:999px;margin-left:auto;padding:6px 12px;font-size:12px;transition:all .15s}.foot-hint:hover{color:#facc15;border-color:#facc1566}.segmented{flex-wrap:wrap}.seg-btn{white-space:nowrap;text-transform:capitalize;letter-spacing:-.01em;flex:auto;min-width:0;padding:7px 8px;font-size:11px}.group-title{letter-spacing:.14em;text-transform:uppercase;color:#64748b;margin:16px 0 8px;font-size:10px;font-weight:800}.print-card{border:1px solid var(--border);background:#0f1220;border-radius:12px;margin-top:12px;padding:10px 12px;font-size:12px}.print-row{color:var(--muted);justify-content:space-between;gap:10px;padding:3px 0;display:flex}.print-row b{color:#e2e8f0;font-weight:700}.print-verdict{border-radius:9px;margin-top:8px;padding:8px 10px;font-size:11.5px;line-height:1.45}.print-verdict.ok{color:#86efac;background:#4ade801a;border:1px solid #4ade8047}.print-verdict.bad{color:#fca5a5;background:#f871711a;border:1px solid #f871714d}.how-card{color:#94a3b8;border:1px solid var(--border);background:#0f1220;border-radius:12px;padding:12px;font-size:12px;line-height:1.7}.how-card b{color:#e2e8f0}.main>.left,.main>.right,.main>.stage{min-width:0}.main.left-closed .left{border-right:none}.main.right-closed .right{border-left:none}.viewport,.canvas-container{min-width:0;overflow:hidden}.canvas-container canvas{max-width:100%;display:block}@media (width>=1101px){.main{flex:none;height:calc(100vh - 56px);min-height:520px;overflow:hidden}.stage{height:100%;overflow:hidden}.viewport{max-height:none}}.pane-inner{overscroll-behavior:contain;scrollbar-gutter:stable}.pane-inner::-webkit-scrollbar{width:10px}.pane-inner::-webkit-scrollbar-thumb{background:#2b3150 padding-box content-box;border:3px solid #0000;border-radius:999px}.pane-inner:hover::-webkit-scrollbar-thumb{background:#3a4166 padding-box content-box}.pane-inner::-webkit-scrollbar-track{background:0 0}.photo-row{border:1px solid var(--border);background:#0f1220;border-radius:12px;align-items:center;gap:10px;margin-top:10px;padding:8px 10px;display:flex}.photo-thumb{object-fit:cover;border:1px solid var(--border2);border-radius:8px;flex:none;width:46px;height:46px}.photo-row b{color:#e2e8f0;word-break:break-all;font-size:12px;display:block}.photo-row span{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.45;display:block}.corp-sub{letter-spacing:.1em;text-transform:uppercase;color:#facc15;margin-top:6px;font-size:11px;font-weight:700}
