:root{
  --bg:#0a0b12;--bg-soft:#10121d;--surface:#16192a;--surface-hi:#1e2236;--surface-over:#262b42;
  --line:rgba(255,255,255,.08);--line-hi:rgba(255,255,255,.14);--line-strong:rgba(255,255,255,.22);
  --text:#f3f5fb;--text-dim:#a6acc3;--text-mute:#6a7085;
  --accent:#7c5cff;--accent-hi:#9d81ff;--accent-soft:rgba(124,92,255,.14);--accent-glow:rgba(124,92,255,.40);
  --cyan:#4fd8ff;--pink:#ff6cc5;--ok:#3dd598;--warn:#ffb04a;--danger:#ff5a6a;--gray:#8791a8;
  --ok-soft:rgba(61,213,152,.14);--warn-soft:rgba(255,176,74,.14);--danger-soft:rgba(255,90,106,.14);--cyan-soft:rgba(79,216,255,.14);
  --r-sm:10px;--r:16px;--r-lg:22px;--r-xl:28px;
  --shadow-sm:0 2px 8px rgba(0,0,0,.25);--shadow:0 10px 28px rgba(0,0,0,.35);--shadow-lg:0 20px 60px rgba(0,0,0,.5);--shadow-glow:0 8px 28px var(--accent-glow);
  --safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);
  --spring:cubic-bezier(.34,1.45,.64,1);--spring-soft:cubic-bezier(.25,.9,.3,1);
  --tab-h:66px;color-scheme:dark;
}
html[data-theme="light"]{
  --bg:#f2f4fa;--bg-soft:#ffffff;--surface:#ffffff;--surface-hi:#eef1f9;--surface-over:#ffffff;
  --line:rgba(15,20,40,.08);--line-hi:rgba(15,20,40,.14);--line-strong:rgba(15,20,40,.24);
  --text:#0c1224;--text-dim:#4c5470;--text-mute:#8a90a8;
  --accent:#5b3df5;--accent-hi:#7d64ff;--accent-soft:rgba(91,61,245,.10);--accent-glow:rgba(91,61,245,.28);
  --ok:#0aa965;--warn:#d18300;--danger:#de3f52;
  --shadow-sm:0 1px 4px rgba(30,40,80,.06);--shadow:0 10px 32px rgba(30,40,80,.10);--shadow-lg:0 18px 54px rgba(30,40,80,.16);
  color-scheme:light;
}
html[data-accent="blue"]{--accent:#2f7cf6;--accent-hi:#5c9bff;--accent-soft:rgba(47,124,246,.14);--accent-glow:rgba(47,124,246,.40)}
html[data-accent="cyan"]{--accent:#1fb6e0;--accent-hi:#4fd8ff;--accent-soft:rgba(31,182,224,.14);--accent-glow:rgba(31,182,224,.40)}
html[data-accent="green"]{--accent:#22b573;--accent-hi:#3dd598;--accent-soft:rgba(34,181,115,.14);--accent-glow:rgba(34,181,115,.40)}
html[data-accent="orange"]{--accent:#f28c28;--accent-hi:#ffb04a;--accent-soft:rgba(242,140,40,.14);--accent-glow:rgba(242,140,40,.40)}
html[data-accent="pink"]{--accent:#ec4fa8;--accent-hi:#ff6cc5;--accent-soft:rgba(236,79,168,.14);--accent-glow:rgba(236,79,168,.40)}
html[data-accent="red"]{--accent:#e5484d;--accent-hi:#ff6b70;--accent-soft:rgba(229,72,77,.14);--accent-glow:rgba(229,72,77,.40)}
html[data-accent="graphite"]{--accent:#5c6478;--accent-hi:#8791a8;--accent-soft:rgba(92,100,120,.16);--accent-glow:rgba(92,100,120,.35)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:"Inter",-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,sans-serif;font-size:15px;line-height:1.45;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:contain;min-height:100vh;transition:background .25s var(--spring-soft),color .25s var(--spring-soft)}
a{color:var(--accent-hi);text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer}
#app{padding:calc(var(--safe-top) + var(--app-top,8px)) 0 calc(var(--tab-h) + var(--safe-bottom) + 20px)}
.page{padding:0 14px 24px;max-width:720px;margin:0 auto}
.preloader{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(600px 400px at 50% 30%,var(--accent-soft),transparent 60%),var(--bg);z-index:2000}
.preloader-inner{display:flex;flex-direction:column;align-items:center;gap:18px;animation:preloadIn .5s var(--spring)}
@keyframes preloadIn{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
.mark{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;font-weight:900;font-size:30px;letter-spacing:-1px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-hi) 60%,var(--cyan));box-shadow:var(--shadow-glow)}
.mark.sm{width:38px;height:38px;border-radius:12px;font-size:16px;box-shadow:0 4px 14px var(--accent-glow)}
.wordmark{font-weight:800;font-size:22px;letter-spacing:-.6px}.wordmark span{color:var(--accent-hi)}
.spinner{width:26px;height:26px;border:3px solid var(--line-hi);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.topbar{display:flex;align-items:center;gap:12px;padding:6px 14px 12px;max-width:720px;margin:0 auto}
.topbar h1{margin:0;font-size:22px;font-weight:800;letter-spacing:-.6px;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar .sub{display:block;font-size:12.5px;color:var(--text-dim);font-weight:500;margin-top:3px;letter-spacing:0}
.ibtn{width:40px;height:40px;border-radius:13px;background:var(--surface);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--text);flex-shrink:0;transition:transform .12s var(--spring),background .15s}
.ibtn:active{transform:scale(.92);background:var(--surface-hi)}
.ibtn svg{width:20px;height:20px}
.hero{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:18px 18px 16px;margin-bottom:14px;background:var(--surface);border:1px solid var(--line);isolation:isolate}
.hero::before{content:"";position:absolute;inset:-40%;z-index:-1;pointer-events:none;background:radial-gradient(45% 40% at 20% 15%,rgba(124,92,255,.55),transparent 70%),radial-gradient(40% 40% at 85% 25%,rgba(79,216,255,.35),transparent 70%),radial-gradient(45% 45% at 55% 100%,rgba(255,108,197,.28),transparent 70%);animation:mesh 16s ease-in-out infinite alternate}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(120% 90% at 50% 0%,transparent 40%,rgba(8,9,24,.45) 100%)}
html[data-theme="light"] .hero::after{background:radial-gradient(120% 90% at 50% 0%,transparent 40%,rgba(255,255,255,.55) 100%)}
@keyframes mesh{0%{transform:rotate(0) scale(1)}100%{transform:rotate(12deg) scale(1.08)}}
.hero .hi{font-size:12.5px;color:var(--text-dim);font-weight:600;text-transform:uppercase;letter-spacing:.6px}
.hero h2{margin:4px 0 10px;font-size:24px;font-weight:800;letter-spacing:-.7px;line-height:1.1}
.hero .chips{margin-top:8px}
.glass{background:color-mix(in srgb,var(--surface) 70%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line-hi)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:13px 14px;margin-bottom:10px;box-shadow:var(--shadow-sm);transition:transform .12s var(--spring),border-color .15s}
.card h3{margin:0 0 12px;font-size:12.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text-dim);display:flex;align-items:center;gap:8px}
.card h3 .pill{margin-left:auto;background:var(--accent-soft);color:var(--accent-hi);border-color:transparent;text-transform:none;letter-spacing:0}
.card.tappable{cursor:pointer}.card.tappable:active{transform:scale(.985);border-color:var(--line-hi)}
.row{display:flex;align-items:center;gap:10px}.grow{flex:1;min-width:0}
.muted{color:var(--text-dim)}.mute{color:var(--text-mute)}.small{font-size:12.5px}.bold{font-weight:700}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:14px;margin:0}
.kv dt{color:var(--text-dim);margin:0;font-weight:500}.kv dd{margin:0;text-align:right;font-weight:600;word-break:break-word}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--surface-hi);color:var(--text-dim);white-space:nowrap;border:1px solid var(--line)}
.chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gray);box-shadow:0 0 0 3px color-mix(in srgb,var(--gray) 25%,transparent)}
.chip.s-ОЖИДАЕТ_ТЕХА,.chip.s-SENT,.chip.s-CONFIRMED,.chip.s-NEW{color:var(--warn);background:var(--warn-soft);border-color:transparent}.chip.s-ОЖИДАЕТ_ТЕХА::before,.chip.s-SENT::before,.chip.s-CONFIRMED::before,.chip.s-NEW::before{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}
.chip.s-В_РАБОТЕ,.chip.s-UPDATED{color:var(--cyan);background:var(--cyan-soft);border-color:transparent}.chip.s-В_РАБОТЕ::before,.chip.s-UPDATED::before{background:var(--cyan);box-shadow:0 0 0 3px var(--cyan-soft)}
.chip.s-ГОТОВО,.chip.s-DONE{color:var(--ok);background:var(--ok-soft);border-color:transparent}.chip.s-ГОТОВО::before,.chip.s-DONE::before{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}
.chip.s-ОТКЛОНЕНО,.chip.s-REJECTED,.chip.s-FAILED{color:var(--danger);background:var(--danger-soft);border-color:transparent}.chip.s-ОТКЛОНЕНО::before,.chip.s-REJECTED::before,.chip.s-FAILED::before{background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}
.chip.plain::before,.chip.p-P1::before,.chip.p-P2::before{display:none}
.chip.p-P1{color:var(--danger);background:var(--danger-soft);border-color:transparent}.chip.p-P2{color:var(--cyan);background:var(--cyan-soft);border-color:transparent}
.chip.acc{color:var(--accent-hi);background:var(--accent-soft);border-color:transparent}.chip.acc::before{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;padding:13px 16px;font-weight:700;font-size:15px;background:var(--surface-hi);color:var(--text);width:100%;border:1px solid var(--line);transition:transform .12s var(--spring),filter .12s,box-shadow .2s;letter-spacing:-.1px}
.btn:active{transform:scale(.97)}
.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-hi));color:#fff;border-color:transparent;box-shadow:var(--shadow-glow)}
.btn.success{background:linear-gradient(135deg,#2bbf84,var(--ok));color:#07271a;border-color:transparent;box-shadow:0 8px 24px rgba(61,213,152,.3)}
.btn.danger{background:linear-gradient(135deg,#ff4d5f,#ff7a86);color:#fff;border-color:transparent;box-shadow:0 8px 24px rgba(255,90,106,.28)}
.btn.ghost{background:transparent;border-color:transparent;color:var(--text-dim)}
.btn.sm{padding:9px 13px;font-size:13.5px;width:auto;border-radius:11px}
.btn[disabled]{opacity:.5;pointer-events:none}
.btns{display:grid;gap:8px}.btns.cols{grid-template-columns:1fr 1fr}
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;padding:7px 8px calc(7px + var(--safe-bottom));border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:saturate(160%) blur(18px);backdrop-filter:saturate(160%) blur(18px)}
.tabs a{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 2px 5px;border-radius:16px;color:var(--text-mute);font-size:10.5px;font-weight:700;letter-spacing:.1px;transition:color .15s,background .2s var(--spring-soft),transform .12s var(--spring);position:relative}
.tabs a svg{width:22px;height:22px;stroke-width:2}
.tabs a.active{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-hi));box-shadow:0 4px 14px var(--accent-glow)}
.tabs a:active{transform:scale(.93)}
.tabs .dot{position:absolute;top:6px;right:calc(50% - 16px);width:8px;height:8px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 2px var(--bg)}
.seg{display:flex;background:var(--surface-hi);border:1px solid var(--line);border-radius:12px;padding:3px;gap:2px;margin-bottom:12px;overflow-x:auto;scrollbar-width:none}
.seg::-webkit-scrollbar{display:none}
.seg button{flex:1 0 auto;padding:8px 12px;border-radius:9px;font-size:12.5px;font-weight:700;color:var(--text-dim);white-space:nowrap;transition:all .18s var(--spring-soft)}
.seg button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}
.search{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:0 13px;margin-bottom:12px;transition:border-color .15s,box-shadow .15s}
.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.search svg{width:18px;height:18px;color:var(--text-mute);flex-shrink:0}
.search input{flex:1;border:0;background:transparent;padding:12px 0;font-size:15px;color:var(--text);outline:0;min-width:0}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 15px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:transform .12s var(--spring)}
.tile:active{transform:scale(.97)}
.tile .n{font-size:28px;font-weight:800;letter-spacing:-1px;line-height:1.05}
.tile .l{font-size:12px;color:var(--text-dim);margin-top:5px;font-weight:500}
.tile.accent{background:linear-gradient(135deg,var(--accent),var(--accent-hi));border-color:transparent;color:#fff;box-shadow:var(--shadow-glow)}.tile.accent .l{color:rgba(255,255,255,.82)}
.tile.ok{border-color:transparent;background:linear-gradient(135deg,var(--ok-soft),transparent 70%),var(--surface)}.tile.ok .n{color:var(--ok)}
.tile.warn{background:linear-gradient(135deg,var(--warn-soft),transparent 70%),var(--surface)}.tile.warn .n{color:var(--warn)}
.tile.cyan{background:linear-gradient(135deg,var(--cyan-soft),transparent 70%),var(--surface)}.tile.cyan .n{color:var(--cyan)}
.task{display:flex;gap:12px;align-items:flex-start;position:relative;padding-left:4px}
.task::before{content:"";position:absolute;left:-16px;top:-14px;bottom:-14px;width:4px;border-radius:0 4px 4px 0;background:var(--line-hi)}
.task.p-P1::before{background:linear-gradient(180deg,var(--danger),var(--pink))}.task.p-P2::before{background:linear-gradient(180deg,var(--cyan),var(--accent))}
.task .id{font-weight:800;font-size:13px;color:var(--text-mute);letter-spacing:.2px;min-width:40px;padding-top:2px}
.task .title{font-weight:600;margin-bottom:6px;font-size:15.5px;letter-spacing:-.2px;line-height:1.35}
.task .meta{font-size:12px;color:var(--text-dim);display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;font-weight:500}
.task .meta span{display:inline-flex;align-items:center;gap:4px}
.late{color:var(--danger)!important;font-weight:700}
.desc{white-space:pre-wrap;word-break:break-word;background:var(--surface-hi);border-left:3px solid var(--accent);border-radius:10px;padding:11px 13px;margin:10px 0;font-size:14px;line-height:1.5}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0}
.gallery a{display:block;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--surface-hi);border:1px solid var(--line)}
.gallery img,.gallery video{width:100%;height:100%;object-fit:cover;display:block}
.files{display:grid;gap:6px;margin:8px 0}
.file{display:flex;align-items:center;gap:11px;background:var(--surface-hi);border:1px solid var(--line);border-radius:12px;padding:10px 12px;color:var(--text)}
.file .ic{width:34px;height:34px;border-radius:10px;background:var(--accent-soft);color:var(--accent-hi);display:grid;place-items:center;flex-shrink:0}.file .ic svg{width:18px;height:18px}
.file .nm{flex:1;min-width:0}.file .nm div{font-size:12px;color:var(--text-mute)}
.timeline{list-style:none;margin:6px 0 0;padding:0 0 0 16px;border-left:2px solid var(--line-hi)}
.timeline li{position:relative;padding:0 0 14px 12px;font-size:13.5px}
.timeline li::before{content:"";position:absolute;left:-21px;top:5px;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.timeline li:first-child::before{background:var(--cyan);box-shadow:0 0 0 3px var(--cyan-soft)}
.timeline .t{color:var(--text-mute);font-size:11.5px;margin-bottom:2px}
label.f{display:block;margin-bottom:14px}
label.f span{display:block;font-size:11px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
label.f span .muted{text-transform:none;letter-spacing:0;font-weight:500}
input.in,textarea.in,select.in{width:100%;border:1px solid var(--line);background:var(--surface-hi);border-radius:13px;padding:12px 13px;font-size:15px;color:var(--text);outline:0;font-family:inherit;transition:border-color .15s,box-shadow .15s,background .15s;appearance:none;-webkit-appearance:none}
textarea.in{min-height:120px;resize:vertical}
input.in:focus,textarea.in:focus,select.in:focus{border-color:var(--accent);background:var(--surface-over);box-shadow:0 0 0 4px var(--accent-soft)}
input.in::placeholder,textarea.in::placeholder{color:var(--text-mute)}
select.in{background-image:linear-gradient(45deg,transparent 50%,var(--text-mute) 50%),linear-gradient(135deg,var(--text-mute) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.quick{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.quick button{background:var(--surface-hi);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:700;color:var(--text-dim);transition:all .15s var(--spring-soft)}
.quick button.active{background:var(--accent-soft);color:var(--accent-hi);border-color:transparent}
.opt{display:flex;align-items:center;gap:11px;padding:12px 2px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .12s}
.opt:last-child{border-bottom:0}.opt:active{background:var(--surface-hi)}
.empty{text-align:center;color:var(--text-dim);padding:44px 12px}
.empty .icon-wrap{width:92px;height:92px;margin:0 auto 14px;display:grid;place-items:center;background:var(--surface-hi);border-radius:var(--r-lg);font-size:40px}
.empty .bold{color:var(--text);font-size:16px}
.sheet{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center}
.sheet[hidden]{display:none}
.sheet-bg{position:absolute;inset:0;background:rgba(5,6,14,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .18s}
.sheet-body{position:relative;width:100%;max-width:520px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:10px 18px calc(18px + var(--safe-bottom));max-height:88vh;overflow:auto;box-shadow:var(--shadow-lg);animation:sheetIn .32s var(--spring)}
.sheet-body::before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--line-strong);margin:0 auto 14px}
@keyframes sheetIn{from{transform:translateY(60px);opacity:0}to{transform:none;opacity:1}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.sheet-body h3{margin:2px 0 10px;font-size:18px;font-weight:800;letter-spacing:-.4px}
#toast{position:fixed;left:50%;bottom:calc(var(--tab-h) + var(--safe-bottom) + 18px);transform:translateX(-50%) translateY(20px);background:var(--surface-over);color:var(--text);border:1px solid var(--line-hi);padding:11px 16px;border-radius:14px;font-size:14px;font-weight:600;opacity:0;transition:.22s var(--spring-soft);z-index:3000;max-width:90vw;text-align:center;pointer-events:none;box-shadow:var(--shadow)}
#toast.show{opacity:1;transform:translateX(-50%)}
.bars{display:flex;align-items:flex-end;gap:5px;height:130px;padding-top:12px}
.bars .b{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end;min-width:0}
.bars .b i{display:block;width:100%;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,var(--accent-hi),var(--accent));min-height:2px;transition:height .6s var(--spring-soft)}
.bars .b i.g{background:linear-gradient(180deg,var(--ok),#1f9d6a)}
.bars .b b{font-size:9.5px;color:var(--text-mute);font-weight:600}
.bars .b em{font-size:10px;font-style:normal;color:var(--text-dim);font-weight:700}
.hbar{display:flex;align-items:center;gap:9px;font-size:13px;margin:7px 0}
.hbar .l{width:36%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);font-weight:500}
.hbar .t{flex:1;height:9px;background:var(--surface-hi);border-radius:5px;overflow:hidden}
.hbar .t i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--cyan));border-radius:5px;transition:width .6s var(--spring-soft)}
.hbar .n{width:40px;text-align:right;font-weight:800}
table.tbl{width:100%;border-collapse:collapse;font-size:13px}
table.tbl th,table.tbl td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left}
table.tbl th{color:var(--text-mute);font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.5px}
table.tbl td.r,table.tbl th.r{text-align:right}
table.tbl tr:last-child td{border-bottom:0}
.domlist{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;background:var(--surface-hi);border:1px solid var(--line);border-radius:12px;padding:11px 13px;white-space:pre-wrap;word-break:break-all;max-height:260px;overflow:auto;line-height:1.5}
.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:800;background:var(--surface-hi);color:var(--text-dim);border:1px solid var(--line)}
.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-hi) 50%,var(--surface) 75%);background-size:200% 100%;animation:sk 1.2s infinite;border-radius:var(--r-lg);height:76px;margin-bottom:10px;border:1px solid var(--line)}
@keyframes sk{to{background-position:-200% 0}}
.hdr{display:flex;justify-content:space-between;align-items:center;margin:16px 0 10px}
.hdr h2{font-size:17px;margin:0;font-weight:800;letter-spacing:-.4px}
.link{color:var(--accent-hi);font-weight:700;font-size:13px;cursor:pointer}
.warn{background:var(--warn-soft);border:1px solid rgba(255,176,74,.25);color:var(--text);border-radius:12px;padding:10px 13px;font-size:13.5px;margin:8px 0}
.err{background:var(--danger-soft);border:1px solid rgba(255,90,106,.25);color:var(--danger);border-radius:12px;padding:10px 13px;font-size:13.5px;margin:8px 0}
.ok{background:var(--ok-soft);border:1px solid rgba(61,213,152,.25);color:var(--text);border-radius:12px;padding:10px 13px;font-size:13.5px;margin:8px 0}
.avatar{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--cyan));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0;font-size:14px;letter-spacing:-.3px}
.avatar.blocked{background:linear-gradient(135deg,var(--danger),var(--pink))}
.fade{animation:fade .18s var(--spring-soft)}@keyframes fade{from{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:none}}
.hdr h2{font-size:12.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text-dim)}
.th-seg{margin-bottom:6px}
.th-colors{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:12px 4px 6px;justify-items:center}
.th-color{position:relative;width:58px;height:58px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--c1) 0%,var(--c2) 100%);display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 16px -6px var(--c2),inset 0 0 0 2px rgba(255,255,255,.18);transition:transform .15s var(--spring),box-shadow .15s;color:#fff}
.th-color svg{width:22px;height:22px;opacity:0;transition:opacity .15s}
.th-color.active{transform:scale(1.08);box-shadow:0 0 0 3px var(--bg),0 0 0 6px var(--text),0 6px 16px -6px var(--c2)}.th-color.active svg{opacity:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.th-color span{position:absolute;margin-top:72px;font-size:11px;color:var(--text-dim);font-weight:600}
.th-prev{display:flex;gap:8px;margin-top:10px}
.th-prev .p{flex:1;border-radius:12px;padding:10px;border:1px solid var(--line);background:var(--surface-hi);font-size:12px}
.th-prev .p b{display:block;height:8px;border-radius:4px;background:var(--accent);margin-bottom:6px;width:60%}
.toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.toggle:last-child{border-bottom:0}
.sw{width:48px;height:29px;border-radius:15px;background:var(--surface-over);border:1px solid var(--line-hi);position:relative;cursor:pointer;flex-shrink:0;transition:.2s var(--spring-soft)}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;transition:.2s var(--spring);box-shadow:0 1px 3px rgba(0,0,0,.35)}
.sw.on{background:linear-gradient(135deg,#2bbf84,var(--ok));border-color:transparent}.sw.on::after{left:22px}
.stack>*+*{margin-top:8px}
.count{font-variant-numeric:tabular-nums}
@media (min-width:600px){.tiles{grid-template-columns:repeat(4,1fr)}.gallery{grid-template-columns:repeat(4,1fr)}}
@media (hover:hover){.card.tappable:hover{border-color:var(--line-hi);transform:translateY(-1px)}.btn:hover{filter:brightness(1.06)}}
.ico,.bi{display:inline-flex;align-items:center;justify-content:center;vertical-align:-2px}
.ico svg,.bi svg{width:18px;height:18px}
.chip .bi svg{width:12px;height:12px}
.chip .bi{margin-right:-2px}
.btn .bi svg{width:18px;height:18px}
.card h3 .bi svg{width:14px;height:14px;stroke-width:2.2;color:var(--accent-hi)}
.meta .bi svg{width:13px;height:13px}
.empty .icon-wrap svg{width:44px;height:44px;color:var(--text-mute)}

#bg{position:fixed;inset:0;z-index:-2;pointer-events:none;overflow:hidden;--pf1:#7c5cff;--pf2:#4a2fd6;--pf3:#0b0d20;display:none}
#bgo{position:fixed;inset:0;z-index:-1;pointer-events:none;display:none;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 18%,transparent) 0%,color-mix(in srgb,var(--bg) 45%,transparent) 30%,color-mix(in srgb,var(--bg) 88%,transparent) 62%,var(--bg) 100%)}
html[data-bg]:not([data-bg="none"]) #bgo{display:block}
[data-k="aurora"]{--pf1:#7c5cff;--pf2:#2bb5a0;--pf3:#0b0f2a}
[data-k="nebula"]{--pf1:#6d3cff;--pf2:#ff5fa8;--pf3:#0a0820}
[data-k="flow"]{--pf1:#5b3df5;--pf2:#2f7cf6;--pf3:#0a0b12}
[data-k="stars"]{--pf1:#2a2d6b;--pf2:#161a4a;--pf3:#05060f}
[data-k="snow"]{--pf1:#3a4a8a;--pf2:#16213e;--pf3:#0b0f1f}
[data-k="waves"]{--pf1:#2f7cf6;--pf2:#1a3b8f;--pf3:#0a1026}
[data-k="lava"]{--pf1:#ff6a3d;--pf2:#c21d6e;--pf3:#140712}
[data-k="orbs"]{--pf1:#7c5cff;--pf2:#4fd8ff;--pf3:#0b0d20}
[data-k="bubbles"]{--pf1:#4fd8ff;--pf2:#1f6fb2;--pf3:#061627}
[data-k="neon"]{--pf1:#ff2ea6;--pf2:#3a0a4e;--pf3:#09031a}
[data-k="mesh"]{--pf1:#7c5cff;--pf2:#ff6cc5;--pf3:#0f0f24}
[data-k="duo"]{--pf1:#5b3df5;--pf2:#2a1c7a;--pf3:#0a0b12}
html[data-theme="light"] [data-k]{--pf3:color-mix(in srgb,var(--pf2) 28%,#f2f4fa)}
html[data-bg]:not([data-bg="none"]) #bg{display:block}
html[data-bg]:not([data-bg="none"]) body{background:transparent}
.card,.tile:not(.accent),.seg,.search,.nt2-in,.nt2-w,.nt2-prio,.nt2-opt,.nt2-card,.nt2-drop,.nt2-file,.file,.zone .pv,.sg .it,.ibtn{background:color-mix(in srgb,var(--surface) 78%,transparent);-webkit-backdrop-filter:blur(16px) saturate(130%);backdrop-filter:blur(16px) saturate(130%);border-color:var(--line-hi)}
.hero{background:color-mix(in srgb,var(--surface) 55%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-color:var(--line-hi)}
.seg button.active{background:color-mix(in srgb,var(--surface-hi) 85%,transparent)}
.btn{background:color-mix(in srgb,var(--surface-hi) 80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.sheet-body{background:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.tabs{background:color-mix(in srgb,var(--bg) 70%,transparent)}
html[data-bg]:not([data-bg="none"]) .tabs{background:color-mix(in srgb,var(--bg) 70%,transparent)}
html[data-bg]:not([data-bg="none"]) .sheet-body{background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
#bg::before,#bg::after{content:none}
#bg[data-k="aurora"]{background:var(--pf3)}
#bg[data-k="aurora"]::before{content:"";position:absolute;inset:-30%;background:radial-gradient(38% 30% at 25% 22%,var(--pf1),transparent 72%),radial-gradient(32% 28% at 78% 30%,var(--pf2),transparent 72%),radial-gradient(44% 32% at 55% 72%,color-mix(in srgb,var(--pf1) 55%,var(--pf2)),transparent 72%);filter:blur(40px);opacity:.85;animation:bgAur 18s ease-in-out infinite alternate}
#bg[data-k="aurora"]::after{content:"";position:absolute;inset:-30%;background:radial-gradient(30% 22% at 70% 72%,color-mix(in srgb,#ff6bc1 45%,var(--pf1)),transparent 72%),radial-gradient(24% 20% at 30% 55%,color-mix(in srgb,var(--pf1) 50%,#fff),transparent 72%);filter:blur(46px);opacity:.5;animation:bgAur2 23s ease-in-out infinite alternate}
@keyframes bgAur{from{transform:translate(-3%,-2%) rotate(0)}to{transform:translate(3%,3%) rotate(8deg)}}
@keyframes bgAur2{from{transform:translate(2%,3%) scale(1)}to{transform:translate(-3%,-2%) scale(1.12)}}
#bg[data-k="flow"]{background:linear-gradient(125deg,var(--pf3),color-mix(in srgb,var(--pf2) 70%,var(--pf3)),var(--pf1),color-mix(in srgb,var(--pf1) 50%,#5eead4),var(--pf2),var(--pf3));background-size:400% 400%;animation:bgFlow 22s ease-in-out infinite}
@keyframes bgFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
#bg[data-k="stars"]{background:radial-gradient(120% 70% at 50% 0%,var(--pf2) 0%,var(--pf3) 55%,color-mix(in srgb,var(--pf3) 60%,#000) 100%)}
#bg[data-k="stars"]::before,#bg[data-k="stars"]::after{content:"";position:absolute;inset:-50% 0 0;background-image:radial-gradient(1.6px 1.6px at 20px 30px,#fff,transparent),radial-gradient(1.2px 1.2px at 80px 120px,#fff,transparent),radial-gradient(2px 2px at 140px 60px,#fff,transparent),radial-gradient(1.4px 1.4px at 200px 160px,#fff,transparent),radial-gradient(1px 1px at 260px 40px,#fff,transparent);background-size:300px 220px;opacity:.8;animation:bgStar 120s linear infinite}
#bg[data-k="stars"]::after{background-size:130px 130px;opacity:.5;animation:bgStar 90s linear infinite,bgTw 2.3s ease-in-out infinite alternate-reverse}
@keyframes bgStar{to{transform:translateY(50%)}}@keyframes bgTw{from{opacity:.3}to{opacity:.7}}
#bg[data-k="waves"]{background:linear-gradient(180deg,var(--pf1) 0%,var(--pf2) 45%,var(--pf3) 100%)}
#bg[data-k="waves"]::before,#bg[data-k="waves"]::after{content:"";position:absolute;left:50%;top:42%;width:260%;aspect-ratio:1;margin-left:-130%;border-radius:43%;background:color-mix(in srgb,var(--pf3) 55%,transparent);animation:bgSpin 24s linear infinite}
#bg[data-k="waves"]::after{top:52%;border-radius:40%;background:color-mix(in srgb,var(--pf3) 80%,#000 10%);animation-duration:33s;animation-direction:reverse}
@keyframes bgSpin{to{transform:rotate(360deg)}}
#bg[data-k="lava"]{background:var(--pf3)}
#bg[data-k="lava"]::before,#bg[data-k="lava"]::after{content:"";position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 40% 40%,var(--pf1),var(--pf2) 60%,transparent 72%);filter:blur(34px);opacity:.75;left:-10%;top:5%;animation:bgLava 14s ease-in-out infinite alternate}
#bg[data-k="lava"]::after{left:45%;top:45%;width:80%;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--pf1) 55%,#ff8a3d),var(--pf2) 60%,transparent 72%);animation:bgLava2 18s ease-in-out infinite alternate}
@keyframes bgLava{from{transform:translate(0,0) scale(1)}to{transform:translate(25%,30%) scale(1.15)}}@keyframes bgLava2{from{transform:translate(0,0) scale(1.1)}to{transform:translate(-30%,-25%) scale(.9)}}
#bg[data-k="duo"]{background:linear-gradient(170deg,var(--pf2),var(--pf3))}
#bg[data-k="mesh"]{background:var(--pf3)}
#bg[data-k="mesh"]::before{content:"";position:absolute;inset:-20%;background:radial-gradient(40% 35% at 20% 20%,var(--pf1),transparent 70%),radial-gradient(35% 35% at 80% 30%,color-mix(in srgb,var(--pf2) 60%,#4fd8ff),transparent 70%),radial-gradient(45% 40% at 55% 95%,color-mix(in srgb,var(--pf2) 70%,#ff6cc5),transparent 70%);filter:blur(18px)}
html[data-theme="light"] #bgp{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.08;display:none;filter:grayscale(1) brightness(3)}
html[data-theme="light"] #bgp{filter:invert(1) brightness(.3);opacity:.06}
html[data-pp]:not([data-pp="none"]) #bgp{display:block}
#bgp[data-pp="dots"]{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'%3E%3Ccircle cx='13' cy='13' r='2' fill='%23fff'/%3E%3C/svg%3E") 0 0/26px 26px}
#bgp[data-pp="grid"]{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 34 34'%3E%3Cpath d='M34 0H0V34' fill='none' stroke='%23fff' stroke-width='1.2'/%3E%3C/svg%3E") 0 0/34px 34px}
#bgp[data-pp="diag"]{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='M-4 4l8-8M0 18L18 0M14 22l8-8' stroke='%23fff' stroke-width='1.6'/%3E%3C/svg%3E") 0 0/18px 18px}
#bgp[data-pp="waves"]{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='24' viewBox='0 0 48 24'%3E%3Cpath d='M0 12q12-10 24 0t24 0' fill='none' stroke='%23fff' stroke-width='1.6'/%3E%3C/svg%3E") 0 0/48px 24px}
#bgp[data-pp="stars"]{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='70' viewBox='0 0 70 70'%3E%3Ctext x='6' y='24' font-size='17' fill='%23fff'%3E%E2%98%85%3C/text%3E%3Ctext x='44' y='58' font-size='12' fill='%23fff'%3E%E2%98%85%3C/text%3E%3C/svg%3E") 0 0/70px 70px}
.th-bgs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.th-bg{position:relative;aspect-ratio:3/4;border-radius:14px;overflow:hidden;border:2px solid transparent;cursor:pointer;background:var(--surface-hi);transition:transform .15s var(--spring),border-color .15s;isolation:isolate}
.th-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,color-mix(in srgb,var(--bg) 75%,transparent))}
.th-bg.active{border-color:var(--text);transform:scale(1.04)}
.th-bg i{position:absolute;inset:0;display:block}
.th-bg i[data-k="none"]{background:var(--bg)}
.th-bg i[data-k="aurora"]{background:radial-gradient(45% 35% at 25% 25%,var(--pf1),transparent 70%),radial-gradient(40% 35% at 75% 40%,color-mix(in srgb,#5eead4 70%,var(--pf1)),transparent 70%),radial-gradient(50% 40% at 50% 80%,var(--pf2),transparent 70%),var(--pf3)}
.th-bg i[data-k="flow"]{background:linear-gradient(125deg,var(--pf3),var(--pf2),var(--pf1),var(--pf2))}
.th-bg i[data-k="stars"]{background:radial-gradient(1.5px 1.5px at 20% 30%,#fff,transparent),radial-gradient(1.5px 1.5px at 70% 20%,#fff,transparent),radial-gradient(1.5px 1.5px at 45% 65%,#fff,transparent),radial-gradient(1.5px 1.5px at 80% 80%,#fff,transparent),radial-gradient(120% 70% at 50% 0%,var(--pf2),var(--pf3))}
.th-bg i[data-k="waves"]{background:radial-gradient(90% 40% at 50% 85%,color-mix(in srgb,var(--pf3) 85%,#000),transparent 70%),linear-gradient(180deg,var(--pf1),var(--pf2) 45%,var(--pf3))}
.th-bg i[data-k="lava"]{background:radial-gradient(45% 45% at 30% 30%,var(--pf1),transparent 72%),radial-gradient(55% 55% at 75% 75%,color-mix(in srgb,var(--pf1) 55%,#ff8a3d),transparent 72%),var(--pf3)}
.th-bg i[data-k="duo"]{background:linear-gradient(170deg,var(--pf2),var(--pf3))}
.th-bg i[data-k="mesh"]{background:radial-gradient(45% 40% at 20% 20%,var(--pf1),transparent 70%),radial-gradient(40% 40% at 80% 30%,color-mix(in srgb,var(--pf2) 60%,#4fd8ff),transparent 70%),radial-gradient(50% 45% at 55% 95%,color-mix(in srgb,var(--pf2) 70%,#ff6cc5),transparent 70%),var(--pf3)}
.th-bg b{position:absolute;left:0;right:0;bottom:0;padding:4px;font-size:10px;font-weight:700;text-align:center;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.55));text-shadow:0 1px 2px rgba(0,0,0,.6)}
.th-bg i[data-k="none"]+b{color:var(--text);background:none;text-shadow:none}
.th-pp{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.th-pp button{background:var(--surface-hi);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:700;color:var(--text-dim)}
.th-pp button.active{background:var(--accent-soft);color:var(--accent-hi);border-color:transparent}
.th-h{font-size:11.5px;font-weight:700;color:var(--text-mute);text-transform:uppercase;letter-spacing:.4px;margin:14px 0 4px}
.th-range{width:100%;margin-top:8px;accent-color:var(--accent)}

.stk{display:block;pointer-events:none}
.stk svg,.stk video,.stk img,.stk canvas{width:100%;height:100%;display:block;object-fit:contain}
.stk.hero{position:absolute;right:8px;top:8px;width:104px;height:104px;z-index:1}
.stk.big{width:150px;height:150px;margin:0 auto 6px}
.stk.top{width:52px;height:52px;flex-shrink:0;margin-left:auto}
.stk.form{width:120px;height:120px;margin:0 auto 6px}
.stk.done{width:150px;height:150px;margin:-6px auto 4px}
.stk.inline{width:64px;height:64px}
.sg{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.sg .it{aspect-ratio:1;border-radius:14px;background:var(--surface-hi);border:2px solid transparent;display:grid;place-items:center;padding:6px;cursor:pointer;position:relative;overflow:hidden}
.sg .it.active{border-color:var(--accent)}
.sg .it .stk{width:100%;height:100%}
.sg .it small{position:absolute;right:4px;bottom:2px;font-size:10px;color:var(--text-mute)}
.zone{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.zone:last-child{border-bottom:0}
.zone .pv{width:56px;height:56px;border-radius:14px;background:var(--surface-hi);display:grid;place-items:center;flex-shrink:0;overflow:hidden}
.zone .pv .stk{width:100%;height:100%}
.zone .pv .no{color:var(--text-mute)}

#bg[data-k="nebula"]{background:var(--pf3)}
#bg[data-k="nebula"]::before{content:"";position:absolute;inset:-40%;background:radial-gradient(30% 24% at 30% 40%,var(--pf1),transparent 70%),radial-gradient(26% 22% at 65% 30%,color-mix(in srgb,#ff6cc5 55%,var(--pf1)),transparent 70%),radial-gradient(34% 28% at 60% 70%,var(--pf2),transparent 70%),radial-gradient(20% 18% at 25% 75%,color-mix(in srgb,#4fd8ff 60%,var(--pf2)),transparent 70%);filter:blur(44px);opacity:.8;animation:bgNeb 60s linear infinite}
#bg[data-k="nebula"]::after{content:"";position:absolute;inset:0;background-image:radial-gradient(1.4px 1.4px at 15% 25%,#fff,transparent),radial-gradient(1px 1px at 65% 15%,#fff,transparent),radial-gradient(1.6px 1.6px at 85% 60%,#fff,transparent),radial-gradient(1.2px 1.2px at 35% 80%,#fff,transparent),radial-gradient(1px 1px at 50% 50%,#fff,transparent);background-size:240px 240px;opacity:.55;animation:bgTw 3s ease-in-out infinite alternate}
@keyframes bgNeb{to{transform:rotate(360deg)}}
#bg[data-k="bubbles"]{background:linear-gradient(180deg,var(--pf3),color-mix(in srgb,var(--pf2) 45%,var(--pf3)))}
#bg[data-k="bubbles"]::before,#bg[data-k="bubbles"]::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at center,color-mix(in srgb,var(--pf1) 45%,transparent) 0 38%,transparent 42%),radial-gradient(circle at center,color-mix(in srgb,#fff 25%,transparent) 0 30%,transparent 34%),radial-gradient(circle at center,color-mix(in srgb,var(--pf1) 35%,transparent) 0 22%,transparent 26%);background-size:120px 120px,180px 180px,90px 90px;background-position:10% 100%,60% 100%,85% 100%;animation:bgBub 22s linear infinite;opacity:.5}
#bg[data-k="bubbles"]::after{background-size:70px 70px,140px 140px,200px 200px;background-position:30% 100%,75% 100%,45% 100%;animation-duration:31s;opacity:.35}
@keyframes bgBub{to{background-position:10% -200%,60% -200%,85% -200%}}
#bg[data-k="snow"]{background:linear-gradient(180deg,color-mix(in srgb,var(--pf2) 50%,var(--pf3)),var(--pf3))}
#bg[data-k="snow"]::before,#bg[data-k="snow"]::after{content:"";position:absolute;inset:0;background-image:radial-gradient(2px 2px at 20px 20px,#fff,transparent),radial-gradient(1.5px 1.5px at 90px 60px,#fff,transparent),radial-gradient(2.5px 2.5px at 150px 110px,#fff,transparent),radial-gradient(1.5px 1.5px at 60px 150px,#fff,transparent),radial-gradient(2px 2px at 200px 40px,#fff,transparent);background-size:230px 180px;opacity:.75;animation:bgSnow 14s linear infinite}
#bg[data-k="snow"]::after{background-size:170px 140px;opacity:.45;animation-duration:22s;animation-direction:reverse;animation-name:bgSnow2}
@keyframes bgSnow{from{background-position:0 -180px}to{background-position:40px 100vh}}@keyframes bgSnow2{from{background-position:0 100vh}to{background-position:-40px -140px}}
#bg[data-k="neon"]{background:radial-gradient(80% 50% at 50% 100%,color-mix(in srgb,var(--pf2) 60%,var(--pf3)),var(--pf3) 70%);perspective:400px}
#bg[data-k="neon"]::before{content:"";position:absolute;left:-50%;right:-50%;top:38%;bottom:-60%;background-image:linear-gradient(color-mix(in srgb,var(--pf1) 70%,transparent) 1.5px,transparent 1.5px),linear-gradient(90deg,color-mix(in srgb,var(--pf1) 70%,transparent) 1.5px,transparent 1.5px);background-size:60px 60px;transform:rotateX(62deg);transform-origin:50% 0;animation:bgNeon 3s linear infinite;opacity:.55;-webkit-mask:linear-gradient(180deg,transparent,#000 25%,#000 80%,transparent);mask:linear-gradient(180deg,transparent,#000 25%,#000 80%,transparent)}
#bg[data-k="neon"]::after{content:"";position:absolute;left:50%;top:22%;width:180px;height:180px;margin-left:-90px;border-radius:50%;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--pf1) 80%,#fff),var(--pf1) 55%,transparent 72%);filter:blur(10px);opacity:.8;animation:bgTw 4s ease-in-out infinite alternate}
@keyframes bgNeon{to{background-position:0 60px}}
#bg[data-k="orbs"]{background:var(--pf3)}
#bg[data-k="orbs"]::before,#bg[data-k="orbs"]::after{content:"";position:absolute;width:46vw;height:46vw;border-radius:50%;background:radial-gradient(circle at 35% 35%,color-mix(in srgb,var(--pf1) 85%,#fff),var(--pf2) 60%,transparent 72%);filter:blur(18px);opacity:.55;left:5%;top:12%;animation:bgOrb 16s ease-in-out infinite alternate}
#bg[data-k="orbs"]::after{left:auto;right:0;top:55%;width:60vw;height:60vw;background:radial-gradient(circle at 60% 40%,color-mix(in srgb,#4fd8ff 60%,var(--pf1)),var(--pf2) 55%,transparent 72%);animation:bgOrb2 21s ease-in-out infinite alternate}
@keyframes bgOrb{from{transform:translate(0,0) scale(1)}to{transform:translate(40vw,30vh) scale(1.2)}}@keyframes bgOrb2{from{transform:translate(0,0) scale(1)}to{transform:translate(-35vw,-40vh) scale(.85)}}
#bg[data-k="sunset"]{background:linear-gradient(180deg,#1b0b3a 0%,#5b2a8a 35%,#ff6a5f 70%,#ffb347 100%);background-size:100% 200%;animation:bgSun 24s ease-in-out infinite alternate}
#bg[data-k="sunset"]::before{content:"";position:absolute;left:50%;top:58%;width:34vw;height:34vw;margin-left:-17vw;border-radius:50%;background:radial-gradient(circle,#fff2a8,#ffb347 60%,transparent 72%);filter:blur(8px);opacity:.9;animation:bgSunUp 24s ease-in-out infinite alternate}
#bg[data-k="sunset"]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(180deg,transparent,rgba(10,8,30,.75))}
@keyframes bgSun{from{background-position:0 0}to{background-position:0 100%}}@keyframes bgSunUp{from{transform:translateY(20vh)}to{transform:translateY(-10vh)}}
html[data-theme="light"] #bg[data-k="sunset"]::after{background:linear-gradient(180deg,transparent,rgba(255,255,255,.55))}
.th-bg i[data-k="nebula"]{background:radial-gradient(40% 35% at 30% 40%,var(--pf1),transparent 70%),radial-gradient(35% 30% at 65% 30%,color-mix(in srgb,#ff6cc5 55%,var(--pf1)),transparent 70%),radial-gradient(45% 40% at 60% 70%,var(--pf2),transparent 70%),var(--pf3)}
.th-bg i[data-k="bubbles"]{background:radial-gradient(circle at 30% 70%,color-mix(in srgb,var(--pf1) 45%,transparent) 0 16%,transparent 19%),radial-gradient(circle at 70% 35%,color-mix(in srgb,#fff 25%,transparent) 0 12%,transparent 15%),radial-gradient(circle at 60% 80%,color-mix(in srgb,var(--pf1) 35%,transparent) 0 9%,transparent 12%),linear-gradient(180deg,var(--pf3),color-mix(in srgb,var(--pf2) 45%,var(--pf3)))}
.th-bg i[data-k="snow"]{background:radial-gradient(2px 2px at 20% 20%,#fff,transparent),radial-gradient(2px 2px at 70% 40%,#fff,transparent),radial-gradient(2px 2px at 40% 75%,#fff,transparent),radial-gradient(2px 2px at 85% 85%,#fff,transparent),linear-gradient(180deg,color-mix(in srgb,var(--pf2) 50%,var(--pf3)),var(--pf3))}
.th-bg i[data-k="neon"]{background:linear-gradient(color-mix(in srgb,var(--pf1) 70%,transparent) 1px,transparent 1px) 0 50%/100% 14px,linear-gradient(90deg,color-mix(in srgb,var(--pf1) 70%,transparent) 1px,transparent 1px) 0 0/14px 100%,radial-gradient(80% 50% at 50% 100%,color-mix(in srgb,var(--pf2) 60%,var(--pf3)),var(--pf3) 70%)}
.th-bg i[data-k="orbs"]{background:radial-gradient(35% 35% at 30% 30%,color-mix(in srgb,var(--pf1) 85%,#fff),var(--pf2) 60%,transparent 72%),radial-gradient(45% 45% at 75% 75%,color-mix(in srgb,#4fd8ff 60%,var(--pf1)),var(--pf2) 55%,transparent 72%),var(--pf3)}
.th-bg i[data-k="sunset"]{background:radial-gradient(circle at 50% 62%,#fff2a8,#ffb347 20%,transparent 32%),linear-gradient(180deg,#1b0b3a,#5b2a8a 35%,#ff6a5f 70%,#ffb347)}

.nt2{display:flex;flex-direction:column;min-height:calc(100vh - var(--safe-top) - var(--app-top,8px))}
.nt2-top{display:flex;align-items:center;gap:12px;padding:6px 14px 8px}
.nt2-ic{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--text) 10%,transparent);color:var(--text)}
.nt2-ic svg{width:20px;height:20px}
.nt2-prog{flex:1;display:flex;gap:6px}
.nt2-prog i{flex:1;height:5px;border-radius:99px;background:color-mix(in srgb,var(--text) 14%,transparent);overflow:hidden;position:relative}
.nt2-prog i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--accent),var(--accent-hi));transform:scaleX(0);transform-origin:left;transition:transform .35s var(--spring-soft)}
.nt2-prog i.done::after,.nt2-prog i.cur::after{transform:scaleX(1)}
.nt2-prog i.cur::after{opacity:.75}
.nt2-view{flex:1;padding:8px 18px 120px;max-width:720px;width:100%;margin:0 auto}
.nt2-step{display:none}
.nt2-step.on{display:block;animation:nt2in .32s var(--spring-soft)}
.nt2-step.on.back{animation:nt2back .32s var(--spring-soft)}
@keyframes nt2in{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes nt2back{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
.nt2-k{font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--text-dim)}
.nt2-step h2{margin:4px 0 16px;font-size:30px;font-weight:900;letter-spacing:-.8px;line-height:1.1}
.nt2-in{display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:10px;border-radius:20px;background:var(--surface);border:1.5px solid var(--line);transition:border-color .2s,box-shadow .2s}
.nt2-in:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.nt2-in textarea,.nt2-in input{flex:1;border:0;background:transparent;color:var(--text);font:inherit;font-size:16px;outline:0;resize:none;min-width:0;padding:2px 0}
.nt2-in textarea{min-height:92px;line-height:1.4}
.nt2-in.big textarea{min-height:160px}
.nt2-in svg{width:20px;height:20px;color:var(--text-mute);flex-shrink:0}
.nt2-tip{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:14px;background:var(--accent-soft);color:var(--text-dim);font-size:13px;line-height:1.4;margin-top:6px}
.nt2-tip svg{width:16px;height:16px;flex-shrink:0;color:var(--accent-hi);margin-top:1px}
.nt2-when{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.nt2-w{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:13px 12px;border-radius:18px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);text-align:left;transition:transform .12s var(--spring),border-color .2s,background .2s}
.nt2-w b{font-size:15px;font-weight:800}.nt2-w small{font-size:12px;color:var(--text-dim)}
.nt2-w.active{border-color:var(--accent);background:var(--accent-soft)}
.nt2-w:active{transform:scale(.96)}
.nt2-custom{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.nt2-prios{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.nt2-prio{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px 14px;border-radius:20px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);text-align:left;transition:transform .12s var(--spring),border-color .2s,background .2s}
.nt2-prio .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center}
.nt2-prio .ic svg{width:22px;height:22px}
.nt2-prio.p1 .ic{background:var(--danger-soft);color:var(--danger)}.nt2-prio.p2 .ic{background:var(--cyan-soft);color:var(--cyan)}
.nt2-prio b{font-size:17px;font-weight:800}.nt2-prio small{font-size:12.5px;color:var(--text-dim);line-height:1.35}
.nt2-prio.active{border-color:var(--accent);background:var(--accent-soft)}
.nt2-opts{display:grid;gap:8px}
.nt2-opt{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);text-align:left;transition:border-color .2s,background .2s}
.nt2-opt.active{border-color:var(--accent);background:var(--accent-soft)}
.nt2-files{display:grid;gap:8px;margin-top:10px}
.nt2-file{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}
.nt2-file .nm{flex:1;min-width:0;font-size:14px}.nt2-file .nm small{display:block;color:var(--text-mute);font-size:11.5px}
.nt2-file button{color:var(--text-mute)}.nt2-file button svg{width:18px;height:18px}
.nt2-file>svg,.nt2-file .ic{width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;background:var(--surface-hi);color:var(--accent)}
.nt2-file .ic svg{width:18px;height:18px}
.nt2-drop{display:flex;flex-direction:column;align-items:center;gap:8px;padding:26px 14px;border-radius:20px;border:1.5px dashed var(--line-strong);background:var(--surface);color:var(--text-dim);font-weight:700}
.nt2-drop svg{width:28px;height:28px;color:var(--accent-hi)}
.nt2-sum{display:flex;align-items:center;gap:8px;margin-top:14px;padding:12px 14px;border-radius:16px;background:var(--surface-hi);font-size:14px;font-weight:700}
.nt2-sum svg{width:18px;height:18px;color:var(--accent-hi)}
.nt2-card{padding:16px;border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:0 16px 34px -24px rgba(0,0,0,.6);margin-top:12px}
.nt2-card .kv{gap:10px 14px}
.nt2-foot{position:fixed;left:0;right:0;bottom:0;display:flex;gap:10px;padding:10px 16px calc(12px + var(--safe-bottom));background:linear-gradient(to bottom,transparent,var(--bg) 30%);z-index:20;max-width:720px;margin:0 auto}
.nt2-skip{display:flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border-radius:18px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);font-size:14.5px;font-weight:700}
.nt2-next{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border-radius:18px;background:linear-gradient(135deg,var(--accent),var(--accent-hi));color:#fff;font-size:16.5px;font-weight:800;box-shadow:0 14px 28px -14px var(--accent);transition:transform .12s var(--spring),filter .15s}
.nt2-next:active{transform:scale(.97)}.nt2-next[disabled]{opacity:.5}
.nt2-next svg{width:20px;height:20px}
html[data-bg]:not([data-bg="none"]) .nt2-foot{background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--bg) 85%,transparent) 30%)}
.vt{margin-top:8px}
.vt .row{font-size:13px;padding:5px 0;border-bottom:1px solid var(--line)}.vt .row:last-child{border-bottom:0}
[hidden]{display:none!important}
.nt2-opt>svg{width:22px;height:22px;color:var(--accent-hi);opacity:0;flex-shrink:0;transition:opacity .15s}
.nt2-opt.active>svg{opacity:1}
.nt2-opt b{font-size:15.5px}
.nt2-drop small{font-weight:500;font-size:12px}

.hero:has(.stk.hero) .hi,.hero:has(.stk.hero) h2{padding-right:104px}
.hero:has(.stk.hero) .chips{padding-right:60px}
.sg .it canvas,.zone .pv canvas{width:100%!important;height:100%!important}
.sg .it{contain:content}
.up-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.up-title{font-size:17px;font-weight:800;letter-spacing:-.3px}
.up-pct{font-size:26px;font-weight:800;letter-spacing:-1px;color:var(--accent);font-variant-numeric:tabular-nums}
.up-bar{height:8px;border-radius:999px;background:var(--surface-hi);overflow:hidden;margin-bottom:12px}
.up-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2,var(--accent)));transition:width .25s ease}
.up-list{display:grid;gap:8px;max-height:46vh;overflow:auto}
.up-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:color-mix(in srgb,var(--surface-hi) 70%,transparent);border:1px solid var(--line)}
.up-row .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--surface);color:var(--text-mute);flex:none}
.up-row .ic svg{width:18px;height:18px}
.up-row.up .ic{color:var(--accent)}.up-row.ok .ic{color:var(--ok);background:var(--ok-soft)}.up-row.err .ic{color:var(--danger);background:var(--danger-soft)}
.up-row .nm{flex:1;min-width:0;font-size:14px;font-weight:600}.up-row .nm small{display:block;font-weight:500;color:var(--text-mute);font-size:11.5px;margin-top:2px}
.up-row.err .nm small{color:var(--danger)}
.up-mini{display:block;height:3px;border-radius:2px;background:var(--line);margin-top:6px;overflow:hidden}
.up-mini i{display:block;height:100%;background:var(--accent);transition:width .2s}
.up-row.ok .up-mini i{background:var(--ok)}.up-row.wait .up-mini{opacity:.35}
.nt2-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}
.nt2-cell{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--surface-hi);border:1px solid var(--line)}
.nt2-cell .th,.nt2-cell .th img,.nt2-cell .th video{display:block;width:100%;height:100%;object-fit:cover}
.nt2-cell .th i{display:none}
.nt2-cell button{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;border:0;padding:0}
.nt2-cell button svg{width:14px;height:14px}
.nt2-cell small{position:absolute;left:6px;bottom:6px;padding:2px 7px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:10.5px;font-weight:600;display:flex;align-items:center;gap:4px}
.nt2-cell small svg{width:12px;height:12px}
.th{position:relative;display:block;width:34px;height:34px;border-radius:10px;overflow:hidden;flex:none;background:var(--surface-hi)}
.th img,.th video{width:100%;height:100%;object-fit:cover;display:block}
.th i{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:rgba(0,0,0,.25)}.th i svg{width:14px;height:14px}
.up-row .th.up-th{width:48px;height:48px;border-radius:12px}
.nt2-file .th{width:44px;height:44px;border-radius:12px}
.opt .r{width:22px;height:22px;border-radius:7px;border:2px solid var(--line-strong);flex:none;display:grid;place-items:center;transition:all .15s;background:transparent}
.opt .r::after{content:"";width:11px;height:6px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg) translate(1px,-1px);opacity:0;transition:opacity .15s}
.opt.active{background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:12px;padding-left:10px;padding-right:10px}
.opt.active .r{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}
.opt.active .r::after{opacity:1}
.opt.active .grow{font-weight:700;color:var(--text)}
