:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e6ebe8;--surface:#fafbfa;--surface-2:#eff3f0;--sunken:#e4eae7;--line:#d2dbd6;--line-soft:#e4eae7;--ink:#131c19;--ink-2:#4f615b;--ink-3:#788a84;--accent:#2c6b5d;--accent-ink:#fff;--accent-soft:#d7e7e0;--danger:#a6382f;--emboss-hi:#fff9;--sil-purple:#a98cc4;--sil-green:#6bc78c;--sil-blue:#71b3d6;--sil-orange:#de9147;--sil-clear:#9aa8a3;--sil-lavender:#b7a8e0;--sil-skyblue:#8fcbe3;--sil-pink:#f3aec7;--sil-mint:#8fd9c4;--sil-yellow:#eadd8a;--sil-tan:#f3c896;--sil-ir-1:#c84f93;--sil-ir-2:#b3cf3f;--sil-ir-3:#57abda;--sil-ir-4:#b39ddb;--sil-ir-5:#66bd5c;--sil-ir-6:#4569a8;--sil-ir-7:#35a99b;--sil-ir-8:#8659b8;--sil-ir-9:#f2795f;--ser-purple:#5b3b93;--ser-green:#1f6b3a;--ser-blue:#3e9ac9;--ser-orange:#ce7a1c;--ser-clear:#6e7d78;--ser-lavender:#6a4fc4;--ser-skyblue:#1f7fa8;--ser-pink:#c94a7c;--ser-mint:#1f8a68;--ser-yellow:#a3841a;--ser-tan:#b3762c;--ser-ir-1:#9c2f6b;--ser-ir-2:#7d8f1f;--ser-ir-3:#2f7fae;--ser-ir-4:#7a5cb0;--ser-ir-5:#2f8a3a;--ser-ir-6:#24407a;--ser-ir-7:#1c7b70;--ser-ir-8:#613a92;--ser-ir-9:#c94a34;--shadow-1:0 1px 2px #10201c0d, 0 10px 26px -16px #10201c47;--radius:14px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0f0d;--surface:#141b18;--surface-2:#1b2421;--sunken:#101714;--line:#28352f;--line-soft:#1f2a26;--ink:#e7efeb;--ink-2:#9eb0a9;--ink-3:#7b8d86;--accent:#63b89f;--accent-ink:#08130f;--accent-soft:#1d322b;--danger:#e0796d;--emboss-hi:#ffffff0f;--ser-purple:#8b5fcf;--ser-green:#237b48;--ser-blue:#3f9ac9;--ser-orange:#ca7f30;--ser-clear:#94a39e;--ser-lavender:#9d84e8;--ser-skyblue:#4fb3d9;--ser-pink:#e17fa3;--ser-mint:#3fae8a;--ser-yellow:#c9a83a;--ser-tan:#d1924a;--ser-ir-1:#d874a3;--ser-ir-2:#b9cf55;--ser-ir-3:#5fb0dd;--ser-ir-4:#b79ee0;--ser-ir-5:#5cbd5a;--ser-ir-6:#5d84c9;--ser-ir-7:#3fbfae;--ser-ir-8:#a173d6;--ser-ir-9:#f4886f;--shadow-1:0 1px 2px #0006, 0 10px 26px -16px #000000b3}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0f0d;--surface:#141b18;--surface-2:#1b2421;--sunken:#101714;--line:#28352f;--line-soft:#1f2a26;--ink:#e7efeb;--ink-2:#9eb0a9;--ink-3:#7b8d86;--accent:#63b89f;--accent-ink:#08130f;--accent-soft:#1d322b;--danger:#e0796d;--emboss-hi:#ffffff0f;--ser-purple:#8b5fcf;--ser-green:#237b48;--ser-blue:#3f9ac9;--ser-orange:#ca7f30;--ser-clear:#94a39e;--ser-lavender:#9d84e8;--ser-skyblue:#4fb3d9;--ser-pink:#e17fa3;--ser-mint:#3fae8a;--ser-yellow:#c9a83a;--ser-tan:#d1924a;--ser-ir-1:#d874a3;--ser-ir-2:#b9cf55;--ser-ir-3:#5fb0dd;--ser-ir-4:#b79ee0;--ser-ir-5:#5cbd5a;--ser-ir-6:#5d84c9;--ser-ir-7:#3fbfae;--ser-ir-8:#a173d6;--ser-ir-9:#f4886f;--shadow-1:0 1px 2px #0006, 0 10px 26px -16px #000000b3}.stage-scope{--st-bg:#0e1714;--st-bg2:#16211d;--st-ink:#eaf1ed;--st-ink2:#8da29a;--st-line:#25332d;--st-accent:#68c0a6;--st-labia-minora:#858a87;--st-labia-vestibule:#b4b9b7}*{box-sizing:border-box}html{background:var(--bg);height:100%;overflow:hidden}body{overscroll-behavior:none;background:var(--bg);height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Archivo,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5;overflow:hidden}h1,h2,h3{text-wrap:balance;letter-spacing:-.01em;margin:0;font-family:Newsreader,Georgia,Times New Roman,serif;font-weight:500}.mono{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.eyebrow{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:600}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a[class]{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.app{width:100%;min-width:360px;background:var(--surface);flex-direction:column;block-size:100%;display:flex;position:relative;overflow:hidden}.topbar{padding-block:max(14px, env(safe-area-inset-top)) 10px;padding-inline:max(18px, env(safe-area-inset-left)) max(18px, env(safe-area-inset-right));border-bottom:1px solid var(--line-soft);background:var(--surface);z-index:20;justify-content:space-between;align-items:baseline;gap:12px;display:none;position:sticky;top:0}.wordmark{letter-spacing:-.02em;font-family:Newsreader,Georgia,serif;font-size:19px;font-weight:600}@keyframes syncSpin{to{transform:rotate(360deg)}}.view{padding:env(safe-area-inset-top) 0 20px;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex:1;min-height:0;overflow-y:auto}@media (display-mode:standalone){.view{padding-top:max(16px, env(safe-area-inset-top))}}.view.view-session{padding-bottom:0;overflow-y:hidden;container:session-viewport/size}.update-toast{top:max(10px, env(safe-area-inset-top));z-index:70;width:min(420px, calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));background:var(--ink);color:var(--surface);border-radius:12px;align-items:flex-start;gap:10px;margin:0 auto;padding:12px 14px;font-size:13.5px;line-height:1.4;display:flex;position:fixed;left:0;right:0;box-shadow:0 8px 20px #08100d47}.update-toast p{flex:1;margin:0}.update-toast-close{width:24px;height:24px;color:inherit;opacity:.7;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.update-toast-close:hover{opacity:1}.pad{padding:18px}.hidden{display:none!important}.tabbar{z-index:20;padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);flex:none;grid-template-columns:repeat(3,1fr);display:grid;position:relative}@media (display-mode:standalone){.tabbar{padding-bottom:max(16px, env(safe-area-inset-bottom))}}.tabbar .tab-link{letter-spacing:.04em;color:var(--ink-3);flex-direction:column;align-items:center;gap:5px;padding:11px 4px 14px;font-size:11px;font-weight:600;display:flex}.tabbar .tab-link[aria-current=page]{color:var(--accent)}.tabbar .dot{background:0 0;border-radius:50%;width:5px;height:5px}.tabbar .tab-link[aria-current=page] .dot{background:var(--accent)}.tabbar svg{display:block}.tabbar .tab-link.session-active svg{color:var(--accent)}.tabbar .tab-link.session-active .dot{background:var(--accent)}.tab-ic{border-radius:999px;display:inline-flex}@keyframes tabSessionPulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent)}50%{box-shadow:0 0 0 5px #0000}}.tabbar .tab-link.session-active .tab-ic{animation:2.4s ease-in-out infinite tabSessionPulse}.session-wrap{block-size:100%;min-block-size:0;padding:0}.stage-scope{background:linear-gradient(176deg, var(--st-bg2), var(--st-bg));color:var(--st-ink);border:1px solid var(--st-line);border-radius:0;grid-template-rows:auto minmax(168px,1fr) auto minmax(56px,max-content);block-size:100%;min-block-size:0;display:grid;overflow:hidden}.sess-head{border-bottom:1px solid var(--st-line);justify-content:space-between;align-items:center;gap:10px;padding:12px 15px 10px;display:flex}.sess-head .eyebrow{color:var(--st-ink2)}.sess-clock{letter-spacing:.02em;font-size:15px;font-weight:500}.sess-head-r{align-items:center;gap:8px;display:flex}@media (display-mode:standalone) and (width<=899.98px){.sess-head{background:var(--surface);color:var(--ink);border-bottom-color:var(--line)}.sess-head .eyebrow{color:var(--ink-3)}.sess-head .linkbtn{color:var(--ink-2);border-color:var(--line)}.sess-head .linkbtn:hover{color:var(--ink);border-color:var(--ink-2)}}@media (display-mode:standalone) and (width<=899.98px) and (prefers-color-scheme:dark){html:not([data-theme=light]) .sess-head{color:inherit;border-bottom-color:var(--st-line);background:0 0}html:not([data-theme=light]) .sess-head .eyebrow{color:var(--st-ink2)}html:not([data-theme=light]) .sess-head .linkbtn{color:var(--st-ink2);border-color:var(--st-line)}html:not([data-theme=light]) .sess-head .linkbtn:hover{color:var(--st-ink);border-color:var(--st-ink2)}}@media (display-mode:standalone) and (width<=899.98px){html[data-theme=dark] .sess-head{color:inherit;border-bottom-color:var(--st-line);background:0 0}html[data-theme=dark] .sess-head .eyebrow{color:var(--st-ink2)}html[data-theme=dark] .sess-head .linkbtn{color:var(--st-ink2);border-color:var(--st-line)}html[data-theme=dark] .sess-head .linkbtn:hover{color:var(--st-ink);border-color:var(--st-ink2)}}.linkbtn{color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:600}.linkbtn:hover{color:var(--ink);border-color:var(--ink-2)}.linkbtn[disabled]{opacity:.4;cursor:default}.stage-scope .linkbtn{color:var(--st-ink2);border-color:var(--st-line)}.stage-scope .linkbtn:hover{color:var(--st-ink);border-color:var(--st-ink2)}.stage{--anchor-x:50%;--anchor-y:66%;--tilt:-7deg;--body-axis:40deg;flex:24rem;min-block-size:168px;position:relative;overflow:hidden}html.app-icon-render,html.app-icon-render body{background:var(--st-bg);width:100%;height:100%;margin:0;overflow:hidden}html.app-icon-render .app{background:var(--st-bg);width:365px;max-width:none;height:365px;box-shadow:none;transform:scale(var(--icon-scale,1));transform-origin:0 0;border:0;margin:0}html.app-icon-render .topbar,html.app-icon-render .sess-head,html.app-icon-render .primary-slot,html.app-icon-render .tray,html.app-icon-render .tabbar,html.app-icon-render .sheet-scrim,html.app-icon-render .phase-readout,html.app-icon-render .stage-empty,html.app-icon-render .view:not(.view-session){display:none!important}html.app-icon-render .view-session{flex:none;width:365px;height:365px;padding:0;overflow:hidden;display:block!important}html.app-icon-render .session-wrap{width:365px;height:365px;padding:0}html.app-icon-render .stage-scope{border:0;border-radius:0;width:365px;height:365px}html.app-icon-render .stage{--anchor-x:54%;--anchor-y:63%;width:365px;height:365px}html.app-icon-render .stage-scene{transform:rotate(var(--body-axis)) scale(1.7)}.stage-scene{z-index:1;transform-origin:var(--anchor-x) var(--anchor-y);transform:rotate(var(--body-axis)) scale(var(--scene-zoom,1));position:absolute;inset:0}.st-glow{left:var(--anchor-x);top:var(--anchor-y);z-index:1;background:radial-gradient(#68c0a633,#68c0a600 68%);width:330px;height:186px;position:absolute;transform:translate(-50%,-50%)}.st-mask-curve{left:var(--anchor-x);top:var(--anchor-y);transform-origin:50% 0;width:760px;height:300px;transform:rotate(var(--tilt));z-index:4;margin-left:-380px;position:absolute;overflow:visible;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 26.84% 73.16%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 26.84% 73.16%,#0000 100%)}.labia-far,.labia-near{left:var(--anchor-x);top:var(--anchor-y);width:176px;height:66px;transform:rotate(var(--tilt));margin:-33px 0 0 -88px;position:absolute;overflow:visible}.labia-far{z-index:2}.labia-near{z-index:6}.labia-far path{fill:none;stroke:#3e5a50}.labia-near path{fill:none;stroke:#6e9686}.lip-majora{stroke-width:1.7px;opacity:.62}.lip-minora{stroke-width:1.1px;opacity:.42}.labia-far .lip-fill,.labia-near .lip-fill{stroke:none}.labia-far .lip-fill-minora-skin,.labia-near .lip-fill-minora-skin{fill:var(--st-labia-minora);fill-opacity:.55}.labia-far .lip-fill-vestibule{fill:var(--st-labia-vestibule);fill-opacity:.68}.rod{z-index:3;left:var(--anchor-x);top:var(--anchor-y);transform-origin:50% 100%;transform:translateX(-50%) rotate(var(--rot,0deg)) translateY(calc(var(--ins,220px) + var(--breathe-y,0px)));opacity:var(--rod-op,0);will-change:transform;pointer-events:none;transition:opacity .34s;position:absolute}.rod.fast{transition-duration:.5s}@property --spin{syntax:"<angle>";inherits:true;initial-value:0deg}.rod{--spin:0deg}@keyframes hoverLoop{0%,to{translate:0;rotate:-2.5deg}50%{translate:0 -3px;rotate:2.5deg}}.rod.hovering{animation:3.2s ease-in-out infinite hoverLoop}@keyframes twistLoop{0%,to{--spin:-13deg}50%{--spin:13deg}}.rod.twisting{animation:4s ease-in-out infinite twistLoop}@property --breathe-y{syntax:"<length>";inherits:true;initial-value:0}.rod{--breathe-y:0px}@keyframes breatheLoop{0%,to{--breathe-y:0px}50%{--breathe-y:calc(var(--breathe-amt,6px) * -1)}}.rod.breathing{animation:6s ease-in-out infinite breatheLoop}.rod .lube-fx{opacity:0;transition:opacity 1s}.rod.lubed .lube-fx{opacity:1}.stage-empty{z-index:5;text-align:center;color:var(--st-ink2);padding:0 30px;font-size:13px;line-height:1.45;position:absolute;top:30%;left:0;right:0}.phase-readout{z-index:5;flex-direction:column;gap:2px;display:flex;position:absolute;top:13px;left:16px}.phase-label{letter-spacing:.13em;text-transform:uppercase;color:var(--st-ink2);font-size:10.5px;font-weight:600}.phase-clock{letter-spacing:-.02em;font-size:38px;font-weight:400;line-height:1.05}.phase-sub{color:var(--st-ink2);font-size:12.5px}.phase-readout.waiting .phase-clock{display:none}.phase-readout.waiting .phase-sub{color:var(--st-ink);margin-top:1px;font-size:17px}.phase-hint{color:var(--st-ink2);margin-top:3px;font-size:12px}.phase-readout.overtime .phase-clock{color:var(--danger)}.primary-slot{border-top:1px solid var(--st-line);flex:none;padding:12px 15px 15px}.btn-primary{background:var(--st-accent);color:#08130f;letter-spacing:.01em;border-radius:12px;width:100%;padding:15px 16px;font-size:15.5px;font-weight:700;transition:filter .15s,transform .1s;display:block}.btn-primary:hover{filter:brightness(1.06)}.btn-primary:active{transform:translateY(1px)}.btn-primary.ghost{color:var(--st-ink2);border:1px solid var(--st-line);background:0 0;font-weight:600}.btn-primary.ghost:hover{color:var(--st-ink)}.btn-primary .btn-ic{justify-content:center;align-items:center;gap:6px;display:inline-flex}@keyframes btnGlow{0%,to{box-shadow:0 0 #68c0a68c}50%{box-shadow:0 0 0 8px #68c0a600}}.btn-primary.glow{animation:1.6s ease-in-out infinite btnGlow}.tray{--tray-ppi:18px;--tray-longest:9;background:var(--sunken);border:1px solid var(--line);box-shadow:inset 0 1px 4px #131c191a, inset 0 -1px 0 color-mix(in srgb, var(--emboss-hi) 83%, transparent);border-radius:16px;margin:14px 0 0;padding:8px;position:relative;container:tray/inline-size}.tray:has(.tray-edit){padding-top:40px}.stage-scope .tray{border:0;border-top:1px solid var(--st-line);box-shadow:none;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;background:0 0;border-radius:0;min-block-size:56px;max-block-size:286px;margin:0;padding:10px;display:block;overflow:hidden auto;container:tray/inline-size}.tray-edit{z-index:1;background:var(--sunken);padding:4px 10px;font-size:11px;position:absolute;top:8px;right:8px}.stage-scope .tray-edit{background:0 0;top:9px}#btnEditTray{display:none}.tray-list{--tray-ppi:18px;grid-template-columns:minmax(0,1fr);align-content:start;gap:2px;display:grid}@container tray (width>=480px){.tray-list{--tray-ppi:20px;grid-template-columns:repeat(2,minmax(0,1fr))}}@container tray (width>=640px){.tray-list{--tray-ppi:22px}}@container tray (width>=720px){.tray-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@container tray (width>=800px){.tray-list{--tray-ppi:24px}}@container tray (width>=1000px){.tray-list{grid-template-columns:repeat(4,minmax(0,1fr))}}@container tray (width>=360px){.stage-scope .tray-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@container tray (width>=720px){.stage-scope .tray-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@container tray (width>=1000px){.stage-scope .tray-list{grid-template-columns:repeat(4,minmax(0,1fr))}}.stage-scope .tray-list{width:100%;grid-auto-rows:max-content;min-block-size:0;overflow:visible}.tray-item{text-align:left;background:var(--surface);border:1px solid var(--line-soft);width:100%;min-height:44px;box-shadow:inset 0 1px 0 var(--emboss-hi), inset 0 -1px 2px #131c190a;border-radius:10px;padding:6px 11px;transition:border-color .15s,background .15s,box-shadow .2s;display:block;overflow:hidden;container:tray-item/inline-size}.tray-content{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);align-content:center;gap:2px;min-width:0;display:grid}.tray-item.detail .tray-content{display:block}.tray-item:hover:not([disabled]){border-color:var(--accent)}.tray-item[disabled]{cursor:default}.tray-item:focus-visible{outline-offset:-2px}.tray-item.out{background:var(--sunken);border-color:var(--line);box-shadow:inset 0 2px 5px #131c1929, inset 0 -1px 0 color-mix(in srgb, var(--emboss-hi) 67%, transparent)}.tray-item.next{border-color:var(--accent);background:var(--accent-soft)}.tray-item.then{border-color:var(--line)}.tray-item.detail{padding:8px 12px 11px;display:block}.tray-art{min-width:0;display:block}.tray-art svg{inline-size:calc(var(--tray-length,var(--tray-longest)) * var(--tray-ppi));block-size:auto;max-inline-size:none;display:block}.tray-name{margin-top:5px;font-size:13.5px;font-weight:600;line-height:1.3;display:block}.tray-spec{color:var(--ink-3);font-size:11.5px;line-height:1.45;display:block}.tray-state{color:var(--ink-3);text-align:right;white-space:nowrap;font-size:11.5px;font-weight:600}.tray-time{display:block}.tray-time+.tray-time{margin-top:1px}.tray-target{justify-content:flex-end;align-items:center;gap:4px;margin-top:2px;font-weight:500;display:flex}.tray-target svg{flex:none;width:12px;height:12px}.tray-state.is-done,.tray-state.is-next{color:var(--accent)}.tray-state.is-then{color:var(--ink-3);font-weight:500}.tray-state-combined,.tray-state-compact{display:none}@container tray-item (width<=240px){.tray-state-full{display:none}.tray-state-combined{display:inline}}@container tray-item (width<=180px){.tray-state-combined{display:none}.tray-state-compact{display:inline}}.tray-list>.tray-item:not(.detail) .tray-content{padding-block:0}.tray-list>.tray-item:not(.detail) .tray-state{text-overflow:ellipsis;text-align:left;min-width:0;overflow:hidden}.tray-list>.tray-item:not(.detail) .tray-target{justify-content:flex-start}@container tray-item (width>=320px){.tray-list>.tray-item:not(.detail) .tray-content{grid-template-rows:none;grid-template-columns:minmax(0,1fr) auto;align-content:center}.tray-list>.tray-item:not(.detail) .tray-state{text-align:right}.tray-list>.tray-item:not(.detail) .tray-target{justify-content:flex-end}}.stage-scope .tray-item{background:var(--st-bg2);border-color:var(--st-line);box-shadow:none}.stage-scope .tray-item:hover:not([disabled]){border-color:var(--st-accent)}.stage-scope .tray-item.out{background:var(--st-bg);border-color:var(--st-line);box-shadow:inset 0 2px 6px #0006}.stage-scope .tray-item.next{border-color:var(--st-accent);background:#68c0a624}.stage-scope .tray-item.then{border-color:var(--st-line)}.stage-scope .tray-state{color:var(--st-ink2)}.stage-scope .tray-state.is-next,.stage-scope .tray-state.is-done{color:var(--st-accent)}@keyframes trayGlow{0%,to{box-shadow:0 0 #68c0a68c}50%{box-shadow:0 0 0 6px #68c0a600}}.stage-scope .tray-item.glow{border-color:var(--st-accent);animation:1.8s ease-in-out infinite trayGlow}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:15px}.notice{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);border-radius:12px;align-items:flex-start;gap:11px;padding:11px 13px;font-size:12.5px;display:flex}.notice b{color:var(--ink);font-weight:600}.notice button{color:var(--accent);text-underline-offset:2px;white-space:nowrap;font-size:12.5px;font-weight:600;text-decoration:underline}.section-title{margin-bottom:3px;font-size:19px}.section-note{color:var(--ink-2);max-width:60ch;margin:0 0 14px;font-size:13px}.stack{flex-direction:column;gap:14px;display:flex}.row{align-items:center;gap:10px;display:flex}.spacer{flex:1}.pill{letter-spacing:.04em;border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600}.btn{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 14px;font-size:13.5px;font-weight:600}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn.solid{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.solid:hover{filter:brightness(1.08);color:var(--accent-ink)}.btn[disabled]{opacity:.45;cursor:default}.btn[disabled]:hover{border-color:var(--line);color:inherit}.btn-icon{justify-content:center;align-items:center;gap:6px;display:inline-flex}.btn-icon svg{flex:none}.backbtn{color:var(--ink-2);border:1px solid var(--line);background:var(--surface);border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:7px 14px 7px 11px;font-size:13px;font-weight:600;display:inline-flex}.backbtn:hover{color:var(--accent);border-color:var(--accent)}.brandbar{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.brandbar button{border:1px solid var(--line);text-align:left;background:var(--surface);border-radius:11px;flex:auto;padding:9px 13px}.brandbar button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.brandbar .bn{font-size:13.5px;font-weight:700;display:block}.brandbar .bl{color:var(--ink-3);font-size:11px}.brandbar button[aria-pressed=true] .bl{color:var(--accent)}.grid{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.tile{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:12px;flex-direction:column;gap:7px;padding:10px 11px 11px;transition:border-color .15s,background .15s;display:flex;position:relative}.tile:hover{border-color:var(--ink-3)}.tile[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.tile-art{align-items:center;height:58px;display:flex}.tile-name{font-size:13px;font-weight:700;line-height:1.2}.tile-spec{color:var(--ink-3);font-size:11px}.tile[aria-pressed=true] .tile-spec{color:var(--accent)}.tick{background:var(--accent);width:19px;height:19px;color:var(--accent-ink);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:none;position:absolute;top:9px;right:9px}.tile[aria-pressed=true] .tick{display:flex}.chips{flex-wrap:wrap;gap:7px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:7px;padding:5px 11px 5px 7px;font-size:12.5px;font-weight:600;display:inline-flex}.chip:hover{border-color:var(--accent)}.swatch{border-radius:3px;flex:none;width:11px;height:11px}.tiles{background:var(--line);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:1px;width:calc(100% - 36px);max-width:760px;margin-inline:auto;display:grid;overflow:hidden}.empty-home{text-align:center;background:radial-gradient(circle at 50% 28%, color-mix(in srgb, var(--accent-soft) 62%, transparent), transparent 45%), var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:center;gap:22px;min-height:min(520px,100dvh - 150px);padding:34px 24px 38px;display:flex}.empty-home-copy{max-width:540px}.empty-home h2{margin:4px 0 8px;font-size:clamp(27px,5vw,38px);line-height:1.05}.empty-home p{color:var(--ink-2);margin:0;font-size:13.5px}.empty-home-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 14px;margin-top:18px;display:flex}.empty-home-actions .hint{color:var(--ink-3);font-size:12px}.empty-chart-preview{border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top, transparent 0 36px, var(--line-soft) 36px 37px);justify-content:center;align-items:flex-end;gap:clamp(14px,6vw,34px);width:min(430px,100%);height:150px;padding:18px 28px 1px;display:flex;position:relative}.empty-preview-bar{border-radius:3px 3px 0 0;flex-direction:column-reverse;width:clamp(28px,9vw,42px);display:flex;overflow:hidden}.empty-preview-bar i{display:block}.empty-preview-bar .idle{background:color-mix(in srgb, var(--ink-3) 18%, transparent);height:15px}.empty-preview-bar .ins{height:var(--insert);background:color-mix(in srgb, var(--accent) 34%, transparent)}.empty-preview-bar .hold{height:var(--hold);background:color-mix(in srgb, var(--accent) 72%, transparent)}.empty-chart-caption{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);font-size:9.5px;font-weight:600;position:absolute;top:8px;left:8px}.stat{background:var(--surface);padding:11px 12px 12px}.stat .k{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:600}.stat .v{letter-spacing:-.02em;margin-top:3px;font-size:20px;font-weight:500}.stat .d{color:var(--ink-2);margin-top:1px;font-size:11px}.stat .d.up{color:var(--danger)}.stat .d.down{color:var(--accent)}.chart-host{position:relative}.chart-host svg{width:100%;height:auto;display:block;overflow:visible}.pad.home-arrival{animation:.44s cubic-bezier(.2,.8,.3,1) both homeArrival}@keyframes homeArrival{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.chart-host svg .chart-seg-grow,.chart-host svg .chart-seg-grow-arrival{transform-box:fill-box;transform-origin:bottom;animation:.32s cubic-bezier(.2,.8,.3,1) both chartBarGrow;animation-delay:var(--seg-delay,0s);will-change:transform}.chart-host svg .chart-seg-grow-arrival{animation-delay:calc(.46s + var(--seg-delay,0s))}@keyframes chartBarGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.chart-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.chart-settings{flex:none;position:relative}.chart-settings>summary{border:1px solid var(--line);width:30px;height:30px;color:var(--ink-2);background:var(--surface);cursor:pointer;border-radius:9px;place-items:center;list-style:none;display:grid}.chart-settings>summary::-webkit-details-marker{display:none}.chart-settings>summary:hover,.chart-settings[open]>summary{border-color:var(--accent);color:var(--accent)}.chart-settings-menu{z-index:12;background:var(--surface);border:1px solid var(--line);border-radius:12px;width:218px;padding:8px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 28px #08100d29}.chart-settings-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:3px 7px 7px;font-size:10px;font-weight:600}.chart-mode,.menu-row{text-align:left;width:100%;color:inherit;border-radius:8px;padding:8px 9px;font-size:12.5px;font-weight:600;text-decoration:none;display:block}.chart-mode{grid-template-columns:1fr auto;gap:8px;display:grid}.menu-row{align-items:center;gap:8px;display:flex}.menu-row svg{flex:none}.chart-mode:hover,.menu-row:hover{background:var(--surface-2)}.chart-mode[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.chart-mode-name{font-size:12.5px;font-weight:600;display:block}.chart-mode-note{color:var(--ink-3);margin-top:1px;font-size:10.5px;line-height:1.35;display:block}.chart-mode-check{visibility:hidden;align-self:center;font-size:12px;font-weight:700}.chart-mode[aria-pressed=true] .chart-mode-check{visibility:visible}.menu-note{color:var(--ink-2);padding:0 9px 8px;font-size:11.5px;line-height:1.4}.legend{flex-wrap:wrap;gap:12px;margin-top:9px;display:flex}.legend-item{color:var(--ink-2);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.tooltip{pointer-events:none;opacity:0;background:var(--ink);width:min(320px,100% - 16px);color:var(--surface);z-index:5;border-radius:9px;padding:9px 11px 10px;font-size:11px;line-height:1.35;transition:opacity .12s;position:absolute;transform:translate(-50%);box-shadow:0 6px 18px -8px #00000080}.tooltip .tt-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.tooltip .tt-h{font-weight:700}.tooltip .tt-idle{color:color-mix(in srgb, currentColor 68%, transparent);white-space:nowrap}.tt-table{table-layout:fixed;border-collapse:collapse;width:100%;color:inherit}.tt-table th,.tt-table td{text-align:right;white-space:nowrap;padding:4px 0 3px 9px}.tt-table th:first-child,.tt-table td:first-child{text-align:left;width:44%;padding-left:0}.tt-table th{color:color-mix(in srgb, currentColor 68%, transparent);letter-spacing:.03em;font-size:9.5px;font-weight:600}.tt-table tbody tr+tr td{border-top:1px solid color-mix(in srgb, currentColor 16%, transparent)}.tt-dilator{align-items:center;gap:6px;min-width:0;font-weight:600;display:flex}.tt-swatch{border-radius:2px;flex:none;width:8px;height:8px}.tt-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}table.data{border-collapse:collapse;width:100%;margin-top:11px;font-size:12px}table.data th,table.data td{text-align:right;border-bottom:1px solid var(--line-soft);padding:5px 7px}table.data th:first-child,table.data td:first-child{text-align:left}table.data th{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:600}.scroll-x{overflow-x:auto}.log-item{border-bottom:1px solid var(--line-soft)}.log-item:last-child{border-bottom:0}.log-head{text-align:left;align-items:center;gap:11px;width:100%;padding:11px 0;display:flex}.log-date{font-size:13.5px;font-weight:600}.log-meta{color:var(--ink-3);font-size:11.5px}.log-total{font-size:14px;font-weight:500}.log-body{border-top:1px solid var(--line-soft);padding:0 0 12px}.entry-row{border-bottom:1px solid var(--line-soft);grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:8px 0;font-size:12.5px;display:grid}.entry-row:last-child{border-bottom:0}.entry-row .lbl{font-weight:600}.entry-row .num{color:var(--ink-2);font-size:12px}.screen-modal-scrim{z-index:50;display:flex;position:fixed;inset:0}.screen-modal{background:var(--surface);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;width:100%;overflow-y:auto}@media (display-mode:standalone){.screen-modal{padding-bottom:max(16px, env(safe-area-inset-bottom))}}@media (width>=900px){.screen-modal-scrim{background:#08100d80;justify-content:center;align-items:center;padding:5vh 5vw}.screen-modal{border:1px solid var(--line);border-radius:18px;max-width:1160px;max-height:100%;box-shadow:0 24px 64px #08100d59}}.screen-modal-back{z-index:1;align-items:center;margin:14px;display:flex;position:sticky;top:0}.screen-modal-back .backbtn{background:var(--surface)}@media (display-mode:standalone){.screen-modal-back{top:max(16px, env(safe-area-inset-top))}}.screen-modal-close{display:none}@media (width>=900px){.screen-modal-back .backbtn{display:none}.screen-modal-close{border:1px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--ink-2);border-radius:50%;justify-content:center;align-items:center;margin-left:auto;font-size:22px;line-height:1;text-decoration:none;display:flex}.screen-modal-close:hover{color:var(--ink);border-color:var(--ink-2)}}.sheet-scrim{z-index:60;opacity:0;pointer-events:none;background:#08100d80;justify-content:center;align-items:flex-end;transition:opacity .2s;display:flex;position:fixed;inset:0}.sheet-scrim.open{opacity:1;pointer-events:auto}.sheet{background:var(--surface);border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;width:100%;max-width:462px;max-height:86dvh;padding:16px 17px 26px;transition:transform .22s cubic-bezier(.2,.8,.3,1);overflow-y:auto;transform:translateY(14px)}.sheet-scrim.open .sheet{transform:translateY(0)}.sheet h2{margin-bottom:4px;font-size:20px}.sheet p{color:var(--ink-2);margin:0 0 14px;font-size:13px}.field-label{color:var(--ink-2);margin:0 0 6px;font-size:13px;display:block}.rating-fieldset{border:0;min-inline-size:0;margin:0 0 6px;padding:0}.rating-fieldset legend{margin-bottom:7px;padding:0}.rate{grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:6px;display:grid}.rate button{border:1px solid var(--line);text-align:center;border-radius:10px;padding:12px 4px 9px}.rate button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.rate .rn{font-size:16px;font-weight:600;display:block}.rate .rl{letter-spacing:.03em;color:var(--ink-3);font-size:9.5px}.rate button[aria-pressed=true] .rl{color:var(--accent)}.field{border:1px solid var(--line);width:100%;font:inherit;background:var(--surface-2);color:var(--ink);border-radius:10px;padding:10px 12px;font-size:14px}textarea.field{resize:vertical;min-height:70px}.settings-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:12px 0;display:flex}.settings-row:last-child{border-bottom:0}.settings-row .t{font-size:13.5px;font-weight:600}.settings-row .s{color:var(--ink-3);font-size:12px}.settings-picker{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.settings-picker button{border:1px solid var(--line);text-align:center;border-radius:10px;padding:9px 4px;font-size:12.5px;font-weight:600}.settings-picker button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.logrow.settings-row{display:block}.logrow>summary{cursor:pointer;align-items:center;gap:12px;list-style:none;display:flex}.logrow>summary::-webkit-details-marker{display:none}.logrow>summary .chev{width:16px;height:16px;color:var(--ink-3);flex:none;transition:transform .15s}.logrow[open]>summary .chev{transform:rotate(180deg)}.logrow-body{flex-direction:column;gap:10px;margin-top:12px;display:flex}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width>=600px){.session-wrap{padding-block:18px;padding-inline:max(22px, env(safe-area-inset-left)) max(22px, env(safe-area-inset-right))}.pad{padding:24px}.stage-scope{border-radius:20px}.stage-empty{top:36%}.phase-readout{top:20px;left:22px}.phase-clock{font-size:44px}.primary-slot{padding-inline:22px}.stage-scope .tray{padding-inline:18px}.tray-item{padding-inline:14px}.sheet{padding-bottom:calc(26px + env(safe-area-inset-bottom))}}@media (width>=900px){.topbar{padding-block:max(16px, env(safe-area-inset-top)) 12px;padding-inline:max(34px, env(safe-area-inset-left)) max(34px, env(safe-area-inset-right))}.view{padding-bottom:34px}.session-wrap{max-width:1540px;padding-block:24px;padding-inline:max(34px, env(safe-area-inset-left)) max(34px, env(safe-area-inset-right));margin:0 auto}.pad{max-width:1540px;margin:0 auto;padding:34px}.stage-scope{border-radius:22px}.sess-head{padding:16px 24px 13px}.stage{--scene-zoom:clamp(1, calc(1 + (min(100cqw, 100cqh) - 900px) / 4000px), 1.2)}.stage-empty{top:38%}.phase-readout{top:24px;left:28px}.phase-clock{font-size:52px}.primary-slot{padding:18px 24px 24px}.primary-slot .btn-primary{width:min(440px,100%);margin:0 auto}.view-history .card{min-width:0}.screen-modal .pad{grid-template-columns:minmax(340px,.82fr) minmax(0,1.35fr);align-items:start;gap:24px;display:grid}.screen-modal .pad>.notice{grid-column:1/-1}.screen-modal .pad>:first-child{grid-area:1/1}.screen-modal .pad>:nth-child(2){grid-area:1/2}.screen-modal .grid{grid-template-columns:repeat(3,minmax(0,1fr))}.screen-modal .tray{margin-top:0!important}}@media (width<=899px){.view-history .pad{padding-left:0;padding-right:0}.view-history .pad>.notice,.view-history .pad>.empty-home,.view-history .pad>.card{border-left:0;border-right:0;border-radius:0}}@container session-viewport (height>=560px) and ((width>=1100px) or ((width>=900px) and (aspect-ratio>=4/3))){.stage-scope{grid-template-rows:auto minmax(240px,1fr) auto;grid-template-columns:minmax(0,1fr) minmax(340px,36%);display:grid}.sess-head{grid-area:1/1}.stage{grid-area:2/1;min-block-size:240px}.primary-slot{grid-area:3/1}.stage-scope>.tray{border:0;border-inline-start:1px solid var(--st-line);border-radius:0;grid-area:1/2/span 3;min-block-size:0;max-block-size:none;min-inline-size:0;margin:0;padding:58px 18px 18px}.stage-scope>.tray .tray-list{padding:0 2px 4px}.stage-scope .tray-edit{top:17px;right:18px}#btnEditTray{display:block}.stage-scope>.tray .tray-list{grid-template-columns:minmax(0,1fr)}.stage-scope>.tray .tray-list>.tray-item .tray-content{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr)}.stage-scope>.tray .tray-list>.tray-item .tray-state{text-align:left}.stage-scope>.tray .tray-list>.tray-item .tray-target{justify-content:flex-start}@container tray (width>=360px){.stage-scope>.tray .tray-list{--tray-ppi:20px}}@container tray (width>=410px){.stage-scope>.tray .tray-list{--tray-ppi:22px}}@container tray (width>=460px){.stage-scope>.tray .tray-list{--tray-ppi:24px}}}@media (width>=900px) and (hover:hover) and (pointer:fine),(width>=900px) and (orientation:landscape) and (pointer:coarse){.topbar{display:flex}.view{padding-block-start:0}.update-toast{top:max(64px, calc(env(safe-area-inset-top) + 54px))}.tabbar{top:max(10px, env(safe-area-inset-top));left:calc(50% + (env(safe-area-inset-left) - env(safe-area-inset-right)) / 2);width:min(390px, calc(100% - env(safe-area-inset-left) - env(safe-area-inset-right) - 20px));border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);border-radius:999px;grid-template-columns:repeat(3,1fr);padding-bottom:0;position:absolute;bottom:auto;overflow:hidden;transform:translate(-50%)}.tabbar .tab-link{flex-direction:row;justify-content:center;gap:7px;padding:7px 10px;font-size:11px}.tabbar .dot{width:4px;height:4px}}@media (width>=600px) and (width<=899px){.stage-scope .tray-list{max-width:720px;margin:0 auto}.screen-modal .grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=600px){.view-history .pad{max-width:900px;margin:0 auto}.view-settings .pad{max-width:720px;margin:0 auto}.sheet-scrim{align-items:center}.sheet{border-bottom:1px solid var(--line);border-radius:18px;max-width:560px;padding:22px 24px 26px}}.sync-home-card .sync-home-icon{flex:none;width:18px;height:18px;display:inline-flex}.sync-home-card .sync-home-icon svg{width:18px;height:18px;display:block}.sync-home-card.sync-home-ok .sync-home-icon{color:var(--ink-3)}.sync-home-card.sync-home-busy .sync-home-icon{color:var(--accent)}.sync-home-card.sync-home-busy .sync-home-icon svg{animation:1.1s linear infinite syncSpin}.sync-home-card.sync-home-error .sync-home-icon,.sync-home-card.sync-home-error .s{color:var(--danger)}.sync-home-card.sync-home-pending{border-color:var(--accent);animation:2.4s ease-in-out infinite syncHomeCardPulse}.sync-home-card.sync-home-pending .sync-home-icon{color:var(--accent)}@keyframes syncHomeCardPulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent)}50%{box-shadow:0 0 0 6px #0000}}.error-report-card{border-color:var(--danger);animation:2.4s ease-in-out infinite errorReportCardPulse}.error-report-card .error-report-icon{width:18px;height:18px;color:var(--danger);flex:none;display:inline-flex}.error-report-card .error-report-icon svg{width:18px;height:18px;display:block}@keyframes errorReportCardPulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--danger) 45%, transparent)}50%{box-shadow:0 0 0 6px #0000}}
