:root{--bg:#0E0F12;--bg-2:#131419;--surface:#17191F;--surface-2:#1E212A;--line:#2A2E37;--line-2:#383D48;--text:#F3F4F6;--muted:#9BA1AC;--faint:#666C77;--accent:#E11D22;--accent-2:#FF3A40;--accent-ink:#FFFFFF;--glow:225,29,34;--good:#33C77B;--good-2:#1E9E5F;--warn:#E8A13A;--shadow:0 24px 60px -20px rgba(0,0,0,.7), 0 4px 14px -6px rgba(0,0,0,.5);--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,"SF Mono",SFMono-Regular,"Cascadia Code",Menlo,Consolas,monospace;--r-card:10px;--r-field:8px;color-scheme:dark}@media(prefers-color-scheme: light){:root{--bg:#EDEFF3;--bg-2:#E5E8ED;--surface:#FFFFFF;--surface-2:#F4F6F9;--line:#E2E5EB;--line-2:#CFD4DD;--text:#15171C;--muted:#5B626D;--faint:#9299A4;--accent:#CC0F16;--accent-2:#E11D22;--accent-ink:#FFFFFF;--glow:204,15,22;--good:#1E9E5F;--good-2:#178050;--warn:#C9821F;--shadow:0 24px 50px -22px rgba(20,24,33,.28), 0 3px 12px -6px rgba(20,24,33,.16);color-scheme:light}}:root[data-theme=light]{--bg:#EDEFF3;--bg-2:#E5E8ED;--surface:#FFFFFF;--surface-2:#F4F6F9;--line:#E2E5EB;--line-2:#CFD4DD;--text:#15171C;--muted:#5B626D;--faint:#9299A4;--accent:#CC0F16;--accent-2:#E11D22;--accent-ink:#FFFFFF;--glow:204,15,22;--good:#1E9E5F;--good-2:#178050;--warn:#C9821F;--shadow:0 24px 50px -22px rgba(20,24,33,.28), 0 3px 12px -6px rgba(20,24,33,.16);color-scheme:light}:root[data-theme=dark]{--bg:#0E0F12;--bg-2:#131419;--surface:#17191F;--surface-2:#1E212A;--line:#2A2E37;--line-2:#383D48;--text:#F3F4F6;--muted:#9BA1AC;--faint:#666C77;--accent:#E11D22;--accent-2:#FF3A40;--accent-ink:#FFFFFF;--glow:225,29,34;--good:#33C77B;--good-2:#1E9E5F;--warn:#E8A13A;--shadow:0 24px 60px -20px rgba(0,0,0,.7), 0 4px 14px -6px rgba(0,0,0,.5);color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(900px 500px at 82% -6%, rgba(var(--glow), 0.1), transparent 60%),radial-gradient(700px 600px at -8% 108%, rgba(var(--glow), 0.06), transparent 55%)}button{font-family:inherit}input,select,textarea{font-family:inherit}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}#boot{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;background:var(--bg);transition:opacity .6s ease,visibility .6s ease}#boot.done{opacity:0;visibility:hidden}.boot-mark{font-family:var(--sans);font-weight:800;font-size:clamp(2.2rem,7vw,3.4rem);letter-spacing:-0.03em;position:relative;user-select:none}.boot-mark .lit{color:var(--accent);text-shadow:0 0 22px rgba(var(--glow), 0.75),0 0 46px rgba(var(--glow), 0.45);animation:neon 1.7s ease-in-out both}.boot-mark .dim{color:var(--text);opacity:.92}.boot-mark sup{font-size:.32em;font-weight:700;color:var(--muted);top:-1.4em}@keyframes neon{0%{opacity:.15;text-shadow:none}18%{opacity:1;text-shadow:0 0 30px rgba(var(--glow), 0.9)}24%{opacity:.35}30%{opacity:1}36%{opacity:.55}42%,100%{opacity:1;text-shadow:0 0 22px rgba(var(--glow), 0.75),0 0 46px rgba(var(--glow), 0.45)}}.boot-bar{width:min(300px,64vw);height:3px;background:var(--line);border-radius:2px;overflow:hidden}.boot-bar>i{display:block;height:100%;width:0;background:linear-gradient(90deg, var(--accent), var(--accent-2));box-shadow:0 0 14px rgba(var(--glow), 0.8);animation:fill 1.55s cubic-bezier(0.5, 0.05, 0.2, 1) forwards}@keyframes fill{to{width:100%}}.boot-sub{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}#submitting{position:fixed;inset:0;z-index:90;display:none;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:rgba(var(--glow), 0.03);backdrop-filter:blur(10px)}#submitting.on{display:flex;animation:fadeIn .3s}.sign{width:186px;height:78px;border-radius:10px;border:1px solid var(--line-2);background:var(--surface);position:relative;display:grid;place-items:center;overflow:hidden;box-shadow:0 0 0 6px rgba(var(--glow), 0.1)}.sign .txt{font-weight:800;font-size:1.35rem;letter-spacing:-0.03em;animation:neon 1.4s infinite}.sign .txt .lit{color:var(--accent);text-shadow:0 0 16px rgba(var(--glow), 0.8)}.sign .txt .dim{color:var(--text)}.sign::after{content:"";position:absolute;top:0;bottom:0;width:40%;background:linear-gradient(90deg, transparent, rgba(var(--glow), 0.25), transparent);animation:sweep 1.3s linear infinite}@keyframes sweep{from{left:-40%}to{left:100%}}#submitting .st{font-family:var(--mono);font-size:.8rem;letter-spacing:.08em;color:var(--muted);min-height:1.2em}#app{position:relative;z-index:1;min-height:100dvh;display:grid;opacity:0;grid-template-columns:300px 1fr;transition:opacity .5s ease .05s}#app.ready{opacity:1}.side{position:sticky;top:0;height:100dvh;padding:26px 24px;border-right:1px solid var(--line);background:linear-gradient(180deg, var(--bg-2), var(--bg));display:flex;flex-direction:column;gap:26px}.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:12px}.side-foot .note{font-size:.76rem;color:var(--faint);line-height:1.45}.brand{display:flex;align-items:center;gap:12px}.brand .logo{font-weight:800;font-size:1.35rem;letter-spacing:-0.03em;line-height:1}.brand .logo .r{color:var(--accent)}.brand .logo sup{font-size:.42em;color:var(--muted);font-weight:700}.brand .tag{font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-top:5px}.dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px rgba(var(--glow), 0.9)}.topbar{display:none}.main{position:relative;display:flex;flex-direction:column;min-width:0}.stage-wrap{flex:1;display:flex;justify-content:center;align-items:center;padding:44px 32px}.card{width:100%;max-width:660px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);position:relative;overflow:hidden}.card::before{content:"";position:absolute;inset:-1px -1px auto -1px;height:3px;background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.75}.card-head{padding:18px 16px 16px;border-bottom:1px solid var(--line)}.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:10px;margin-bottom:12px}.eyebrow .cnt{color:var(--faint)}.card-head h1{margin:0;font-size:1.7rem;font-weight:800;letter-spacing:-0.025em;text-wrap:balance;line-height:1.12}.card-body{padding:16px}.actions{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:14px;padding:16px 32px;background:linear-gradient(0deg, var(--bg) 62%, transparent);border-top:1px solid rgba(0,0,0,0)}.main .actions{justify-content:flex-end}.actions .flexnote{margin-right:auto;font-family:var(--mono);font-size:.72rem;color:var(--faint)}.rail{display:flex;flex-direction:column;gap:2px;margin-top:4px}.rail-item{position:relative;display:flex;gap:14px;padding:11px 0 11px 2px;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.rail-item[aria-disabled=true]{cursor:not-allowed}.rail-item .node{flex:0 0 auto;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-family:var(--mono);font-size:.72rem;font-weight:600;background:var(--surface);border:1px solid var(--line-2);color:var(--muted);transition:all .35s cubic-bezier(0.16, 1, 0.3, 1);position:relative;z-index:1}.rail-item:not(:first-child)::before{content:"";position:absolute;left:15px;top:-13px;width:2px;height:24px;background:var(--line-2);transition:background .4s ease}.rail-item.done::before{background:var(--accent)}.rail-item .rl{display:flex;flex-direction:column;gap:1px;padding-top:2px}.rail-item .rl b{font-size:.9rem;font-weight:650;color:var(--muted);transition:color .3s;letter-spacing:-0.01em}.rail-item .rl span{font-size:.74rem;color:var(--faint)}.rail-item.done .node{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.rail-item.active .node{background:var(--surface);border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px rgba(var(--glow), 0.16),0 0 18px rgba(var(--glow), 0.35)}.rail-item.active .rl b{color:var(--text)}.rail-item.done .rl b{color:var(--text)}.rail-item:hover:not([aria-disabled=true]) .rl b{color:var(--text)}.step{display:none}.step.is-active{display:block}.step.is-active.in-right{animation:inRight .5s cubic-bezier(0.16, 1, 0.3, 1)}.step.is-active.in-left{animation:inLeft .5s cubic-bezier(0.16, 1, 0.3, 1)}@keyframes inRight{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}@keyframes inLeft{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}.form-error{background:rgba(var(--glow), 0.1);border:1px solid var(--accent);color:var(--accent);font-size:.88rem;font-weight:600;text-align:center;padding:12px 15px;border-radius:var(--r-field);margin-bottom:20px}.grid{display:grid;gap:12px}.grid.two{grid-template-columns:1fr 1fr}.field{display:flex;flex-direction:column;gap:7px;min-width:0;position:relative}.field>label{font-size:.82rem;font-weight:600;color:var(--muted);letter-spacing:.01em;display:flex;align-items:center;gap:6px}.field>label .req{color:var(--accent)}.field .hint{font-size:.75rem;color:var(--faint)}.control{width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--line-2);border-radius:var(--r-field);padding:12px 14px;font-size:.95rem;outline:none;transition:border-color .2s,box-shadow .25s,background .2s}.control::placeholder{color:var(--faint)}textarea.control{resize:vertical;min-height:64px;line-height:1.5}select.control{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%),linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:40px}.control:hover{border-color:var(--line-2)}.control:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px rgba(var(--glow), 0.16),0 0 20px -4px rgba(var(--glow), 0.4)}.field.ok .control{border-color:color-mix(in srgb, var(--good) 55%, var(--line-2))}.field.err .control{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--glow), 0.12)}.field.err.shake{animation:shake .4s}@keyframes shake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}.err-msg{display:none;font-size:.78rem;color:var(--accent);align-items:center;gap:6px}.field.err .err-msg{display:flex;animation:fadeIn .25s}.err-msg svg{flex:0 0 auto}@keyframes fadeIn{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.field .tick{position:absolute;right:12px;bottom:14px;width:18px;height:18px;opacity:0;transform:scale(0.5);transition:.3s;color:var(--good)}.field.ok .tick{opacity:1;transform:scale(1)}.field.has-select .tick,.field.has-area .tick{display:none}.spec-group{margin-bottom:12px}.spec-group:last-child{margin-bottom:0}.spec-title{font-size:.82rem;font-weight:700;letter-spacing:.02em;color:var(--text);margin:0 0 6px;display:flex;align-items:center;gap:9px}.spec-title .bar{width:16px;height:2px;background:var(--accent);border-radius:2px}.spec-title .n{font-family:var(--mono);font-size:.72rem;color:var(--faint);font-weight:500;margin-left:auto}.chips{display:flex;flex-wrap:wrap;gap:4px}.chip{position:relative}.chip input{position:absolute;opacity:0;width:0;height:0}.chip label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;user-select:none;padding:4px 12px;border-radius:999px;font-size:.86rem;font-weight:550;background:var(--surface-2);border:1px solid var(--line-2);color:var(--muted);transition:transform .12s ease,border-color .2s,background .2s,color .2s,box-shadow .2s}.chip label::before{content:"";width:15px;height:15px;border-radius:5px;border:1.5px solid var(--line-2);display:inline-grid;place-items:center;transition:.2s;flex:0 0 auto}.chip label:hover{border-color:var(--line-2);color:var(--text);transform:translateY(-1px)}.chip label:active{transform:scale(0.96)}.chip input:checked+label{background:rgba(var(--glow), 0.12);border-color:var(--accent);color:var(--text);box-shadow:0 0 0 1px var(--accent),0 4px 16px -8px rgba(var(--glow), 0.9)}.chip input:checked+label::before{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--surface-2)}.chip input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}.spec-notes{display:none;margin-top:14px;padding:14px 16px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-field)}.spec-notes.open{display:grid;grid-template-columns:max-content 1fr;gap:10px 14px;align-items:center;animation:fadeIn .3s}.sn-title{grid-column:1/-1;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.spec-note{display:contents}.spec-note[hidden]{display:none}.spec-note .k{font-size:.85rem;font-weight:600;color:var(--text)}.spec-note .control{padding:9px 13px;font-size:.88rem;background:var(--surface)}@media(max-width: 860px){.spec-notes.open{display:flex;flex-direction:column;gap:12px;align-items:stretch}.spec-note{display:flex;flex-direction:column;gap:5px}}.upload-field{margin-bottom:12px}.dropzone{border:2px dashed var(--line-2);border-radius:var(--r-card);padding:30px 20px;text-align:center;cursor:pointer;transition:.25s;background:var(--surface-2);color:var(--muted)}.dropzone:hover,.dropzone.drag{border-color:var(--accent);background:rgba(var(--glow), 0.06);color:var(--text)}.dropzone .ic{color:var(--accent);margin-bottom:10px}.dropzone b{color:var(--text);font-weight:650}.dropzone .u{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.dropzone small{display:block;margin-top:6px;font-size:.76rem;color:var(--faint)}.thumbs:empty{display:none}.thumbs{display:grid;grid-template-columns:repeat(auto-fill, minmax(92px, 1fr));gap:12px;margin-top:16px}.thumb{position:relative;aspect-ratio:1;border-radius:var(--r-field);overflow:hidden;border:1px solid var(--line-2);background:var(--surface-2);animation:pop .35s cubic-bezier(0.16, 1, 0.3, 1)}@keyframes pop{from{opacity:0;transform:scale(0.85)}to{opacity:1;transform:none}}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb .rm{position:absolute;top:5px;right:5px;width:24px;height:24px;border-radius:6px;border:none;background:rgba(14,15,18,.72);color:#fff;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(4px);transition:.2s;opacity:.85}.thumb .rm:hover{background:var(--accent);opacity:1}.thumb .nm{position:absolute;left:0;right:0;bottom:0;font-family:var(--mono);font-size:.6rem;color:#fff;background:linear-gradient(transparent, rgba(0, 0, 0, 0.8));padding:14px 6px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-count{font-family:var(--mono);font-size:.74rem;color:var(--faint);margin-top:10px;text-align:right}.stt{position:relative}.stt textarea.control{padding-bottom:52px;min-height:104px}.stt.is-off textarea.control{padding-bottom:12px;min-height:64px}.stt-btn{position:absolute;right:9px;bottom:9px;z-index:2;width:34px;height:34px;padding:0;border-radius:9px;display:grid;place-items:center;cursor:pointer;background:var(--surface);border:1px solid var(--line-2);color:var(--muted);transition:color .2s,border-color .2s,background .2s,box-shadow .25s,transform .12s}.stt-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--surface-2)}.stt-btn:active{transform:scale(0.94)}.stt-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stt-btn .ic-stop{display:none}.stt.is-rec .stt-btn{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);animation:sttPulse 1.7s ease-in-out infinite}.stt.is-rec .stt-btn .ic-mic{display:none}.stt.is-rec .stt-btn .ic-stop{display:block}@keyframes sttPulse{0%,100%{box-shadow:0 0 0 0 rgba(var(--glow), 0.45),0 0 16px -2px rgba(var(--glow), 0.7)}50%{box-shadow:0 0 0 7px rgba(var(--glow), 0),0 0 24px 0 rgba(var(--glow), 0.95)}}.stt-bar{position:absolute;left:9px;right:52px;bottom:9px;z-index:2;display:none;align-items:center;gap:10px;height:34px;padding:0 5px 0 11px;background:var(--surface);border:1px solid var(--line-2);border-radius:9px}.stt.is-rec .stt-bar,.stt.is-busy .stt-bar{display:flex;animation:fadeIn .25s}.stt-dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px rgba(var(--glow), 0.9);animation:sttBlink 1.1s steps(1, end) infinite}@keyframes sttBlink{0%,55%{opacity:1}56%,100%{opacity:.22}}.stt-time{flex:0 0 auto;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.76rem;color:var(--text);letter-spacing:.02em}.stt-wave{flex:1 1 auto;display:flex;align-items:center;gap:3px;height:17px;min-width:0;overflow:hidden}.stt-wave i{flex:1 1 0;min-width:2px;max-width:4px;height:100%;border-radius:2px;background:var(--accent);opacity:.9;transform:scaleY(0.16);transform-origin:center;transition:transform .07s linear}.stt-cancel{flex:0 0 auto;width:26px;height:26px;padding:0;border-radius:7px;display:grid;place-items:center;cursor:pointer;background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);color:var(--faint);transition:.2s}.stt-cancel:hover{color:var(--text);border-color:var(--line-2);background:var(--surface-2)}.stt-cancel:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.stt.is-busy .stt-btn{background:var(--surface);border-color:var(--accent);color:var(--accent);cursor:default;animation:none}.stt.is-busy .stt-btn svg{display:none}.stt.is-busy .stt-btn::after{content:"";width:16px;height:16px;border-radius:50%;border:2px solid rgba(var(--glow), 0.22);border-top-color:var(--accent);animation:sttSpin .7s linear infinite}@keyframes sttSpin{to{transform:rotate(360deg)}}.stt.is-busy .stt-dot,.stt.is-busy .stt-time,.stt.is-busy .stt-wave{display:none}.stt-msg{display:none;font-size:.79rem;color:var(--muted)}.stt.is-busy .stt-msg{display:block;flex:1 1 auto}.stt.is-busy textarea.control{opacity:.5;cursor:progress}.stt.is-done textarea.control{border-color:var(--good);box-shadow:0 0 0 3px color-mix(in srgb, var(--good) 18%, transparent)}.review{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}.rev-row{display:grid;grid-template-columns:150px 1fr;gap:2px;padding:8px 12px;background:var(--surface-2);align-items:start}.rev-row:nth-child(odd){background:var(--surface)}.rev-row .k{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.rev-row .v{font-size:.92rem;color:var(--text);word-break:break-word}.rev-row .v.empty{color:var(--faint);font-style:italic}.rev-tags{display:flex;flex-wrap:wrap;gap:6px}.rev-tags span{font-size:.78rem;padding:3px 9px;border-radius:999px;background:rgba(var(--glow), 0.13);border:1px solid var(--accent);color:var(--text)}.rev-edit{background:none;border:none;color:var(--accent);font-size:.78rem;cursor:pointer;padding:0;font-weight:600}.confirm{display:flex;gap:11px;align-items:flex-start;margin-top:20px;padding:15px 16px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-field)}.confirm input{margin-top:2px;width:17px;height:17px;accent-color:var(--accent);flex:0 0 auto;cursor:pointer}.confirm label{font-size:.86rem;color:var(--muted);cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:var(--r-field);padding:13px 24px;font-size:.92rem;font-weight:650;cursor:pointer;border:1px solid rgba(0,0,0,0);transition:transform .12s,box-shadow .25s,background .2s,opacity .2s;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn-ghost{background:rgba(0,0,0,0);color:var(--muted);border-color:var(--line-2)}.btn-ghost:hover{color:var(--text);border-color:var(--line-2);background:var(--surface)}.btn-primary{background:linear-gradient(180deg, var(--accent-2), var(--accent));color:var(--accent-ink);box-shadow:0 6px 22px -8px rgba(var(--glow), 0.9),inset 0 1px 0 rgba(255,255,255,.18)}.btn-primary:hover{box-shadow:0 8px 30px -6px rgba(var(--glow), 1),inset 0 1px 0 rgba(255,255,255,.25);transform:translateY(-1px)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn[hidden]{display:none}.tt{width:34px;height:34px;border-radius:8px;border:1px solid var(--line-2);background:var(--surface);color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:.2s}.tt:hover{color:var(--text);border-color:var(--accent)}.select2-container{width:100% !important;background:rgba(0,0,0,0) !important;border:0 !important;padding:0 !important;box-shadow:none !important;border-radius:0 !important}.select2-container .select2-choice{height:auto;min-height:46px;line-height:22px;padding:11px 40px 11px 14px;background:var(--surface-2) !important;background-image:none !important;border:1px solid var(--line-2);border-radius:var(--r-field);color:var(--text);font-size:.95rem;box-shadow:none;transition:border-color .2s,box-shadow .25s,background .2s}.select2-container .select2-choice>.select2-chosen{font-size:.95rem;color:var(--text);margin-right:0}.select2-container .select2-choice .select2-chosen.select2-default,.select2-container .select2-choice .select2-default{color:var(--faint) !important}.select2-container-active .select2-choice{border-color:var(--accent) !important;background:var(--surface) !important;box-shadow:0 0 0 3px rgba(var(--glow), 0.16),0 0 20px -4px rgba(var(--glow), 0.4) !important}.select2-dropdown-open .select2-choice{border-color:var(--accent) !important;background:var(--surface) !important;box-shadow:none !important;border-bottom-color:rgba(0,0,0,0) !important;border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important}.select2-dropdown-open.select2-drop-above .select2-choice{border-top-color:rgba(0,0,0,0) !important;border-bottom-color:var(--accent) !important;border-top-left-radius:0 !important;border-top-right-radius:0 !important;border-bottom-left-radius:var(--r-field) !important;border-bottom-right-radius:var(--r-field) !important}.select2-container .select2-choice .select2-arrow{background:rgba(0,0,0,0) !important;border:none !important;width:34px}.select2-container .select2-choice .select2-arrow b{background:none !important}.select2-container .select2-choice .select2-arrow b::after{content:"";position:absolute;top:50%;right:16px;width:0;height:0;margin-top:-2px;border-left:4px solid rgba(0,0,0,0);border-right:4px solid rgba(0,0,0,0);border-top:5px solid var(--muted)}.select2-search-choice-close,.select2-container .select2-choice abbr{filter:invert(0.5)}.select2-drop{background:var(--surface);border:1px solid var(--line-2);border-top:none;border-radius:0 0 var(--r-field) var(--r-field);box-shadow:var(--shadow);color:var(--text)}.select2-drop.select2-drop-above{border-top:1px solid var(--line-2);border-bottom:none;border-radius:var(--r-field) var(--r-field) 0 0}.select2-drop-active{border-color:var(--accent) !important;border-top:none !important}.select2-drop.select2-drop-above.select2-drop-active{border-top:1px solid var(--accent) !important;border-bottom:none !important}.select2-search{padding:8px 8px 4px}.select2-search input{background:var(--surface-2) !important;border:1px solid var(--line-2) !important;border-radius:var(--r-field);color:var(--text);font-size:.9rem;min-height:38px;padding:8px 12px}.select2-results{margin:4px 0 6px;padding:0 6px}.select2-results .select2-result-label{padding:9px 10px;font-size:.9rem;border-radius:6px;color:var(--muted)}.select2-results .select2-highlighted{background:rgba(var(--glow), 0.14);border-radius:6px}.select2-results .select2-highlighted .select2-result-label{color:var(--text)}.select2-results .select2-no-results,.select2-results .select2-searching,.select2-results .select2-ajax-error{background:rgba(0,0,0,0);color:var(--faint);font-size:.85rem;padding:9px 10px}#success{position:relative;z-index:1;min-height:100dvh;display:none;align-items:center;justify-content:center;padding:32px}#success.on{display:flex;animation:fadeIn .5s}.ticket{width:100%;max-width:520px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);overflow:hidden;position:relative}.ticket .top{padding:34px 34px 24px;text-align:center;border-bottom:1px dashed var(--line-2);position:relative}.ticket .check{width:66px;height:66px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;background:rgba(51,199,123,.13);border:1.5px solid var(--good);color:var(--good);animation:pop .5s cubic-bezier(0.16, 1, 0.3, 1)}.ticket .check svg{animation:draw .6s .2s both}@keyframes draw{from{stroke-dashoffset:40}to{stroke-dashoffset:0}}.ticket h2{margin:0;font-size:1.5rem;font-weight:800;letter-spacing:-0.02em}.ticket .top p{margin:8px 0 0;color:var(--muted);font-size:.92rem}.stamp{position:absolute;top:26px;right:22px;font-family:var(--mono);font-weight:700;font-size:.9rem;letter-spacing:.12em;color:var(--accent);border:2.5px solid var(--accent);border-radius:8px;padding:5px 10px;transform:rotate(9deg) scale(1.6);opacity:0;transition:none}.stamp.on{animation:stampIn .5s .55s cubic-bezier(0.2, 1.3, 0.4, 1) forwards}@keyframes stampIn{to{opacity:.9;transform:rotate(-8deg) scale(1)}}.ticket .rows{padding:8px 34px 6px}.trow{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.trow:last-child{border-bottom:none}.trow .k{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.trow .v{font-weight:600;text-align:right}.trow .v.num{font-family:var(--mono);color:var(--accent);font-size:1.05rem}.ticket .foot{padding:20px 34px 30px}.ticket .foot .btn{width:100%}.toast{position:fixed;z-index:120;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);display:flex;align-items:center;gap:9px;padding:12px 18px;max-width:88vw;background:var(--surface);border:1px solid var(--accent);color:var(--text);border-radius:10px;font-size:.86rem;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.toast svg{flex:0 0 auto}@media(max-width: 860px){.toast{left:16px;right:16px;max-width:none;bottom:calc(90px + env(safe-area-inset-bottom, 0px));transform:translateY(20px)}.toast.show{transform:translateY(0)}}.inst{position:fixed;z-index:130;right:24px;bottom:24px;width:370px;max-width:calc(100vw - 32px);display:flex;gap:14px;padding:16px 16px 16px 16px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-card);box-shadow:var(--shadow);color:var(--text);opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .3s,transform .3s}.inst.show{opacity:1;transform:none;pointer-events:auto}.inst-ico{flex:0 0 auto;width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2)}.inst-body{flex:1;min-width:0}.inst-title{font-weight:700;font-size:.95rem;padding-right:22px}.inst-text{font-size:.82rem;color:var(--muted);line-height:1.55;margin-top:5px}.inst-text b{color:var(--text);font-weight:650}.inst-text svg{vertical-align:-2px;margin:0 2px}.inst-act{display:flex;gap:8px;margin-top:14px}.inst-act .btn{padding:9px 16px;font-size:.84rem}.inst-x{position:absolute;top:10px;right:10px;width:26px;height:26px;border:0;border-radius:6px;background:rgba(0,0,0,0);color:var(--faint);cursor:pointer;display:grid;place-items:center;transition:.2s}.inst-x:hover{color:var(--text);background:var(--surface-2)}.inst-group{display:flex;align-items:center;gap:8px}.inst-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--line-2);background:var(--surface);color:var(--muted);font-family:inherit;font-size:.78rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:.2s}.inst-btn:hover{color:var(--text);border-color:var(--accent)}@media(max-width: 860px){.inst{left:16px;right:16px;width:auto;bottom:calc(90px + env(safe-area-inset-bottom, 0px))}.inst.inst-free{bottom:calc(16px + env(safe-area-inset-bottom, 0px))}.topbar .inst-btn{width:32px;height:32px;padding:0}.topbar .inst-btn span{display:none}}@media(max-width: 860px){#app{grid-template-columns:1fr}.side{display:none}.topbar{display:flex;flex-direction:column;gap:12px;position:sticky;top:0;z-index:6;padding:calc(14px + env(safe-area-inset-top, 0px)) calc(18px + env(safe-area-inset-right, 0px)) 14px calc(18px + env(safe-area-inset-left, 0px));background:var(--bg-2);border-bottom:1px solid var(--line)}.topbar .row{display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar .steplabel{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.topbar .steplabel b{color:var(--accent)}.topbar .tt{width:32px;height:32px}.pbar{height:8px;background:var(--line);border-radius:3px;display:flex;gap:4px}.pbar i{flex:1;background:var(--line-2);border-radius:3px;transition:background .4s ease;cursor:pointer}.pbar i.done{background:var(--accent);box-shadow:0 0 8px rgba(var(--glow), 0.7)}.pbar i.locked{cursor:default}.stage-wrap{padding:20px 16px calc(96px + env(safe-area-inset-bottom, 0px))}.card-head{padding:12px 8px 8px}.card-head h1{font-size:1.4rem}.card-body{padding:8px}.grid{gap:8px}.grid.two{grid-template-columns:1fr}.spec-group{margin-bottom:8px}.chip label{padding:4px 8px}.upload-field{margin-bottom:8px}.actions{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:14px 16px calc(14px + env(safe-area-inset-bottom, 0px));gap:10px;background:var(--bg);border-top:1px solid var(--line);box-shadow:0 -8px 24px -12px rgba(0,0,0,.5)}.main .actions{justify-content:stretch}.actions .btn{flex:1}.actions .btn-icononly{flex:0 0 auto;min-width:96px}.actions .flexnote{display:none}.rev-row{grid-template-columns:1fr;gap:2px;padding:6px 8px}.stt textarea.control{padding-bottom:56px}.stt-btn{width:38px;height:38px;right:8px;bottom:8px}.stt-bar{left:8px;right:54px;bottom:8px;height:38px}.stt-cancel{width:30px;height:30px}}@media(max-width: 400px){.card-head h1{font-size:1.25rem}.chip label{font-size:.82rem}}@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}.boot-bar>i{width:100%}}
