:root{--bg:#1c1a16;--bg-2:#24211b;--panel:#2a2620;--line:#3a352c;--gold:#ad8b3d;--gold-bright:#c8a96e;--ink:#f2ede1;--ink-soft:#b3ab98;--ink-faint:#7d7563;--danger:#c8503a}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{background:radial-gradient(1200px 600px at 70% -10%,#2a251c 0,var(--bg) 55%);color:var(--ink);font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.app{min-height:100vh;display:flex;flex-direction:column}.top{justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--line);background:rgba(28,26,22,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:-webkit-sticky;position:sticky;top:0;z-index:10}.brand,.top{display:flex;align-items:center}.brand{gap:12px}.brand .dot{width:10px;height:10px;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 14px var(--gold)}.brand h1{font-size:15px;font-weight:800;letter-spacing:.04em;margin:0;text-transform:uppercase}.brand small{display:block;font-size:10px;color:var(--ink-faint);letter-spacing:.18em;font-weight:600}.badge-cost{font-size:11px;color:var(--gold-bright);padding:6px 12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge-cost,.tabs{border:1px solid var(--line);border-radius:100px}.tabs{display:flex;gap:4px;background:var(--bg-2);padding:4px}.tab{font-size:13px;font-weight:700;text-decoration:none;color:var(--ink-soft);padding:7px 18px;border-radius:100px;transition:all .15s}.tab:hover{color:var(--ink)}.tab.on{background:var(--gold);color:#1c1a16}@media (max-width:560px){.tabs{order:3;width:100%;justify-content:center;margin-top:10px}.top{flex-wrap:wrap}}.cost-real{font-size:12px;font-weight:700;color:var(--gold-bright);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:rgba(28,26,22,.85);border:1px solid var(--line);padding:9px 14px;border-radius:10px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.main{flex:1 1;display:grid;grid-template-columns:340px 1fr;grid-gap:0;gap:0}@media (max-width:820px){.main{grid-template-columns:1fr}}.panel{padding:22px;border-right:1px solid var(--line);gap:18px;overflow-y:auto}.field,.panel{display:flex;flex-direction:column}.field{gap:7px}.field>label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);font-weight:700}input[type=text],select,textarea{width:100%;background:var(--bg-2);border:1px solid var(--line);border-radius:10px;color:var(--ink);font:inherit;font-size:14px;padding:11px 12px;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}textarea{min-height:92px;line-height:1.5}.model-note{font-size:11px;color:var(--ink-faint);line-height:1.4}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:12px;padding:6px 11px;border-radius:8px;cursor:pointer;background:var(--bg-2);border:1px solid var(--line);color:var(--ink-soft);font-weight:600}.chip[aria-pressed=true]{background:var(--gold);border-color:var(--gold-bright);color:#1c1a16}.cinema-toggle{display:flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cinema-toggle input{width:16px;height:16px;accent-color:var(--gold)}.cinema-toggle span{font-size:13px;font-weight:700;color:var(--ink)}.cinema-box{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;padding:12px;border:1px dashed var(--line);border-radius:10px}.generate{margin-top:4px;padding:14px;border:none;border-radius:12px;cursor:pointer;background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#1c1a16;font-weight:800;font-size:14px;letter-spacing:.04em;text-transform:uppercase;transition:filter .15s,transform .05s}.generate:hover{filter:brightness(1.08)}.generate:active{transform:translateY(1px)}.generate:disabled{opacity:.5;cursor:not-allowed;filter:none}.canvas{display:flex;align-items:center;justify-content:center;padding:28px;position:relative}.empty{text-align:center;color:var(--ink-faint);max-width:300px}.empty .glyph{font-size:40px;margin-bottom:12px;opacity:.5}.result{max-width:100%;max-height:76vh;border-radius:16px;border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.5)}.loading{display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--ink-soft)}.spinner{width:42px;height:42px;border:3px solid var(--line);border-top-color:var(--gold-bright);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.err{color:var(--danger);font-size:13px;max-width:380px;text-align:center;line-height:1.5}.actions{position:absolute;bottom:20px;display:flex;gap:10px}.actions a,.actions button{font-size:12px;font-weight:700;padding:9px 16px;border-radius:10px;cursor:pointer;background:rgba(28,26,22,.85);border:1px solid var(--line);color:var(--ink);text-decoration:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.actions a:hover,.actions button:hover{border-color:var(--gold)}.footer{text-align:center;font-size:10px;color:var(--ink-faint);padding:10px;letter-spacing:.1em}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:32px 28px;display:flex;flex-direction:column;gap:16px;box-shadow:0 24px 70px rgba(0,0,0,.5)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:4px}.login-dot{width:10px;height:10px;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 14px var(--gold)}.login-brand h1{font-size:16px;font-weight:800;letter-spacing:.05em;margin:0}.login-brand small{display:block;font-size:10px;color:var(--ink-faint);letter-spacing:.18em;font-weight:600}.login-msg{font-size:13px;color:var(--ink-soft);margin:0;line-height:1.5}.login-input{width:100%;background:var(--bg-2);border:1px solid var(--line);border-radius:10px;color:var(--ink);font:inherit;font-size:15px;padding:12px 14px}.login-input:focus{outline:none;border-color:var(--gold)}.login-err{font-size:13px;color:var(--danger)}.login-btn{padding:13px;border:none;border-radius:11px;cursor:pointer;background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#1c1a16;font-weight:800;font-size:14px;letter-spacing:.04em;text-transform:uppercase}.login-btn:hover{filter:brightness(1.08)}.login-btn:disabled{opacity:.5;cursor:not-allowed;filter:none}