:root{color-scheme:dark;--base: #2b0b42;--raise: #3e145c;--raise-2: #57217d;--line: #7d37ae;--text: #f8efff;--muted: #dabeef;--accent: #e6a8ff;--card: #391155;--card-line: #642a8d;--mine-bg: #5a1d86;--mine-line: rgba(230, 170, 255, .65);--waiting: #c9a4ff;--breaking: #55d98d;--hold: #f5b73d;--done: #ff5c7a;--on-waiting: #24103f;--on-breaking: #24103f;--on-hold: #24103f;--on-done: #24103f;--brand: #b57bff;--on-brand: #24103f;--btn: var(--raise-2);--on-btn: var(--text);--btn-mine: #2b0b42;--t-bg: #f5eaff;--t-ink: #24103f;--t-soft: #6a5a92;--t-note: #e4d6f7;--t-line: rgba(36, 16, 63, .35);--t-stub-bg: #3b1d7a;--t-stub-ink: #ffffff;--note-bg: #f5eaff;--note-ink: #24103f;--note-label: #5b2fb0;--note-line: #b57bff;--display: "Big Shoulders Display", "Arial Narrow", Impact, sans-serif;--body: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--pulse: 2.4s;--phase: 0ms}:root[data-theme=light]{color-scheme:light;--base: #efe6ff;--raise: #ffffff;--raise-2: #e4d6ff;--line: #cbb8f2;--text: #2a1458;--muted: #65509f;--accent: #6a3fd0;--card: #ffffff;--card-line: #d6c6f6;--mine-bg: #f1e8ff;--mine-line: rgba(106, 63, 208, .55);--waiting: #7f55e6;--breaking: #1a7a4f;--hold: #f5b73d;--done: #c4223f;--on-waiting: #ffffff;--on-breaking: #ffffff;--on-hold: #24103f;--on-done: #ffffff;--brand: #6a3fd0;--on-brand: #ffffff;--btn: #e4d6ff;--on-btn: #2a1458;--btn-mine: #cbb8f2;--t-bg: #3b1d7a;--t-ink: #f6f0ff;--t-soft: #cbbcf0;--t-note: #52308f;--t-line: rgba(246, 240, 255, .4);--t-stub-bg: #f1e8ff;--t-stub-ink: #2a1458;--note-bg: #3b1d7a;--note-ink: #f6f0ff;--note-label: #e6d6ff;--note-line: #6a3fd0}*{box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html[data-text=large]{font-size:125%}body{margin:0;background:var(--base);color:var(--text);font:1rem/1.5 var(--body);letter-spacing:.01em}[hidden]{display:none!important}button,input,select{font:inherit}button{cursor:pointer}a{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.wrap{max-width:1280px;margin:0 auto;padding:14px 16px 6px}.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;padding:8px 18px;background:var(--raise);border:1px solid var(--line);border-radius:26px}.brand{display:flex;align-items:center;gap:12px}.brand img{height:44px;width:auto;display:block}.brand .title{font-family:var(--display);font-weight:800;font-size:1.75rem;line-height:1;letter-spacing:.01em}.me{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}.me .name{font-weight:700}.role{font-size:.8125rem;font-weight:700;padding:2px 11px;border-radius:999px;background:var(--btn);color:var(--on-btn)}.role.testing{outline:2px dashed var(--accent);outline-offset:1px}.linkbtn{background:none;border:0;padding:4px 0;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.linkbtn:hover{color:var(--text)}.btn{font-weight:700;font-size:.875rem;line-height:1.25;border-radius:999px;padding:5px 13px;min-height:28px;border:0;background:var(--btn);color:var(--on-btn)}.btn:hover{filter:brightness(1.08)}.btn,.icon-btn,.linkbtn,.jump a{transition:filter .15s ease,transform .15s ease,color .15s ease,background-color .15s ease}.btn:active,.icon-btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default}.btn.go{background:var(--breaking);color:var(--on-breaking)}.btn.finish{background:var(--done);color:var(--on-done)}.btn.pause{background:var(--hold);color:var(--on-hold)}.btn.back{background:var(--waiting);color:var(--on-waiting)}.btn.primary{background:var(--brand);color:var(--on-brand)}.btn.twitch{background:#9146ff;color:#fff}.btn.twitch:hover{background:#772ce8;filter:none}.btn.twitch{display:inline-flex;align-items:center;justify-content:center;gap:10px}.login-card .tw-icon{width:20px;height:20px;margin:0;display:block;flex:none}.login-card .tw-icon[hidden]{display:none}a.linkbtn{display:inline-block}.btn.med{font-size:1rem;padding:8px 18px;min-height:36px}.acts{display:flex;flex-wrap:wrap;gap:5px}.icon-btn{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--btn);color:var(--on-btn);border:0;padding:0}.icon-btn:hover{filter:brightness(1.08)}.icon-btn.text-toggle{font-weight:700;font-size:1rem;letter-spacing:0}:root[data-theme=dark] .ic-moon,:root[data-theme=light] .ic-sun{display:none}.testas{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;color:var(--muted)}.testas select{background:var(--btn);color:var(--on-btn);border:0;border-radius:999px;padding:4px 12px;font-weight:700}.switch{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-size:.9rem;color:var(--muted)}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch .track{width:34px;height:20px;border-radius:999px;background:var(--btn);position:relative;transition:background .15s}.switch .track:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--muted);transition:transform .15s,background .15s}.switch input:checked+.track{background:var(--brand)}.switch input:checked+.track:after{transform:translate(14px);background:var(--on-brand)}.switch input:focus-visible+.track{outline:3px solid var(--accent);outline-offset:2px}.sign{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin:10px 0 4px;padding:6px 10px 6px 16px;background:var(--raise);border:1px solid var(--line);border-radius:26px}.lamp{width:11px;height:11px;border-radius:50%;background:var(--done);flex:none}.sign.open .lamp{background:var(--breaking)}.sign strong{font-family:var(--display);font-size:1.5rem;font-weight:800;letter-spacing:.01em}.sign .sub{color:var(--muted);font-size:.9rem}.sign .spacer{flex:1}.alt{margin:6px 6px 10px;font-size:.9rem;color:var(--muted)}.alt summary{cursor:pointer;width:fit-content;text-decoration:underline;text-underline-offset:3px}.alt .altrow{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.alt input{background:var(--raise);border:1px solid var(--line);border-radius:999px;color:var(--text);padding:5px 14px;min-width:200px}.alt p{margin:6px 0 0;max-width:60ch}.tools{margin:8px 0 0;padding:7px 16px;border:1px dashed var(--line);border-radius:18px;font-size:.9rem;color:var(--muted)}.tools summary{cursor:pointer}.tools .row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}.tools .hint{flex-basis:100%;margin:2px 0 0;font-size:.875rem}.grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:20px;margin-top:14px;align-items:start}@media(max-width:900px){.grid{grid-template-columns:1fr;gap:0}}.sec{margin-bottom:18px}.sec h2,details.done-sec summary{font-family:var(--display);font-weight:800;font-size:1.625rem;line-height:1.1;margin:0 0 8px 4px;display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 10px;letter-spacing:.01em}details.done-sec summary{cursor:pointer;display:list-item}.sec h2 small,details.done-sec summary small{font-family:var(--body);font-size:.9rem;font-weight:400;color:var(--muted);margin-left:8px}.empty{padding:8px 6px;color:var(--muted)}.tag{font-family:var(--body);font-size:.8125rem;font-weight:700;padding:0 9px;border-radius:999px;border:1px solid currentColor;vertical-align:middle;position:relative;top:-1px;margin-left:6px;white-space:nowrap}.tag.yt{color:var(--muted)}.tag.you,.tag.ahead{color:var(--accent)}.ticket{--stub: 172px;position:relative;display:grid;grid-template-columns:minmax(0,1fr) var(--stub);background:var(--t-bg);color:var(--t-ink);border-radius:22px;margin-bottom:10px}.ticket{border-left:10px solid var(--breaking)}.ticket .body{padding:12px 16px 12px 20px;min-width:0}.ticket .stub{margin:10px 10px 10px 0;padding:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:16px}.ticket .who{font-family:var(--display);font-weight:900;font-size:2.25rem;line-height:1;overflow-wrap:anywhere}.ticket .item{font-size:1.125rem;margin-top:4px}.item .q{font-weight:700;color:var(--text)}.ticket .item .q{color:var(--t-ink)}.ticket .meta{font-size:.875rem;color:var(--t-soft);margin-top:3px}.ticket .acts{margin-top:8px}.ticket .num{font-family:var(--display);font-weight:800;font-size:2.6rem;line-height:1;letter-spacing:.03em;white-space:nowrap;font-variant-numeric:tabular-nums}.ticket .qty{font-size:1rem;font-weight:700;margin-top:6px}.ticket .tag.yt{color:var(--t-soft)}.ticket .tag.you,.ticket .tag.ahead{color:var(--t-ink)}.ticket.has-art{--art: 128px;grid-template-columns:var(--art) minmax(0,1fr) var(--stub)}.ticket .art{display:flex;align-items:center;justify-content:center;padding:10px 0 10px 12px}.ticket .art img{width:108px;height:108px;object-fit:contain;border-radius:16px;background:var(--t-note)}.ticket .art.multi{display:grid;grid-template-columns:1fr 1fr;gap:4px;align-content:center;width:116px;padding:10px 0 10px 12px;box-sizing:content-box}.ticket .art.multi img{width:54px;height:54px;border-radius:10px}.ticket[data-num=stub] .stub{background:var(--t-stub-bg);color:var(--t-stub-ink)}.ticket[data-num=stub] .qty{color:var(--t-stub-ink);opacity:.85}.ticket[data-num=plain] .stub{color:var(--t-ink)}.ticket[data-num=plain] .qty{color:var(--t-soft)}.ticket[data-num=badge] .num{background:var(--breaking);color:var(--on-breaking);padding:4px 16px;border-radius:999px;font-size:2.1rem}.ticket[data-num=badge] .qty{color:var(--t-soft)}@media(max-width:560px){.ticket{--stub: 112px}.ticket.has-art{--art: 92px}.ticket .art{padding:8px 0 8px 8px}.ticket .art img{width:76px;height:76px;border-radius:12px}.ticket .who{font-size:1.9rem}.ticket .num{font-size:2rem}.ticket[data-num=badge] .num{font-size:1.5rem;padding:3px 12px}}@media(max-width:420px){.ticket{--stub: 96px}.ticket.has-art{--art: 72px}.ticket .art{padding:8px 0 8px 6px}.ticket .art img{width:58px;height:58px;border-radius:10px}.ticket .who,.ticket .num{font-size:1.6rem}.ticket .body{padding:10px 10px 10px 12px}}@media(max-width:380px){.ticket.has-art{grid-template-columns:minmax(0,1fr) var(--stub)}.ticket .art{grid-column:1 / -1;justify-content:flex-start;padding:10px 0 0 12px}.ticket .art img{width:56px;height:56px}}@keyframes settle{0%{opacity:.2;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.ticket.fresh .num{animation:settle .35s ease-out}.lineup{list-style:none;margin:0;padding:0;display:grid;gap:5px}.row{--bar: var(--waiting);position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:3px 10px;padding:5px 12px 5px 17px;background:var(--card);border:1px solid var(--card-line);border-radius:16px;box-shadow:inset 5px 0 0 var(--bar);min-width:0}.row.hold{--bar: var(--hold)}.row.done{--bar: var(--done)}.row.done .who,.row.done .item{opacity:.8}.row.mine{background:var(--mine-bg);border-color:var(--mine-line)}.row.mine .btn:not(.go):not(.finish):not(.pause):not(.back){background:var(--btn-mine);color:var(--text)}.row .pos,.row .icon{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--bar)}.row .pos{font-weight:700;font-size:1rem;line-height:1;color:var(--on-waiting)}.row.hold .icon{color:var(--on-hold)}.row.done .icon{color:var(--on-done)}.row .main{flex:1 1 140px;min-width:0}.row .who{font-weight:700;font-size:1.1rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .item{font-size:.875rem;line-height:1.3;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .side{flex:none;text-align:right;line-height:1.15}.row .num{display:block;font-weight:700;font-size:1rem;line-height:1.25;color:var(--muted);font-variant-numeric:tabular-nums}.row .fine{display:block;font-size:.8125rem;line-height:1.25;color:var(--muted)}.note{display:block;width:fit-content;max-width:100%;margin-top:6px;padding:6px 16px 6px 12px;border-radius:22px;background:var(--note-bg);color:var(--note-ink);border:2px solid var(--note-line);font-size:.9375rem;line-height:1.4}.note .note-label{display:inline;margin-right:6px;font-weight:700;color:var(--note-label);white-space:nowrap}.note .note-label svg{display:inline-block;vertical-align:-3px;margin-right:5px}.note .note-label:after{content:":"}.note .note-text{overflow-wrap:anywhere}.note .btn{display:inline-block;vertical-align:middle;margin:-5px 0 -5px 8px;padding:2px 10px;min-height:26px;font-size:.8125rem}.note-line{flex-basis:100%;padding-left:38px}.ticket .note{background:var(--t-note);color:var(--t-ink);border-color:var(--t-ink)}.ticket .note .note-label{color:var(--t-ink)}.datehead{list-style:none;margin:8px 0 0}.datehead:first-child{margin-top:0}.datehead h3{margin:0;font-family:var(--body);font-size:.875rem;font-weight:700;color:var(--accent);display:flex;align-items:center;gap:10px}.datehead h3:after{content:"";flex:1;height:1px;background:var(--line)}.datehead .today{font-size:.75rem;font-weight:700;padding:0 8px;border-radius:999px;background:var(--btn);color:var(--on-btn)}.tag.edited{color:var(--hold)}.tools.edited ul{margin:6px 0 2px;padding-left:1.2rem}.tools.edited li{margin:3px 0}@keyframes open-glow{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 22px 2px color-mix(in srgb,var(--breaking) 60%,transparent)}}@keyframes open-ring{0%,to{box-shadow:0 0 color-mix(in srgb,var(--breaking) 85%,transparent)}50%{box-shadow:0 0 0 7px transparent}}@keyframes mine-glow{0%,to{box-shadow:inset 5px 0 0 var(--bar),0 0 0 0 transparent;border-color:var(--mine-line)}50%{box-shadow:inset 5px 0 0 var(--bar),0 0 16px 3px color-mix(in srgb,var(--accent) 60%,transparent);border-color:var(--accent)}}@keyframes mine-glow-next{0%,to{box-shadow:inset 5px 0 0 var(--bar),0 0 0 0 transparent;border-color:var(--mine-line)}50%{box-shadow:inset 5px 0 0 var(--bar),0 0 24px 6px color-mix(in srgb,var(--accent) 80%,transparent);border-color:var(--accent)}}@keyframes ticket-glow{0%,to{box-shadow:0 0 0 3px var(--mine-line),0 0 0 0 transparent}50%{box-shadow:0 0 0 3px var(--accent),0 0 26px 5px color-mix(in srgb,var(--accent) 60%,transparent)}}.sign.open{animation:open-glow var(--pulse) ease-in-out var(--phase) infinite}.sign.open .lamp{animation:open-ring var(--pulse) ease-out var(--phase) infinite}.row.mine{animation:mine-glow var(--pulse) ease-in-out var(--phase) infinite}.row.mine.next{animation-name:mine-glow-next}.ticket.mine{animation:ticket-glow var(--pulse) ease-in-out var(--phase) infinite}.enter{animation:slide-in .28s ease-out both}@keyframes slide-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.skel-list{display:grid;gap:5px}.skel{height:52px;border-radius:16px;background:linear-gradient(90deg,var(--card) 0%,var(--raise-2) 50%,var(--card) 100%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}.skel.big{height:112px;border-radius:22px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.toasts{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:50;display:grid;gap:8px;width:min(440px,calc(100vw - 28px));pointer-events:none}.toast{pointer-events:auto;cursor:pointer;background:var(--raise);color:var(--text);border:1px solid var(--line);border-left:6px solid var(--brand);border-radius:16px;padding:10px 16px;font-size:.95rem;box-shadow:0 6px 24px #0a001459;animation:toast-in .22s ease-out both}.toast.ok{border-left-color:var(--breaking)}.toast.error{border-left-color:var(--done)}.toast.leaving{animation:toast-out .22s ease-in both}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translateY(10px)}}dialog#dlg{width:min(460px,calc(100vw - 28px));max-height:calc(100vh - 40px);overflow:auto;padding:20px 22px 18px;background:var(--raise);color:var(--text);border:1px solid var(--line);border-radius:24px;box-shadow:0 10px 40px #0a001480}dialog#dlg.report{width:min(680px,calc(100vw - 28px))}dialog#dlg::backdrop{background:#0c021699}dialog#dlg h2{font-family:var(--display);font-weight:900;font-size:1.6rem;line-height:1.1;margin:0 0 8px}#dlgText p{margin:0 0 8px;color:var(--muted)}dialog#dlg.report #dlgText p{color:var(--text);font-size:.95rem;overflow-wrap:anywhere}#dlgInput{width:100%;margin:6px 0 4px;background:var(--card);border:1px solid var(--line);border-radius:999px;color:var(--text);padding:10px 18px;font-size:1rem}.dlg-acts{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.dlg-acts .btn[hidden]{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.store-back{margin:16px 0 0;font-size:.9rem}.store-back a{color:var(--muted)}@media(prefers-reduced-motion:reduce){.sign.open,.sign.open .lamp,.row.mine,.ticket.mine,.ticket.fresh .num,.enter,.toast,.toast.leaving,.skel{animation:none}.btn,.icon-btn,.linkbtn,.jump a{transition:none}.row.mine{border-color:var(--accent)}}#loginView{min-height:calc(100vh - 210px);display:flex;align-items:center;justify-content:center}.login-card{position:relative;width:100%;max-width:440px;margin:0 auto;padding:26px 26px 22px;background:var(--raise);border:1px solid var(--line);border-radius:30px;text-align:center}.login-card .corner-btns{position:absolute;top:16px;right:16px;display:flex;gap:6px}.login-card img{height:84px;width:auto;display:block;margin:0 auto 14px}.login-card h1{font-family:var(--display);font-weight:900;font-size:2.5rem;line-height:1;margin:0 0 10px}.login-card p{margin:0 0 14px}.login-card .btn.big+.btn.big{margin-top:10px}.guestbox{margin-top:12px}.guestbox label{display:block;font-size:.95rem;color:var(--muted);margin-bottom:6px}.guestbox input{width:100%;background:var(--card);border:1px solid var(--line);border-radius:999px;color:var(--text);padding:10px 18px;font-size:16px;text-align:center;margin-bottom:10px}.guestbox .hint{font-size:.9rem;color:var(--muted);margin:10px 0 0}.login-card .fine{color:var(--muted);font-size:.9rem;margin:14px 0 0}.btn.big{width:100%;padding:12px 18px;font-size:1.125rem;min-height:46px}.loading{color:var(--muted);margin-top:12px}.error{color:var(--text);background:color-mix(in srgb,var(--done) 25%,transparent);border:1px solid var(--done);border-radius:16px;padding:8px 14px;margin-top:12px}footer{max-width:1280px;margin:24px auto 6px;padding:14px 16px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}footer .links{display:flex;flex-wrap:wrap;gap:6px 20px;margin-bottom:8px}footer p{margin:0 0 5px;max-width:80ch}footer .version{font-size:.8125rem;opacity:.85}body>footer{text-align:center}body>footer .links{justify-content:center}body>footer p{margin-left:auto;margin-right:auto}.legal{max-width:760px;margin:0 auto;padding:16px;font-size:1.0625rem;line-height:1.65}.legal header{display:flex;align-items:center;gap:12px;margin-bottom:6px}.legal header img{height:48px;width:auto}.legal h1{font-family:var(--display);font-weight:900;font-size:2.25rem;margin:14px 0 2px}.legal h2{font-family:var(--display);font-weight:800;font-size:1.6rem;margin:26px 0 4px}.legal p,.legal li{max-width:72ch}.legal .updated{color:var(--muted);margin:0 0 18px}.legal footer{max-width:none;padding:14px 0 0;margin-top:34px}.notes .jump{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}.notes .jump a{text-decoration:none;padding:5px 14px;border-radius:999px;background:var(--btn);color:var(--on-btn);font-weight:700;font-size:.9rem}.notes .jump a:hover{filter:brightness(1.08)}.release{scroll-margin-top:16px;background:var(--raise);border:1px solid var(--line);border-radius:26px;padding:18px 24px 10px;margin:0 0 18px}.release h2{font-family:var(--display);font-weight:900;font-size:2rem;line-height:1.1;margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.release .date{color:var(--muted);font-size:.9rem;margin:2px 0 0}.release h3{font-family:var(--body);font-weight:700;font-size:1rem;color:var(--accent);margin:14px 0 4px}.release ul{margin:0 0 10px;padding-left:1.25rem}.release li{margin:5px 0}.pill{font-family:var(--body);font-weight:700;font-size:.8125rem;letter-spacing:0;padding:1px 11px;border-radius:999px;white-space:nowrap}.pill.latest{background:var(--breaking);color:var(--on-breaking)}.pill.soon{background:var(--hold);color:var(--on-hold);margin-left:4px}body.overlay{background:transparent;overflow:hidden;zoom:var(--scale, 1)}body.overlay .wrap{padding:6px;max-width:none}body.overlay .sec{margin-bottom:10px}body.overlay .sec h2{text-shadow:0 1px 4px rgba(0,0,0,.6);color:#fff}body.overlay .more{color:#fff;font-size:.9rem;padding:2px 8px;text-shadow:0 1px 4px rgba(0,0,0,.7)}body.overlay .debug{color:#fff;background:#0009;padding:6px 10px;border-radius:10px;font-size:.875rem}
