.lp{max-width:1040px;margin-inline:auto;padding:1.2rem clamp(1.1rem,4vw,2rem) 4rem}.lp-nav{justify-content:space-between;align-items:center;padding:.6rem 0 2rem;display:flex}.lp-brand{font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:.55rem;font-size:1.35rem;font-weight:800;display:flex}.lp-brand-sub{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-size:.66rem;transform:translateY(-.35em)}.lp-logo{border-radius:9px;flex:none;width:30px;height:30px}.lp-cta{background:var(--accent);color:#fff;font-family:var(--font-display);border:none;border-radius:999px;padding:.6rem 1.1rem;font-size:.92rem;font-weight:800;text-decoration:none}.lp-cta.lg{padding:.85rem 1.6rem;font-size:1.05rem}.lp-hero{padding:1rem 0 2rem}.lp-eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 .8rem;font-size:.7rem}.lp-h1{margin:0 0 1rem;font-size:clamp(1.9rem,5vw,2.9rem);font-weight:800;line-height:1.08}.lp-accent{color:var(--accent)}.lp-lead{color:var(--ink-soft);margin:0;font-size:1.05rem}.lp-lead a{color:var(--accent)}.lp-actions{gap:.7rem;margin:1.4rem 0 .6rem;display:flex}.lp-note{font-family:var(--font-mono);color:var(--ink-faint);margin:0;font-size:.74rem}.lp-section{padding:2rem 0}.lp-h2{margin:0 0 1.2rem;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:800}.lp-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.9rem;display:grid}.lp-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:1.1rem}.lp-card h3{margin:0 0 .35rem;font-size:1rem;font-weight:800}.lp-card p{color:var(--ink-soft);margin:0;font-size:.9rem}.lp-footer{flex-direction:column;align-items:flex-start;gap:.5rem;padding-top:2rem;display:flex}.lp-footer p{color:var(--ink-soft);margin:0;font-size:.9rem}.lp-footer a{color:var(--accent);font-size:.9rem}.lp-stamp{font-family:var(--font-mono);color:var(--ink-faint);font-size:.7rem}.lp-machine{padding-top:0}.lp-fig .iso-figure{margin:0}.lp-fig .iso-plate{border-radius:var(--radius);box-shadow:0 0 0 1px var(--line)}.lp-fig .iso-stage{touch-action:pan-y;cursor:pointer;border-radius:12px}.lp-fig .iso-stage:focus-visible{outline:2px solid var(--focus);outline-offset:6px}.lp-fig.iso[data-theme=light]{--anatomy-page:var(--paper);--anatomy-card:var(--card);--anatomy-paper:var(--card);--anatomy-text:#6b6259;--anatomy-strong:#1a1613;--anatomy-muted:#9c9287;--anatomy-face:#fffefb;--anatomy-top:#fffefb;--anatomy-shade-0:#e2dcd1;--anatomy-shade-1:#eae5dc;--anatomy-shade-2:#f1ede6;--anatomy-shade-3:#f7f4ee;--anatomy-lit-top:#eaf5ee;--anatomy-lit-shade:#d8ede0;--anatomy-hi:#1a1613;--anatomy-mid:#8c8379;--anatomy-lo:#b7afa4;--anatomy-faint:#d8d1c6;--anatomy-lit:#2f7356;--anatomy-dot:#3a332d;--anatomy-halo:#8a7e70}.lp-fig.iso[data-theme=dark]{--anatomy-page:var(--paper);--anatomy-card:var(--card);--anatomy-paper:var(--card);--anatomy-text:#b5aa9c;--anatomy-strong:#f4efe7;--anatomy-muted:#7e7467;--anatomy-face:#2a251f;--anatomy-top:#2c2721;--anatomy-shade-0:#1c1915;--anatomy-shade-1:#201c18;--anatomy-shade-2:#24201b;--anatomy-shade-3:#28231e;--anatomy-lit-top:#1f3328;--anatomy-lit-shade:#1a2b22;--anatomy-hi:#ede6dc;--anatomy-mid:#8a8075;--anatomy-lo:#554d44;--anatomy-faint:#3a342d;--anatomy-lit:#6ccb9c;--anatomy-dot:#ede6dc}.lp-fig .iso-legend{color:var(--ink-soft)}@media (width<=560px){.lp-fig .iso-plate{overflow:hidden}.lp-fig .iso-svg{width:116%;margin-left:-8%}}a.lp-brand-sub{text-decoration:none}a.lp-brand-sub:hover{color:var(--ink-soft)}.lp-fig .iso-stage[aria-pressed=true]{box-shadow:0 0 0 2px var(--accent)}.iso{--anatomy-page:#0b0b0b;--anatomy-card:#131313;--anatomy-text:#a3a3a3;--anatomy-strong:#e6e6e6;--anatomy-muted:#6e6e6e;--anatomy-paper:#131313;--anatomy-face:#1b1b1b;--anatomy-top:#1c1c1c;--anatomy-shade-0:#0f0f0f;--anatomy-shade-1:#121212;--anatomy-shade-2:#151515;--anatomy-shade-3:#181818;--anatomy-lit-top:#262626;--anatomy-lit-shade:#1d1d1d;--anatomy-hi:#d4d4d4;--anatomy-mid:#6a6a6a;--anatomy-lo:#3e3e3e;--anatomy-faint:#2a2a2a;--anatomy-lit:#fff;--anatomy-halo:#050505;--anatomy-halo-opacity:.9;--anatomy-dot:#e6e6e6;--anatomy-red:#ff6b6b;--anatomy-green:#6be0a0;--anatomy-blue:#6b9bff;--anatomy-weight:.6px;--anatomy-ease:cubic-bezier(.32,.72,0,1);--anatomy-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--anatomy-lift:inset 0 1px 0 0 #ffffff0a,inset 0 0 0 1px #ffffff06,0 0 0 1px #00000026,0 1px 1px -.5px #00000014,0 3px 3px -1.5px #00000014,0 6px 6px -3px #00000014,0 12px 12px -6px #00000014}.iso[data-theme=light]{--anatomy-page:#f2f2ef;--anatomy-card:#fbfbfa;--anatomy-text:#57575a;--anatomy-strong:#18181a;--anatomy-muted:#8c8c90;--anatomy-paper:#fbfbfa;--anatomy-face:#fff;--anatomy-top:#fff;--anatomy-shade-0:#dcdcd9;--anatomy-shade-1:#e5e5e2;--anatomy-shade-2:#ededea;--anatomy-shade-3:#f4f4f1;--anatomy-lit-top:#fff;--anatomy-lit-shade:#eeeeeb;--anatomy-hi:#26262a;--anatomy-mid:#8a8a8f;--anatomy-lo:#b4b4b8;--anatomy-faint:#d4d4d6;--anatomy-lit:#000;--anatomy-halo:#8a8a80;--anatomy-halo-opacity:.32;--anatomy-dot:#3a3a3e;--anatomy-red:#e5484d;--anatomy-green:#30a46c;--anatomy-blue:#3e63dd;--anatomy-lift:inset 0 1px 0 0 #fff,0 0 0 1px #0000000f,0 1px 1px -.5px #0000000a,0 3px 3px -1.5px #0000000a,0 6px 6px -3px #0000000a,0 12px 12px -6px #0000000a}.iso-svg{width:100%;height:auto;display:block;overflow:visible}.iso-svg path,.iso-svg circle{vector-effect:non-scaling-stroke}.iso-fill{fill:var(--anatomy-paper);stroke:none}.iso-solid[data-lit]>.iso-fill{fill:var(--anatomy-face)}.iso-shade,.iso-top{stroke:none}.iso-shade[data-shade="0"]{fill:var(--anatomy-shade-0)}.iso-shade[data-shade="1"]{fill:var(--anatomy-shade-1)}.iso-shade[data-shade="2"]{fill:var(--anatomy-shade-2)}.iso-shade[data-shade="3"]{fill:var(--anatomy-shade-3)}.iso-top{fill:var(--anatomy-top)}.iso-solid[data-lit]>.iso-top{fill:var(--anatomy-lit-top)}.iso-solid[data-lit]>.iso-shade{fill:var(--anatomy-lit-shade)}.iso-solid[data-seamless]>.iso-shade,.iso-solid[data-seamless]>.iso-top{stroke-width:.4px;stroke-linejoin:round}.iso-solid[data-seamless]>.iso-shade[data-shade="0"]{stroke:var(--anatomy-shade-0)}.iso-solid[data-seamless]>.iso-shade[data-shade="1"]{stroke:var(--anatomy-shade-1)}.iso-solid[data-seamless]>.iso-shade[data-shade="2"]{stroke:var(--anatomy-shade-2)}.iso-solid[data-seamless]>.iso-shade[data-shade="3"]{stroke:var(--anatomy-shade-3)}.iso-solid[data-seamless]>.iso-top{stroke:var(--anatomy-top)}.iso-solid[data-seamless][data-lit]>.iso-top{stroke:var(--anatomy-lit-top)}.iso-solid[data-seamless][data-lit]>.iso-shade{stroke:var(--anatomy-lit-shade)}.iso-solid[data-lit]>.iso-edge{stroke:var(--anatomy-lit)}.iso-halo{fill:var(--anatomy-halo);stroke:none;filter:blur(9px);opacity:var(--anatomy-halo-opacity);transform:translateY(3px)}.iso-line{fill:none;stroke:var(--anatomy-lo);stroke-width:var(--anatomy-weight);stroke-linecap:round;stroke-linejoin:round}.iso-line[data-tone=hi]{stroke:var(--anatomy-hi)}.iso-line[data-tone=mid]{stroke:var(--anatomy-mid)}.iso-line[data-tone=lo]{stroke:var(--anatomy-lo)}.iso-line[data-tone=faint]{stroke:var(--anatomy-faint)}.iso-line[data-tone=lit]{stroke:var(--anatomy-lit)}.iso-line[data-tone=red]{stroke:var(--anatomy-red)}.iso-line[data-tone=green]{stroke:var(--anatomy-green)}.iso-line[data-tone=blue]{stroke:var(--anatomy-blue)}.iso-line[data-dotted]{stroke-dasharray:.01 3.5;stroke-width:1px}.iso-line[data-dashed]{stroke-dasharray:3 3}.iso-line[data-flow]{stroke-dasharray:2 6}.iso-wire-end{fill:var(--anatomy-paper);stroke:var(--anatomy-lo);stroke-width:var(--anatomy-weight)}.iso-wire[data-tone=hi] .iso-wire-end{stroke:var(--anatomy-hi)}.iso-wire[data-tone=mid] .iso-wire-end{stroke:var(--anatomy-mid)}.iso-wire[data-tone=faint] .iso-wire-end{stroke:var(--anatomy-faint)}.iso-wire[data-tone=lit] .iso-wire-end{stroke:var(--anatomy-lit)}.iso-dots circle{fill:var(--anatomy-dot);stroke:none;opacity:.32}.iso-dots[data-tone=hi] circle{opacity:.85}.iso-dots[data-tone=mid] circle{opacity:.45}.iso-dots[data-tone=lo] circle{opacity:.22}.iso-dots[data-tone=faint] circle{opacity:.12}.iso-face-text{fill:var(--anatomy-mid);font-family:var(--anatomy-mono);letter-spacing:.04em}.iso-face-text[data-tone=hi]{fill:var(--anatomy-hi)}.iso-face-text[data-tone=lo]{fill:var(--anatomy-lo)}.iso-face-text[data-tone=faint]{fill:var(--anatomy-faint)}.tb-body{fill:var(--anatomy-shade-2);stroke:none}.tb-shine{fill:var(--anatomy-top);stroke:none}.tb-shade{fill:var(--anatomy-shade-0);stroke:none}.tb-ring{fill:none;stroke:var(--anatomy-lo);stroke-width:.45px;stroke-linecap:butt;stroke-linejoin:round}.tb-ring[data-tone=mid]{stroke:var(--anatomy-mid)}.tb-ring[data-tone=faint]{stroke:var(--anatomy-faint)}.tb-ring[data-tone=hi]{stroke:var(--anatomy-hi)}@keyframes iso-flow{to{stroke-dashoffset:-32px}}@keyframes iso-pulse{0%,to{opacity:.18}12%{opacity:1}40%{opacity:.18}}.iso-line[data-flow]{animation:1.6s linear infinite iso-flow}.iso-dots circle[data-pulse]{animation:1.6s step-end infinite iso-pulse;animation-delay:var(--pulse-at,0s)}.iso-figure{margin:32px 0 36px}.iso-plate{background:var(--anatomy-card);box-shadow:0 0 0 1px var(--anatomy-mid);--anatomy-paper:var(--anatomy-card);border-radius:0;padding:52px 24px;position:relative}.iso-plate-corners{pointer-events:none;position:absolute;inset:18px 20px}.iso-plate-corner{color:var(--anatomy-muted);font-family:var(--anatomy-mono);letter-spacing:.04em;white-space:nowrap;font-size:10.5px;line-height:1;position:absolute}.iso-plate-corner[data-corner=fig]{color:var(--anatomy-text);top:0;left:0}.iso-plate-corner[data-corner=title]{text-transform:uppercase;letter-spacing:.1em;top:0;right:0}.iso-plate-corner[data-corner=hint]{text-transform:uppercase;letter-spacing:.1em;bottom:0;left:0}.iso-plate-corner[data-corner=readout]{color:var(--anatomy-text);font-variant-numeric:tabular-nums;bottom:0;right:0}.iso-plate .iso-svg{margin:0 auto}.iso-legend{color:var(--anatomy-muted);gap:8px;margin-top:12px;font-size:13px;line-height:1.55;display:grid}.iso-keys{flex-wrap:wrap;gap:6px 18px;display:flex}.iso-key{align-items:center;gap:7px;display:inline-flex}.iso-swatch{flex:none;width:16px;height:10px;overflow:visible}.iso-swatch path{fill:none;stroke:var(--anatomy-hi);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.iso-swatch[data-mark=raised] path,.iso-swatch[data-mark=flat] path{stroke:var(--anatomy-mid)}.iso-swatch[data-mark=lit] path{stroke:var(--anatomy-lit)}.iso-swatch[data-mark=dim] path{stroke:var(--anatomy-lo)}.iso-swatch[data-mark=dotted] path{stroke-dasharray:.01 3;stroke-width:1.4px}.iso-swatch[data-mark=dashed] path{stroke-dasharray:3 2.5}.iso-swatch[data-mark=red] path{stroke:var(--anatomy-red)}.iso-swatch[data-mark=green] path{stroke:var(--anatomy-green)}.iso-swatch[data-mark=blue] path{stroke:var(--anatomy-blue)}.iso-swatch-crease{stroke:var(--anatomy-lo)!important}@media (width<=560px){.iso-plate{padding:48px 12px 70px}.iso-plate-corner[data-corner=hint]{bottom:18px}}@media (prefers-reduced-motion:reduce){.iso-line[data-flow],.iso-dots circle[data-pulse]{animation:none}}.set-card,.set-group{background:var(--surface,var(--card));border:1px solid var(--line);border-radius:var(--radius-sm,14px);overflow:hidden}.set-row{flex-direction:column;gap:.45rem;padding:.85rem .9rem;display:flex}.set-row+.set-row{border-top:1px solid var(--line)}.set-label{font-family:var(--font-display);font-size:.95rem;font-weight:700}.seg-group{background:var(--paper-2);border:1px solid var(--line);border-radius:999px;gap:.2rem;padding:.25rem;display:flex}.seg{font-family:var(--font-display);color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;padding:.45rem .5rem;font-size:.9rem;font-weight:700}.seg.on{background:var(--surface,var(--card));color:var(--ink);box-shadow:var(--shadow-sm)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:#f5f2ec;--paper-2:#ede8df;--card:#fffdf9;--ink:#1a1613;--ink-soft:#6b6259;--ink-faint:#9c9287;--line:#e3dcd0;--line-strong:#d2c9ba;--accent:#2f7356;--mark:#e8a33d;--mark-soft:#fff3dc;--good:#2e7d5b;--paper-roll:#fbf4e2;--focus:#7a5cff;--tint:color-mix(in srgb, var(--accent) 9%, var(--card));--font-display:ui-rounded, "SF Pro Rounded", "Hiragino Maru Gothic ProN", system-ui, sans-serif;--font-body:ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--radius:22px;--radius-sm:14px;--shadow-sm:0 1px 2px #1a16130f, 0 4px 14px #1a16130d;--shadow-md:0 2px 6px #1a161314, 0 18px 40px #1a16131a}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#151310;--paper-2:#1d1a16;--card:#221e19;--ink:#f4efe7;--ink-soft:#b5aa9c;--ink-faint:#7e7467;--line:#302b24;--line-strong:#3e382f;--accent:#6ccb9c;--mark:#ffc46b;--mark-soft:#33291a;--good:#6bd3a0;--paper-roll:#2a2419;--shadow-sm:0 1px 2px #0006, 0 4px 14px #00000059;--shadow-md:0 2px 6px #00000073, 0 18px 40px #00000080}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font-variant-numeric:tabular-nums;font-family:var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain;margin:0;line-height:1.5;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin:0}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;font-family:inherit}input{font-family:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:8px}.app,.lp{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.lp-lead,.lp-card p{-webkit-user-select:text;user-select:text}.app{flex-direction:column;width:100%;min-width:0;max-width:640px;min-height:100%;margin-inline:auto;display:flex}.app.at-compose{max-width:880px}.topbar{padding:max(1rem, env(safe-area-inset-top)) 1.2rem .8rem;z-index:20;background:color-mix(in srgb, var(--paper) 86%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);backdrop-filter:saturate(1.4)blur(12px);align-items:center;gap:.6rem;display:flex;position:sticky;top:0}.brand{color:inherit;font-family:var(--font-display);letter-spacing:-.02em;background:0 0;border:none;align-items:center;gap:.55rem;margin-right:auto;padding:0;font-size:1.4rem;font-weight:800;text-decoration:none;display:flex}.brand .logo{border-radius:9px;flex:none;width:30px;height:30px}.brand-sub{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-size:.68rem;transform:translateY(-.35em)}main{flex:1;padding:22px 18px 24px}.screen{gap:16px;min-width:0;display:grid}.screen>*{min-width:0}.screen-h{font-size:clamp(1.4rem,4.6vw,1.8rem)}.lead{color:var(--ink-soft);margin:-8px 0 0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);min-width:0;padding:15px}.card>*{min-width:0}.card>h2{font-size:1.02rem}.eyebrow{color:var(--ink-faint);letter-spacing:.12em;text-transform:uppercase;font-size:.64rem;font-weight:700}.chips{flex-wrap:wrap;gap:7px;display:flex}.chip{border:1px solid var(--line-strong);background:var(--card);color:var(--ink);border-radius:99px;padding:7px 12px;font-size:.84rem;font-weight:600}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--card)}.setting{gap:9px;display:grid}.setting h2{font-size:.95rem}.about{color:var(--ink-soft);margin:0;font-size:.9rem}.build{color:var(--ink-faint);font-size:.75rem;font-family:var(--font-mono)}.crash{text-align:center;max-width:420px;margin:20vh auto;padding:0 20px}.crash button{border:1px solid var(--accent);background:var(--accent);color:var(--card);border-radius:10px;margin-top:12px;padding:10px 16px;font-weight:700}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}@media (width<=420px){.tiles{grid-template-columns:repeat(3,1fr)}}.topbar{min-height:64px}.icon-btn,.back-btn{border:1px solid var(--line);background:var(--card);width:46px;height:46px;color:var(--ink-soft);box-shadow:var(--shadow-sm);border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.back-btn{color:var(--ink)}.icon-btn:hover,.back-btn:hover{border-color:var(--line-strong);color:var(--ink)}.room-badge{background:var(--tint);border-radius:12px;flex:none;place-items:center;width:52px;height:40px;display:grid}.room-badge .door-art{width:46px;height:auto}.room-title{letter-spacing:-.02em;font-size:1.45rem;font-weight:800}main{padding-top:6px}.hello{align-items:center;gap:.9rem;margin-top:.2rem;display:flex}.hello h2{letter-spacing:-.02em;font-size:1.6rem;font-weight:800}.hello p{color:var(--ink-soft);margin:.15rem 0 0;font-size:.95rem}.trail{flex-wrap:wrap;gap:.5rem;display:flex}.trail span{background:var(--card);border:1px solid var(--line);min-width:120px;font-family:var(--font-display);color:var(--ink-soft);border-radius:14px;flex-wrap:wrap;flex:1 1 0;align-items:baseline;gap:.25rem;padding:.5rem .7rem;display:flex}.trail b{color:var(--ink);font-size:1.25rem}.trail small{font-size:.72rem;font-family:var(--font-body);color:var(--ink-faint);flex-basis:100%}.trail i{margin-right:.1rem;font-style:normal}.trail-star{color:var(--mark)}.trail-dot{color:var(--accent)}.doors{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.door{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:inherit;box-shadow:var(--shadow-sm);flex-direction:column;align-items:flex-start;gap:.1rem;padding:.7rem .9rem .85rem;transition:transform .15s,border-color .15s;display:flex}.door:hover{border-color:var(--line-strong)}.door:active{transform:scale(.97)}.door .door-art{background:var(--tint);border-radius:14px;width:100%;height:auto;max-height:120px;margin-bottom:.2rem}.door b{font-family:var(--font-display);font-size:1.2rem;font-weight:800}.door span{color:var(--ink-soft);font-size:.8rem;line-height:1.35}.doors .door:last-child:nth-child(odd){grid-column:1/-1}.doors .door:last-child:nth-child(odd) .door-art{max-height:110px}@media (width>=700px){.doors{grid-template-columns:repeat(3,minmax(0,1fr))}.doors .door:last-child:nth-child(odd){grid-column:auto}}.door-art .dot{animation:4.8s ease-in-out infinite dot-in}.door-art .d1{animation-delay:.3s}.door-art .d2{animation-delay:.6s}.door-art .d3{animation-delay:.9s}.door-art .d4{animation-delay:1.2s}.door-art .d5{animation-delay:1.5s}@keyframes dot-in{0%,6%{opacity:.1}20%,84%{opacity:1}96%,to{opacity:.1}}.door-art .playhead{animation:4.8s linear infinite sweep-x}@keyframes sweep-x{0%{transform:translate(0)}to{transform:translate(86px)}}.door-art .slide-in{animation:4.2s ease-in-out infinite slide-in}@keyframes slide-in{0%,15%{transform:translateY(-6px)}45%,80%{opacity:.25;transform:translateY(26px)}to{transform:translateY(-6px)}}.door-art .tooth{transform-box:fill-box;transform-origin:top;animation:3.2s ease-in-out infinite twang}.door-art .t1{animation-delay:.4s}.door-art .t2{animation-delay:.8s}.door-art .t3{animation-delay:1.2s}.door-art .t4{animation-delay:1.6s}.door-art .t5{animation-delay:2s}.door-art .t6{animation-delay:2.4s}.door-art .t7{animation-delay:2.8s}@keyframes twang{0%,8%,to{transform:none}3%{transform:skew(6deg)}5%{transform:skew(-4deg)}}.door-art .ring{animation:1.6s ease-in-out infinite twinkle}@keyframes twinkle{0%,to{opacity:.2}50%{opacity:1}}.lilt-face .flag{transform-box:fill-box;transform-origin:0 0;animation:2.6s ease-in-out infinite wave}@keyframes wave{0%,70%,to{transform:none}80%{transform:rotate(-10deg)}90%{transform:rotate(6deg)}}.room-badge .door-art *{opacity:1!important;animation:none!important;transform:none!important}.goal{flex-direction:column;gap:.3rem;display:flex}.goal-line{font-family:var(--font-display);text-wrap:balance;margin:0;font-size:1.12rem;font-weight:700;line-height:1.35}.goal-more{color:var(--accent);background:0 0;border:none;align-self:flex-start;padding:.1rem 0;font-size:.82rem;font-weight:700}.goal-text{color:var(--ink-soft);background:var(--card);border:1px solid var(--line);-webkit-user-select:text;user-select:text;border-radius:14px;padding:.65rem .85rem;font-size:.88rem;line-height:1.55}.bubble{align-items:flex-start;gap:.6rem;display:flex}.bubble .lilt-face{flex:none;margin-top:.1rem}.bubble p{background:var(--card);border:1px solid var(--line);min-width:0;min-height:2.6em;color:var(--ink-soft);overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;border-radius:4px 16px 16px;flex:1;margin:0;padding:.55rem .8rem;font-size:.92rem;line-height:1.45;position:relative}.bubble b{color:var(--ink);font-family:var(--font-display)}.lilt-face.wow{animation:.45s hop}@keyframes hop{40%{transform:translateY(-5px)rotate(-4deg)}}.found-note{font-family:var(--font-display);color:var(--accent);margin:0;font-weight:800}.pick-row{scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:.5rem;margin-inline:-.1rem;padding:.15rem .1rem .35rem;display:flex;overflow-x:auto}.pick-row::-webkit-scrollbar{display:none}.pick{scroll-snap-align:start;background:var(--card);border:1.5px solid var(--line);min-width:78px;color:var(--ink);border-radius:16px;flex-direction:column;flex:none;align-items:center;gap:.15rem;padding:.45rem .55rem .4rem;transition:transform .12s,border-color .12s;display:flex}.pick:active{transform:scale(.95)}.pick.on{border-color:var(--accent);background:var(--tint);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.pick-art{place-items:center;min-height:38px;display:grid}.pick-label{white-space:nowrap;font-size:.76rem;font-weight:700}.pick-row.sm .pick{border-radius:999px;flex-direction:row;gap:.4rem;min-width:0;padding:.3rem .75rem .3rem .4rem}.pick-row.sm .pick-art{min-height:28px}.pick-row.sm .pick-label{font-size:.85rem;font-family:var(--font-mono)}.stars{letter-spacing:.05em;color:var(--line-strong);font-size:.9rem}.stars.small{font-size:.7rem}.stars i{font-style:normal}.stars i.on{color:var(--mark)}.sticker-count{font-family:var(--font-display);color:var(--ink-soft);align-items:center;gap:.6rem;margin:0;font-size:.88rem;font-weight:700;display:flex}.meter{background:var(--paper-2);border-radius:99px;flex:1;max-width:220px;height:10px;overflow:hidden}.meter i{background:var(--mark);border-radius:99px;height:100%;display:block}.coach{pointer-events:none;place-items:center;animation:.5s .6s both coach-in;display:grid;position:absolute;inset:0}@keyframes coach-in{0%{opacity:0}}.coach-path{fill:none;width:min(150px,42%);height:auto;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;opacity:.45;position:absolute}.coach-dot{background:color-mix(in srgb, var(--accent) 30%, transparent);border:2.5px solid var(--accent);width:30px;height:30px;box-shadow:0 0 0 8px color-mix(in srgb, var(--accent) 10%, transparent);border-radius:50%;position:absolute}.coach-label{font-family:var(--font-display);color:var(--accent);background:var(--paper);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));border-radius:999px;padding:.2rem .7rem;font-size:.85rem;font-weight:800;position:absolute;bottom:12px}.coach.slide .coach-dot{animation:2.4s ease-in-out infinite c-slide}.coach.tap .coach-dot{animation:1.4s ease-in-out infinite c-tap}@keyframes c-slide{0%,to{transform:translate(-50px)}50%{transform:translate(50px)}}@keyframes c-tap{0%,to{transform:scale(1)}50%{transform:scale(.7)}}.coach.still .coach-dot{animation:none}.celebrate{pointer-events:none;z-index:70;position:fixed;inset:0;overflow:hidden}.celebrate .bit{color:var(--mark);font-family:var(--font-display);font-weight:800;animation-name:bit-fall;animation-timing-function:cubic-bezier(.2,.6,.4,1);animation-fill-mode:forwards;position:absolute;top:34%}.celebrate .bit.green{color:var(--accent)}@keyframes bit-fall{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--dx), var(--dy)) rotate(var(--rot));opacity:0}}@media (prefers-reduced-motion:reduce){.door-art *,.lilt-face,.lilt-face .flag{animation:none!important}.door-art .dot{opacity:1}}a.brand-sub{text-decoration:none}a.brand-sub:hover{color:var(--ink-soft)}.brand:has(+.brand-sub){margin-right:0}.brand+.brand-sub{margin-right:auto}.trail-mark{color:var(--accent)}.part-title{font-size:1.05rem;font-weight:800}.part-lead{color:var(--ink-soft);margin:0;font-size:.88rem}.borrow{gap:.5rem;margin-top:.4rem;display:grid}.pick-row.sm .pick-label{font-family:var(--font-body);font-weight:700}.compose-part{gap:.45rem;display:grid}.roll-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:10px 6px 8px;position:relative}.roll-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;overflow-x:auto}.roll{--cell:clamp(30px, calc((100vw - 96px) / 16), 46px);background:var(--paper-roll);border-radius:14px;gap:2px;width:max-content;margin-inline:auto;padding:8px 10px 6px;display:grid}.roll-row,.roll-ruler{grid-template-columns:2.6em repeat(16, var(--cell));align-items:center;gap:2px;display:grid}.roll-ruler span{text-align:center;font-family:var(--font-mono);color:var(--ink-faint);font-size:.66rem}.roll-label{font-family:var(--font-display);text-align:right;background:var(--paper-roll);z-index:1;padding-right:.35em;font-size:.8rem;font-weight:800;position:sticky;left:0}.cell{height:var(--cell);width:var(--cell);background:0 0;border:none;border-radius:9px;place-items:center;padding:0;display:grid;position:relative}.cell:before{content:"";border:1px solid var(--line);border-radius:9px;position:absolute;inset:0}.cell.beat:before{border-left:2px solid var(--line-strong)}.cell i{background:var(--line-strong);opacity:.5;border-radius:50%;width:34%;height:34%;transition:transform .12s}.cell[aria-pressed=true] i{background:var(--dot);opacity:1;width:64%;height:64%;box-shadow:inset 0 -2px #00000026}.cell:active i{transform:scale(.8)}.cell.now{background:color-mix(in srgb, var(--accent) 16%, transparent)}.cell.now[aria-pressed=true] i{transform:scale(1.18)}.roll-foot{font-family:var(--font-mono);color:var(--ink-faint);letter-spacing:.04em;justify-content:space-between;gap:1rem;padding:.3rem 0 0 2.8em;font-size:.64rem;display:flex}.transport{flex-wrap:wrap;align-items:center;gap:.8rem 1rem;display:flex}.play-btn{background:var(--accent);min-height:56px;color:var(--card);font-family:var(--font-display);box-shadow:var(--shadow-sm);border:none;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1.4rem;font-size:1.12rem;font-weight:800;display:inline-flex}.play-btn.on{background:var(--ink)}.play-btn:active{transform:scale(.97)}.tempo{flex:220px;gap:2px;display:grid}.tempo>span:first-child{color:var(--ink-soft);gap:.4rem;font-size:.82rem;display:flex}.tempo b{font-family:var(--font-mono);color:var(--accent)}.tempo input{width:100%;accent-color:var(--accent);min-height:32px}.tempo-ends{color:var(--ink-faint);justify-content:space-between;display:flex}.tools{flex-wrap:wrap;gap:.5rem;display:flex}.tool-btn{border:1px solid var(--line-strong);background:var(--card);min-height:44px;color:var(--ink);border-radius:999px;padding:.45rem 1rem;font-size:.9rem;font-weight:700}.tool-btn:disabled{opacity:.45;cursor:default}.save-form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);gap:.4rem;padding:12px 14px;display:grid}.save-form label{font-family:var(--font-display);font-size:.95rem;font-weight:800}.save-row{flex-wrap:wrap;gap:.5rem;display:flex}.save-row input{border:1px solid var(--line-strong);background:var(--paper);min-width:0;min-height:46px;color:var(--ink);border-radius:12px;flex:180px;padding:.5rem .8rem;font-size:16px}.save-btn{background:var(--accent);min-height:46px;color:var(--card);border:none;border-radius:12px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1.1rem;font-weight:800;display:inline-flex}.tune-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;display:grid}.tune-card{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);color:inherit;box-shadow:var(--shadow-sm);flex-direction:column;align-items:flex-start;gap:.25rem;padding:.6rem .7rem .7rem;display:flex}.tune-card:active{transform:scale(.97)}.tune-card .roll-pic{width:100%;height:auto}.tune-card b{font-family:var(--font-display);overflow-wrap:anywhere;font-size:.98rem}.tune-card span{color:var(--ink-soft);font-size:.76rem}.tune-card.borrowed{border-style:dashed}.tunes-empty{text-align:center;justify-items:center;gap:.5rem;padding:1.2rem;display:grid}.tunes-empty p{font-family:var(--font-display);margin:0;font-weight:700}.device-note{font-family:var(--font-mono);color:var(--ink-faint);margin:-.4rem 0 0;font-size:.66rem}.meter i{background:var(--accent)}.comb-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px 14px 18px;position:relative}.comb-base{background:linear-gradient(var(--line), var(--paper-2));border:1px solid var(--line-strong);border-radius:8px 8px 4px 4px;justify-content:space-around;align-items:center;height:30px;display:flex}.comb-base i{background:var(--line-strong);border-radius:50%;width:7px;height:7px;box-shadow:inset 0 1px 1px #00000040}.comb{grid-template-columns:repeat(8,minmax(0,1fr));align-items:start;gap:6px;padding:0 4px;display:grid}.tooth{background:linear-gradient(90deg, color-mix(in srgb, var(--dot) 82%, #fff), var(--dot) 60%);transform-origin:top;border:none;border-radius:0 0 10px 10px;justify-content:center;align-items:flex-end;padding:0;display:flex;position:relative}.tooth span{color:#fff;font-family:var(--font-display);text-shadow:0 1px 1px #0000004d;padding-bottom:6px;font-size:.78rem;font-weight:800}.tooth.ringing{animation:.6s ease-out tooth-ring}@keyframes tooth-ring{0%{transform:skew(0)}15%{transform:skew(7deg)}35%{transform:skew(-5deg)}55%{transform:skew(3deg)}75%{transform:skew(-1.5deg)}to{transform:skew(0)}}@media (prefers-reduced-motion:reduce){.tooth.ringing{animation:.4s ease-out tooth-glow}@keyframes tooth-glow{50%{filter:brightness(1.25)}}}.screen.compose .bubble p{min-height:4.2em}@media (orientation:landscape) and (width>=740px){.app.at-home{max-width:960px}}.borrow .tune-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.borrow .tune-card{width:100%}.borrow .tune-card svg{width:100%;height:auto}
