:root{color:#233b2a;font-synthesis:none;background:#f4f2e9;font-family:Arial,sans-serif}.lobby-app{max-width:1120px}.lobby-app h1{max-width:850px}.lobby-app fieldset{border:0;min-width:0;margin:0;padding:0}.lobby-app legend{margin-bottom:20px;font-size:20px;font-weight:700}.lobby-app label{gap:8px;margin:16px 0;font-size:14px;font-weight:700;display:grid}.lobby-app input,.lobby-app select{font:inherit;color:#233b2a;background:#fffdf4;border:1px solid #aab49e;border-radius:5px;width:100%;min-width:0;padding:12px}.lobby-app :focus-visible{outline-offset:4px;outline:3px solid #986015}.lobby-profile,.salon-config,.salon-players{background:#fffdf4;border:1px solid #c8ceb9;border-radius:8px;padding:28px}.lobby-profile{max-width:620px;margin:28px 0}.color-choices{flex-wrap:wrap;gap:12px;margin:20px 0 10px;display:flex}.color-choices button{color:#182720;cursor:pointer;border:2px solid #56654d;border-radius:50%;width:40px;height:40px;font-size:24px}.color-choices [aria-pressed=true]{outline-offset:3px;outline:3px solid #233b2a}.lobby-columns{grid-template-columns:1.4fr 1fr;gap:24px;margin:28px 0;display:grid}.salon-players h2{margin-top:0}.salon-players ul,.public-rooms ul{padding:0;list-style:none}.salon-players li,.public-rooms li{border-bottom:1px solid #d9ddcc;align-items:center;gap:16px;padding:18px 0;display:flex}.salon-players li div{overflow-wrap:anywhere;flex:1}.salon-players li i{border:1px solid #4c624a;border-radius:4px;flex-shrink:0;width:20px;height:20px}.salon-players small{margin-top:5px;display:block}.salon-players li>span{font-size:13px}.public-rooms{margin:40px 0}.public-rooms li{justify-content:space-between}.public-rooms p{color:#63715e;font-size:14px}.salon-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px;display:flex}.invitation{padding:4px 0 20px}.invitation input{margin-bottom:14px;display:block}.invitation [role=status]{margin-left:16px}.lobby-error{color:#732f20;background:#f8e4db;border:1px solid #a24735;padding:18px}.reconnection-banner{background:#fff0be;border:1px solid #b68a28;padding:18px}@media (width<=720px){.lobby-columns{grid-template-columns:1fr}.lobby-profile,.salon-config,.salon-players{padding:20px}}*{box-sizing:border-box}[hidden]{display:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.match-stage{position:relative}.terrain-concealed{visibility:hidden;pointer-events:none;width:100%;position:absolute;top:0;left:0}.match-results{background:#fffdf4;border:1px solid #c8ceb9;border-top:5px solid #294733;border-radius:8px;margin:24px 0;padding:28px}.results-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.results-heading h2{letter-spacing:-1px;margin:0;font-size:clamp(24px,3vw,32px);line-height:1.15}.results-heading h2:focus-visible{outline-offset:5px;outline:2px solid #a36818}.next-round{text-align:right;color:#63715e;flex-shrink:0;margin:0;font-size:12px}.next-round strong{color:#294733;font-variant-numeric:tabular-nums;margin-top:4px;font-size:30px;display:block}.result-explanation{color:#63715e;margin:20px 0;font-size:14px;line-height:1.5}.score-scroll{overflow-x:auto}.score-scroll:focus-visible{outline-offset:3px;outline:2px solid #a36818}.score-table{border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.score-table th,.score-table td{border-bottom:1px solid #d9ddce;padding:18px 10px}.score-table thead th{color:#63715e;white-space:nowrap;font-size:11px;font-weight:600}.score-table td{white-space:nowrap}.score-table .is-me{background:#eff2e6}.score-table small{color:#63715e;white-space:normal;margin-top:5px;font-size:11px;font-weight:400;line-height:1.4;display:block}.score-player{align-items:center;gap:8px;min-width:105px;display:flex}.score-player i{border:1px solid #63715e;border-radius:3px;flex-shrink:0;width:12px;height:12px}.score-rank{font-size:24px;font-weight:700}.score-total{color:#294733;font-size:26px;font-weight:700}.score-gain{font-weight:700}.score-rule{color:#63715e;margin:18px 0 0;font-size:12px;line-height:1.6}.results-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px;display:flex}.results-actions a{text-decoration:none}.results-actions .primary-action{color:#fffdf4;background:#294733;border-color:#294733;font-weight:700}.results-actions .primary-action:hover{background:#3c5d43}.results-actions p{color:#63715e;width:100%;margin:0;font-size:12px}.is-final-countdown{border-color:#a36818;box-shadow:inset 4px 0 #efb94b}@media (width<=700px){.match-results{padding:20px 14px}.results-heading{flex-direction:column;gap:14px}.next-round{text-align:left;align-items:center;gap:10px;display:flex}.next-round strong{margin:0;font-size:20px}.score-table th,.score-table td{padding:14px 8px}}body{margin:0}main{width:min(1040px,100% - 64px);margin:0 auto}.masthead{border-bottom:1px solid #d9ddce;justify-content:space-between;align-items:center;height:96px;display:flex}.wordmark{color:inherit;letter-spacing:-.8px;font-size:19px;font-weight:900;text-decoration:none}.wordmark span,h1 span{color:#a36818}.edition,.eyebrow,footer{letter-spacing:1.6px;font-size:11px;font-weight:600}.edition{color:#67745d}.intro{justify-content:space-between;align-items:end;gap:20px;margin-top:42px;display:flex}.eyebrow{color:#697759;margin:0 0 12px}h1{letter-spacing:-2px;margin:0;font-size:clamp(32px,5vw,48px);font-weight:750;line-height:1.1}.description{color:#63715e;margin:16px 0 28px;font-size:15px}.local{white-space:nowrap;align-items:center;gap:8px;padding-bottom:5px;font-size:12px;display:flex}.local i{background:#527842;border-radius:50%;width:6px;height:6px}.game{aspect-ratio:2;background:#182720;border:1px solid #324636;border-radius:6px;width:100%;overflow:hidden}.game:focus-visible{outline-offset:5px;outline:3px solid #a36818}.game canvas{display:block}.game-dead canvas{filter:grayscale()}.controls{color:#64725b;flex-wrap:wrap;align-items:center;gap:32px;margin-top:22px;font-size:12px;display:flex}.controls>span{align-items:center;gap:5px;display:flex}.controls b{color:#33452e;margin-left:7px;font-weight:400}kbd{color:#33452e;min-width:27px;height:27px;font:inherit;background:#fffdf4;border:1px solid #d3d7c9;border-bottom-width:2px;border-radius:4px;justify-content:center;align-items:center;padding:0 7px;display:inline-flex}.focus-help{color:#65725d;margin:14px 0 30px;font-size:12px;line-height:1.5}footer{color:#64725b;border-top:1px solid #d9ddce;justify-content:space-between;gap:20px;padding:22px 0 30px;font-size:10px;display:flex}footer span:first-child{text-transform:none;letter-spacing:0;font-size:12px;font-weight:400}@media (width<=600px){main{width:calc(100% - 32px)}.masthead{height:76px}.edition{letter-spacing:.7px;font-size:9px}.intro{align-items:center;margin-top:30px}.controls{gap:16px}footer{letter-spacing:.5px}}.exercises{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible{outline-offset:3px;outline:3px solid #a36818}.exercises button{color:#43583c;text-align:left;white-space:nowrap;background:0 0;border:1px solid #d2d7c8;border-radius:4px;flex:1;padding:11px 12px;font-size:12px}.exercises button span{color:#718061;margin-right:10px;font-size:10px}.exercises button:hover{background:#e9ecdf}.exercises button[aria-current=step]{color:#fff7df;background:#243d2c;border-color:#243d2c}.exercises button[aria-current=step] span{color:#dac586}.game-wrap{position:relative}.race-layout{grid-template-columns:minmax(0,1fr) 212px;align-items:start;gap:16px;display:grid}.race-progress{font-variant-numeric:tabular-nums;background:#fffdf4;border:1px solid #c8ceb9;border-radius:6px;padding:14px 10px}.race-progress h2{margin:0 0 12px;font-size:14px}.progress-endpoint{color:#63715e;margin:8px 0;font-size:10px}.progress-lanes{justify-content:space-around;height:150px;margin:20px 0;display:flex}.progress-lane{background:#d9ddce;width:2px;position:relative}.progress-marker{color:#182720;border:1px solid #63715e;border-radius:50%;place-items:center;width:19px;height:19px;font-size:11px;font-weight:700;transition:bottom .1s linear;display:grid;position:absolute;left:50%;transform:translate(-50%,50%)}.progress-marker.is-me{outline-offset:2px;outline:2px solid #233b2a}.progress-marker.is-finished{border-radius:3px}.progress-players{margin:12px 0 0;padding:0;list-style:none}.progress-players li{border-top:1px solid #e8eadf;align-items:center;gap:6px;min-height:30px;padding:5px 2px;font-size:11px;display:flex}.progress-players .is-me{background:#eff2e6;font-weight:700}.player-number{color:#182720;border:1px solid #63715e;border-radius:4px;flex-shrink:0;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:inline-grid}.progress-name{overflow-wrap:anywhere;flex:1;min-width:0}.progress-name small{font-size:10px;display:block}.progress-value{white-space:nowrap;font-size:10px}@media (width<=1100px){.race-layout{grid-template-columns:minmax(0,1fr)}.race-progress{grid-template-columns:180px minmax(0,1fr);column-gap:24px;display:grid}.race-progress h2,.progress-endpoint,.progress-lanes{grid-column:1}.progress-players{grid-area:1/2/5;margin:0}}@media (width<=480px){.race-progress{display:block}}.pause-note{color:#f1e8c9;pointer-events:none;white-space:nowrap;background:#16261fed;border:1px solid #728060;border-radius:4px;padding:10px 18px;font-size:13px;position:absolute;top:112px;left:50%;transform:translate(-50%)}.exercise-status{border-bottom:1px solid #d9ddce;justify-content:space-between;align-items:center;gap:24px;padding:14px 0;display:flex}.exercise-status p{margin:0;font-size:12px;line-height:1.6}.exercise-status strong{font-size:13px;display:block}.exercise-status p span{color:#63715e}.restart{color:#33452e;background:#fffdf4;border:1px solid #c8ceb9;border-radius:4px;flex-shrink:0;align-items:center;gap:12px;padding:9px 13px;font-size:12px;display:flex}.restart:hover{background:#e9ecdf}.mode-link,.room-link a{color:#43583c;font-size:13px}.room-link{overflow-wrap:anywhere;font-size:12px}@media (width>=900px){main{width:min(960px,100% - 64px)}.masthead{height:64px}.intro{margin-top:24px}h1{font-size:38px}.eyebrow{margin-bottom:8px}.description{margin:12px 0 20px}.controls{gap:22px;margin-top:16px}}@media (width<=600px){.exercises button{flex:1 0 28%}.exercise-status{align-items:start;gap:12px}.pause-note{padding:8px;font-size:11px;top:80px}}.phase-bar{color:#e8eddf;background:#182720;border:1px solid #53694c;border-radius:8px;justify-content:space-between;align-items:center;gap:24px;margin:20px 0;padding:20px;display:flex}.phase-bar p{margin:8px 0 0;font-size:14px;line-height:1.5}.phase-clock{color:#efb94b;font-variant-numeric:tabular-nums;margin-left:16px;font-weight:700}@media (width<=700px){.phase-bar{flex-direction:column;align-items:flex-start}}.build-panel{background:#fffdf4;border:1px solid #c8ceb9;border-radius:6px;margin:12px 0;padding:16px}.build-heading,.build-tools,.build-camera,.owner-legend,.build-feedback{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.build-heading{margin-bottom:12px;font-size:13px}.build-budget{margin-left:auto;font-size:12px}.build-budget b{font-variant-numeric:tabular-nums;font-size:20px}.owner-legend{color:#63715e;gap:6px;font-size:11px}.owner-legend>span{align-items:center;gap:4px;display:inline-flex}.owner-legend i{border:1px solid #63715e;border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-left:6px;display:inline-block}.trap-palette{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.trap-palette button{text-align:left;color:#233b2a;background:0 0;border:1px solid #c8ceb9;border-radius:4px;align-items:center;gap:10px;padding:12px;display:flex}.trap-palette button[aria-pressed=true]{color:#fff7df;background:#243d2c;border-color:#243d2c}.trap-palette strong{font-size:12px;display:block}.trap-palette small{opacity:.8;margin-top:5px;font-size:11px;display:block}.piece-symbol{text-align:center;width:28px;font-size:26px}.build-tools{gap:8px;margin-top:12px}.build-tools button,.build-camera button{color:#33452e;background:#f4f2e9;border:1px solid #c8ceb9;border-radius:4px;padding:7px 9px;font-size:11px}.build-tools button[aria-pressed=true]{color:#fff;background:#7b302b}.build-tools kbd{min-width:20px;height:19px;margin-left:4px;padding:0 4px}.build-panel button:disabled{cursor:not-allowed}.build-feedback{justify-content:space-between;align-items:start;min-height:38px;padding-top:12px;font-size:12px}.placement-valid{color:#24653a}.placement-invalid{color:#873f33}.build-camera{border-top:1px solid #d9ddce;gap:6px;margin-top:6px;padding-top:10px;font-size:11px}.build-camera small{color:#63715e;margin-left:auto}.build-notice,.build-help{color:#63715e;font-size:12px;line-height:1.5}.build-notice{margin:10px 0}.build-help kbd{height:22px;font-size:11px}@media (width<=700px){.trap-palette{grid-template-columns:repeat(2,minmax(0,1fr))}.build-budget{margin-left:0}.build-camera small{width:100%;margin-left:0}}.construction-app{width:min(1280px,100% - 48px)}.construction-app .masthead{height:48px}.construction-app .intro{margin-top:16px}.construction-app h1{letter-spacing:-1px;font-size:28px}.construction-app .eyebrow{margin-bottom:6px;font-size:10px}.construction-app .description{margin:8px 0 12px;font-size:13px}.construction-app .phase-bar{margin:12px 0;padding:12px 14px}.construction-app .phase-bar p{margin-top:5px;font-size:12px}.construction-app .room-link{margin:10px 0}.build-terrain{min-width:0}@media (width>=960px){.build-workspace{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:16px;display:grid}.build-workspace .build-panel{margin:0;padding:12px}.build-workspace .build-heading{gap:6px;margin-bottom:10px}.build-workspace .build-budget{width:100%;margin:0}.build-workspace .trap-palette{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.build-workspace .trap-palette button{gap:6px;padding:10px 7px}.build-workspace .trap-palette strong{font-size:11px}.build-workspace .trap-palette small{font-size:10px}.build-workspace .piece-symbol{width:22px;font-size:22px}.build-workspace .build-tools{grid-template-columns:1fr 1fr;gap:6px;display:grid}.build-workspace .build-tools button{min-height:34px;padding:7px 5px;font-size:10px}.build-workspace .build-feedback{gap:6px;min-height:72px;font-size:11px;display:grid}.build-workspace .build-camera>span{width:100%}.build-workspace .build-camera small{margin:0}.build-workspace .build-notice{margin:0 0 8px;font-size:11px}.build-workspace .build-terrain{grid-area:1/2}.build-workspace .build-panel{grid-area:1/1}}.reconnection-banner{color:#29251e;background:#fff2c7;border:2px solid;max-width:1100px;margin:1rem auto;padding:1rem}
