@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/assets/oswald-cyrillic-ext-wght-normal-DLWmRmaW.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/assets/oswald-cyrillic-wght-normal-C8sJyxwB.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/assets/oswald-vietnamese-wght-normal-Tdf5mmdl.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/assets/oswald-latin-ext-wght-normal-Dj_1K-Kw.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/assets/oswald-latin-wght-normal-CzS3kehr.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#efece4;--surface:#fff;--surface-2:#ffffff80;--text:#121212;--muted:#4a4a46;--dim:#6b6a64;--border:#1212122e;--border-soft:#12121214;--lit:#3b5e4d;--lit-light:#597c6a;--lit-dark:#25392f;--lit-soft:#e7eeea;--lit-rgb:59 94 77;--accent:var(--lit);--accent-text:#fff;--ink:#121212;--ink-text:#fff;--ink-soft:color-mix(in srgb, var(--lit) 14%, var(--bg));--field:#fff;--gold:#b8913a;--gold-light:#e2c47a;--danger:#b3261e;--danger-soft:#f6dcd6;--ok:#3b5e4d;--live:#7fd19b;--radius:8px;--radius-sm:6px;--lift:0 18px 30px #12121233;--font:"Plus Jakarta Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Oswald Variable", "Arial Narrow", system-ui, sans-serif;--dock-h:76px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font);color:var(--text);background:var(--bg);-webkit-tap-highlight-color:transparent}:root[data-theme=dark]{--bg:#161614;--surface:#242421;--surface-2:#ffffff0a;--text:#efece4;--muted:#b5b2a8;--dim:#8c8981;--border:#efece433;--border-soft:#efece414;--accent:var(--lit-light);--ink:#efece4;--ink-text:#121212;--ink-soft:color-mix(in srgb, var(--lit) 32%, var(--bg));--field:#242421;--gold:#d0aa55;--danger:#ff8a7a;--danger-soft:#3a201c;--ok:#7fd19b;--lift:0 18px 30px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--bg)}body,#root{min-height:100%;margin:0}@media (pointer:fine){html{overscroll-behavior:none}}body{font-size:16px;line-height:1.45}h1,h2,h3{text-wrap:balance;margin:0;line-height:1.15}.tnum{font-variant-numeric:tabular-nums}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}p{margin:0}button,input,textarea,select{font:inherit;color:inherit}button,a,label,summary,input,textarea{touch-action:manipulation}code{background:var(--field);border-radius:4px;padding:1px 6px;font-size:.9em}.muted{color:var(--muted)}.small{font-size:.875rem}.center{text-align:center}.error{color:var(--danger);font-size:.95rem;font-weight:600}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.display-type{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.005em;font-weight:700;line-height:.95}.cross{color:var(--gold);flex:none}.shapes{--tx:0;--ty:0;z-index:-1;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.shapes-plan,.shapes-start{position:fixed}.shape{--d:0;translate:calc(var(--tx) * var(--d) * 1px) calc(var(--ty) * var(--d) * 1px);transition:translate .4s cubic-bezier(.2,.8,.2,1);display:block;position:absolute}.shape.circle{background:var(--lit);border-radius:50%}.shape.cross-mark:before,.shape.cross-mark:after{content:"";background:#121212;position:absolute}.shape.arch{background:var(--gold)}.shapes-home .circle{width:240px;height:240px;top:150px;right:-70px}.shapes-home .cross-mark{width:72px;height:116px;top:206px;right:46px}.shapes-home .cross-mark:before{width:14px;height:116px;top:0;left:29px}.shapes-home .cross-mark:after{width:72px;height:14px;top:30px;left:0}.shapes-home .arch{border-radius:55px 55px 0 0;width:110px;height:140px;top:250px;left:-24px}.shapes-now .circle{width:200px;height:200px;top:90px;right:-80px}.shapes-now .cross-mark{width:40px;height:62px;top:140px;right:30px}.shapes-now .cross-mark:before{background:var(--bg);width:10px;height:62px;top:0;left:15px}.shapes-now .cross-mark:after{background:var(--bg);width:40px;height:10px;top:16px;left:0}.shapes-start .circle{right:-70px;bottom:calc(var(--dock-h) + 48px + env(safe-area-inset-bottom));width:240px;height:240px}.shapes-start .cross-mark{right:30px;bottom:calc(var(--dock-h) + 117px + env(safe-area-inset-bottom));width:64px;height:100px}.shapes-start .cross-mark:before{background:var(--bg);width:12px;height:100px;top:0;left:26px}.shapes-start .cross-mark:after{background:var(--bg);width:64px;height:12px;top:26px;left:0}@media (max-height:740px){.shapes-start{display:none}}.shapes-plan .arch{right:-60px;bottom:calc(var(--dock-h) + 44px + env(safe-area-inset-bottom));opacity:.9;border-radius:90px 90px 0 0;width:180px;height:90px}.btn{border-radius:var(--radius);background:var(--field);min-height:52px;color:var(--text);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;border:2px solid #0000;justify-content:center;align-items:center;gap:8px;max-width:100%;padding:0 20px;font-weight:800;text-decoration:none;transition:transform .25s cubic-bezier(.2,.8,.2,1),background-color .15s,border-color .15s,filter .15s;display:inline-flex}.btn:active:not(:disabled),.icon-btn:active:not(:disabled),.tile:active:not(:disabled),.part:active,.choose-card:active:not(:disabled){transition-duration:60ms;transform:scale(.97)}.btn:disabled{opacity:.4;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-ink{background:var(--ink);border-color:var(--ink);color:var(--ink-text)}.btn-outline{border-color:var(--text);background:0 0}.btn-soft{background:var(--ink-soft)}.btn-ghost{background:0 0}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-lg{min-height:72px;padding:0 22px;font-size:1.25rem}.btn-go{text-align:left;justify-content:space-between}.btn-block{width:100%;display:flex}.btn-small{min-height:40px;padding:0 14px;font-size:.9rem}.icon-btn{border:1.5px solid var(--text);width:48px;height:48px;color:var(--text);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;text-decoration:none;transition:transform .25s cubic-bezier(.2,.8,.2,1),background-color .15s;display:inline-grid}.icon-btn:disabled{opacity:.3;cursor:default}.icon-btn.small{width:40px;height:40px}.icon-btn.solid{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.icon-btn.plain{background:0 0;border-color:#0000}.icon-btn.soft{background:var(--field);border-color:#0000}.field{flex-direction:column;gap:8px;display:flex}.field-label{color:var(--muted);font-size:.82rem;font-weight:600}.field-hint{color:var(--muted);font-size:.85rem}.input{border-radius:var(--radius);background:var(--field);border:2px solid #0000;width:100%;min-height:54px;padding:12px 16px;font-size:16px;transition:border-color .15s}.input:focus{border-color:var(--text);outline:none}textarea.input{line-height:1.5}label.btn:focus-within{outline:3px solid var(--gold);outline-offset:2px}:where(button,a,summary,input,textarea,select,[tabindex]):focus-visible{outline:3px solid var(--gold);outline-offset:2px}@media (hover:hover){.btn:not(:-webkit-any(:disabled,.btn-primary,.btn-ink,.btn-danger)):hover,.chip:not(:-webkit-any(:disabled,.active)):hover,.tile:not(:-webkit-any(:disabled,.on,.ink)):hover,.row-link:hover,.room-chip:not(.ink):hover,.choice button:not(.active):hover,.notice.warn:hover{background-color:color-mix(in srgb, var(--field) 88%, var(--text))}.btn:not(:is(:disabled,.btn-primary,.btn-ink,.btn-danger)):hover,.chip:not(:is(:disabled,.active)):hover,.tile:not(:is(:disabled,.on,.ink)):hover,.row-link:hover,.room-chip:not(.ink):hover,.choice button:not(.active):hover,.notice.warn:hover{background-color:color-mix(in srgb, var(--field) 88%, var(--text))}.btn-outline:not(:disabled):hover{background-color:color-mix(in srgb, var(--bg) 92%, var(--text))}.icon-btn:not(:-webkit-any(:disabled,.solid)):hover{background-color:color-mix(in srgb, transparent 90%, var(--text))}.icon-btn:not(:is(:disabled,.solid)):hover{background-color:color-mix(in srgb, transparent 90%, var(--text))}.part:not(.active):hover,.next-song:hover{background-color:color-mix(in srgb, var(--field) 88%, var(--text))}.list-row:has(>.list-main:hover){background-color:color-mix(in srgb, var(--field) 88%, var(--text))}.plan-row:not(.current):has(>.list-main:hover){background-color:color-mix(in srgb, var(--field) 88%, var(--text))}.btn-primary:not(:disabled):hover,.btn-ink:not(:disabled):hover,.btn-danger:not(:disabled):hover,.icon-btn.solid:not(:disabled):hover,.tile.ink:hover,.tile.on:hover,.room-chip.ink:hover,.chip.active:hover{filter:brightness(1.15)}:root[data-theme=dark] .btn-ink:not(:disabled):hover,:root[data-theme=dark] .tile.ink:hover,:root[data-theme=dark] .room-chip.ink:hover,:root[data-theme=dark] .chip.active:hover{filter:brightness(.9)}.choose-card:not(:disabled):hover{transform:translateY(-2px)}.tab:not(.active):hover{color:var(--text)}.link-btn:hover,.home-foot:hover{text-decoration:underline}}.input-code{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;font-size:20px}.input-code::placeholder{font-family:var(--font);text-transform:none;letter-spacing:normal;font-size:16px}.search{position:relative}.search svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.search .input{padding-left:48px}.inline-form{gap:8px;display:flex}.inline-form .input{flex:1;min-width:0}.inline-form .btn{min-height:54px}input[type=range]{width:100%;accent-color:var(--accent);height:32px}.switch-row{cursor:pointer;align-items:center;gap:12px;min-height:52px;display:flex}.switch-row input{width:24px;height:24px;accent-color:var(--accent);flex:none}.choice{border-radius:var(--radius);background:var(--field);grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.choice button{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;min-height:42px;padding:0 10px;font-size:.92rem;font-weight:700}.choice button.active{background:var(--ink);color:var(--ink-text)}.card{--field:var(--bg);background:var(--surface);border-radius:var(--radius);padding:18px}.card-ink{background:var(--ink);color:var(--ink-text)}.section-head{justify-content:space-between;align-items:baseline;gap:12px;margin:8px 0 0;display:flex}.section-head h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;font-size:1.3rem;font-weight:600}.link-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:.92rem;font-weight:700;text-decoration:none}.chip{border-radius:var(--radius);background:var(--field);white-space:nowrap;cursor:pointer;border:0;align-items:center;gap:6px;min-height:40px;padding:0 14px;font-size:.9rem;font-weight:700;display:inline-flex}.chip.active{background:var(--ink);color:var(--ink-text)}.badge{background:var(--ink-soft);white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.badge.ink{background:var(--ink);color:var(--ink-text)}.badge.warn{background:var(--danger-soft);color:var(--danger)}.list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.list>.list-row{content-visibility:auto;contain-intrinsic-size:auto 64px}.list-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:64px;padding:12px 10px;transition:background-color .15s;display:flex}.list-row:last-child{border-bottom-color:#0000}.list-row.current{background:var(--ink-soft);border-radius:var(--radius);border-bottom-color:#0000}.list-main{text-align:left;cursor:pointer;min-width:0;color:inherit;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:0;text-decoration:none;display:flex}.list-title{align-items:center;gap:8px;max-width:100%;font-weight:700;display:flex}.list-title>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.85rem;overflow:hidden}.num{width:28px;color:var(--dim);font-family:var(--font-display);font-variant-numeric:tabular-nums;flex:none;place-items:center;font-size:1.3rem;display:grid}.list-row.current .num{color:var(--accent)}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:36px 20px;display:flex}.empty svg{color:var(--gold)}.empty h2{color:var(--text);font-family:var(--font-display);text-transform:uppercase;font-size:1.6rem;font-weight:600}.notice{border-radius:var(--radius);background:var(--field);padding:14px 16px;font-size:.95rem}.notice.warn{background:var(--danger-soft);color:var(--text);font-weight:600}details.more{--field:var(--bg);border-radius:var(--radius);background:var(--surface)}details.more>summary{cursor:pointer;align-items:center;gap:10px;padding:16px 18px;font-weight:700;list-style:none;display:flex}details.more>summary::-webkit-details-marker{display:none}details.more>summary .chev{margin-left:auto;transition:transform .2s}details.more[open]>summary .chev{transform:rotate(180deg)}details.more>.more-body{flex-direction:column;gap:14px;padding:0 18px 18px;display:flex}.appbar{z-index:20;padding:12px 16px;padding-top:max(12px, env(safe-area-inset-top));background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:10px;display:flex;position:sticky;top:0}.appbar-title{text-align:center;flex-direction:column;flex:1;align-items:center;min-width:0;display:flex}.appbar-title strong{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:1.2rem;font-weight:600;overflow:hidden}.appbar-title span{color:var(--muted);font-size:.8rem;font-weight:600}.page{max-width:640px;padding:8px 22px calc(var(--dock-h) + 36px + env(safe-area-inset-bottom));flex-direction:column;gap:14px;margin:0 auto;display:flex}.page.no-dock{padding-top:16px;padding-bottom:40px}.room{isolation:isolate;min-height:100dvh;position:relative}.room-bar{max-width:640px;padding:max(20px, env(safe-area-inset-top)) 22px 12px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 auto;display:flex}.room-bar .icon-btn{background:var(--field);border-radius:var(--radius);border:0;width:36px;height:36px}.room-chip{border-radius:var(--radius);background:var(--field);height:36px;color:var(--text);white-space:nowrap;cursor:pointer;border:0;align-items:center;gap:6px;padding:0 12px;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.room-code{font-family:var(--font-display);letter-spacing:.06em;cursor:default;font-size:1rem;font-weight:500}.room-chip.ink{background:var(--ink);color:var(--ink-text);margin-left:auto}.live-dot{background:var(--danger);border-radius:50%;width:8px;height:8px}.live-dot.on{background:var(--live)}.tabbar{z-index:30;height:calc(var(--dock-h) + env(safe-area-inset-bottom));padding:0 max(0px, calc((100% - 640px) / 2)) env(safe-area-inset-bottom);border-top:1px solid var(--border);background:var(--bg);grid-template-columns:1fr 1fr;display:grid;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--dim);cursor:pointer;background:0 0;border:0;font-size:.95rem;font-weight:800;transition:color .15s;position:relative}.tab.active{color:var(--text)}.tab.active:before{content:"";background:var(--text);width:min(150px,100% - 44px);height:3px;position:absolute;top:-2px}.tab:first-child.active:before{left:22px}.tab:last-child.active:before{right:22px}.tab-count{font-family:var(--font-display);color:var(--dim);font-weight:500}.toast,.snackbar{left:50%;bottom:calc(var(--dock-h) + 16px + env(safe-area-inset-bottom));z-index:40;border-radius:var(--radius);color:#fff;width:min(596px,100% - 44px);min-height:54px;box-shadow:var(--lift);background:#121212;align-items:center;gap:10px;padding:8px 18px;font-size:.95rem;display:flex;position:fixed;transform:translate(-50%)}.snackbar{justify-content:space-between}.snackbar span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.snackbar button{min-height:40px;color:var(--gold-light);cursor:pointer;background:0 0;border:0;flex:none;padding:0 4px;font-weight:800}.toast svg{color:var(--live)}.banner{border-radius:var(--radius);background:var(--danger);color:#fff;text-align:center;max-width:596px;margin:0 auto 8px;padding:10px 16px;font-size:.9rem;font-weight:700}.loading{min-height:100dvh;color:var(--muted);place-items:center;font-weight:600;display:grid}.home{isolation:isolate;max-width:640px;min-height:100dvh;padding:0 24px max(28px, env(safe-area-inset-bottom)) 36px;flex-direction:column;gap:18px;margin:0 auto;display:flex;position:relative}.home.landing{max-width:none}.home:before{content:"";z-index:-1;background:var(--border);width:1px;position:absolute;top:0;bottom:0;left:24px}.home-hero{isolation:isolate;flex-direction:column;min-height:400px;margin:0 -24px 0 -36px;padding:0 24px 0 36px;display:flex;position:relative}.home-actions{flex-direction:column;flex:1;gap:18px;width:100%;max-width:560px;display:flex}.home-top{min-height:40px;margin-top:max(30px, env(safe-area-inset-top));justify-content:space-between;align-items:center;display:flex}.home-hero .home-top{justify-content:flex-end}.home-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;color:var(--text);margin:14px 0 0 -6px;font-size:clamp(3.6rem,18vw,5rem);font-weight:700;line-height:.9}.theme-switch{background:var(--bg)}.quote{border-radius:var(--radius);background:var(--bg);flex-direction:column;align-self:flex-start;gap:10px;width:min(15rem,58%);margin:36px 0 0;padding:14px 16px;display:flex}.quote-text{text-wrap:pretty;margin:0;font-size:1.06rem;font-weight:700;line-height:1.35}.quote-ref{color:var(--muted);font-size:.75rem;font-weight:600}.choose{flex-direction:column;gap:12px;display:flex}.choose .btn-outline{background:var(--bg)}@media (min-width:960px){.home.landing{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);align-items:center;column-gap:88px;max-width:1240px;padding:0 56px 0 72px;display:grid}.home.landing:before{left:40px}.home-hero{justify-content:center;min-height:100dvh;margin:0 0 0 -72px;padding:0 0 0 72px}.home-hero .home-top{z-index:10;margin:0;position:fixed;top:28px;right:32px}.home-title{margin:0 0 0 -8px;font-size:clamp(6rem,9vw,9rem)}.quote{width:min(22rem,70%);margin-top:48px;padding:18px 20px}.quote-text{font-size:1.4rem}.quote-ref{font-size:.85rem}.shapes-home .circle{width:380px;height:380px;top:calc(50% - 20px);right:0}.shapes-home .cross-mark{width:120px;height:190px;top:calc(50% + 75px);right:130px}.shapes-home .cross-mark:before{width:22px;height:190px;left:49px}.shapes-home .cross-mark:after{width:120px;height:22px;top:50px}.shapes-home .arch{border-radius:85px 85px 0 0;width:170px;height:200px;top:calc(50% + 110px);left:0}.home-actions{flex:none;justify-content:center;min-height:100dvh;padding:96px 0 56px}.home-actions .home-foot{margin-top:12px}}.join{flex-direction:column;gap:8px;display:flex}.home-foot{color:var(--text);justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;font-size:.95rem;font-weight:700;text-decoration:none;display:flex}.brand{font-family:var(--font-display);letter-spacing:.01em;text-transform:uppercase;color:var(--text);align-items:center;gap:8px;font-size:1.6rem;font-weight:700;text-decoration:none;display:flex}.verse{border-radius:var(--radius);background:var(--ink);color:var(--ink-text);flex-direction:column;gap:14px;padding:22px;display:flex}.verse blockquote{font-family:var(--font-display);text-transform:uppercase;margin:0;font-size:clamp(2rem,9vw,2.8rem);font-weight:600;line-height:.95}.verse-ref{opacity:.8;font-size:.9rem}.choose-card{border:2px solid var(--text);border-radius:var(--radius);background:var(--bg);text-align:left;cursor:pointer;color:var(--text);flex-direction:column;align-items:flex-start;gap:6px;padding:18px 20px;text-decoration:none;transition:transform .25s cubic-bezier(.2,.8,.2,1);display:flex;position:relative}.choose-card.ink{border-color:var(--ink);background:var(--ink);color:var(--ink-text)}.choose-card .choose-icon,.screen-card-top .choose-icon{background:var(--lit);color:#fff;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:grid}.choose-card strong{font-size:1.2rem;font-weight:800}.choose-card>span:not(.choose-icon){opacity:.75;font-size:.88rem}.now-head{flex-direction:column;gap:4px;margin-top:14px;display:flex}.now-head .muted{font-weight:600}.now-head h1{font-family:var(--font-display);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:2.1rem;font-weight:600;line-height:1.05;display:-webkit-box;overflow:hidden}.preview{touch-action:pan-y;border-radius:var(--radius);margin-top:4px;position:relative;overflow:hidden;box-shadow:0 18px 30px #12121240}.preview .slide-scaler{box-shadow:none;border-radius:0}.preview-label{color:#fff;pointer-events:none;background:#0000008c;border-radius:4px;padding:2px 8px;font-size:.72rem;font-weight:700;position:absolute;top:8px;left:8px}.preview-blank{color:#fff;pointer-events:none;place-items:center;font-weight:700;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.now-caption{justify-content:space-between;align-items:baseline;gap:12px;font-size:.9rem;display:flex}.now-caption strong{text-transform:uppercase;white-space:nowrap;font-weight:800}.now-caption span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.progress{background:color-mix(in srgb, var(--text) 12%, transparent);border-radius:2px;height:4px;margin-top:-6px}.progress span{background:var(--accent);border-radius:2px;height:100%;transition:width .3s;display:block}.nav-row{grid-template-columns:80px 1fr;gap:10px;margin-top:8px;display:grid}.nav-row .btn-back{background:var(--bg);min-height:80px;padding:0}.nav-row .btn-next{min-height:80px;font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-size:1.75rem;font-weight:600}.tiles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tiles>:last-child:nth-child(odd){grid-column:1/-1}.tile{border-radius:var(--radius);background:var(--field);min-height:56px;color:var(--text);text-align:center;cursor:pointer;border:0;padding:6px 12px;font-size:.95rem;font-weight:800;line-height:1.2;transition:background-color .15s,color .15s,transform .25s cubic-bezier(.2,.8,.2,1)}.tile.on{background:var(--accent);color:var(--accent-text)}.tile.ink{background:var(--ink);color:var(--ink-text)}.tile.ink.on{background:var(--danger);color:#fff}.tile:disabled{opacity:.35;cursor:default}.kbd-hint{color:var(--muted);margin-top:-4px;font-size:.8rem;display:none}@media (hover:hover) and (pointer:fine){.kbd-hint{display:block}}kbd{border:1px solid var(--border);background:var(--field);min-width:1.6em;font-family:var(--font);text-align:center;color:var(--text);border-radius:4px;padding:1px 6px;font-size:.75rem;font-weight:700;display:inline-block}.row-link{border-radius:var(--radius);background:var(--field);width:100%;min-height:52px;color:var(--text);text-align:left;cursor:pointer;border:0;justify-content:space-between;align-items:center;padding:0 16px;font-size:.95rem;font-weight:700;text-decoration:none;display:flex}.parts{flex-direction:column;margin:0;padding:0;list-style:none;display:flex;position:relative}.parts:before{content:"";background:var(--border);width:1px;position:absolute;top:22px;bottom:22px;left:23px}.part{border-radius:var(--radius);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:14px;padding:11px 14px 11px 16px;transition:background-color .15s,transform .25s cubic-bezier(.2,.8,.2,1);display:flex;position:relative}.part-dot{border:2px solid var(--text);background:var(--bg);border-radius:50%;flex:none;width:16px;height:16px;margin-top:2px;transition:background-color .2s,border-color .2s}.part.past .part-dot{border-color:var(--dim);background:var(--dim)}.part-body{flex-direction:column;gap:2px;min-width:0;display:flex}.part.active{background:var(--accent);color:var(--accent-text)}.part.active .part-dot{border-color:var(--accent-text);background:var(--accent-text)}.part.active .part-text{color:inherit;opacity:.8}.part-label{font-size:.92rem;font-weight:800}.part-text{color:var(--muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.85rem;display:-webkit-box;overflow:hidden}.next-song{border-radius:var(--radius);background:var(--field);text-align:left;cursor:pointer;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:16px;display:flex}.next-song>div{flex:1;min-width:0}.steps{flex-direction:column;margin:0;padding:0;list-style:none;display:flex;position:relative}.steps:before{content:"";background:var(--border);width:1px;position:absolute;top:40px;bottom:40px;left:21px}.step{align-items:center;gap:14px;padding:14px 0;display:flex}.step-mark{background:var(--bg);border:2px solid var(--text);width:44px;height:44px;font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:1.2rem;font-weight:600;display:grid;position:relative}.step.done .step-mark{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.step-body{flex:1;min-width:0}.step-body strong{display:block}.room.wide{--dock-h:0px}.room.wide .room-bar{max-width:1320px;padding-inline-start:40px;padding-inline-end:40px}.room-split{grid-template-columns:minmax(0,1fr) minmax(360px,440px);align-items:start;gap:56px;max-width:1320px;margin:0 auto;padding:8px 40px 48px;display:grid}.room-main,.room-side{flex-direction:column;gap:14px;min-width:0;display:flex}.room-side{scrollbar-width:thin;max-height:calc(100dvh - 32px);padding:0 4px 16px;position:sticky;top:16px;overflow-y:auto}.room-split .preview{align-self:center;width:min(100%,max(360px,177.778dvh - 728.889px))}.room-split .tiles{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.room-split .tiles>:last-child:nth-child(odd){grid-column:auto}.plan-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-top:10px;display:flex}.plan-title{font-family:var(--font-display);text-transform:uppercase;font-size:3.5rem;font-weight:700;line-height:.9}.plan-head .btn{min-height:46px;padding:0 18px;font-size:.95rem}.plan-tools{justify-content:flex-end;margin:-8px 0 -4px;display:flex}.plan-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.plan-row{border-radius:var(--radius);background:var(--field);align-items:center;gap:14px;min-height:64px;padding:8px 12px 8px 16px;transition:background-color .15s;display:flex}.plan-row.past{background:var(--surface-2);color:var(--dim)}.plan-row.past .list-sub{color:inherit}.plan-row.current{background:var(--accent);min-height:72px;color:var(--accent-text)}.plan-num{width:22px;font-family:var(--font-display);font-variant-numeric:tabular-nums;flex:none;font-size:1.4rem}.plan-now{font-size:.75rem;font-weight:700}.plan-row.current .list-title{font-size:1.06rem;font-weight:800}.plan-row .icon-btn{border-color:#0000}.screen-card{flex-direction:column;gap:14px;display:flex}.screen-card-top{align-items:center;gap:12px;display:flex}.state{color:var(--ok);font-size:.85rem;font-weight:700}.state.off{color:var(--danger)}.size-row{grid-template-columns:48px 1fr 48px;align-items:center;gap:10px;display:grid}.scanner{border-radius:var(--radius);aspect-ratio:1;background:#000;place-items:center;max-height:46vh;display:grid;overflow:hidden}.scanner video{object-fit:cover;width:100%;height:100%}.scanner-error{color:#ddd;text-align:center;padding:20px}.config-preview{z-index:5;position:sticky;top:70px}.tabs-row{border-radius:var(--radius);background:var(--field);scrollbar-width:none;gap:2px;padding:4px;display:flex;overflow-x:auto}.tabs-row .chip{border-radius:var(--radius-sm);background:0 0;flex:1;justify-content:center;padding:0 12px}.tabs-row .chip.active{background:var(--ink);color:var(--ink-text)}.tabs-row::-webkit-scrollbar{display:none}.lyrics-input{resize:vertical;min-height:300px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:15px}.section-preview{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.section-preview li{border-radius:var(--radius);background:var(--field);padding:12px 14px;font-size:.88rem}.section-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px;font-size:.75rem;font-weight:700;display:block}.order-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.order-list li{border-radius:var(--radius);background:var(--field);align-items:center;gap:8px;padding:8px 8px 8px 12px;display:flex}.order-list .icon-btn{border-color:#0000}.order-name{flex-direction:column;flex:1;min-width:0;display:flex}.order-name b{font-size:.95rem}.order-name span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.chips-wrap{flex-wrap:wrap;gap:8px;display:flex}.score-editor{flex-direction:column;gap:12px;display:flex}.section-list{flex-direction:column;gap:6px;max-height:40vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.section-list li{border-radius:var(--radius);background:var(--field);border:2px solid #0000;align-items:center;gap:6px;padding:6px 8px;display:flex}.section-list li.selected{border-color:var(--text)}.section-list .icon-btn{border-color:#0000}.section-no{border-radius:var(--radius-sm);min-width:2.2em;min-height:40px;font-family:var(--font-display);text-align:center;cursor:pointer;background:0 0;border:0;padding:0;font-size:1.1rem}.score-page-canvas:empty{aspect-ratio:1/1.414}.input-small{flex:1;min-width:0;min-height:40px;padding:6px 12px}.section-where{white-space:nowrap}@media (min-width:900px){.page{max-width:760px}.appbar{padding-inline-start:max(16px,50% - 380px);padding-inline-end:max(16px,50% - 380px)}}.btn-block,.btn-lg{white-space:normal;text-wrap:balance}.btn-block{text-align:center}@media (prefers-reduced-motion:reduce){.btn,.icon-btn,.tile,.shape,.choose-card{transition:none}}.slide-scaler{background:#000;border-radius:10px;width:100%;position:relative;overflow:hidden;box-shadow:0 2px 10px #0003}.slide-scaler>.slide{position:absolute;top:0;left:0}.slide{flex-direction:column;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:600;display:flex;position:relative;overflow:hidden}.slide.theme-dark{color:#fff;background:#000}.slide.theme-light{color:#111;background:#fff}.slide-title{opacity:.55;white-space:nowrap;text-overflow:ellipsis;flex:none;font-weight:500;overflow:hidden}.slide-body{flex:1;min-height:0;position:relative}.slide-layer{position:absolute;top:0;bottom:0;left:0;right:0}.slide-layer.entering{animation:.35s ease-out both fade-in}.slide-layer.leaving{animation:.3s ease-in both fade-out}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}.slide-fit{flex-direction:column;justify-content:center;height:100%;display:flex;overflow:hidden}.slide-text{overflow-wrap:anywhere;text-wrap:balance}.slide-blank{opacity:0;pointer-events:none;background:#000;transition:opacity .4s;position:absolute;top:0;bottom:0;left:0;right:0}.slide-blank.on{opacity:1}.display-page{color:#fff;cursor:none;-webkit-user-select:none;user-select:none;background:#000;font-family:Plus Jakarta Sans Variable,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.display-message{color:#888;place-items:center;height:100%;font-size:3vh;display:grid}.pairing{justify-content:center;align-items:center;gap:6vw;height:100%;padding:5vh 6vw;display:flex}.pairing-qr{aspect-ratio:1;background:#fff;border-radius:2vh;flex:none;width:min(60vh,42vw);padding:2vh}.pairing-qr img{width:100%;height:100%;image-rendering:pixelated}.pairing-info{max-width:40vw;font-size:2.6vh;line-height:1.4}.pairing-info h1{margin-bottom:2vh;font-size:5.5vh}.pairing-info p{color:#bbb}.pairing-info .muted{color:#666}.pairing-code{letter-spacing:.08em;white-space:nowrap;font-variant-numeric:tabular-nums;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:min(12vh,6.5vw);font-weight:800;line-height:1.1}@media (orientation:portrait){.pairing{text-align:center;flex-direction:column}.pairing-qr{width:min(70vw,45vh)}.pairing-info{max-width:90vw}.pairing-code{font-size:min(10vh,13vw)}}.display-idle{color:#444;flex-direction:column;justify-content:center;align-items:center;gap:1.5vh;font-size:6vh;font-weight:700;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.display-idle.theme-light{color:#bbb}.display-idle-code{letter-spacing:.1em;font-size:4vh}.display-idle-hint{font-size:2.4vh;font-weight:400}.display-offline{opacity:.8;background:#e5484d;border-radius:50%;width:1.4vh;height:1.4vh;animation:1.5s ease-in-out infinite pulse;position:absolute;top:1.5vh;right:1.5vh}@keyframes pulse{50%{opacity:.3}}.display-hint{color:#aaa;cursor:pointer;background:#ffffff1f;border-radius:1vh;padding:1vh 2vh;font-size:2vh;position:absolute;bottom:2vh;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.slide-layer.entering,.slide-layer.leaving{animation-duration:10ms}.display-offline{animation:none}}.score-view{place-items:center;width:100%;height:100%;display:grid}.score-crop{background:#fff;position:relative;overflow:hidden}.score-crop img{-webkit-user-select:none;user-select:none;max-width:none;position:absolute}.theme-dark .score-crop{filter:invert()}.score-error{color:#888;font-size:.4em}.score-pages{flex-direction:column;gap:16px;display:flex}.score-page{width:100%;position:relative}.score-page-label{color:var(--muted);margin-bottom:4px;font-size:.8rem}.score-page-canvas{border:1px solid var(--border);background:#fff;min-height:200px}.score-page-canvas canvas{display:block}.score-page-body{position:relative}.score-page-overlay{touch-action:pan-y;position:absolute;top:0;bottom:0;left:0;right:0}.score-page-overlay.drawing{touch-action:none;cursor:crosshair}.score-rect{border:2px solid var(--ink);cursor:pointer;background:#0f24401f;border-radius:4px;padding:0;position:absolute}.score-rect span{background:var(--ink);color:#fff;border-radius:4px;padding:0 6px;font-size:.75rem;font-weight:700;position:absolute;top:2px;left:2px}.score-rect.selected{background:#f59e0b2e;border-color:#f59e0b}.score-rect.drawing{pointer-events:none;border-style:dashed}.double{animation:.35s ease-out both fade-in;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.double-strip{will-change:transform}.double-slot{position:relative;overflow:hidden}.double-slot.upcoming{opacity:.4}.double-slot.current{opacity:1}.pairing-brand{text-transform:uppercase;letter-spacing:.06em;color:#fff;align-items:center;gap:1vh;font-family:Oswald Variable,Arial Narrow,sans-serif;font-size:3.4vh;display:flex;position:absolute;top:4vh;left:5vw}.pairing-brand svg,.display-idle svg{color:#d6b25e;width:1.1em;height:1.1em}.pairing-info h1,.display-idle{text-transform:uppercase;font-family:Oswald Variable,Arial Narrow,sans-serif}.slide{font-family:Plus Jakarta Sans Variable,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.align-center .slide-text{text-align:center}.align-left .slide-text{text-align:left}.display-idle-hint{text-transform:none;font-family:Plus Jakarta Sans Variable,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}
