:root{--cream:#161616;--paper:#161616;--ink:#f5f5f5;--muted:#adadad;--coral:#adadad;--mint:#929292;--mint-pale:#202020;--gold:#454545;--line:#202020;--mono:Consolas,'Courier New',monospace;--font:'Segoe UI',Arial,sans-serif;--round:'Trebuchet MS','Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:14px var(--font);-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--mint);outline-offset:4px}[hidden]{display:none!important}::selection{background:#2d2d2d;color:var(--ink)}.app-shell{max-width:1460px;padding:0 54px;margin:auto}.site-header{height:98px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font:900 30px var(--round);letter-spacing:-1.7px}.brand-symbol{display:block;width:44px;height:40px}.brand-symbol svg{display:block;width:100%;height:100%}.brand-edition{font:9px var(--mono);letter-spacing:1.9px;border-left:1px solid #2d2d2d;margin-left:9px;padding:5px 0 5px 19px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:20px}.network-status{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.network-status i,.mint-dot{width:7px;height:7px;background:var(--mint);border-radius:50%;display:inline-block;flex:none}.network-status i{background:var(--gold)}.network-status.online i{background:var(--mint)}.network-status.offline i{background:var(--coral)}#latency{font:9px var(--mono);color:#929292;margin-left:3px}.icon-button{border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;border-radius:10px;font-size:23px}.icon-button:hover{background:#202020}.icon-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sound-off{display:none}.muted .sound-off{display:block}.muted .sound-waves{display:none}.button{display:inline-flex;justify-content:center;align-items:center;gap:15px;min-height:45px;border:0;border-radius:10px;padding:12px 18px;font-size:13px;font-weight:650;text-decoration:none;transition:background .16s,transform .16s}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{background:var(--coral);color:#161616;box-shadow:0 3px 0 #adadad}.button-primary:hover:not(:disabled){background:#adadad}.button-primary:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 0 #adadad}.button-secondary{background:#202020;color:var(--ink)}.button-secondary:hover{background:#202020}.button-quiet{background:transparent;font-weight:500;padding:9px 0;min-height:30px}.button-quiet:hover:not(:disabled){color:#f5f5f5;transform:none}.full-width{width:100%}.text-button{border:0;background:none;padding:0;display:inline-flex;gap:8px;align-items:center;font-size:11px;color:var(--muted)}.text-button:hover{color:#f5f5f5}
.eyebrow{font:9px var(--mono);letter-spacing:1.7px}.welcome-heading,.room-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:37px 0 29px;gap:30px}.welcome-heading .eyebrow,.room-heading .eyebrow{margin:0 0 14px;color:#adadad;display:flex;align-items:center;gap:9px}.tiny-star{color:var(--coral);font-size:15px}.welcome-heading h1,.room-heading h1{font:900 clamp(46px,4.7vw,69px)/1.04 var(--round);letter-spacing:-3.2px;margin:0;position:relative}.welcome-heading h1 em,.room-heading h1 em{font-style:normal;color:var(--coral)}.heading-spark{position:absolute;right:-59px;top:2px;color:var(--gold);font-size:50px;font-weight:400;transform:rotate(12deg)}.heading-note{margin-bottom:3px;padding-right:10px}.heading-note p{color:#adadad;line-height:1.75;font-size:13px;margin:0 0 17px}.heading-note strong{font-weight:650;color:var(--ink)}.note-bottom{font-size:11px;display:flex;align-items:center;gap:8px}.room-heading h1{font-size:53px;line-height:1.07}.room-heading-copy{font-size:13px;line-height:1.8;color:var(--muted);margin:0 40px 3px 0}.launch-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(320px,1fr);gap:23px}.field-card{position:relative;border:1px solid #202020;border-radius:20px;overflow:hidden;min-height:466px;background:#202020;isolation:isolate}.canvas-wrap{position:absolute;inset:0;overflow:hidden}#game-canvas{display:block;width:100%;height:100%;outline:none}.preview-top,.preview-bottom{position:absolute;z-index:2;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.preview-top{top:23px}.preview-bottom{bottom:24px;align-items:flex-end}.map-tag{display:inline-flex;gap:8px;align-items:center;font-size:11px;font-weight:650;background:#161616e6;border-radius:20px;padding:9px 12px}.preview-label{font:8px var(--mono);letter-spacing:.8px;color:#adadad;display:flex;gap:12px;align-items:center}.preview-label>span{font-size:24px;line-height:.6}.coordinate{display:block;font:8px var(--mono);letter-spacing:1px;color:#f5f5f5;margin:0 0 7px}.preview-caption strong{display:block;font-size:13px;font-weight:600;max-width:320px;line-height:1.5}.preview-badge{display:flex;align-items:center;gap:10px;font:8px var(--mono);letter-spacing:.7px;background:#161616cc;padding:7px 10px;border-radius:8px;white-space:nowrap}.preview-badge>span{font-size:21px;line-height:1;color:var(--coral)}
.base-panel{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:24px 26px 18px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;min-height:20px}.panel-title .eyebrow{color:var(--muted);font-size:8px;letter-spacing:1.5px}.panel-marker{font-size:25px;line-height:1;color:var(--coral)}.base-panel h2{font:900 25px var(--round);letter-spacing:-.9px;margin:0 0 7px}.panel-description{font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 21px}.entry-tabs{display:grid;grid-template-columns:1fr 1fr;background:#202020;border-radius:9px;padding:4px;gap:3px;margin-bottom:18px}.entry-tab{border:0;min-height:33px;border-radius:6px;background:transparent;color:#adadad;font-size:11px}.entry-tab.active{background:#161616;color:var(--ink);font-weight:650;box-shadow:0 1px 4px #f5f5f510}.field-label{font:8px var(--mono);letter-spacing:1px;display:flex;align-items:center;justify-content:space-between;color:#adadad;margin-bottom:7px}.field-label>span{color:#454545}.text-input{width:100%;border:1px solid #202020;border-radius:8px;background:#161616;height:41px;padding:0 12px;font-size:12px;color:var(--ink);outline:none}.text-input::placeholder{color:#929292}.text-input:focus{border-color:var(--mint);box-shadow:0 0 0 3px #92929217}.selection-summary{display:flex;align-items:center;gap:11px;padding:16px 0}.summary-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--mint-pale);font-size:19px;color:#adadad}.selection-summary small{display:block;font:7px var(--mono);letter-spacing:1px;color:#adadad;margin-bottom:4px}.selection-summary strong{display:block;font-size:11px;font-weight:650}.summary-role{margin-left:auto;font-size:9px;color:var(--muted);padding:4px 7px;border-radius:5px;background:#161616}.checkbox-label{display:flex;align-items:center;gap:9px;font-size:11px;cursor:pointer;margin:0 0 19px;position:relative}.checkbox-label>input{position:absolute;opacity:0;width:18px;height:18px;left:0}.checkbox-box{height:16px;width:16px;border-radius:4px;border:1px solid #2d2d2d;flex:none;background:#161616}.checkbox-label>input:checked+.checkbox-box{background:var(--mint);border-color:var(--mint)}.checkbox-label>input:checked+.checkbox-box:after{content:'✓';display:block;color:white;font-size:12px;text-align:center;font-weight:800;line-height:15px}.checkbox-label>input:focus-visible+.checkbox-box{outline:3px solid var(--mint);outline-offset:3px}.checkbox-label small{display:block;font-size:9px;color:#929292;line-height:1.5;margin-top:3px}.checkbox-label svg{margin-left:auto;width:18px;height:18px;fill:none;stroke:#929292;stroke-width:1.4}.panel-footer{border-top:1px solid #202020;padding-top:15px;margin-top:19px;display:flex;align-items:center;justify-content:center;gap:11px;font-size:9px;color:#adadad}.mini-players{display:flex;align-items:center;padding-left:3px}.mini-players i{display:block;background:var(--mint);height:14px;width:11px;border-radius:5px 5px 3px 3px;border:2px solid var(--paper);margin-left:-3px}.mini-players i:nth-child(2){background:var(--coral);transform:translateY(-3px)}.mini-players i:nth-child(3){background:#929292}.mini-players i:nth-child(4){background:var(--gold);transform:translateY(-2px)}.code-input{text-transform:uppercase;font:16px var(--mono);letter-spacing:2.4px}.code-input::placeholder{font:11px var(--font);letter-spacing:1px}.join-role-note{font-size:10px;color:var(--muted);line-height:1.7;margin:12px 0 21px}#join-form .field-label{margin-top:17px}
.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:20px}.section-heading h2{font:700 18px var(--round);letter-spacing:-.3px;margin:0}.section-heading>.eyebrow{font-size:8px;color:#929292;letter-spacing:1px}.section-number{font:9px var(--mono);color:var(--coral);letter-spacing:.4px;display:inline-block;margin-right:12px;vertical-align:middle}.map-section{margin-top:35px}.map-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.map-card{display:flex;align-items:center;gap:15px;position:relative;padding:15px 20px 15px 15px;background:#161616;border:1px solid #202020;border-radius:13px;text-align:left;min-height:120px;transition:background .15s,border-color .15s,transform .15s}.map-card:hover:not(:disabled){background:#202020;transform:translateY(-2px)}.map-card.active{border-color:var(--mint);background:#161616;box-shadow:0 0 0 1px #92929219}.map-art{width:97px;height:83px;display:flex;align-items:center;justify-content:center;border-radius:9px;flex:none;overflow:hidden;background:#202020}.map-card:nth-child(2) .map-art{background:#202020}.map-card:nth-child(3) .map-art{background:#202020}.map-art svg{width:100%;height:100%}.map-card-label{font:7px var(--mono);letter-spacing:.9px;color:#adadad;display:block;margin-bottom:6px}.map-card h3{font:700 16px var(--round);letter-spacing:-.3px;line-height:1.2;margin:0 0 5px}.map-card p{font-size:10px;line-height:1.6;color:#adadad;margin:0;max-width:230px}.map-check{position:absolute;top:12px;right:12px;width:15px;height:15px;border-radius:50%;border:1px solid #2d2d2d;text-align:center;font-size:9px;line-height:14px;color:transparent}.map-card.active .map-check{background:var(--mint);border-color:var(--mint);color:#161616}.role-section{margin-top:30px}.role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.role-card{display:flex;align-items:center;gap:12px;position:relative;text-align:left;border:1px solid var(--line);border-radius:12px;background:transparent;padding:14px 17px;min-height:83px}.role-card.active{border-color:var(--buddy-color,var(--mint));background:var(--paper)}.role-card:hover{background:var(--paper)}.role-icon{width:39px;height:44px;display:flex;align-items:center;justify-content:center;flex:none}.role-icon svg{width:39px;height:44px;overflow:visible}.role-card h3{font:700 15px var(--round);margin:0 0 4px}.role-card p{font-size:9px;color:var(--muted);margin:0;line-height:1.6}.role-stat{font-size:11px;color:var(--buddy-color,var(--mint));margin-left:auto;position:absolute;right:12px;top:10px}.public-section{margin-top:31px}.public-lobbies{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.empty-lobbies{font-size:11px;color:#929292;margin:0;padding:18px 0}.lobby-row{display:flex;align-items:center;gap:15px;padding:12px 0}.lobby-row+.lobby-row{border-top:1px solid #202020}.lobby-row-icon{font-size:23px;color:var(--mint)}.lobby-row strong{display:block;font-size:12px;font-weight:600}.lobby-row-code{font:9px var(--mono);letter-spacing:1px;color:#929292;margin-top:4px}.lobby-row-count{margin-left:auto;font-size:10px;color:var(--muted)}.lobby-row .button{background:var(--mint-pale);font-size:11px;min-height:35px;padding:8px 12px}.site-footer{padding:26px 0 28px;display:flex;justify-content:space-between;gap:15px;color:#929292;font-size:9px}.site-footer [data-game-name]{color:var(--ink);font-weight:800;font-size:12px;letter-spacing:-.5px}.footer-separator{color:#454545;margin:0 9px}.site-footer>span:last-child{font:7px var(--mono);letter-spacing:1.2px}
.room-code-label{font:8px var(--mono);letter-spacing:1px;color:#929292;display:flex;justify-content:space-between;margin:20px 0 1px}.room-code-label>span{font-size:7px;color:#929292}.room-code-row{display:flex;align-items:center;justify-content:space-between;padding:1px 0 16px;border-bottom:1px solid var(--line);margin-bottom:16px}.room-code-row>strong{font:36px var(--mono);letter-spacing:5px;color:var(--ink);line-height:1.6}.copy-button{color:#929292}.copy-button svg{width:20px;height:20px}.team-caption{display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:1.2px;color:#adadad;margin-bottom:8px}.player-slots{display:flex;flex-direction:column;gap:4px}.player-slot{display:flex;align-items:center;gap:9px;min-height:41px;padding:4px 0}.player-avatar{height:30px;width:30px;flex-shrink:0;border-radius:9px;background:color-mix(in srgb,var(--player-color,var(--mint)) 20%,var(--paper));color:color-mix(in srgb,var(--player-color,var(--mint)) 70%,var(--ink));display:flex;align-items:center;justify-content:center;font:600 12px var(--font)}.player-info{min-width:0;flex:1}.player-info strong{display:block;font-size:11px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}.player-info small{font-size:8px;color:#929292;display:block;margin-top:2px}.player-tag{font:7px var(--mono);letter-spacing:.4px;color:#929292}.player-tag.ready{color:#adadad}.player-tag.away{color:#adadad}.empty-slot .player-avatar{background:transparent;border:1px dashed #2d2d2d;color:#454545;font-size:16px}.empty-slot .player-info strong{font-size:10px;font-weight:400;color:#929292}.ready-note{color:#adadad;font-size:10px;line-height:1.7;margin:14px 0 13px;min-height:32px}.room-chat-open{font-size:10px;min-height:28px;padding:12px 0 0;justify-content:space-between;color:#929292}.is-room .field-card{min-height:466px}.is-room .map-section{margin-top:29px}
.game-hud{position:absolute;inset:0;z-index:3;pointer-events:none}.game-hud button{pointer-events:auto}.hud-top{position:absolute;top:22px;left:22px;right:22px;display:flex;align-items:flex-start;gap:12px}.hud-mission,.hud-objective,.hud-checkpoint,.hud-controls,.button-game,.hud-help,.hud-teammate{background:#161616e6;border:1px solid #2d2d2daa;backdrop-filter:blur(12px);box-shadow:0 3px 12px #f5f5f506;border-radius:12px}.hud-mission{display:flex;align-items:center;gap:12px;padding:11px 16px 11px 7px}.hud-mission .eyebrow{font-size:7px;display:block;color:#929292;margin-bottom:4px}.hud-mission strong{font:800 18px var(--round);letter-spacing:-.4px;display:block}.hud-exit{color:#adadad;font-size:22px}.hud-time{font:14px var(--mono);color:#adadad;border-left:1px solid #2d2d2d;margin-left:13px;padding-left:18px}.hud-objective{margin-left:auto;padding:11px 16px;display:flex;gap:10px;align-items:center;min-height:65px}.hud-objective>span:first-child{font-size:23px;color:#454545}.hud-objective strong{font:19px var(--mono);color:var(--ink);white-space:nowrap}.hud-objective small{font-size:12px;color:#929292}.hud-collect-label{font:7px var(--mono);color:#929292;letter-spacing:.5px}.hud-help{width:35px;height:35px;font:14px var(--mono);color:#adadad}.hud-message{position:absolute;top:111px;left:50%;transform:translateX(-50%);padding:9px 15px;border-radius:10px;font-size:11px;background:#161616ec;color:var(--ink);text-align:center;max-width:min(650px,calc(100% - 360px));backdrop-filter:blur(8px);box-shadow:0 2px 12px #f5f5f508}.hud-message:empty{display:none}.hud-team{position:absolute;top:111px;left:22px;display:flex;flex-direction:column;gap:7px}.hud-teammate{display:flex;align-items:center;gap:8px;padding:6px 10px;min-width:130px;border-radius:9px}.hud-teammate .player-avatar{height:22px;width:22px;font-size:9px;border-radius:7px}.hud-teammate strong{font-size:10px;font-weight:600;display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud-teammate small{font-size:7px;color:#adadad;display:block;margin-top:2px}.hud-teammate.away{opacity:.65}.hud-bottom{position:absolute;bottom:22px;left:22px;right:22px;display:flex;align-items:flex-end;gap:14px}.hud-checkpoint{display:flex;gap:10px;align-items:center;min-width:177px;padding:12px 15px}.hud-checkpoint>span{font-size:23px;color:var(--coral)}.hud-checkpoint small{font:7px var(--mono);letter-spacing:.7px;color:#929292;display:block;margin-bottom:5px}.hud-checkpoint strong{font-size:11px;font-weight:650;display:block;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-controls{display:flex;gap:17px;padding:13px 16px;color:#adadad;font-size:10px}kbd{display:inline-block;border:1px solid #2d2d2d;border-bottom-width:2px;min-width:19px;padding:3px 5px;text-align:center;border-radius:4px;font:9px var(--mono);color:#adadad;background:#161616;margin-right:3px}kbd:last-of-type{margin-right:7px}.hud-controls>span{display:flex;align-items:center;white-space:nowrap}.hud-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.button-game{font-size:10px;min-height:39px;padding:10px 13px;gap:5px;font-weight:500;color:#adadad}.button-game:hover{background:#161616}.pause-banner{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);background:#161616f2;border:1px solid #2d2d2d;box-shadow:0 10px 55px #f5f5f515;backdrop-filter:blur(12px);border-radius:16px;padding:22px 27px;display:flex;gap:18px;align-items:center;width:max-content;max-width:calc(100% - 38px)}.pause-banner>span{font-size:34px;color:#454545}.pause-banner strong{font:700 19px var(--round)}.pause-banner p{font-size:11px;color:#adadad;margin:7px 0 0;line-height:1.6}.is-playing{overflow:hidden}.is-playing .app-shell{padding:0;max-width:none}.is-playing .site-header,.is-playing .welcome-heading,.is-playing .room-heading,.is-playing .base-panel,.is-playing .map-section,.is-playing .role-section,.is-playing .public-section,.is-playing .site-footer{display:none!important}.is-playing .field-card{position:fixed;inset:0;width:100vw;height:100dvh;aspect-ratio:auto;border-radius:0;border:0;min-height:0}.is-playing .preview-top,.is-playing .preview-bottom{display:none}.result-overlay{position:absolute;inset:0;background:#f5f5f566;z-index:5;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(7px);padding:20px}.result-panel{width:450px;max-width:100%;max-height:calc(100dvh - 40px);overflow:auto;background:var(--paper);border:1px solid #2d2d2d;border-radius:22px;padding:31px 37px 24px;text-align:center;box-shadow:0 25px 100px #f5f5f526}.result-symbol{font-size:57px;line-height:1;color:var(--coral);display:block;margin-bottom:17px;transform:rotate(12deg)}.result-panel>.eyebrow{font-size:9px;color:#adadad;letter-spacing:1.8px;margin:0 0 11px}.result-panel h2{font:900 37px var(--round);letter-spacing:-1.4px;line-height:1.15;margin:0 0 12px}.result-panel>p:not(.eyebrow):not(.result-wait){font-size:12px;color:#adadad;line-height:1.7;margin:0 0 21px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #202020;padding:18px 0;margin-bottom:23px}.result-stats>div+div{border-left:1px solid #202020}.result-stats strong{display:block;font:21px var(--mono);color:var(--ink);margin-bottom:5px}.result-stats span{font:7px var(--mono);letter-spacing:.7px;color:#929292}.result-panel>.button-secondary{margin-top:10px}.result-panel>.button-quiet{font-size:10px;margin-top:12px;color:#929292}.result-wait{font-size:11px;color:#929292;margin:8px 0}
.chat-panel{position:fixed;bottom:24px;right:24px;width:330px;max-width:calc(100vw - 32px);z-index:12;background:#161616f5;border:1px solid #2d2d2d;border-radius:15px;box-shadow:0 12px 50px #f5f5f51f;backdrop-filter:blur(20px)}.is-playing .chat-panel{bottom:93px}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;border-bottom:1px solid #202020}.chat-header .eyebrow{font-size:8px;letter-spacing:1.4px;color:#929292}.chat-header .icon-button{width:25px;height:25px;font-size:21px;color:#929292}.chat-messages{max-height:220px;min-height:130px;overflow-y:auto;padding:13px 15px;scrollbar-width:thin;scrollbar-color:#2d2d2d transparent}.chat-empty{font-size:10px;color:#929292;margin:0}.chat-message{margin:0 0 10px;font-size:11px;line-height:1.6;overflow-wrap:anywhere}.chat-message strong{display:block;font-size:9px;color:#adadad;margin-bottom:2px}.chat-message span{color:#adadad}.chat-form{display:flex;border-top:1px solid #202020;align-items:center;padding:8px 9px 8px 15px;gap:7px}.chat-form input{width:100%;background:transparent;border:0;color:var(--ink);outline:none;font-size:10px}.chat-form input::placeholder{color:#929292}.chat-form .icon-button{height:29px;width:29px;background:var(--coral);color:#161616;font-size:20px;border-radius:8px}.chat-form .icon-button:hover{background:#adadad}#chat-unread{background:var(--coral);color:white;min-width:16px;height:16px;border-radius:8px;font-size:8px;line-height:16px;padding:0 4px}.reconnect-banner{position:fixed;left:50%;top:18px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:12px;max-width:calc(100vw - 30px);background:#161616f5;border:1px solid #2d2d2d;padding:12px 17px;border-radius:11px;z-index:20;color:#adadad;font-size:11px;box-shadow:0 4px 30px #f5f5f515;backdrop-filter:blur(10px)}.reconnect-banner .text-button{color:#adadad;white-space:nowrap;font-size:10px;text-decoration:underline;text-underline-offset:3px}.spinner{width:13px;height:13px;border:1.5px solid #45454560;border-top-color:#adadad;border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}.toast-container{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);z-index:40;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:calc(100vw - 32px)}.toast{padding:12px 18px;background:#f5f5f5f5;border:1px solid #adadad;border-radius:10px;font-size:12px;color:#161616;box-shadow:0 5px 25px #f5f5f530;animation:toast-in .25s ease-out;text-align:center}.toast.error{background:#f5f5f5f5;border-color:#929292;color:#161616}.help-dialog{color:var(--ink);background:var(--paper);border:1px solid #2d2d2d;border-radius:22px;padding:27px 32px 22px;width:510px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 36px);box-shadow:0 30px 100px #f5f5f533;overflow:auto;scrollbar-width:thin;scrollbar-color:#2d2d2d transparent}.help-dialog::backdrop{background:#f5f5f588;backdrop-filter:blur(6px)}.help-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.help-header .eyebrow{font-size:7px;letter-spacing:1.3px;color:#929292}.help-header .icon-button{height:25px;width:25px;color:#929292}.help-emblem{font-size:46px;color:var(--coral);display:block;line-height:1;margin-bottom:10px}.help-dialog h2{font:900 39px/1.05 var(--round);letter-spacing:-1.4px;margin:0 0 16px}.help-intro{font-size:12px;line-height:1.8;color:#adadad;margin:0 0 20px}.mission-steps{border-block:1px solid #202020;padding:15px 0;display:flex;flex-direction:column;gap:14px}.mission-steps>div{display:flex;gap:13px;align-items:baseline}.mission-steps>div>span{font:9px var(--mono);color:var(--coral)}.mission-steps p{font-size:11px;line-height:1.8;color:#929292;margin:0}.mission-steps strong{color:var(--ink);font-weight:650}.help-controls{display:grid;gap:10px;padding:20px 0;color:#adadad;font-size:10px}.help-controls>span{display:flex;align-items:center;flex-wrap:wrap;gap:3px}.help-controls kbd{font-size:8px;padding:4px 6px;margin-right:3px;min-width:24px}.help-footnote{font-size:9px;line-height:1.8;color:#929292;text-align:center;margin:15px 4px 0}.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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.app-shell{padding:0 65px;max-width:1570px}.site-header{height:108px}.welcome-heading{padding:47px 0 37px}.welcome-heading h1{font-size:74px}.field-card{min-height:496px}.base-panel{padding:29px 31px 23px}.panel-description{margin-bottom:25px}.entry-tabs{margin-bottom:23px}.selection-summary{padding:21px 0}.checkbox-label{margin-bottom:22px}.panel-footer{margin-top:24px;padding-top:18px}}
@media(max-width:1180px){.app-shell{padding:0 32px}.brand{font-size:28px}.brand-edition{display:none}.site-header{height:83px}.header-actions{gap:15px}.welcome-heading h1{font-size:58px;letter-spacing:-2.8px}.heading-spark{font-size:38px;right:-43px}.heading-note{padding-right:0}.heading-note p{font-size:12px}.launch-grid{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:17px}.base-panel{padding:23px 21px 18px}.base-panel h2{font-size:23px}.field-card{min-height:457px}.preview-top,.preview-bottom{left:20px;right:20px}.preview-label{font-size:7px}.preview-badge{display:none}.map-card{gap:12px;padding:13px}.map-art{width:75px;height:79px}.map-card h3{font-size:15px}.map-card p{font-size:9px}.map-card-label{font-size:6px}.role-card{padding:13px 12px;gap:9px}.role-card p{font-size:8px}.hud-controls{display:none}}
@media(max-width:900px){.app-shell{padding:0 24px}.network-status{font-size:10px}.network-status #network-text{display:none}.site-header{height:76px}.welcome-heading{padding:29px 0 25px}.welcome-heading h1{font-size:48px;letter-spacing:-2.6px}.welcome-heading .eyebrow{font-size:8px;letter-spacing:1.2px}.heading-spark{display:none}.heading-note{margin-bottom:1px}.heading-note p{font-size:11px;line-height:1.75}.note-bottom{font-size:9px}.launch-grid{grid-template-columns:minmax(0,1fr) 293px;gap:14px}.field-card{min-height:452px;border-radius:16px}.base-panel{border-radius:16px;padding:22px 19px 18px}.base-panel h2{font-size:22px}.panel-description{font-size:10px}.preview-top,.preview-bottom{left:17px;right:17px}.preview-label{display:none}.preview-caption strong{font-size:12px;max-width:230px}.map-grid{gap:11px}.map-card{align-items:flex-start;flex-direction:column;padding:13px;gap:12px}.map-art{width:100%;height:75px}.map-art svg{max-width:140px;margin:auto}.map-card h3{font-size:15px}.map-card p{font-size:9px}.map-card-label{font-size:7px}.map-check{top:9px;right:9px}.role-grid{gap:10px}.role-card{padding:12px 10px;gap:7px;align-items:flex-start}.role-icon{width:28px;height:37px}.role-icon svg{width:28px;height:37px}.role-card h3{font-size:13px}.role-card p{font-size:8px}.role-stat{right:8px;top:6px;font-size:9px}.section-heading h2{font-size:16px}.section-heading>.eyebrow{font-size:7px}.room-heading h1{font-size:44px}.room-heading-copy{font-size:11px;margin-right:0}.site-footer{font-size:8px}.site-footer>span:last-child{font-size:6px;letter-spacing:.9px}.hud-top{left:16px;right:16px;top:16px}.hud-bottom{left:16px;right:16px;bottom:16px}.hud-team{left:16px;top:106px}.hud-mission{padding:10px 12px 10px 6px;gap:8px}.hud-mission strong{font-size:16px}.hud-time{font-size:12px;margin-left:4px;padding-left:12px}.hud-objective{padding:10px 13px;min-height:61px}.hud-message{font-size:10px;top:106px;max-width:calc(100% - 330px)}.hud-collect-label{display:none}.button-game{padding:10px 12px}}
@media(max-width:680px){.app-shell{padding:0 18px}.site-header{height:69px;gap:10px}.brand{font-size:26px;letter-spacing:-1.5px;gap:8px}.brand-symbol{width:35px;height:33px}.header-actions{gap:9px}.header-actions>.icon-button{width:27px;height:27px}.header-actions>.icon-button svg{width:18px;height:18px}.help-button{font-size:0;gap:0}.help-button:before{content:'?';font:12px var(--mono);display:flex;align-items:center;justify-content:center;width:27px;height:27px;border:1px solid var(--line);border-radius:50%}.help-button>span{display:none}.network-status{gap:4px}.network-status i{width:6px;height:6px}#latency{display:none}.welcome-heading{padding:27px 0 23px}.welcome-heading h1{font-size:44px;letter-spacing:-2.4px;line-height:1.08}.welcome-heading .eyebrow{font-size:7px;letter-spacing:1px;margin-bottom:13px}.heading-note{display:none}.launch-grid{grid-template-columns:1fr;gap:17px}.field-card{min-height:310px;aspect-ratio:1.3}.base-panel{padding:24px 23px 21px}.base-panel h2{font-size:27px}.panel-description{font-size:12px;max-width:none}.panel-title .eyebrow{font-size:8px}.entry-tabs{margin-bottom:21px}.entry-tab{font-size:12px;min-height:36px}.field-label{font-size:8px}.text-input{height:45px;font-size:12px}.selection-summary{padding:20px 0}.selection-summary strong{font-size:12px}.selection-summary small{font-size:7px}.checkbox-label{font-size:12px;margin-bottom:22px}.checkbox-label small{font-size:10px}.button{font-size:13px;min-height:45px}.panel-footer{font-size:9px}.map-section{margin-top:30px}.section-heading{margin-bottom:14px;gap:10px}.section-heading h2{font-size:16px;line-height:1.4;max-width:245px}.section-heading>.eyebrow{font-size:6px;max-width:98px;text-align:right;line-height:1.6}.section-number{font-size:8px;margin-right:8px}.map-grid{gap:8px}.map-card{padding:9px;gap:10px;border-radius:10px;min-height:191px}.map-art{height:67px;border-radius:6px}.map-card h3{font-size:13px;line-height:1.3;min-height:33px}.map-card p{font-size:8px;line-height:1.65}.map-card-label{font-size:6px;letter-spacing:.5px;margin-bottom:5px}.map-check{top:7px;right:7px;width:12px;height:12px;line-height:10px;font-size:7px}.role-section{margin-top:27px}.role-grid{grid-template-columns:1fr 1fr;gap:10px}.role-card{align-items:center;gap:12px;padding:12px 13px;min-height:79px}.role-icon{width:31px;height:39px}.role-icon svg{width:31px;height:39px}.role-card h3{font-size:14px}.role-card p{font-size:9px;max-width:90px}.role-stat{top:8px;right:10px;font-size:10px}.public-section{margin-top:28px}.public-section .text-button{font-size:9px;gap:5px}.empty-lobbies{font-size:10px;padding:16px 0}.lobby-row{gap:10px}.lobby-row strong{font-size:11px}.lobby-row .lobby-row-code{font-size:8px}.lobby-row-count{font-size:8px}.lobby-row .button{font-size:9px;min-height:33px}.site-footer{padding:24px 0;display:block;line-height:1.9;font-size:8px}.site-footer>span{display:block}.site-footer>span:last-child{font-size:6px;margin-top:7px;letter-spacing:1px}.room-heading{display:block;padding:28px 0 23px}.room-heading h1{font-size:43px;letter-spacing:-2px}.room-heading-copy{font-size:11px;margin:14px 0 0}.is-room .field-card{min-height:295px}.room-code-row>strong{font-size:39px}.player-slot{min-height:47px}.player-info strong{max-width:220px;font-size:12px}.player-info small{font-size:9px}.ready-note{font-size:11px;min-height:38px}.room-chat-open{font-size:11px}.hud-top{left:10px;right:10px;top:10px;gap:7px}.hud-mission{padding:9px 10px 9px 3px;gap:3px;border-radius:9px}.hud-mission .eyebrow{font-size:6px;letter-spacing:.6px}.hud-mission strong{font-size:13px}.hud-exit{width:28px;height:28px;font-size:20px}.hud-time{font-size:10px;margin-left:6px;padding-left:10px}.hud-objective{padding:9px 10px;min-height:56px;gap:6px;border-radius:9px}.hud-objective strong{font-size:14px}.hud-objective small{font-size:10px}.hud-objective>span:first-child{font-size:18px}.hud-help{width:26px;height:26px;font-size:10px}.hud-team{left:10px;top:86px;gap:5px}.hud-teammate{min-width:105px;padding:5px 7px;gap:6px}.hud-teammate .player-avatar{height:21px;width:21px;font-size:8px}.hud-teammate strong{font-size:8px;max-width:92px}.hud-teammate small{font-size:6px}.hud-message{top:86px;left:auto;right:10px;transform:none;max-width:calc(100% - 145px);font-size:8px;padding:7px 9px;text-align:right;line-height:1.6}.hud-bottom{left:10px;right:10px;bottom:10px;gap:6px;align-items:flex-end}.hud-checkpoint{min-width:0;max-width:132px;padding:9px 10px;gap:6px;border-radius:9px}.hud-checkpoint>span{font-size:19px}.hud-checkpoint small{font-size:5px;letter-spacing:.4px;margin-bottom:4px}.hud-checkpoint strong{font-size:9px;max-width:95px}.hud-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px;max-width:205px}.button-game{font-size:9px;min-height:33px;padding:8px 10px;border-radius:8px}.pause-banner{padding:18px 20px;gap:12px}.pause-banner strong{font-size:16px}.pause-banner p{font-size:10px;max-width:210px}.pause-banner>span{font-size:27px}.chat-panel{right:10px;bottom:10px;width:310px}.is-playing .chat-panel{bottom:92px}.chat-messages{max-height:170px}.result-panel{padding:25px 24px 20px}.result-panel h2{font-size:32px}.result-panel>.eyebrow{font-size:8px}.result-panel>p:not(.eyebrow):not(.result-wait){font-size:11px}.result-stats strong{font-size:18px}.result-stats span{font-size:6px}.help-dialog{padding:23px 24px}.help-dialog h2{font-size:35px}.help-intro{font-size:11px}.help-controls{font-size:9px}.reconnect-banner{font-size:9px;padding:10px 13px;top:10px;width:max-content;max-width:calc(100% - 20px);gap:8px}.reconnect-banner .text-button{font-size:8px}.toast{font-size:10px}.toast-container{bottom:17px}}
@media(max-width:420px){.welcome-heading h1{font-size:39px;letter-spacing:-2.2px}.hud-time{display:none}.hud-checkpoint{display:none}.hud-actions{max-width:none}.role-card{gap:8px;padding:11px}.role-card p{font-size:8px}.section-heading h2{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Brody's native monochrome surfaces and typography. */
:root{color-scheme:dark;--cream:#0b0b0b;--paper:#161616;--ink:#f5f5f5;--muted:#adadad;--coral:#f5f5f5;--mint:#f5f5f5;--mint-pale:#202020;--gold:#c9c9c9;--line:#2d2d2d;--font:'Segoe UI Variable Text','Segoe UI',system-ui,sans-serif;--round:'Segoe UI Variable Display','Segoe UI',system-ui,sans-serif}
.brand{letter-spacing:-1.5px;font-weight:650}.brand-edition{border-color:#2d2d2d}.welcome-heading h1,.room-heading h1{font-weight:650}.welcome-heading h1 em,.room-heading h1 em{color:#929292}.heading-spark{font-size:40px;color:#6d6d6d}.button-primary{color:#0c0c0c;background:#f5f5f5;box-shadow:none}.button-primary:hover:not(:disabled){background:#e0e0e0}.button-primary:active:not(:disabled){box-shadow:none;background:#c8c8c8}.button-quiet:hover:not(:disabled),.text-button:hover{color:#f5f5f5}.base-panel h2,.result-panel h2,.help-dialog h2{font-weight:650}.field-card{border-color:#2d2d2d;background:#151515}.map-card,.role-card{background:#111111;border-color:#2d2d2d}.map-card.active,.role-card.active{background:#1b1b1b;border-color:#737373;box-shadow:none}.map-card:hover:not(:disabled),.role-card:hover{background:#202020}.map-art,.map-card:nth-child(2) .map-art,.map-card:nth-child(3) .map-art{background:#222}.map-check{border-color:#555}.map-card.active .map-check{background:#f5f5f5;color:#0c0c0c}.role-stat{color:#f5f5f5}.entry-tabs{background:#202020}.entry-tab.active{background:#383838;color:#f5f5f5;box-shadow:none}.text-input{background:#191919;border-color:#454545}.checkbox-label>input:checked+.checkbox-box{background:#f5f5f5}.checkbox-label>input:checked+.checkbox-box:after{color:#0c0c0c}.chat-form .icon-button{background:#f5f5f5;color:#0c0c0c}.chat-form .icon-button:hover{background:#e0e0e0}.mini-players i{background:#f5f5f5}.mini-players i:nth-child(2){background:#d97757}.mini-players i:nth-child(3){background:#6ca9f7}.mini-players i:nth-child(4){background:#b7b7b7}.network-status i{background:#777}.network-status.online i{background:#f5f5f5}.network-status.offline i{background:#929292}.player-tag.ready{color:#f5f5f5}.player-avatar{color:#f5f5f5;background:color-mix(in srgb,var(--player-color,#f5f5f5) 18%,#161616)}.result-overlay{background:#0009}.help-dialog::backdrop{background:#000a}.result-panel,.help-dialog,.chat-panel,.toast,.reconnect-banner,.pause-banner{box-shadow:0 15px 60px #0005}.toast{background:#292929;color:#f5f5f5;border-color:#454545}.toast.error{background:#292929;color:#fff;border-color:#929292}.hud-mission,.hud-objective,.hud-checkpoint,.hud-controls,.button-game,.hud-help,.hud-teammate,.hud-message{background:#161616e8;border-color:#45454580;box-shadow:0 2px 12px #0001}.hud-objective>span:first-child,.hud-checkpoint>span,.pause-banner>span{color:#d6d6d6}.preview-caption strong{color:#f5f5f5}.map-tag,.preview-badge{background:#191919df}.preview-label,.coordinate{color:#b4b4b4}#chat-unread{background:#f5f5f5;color:#0c0c0c}.pause-banner{background:#161616f5;border-color:#626262}.pause-banner p{color:#adadad}.reconnect-banner{background:#202020f5;color:#f5f5f5;border-color:#454545}.reconnect-banner .text-button{color:#f5f5f5}.spinner{border-color:#7777;border-top-color:#f5f5f5}
@media(min-width:901px) and (max-height:800px){.site-header{height:76px}.welcome-heading{padding:26px 0 23px}.welcome-heading h1{font-size:57px;line-height:1.04}.welcome-heading .eyebrow{margin-bottom:11px}.heading-note p{font-size:12px;margin-bottom:12px}.field-card{min-height:438px}.base-panel{padding-top:21px;padding-bottom:16px}.panel-title{margin-bottom:11px}.panel-description{margin-bottom:17px}.entry-tabs{margin-bottom:15px}.selection-summary{padding:14px 0}.checkbox-label{margin-bottom:16px}.panel-footer{padding-top:12px;margin-top:15px}.room-heading{padding:27px 0 23px}.room-heading h1{font-size:49px}.is-room .field-card{min-height:438px}}
.is-playing .field-card{width:100vw;height:100dvh;min-height:0;aspect-ratio:auto}

/* Level catalogue: chapter browsing keeps the chosen level and lobby controls visible. */
.map-catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 17px}.chapter-filters{display:flex;flex-wrap:wrap;gap:7px}.chapter-filter{display:inline-flex;align-items:center;gap:8px;min-height:35px;padding:7px 12px;border:1px solid #343434;border-radius:8px;background:#151515;color:#adadad;font-size:11px;font-weight:500}.chapter-filter:hover{background:#252525;color:#f5f5f5}.chapter-filter.active{background:#ededed;border-color:#ededed;color:#111}.chapter-filter span{font:9px var(--mono);opacity:.65}.map-count{margin:0;color:#929292;font:9px var(--mono);white-space:nowrap}.map-current{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0 0 16px;padding:10px 12px;border:1px solid #3c3c3c;border-radius:8px;background:#1a1a1a;color:#adadad;font-size:11px}.map-current .text-button{color:#f5f5f5;line-height:1.6;text-decoration:underline;text-underline-offset:3px;text-align:left}.map-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.map-card{display:grid;grid-template-columns:104px minmax(0,1fr);gap:15px;align-items:center;min-height:145px;padding:16px}.map-art{width:104px;height:88px;align-self:center;background:#202020}.map-art svg{display:block;width:100%;height:100%;max-width:none}.map-card-info{min-width:0}.map-card h3{font-size:15px;line-height:1.35;min-height:0;margin-bottom:6px}.map-card p{font-size:10px;line-height:1.6;max-width:none}.map-card-label{font-size:8px;letter-spacing:1px;margin-bottom:6px}.map-details{display:block;margin-top:9px;font-size:9px;line-height:1.5;color:#b4b4b4}.map-card:disabled{opacity:.72}.map-card.active:disabled{opacity:1}.result-panel>#result-next{margin-bottom:10px}.result-panel>#result-next[hidden]+#restart-button{margin-top:0}
@media(max-width:1100px){.map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-card{grid-template-columns:110px minmax(0,1fr)}.map-art{width:110px;height:88px}}
@media(max-width:680px){.map-catalog-toolbar{display:block;margin-bottom:14px}.chapter-filters{gap:6px}.chapter-filter{font-size:10px;padding:7px 9px;gap:6px;min-height:34px}.map-count{margin-top:12px}.map-grid{gap:10px}.map-card{display:flex;flex-direction:column;align-items:stretch;padding:13px;gap:10px;min-height:230px}.map-art{width:100%;height:76px}.map-card h3{font-size:14px}.map-card p{font-size:10px}.map-card-label{font-size:7px}.map-details{font-size:9px;margin-top:8px}.map-current{font-size:10px;gap:3px}.map-current .text-button{font-size:10px}}
@media(max-width:420px){.map-grid{grid-template-columns:1fr}.map-card{display:grid;grid-template-columns:110px minmax(0,1fr);min-height:145px;gap:14px}.map-art{width:110px;height:88px}.map-card h3{font-size:14px}.map-card p{font-size:9px}.map-details{font-size:8px}.chapter-filter{font-size:9px;padding:7px 8px;gap:5px}}

/* Puzzle size follows the lobby; its compact HUD label stays fixed for a round. */
.map-team-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 15px;margin:0 0 16px;font-size:11px;line-height:1.65;color:#adadad}.map-team-summary strong{font-weight:600;color:#f5f5f5}.room-puzzle-summary{margin:11px 0 0;line-height:1.6}.room-puzzle-summary strong{display:block;font-size:10px;font-weight:600;color:#f5f5f5}.room-puzzle-summary span{display:block;font-size:9px;color:#adadad;margin-top:2px}.room-puzzle-summary+.ready-note{margin-top:9px;min-height:0}.hud-mission #hud-team-size{letter-spacing:.5px;line-height:1.5;text-transform:uppercase}
@media(max-width:680px){.map-team-summary{display:block;font-size:10px;margin-bottom:14px}.map-team-summary strong{display:block;margin-bottom:3px}.room-puzzle-summary strong{font-size:11px}.room-puzzle-summary span{font-size:10px}.hud-mission #hud-team-size{font-size:6px;letter-spacing:0;max-width:190px}}
