:root{font-family:BIZ UDPGothic,Yu Gothic UI,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;color:#151513;background:#efefeb;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#151513;--paper:#fbfbf8;--rule:#b7b7b0;--blue:#1649bd;--blue-dark:#0d2f7c;--red:#d52b1e;--muted:#65655e;--focus:#ffb74d}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;background:#efefeb}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1,h2,p{margin-top:0}.team-badge{display:inline-flex;align-items:center;gap:.45rem;font-weight:800;white-space:nowrap}.team-dot{width:.8rem;height:.8rem;background:var(--team-color);border:1px solid color-mix(in srgb,var(--team-color),#000 25%)}.team-badge.compact{font-size:.78rem}.connection-badge{display:inline-flex;align-items:center;gap:.4rem;font-weight:800}.connection-badge[data-state=CONNECTED]{color:#075f32}.connection-badge[data-state=OFFLINE],.connection-badge[data-state=FAILED]{color:#a51e17}.connection-badge[data-state=RECONNECTING] svg{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.primary-action{min-height:52px;border:0;background:var(--blue);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem}.form-error{color:#a11912;background:#fff0ed;border:1px solid #d52b1e;padding:.7rem .8rem;font-weight:700}.form-notice{color:#0b5734;background:#e6f6ee;border:1px solid #4a9f77;padding:.7rem .8rem;font-weight:700}.quiet-empty{color:var(--muted)}.home-page{min-height:100vh;background:var(--paper);display:flex;flex-direction:column}.home-header{height:66px;background:#111;color:#fff;padding:0 clamp(1.25rem,5vw,5rem);display:flex;align-items:center;gap:1.5rem}.home-header strong{font-size:1.35rem}.home-header span{color:#c9c9c3}.home-intro{display:grid;grid-template-columns:minmax(300px,1fr) minmax(420px,.85fr);gap:clamp(2rem,6vw,7rem);align-items:center;flex:1;padding:clamp(3rem,8vw,8rem) clamp(1.25rem,7vw,7rem)}.home-intro h1{font-size:clamp(3rem,7vw,6rem);line-height:.98;letter-spacing:-.04em;max-width:8ch;margin-bottom:2rem}.home-intro>div>p{font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.75;max-width:35em}.route-board{border-top:5px solid #111}.route-board a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;text-decoration:none;padding:1.3rem .4rem;border-bottom:1px solid #888;transition:background .18s ease-out,padding .18s ease-out}.route-board a:hover{background:#eef3ff;padding-inline:1rem}.route-board svg{color:var(--blue)}.route-board strong,.route-board small{display:block}.route-board strong{font-size:1.25rem}.route-board small{margin-top:.35rem;color:var(--muted)}.home-proof{background:#e6ebf7;border-top:1px solid #9baacc;display:flex;align-items:center;gap:1rem;padding:1.2rem clamp(1.25rem,7vw,7rem)}.home-proof p{margin:0;line-height:1.6}.auth-page,.join-page{min-height:100vh;background:#111;display:grid;place-items:center;padding:1.25rem}.auth-sheet,.join-sheet{width:min(100%,520px);background:var(--paper);padding:clamp(1.5rem,5vw,3.5rem);border-top:8px solid var(--blue)}.auth-brand,.participant-brand{text-decoration:none;font-size:1.1rem;font-weight:900}.auth-sheet h1,.join-sheet h1{font-size:clamp(2.2rem,7vw,3.5rem);line-height:1.08;letter-spacing:-.035em;margin:2.3rem 0 1rem}.auth-sheet>p,.join-sheet>p{line-height:1.65;color:#474741}.auth-sheet form,.join-sheet form{display:grid;gap:1rem;margin:2rem 0}.auth-sheet label,.join-sheet label{display:grid;gap:.45rem;font-weight:800}.auth-sheet input,.join-sheet input{width:100%;min-height:50px;border:1px solid #777;background:#fff;padding:.8rem;font-size:1rem}.join-team{margin:2rem 0 0;padding:1rem;background:color-mix(in srgb,var(--team-color),#fff 88%);border-block:1px solid var(--team-color);display:flex;justify-content:space-between;align-items:center}.join-team span{font-weight:700}.join-team strong{font-size:1.6rem;color:color-mix(in srgb,var(--team-color),#000 25%)}.privacy-note{display:flex;gap:.7rem;align-items:flex-start;color:var(--muted);font-size:.9rem;line-height:1.5}.admin-page{min-height:100vh;background:#e8e8e3;padding-bottom:56px}.admin-rail{height:58px;background:#111;color:#fff;display:flex;align-items:stretch;position:sticky;top:0;z-index:20}.rail-brand{display:flex;align-items:center;padding:0 1.25rem;text-decoration:none;font-size:1.25rem;font-weight:900;border-right:1px solid #555}.rail-item{display:flex;align-items:center;gap:.6rem;padding:0 1rem;border-right:1px solid #3d3d3d}.rail-item span{font-size:.72rem;color:#bbb}.rail-link{margin-left:auto;display:flex;align-items:center;gap:.5rem;padding:0 1rem;text-decoration:none;background:#fff;color:#111;font-weight:800}.admin-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(340px,.75fr);gap:10px;padding:10px}.admin-main,.admin-side{display:grid;gap:10px;align-content:start}.queue-sheet,.score-ledger,.puzzle-controls,.published-list{background:var(--paper);border:1px solid #8b8b84}.sheet-heading{min-height:58px;display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem;border-bottom:1px solid #888}.sheet-heading h2{font-size:1.2rem;margin:0}.sheet-heading p{font-size:.72rem;color:var(--muted);margin:.2rem 0 0}.sheet-count{font-variant-numeric:tabular-nums;background:#111;color:#fff;padding:.28rem .55rem}.queue-list{max-height:640px;overflow:auto}.queue-slip{border-bottom:1px solid #aaa}.queue-slip.selected{box-shadow:inset 0 0 0 3px var(--blue)}.slip-select{width:100%;min-height:66px;border:0;background:transparent;display:grid;grid-template-columns:44px 120px 90px minmax(220px,1fr) 86px 76px;gap:.7rem;align-items:center;text-align:left;padding:.45rem .7rem}.slip-select:hover{background:#f0f4ff}.slip-order{font-size:1.45rem;font-weight:900;font-variant-numeric:tabular-nums}.slip-person{font-size:.85rem;color:#555}.slip-question{font-size:1.02rem;font-weight:700}.slip-time{display:flex;align-items:center;gap:.3rem;font-variant-numeric:tabular-nums}.status-label{font-size:.75rem;text-align:center;padding:.35rem;border:1px solid #777;font-weight:800}.selected .status-label{background:var(--blue);border-color:var(--blue);color:#fff}.answer-desk{margin:0 .7rem .7rem;padding:.8rem;border-top:3px solid var(--blue);background:#eef2fb}.edit-field{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:.7rem;font-weight:800}.edit-field input{height:44px;border:1px solid #777;background:#fff;padding:.65rem}.answer-row{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:.8rem}.answer-row button{min-height:52px;border:1px solid #777;background:#fff;font-weight:800;padding:.45rem;position:relative}.answer-row button.active{background:var(--blue);color:#fff;border-color:var(--blue)}.answer-row kbd{display:block;font-size:.65rem;margin-top:.25rem;opacity:.7}.answer-actions{display:flex;gap:.5rem;align-items:stretch;margin-top:.8rem}.answer-actions button{min-height:48px}.mark-toggle,.dismiss-button{display:flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid #777;background:#fff;padding:.5rem .8rem;font-weight:800}.mark-toggle[aria-pressed=true]{background:#fff4cc;border-color:#a27600}.dismiss-button{margin-left:auto}.publish-stamp{width:130px;border:4px double var(--red);background:#fff;color:var(--red);font-size:1.7rem;font-weight:900;line-height:1}.publish-stamp span{display:block;font-size:.55rem;margin-top:.25rem}.empty-state{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--muted)}.score-ledger ol{list-style:none;margin:0;padding:0}.score-ledger li{display:grid;grid-template-columns:25px 8px 1fr auto 94px;align-items:center;gap:.5rem;min-height:46px;padding:.3rem .6rem;border-bottom:1px solid #ccc}.rank{font-weight:900}.team-index{height:28px}.score-ledger li>b{font-size:1.25rem;font-variant-numeric:tabular-nums}.score-ledger small{font-size:.65rem;margin-left:.2rem}.score-actions{display:grid;grid-template-columns:1fr 1fr;gap:3px}.score-actions button,.icon-text{min-height:32px;border:1px solid #777;background:#fff;font-weight:800}.icon-text{display:flex;align-items:center;gap:.3rem;padding:.35rem .55rem}.puzzle-controls{padding-bottom:.8rem}.select-row{display:grid;gap:.4rem;padding:.8rem 1rem;font-weight:800}.select-row select{height:42px;border:1px solid #777;background:#fff;padding:.4rem}.phase-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:0 1rem 1rem}.phase-strip button{border:1px solid #888;background:#fff;min-height:38px;font-size:.75rem}.phase-strip button.active{background:var(--blue);color:#fff;border-color:var(--blue);font-weight:800}.control-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:.9rem 1rem;border-block:1px solid #bbb}.hint-list{padding:.8rem 1rem}.subheading{display:flex;align-items:center;gap:.4rem;font-weight:900;margin-bottom:.5rem}.hint-list button{width:100%;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.5rem;border:0;border-top:1px solid #bbb;background:#fff;padding:.65rem;text-align:left}.hint-list button:last-of-type{border-bottom:1px solid #bbb}.hint-list b{font-size:.7rem;color:var(--blue)}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:0 1rem}.quick-actions button{min-height:42px;border:1px solid #777;background:#fff;display:flex;align-items:center;justify-content:center;gap:.4rem;font-weight:800}.quick-actions button:last-child{grid-column:1/-1;background:#111;color:#fff}.published-list ol{list-style:none;margin:0;padding:0;max-height:330px;overflow:auto}.published-list li{display:grid;grid-template-columns:1fr auto;gap:.35rem;padding:.7rem 1rem;border-bottom:1px solid #bbb}.published-list li>div{grid-column:1/-1;display:flex;justify-content:space-between}.published-list time{font-size:.75rem;color:var(--muted)}.published-list p{margin:0;line-height:1.45}.published-list li>strong{color:var(--blue)}.published-list .quiet-empty{padding:1rem}.admin-footer{position:fixed;bottom:0;left:0;right:0;height:56px;background:#111;color:#fff;display:flex;justify-content:space-between;align-items:center;z-index:19;padding:0 1rem}.admin-footer p{margin:0;font-size:.78rem}.admin-footer>div{display:flex;height:100%}.admin-footer button{border:0;border-left:1px solid #555;background:#111;color:#fff;padding:0 1rem;display:flex;align-items:center;gap:.4rem;font-weight:800}.settings-drawer{position:fixed;z-index:41;right:0;top:0;bottom:0;width:min(420px,94vw);background:var(--paper);padding:1.5rem;border-left:2px solid #111;display:grid;align-content:start;gap:1rem}.settings-drawer h2{font-size:2rem;margin:1rem 0}.settings-drawer label{display:grid;grid-template-columns:1fr 110px;align-items:center;gap:1rem;font-weight:800}.settings-drawer input{height:44px;border:1px solid #777;padding:.5rem}.drawer-close{justify-self:end;border:0;background:transparent;display:flex;align-items:center;gap:.3rem}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000007a;z-index:40}.play-page{min-height:100vh;background:#efefeb;padding-bottom:76px}.participant-header{position:sticky;top:0;z-index:10;min-height:58px;background:var(--paper);border-top:8px solid var(--team-color);border-bottom:1px solid #aaa;display:flex;justify-content:space-between;align-items:center;padding:.65rem 1rem}.play-page main{width:min(100%,680px);margin:auto}.current-puzzle{background:#111;color:#fff;padding:1.1rem 1rem 1.4rem}.current-puzzle>div{display:flex;justify-content:space-between;border-bottom:1px solid #666;padding-bottom:.6rem}.current-puzzle h1{font-size:clamp(1.6rem,6vw,2.3rem);line-height:1.35;margin:1.3rem 0 0;letter-spacing:-.02em}.closed-notice{display:flex;align-items:center;gap:.5rem;color:#ffbdad;margin:1rem 0 0;font-weight:800}.ask-sheet,.participant-history,.public-feed,.final-answer{background:var(--paper);border-bottom:1px solid #aaa;padding:1rem}.ask-sheet h2,.participant-history h2,.public-feed h2,.final-answer h2{font-size:1.25rem;margin:.2rem 0 .8rem}.ask-sheet textarea,.final-answer textarea{width:100%;resize:vertical;border:2px solid #666;padding:.85rem;font-size:16px;line-height:1.6;background:#fff}.input-meta{display:flex;justify-content:space-between;font-size:.76rem;color:var(--muted);margin-top:.35rem}.input-meta .danger{color:#b1261c;font-weight:900}.send-button,.retry-button,.final-answer button{width:100%;min-height:54px;border:0;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;gap:.6rem;font-weight:900;font-size:1.05rem}.retry-button{background:#fff;color:var(--blue);border:2px solid var(--blue);margin-top:.5rem}.section-title{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid #111}.section-title span{background:#111;color:#fff;padding:.25rem .5rem;font-weight:800}.participant-history article,.public-feed article{padding:.8rem 0;border-bottom:1px solid #bbb}.participant-history article p,.public-feed article p{margin:0 0 .6rem;line-height:1.5}.participant-history article>div{display:flex;justify-content:space-between;font-size:.82rem}.participant-history [data-status=PENDING],.participant-history [data-status=REVIEWING]{color:#8a5700;font-weight:800}.public-feed article{display:grid;grid-template-columns:1fr auto;gap:.4rem}.public-feed article p{grid-column:1/-1}.public-feed article>strong{color:var(--blue);font-size:1.1rem}.public-feed time{font-size:.72rem;color:var(--muted)}.quiet-empty svg{vertical-align:middle;margin-right:.4rem}.final-answer>p{color:var(--muted)}.final-answer button{background:#111;margin-top:.6rem}.participant-score{position:fixed;bottom:0;left:0;right:0;height:68px;background:#111;color:#fff;display:flex;align-items:center;gap:.7rem;padding:0 1rem;z-index:9}.participant-score strong{margin-left:auto;font-size:1.5rem}.ask-sheet.is-locked{background:#111;color:#fff;border-bottom-color:#111}.ask-sheet.is-locked h2{display:flex;align-items:center;gap:.45rem}.ask-locked-message{margin:-.25rem 0 .85rem;color:#ddd;font-size:.88rem;line-height:1.5}.ask-sheet.is-locked textarea{background:#292929;border-color:#666;color:#aaa}.ask-sheet.is-locked .input-meta{color:#aaa}.ask-sheet.is-locked .send-button{background:#555;color:#bbb}.ask-sheet.is-locked .form-error{color:#ffb6ae;background:#3d1714;border-color:#b1261c}.ask-sheet.is-locked .form-notice{color:#b9f0cf;background:#163b27;border-color:#4a9f77}.display-page{height:100vh;overflow:hidden;background:#070707;color:#fff;display:grid;grid-template-rows:72px 1fr auto}.display-page>header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #555;padding:0 2rem}.display-page>header>div:first-child{display:flex;align-items:baseline;gap:1.2rem}.display-page>header strong{font-size:1.65rem}.display-page>header span{color:#ccc}.display-state{display:flex;align-items:center;gap:1.4rem}.display-state b{background:var(--blue);padding:.55rem 1rem;font-size:1.2rem}.display-state span{display:flex;align-items:center;gap:.4rem}.display-state button{border:1px solid #777;background:#111;color:#fff;width:44px;height:44px}.display-content{min-height:0;display:grid;grid-template-rows:auto 1fr auto;padding:1.5rem 2.2rem;gap:1rem}.display-puzzle{display:grid;grid-template-columns:auto 1fr;gap:1rem 2rem;align-items:start}.display-puzzle>span{background:#fff;color:#111;padding:.45rem .75rem;font-weight:900}.display-puzzle h1{font-size:clamp(1.75rem,3.1vw,3.5rem);line-height:1.25;margin:0;letter-spacing:-.025em}.display-puzzle p{grid-column:2;margin:0;color:#ffdd75;font-size:1.25rem}.latest-question{align-self:center;justify-self:center;width:min(92%,1300px);background:#fff;color:#111;border-top:14px solid var(--team-color);padding:1.5rem 2rem;animation:reveal-question .48s cubic-bezier(.16,1,.3,1)}@keyframes reveal-question{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.latest-question blockquote{font-size:clamp(2.3rem,4.2vw,4.8rem);font-weight:900;line-height:1.2;margin:1rem 0;letter-spacing:-.03em}.latest-question>strong{display:block;color:var(--blue);font-size:clamp(1.8rem,3vw,3.2rem);text-align:right}.question-ticker{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem 1.5rem}.question-ticker article{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;border-top:1px solid #555;padding:.55rem 0;font-size:.9rem}.question-ticker strong{color:#8eb2ff}.waiting-display{display:grid;place-items:center;color:#aaa;font-size:2rem}.display-page>footer{border-top:1px solid #555}.display-page>footer ol{display:grid;grid-template-columns:repeat(8,1fr);list-style:none;margin:0;padding:0}.display-page>footer li{border-top:8px solid var(--team-color);border-right:1px solid #555;padding:.6rem .7rem;display:grid;gap:.2rem}.display-page>footer li span{font-size:.72rem;color:#aaa}.display-page>footer li strong{font-size:1rem}.display-page>footer li b{font-size:1.45rem;text-align:right}.solution-reveal{align-self:center;justify-self:center;width:min(85%,1300px);text-align:center}.solution-reveal>span{display:inline-block;background:var(--red);padding:.5rem 1.5rem;font-size:1.4rem;font-weight:900}.solution-reveal h1{font-size:clamp(3rem,5.7vw,6rem);line-height:1.2;margin:2rem 0}.solution-reveal p{font-size:1.7rem;color:#ddd;line-height:1.6}@media(max-width:1000px){.admin-workspace{grid-template-columns:1fr}.admin-side{grid-template-columns:1fr 1fr}.slip-select{grid-template-columns:38px 110px 80px minmax(180px,1fr) 70px}.status-label{display:none}.home-intro{grid-template-columns:1fr}.home-intro h1{font-size:clamp(3rem,12vw,5rem)}}@media(max-width:720px){.home-header span{display:none}.home-intro{padding-block:3.5rem}.home-intro h1{font-size:clamp(3rem,14vw,4.8rem)}.home-proof{align-items:flex-start}.admin-side{grid-template-columns:1fr}.rail-item{display:none}.slip-select{grid-template-columns:34px 1fr auto;grid-template-areas:"order team time" "order question question" "order person person"}.slip-order{grid-area:order}.slip-select .team-badge{grid-area:team}.slip-time{grid-area:time}.slip-question{grid-area:question}.slip-person{grid-area:person}.answer-row{grid-template-columns:repeat(2,1fr)}.edit-field{grid-template-columns:1fr}.answer-actions{display:grid;grid-template-columns:1fr 1fr}.dismiss-button{margin:0}.publish-stamp{width:auto;grid-column:1/-1}.admin-footer p{display:none}.display-page{overflow:auto;height:auto;min-height:100vh}.display-page>header{padding:0 1rem}.display-page>header>div:first-child span,.display-state span{display:none}.display-content{padding:1rem}.display-puzzle{grid-template-columns:1fr}.display-puzzle p{grid-column:1}.latest-question blockquote{font-size:2rem}.question-ticker{grid-template-columns:1fr}.display-page>footer ol{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.home-intro h1{max-width:10ch}.answer-row button{font-size:.8rem;line-height:1.25}.rooms-page{min-height:100vh;background:var(--paper)}.rooms-page>header{height:64px;background:#111;color:#fff;display:flex;align-items:center;gap:1.5rem;padding:0 clamp(1rem,5vw,5rem)}.rooms-page>header a{font-size:1.25rem;font-weight:900;text-decoration:none}.rooms-page>header span{color:#bbb}.rooms-page>section{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:clamp(2rem,6vw,6rem);padding:clamp(2rem,6vw,6rem)}.room-list h1{font-size:clamp(2.5rem,5vw,4.8rem);letter-spacing:-.04em;margin-bottom:.8rem}.room-list>p{color:var(--muted)}.room-list article{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;border-top:1px solid #888;padding:1rem 0}.room-list article:last-of-type{border-bottom:1px solid #888}.room-list article div{display:grid;gap:.4rem}.room-list article span{display:flex;align-items:center;gap:.3rem;color:var(--muted);font-size:.8rem}.room-list article b{font-variant-numeric:tabular-nums}.room-list article button{min-height:44px;border:1px solid #777;background:#fff;display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;font-weight:800}.create-room{background:#edf1fb;border-top:8px solid var(--blue);padding:1.5rem;display:grid;align-content:start;gap:1rem}.create-room h2{font-size:1.7rem;margin:0}.create-room label{display:grid;gap:.4rem;font-weight:800}.create-room input{height:48px;border:1px solid #777;padding:.7rem}.create-room p{color:#4d4d47;line-height:1.5}@media(max-width:760px){.rooms-page>section{grid-template-columns:1fr;padding:1.25rem}.room-list article{grid-template-columns:1fr auto}.room-list article button{grid-column:1/-1;justify-content:center}}.unpublish{border:0;background:transparent;color:#555;text-decoration:underline;font-size:.72rem;justify-self:end}.settings-drawer{overflow:auto}.drawer-action{min-height:46px;border:1px solid #777;background:#fff;display:flex;align-items:center;gap:.7rem;padding:.65rem .8rem;font-weight:800}.final-answer-row{border-block:1px solid #999;padding:.7rem}.final-answer-row p{margin:.4rem 0;line-height:1.5}.final-answer-row span{font-size:.75rem;color:var(--blue);font-weight:800}.qr-drawer{width:min(760px,96vw)}.qr-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.qr-list article{border-top:8px solid var(--team-color);border-inline:1px solid #aaa;border-bottom:1px solid #aaa;padding:.8rem;text-align:center;break-inside:avoid}.qr-list article strong{font-size:1.3rem}.qr-list img{display:block;width:100%;max-width:230px;margin:.5rem auto}.qr-list small{font-variant-numeric:tabular-nums;font-weight:900}@media(max-width:520px){.qr-list{grid-template-columns:1fr}}@media print{.admin-rail,.admin-workspace,.admin-footer,.drawer-close,.drawer-backdrop,.qr-drawer>.drawer-action{display:none!important}.qr-drawer{position:static;width:100%;border:0;display:block}.qr-list{grid-template-columns:repeat(2,1fr)}}@media(min-width:721px){.display-page>footer ol{grid-template-columns:repeat(7,1fr)}}.operation-check-sheet{margin:0 1rem 1rem;border:2px solid #777;background:#fff9e6;padding:.8rem}.operation-check-sheet.active{border-color:var(--red);background:#fff0ed}.operation-check-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem}.operation-check-heading h3{margin:0;font-size:1rem}.operation-check-heading p{margin:.2rem 0 0;color:var(--muted);font-size:.75rem}.operation-check-heading>strong{color:var(--red);font-size:.75rem;white-space:nowrap}.operation-check-sheet>p{margin:.75rem 0;color:#555;font-size:.75rem;line-height:1.5}.operation-check-sheet button{width:100%;min-height:40px;border:1px solid #777;background:#fff;font-weight:800}.operation-check-sheet.active button{background:var(--red);border-color:var(--red);color:#fff}.registration-display{min-height:0;overflow:auto;padding:1.4rem 2.2rem 1.8rem;display:grid;grid-template-rows:auto 1fr;gap:1rem}.registration-display-heading{border-bottom:1px solid #555;padding-bottom:.8rem}.registration-display-heading>span{color:#ffdd75;font-size:.9rem;font-weight:900;letter-spacing:.08em}.registration-display-heading h1{font-size:clamp(2rem,4vw,4rem);line-height:1.1;margin:.35rem 0}.registration-display-heading p{margin:0;color:#bbb;font-size:1.15rem}.registration-display-status{display:grid;place-items:center;color:#aaa;font-size:2rem}.registration-team-qr-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(.55rem,1.2vw,1.2rem);align-items:stretch}.registration-team-qr{min-width:0;background:#fff;color:#111;border-top:10px solid var(--team-color);padding:clamp(.55rem,1vw,1rem);display:grid;grid-template-rows:auto 1fr auto;align-items:center;text-align:center}.registration-team-qr strong{font-size:clamp(1rem,1.7vw,1.5rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.registration-team-qr img{display:block;width:100%;max-width:230px;aspect-ratio:1;margin:.4rem auto}.registration-team-qr small{font-size:.8rem;font-weight:900;color:#555}@media(max-width:720px){.registration-display{padding:1rem}.registration-display-heading h1{font-size:2rem}.registration-display-heading p{font-size:.95rem}.registration-team-qr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.registration-team-qr{border-top-width:6px}.registration-team-qr img{max-width:180px}}.qr-stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:41;background:#e8e8e3;padding:clamp(1rem,2.2vw,2rem);overflow:auto}.qr-stage-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;max-width:1500px;margin:0 auto clamp(1rem,2vw,1.75rem);border-bottom:3px solid #111;padding-bottom:1rem}.qr-stage-kicker{margin:0 0 .25rem;color:var(--blue);font-size:.75rem;font-weight:900;letter-spacing:.08em}.qr-stage h2{margin:0;font-size:clamp(1.7rem,3.6vw,3.2rem);line-height:1.1}.qr-stage-summary{margin:.45rem 0 0;color:var(--muted);font-size:.85rem;font-weight:800;font-variant-numeric:tabular-nums}.qr-stage-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.qr-stage-actions .drawer-close{min-height:46px;border:1px solid #777;background:var(--paper);padding:.65rem .8rem;font-weight:800}.qr-stage-status{max-width:1500px;margin:3rem auto;text-align:center;color:var(--muted);font-weight:800}.qr-list{grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(.5rem,1vw,1rem);max-width:1500px;margin:0 auto}.qr-list article{min-width:0;background:var(--paper);padding:clamp(.55rem,1vw,.9rem)}.qr-list article strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1rem,1.7vw,1.35rem)}.qr-list img{width:100%;max-width:220px;aspect-ratio:1;margin:.55rem auto}.qr-list article p{min-height:2.8em;margin:.8rem 0;font-size:.72rem;line-height:1.4;color:var(--muted)}.qr-list small{display:block;font-size:.68rem}.compact-action{min-height:40px;padding:.45rem .6rem;font-size:.75rem}@media(max-width:1100px){.qr-list{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:620px){.qr-stage-header{display:block}.qr-stage-actions{justify-content:flex-end;margin-top:1rem}.qr-list{grid-template-columns:repeat(2,minmax(0,1fr))}.qr-list img{max-width:180px}}@media print{.admin-rail,.admin-workspace,.admin-footer,.qr-stage-actions,.drawer-backdrop{display:none!important}.qr-stage{position:static;inset:auto;min-height:0;padding:0;background:#fff;overflow:visible}.qr-stage-header{max-width:none;margin:0 0 8mm;padding-bottom:4mm}.qr-stage h2{font-size:24pt}.qr-stage-summary{font-size:9pt}.qr-list{max-width:none;grid-template-columns:repeat(4,1fr);gap:5mm}.qr-list article{border-top-width:5px;padding:3mm}.qr-list img{max-width:42mm;margin:3mm auto}.qr-list article strong{font-size:13pt}.qr-list small{font-size:8pt}}@page{size:A4 landscape;margin:10mm}@media(max-width:1100px)and (min-width:621px){.qr-stage .qr-list img{max-width:150px!important}.qr-stage .qr-list article{padding:.55rem}.qr-stage .qr-list article strong{font-size:1rem}}.participant-header-actions{display:flex;align-items:center;gap:.65rem}.leave-team-button{min-height:40px;border:1px solid #777;background:#fff;color:#111;padding:.45rem .7rem;font-size:.78rem;font-weight:800;white-space:nowrap}.timer-controls{padding:.8rem 1rem;border-bottom:1px solid #bbb}.timer-controls .subheading{margin-bottom:.6rem}.timer-controls .subheading strong{margin-left:auto;font-variant-numeric:tabular-nums;font-size:1.2rem}.timer-controls .subheading span{font-size:.72rem;color:var(--muted);font-weight:700}.timer-adjust-row,.timer-set-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px}.timer-adjust-row button,.timer-set-row button{min-height:38px;border:1px solid #777;background:#fff;display:flex;align-items:center;justify-content:center;gap:.25rem;font-weight:800}.timer-adjust-row .timer-pause-button{background:#111;color:#fff}.timer-set-row{grid-template-columns:1fr auto;margin-top:5px}.timer-set-row input{min-width:0;height:38px;border:1px solid #777;padding:.45rem}.slip-select{grid-template-columns:44px 120px 78px 82px minmax(180px,1fr) 86px 76px;gap:.55rem}.slip-team-count{border-left:1px solid #aaa;color:#555;font-size:.7rem;padding-left:.5rem}.resolving-team{--team-color: #777}.admin-settings{width:min(520px,96vw)}.admin-settings section{display:grid;gap:.75rem;padding:1rem 0 1.25rem;border-top:1px solid #aaa}.admin-settings h3{margin:0;font-size:1.15rem}.admin-settings textarea{width:100%;border:1px solid #777;padding:.65rem;resize:vertical}.admin-settings .stacked-label{grid-template-columns:1fr;align-items:stretch}.drawer-note{margin:0;color:#555;font-size:.75rem;line-height:1.5}.drawer-section-title{display:flex;align-items:center;justify-content:space-between;gap:1rem}.compact-action{min-height:38px;border:1px solid #777;background:#fff;display:flex;align-items:center;gap:.35rem;padding:.4rem .65rem;font-weight:800}.team-editor{display:grid;grid-template-columns:52px 1fr;gap:.5rem}.team-editor input[type=color]{width:52px;padding:3px}.operation-log{list-style:none;margin:0;padding:0;border-bottom:1px solid #aaa}.operation-log li{display:grid;grid-template-columns:80px 1fr auto;gap:.6rem;padding:.55rem 0;border-top:1px solid #aaa;align-items:center}.operation-log time,.operation-log code{color:#666;font-size:.75rem}.judge-actions{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.judge-actions button{min-height:42px;border:1px solid #777;background:#fff;font-weight:800}.judge-actions button.active{background:var(--blue);border-color:var(--blue);color:#fff}.display-timer{color:#fff!important;font-variant-numeric:tabular-nums;font-size:1.25rem!important}.final-ranking{width:min(1100px,90vw);align-self:center;justify-self:center}.final-ranking>span{display:inline-block;background:var(--red);padding:.45rem 1rem;font-weight:900}.final-ranking h1{margin:.5rem 0 1.25rem;font-size:clamp(3rem,6vw,6rem)}.final-ranking ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.25rem}.final-ranking li{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:1rem;border-left:12px solid var(--team-color);background:#fff;color:#111;padding:.65rem 1rem}.final-ranking li b{font-size:2rem}.final-ranking li strong{font-size:1.45rem}.final-ranking li em{font-style:normal;font-weight:900;font-size:1.7rem}@media(max-width:720px){.slip-select{grid-template-columns:34px 1fr auto;grid-template-areas:"order team time" "order question question" "order person count"}.slip-team-count{grid-area:count;border:0;text-align:right}.slip-person{grid-area:person}}.guide-page{min-height:100vh;background:var(--canvas-gray,#efefeb);color:var(--ink)}.guide-header{background:var(--paper);border-bottom:1px solid #8f8f88;padding:0 clamp(1rem,6vw,6rem)}.guide-header-top{height:66px;background:#111;color:#fff;margin-inline:calc(clamp(1rem,6vw,6rem)*-1);padding:0 clamp(1rem,6vw,6rem);display:flex;align-items:center;gap:1.25rem}.guide-brand{text-decoration:none;font-size:1.2rem;font-weight:900}.guide-header-top>span{color:#c9c9c3}.guide-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:end;gap:clamp(2rem,8vw,8rem);padding:clamp(3rem,7vw,6rem) 0 3.5rem}.guide-kicker{color:var(--blue);font-size:.78rem;font-weight:900;letter-spacing:.08em;margin-bottom:1rem}.guide-hero h1{font-size:clamp(2.8rem,6vw,5.8rem);line-height:1.02;letter-spacing:-.04em;margin:0 0 1.5rem}.guide-lead{max-width:40em;font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.8;color:#4d4d47;margin:0}.guide-mode{border-top:7px solid var(--red);background:#fff0ed;padding:1.2rem 1.2rem 1.3rem;align-self:end}.guide-mode.is-production{border-top-color:#0b5734;background:#e6f6ee}.guide-mode-title{display:flex;align-items:center;gap:.5rem;font-size:1.05rem}.guide-mode-title svg{color:var(--red)}.guide-mode.is-production .guide-mode-title svg{color:#0b5734}.guide-mode p{line-height:1.6;color:#4d4d47;margin:.7rem 0 1rem}.guide-inline-link{display:inline-flex;align-items:center;gap:.3rem;color:var(--blue);font-weight:900}.guide-index{position:sticky;top:0;z-index:10;background:#111;color:#fff;display:flex;gap:0;overflow:auto;padding:0 clamp(1rem,6vw,6rem);border-bottom:1px solid #444}.guide-index a{min-height:52px;display:flex;align-items:center;padding:0 1rem;border-right:1px solid #444;text-decoration:none;font-weight:800;white-space:nowrap}.guide-index a:first-child{border-left:1px solid #444}.guide-index a:hover{background:var(--blue)}.guide-body{width:min(100%,1440px);margin:auto}.guide-section{padding:clamp(3rem,6vw,6rem) clamp(1rem,6vw,6rem);border-bottom:1px solid #8f8f88;background:var(--paper)}.guide-section-paper{background:#f4f4ef}.guide-section-dark{background:#151513;color:#fff}.guide-section-heading{max-width:78ch;margin-bottom:2.5rem}.guide-section-mark{display:inline-block;background:var(--blue);color:#fff;font-size:.75rem;font-weight:900;padding:.35rem .55rem;margin-bottom:1rem}.guide-section-heading h2{font-size:clamp(1.8rem,3.5vw,3.4rem);line-height:1.2;letter-spacing:-.025em;margin:0 0 .8rem}.guide-section-heading p{color:var(--muted);line-height:1.7;margin:0;max-width:70ch}.guide-section-dark .guide-section-heading p{color:#d0d0c8}.guide-flow{display:flex;align-items:stretch;gap:.65rem;overflow:auto;padding-bottom:.5rem}.guide-flow-step{min-width:190px;flex:1;background:#eef2fb;border-top:6px solid var(--blue);padding:1rem;display:grid;grid-template-columns:auto 1fr;gap:.45rem .6rem;align-content:start}.guide-flow-step span{grid-column:1/-1;font-weight:900;color:var(--blue);font-variant-numeric:tabular-nums}.guide-flow-step svg{color:var(--blue)}.guide-flow-step strong{align-self:center;line-height:1.3}.guide-flow-step small{grid-column:1/-1;color:#4d4d47;line-height:1.5}.guide-flow-arrow{align-self:center;flex:0 0 auto;color:var(--blue)}.guide-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.guide-boundary{margin-top:1.5rem}.guide-boundary article{border-top:3px solid #111;padding:1rem 0}.guide-boundary h3,.guide-data-sheet h3,.guide-test-side h3{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;margin:0 0 .55rem}.guide-boundary h3 svg{color:var(--blue)}.guide-boundary p{line-height:1.7;color:#4d4d47;margin:0}.guide-steps{align-items:start;gap:clamp(2rem,7vw,7rem)}.guide-numbered-list{list-style:none;padding:0;margin:0;counter-reset:guide-step;display:grid;gap:0}.guide-numbered-list li{counter-increment:guide-step;display:grid;grid-template-columns:2.3rem 1fr;gap:.2rem 1rem;padding:1rem 0;border-top:1px solid #999}.guide-numbered-list li:before{content:counter(guide-step,decimal-leading-zero);font-weight:900;color:var(--blue);font-variant-numeric:tabular-nums}.guide-numbered-list strong,.guide-numbered-list span{grid-column:2}.guide-numbered-list strong{font-size:1.05rem}.guide-numbered-list span{color:#4d4d47;line-height:1.65;margin-top:.2rem}.guide-data-sheet{border-top:7px solid #111;background:#fff;padding:1.1rem}.guide-data-sheet h3 svg{color:var(--blue)}.guide-data-sheet dl{margin:1rem 0 0}.guide-data-sheet dl>div{display:grid;grid-template-columns:125px 1fr;gap:.7rem;padding:.7rem 0;border-top:1px solid #bbb}.guide-data-sheet dt{font-weight:900}.guide-data-sheet dd{margin:0;color:#4d4d47}.guide-note{font-size:.82rem;line-height:1.6;color:var(--muted);margin:1.1rem 0 0}.guide-note code,.guide-qr-step code{font-size:.82em;background:#e9e9e3;padding:.1rem .3rem}.guide-qr-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.guide-qr-step{border-top:5px solid #111;padding:1rem 0}.guide-qr-step svg{color:var(--blue);margin-bottom:.8rem}.guide-qr-step b{display:block;font-size:1.05rem;margin-bottom:.45rem}.guide-qr-step p{line-height:1.65;color:#4d4d47;margin:0}.guide-token-table{margin-top:2rem;border-top:3px solid #111}.guide-token-table>div{display:grid;grid-template-columns:minmax(200px,.35fr) 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid #999}.guide-token-table strong{font-size:1.02rem}.guide-token-table span{line-height:1.6;color:#4d4d47}.guide-warning,.guide-success{display:flex;gap:.8rem;align-items:flex-start;padding:1rem 1.1rem;margin-bottom:2rem;border:1px solid var(--red);background:#3b1715}.guide-success{border-color:#5db684;background:#113b29}.guide-warning>svg{color:#ffb8ad;flex:0 0 auto}.guide-success>svg{color:#9ce0b8;flex:0 0 auto}.guide-warning strong,.guide-success strong{display:block;font-size:1.05rem}.guide-warning p,.guide-success p{line-height:1.6;margin:.35rem 0 0;color:#f0dfdc}.guide-success p{color:#d9f2e2}.guide-test-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:clamp(2rem,7vw,7rem)}.guide-section-dark .guide-numbered-list li{border-color:#585852}.guide-section-dark .guide-numbered-list span{color:#d0d0c8}.guide-test-side{border-top:5px solid var(--red);background:#242421;padding:1.1rem}.guide-test-side h3{color:#fff}.guide-test-side ul{list-style:none;padding:0;margin:1rem 0 0}.guide-test-side li{padding:.65rem 0 .65rem 1.4rem;border-top:1px solid #555;color:#e4e4dc;line-height:1.5;position:relative}.guide-test-side li:before{content:"✓";position:absolute;left:0;color:#ffbdad;font-weight:900}.guide-test-side .guide-note{color:#bdbdb5}.guide-trouble-list{border-top:3px solid #111}.guide-trouble-list>div{display:grid;grid-template-columns:minmax(230px,.55fr) 1fr;gap:1.5rem;padding:1rem 0;border-bottom:1px solid #999}.guide-trouble-list strong{font-size:1.02rem}.guide-trouble-list span{line-height:1.65;color:#4d4d47}.guide-footer{background:#111;color:#fff;padding:1.4rem clamp(1rem,6vw,6rem);display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.guide-footer>div:first-child{display:grid;gap:.35rem}.guide-footer span{color:#c9c9c3;font-size:.85rem}.guide-footer-links{display:flex;gap:1rem;align-items:center}.guide-footer-links a{display:inline-flex;align-items:center;gap:.25rem;color:#fff;font-weight:800}.guide-footer-links a:last-child{color:#9eb8ff}@media(max-width:720px){.guide-header{padding-inline:1rem}.guide-header-top{margin-inline:-1rem;padding-inline:1rem}.guide-header-top>span{display:none}.guide-hero{grid-template-columns:1fr;gap:2rem;padding-block:3rem}.guide-hero h1{font-size:clamp(2.7rem,13vw,4.5rem)}.guide-index{padding-inline:0}.guide-index a{padding-inline:.8rem}.guide-section{padding-inline:1rem}.guide-section-heading h2{font-size:2rem}.guide-flow{display:grid;grid-template-columns:1fr;overflow:visible;gap:.5rem}.guide-flow-step{min-width:0}.guide-flow-arrow{transform:rotate(90deg);justify-self:center}.guide-split,.guide-test-grid{grid-template-columns:1fr;gap:1.5rem}.guide-qr-flow{grid-template-columns:1fr 1fr}.guide-token-table>div,.guide-trouble-list>div{grid-template-columns:1fr;gap:.35rem}.guide-footer{align-items:flex-start;flex-direction:column}.guide-footer-links{flex-wrap:wrap}}.join-sheet h1{font-size:clamp(2rem,6vw,2.8rem)}.join-team-picker{margin:2rem 0 0;border-block:1px solid #aaa;padding:1rem 0}.join-picker-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.7rem}.join-picker-heading strong{font-size:1.05rem}.join-picker-heading span{color:var(--muted);font-size:.75rem;font-weight:800}.team-choice-list{display:grid;gap:6px}.team-choice{min-height:52px;border:1px solid #888;border-top:3px solid var(--team-color);background:#fff;display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:.7rem;text-align:left;padding:.55rem .75rem;font-weight:800}.team-choice:hover{background:#f0f4ff}.team-choice.selected{border-color:var(--blue);background:#eef2fb;box-shadow:inset 0 0 0 2px var(--blue)}.team-choice-index{width:14px;height:14px;background:var(--team-color);border:1px solid color-mix(in srgb,var(--team-color),#000 25%)}.team-choice strong,.team-choice small{display:block}.team-choice small{margin-top:.15rem;color:var(--muted);font-size:.72rem;font-weight:400}.team-choice svg{color:var(--blue)}.join-loading{margin:1rem 0 0;color:var(--muted);font-size:.82rem;font-weight:800}.qr-stage-warning{max-width:1500px;margin:0 auto 1rem;background:#fff0ed;border:1px solid var(--red);padding:.7rem .85rem;color:#8f1c15;font-weight:800;line-height:1.5}.registration-qr-panel{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(260px,1fr);align-items:center;gap:clamp(1.5rem,5vw,5rem);max-width:1000px;margin:0 auto}.registration-qr-code{width:min(100%,560px);justify-self:center;background:#fff;border:1px solid #999;padding:clamp(1rem,2.5vw,2rem)}.registration-qr-code img{display:block;width:100%;aspect-ratio:1}.registration-qr-copy{max-width:34rem}.registration-qr-copy>strong{display:block;font-size:1.35rem;line-height:1.4}.registration-qr-copy ol{margin:1rem 0;padding-left:1.5rem;font-weight:800;line-height:1.9}.registration-qr-copy p{color:var(--muted);line-height:1.6}@media(max-width:720px){.registration-qr-panel{grid-template-columns:1fr;gap:1rem}.registration-qr-code{width:min(100%,360px)}.registration-qr-copy{max-width:none}.registration-qr-copy>strong{font-size:1.1rem}}@media print{.qr-stage-warning{display:none}.registration-qr-panel{grid-template-columns:1fr 1fr;max-width:none;gap:10mm}.registration-qr-code{width:100%;max-width:100mm;padding:5mm}.registration-qr-copy>strong{font-size:16pt}.registration-qr-copy ol{font-size:11pt}}
