*,:before,:after{box-sizing:border-box}*{-webkit-tap-highlight-color:transparent}html[data-ios] body{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}html[data-ios] :is(input,textarea,[contenteditable]:not([contenteditable=false])){-webkit-user-select:text;user-select:text}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--txt) 25%, transparent) transparent}body{-webkit-text-size-adjust:none;--hairline:1px;color:var(--txt);font-family:var(--font-ui);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:var(--feat-tnum);margin:0;padding:0;font-weight:400;line-height:1.55}@media (resolution>=2x){body{--hairline:.5px}}@media (resolution>=3x){body{--hairline:.7px}}ol,ul{margin:0;padding:0}address,blockquote,dl,figure,form,ol,p,pre,table,ul{margin-top:0;margin-bottom:0}button{background:0 0;border:none;outline:none}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}input,select,textarea{background-color:#0000;font-size:12px}input[type=text],select{border:var(--hairline) solid #fff5}:focus{outline:none}:focus-visible{outline-width:0!important}::selection{background:var(--accent);color:#fff}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:100 1000;src:url(./dm-sans-latin-wght-normal.Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,[data-theme=dark]{--bg:#08090b;--surface:#101216;--surface-2:#171a21;--line:#23262e;--line-2:#34383f;--txt:#f4f5f7;--muted:#8b8f99;--faint:#565a64;--accent:#d6459b;--accent-ink:#0c0e12;--accent-dim:#310f35;--accent-2:var(--accent);--fill:#f4f5f7;--fill-ink:#08090b;--danger:#ff5a52;--ok:#46d98a;--danger-fill:#d6362f;--danger-ink:#fff;--teal:#25e1b8;--maroon-d:var(--teal);--sage:#7d9a6b;--sage-d:#5f7d50;--olive:#b6a268;--slate:#3c5a8c;--slate-2:#46659b;--red:#d8455c;--amber:#e0a23e;--coral:#e0524b;--on-light:#0c0e12;--on-dark:#fff;--stage:radial-gradient(120% 90% at 50% 0%,#2b313b 0%,#1a1e25 46%,#0d1015 100%);--canvas-bg:var(--stage);--font-display:"DM Sans",system-ui,sans-serif;--font-ui:"DM Sans",system-ui,sans-serif;--font-mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;--feat-tnum:"tnum" 1, "ss01" 1;--r-sm:2px;--r:3px;--r-lg:4px;--r-xl:16px;--r-rounded:12px;--r-full:999px;--r-canvas:4px;--r-dub:14px;--r-action:var(--r);--r-xs:var(--r-sm);--r-pill:var(--r-action);--r-md:12px;--shadow-card:0 16px 32px -22px #000000d9;--shadow-pop:0 24px 60px -20px #000000e6;--scrim:#0000008c;--art-line:#ffffff24;--fs-label:11px;--fs-meta:13px;--fs-body:15px;--fs-lead:17px;--fs-h3:19px;--fs-h2:24px;--fs-h1:32px;--t-fast:.15s;--ease-out:cubic-bezier(.16,1,.3,1);--z-chrome:50;--z-menu:100;--z-player:300;--z-dialog:1000;--z-toast:9999;--col-form:680px;--col-read:760px}[data-shape=rounded],[data-shape=rounded] [data-theme]{--r-action:var(--r-rounded)}[data-shape=pill],[data-shape=pill] [data-theme]{--r-action:var(--r-full)}[data-theme=light]{--bg:#f5f5f2;--surface:#fff;--surface-2:#ededea;--line:#e3e3dd;--line-2:#cdcdc6;--txt:#14151b;--muted:#5d616b;--faint:#9aa0aa;--accent-dim:#f6d4fa;--fill:#14151b;--fill-ink:#fff;--shadow-card:0 14px 30px -22px #00000040;--shadow-pop:0 24px 60px -22px #00000047}.ds2 a{color:inherit;text-decoration:none}.ds2,.app{font-feature-settings:var(--feat-tnum);-webkit-font-smoothing:antialiased}:where(.ds2,.app) .display{font-family:var(--font-display);letter-spacing:-1.5px;font-weight:800;line-height:1.02}:where(.ds2,.app) .h1{font-family:var(--font-display);font-weight:700;font-size:var(--fs-h1);letter-spacing:-1px;line-height:1.05}:where(.ds2,.app) .h2{font-family:var(--font-display);font-weight:700;font-size:var(--fs-h2);letter-spacing:-.6px}:where(.ds2,.app) .h3{font-family:var(--font-display);font-weight:700;font-size:var(--fs-h3);letter-spacing:-.4px}:where(.ds2,.app) .mono{font-family:var(--font-mono)}:where(.ds2,.app) .muted{color:var(--muted)}:where(.ds2,.app) .faint{color:var(--faint)}:where(.ds2,.app) .eyebrow{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:1.6px;text-transform:uppercase;color:var(--faint);font-weight:500}:where(.ds2,.app) .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px}:where(.ds2,.app) .btn{border-radius:var(--r-action);cursor:pointer;height:46px;font-family:var(--font-ui);font-weight:700;font-size:var(--fs-body);transition:var(--t-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:9px;padding:0 20px;display:inline-flex}:where(.ds2,.app) .btn svg{stroke:currentColor;fill:none;stroke-width:1.9px;width:18px;height:18px}:where(.ds2,.app) .btn.primary{background:var(--accent);color:var(--accent-ink)}:where(.ds2,.app) .btn.primary:hover{filter:brightness(1.06)}:where(.ds2,.app) .btn.ink{background:var(--fill);color:var(--fill-ink)}:where(.ds2,.app) .btn.ink:hover{filter:brightness(.92)}:where(.ds2,.app)[data-theme=light] .btn.ink:hover,[data-theme=light] :where(.ds2,.app) .btn.ink:hover{filter:brightness(1.6)}:where(.ds2,.app) .btn.ghost{background:var(--surface-2);border:1px solid var(--line);color:var(--txt)}:where(.ds2,.app) .btn.ghost:hover{border-color:var(--line-2);filter:brightness(1.05)}:where(.ds2,.app) .btn.danger{color:var(--danger);background:0 0;border:0;padding:0}:where(.ds2,.app) .btn.block{width:100%;display:flex}:where(.ds2,.app) .btn.lg{height:54px;font-size:var(--fs-lead);border-radius:var(--r-action);padding:0 26px}:where(.ds2,.app) .pill-btn{border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line);height:42px;color:var(--txt);font-weight:600;font-size:var(--fs-body);cursor:pointer;font-family:var(--font-ui);transition:var(--t-fast);align-items:center;gap:7px;padding:0 16px;display:inline-flex}:where(.ds2,.app) .pill-btn:hover{border-color:var(--line-2)}:where(.ds2,.app) .pill-btn svg{stroke:currentColor;fill:none;stroke-width:1.8px;width:16px;height:16px}:where(.ds2,.app) .redub{border-radius:var(--r-action);height:42px;font-weight:700;font-size:var(--fs-body);color:var(--accent-ink);background:var(--accent);cursor:pointer;font-family:var(--font-ui);transition:var(--t-fast);border:none;align-items:center;gap:8px;padding:0 20px;display:inline-flex}:where(.ds2,.app) .redub:hover{filter:brightness(1.06)}:where(.ds2,.app) .redub svg{width:17px;height:17px;stroke:var(--accent-ink);fill:none;stroke-width:1.9px}:where(.ds2,.app) .icon-pill{border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--line);width:42px;height:42px;color:var(--muted);cursor:pointer;transition:var(--t-fast);place-items:center;display:grid}:where(.ds2,.app) .icon-pill:hover{color:var(--txt);border-color:var(--line-2)}:where(.ds2,.app) .icon-pill svg{stroke:currentColor;fill:none;stroke-width:1.8px;width:18px;height:18px}:where(.ds2,.app) .rec-btn{border-radius:var(--r-action);font-weight:700;font-size:var(--fs-body);color:var(--fill-ink);background:var(--fill);cursor:pointer;font-family:var(--font-ui);transition:var(--t-fast);border:none;align-items:center;gap:9px;padding:12px 20px;display:inline-flex}:where(.ds2,.app) .rec-btn:hover{filter:brightness(.94)}:where(.ds2,.app) .rec-btn .rdot{background:var(--red);border-radius:50%;width:11px;height:11px;animation:1.4s step-end infinite blink}:where(.ds2,.app) .tin{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);width:100%;color:var(--txt);font-family:var(--font-ui);font-size:var(--fs-body);transition:var(--t-fast);outline:none;padding:13px 15px}:where(.ds2,.app) .tin::placeholder{color:var(--faint)}:where(.ds2,.app) .tin:focus{border-color:var(--accent)}:where(.ds2,.app) textarea.tin{resize:vertical;min-height:120px;line-height:1.5;display:block}:where(.ds2,.app) .field{display:block}:where(.ds2,.app) .field label{font-size:var(--fs-label);color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:9px;font-weight:700;display:block}:where(.ds2,.app) .seg{gap:8px;display:inline-flex}:where(.ds2,.app) .seg button{border-radius:var(--r-action);background:var(--bg);border:1px solid var(--line);color:var(--muted);cursor:pointer;font-weight:600;font-size:var(--fs-meta);font-family:var(--font-ui);transition:var(--t-fast);padding:11px 16px}:where(.ds2,.app) .seg button.on{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}:where(.ds2,.app) .status{font-size:var(--fs-label);letter-spacing:.4px;border-radius:var(--r-action);font-weight:700;font-family:var(--font-ui);padding:3px 8px}:where(.ds2,.app) .status.pub{color:var(--sage);background:#7d9a6b29}:where(.ds2,.app) .status.draft{color:var(--olive);background:#b6a26829}:where(.ds2,.app) .pill{color:var(--sage);border-radius:var(--r-action);font-size:var(--fs-label);font-weight:700;font-family:var(--font-ui);background:#7d9a6b29;padding:3px 9px;display:inline-block}:where(.ds2,.app) .avatar{border-radius:var(--r-full);width:38px;height:38px;font-weight:700;font-size:var(--fs-body);border:1px solid var(--art-line);color:#fff;background:linear-gradient(135deg,#3c5a8c,#7d9a6b);flex-shrink:0;place-items:center;display:grid}.on-art{color:#fff;text-shadow:0 0 1px #000000e6,0 0 1px #000000e6;font-style:normal;font-weight:700}.on-art svg,svg.on-art{filter:drop-shadow(0 0 .5px #000000e6)drop-shadow(0 0 .25px #000000e6)}html[data-ios] .on-art svg,html[data-ios] svg.on-art{filter:drop-shadow(0 0 1px #000000e6)drop-shadow(0 0 .5px #000000e6)}:where(.ds2,.app) .dub{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;display:block}:where(.ds2,.app) .sq{aspect-ratio:1;border-radius:var(--r-xs);background:var(--canvas-bg);transition:transform var(--t-fast),box-shadow var(--t-fast);background-repeat:no-repeat;background-origin:border-box;background-clip:border-box;border:1px solid #ffffff1f;position:relative;overflow:hidden;box-shadow:0 12px 26px -18px #000000d9}:where(.ds2,.app)[data-theme=light] .sq,[data-theme=light] :where(.ds2,.app) .sq{border:var(--hairline) solid #aaa}@media (hover:hover){:where(.ds2,.app) .dub:hover .sq{box-shadow:0 20px 34px -18px #000000e6}}:where(.ds2,.app) .dub.feat .sq{transition:border-color var(--t-fast)}:where(.ds2,.app) .dub.feat:hover .sq{border-color:#ffffff4d;transform:none}:where(.ds2,.app)[data-theme=light] .dub.feat:hover .sq,[data-theme=light] :where(.ds2,.app) .dub.feat:hover .sq{border-color:#777}:where(.ds2,.app) .sq:after{content:"";pointer-events:none;background:linear-gradient(#ffffff0f,#0000 22%),radial-gradient(130% 100% at 50% 40%,#0000 54%,#00000080);position:absolute;inset:0}:where(.ds2,.app) .vplay{z-index:3;aspect-ratio:1;width:28%;transition:var(--t-fast);place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (hover:hover){:where(.ds2,.app) .dub:hover .vplay{transform:translate(-50%,-50%)scale(1.1)}}:where(.ds2,.app) .vplay svg{fill:#fff;stroke:#000;stroke-width:1px;stroke-linejoin:round;width:100%;height:100%;overflow:visible}:where(.ds2,.app) .vplay path{vector-effect:non-scaling-stroke}:where(.ds2,.app) .dt{font-weight:600;font-size:var(--fs-body);letter-spacing:-.2px;white-space:nowrap;text-overflow:ellipsis;margin-top:10px;line-height:1.2;overflow:hidden}:where(.ds2,.app) .dm{color:var(--muted);font-size:var(--fs-meta);white-space:nowrap;align-items:center;gap:9px;margin-top:2px;line-height:1.35;display:flex;overflow:hidden}:where(.ds2,.app) .dm>*{text-overflow:ellipsis;min-width:0;overflow:hidden}:where(.ds2,.app) .dm>.dm-keep,:where(.ds2,.app) .dm>svg{flex-shrink:0}:where(.ds2,.app) .dm svg{stroke:currentColor;fill:none;stroke-width:1.8px;width:12px;height:12px}:where(.ds2,.app) .mn{z-index:1;position:absolute}:where(.ds2,.app) .mc{background:radial-gradient(circle at 35% 30%,#8fae7c,#5f7d50);border:1px solid #ffffff2b;border-radius:50%;width:26px;height:26px;box-shadow:0 3px 8px -3px #0009}:where(.ds2,.app) .mw{background:var(--maroon-d);border:1px solid #ffffff1f;border-radius:5px;align-items:center;gap:2px;height:18px;padding:0 5px;display:flex}:where(.ds2,.app) .mw b{background:#f3e9e9ab;border-radius:2px;width:2.5px;display:block}:where(.ds2,.app) .mtri{border-left:14px solid #0000;border-right:14px solid #0000;border-bottom:24px solid var(--sage-d);width:0;height:0}:where(.ds2,.app) .mhex{background:var(--maroon-d);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);width:24px;height:28px}:where(.ds2,.app) .mchip{color:#fff;background:var(--slate);border-radius:4px;padding:3px 8px;font-size:8px;font-weight:700;transform:skew(-12deg)}:where(.ds2,.app) .mchip.r{background:linear-gradient(#e0524b,#c93d37)}:where(.ds2,.app) .mchip span{display:block;transform:skew(12deg)}:where(.ds2,.app) .node{z-index:1;animation:7s ease-in-out infinite float;position:absolute}:where(.ds2,.app) .node.s2{animation-duration:9s;animation-delay:-2s}:where(.ds2,.app) .node.s3{animation-duration:8s;animation-delay:-4s}:where(.ds2,.app) .chip{font-size:var(--fs-label);color:#fff;border-radius:7px;padding:5px 12px;font-weight:700;transform:skew(-12deg);box-shadow:0 4px 10px -4px #0009}:where(.ds2,.app) .chip span{display:block;transform:skew(12deg)}:where(.ds2,.app) .chip.main{background:#1c1f26;border:1px solid #ffffff2b}:where(.ds2,.app) .chip.drums{background:linear-gradient(#e0524b,#c93d37)}:where(.ds2,.app) .chip.echo{background:#7a4a4c;border:1px solid #ffffff1f}:where(.ds2,.app) .chip.mu{background:linear-gradient(#46659b,#33508a)}:where(.ds2,.app) .chip.rev{background:linear-gradient(#3a4f86,#2c3f72)}:where(.ds2,.app) .wtile{border-radius:9px;align-items:center;gap:2px;height:34px;padding:7px;display:flex;box-shadow:0 5px 12px -5px #0009}:where(.ds2,.app) .wtile.maroon{background:var(--maroon-d);border:1px solid #ffffff1c}:where(.ds2,.app) .wtile.olive{background:#8a7c46;border:1px solid #ffffff1c}:where(.ds2,.app) .wtile b{background:#f3e9e9ab;border-radius:2px;width:2px;display:block}:where(.ds2,.app) .seq{background:radial-gradient(circle at 35% 30%,#8fae7c,#5f7d50);border:1px solid #ffffff26;border-radius:50%;grid-template-columns:repeat(3,1fr);gap:2.5px;width:42px;height:42px;padding:9px;display:grid;box-shadow:0 6px 14px -6px #0009,inset 0 1px #fff3}:where(.ds2,.app) .seq i{background:#26331d99;border-radius:50%}:where(.ds2,.app) .seq i.on{background:#f4f7ef;box-shadow:0 0 5px #ffffff80}:where(.ds2,.app) .tri{border-left:23px solid #0000;border-right:23px solid #0000;border-bottom:42px solid var(--sage-d);filter:drop-shadow(0 5px 10px #00000080);width:0;height:0}:where(.ds2,.app) .hex{background:var(--maroon-d);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);justify-content:center;align-items:center;gap:1.5px;width:38px;height:44px;display:flex;box-shadow:0 5px 12px -6px #0009}:where(.ds2,.app) .hex b{background:#f3e9e9ab;border-radius:2px;width:2px}:where(.ds2,.app) .heart{filter:drop-shadow(0 5px 10px #00000080);width:38px;height:38px;position:relative}:where(.ds2,.app) .heart:before,:where(.ds2,.app) .heart:after{content:"";background:radial-gradient(circle at 35% 30%,#8fae7c,#5f7d50);border:1px solid #ffffff26;border-radius:19px 19px 0 0;width:19px;height:29px;position:absolute;top:5px}:where(.ds2,.app) .heart:before{transform-origin:0 100%;left:19px;transform:rotate(-45deg)}:where(.ds2,.app) .heart:after{transform-origin:0 100%;left:19px;transform:rotate(45deg)}:where(.ds2,.app) .ccard{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;display:block}:where(.ds2,.app) .ct4{aspect-ratio:4/3;border-radius:var(--r-canvas);background:var(--canvas-bg);box-shadow:var(--shadow-card);transition:transform var(--t-fast),box-shadow var(--t-fast);background-repeat:no-repeat;background-origin:border-box;background-clip:border-box;border:1px solid #ffffff29;position:relative;overflow:hidden}@media (hover:hover){:where(.ds2,.app) .ccard .ct4:hover{transform:translateY(-3px);box-shadow:0 22px 40px -20px #000000e6}}:where(.ds2,.app) .dots{opacity:.14;z-index:0;background-image:radial-gradient(#fff 1px,#0000 1.3px);background-size:22px 22px;position:absolute;inset:0}:where(.ds2,.app) .ct4:after,:where(.ds2,.app) .inst:after{content:"";pointer-events:none;background:radial-gradient(130% 100% at 50% 35%,#0000 58%,#0006);position:absolute;inset:0}:where(.ds2,.app) .winbar{z-index:3;gap:5px;display:flex;position:absolute;top:9px;left:10px}:where(.ds2,.app) .winbar i{background:#ffffff2e;border-radius:50%;width:8px;height:8px}:where(.ds2,.app) .winbar i:first-child{background:#ff6a5e}:where(.ds2,.app) .winbar i:nth-child(2){background:#f5c451}:where(.ds2,.app) .winbar i:nth-child(3){background:#5fcf86}:where(.ds2,.app) .cn{font-weight:600;font-size:var(--fs-body);margin-top:10px;line-height:1.2}:where(.ds2,.app) .csub{color:var(--muted);font-size:var(--fs-meta);line-height:1.35;font-family:var(--font-mono);align-items:center;gap:9px;margin-top:2px;display:flex}:where(.ds2,.app) .inst{aspect-ratio:4/3;border-radius:var(--r-canvas);background:var(--canvas-bg);background-repeat:no-repeat;background-origin:border-box;background-clip:border-box;border:1px solid #ffffff29;position:relative;overflow:hidden;box-shadow:0 24px 50px -26px #000000d9}:where(.ds2,.app) .inst .gridlabel{z-index:3;font-size:10px;font-family:var(--font-mono);color:#fff6;position:absolute;top:11px;right:12px}:where(.ds2,.app) .brand{cursor:pointer;align-items:center;gap:10px;display:flex}:where(.ds2,.app) .logo{border-radius:var(--r-sm);background:var(--accent);place-items:center;width:30px;height:30px;display:grid}:where(.ds2,.app) .logo svg{width:14px;height:14px;fill:var(--accent-ink);transform:translate(1px)}:where(.ds2,.app) .logo.lg{border-radius:13px;width:44px;height:44px}:where(.ds2,.app) .logo.lg svg{width:20px;height:20px}:where(.ds2,.app) .logo-bare{width:30px;height:30px;color:var(--txt);place-items:center;display:grid}:where(.ds2,.app) .logo-bare svg{fill:currentColor;width:28px;height:28px}:where(.ds2,.app) .logo-bare.lg{width:44px;height:44px}:where(.ds2,.app) .logo-bare.lg svg{width:42px;height:42px}:where(.ds2,.app) .wordmark{font-family:var(--font-display);letter-spacing:-.5px;font-size:21px;font-weight:800}:where(.ds2,.app) .wordmark.lg{font-size:28px}:where(.ds2,.app) .nav-item{border-radius:var(--r-md);color:var(--muted);font-weight:600;font-size:var(--fs-body);cursor:pointer;font-family:var(--font-ui);text-align:left;width:100%;transition:var(--t-fast);background:0 0;border:none;align-items:center;gap:14px;padding:11px 13px;display:flex}:where(.ds2,.app) .nav-item svg{stroke:currentColor;fill:none;stroke-width:1.8px;flex-shrink:0;width:21px;height:21px}:where(.ds2,.app) .nav-item:hover{color:var(--txt);background:#ffffff0a}:where(.ds2,.app) .nav-item.active{color:var(--txt);background:var(--surface-2)}:where(.ds2,.app) .nav-item.active svg{stroke:var(--txt)}:where(.ds2,.app) .menu{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);min-width:216px;box-shadow:var(--shadow-pop);padding:6px}:where(.ds2,.app) .mhead{border-bottom:1px solid var(--line);align-items:center;gap:11px;margin-bottom:6px;padding:10px;display:flex}:where(.ds2,.app) .mhead .avatar{width:40px;height:40px}:where(.ds2,.app) .mhead b{font-size:var(--fs-body);display:block}:where(.ds2,.app) .mhead span{color:var(--muted);font-size:var(--fs-meta);font-family:var(--font-mono)}:where(.ds2,.app) .mi{border-radius:var(--r-sm);color:var(--txt);font-size:var(--fs-body);cursor:pointer;width:100%;font-weight:500;font-family:var(--font-ui);text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:10px 11px;display:flex}:where(.ds2,.app) .mi:hover{background:var(--surface-2)}:where(.ds2,.app) .mi svg{stroke:currentColor;fill:none;stroke-width:1.8px;width:17px;height:17px}:where(.ds2,.app) .mi.danger{color:var(--danger)}:where(.ds2,.app) .menu hr{border:none;border-top:1px solid var(--line);margin:6px 4px}:where(.ds2,.app) .overlay{background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-dialog);justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}:where(.ds2,.app) .overlay.open{display:flex}:where(.ds2,.app) .overlay.clear{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}:where(.ds2,.app) .modal{box-sizing:border-box;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);width:100%;max-width:380px;box-shadow:var(--shadow-pop);color:var(--txt);font-family:var(--font-ui);padding:24px;position:relative}:where(.ds2,.app) .modal .mtitle{justify-content:space-between;align-items:center;gap:12px;display:flex}:where(.ds2,.app) .modal .h2{margin:0}:where(.ds2,.app) .modal .x{width:32px;height:32px;color:var(--muted);cursor:pointer;transition:color var(--t-fast);background:0 0;border:0;flex-shrink:0;place-items:center;margin:-5px -6px -5px 0;padding:0;display:grid}:where(.ds2,.app) .modal .x:hover:not(:disabled){color:var(--txt)}:where(.ds2,.app) .modal .x:disabled{opacity:.4;cursor:default}:where(.ds2,.app) .modal .x svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;width:22px;height:22px}:where(.ds2,.app) .modal .msg{color:var(--muted);font-size:var(--fs-body);margin:8px 0 0;line-height:1.5}:where(.ds2,.app) .modal .field{margin-top:20px}:where(.ds2,.app) .modal .btn:disabled{opacity:.45;cursor:default;filter:none}:where(.ds2,.app) .modal-foot{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;display:flex}:where(.ds2,.app) .modal-foot .btn.danger{margin-right:auto}:where(.ds2,.app) .modal-foot .btn{white-space:nowrap}@media (width<=420px){:where(.ds2,.app) .modal-foot .btn{flex:100%}}@media (width<=768px) and (pointer:coarse){:where(.ds2,.app) .overlay.sheet{align-items:flex-end;padding:0}:where(.ds2,.app) .overlay.sheet>.modal{border-radius:var(--r-xl) var(--r-xl) 0 0;max-width:none;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));box-shadow:none;border-bottom:0}}:where(.ds2,.app) .sec{justify-content:space-between;align-items:baseline;margin:32px 0 16px;display:flex}:where(.ds2,.app) .sec a{color:var(--accent);font-size:var(--fs-meta);cursor:pointer;font-weight:600}:where(.ds2,.app) .dgrid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:32px 40px;display:grid}:where(.ds2,.app) .cgrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:32px 18px;display:grid}:where(.ds2,.app) .dub-link{color:inherit;text-decoration:none;display:block}:where(.ds2,.app) .empty{color:var(--muted);font-size:var(--fs-body);text-align:center;padding:48px 0}:where(.ds2,.app) .load-more{justify-content:center;min-height:1px;padding:24px 0;display:flex}:where(.ds2,.app) .loading-dots{color:var(--muted);font-size:var(--fs-body);font-family:var(--font-mono)}:where(.ds2,.app) .form-msg{font-size:var(--fs-meta);margin:8px 0 0}:where(.ds2,.app) .form-msg.err{color:var(--danger)}:where(.ds2,.app) .form-msg.ok{color:var(--ok)}:where(.ds2,.app) .page-h{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}:where(.ds2,.app) .page-h h1{font-family:var(--font-display);font-weight:700;font-size:var(--fs-h2);letter-spacing:-.6px;margin:0}:where(.ds2,.app) .page-h p{color:var(--muted);font-size:var(--fs-body);margin-top:4px}@media (width<=860px),(height<=500px){:where(.app) .page-h{display:none}}:where(.ds2,.app) .col-form{max-width:var(--col-form)}:where(.ds2,.app) .col-read{max-width:var(--col-read)}:where(.ds2,.app) .phead{align-items:center;gap:26px;margin-top:4px;display:flex}:where(.ds2,.app) .pava{border-radius:var(--r-full);width:104px;height:104px;font-family:var(--font-display);color:#fff;text-transform:uppercase;background:linear-gradient(135deg,var(--slate),var(--sage));background-position:50%;background-size:cover;border:2px solid #ffffff21;flex-shrink:0;place-items:center;font-size:42px;font-weight:800;display:grid;overflow:hidden}:where(.ds2,.app) .pname{font-family:var(--font-display);font-weight:700;font-size:var(--fs-h1);letter-spacing:-.6px}:where(.ds2,.app) .phandle{color:var(--muted);font-size:var(--fs-body);font-family:var(--font-mono);margin-top:2px}:where(.ds2,.app) .ptabs{gap:9px;margin:24px 0 18px;display:flex}:where(.ds2,.app) .ptab{font-size:var(--fs-body);color:var(--muted);border-radius:var(--r-full);cursor:pointer;background:var(--surface);border:1px solid var(--line);transition:var(--t-fast);padding:9px 18px;font-weight:600;text-decoration:none}:where(.ds2,.app) .ptab:hover{color:var(--txt)}:where(.ds2,.app) .ptab.active{color:var(--bg);background:var(--txt);border-color:var(--txt)}:where(.ds2,.app) .canvas-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}:where(.ds2,.app) .canvas-head h1{font-family:var(--font-display);font-weight:700;font-size:var(--fs-h1);letter-spacing:-.8px}:where(.ds2,.app) .canvas-head .csub2{color:var(--muted);font-size:var(--fs-meta);font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:10px;margin-top:5px;display:flex}:where(.ds2,.app) .csub2 a{color:var(--txt);text-decoration:none}:where(.ds2,.app) .csub2 a:hover{text-decoration:underline}:where(.ds2,.app) .chead-act{align-items:center;gap:10px;display:flex}@media (width<=600px){:where(.ds2,.app) .phead{text-align:center;flex-direction:column;align-items:center;gap:18px}:where(.ds2,.app) .pava{width:84px;height:84px;font-size:34px}:where(.ds2,.app) .pname,:where(.ds2,.app) .canvas-head h1{font-size:var(--fs-h2)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes sweep{0%{left:6%}to{left:96%}}@keyframes blink{50%{opacity:.2}}:root{--sa-top:var(--dub-safe-top,env(safe-area-inset-top,0px));--sa-right:var(--dub-safe-right,env(safe-area-inset-right,0px));--sa-bottom:var(--dub-safe-bottom,env(safe-area-inset-bottom,0px));--sa-left:var(--dub-safe-left,env(safe-area-inset-left,0px));--dub-side:0px;--dub-rail:0px;--dub-bottom:0px;--dub-gutter:20px;--dub-page-h-cap:calc(100dvh - 32px - var(--sa-top) - var(--dub-bottom));--dub-page-w-cap:calc(100vw - var(--dub-side) - var(--dub-rail) - 2 * var(--dub-gutter));--dub-frame-radius:16px;--dub-frame-border:1px;--dub-bed-transform:scale(1.15);--dub-bed-filter:saturate(1.35) brightness(.55);--dub-bed-filter-cssblur:blur(14px) saturate(1.35) brightness(.55)}@media (width>=861px) and (height>=501px){:root{--dub-rail:112px;--dub-side:228px}}.app{background:var(--bg);min-height:100dvh;color:var(--txt);flex-direction:column;display:flex}:where(.app) .topbar{z-index:var(--z-chrome);view-transition-name:hub-topbar;height:calc(56px + var(--sa-top));padding:var(--sa-top) max(18px,var(--sa-right)) 0 max(18px,var(--sa-left));background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}:where(.app) .body{flex:1;min-height:0;display:flex}:where(.app) .sidebar{width:228px;top:calc(56px + var(--sa-top));height:calc(100dvh - 56px - var(--sa-top));padding:16px 12px;padding-left:max(12px,var(--sa-left));border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:4px;display:flex;position:sticky;overflow-y:auto}:where(.app) .content{flex:1;min-width:0}:where(.app) .shell-wrap{max-width:1040px;padding:calc(28px + var(--sa-top)) 30px 96px;margin:0 auto}:where(.app) .bottomnav{display:none}@media (width<=860px),(height<=500px){:root{--dub-bottom:calc(56px + var(--sa-bottom))}:where(.app) .sidebar{display:none}:where(.app) .shell-wrap{padding:20px 16px calc(84px + var(--sa-bottom))}:where(.app) .bottomnav{z-index:var(--z-chrome);view-transition-name:hub-bottomnav;height:62px;padding:6px max(8px,var(--sa-right)) calc(8px + var(--sa-bottom)) max(8px,var(--sa-left));background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);display:flex;position:fixed;bottom:0;left:0;right:0}:where(.app) .bnav{color:var(--faint);cursor:pointer;font-family:var(--font-ui);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding-top:5px;display:flex}:where(.app) .bnav svg{stroke:currentColor;fill:none;stroke-width:1.8px;width:23px;height:23px}:where(.app) .bnav span{font-size:var(--fs-label);font-weight:600}:where(.app) .bnav.active{color:var(--txt)}:where(.app) .create-tab{color:var(--faint)}:where(.app) .cfab{border-radius:var(--r-full);background:var(--accent);place-items:center;width:46px;height:46px;margin-top:-12px;display:grid;box-shadow:0 10px 22px -8px #00000080}:where(.app) .cfab svg{width:22px;height:22px;stroke:var(--accent-ink);fill:none;stroke-width:2.6px}}:where(.app) .back-row{color:var(--muted);font-weight:600;font-size:var(--fs-body);cursor:pointer;width:fit-content;transition:var(--t-fast);align-items:center;gap:9px;margin-bottom:20px;display:none}:where(.app) .back-row:hover{color:var(--txt)}:where(.app) .back-row svg{stroke:currentColor;fill:none;stroke-width:2px;width:20px;height:20px}html[data-shell=standalone] :where(.app) .back-row,html[data-shell=tauri] :where(.app) .back-row{display:flex}html[data-tauri=desktop] :where(.app) .topbar{-webkit-app-region:drag;-webkit-user-select:none;user-select:none}html[data-tauri=desktop] :where(.app) .topbar button,html[data-tauri=desktop] :where(.app) .topbar a,html[data-tauri=desktop] :where(.app) .topbar .avatar,html[data-tauri=desktop] :where(.app) .topbar .menu-wrap{-webkit-app-region:no-drag}html[data-tauri=desktop][data-os=mac] :where(.app) .topbar .brand{margin-left:72px}html[data-electron=desktop] :where(.app) .topbar{-webkit-app-region:drag;-webkit-user-select:none;user-select:none}html[data-electron=desktop] :where(.app) .topbar button,html[data-electron=desktop] :where(.app) .topbar a,html[data-electron=desktop] :where(.app) .topbar .avatar,html[data-electron=desktop] :where(.app) .topbar .menu-wrap{-webkit-app-region:no-drag}html[data-electron=desktop][data-os=mac] :where(.app) .topbar .brand{margin-left:72px}.toaster.svelte-co82vq{z-index:var(--z-toast);pointer-events:none;flex-direction:column;gap:.5rem;max-width:min(380px,100vw - 2rem);display:flex;position:fixed}.toaster.top-right.svelte-co82vq{top:calc(var(--sa-top,0px) + 1rem);right:calc(var(--sa-right,0px) + 1rem);align-items:flex-end}.toaster.top-left.svelte-co82vq{top:calc(var(--sa-top,0px) + 1rem);left:calc(var(--sa-left,0px) + 1rem);align-items:flex-start}.toaster.bottom-right.svelte-co82vq{bottom:calc(var(--sa-bottom,0px) + 1rem);right:calc(var(--sa-right,0px) + 1rem);align-items:flex-end}.toaster.bottom-left.svelte-co82vq{bottom:calc(var(--sa-bottom,0px) + 1rem);left:calc(var(--sa-left,0px) + 1rem);align-items:flex-start}.toast.svelte-co82vq{pointer-events:auto;cursor:pointer;font-size:var(--fs-body);color:#f3f4f6;word-break:break-word;background:#1f2127;border:1px solid #34363d;border-radius:.5rem;padding:.7rem .9rem;line-height:1.35;box-shadow:0 4px 16px #00000059}.toast.error.svelte-co82vq{color:#fecaca;background:#2a1416;border-color:#7f1d1d}.toast.success.svelte-co82vq{color:#bbf7d0;background:#11251a;border-color:#166534}.toast.warning.svelte-co82vq{color:#fde68a;background:#2a2210;border-color:#854d0e}.toast.info.svelte-co82vq{color:#bae6fd;background:#14202e;border-color:#1e4e7b}body{background:var(--bg);color:var(--txt);font-family:var(--font-ui);margin:0}html[data-admin][data-theme=dark]{--bg:#1c0830}.shell.svelte-12qhfyh{max-width:1280px;margin:0 auto;padding:0 24px 48px}header.svelte-12qhfyh{justify-content:space-between;align-items:center;gap:16px;padding:20px 0 28px;display:flex}.brand.svelte-12qhfyh{color:var(--txt);letter-spacing:.02em;font-size:18px;font-weight:800;text-decoration:none}.who.svelte-12qhfyh{color:var(--muted);font-size:var(--fs-meta);align-items:center;gap:16px;display:flex}.who.svelte-12qhfyh a:where(.svelte-12qhfyh){color:var(--muted);text-decoration:none}@media (hover:hover){.who.svelte-12qhfyh a:where(.svelte-12qhfyh):hover{color:var(--txt)}}.handle.svelte-12qhfyh{font-family:var(--font-mono)}.gate.svelte-12qhfyh{text-align:center;max-width:420px;margin:12vh auto 0}.gate.svelte-12qhfyh h1:where(.svelte-12qhfyh){margin:0 0 8px;font-size:22px}.gate.svelte-12qhfyh p:where(.svelte-12qhfyh){color:var(--muted);font-size:var(--fs-body);margin:0 0 24px}.gate.svelte-12qhfyh .btn:where(.svelte-12qhfyh){align-items:center;padding:0 20px;text-decoration:none;display:inline-flex}@media (width<=600px){.shell.svelte-12qhfyh{padding:0 16px 32px}}
