:root{font-family:Segoe UI,Microsoft YaHei UI,system-ui,sans-serif;color:#292929;background:#f5f5f5;font-synthesis:none;--yellow: #ffd700;--yellow-hover: #ffe34a;--yellow-active: #e7c300;--summary-yellow: #fff0a3;--summary-yellow-border: #dcc54c;--ink: #292929;--muted: #6f6f6f;--subtle: #929292;--paper: #fff;--canvas: #f5f5f5;--warm: #fff8d6;--warm-strong: #fff3cd;--line: #e8e8e8;--line-strong: #d7d7d7;--green: #347451;--green-bg: #edf7f0;--orange: #936015;--orange-bg: #fff5df;--red: #a53b3b;--red-bg: #fff0f0;--focus: #1769aa;--shadow: 0 4px 13px rgba(30, 30, 30, .055);--shadow-raised: 0 18px 54px rgba(30, 30, 30, .16)}*{box-sizing:border-box}html{min-width:320px;color-scheme:light;scrollbar-gutter:stable}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas)}button,input{font:inherit}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;z-index:30;top:8px;left:8px;padding:10px 14px;border-radius:8px;background:var(--yellow);color:var(--ink);transform:translateY(-150%)}.skip-link:focus{transform:none}.app-header{position:sticky;z-index:10;top:0;background:#fffffff5;border-bottom:1px solid var(--line);box-shadow:0 2px 12px #1e1e1e09;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-inner{min-height:72px;display:flex;align-items:center;gap:14px}.header-spacer{flex:1}.brand{display:flex;align-items:center;gap:10px;flex:none;color:var(--ink);text-decoration:none;font-weight:800}.brand-mark{display:grid;place-items:center;width:38px;height:38px;overflow:hidden;border:1px solid #eadb88;border-radius:10px;background:var(--warm);box-shadow:inset 0 -1px #2929290f}.brand-mark img{display:block;width:100%;height:100%;object-fit:cover}.product{align-self:center;display:flex;flex-direction:column;gap:2px;padding-left:22px;border-left:1px solid var(--line-strong)}.product strong{font-size:14px}.product-sub{color:var(--subtle);font-size:11px}nav{display:flex;align-items:center;gap:4px;padding:4px;border-radius:999px;background:#f3f3f3}nav a{display:flex;align-items:center;min-height:38px;padding:0 16px;border-radius:999px;color:var(--muted);text-decoration:none;font-size:13px;font-weight:700}nav a:hover{color:var(--ink);background:#fff}nav a.router-link-active{color:var(--ink);background:var(--yellow);box-shadow:0 2px 7px #6f5c001f}.live-tools{display:flex;align-items:center;gap:10px}.connection,.status{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px;font-weight:700}.connection{min-height:32px;padding:0 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#fafafa}.connection i,.status i{width:8px;height:8px;flex:none;border-radius:50%;background:#aaa;box-shadow:0 0 0 3px #78787814}.connection--live i{background:var(--green);box-shadow:0 0 0 3px #3474511a}.connection--reconnecting i,.status--waiting i{background:#c98a24;box-shadow:0 0 0 3px #c98a241c}.connection--offline i{background:var(--red);box-shadow:0 0 0 3px #a53b3b17}.status--started i{background:var(--green);box-shadow:0 0 0 3px #3474511a}.shell#main{min-height:calc(100vh - 146px);padding-block:46px 72px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:28px}.eyebrow{display:block;margin-bottom:8px;color:#887400;font-size:12px;font-weight:800;line-height:1.3}h1,h2,h3,p{margin-top:0}h1{margin-bottom:10px;color:var(--ink);font-size:clamp(30px,4vw,42px);line-height:1.12;font-weight:750;letter-spacing:0}h2{margin-bottom:12px;color:var(--ink);font-size:21px;line-height:1.3;font-weight:750}h3{color:var(--ink);font-size:16px}p{color:var(--muted);line-height:1.65}.page-heading p{max-width:680px;margin:0}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border:1px solid transparent;border-radius:9px;color:var(--ink);background:var(--yellow);box-shadow:0 2px 6px #6f5c001a;text-decoration:none;font-weight:750;white-space:nowrap;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.button:hover:not(:disabled){background:var(--yellow-hover);box-shadow:0 4px 10px #6f5c0021}.button:active:not(:disabled){transform:translateY(1px);background:var(--yellow-active);box-shadow:none}.button:disabled{color:#8b8b8b;background:#e8e8e8;border-color:#e1e1e1;box-shadow:none;cursor:not-allowed}.button--quiet{color:var(--ink);background:#fff;border-color:var(--line-strong);box-shadow:none}.button--quiet:hover:not(:disabled){background:#fafafa;border-color:#bdbdbd;box-shadow:none}.button--small{min-height:44px;padding:8px 14px;font-size:13px}.live-tools .button--small{min-height:44px}.button--wide{width:100%}.button--danger{color:var(--red);background:var(--red-bg);border-color:#efcaca;box-shadow:none}.button--danger:hover:not(:disabled){color:#8c2929;background:#ffe5e5;border-color:#e8b6b6;box-shadow:none}.text-button{min-height:44px;padding:6px 2px;color:#5f5200;border:0;background:none;font-weight:750;cursor:pointer;text-decoration:underline;text-decoration-color:#cdbb58;text-underline-offset:4px}.text-button:hover:not(:disabled){color:var(--ink);text-decoration-color:var(--ink)}.text-button:disabled{opacity:.5;cursor:wait}.section-bar{display:flex;justify-content:space-between;align-items:baseline;padding:0 4px 12px}.section-bar h2{margin:0;font-size:17px}.section-bar span{color:var(--muted);font-size:13px}.room-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.room-toolbar>span{flex:none;color:var(--muted);font-size:13px}.search-field{display:flex;align-items:center;width:min(100%,360px);min-height:44px;overflow:hidden;border:1px solid var(--line-strong);border-radius:9px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.search-field:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px #1769aa1a}.search-field input{width:100%;min-width:0;min-height:42px;padding:9px 12px;border:0;outline:0;background:#fff;color:var(--ink)}.room-table{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow)}.room-head,.room-row{display:grid;grid-template-columns:minmax(170px,1fr) 220px 130px 100px 112px;align-items:center}.room-head{min-height:42px;color:var(--subtle);background:#fafafa;border-bottom:1px solid var(--line);font-size:11px;font-weight:750}.room-head>*,.room-cell{padding:10px 14px}.room-row{min-height:70px;border-bottom:1px solid var(--line);background:#fff;transition:background-color .14s ease,box-shadow .14s ease}.room-row:last-child{border-bottom:0}.room-row:hover{position:relative;z-index:1;background:#fffbee;box-shadow:inset 4px 0 0 var(--yellow)}.room-row--current{background:#fffdf2;box-shadow:inset 4px 0 #d5b700}.room-name strong{color:var(--ink);font-size:15px;font-weight:750}.current-room-mark{display:inline-flex;margin-left:9px;padding:3px 7px;border:1px solid #ddc74c;border-radius:999px;color:#665700;background:#fff5b8;font-size:10px;font-weight:800;vertical-align:2px;white-space:nowrap}.room-cell.map,.room-cell.time,.data-text{font-family:Cascadia Code,Consolas,monospace;font-size:12px}.participant-count{display:flex;align-items:center;gap:7px;white-space:nowrap}.owner-presence{color:#625500;font-size:12px;font-weight:750}.participant-divider{color:#b1a252;font-size:11px}.player-count{color:var(--muted);font-size:12px}.player-count b{color:var(--ink);font:750 16px Cascadia Code,Consolas,monospace}.lock{color:#6e5d00;font-size:11px;font-weight:800}.muted{color:var(--subtle);font-weight:500}.action{padding-right:18px!important;text-align:right}.mobile-meta{display:none}.status{color:var(--muted)}.status--started{color:var(--green)}.status--waiting{color:var(--orange)}.state-panel{display:grid;justify-items:center;min-height:310px;align-content:center;padding:56px 20px;border:1px solid var(--line);border-radius:12px;text-align:center;background:var(--paper);box-shadow:var(--shadow)}.state-panel h3{margin:15px 0 5px;font-size:18px}.state-panel p{margin-bottom:18px}.state-panel--error{border-color:#efd0d0}.state-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.spinner{width:30px;height:30px;border:3px solid #eee7bc;border-top-color:#b79c00;border-radius:50%;animation:spin .7s linear infinite}.connection-banner,.alert{display:flex;align-items:flex-start;gap:10px 14px;padding:14px 16px;margin-bottom:20px;border:1px solid #f0d68d;border-radius:10px;background:var(--warm-strong);color:var(--orange);font-size:14px}.connection-banner span,.alert span{color:#765b2d}.alert{flex-direction:column;gap:3px;border-color:#efcaca;background:var(--red-bg);color:var(--red)}.alert span{color:#7e4c4c}.alert--rate{border-color:#f0d6a8;background:var(--orange-bg);color:var(--orange)}.alert--rate span{color:#765b2d}.alert--page{margin-top:-8px}.dialog{width:min(520px,calc(100% - 28px));max-height:calc(100vh - 28px);padding:0;overflow:auto;border:1px solid rgba(41,41,41,.08);border-radius:14px;color:var(--ink);background:#fff;box-shadow:var(--shadow-raised)}.dialog::backdrop{background:#29292975;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-body{padding:28px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.dialog-head h2{margin-bottom:0;font-size:23px}.icon-button{width:44px;height:44px;display:grid;place-items:center;flex:none;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--muted);background:#fafafa;font-size:0;line-height:1;cursor:pointer}.icon-button:before{content:"×";display:block;font-size:24px;line-height:1;transform:translateY(-1px)}.icon-button:hover{color:var(--ink);background:var(--warm);border-color:#eadb88}.join-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0;padding:14px;border-radius:10px;color:var(--muted);background:#f7f7f7;font-size:13px}.join-facts span{display:grid;gap:4px}.join-facts b{color:var(--ink);font-family:Cascadia Code,Consolas,monospace}.field{display:grid;gap:8px;margin-bottom:22px;color:var(--ink);font-weight:700}.field input{width:100%;min-height:50px;padding:9px 13px;border:1px solid #b9b9b9;border-radius:9px;background:#fff;font:700 21px/1 Cascadia Code,Consolas,monospace;letter-spacing:.3em;transition:border-color .15s ease,box-shadow .15s ease}.field input:hover{border-color:#929292}.field input:focus{border-color:var(--focus);box-shadow:0 0 0 3px #1769aa1a}.field small{color:var(--muted);font-weight:400;line-height:1.5}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.site-dialog{width:min(480px,calc(100% - 28px))}.site-dialog-body{position:relative;overflow:hidden}.site-dialog-body:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--yellow)}.site-dialog--danger .site-dialog-body:before{background:var(--red)}.site-dialog-message{margin:20px 0 0;max-width:44ch;color:var(--muted);line-height:1.7;white-space:pre-line}.site-dialog-error{margin-top:18px}.notice,.success-panel{padding:16px;border-radius:10px;background:#f7f7f7}.notice--warning{display:flex;flex-direction:column;gap:4px;border:1px solid #f0d6a8;background:var(--orange-bg);color:var(--orange)}.notice--warning span{color:#765b2d;line-height:1.55}.success-panel{margin-bottom:18px;border:1px solid #dcebe0;background:#f8fcf9;color:var(--green)}.success-panel p{margin:5px 0 0;color:#4f6d58}.success-panel--running{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;overflow:hidden;isolation:isolate}.success-panel--running>:not(.progress-fill),.button--running>:not(.progress-fill),.button--one-shot>span{position:relative;z-index:1}.success-panel--running p{flex-basis:100%}.attempt-number{color:#245f3d;font:800 29px/1 Cascadia Code,Consolas,monospace}.feedback-depth{--feedback-depth: 0}.feedback-depth:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:#d5b600;opacity:var(--feedback-depth);transition:opacity .22s linear}.success-panel--running.feedback-depth:before{background:#3f9b62}.progress-fill{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,#fff3a84d,#ffdc2db8 66%,#deb500db);transform:scaleX(0);transform-origin:left center;animation:progress-swoosh 1.65s cubic-bezier(.22,.72,.18,1) infinite}.success-panel--running .progress-fill{background:linear-gradient(90deg,#edf8f03d,#a5d7b494 66%,#53a66fc2);opacity:.62}.button--one-shot{position:relative;overflow:hidden;isolation:isolate}.button--one-shot.feedback-depth:before{background:#35d477}.button--one-shot:hover:not(:disabled){border-color:#8fd8a9;background:#f7fff9}.waiting-panel{display:grid;justify-items:center;padding:28px 18px;margin-bottom:18px;border:1px solid #f0d6a8;border-radius:10px;text-align:center;background:var(--orange-bg)}.waiting-panel strong{margin-top:13px;color:var(--ink)}.waiting-panel p{margin:5px 0 0}.host-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:22px;align-items:start}.setup-panel,.process-list,.pairing-flow,.management{padding:28px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.setup-panel>p{max-width:620px}.step-label{display:flex;align-items:center;gap:9px;margin-bottom:14px;color:#887400;font-size:12px;font-weight:800}.step-label b{display:grid;place-items:center;min-width:28px;height:28px;padding-inline:6px;border-radius:999px;color:var(--ink);background:var(--yellow);font:800 12px Cascadia Code,Consolas,monospace}.choice-row{display:flex;gap:13px;padding:16px;margin:24px 0;border:1px solid var(--line-strong);border-radius:10px;background:#fcfcfc;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.choice-row:hover{border-color:#d9c75f;background:var(--warm)}.choice-row:has(input:checked){border-color:#dbc342;background:var(--warm);box-shadow:inset 4px 0 0 var(--yellow)}.choice-row input{width:20px;height:20px;flex:none;accent-color:#b79c00}.choice-row span{display:grid;gap:5px}.choice-row small{color:var(--muted);line-height:1.45}.compact-field{max-width:280px}.ip-field{width:fit-content;max-width:100%}.ip-field input{min-width:min(calc(14ch + 28px),100%);max-width:min(calc(18ch + 28px),100%);padding-inline:13px;letter-spacing:0}.field-label-row{display:flex;align-items:center;gap:7px}.help-popover{position:relative;display:inline-flex}.help-popover>button{display:grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid var(--line-strong);border-radius:50%;color:var(--muted);background:#fafafa;font-size:12px;cursor:pointer}.help-popover>button:hover,.help-popover>button[aria-expanded=true]{color:var(--ink);border-color:#d1bb3b;background:var(--warm)}.help-popover>span{position:absolute;z-index:5;top:30px;left:-12px;width:min(320px,calc(100vw - 52px));padding:12px 14px;border:1px solid var(--line-strong);border-radius:9px;color:var(--ink);background:#fff;box-shadow:var(--shadow-raised);font-size:13px;font-weight:400;line-height:1.55}.pin-field{display:grid;width:fit-content;gap:8px;margin-bottom:22px;color:var(--ink);font-weight:700}.pin-field>small{max-width:290px;color:var(--muted);font-weight:400;line-height:1.5}.pin-boxes{position:relative;display:grid;grid-template-columns:repeat(4,52px);gap:9px;width:fit-content;padding:3px;border-radius:11px;cursor:text}.pin-boxes b{position:relative;display:grid;place-items:center;width:52px;height:54px;border:1px solid #b9b9b9;border-radius:9px;background:#fff;font:750 23px/1 Cascadia Code,Consolas,monospace;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.pin-boxes .pin-box--filled{border-color:#d1bb3b;background:var(--warm)}.pin-boxes:focus-within b{border-color:var(--focus);box-shadow:0 0 0 2px #1769aa1a}.pin-boxes .pin-box--active:after{content:"";position:absolute;left:50%;top:15px;width:2px;height:24px;background:var(--ink);animation:caret-blink 1s steps(1) infinite}.pin-boxes .pin-box--active.pin-box--filled:after{left:calc(50% + 9px)}.pin-native{position:absolute;inset:0;width:100%;height:100%;opacity:.01;border:0;cursor:text;caret-color:transparent}.process-list h2{margin-bottom:4px}.process-list ol{list-style:none;margin:0;padding:0}.process-list li{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.process-list li:last-child{border-bottom:0;padding-bottom:0}.process-list li>b{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;color:#8b7800;background:var(--warm);font:800 12px Cascadia Code,Consolas,monospace}.process-list li span{display:grid;gap:4px}.process-list small{color:var(--muted);line-height:1.45}.owner-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:28px;padding:24px 28px;margin-bottom:18px;border:1px solid var(--summary-yellow-border);border-radius:12px;background:var(--summary-yellow);box-shadow:0 8px 24px #6f5c001f}.owner-summary h2{margin-bottom:9px;font-size:28px}.owner-summary-main .status{font-size:12px}.owner-summary-main .status{display:flex;width:fit-content;margin-top:10px}.owner-status{display:flex;flex-wrap:wrap;gap:9px 18px;align-items:center;color:var(--muted);font-size:13px}.owner-participants{display:flex;align-items:baseline;gap:8px;min-width:190px;padding:10px 18px;color:#625500;white-space:nowrap}.owner-participants>span{font-size:13px;font-weight:750}.owner-participants i{color:#9a8828;font-style:normal}.owner-participants strong{color:var(--ink);font:800 36px/1 Cascadia Code,Consolas,monospace}.owner-participants small{color:#756712;font-size:11px}.expiry{display:grid;justify-items:end;gap:4px;flex:none;min-width:190px;padding-left:10px;color:#716200;font-size:12px}.expiry strong{color:var(--ink);font:750 24px Cascadia Code,Consolas,monospace}.pairing-flow{margin-bottom:18px}.start-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:28px}.start-control{position:relative;overflow:hidden}.start-control>:not(.room-panel-progress){position:relative;z-index:1}.start-control--running:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:#5fd58a;opacity:var(--feedback-depth);transition:opacity .22s linear}.start-control h2{grid-column:1;margin-bottom:5px}.start-control>p{grid-column:1;max-width:720px;margin:0}.host-broadcast-count{display:flex;align-items:baseline;justify-content:center;gap:7px;color:#287448;font-size:13px;font-weight:750}.host-broadcast-count strong{color:#176b3a;font:800 32px/1 Cascadia Code,Consolas,monospace}.start-button{grid-column:1;grid-row:1 / span 3;min-width:210px}.start-mode-control{grid-column:2;grid-row:1 / span 3;display:flex;width:280px;min-width:280px}.start-mode-control .start-button{flex:1;min-width:0;border-radius:9px 0 0 9px}.start-mode-secondary{width:68px;min-width:68px;padding-inline:8px;border-left:0;border-radius:0 9px 9px 0}.broadcast-control-group{grid-column:2;grid-row:1 / span 3;display:grid;justify-items:stretch;gap:8px;width:280px;min-width:280px}.broadcast-control-group .start-button{grid-column:auto;grid-row:auto;width:100%;min-width:0}.room-page-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;color:var(--muted);font-size:13px}.room-entry-panel,.room-connect-panel{padding:28px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.room-page-title{margin-bottom:22px}.room-connect-panel{position:relative;padding-bottom:28px;overflow:hidden}.room-connect-panel>:not(.room-panel-progress){position:relative;z-index:1}.room-connect-panel--running:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:#5fd58a;opacity:var(--feedback-depth);transition:opacity .22s linear}.room-panel-progress{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,#f0fdf42e,#b3ebc57a 58%,#48be6fad);transform:scaleX(0);transform-origin:left center;animation:progress-swoosh 1.65s cubic-bezier(.22,.72,.18,1) infinite}.room-connect-panel .room-connect-actions{padding-right:0}.room-connect-panel .room-leave-button{min-height:44px;margin-left:auto;padding:2px 0;font-size:12px}.room-leave-button{color:var(--red);text-decoration-color:#d8a2a2}.room-entry-panel{display:grid;max-width:640px;gap:8px;align-items:start;margin-inline:auto}.room-entry-panel form{display:grid;justify-items:start}.room-primary-action{min-width:160px}.room-connect-panel{max-width:760px;margin-inline:auto}.room-connect-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px}.room-connect-copy h2,.room-connect-title h2{margin-bottom:7px}.room-attempt-count{color:#287448;font-size:14px;font-weight:800;white-space:nowrap}.room-attempt-count strong{color:#176b3a;font:850 25px/1 Cascadia Code,Consolas,monospace}.room-connect-copy p{max-width:610px;margin:0 0 22px}.room-connect-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.button--running{position:relative;overflow:hidden;isolation:isolate}.button--running.button--quiet{background:#fffef8;border-color:#e8dfba}.flow-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.flow-head h2{margin-bottom:20px}.pair-grid{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fcfcfc}.download-box,.code-box{padding:22px}.download-box{border-right:1px solid var(--line)}.code-box{display:flex;flex-direction:column;align-items:flex-start}.pair-code{width:100%;min-height:60px;padding:10px 12px;margin:5px 0 9px;overflow-wrap:anywhere;border:1px solid #e1cd55;border-radius:9px;color:var(--ink);background:var(--warm);font:700 12px/1.45 Cascadia Code,Consolas,monospace;letter-spacing:0;text-align:left;cursor:pointer}.pair-code:hover{background:var(--warm-strong);border-color:#cdb53b}.code-box>span{color:var(--muted);font-size:12px}.probe-line{display:flex;align-items:center;gap:20px;padding:18px;border:1px solid #f0d6a8;border-radius:10px;background:var(--orange-bg)}.probe-line p{margin:4px 0 0;color:#765b2d}.probe-track{width:130px;height:7px;flex:none;overflow:hidden;border-radius:999px;background:#eadfc5}.probe-track i{display:block;width:42%;height:100%;border-radius:inherit;background:#c98a24;animation:probe 1.5s ease-in-out infinite alternate}.owner-diagnostics{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fcfcfc}.diagnostic-row{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 16px;border-bottom:1px solid var(--line)}.diagnostic-row span{color:var(--muted);font-size:13px}.diagnostic-row strong{color:var(--ink);text-align:right;font-size:14px}.state-chip{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid var(--line-strong);border-radius:999px;background:#f7f7f7}.state-chip--success{color:var(--green)!important;border-color:#cfe5d5;background:var(--green-bg)}.state-chip--pending{color:var(--orange)!important;border-color:#f0d6a8;background:var(--orange-bg)}.state-chip--warning{color:var(--orange)!important;border-color:#ead7b4;background:#fff8ea}.state-chip--error{color:var(--red)!important;border-color:#efcaca;background:var(--red-bg)}.owner-diagnostics>p{margin:0;padding:13px 16px;color:#765b2d;background:var(--orange-bg);font-size:13px}.management{padding-bottom:8px}.management--compact{padding:22px 24px 24px}.management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;overflow:hidden;border:1px solid var(--line);border-radius:10px}.room-return-wrap{display:flex;align-items:center}.room-return{display:inline-flex;align-items:center;gap:7px;min-height:46px;padding:0 17px;border:1px solid #dbc342;border-radius:999px;color:var(--ink);background:#fff8d6;box-shadow:0 2px 7px #6f5c0017;text-decoration:none;font-size:13px;font-weight:750;white-space:nowrap}.room-return span{font-size:16px;line-height:1}.room-return:hover{border-color:#c5ac20;background:var(--yellow);box-shadow:0 4px 10px #6f5c0021}.room-return--disabled{color:#8a7e46;border-color:#e5dcae;background:#f7f3df;box-shadow:none;cursor:default}.room-return--disabled:hover{color:#8a7e46;border-color:#e5dcae;background:#f7f3df;box-shadow:none}.button--current-room{color:var(--ink);border-color:transparent;background:var(--yellow);box-shadow:0 2px 6px #6f5c001a}.button--current-room:hover:not(:disabled){border-color:transparent;background:var(--yellow-hover);box-shadow:0 4px 10px #6f5c0021}.room-join-button.button--secondary{color:#696969;background:#fff;border-color:#d8d8d8;box-shadow:none}.room-join-button.button--secondary:hover:not(:disabled){color:var(--ink);background:#fafafa;border-color:#bdbdbd;box-shadow:none}.participant-summary{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.participant-summary b{color:var(--ink);font-weight:750}.participant-summary i{color:#9a8828;font-style:normal}.participant-summary strong{color:var(--ink);font:800 17px/1 Cascadia Code,Consolas,monospace}.one-shot-control{display:inline-flex;align-items:center;gap:8px}.attempt-mode-control{display:inline-flex;width:224px;min-width:224px}.attempt-mode-control .button:first-child{min-width:156px}.attempt-mode-control .button:last-child{width:68px;min-width:68px;padding-inline:8px}.attempt-mode-control .button:first-child{border-radius:9px 0 0 9px}.attempt-mode-control .button:last-child{border-left:0;border-radius:0 9px 9px 0}.connection-running-button{width:224px;min-width:224px}.one-shot-result{display:inline-flex;align-items:center;gap:4px;min-width:48px;color:#178c49;font-size:12px;font-weight:750;transition:opacity .1s linear}.one-shot-result b{font:800 16px Cascadia Code,Consolas,monospace;animation:multiplier-pop .18s cubic-bezier(.2,.8,.2,1)}.management-action{min-height:126px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;background:#fcfcfc}.management-action+.management-action{border-left:1px solid var(--line)}.management-action p{margin:6px 0 0;font-size:13px}.management-action--danger strong{color:var(--red)}.management-row{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:94px;border-top:1px solid var(--line)}.management-row p{margin:5px 0 0;font-size:13px}.management-row--danger strong{color:var(--red)}.footer{display:flex;justify-content:space-between;padding-block:24px;color:var(--subtle);border-top:1px solid var(--line-strong);font-size:12px}.footer a{color:var(--subtle);text-decoration:none}.footer a:hover{color:var(--ink);text-decoration:underline}.expired{color:var(--red)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@keyframes spin{to{transform:rotate(360deg)}}@keyframes probe{to{transform:translate(140%)}}@keyframes caret-blink{50%{opacity:0}}@keyframes progress-swoosh{0%{transform:scaleX(0);opacity:.66}68%{transform:scaleX(1);opacity:.9}to{transform:scaleX(1);opacity:0}}@keyframes multiplier-pop{0%{transform:scale(.72);opacity:.25}to{transform:scale(1);opacity:1}}@media(max-width:900px){.header-inner{gap:14px}.brand>span:last-child,.product-sub{display:none}.product{padding-left:14px}}@media(max-width:780px){.shell{width:min(100% - 28px,1180px)}.app-header{position:static}.header-inner{min-height:66px;gap:10px}.product,.header-spacer{display:none}.room-return-wrap{margin-left:auto}nav a{min-height:36px;padding-inline:13px}.live-tools{margin-left:0}.live-tools .button{display:none}.connection{width:36px;min-height:36px;justify-content:center;padding:0;font-size:0}.connection i{width:10px;height:10px}.shell#main{padding-block:32px 52px}.page-heading{align-items:flex-start}.page-heading .button{flex:none}.room-head{display:none}.room-table{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.room-row{grid-template-columns:minmax(0,1fr) 118px 100px;grid-template-areas:"name players action" "name time action";min-height:88px;margin:0;padding:0;overflow:hidden;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff;box-shadow:none}.room-row:first-child{border-top:1px solid var(--line)}.room-row:last-child{border-bottom:1px solid var(--line)}.room-name{grid-area:name;display:block;align-self:center;min-width:0;padding:13px 12px 13px 16px}.room-name>strong{min-width:0;overflow-wrap:anywhere;font-size:15px}.current-room-mark{margin:7px 0 0}.current-room-mark{display:none}.participant-count{grid-area:players;flex-wrap:nowrap;align-self:end;justify-content:center;min-height:40px;padding:8px 4px 2px;background:transparent}.participant-count:before,.time:before{content:none}.time{grid-area:time;display:flex;align-self:start;justify-content:center;min-height:40px;padding:2px 4px 8px;background:transparent;text-align:center}.action{grid-area:action;display:flex;align-items:center;padding:12px 12px 12px 4px!important;text-align:initial}.desktop-cell{display:none}.mobile-meta{display:flex;align-items:center;margin-top:7px;color:var(--muted);font-size:10px}.mobile-meta .status{display:inline-flex}.room-row .button{width:100%;min-width:44px;padding-inline:6px}.room-join-button{font-size:11px}.room-row.room-row--current{border-color:#dfca5a;background:#fffdf2;box-shadow:inset 4px 0 #d5b700}.room-row--current .room-name{background:#fffdf2}.room-row--current .participant-count,.room-row--current .time{background:transparent}.host-layout{grid-template-columns:1fr}.process-list{order:2}.pair-grid{grid-template-columns:1fr}.download-box{border-right:0;border-bottom:1px solid var(--line)}.management-grid{grid-template-columns:1fr}.management-action{min-height:104px}.management-action+.management-action{border-left:0;border-top:1px solid var(--line)}.room-entry-panel{gap:8px}}@media(max-width:520px){body{font-size:14px}.shell{width:min(100% - 24px,1180px)}.header-inner{display:grid;grid-template-columns:44px auto minmax(0,1fr) 44px;gap:6px;min-height:64px;padding-block:10px}.brand-mark{width:44px;height:44px}.brand{grid-column:1;grid-row:1}.room-return-wrap{grid-column:2;grid-row:1;margin:0}.room-return{width:44px;min-width:44px;min-height:44px;padding:0;justify-content:center;font-size:0}.room-return span{font-size:18px;transform:translate(1.5px)}nav{grid-column:3;grid-row:1;width:100%;justify-content:center}nav a{flex:1;justify-content:center;padding-inline:9px;font-size:12px}.live-tools{grid-column:4;grid-row:1;justify-content:center}.connection{width:44px;min-height:44px;padding:0;align-items:center;justify-content:center;gap:0}.connection i{display:block;margin:0}.page-heading{flex-direction:column;gap:20px;margin-bottom:26px}.page-heading .button{width:100%}.shell#main{padding-block:24px 42px}.page-heading h1{font-size:27px}.button{font-size:13px}h2{font-size:19px}p{font-size:14px;line-height:1.55}.section-bar span{font-size:11px}.participant-count{gap:5px}.owner-presence,.player-count{font-size:11px}.room-row .button{min-height:44px;padding:7px 9px;font-size:13px}.dialog-body,.setup-panel,.process-list,.pairing-flow,.management,.room-entry-panel,.room-connect-panel{padding:20px}.room-page-heading{gap:14px}.room-page-heading .button{width:auto}.room-toolbar{align-items:stretch}.search-field{width:100%}.room-toolbar>span{align-self:center;font-size:11px}.pin-boxes{grid-template-columns:repeat(4,minmax(44px,52px));width:min(100%,235px)}.pin-boxes b{width:100%}.dialog-actions{flex-direction:column}.dialog-actions .button{width:100%}.join-facts{grid-template-columns:1fr 1fr}.owner-summary{grid-template-columns:1fr auto;grid-template-areas:"main players" "expiry expiry";gap:16px 12px;padding:18px}.owner-summary-main{grid-area:main;min-width:0}.owner-summary h2{overflow-wrap:anywhere;font-size:23px}.owner-participants{grid-area:players;min-width:0;gap:5px;padding:4px 0 4px 10px}.owner-participants strong{font-size:30px}.owner-participants small{font-size:10px}.owner-status{gap:8px 12px}.expiry{grid-area:expiry;justify-items:start;min-width:0;padding:14px 0 0;border-left:0;border-top:1px solid rgba(92,76,0,.3)}.room-connect-panel{padding-bottom:20px}.room-connect-panel .room-connect-actions{padding-right:0}.expiry strong{font-size:21px}.flow-head{align-items:flex-start}.start-control{grid-template-columns:1fr;row-gap:14px}.start-button,.start-mode-control,.broadcast-control-group{grid-column:1;grid-row:auto;width:100%;min-width:0}.management--compact{padding:16px}.management-action{min-height:0;padding:16px}.management-action .button{flex:none}.management-row{align-items:flex-start;padding:17px 0}.management-row .button{min-width:94px}.footer{flex-direction:column;gap:5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
