:root{font-family:Arial,'Segoe UI',sans-serif;color:#172a38;background:#f5f7f7;font-synthesis:none;--ink:#172a38;--navy:#914AA1;--mint:#66CC86;--line:#dce3e5;--muted:#5b6b74;--paper:#fdfefe}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}a{color:inherit}button{min-height:48px;padding:12px 24px;border:1px solid transparent;border-radius:4px;background:var(--mint);color:var(--ink);font-weight:700;cursor:pointer;transition:background-color 150ms ease}button:hover:not(:disabled){background:#A3BA73}button:active:not(:disabled){background:#66CC86}button:disabled{background:#e0e6e8;color:#78878f;cursor:not-allowed}button.secondary{background:var(--paper);border-color:#b9c6cc;color:var(--ink)}button.secondary:hover:not(:disabled){background:#eaf1f2}button.secondary:active:not(:disabled){background:#dce8ea}:focus-visible{outline:3px solid #C33C98;outline-offset:4px}header{height:88px;max-width:1440px;margin:auto;padding:0 6%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;text-decoration:none;font-size:30px;font-weight:800;letter-spacing:-1px;gap:8px}.brand svg{width:32px;height:32px;fill:none;stroke:var(--navy);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.brand-dot{color:#C33C98;margin-left:-8px}.badge{font-size:14px;color:var(--muted)}main{max-width:1440px;margin:auto;padding:0 6% 32px}.intro{background:var(--navy);color:#f5faf9;margin:0 -6.82%;padding:56px 6% 100px;display:flex;align-items:center;justify-content:space-between;gap:32px}h1{font-size:clamp(36px,4.5vw,60px);line-height:1.08;letter-spacing:-2px;margin:16px 0 24px;font-weight:700}p{line-height:1.5;color:var(--muted);margin:8px 0}.intro p{color:#f6edf7;font-size:17px}.intro .eyebrow{font-size:13px;color:var(--mint)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.5px}.round{display:grid;gap:8px;min-width:180px;padding:24px;border-left:1px solid #A3BA73;text-align:center;color:#f6edf7;font-size:13px}.round strong{font-size:56px;line-height:1.1;color:#f5faf9;font-variant-numeric:tabular-nums}body:not(.in-lobby) .round{display:none}.lobby-panel{position:relative;isolation:isolate;background:var(--paper);border:1px solid var(--line);border-radius:6px;margin:-48px 0 32px;padding:32px 40px}.lobby-panel h2{font-size:24px;letter-spacing:-.5px;margin:0 0 24px}#join-panel{display:grid;grid-template-columns:minmax(0,3fr) minmax(180px,1fr);gap:48px;align-items:center}#lobby-form{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}label{display:block;font-size:14px;font-weight:700;margin:0 0 4px}input{width:100%;min-width:0;height:52px;padding:12px;border:1px solid #99aab4;border-radius:4px;background:var(--paper);color:var(--ink)}input:hover{border-color:#536f7d}#nickname{grid-column:1;grid-row:2}label[for=lobby-code]{grid-column:2;grid-row:1}#lobby-code{grid-column:2;grid-row:2;text-transform:uppercase;letter-spacing:3px}#code-help{grid-column:2;margin:0;font-size:12px}#enter{grid-column:1/-1;margin-top:16px}.small{font-size:13px}.lobby-explainer{display:flex;justify-content:center;border-left:1px solid var(--line);padding:8px 0 8px 40px}.sale-sign{width:180px;transform:rotate(-5deg);background:var(--navy);color:#eef7f5;border:6px solid var(--paper);outline:1px solid var(--line);text-align:center}.sale-sign span{display:block;font-size:20px;font-weight:700;padding:16px 8px}.sale-sign strong{display:block;background:var(--mint);color:var(--ink);padding:12px 8px;font-size:16px;letter-spacing:1px}.room-top{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.room-top>div{margin-right:auto}#room-code{display:block;letter-spacing:5px;font-size:32px;margin-top:8px}.player-list{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.player-list li{display:grid;gap:8px;border:1px solid var(--line);padding:16px;border-radius:4px}.player-list span{font-size:12px;color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0}.toolbar h2{font-size:24px;margin:8px 0;letter-spacing:-.5px}#start-point{font-size:13px}.status{font-size:14px;min-height:0;margin:16px 0}.status:empty{display:none}.status.error{color:#a43c35;background:#fff0ee;border-left:3px solid #a43c35;padding:16px}.workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:24px;align-items:start}.explorer,.ballot{background:var(--paper);border:1px solid var(--line);border-radius:4px;overflow:hidden;isolation:isolate}.panel-heading{padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.panel-heading h2{font-size:17px;margin:0}.panel-heading>span{color:var(--muted);font-size:12px}.viewer-wrap{position:relative;aspect-ratio:1;background:#e9eff0}#panorama{position:absolute;inset:0}.empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;pointer-events:none}.outline-house{font-size:80px;line-height:1;color:#78919c}.empty h3,.voting-empty h3{font-size:20px;margin:24px 0 8px}.empty p,.voting-empty p{font-size:14px}.panel-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px}.panel-footer p{font-size:14px;margin:0}.panel-footer p span:empty{display:none}.ballot-body{padding:20px}.voting-empty{aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px;background:#eef4e6}.voting-empty>span{font-size:64px;font-weight:700;color:#914AA1}#vote-image{width:100%;aspect-ratio:1;object-fit:contain;background:#eef4e6}#gallery-nav{justify-content:space-between;align-items:center;margin-bottom:16px}#entry-info h3{font-size:22px;margin:16px 0}#entry-info button{width:100%;margin-top:12px}#image-status,#saved-note{font-size:13px}#image-status:empty,#saved-note:empty{display:none}.bottom-note{font-size:13px;margin:16px 0}.setup{border:1px solid var(--line);padding:24px;background:var(--paper);margin-bottom:24px}.setup h2{font-size:20px;margin-top:0}footer{max-width:1440px;margin:auto;padding:24px 6%;border-top:1px solid var(--line);display:flex;gap:24px;flex-wrap:wrap;color:var(--muted);font-size:12px}footer>span{margin-right:auto}body:not(.in-lobby) .toolbar,body:not(.in-lobby) .workspace,body:not(.in-lobby) .bottom-note{display:none}body:not(.in-lobby) main{min-height:calc(100vh - 160px)}body.in-lobby .intro{padding-top:32px;padding-bottom:72px}body.in-lobby h1{font-size:36px}body.in-lobby .intro>div>p:not(.eyebrow){display:none}[hidden]{display:none!important}@media(max-width:800px){header{height:72px}.brand{font-size:26px}.intro{padding-top:40px;padding-bottom:88px}h1{letter-spacing:-1px}.lobby-panel{padding:24px}#join-panel{grid-template-columns:1fr;gap:0}.lobby-explainer{display:none}.workspace{grid-template-columns:1fr}.player-list{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{align-items:flex-start;flex-direction:column;gap:0}.round{min-width:120px;padding:16px}.round strong{font-size:40px}.panel-heading,.panel-footer{padding:16px}.intro{gap:16px}body.in-lobby h1{font-size:28px}}@media(max-width:480px){.badge{font-size:12px}#lobby-form{grid-template-columns:1fr}#nickname,label[for=lobby-code],#lobby-code,#code-help,#enter{grid-column:1;grid-row:auto}.lobby-panel{padding:24px 20px}.panel-footer{flex-wrap:wrap}.panel-footer button{width:100%}body.in-lobby .intro .eyebrow{font-size:11px}.round{min-width:96px;padding:8px}footer{gap:16px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.brand svg{stroke:#914AA1}.sale-sign{background:#C33C98}.sale-sign strong{background:#A3BA73;color:var(--ink)}.intro .eyebrow{color:#f5faf9}.player-list li:has(strong){border-top:3px solid #A3BA73}button.secondary{color:var(--ink)}

:root{font-family:"Khand",sans-serif;font-size:18px}h1,h2,h3{font-family:"Karla",sans-serif}.brand,.sale-sign span{font-family:Arial,"Segoe UI",sans-serif}.intro>div>p:not(.eyebrow){font-size:20px}label{font-size:17px}.badge{font-size:16px}.small,#code-help{font-size:15px}footer{font-size:14px}.panel-heading>span,.player-list span,#start-point{font-size:15px}h1{letter-spacing:-1.5px}button{font-size:18px}

/* Lowercase outline lettering inspired by the Bold Monday wordmark. */
.brand .wordmark,.sale-sign .wordmark{font-family:"Karla",sans-serif;font-weight:700;letter-spacing:.5px;color:transparent;-webkit-text-stroke:1.2px #914AA1}.brand{gap:8px;font-size:34px}.brand-dot{color:#C33C98;margin-left:-8px}.sale-sign .wordmark{-webkit-text-stroke:.9px #fdfefe;font-size:22px}.brand svg{width:28px;height:28px;stroke-width:2}@media(max-width:480px){.brand{font-size:28px;gap:6px}.brand svg{width:24px;height:24px}.brand .wordmark{-webkit-text-stroke:1px #914AA1}}
/* Screen layout follows the server's current game phase. */
.entry-modes{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid var(--line);padding-bottom:16px}.entry-modes button{background:transparent;color:var(--ink);border:1px solid var(--line)}.entry-modes button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.entry-modes button:hover:not(:disabled){background:#e7eced;color:var(--ink)}#lobby-form:not(.joining){grid-template-columns:1fr}#lobby-form:not(.joining) #nickname{grid-row:auto}#lobby-form:not(.joining) #enter{grid-column:1}.game-bar{display:none}.in-lobby main{display:flex;flex-direction:column}.in-lobby .intro{display:none}.in-lobby .game-bar{display:flex;order:-1;justify-content:space-between;align-items:center;gap:24px;padding:32px 0}.game-bar h2{font-size:32px;line-height:1.15;margin:8px 0;font-weight:700;letter-spacing:-1px}.game-bar .round{display:grid!important;grid-template-columns:auto auto;align-items:center;min-width:0;border:0;padding:12px 20px;background:#edf1e7;color:var(--ink);border-radius:4px;text-align:left;gap:4px 20px}.game-bar .round strong{grid-column:2;grid-row:1/3;color:var(--ink);font-size:44px}.game-bar #phase{font-size:15px}.game-bar #round-label{font-size:13px}.in-lobby .lobby-panel{margin:0 0 24px;padding:24px 32px}.in-lobby .toolbar{padding-top:0}.in-lobby .workspace{grid-template-columns:1fr}.in-lobby .player-list{grid-template-columns:repeat(4,minmax(0,1fr))}.player-list li{position:relative;padding-left:32px}.player-list li::before{content:'';position:absolute;left:12px;top:22px;width:8px;height:8px;border-radius:50%;background:#a1adb2}.player-list li.is-ready::before{background:#268144}.player-list li.is-ready{background:#f0f6e9}.player-list li.is-offline{opacity:.6}.in-lobby #room-code{font-size:28px}.in-lobby .viewer-wrap{aspect-ratio:1;max-height:none}.in-lobby .explorer{width:min(100%,760px);margin:auto}.in-lobby .ballot{width:min(100%,760px);margin:auto}.in-lobby .ballot-body{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.in-lobby #gallery-nav,.in-lobby #vote-image,.in-lobby #voting-empty,.in-lobby #image-status{grid-column:1/-1}.in-lobby #entry-info{grid-column:1/-1}.in-lobby #entry-info h3{margin-top:16px}.in-lobby .panel-footer{background:#f2f6ee}.in-lobby .panel-footer p{font-size:17px;max-width:38ch}.in-lobby .status{margin:0 0 16px}.in-lobby .status:empty{display:none}body[data-phase=waiting] .toolbar,body[data-phase=waiting] .workspace,body[data-phase=closed] .toolbar,body[data-phase=closed] .workspace{display:none}body[data-phase=loading] .ballot,body[data-phase=exploring] .ballot,body[data-phase=voting] .explorer,body[data-phase=results] .explorer{display:none}body[data-phase=loading] .lobby-panel h2,body[data-phase=exploring] .lobby-panel h2,body[data-phase=voting] .lobby-panel h2,body[data-phase=loading] .player-list,body[data-phase=exploring] .player-list,body[data-phase=voting] .player-list,body[data-phase=loading] #room-message,body[data-phase=exploring] #room-message,body[data-phase=voting] #room-message{display:none}body[data-phase=loading] .lobby-panel,body[data-phase=exploring] .lobby-panel,body[data-phase=voting] .lobby-panel{padding:12px 20px}body[data-phase=loading] .room-top .eyebrow,body[data-phase=exploring] .room-top .eyebrow,body[data-phase=voting] .room-top .eyebrow{display:none}body[data-phase=results] .player-list li:first-child{background:#eef4e6;border-color:#A3BA73}body[data-phase=results] .player-list li::before{display:none}body[data-phase=results] .player-list li{padding-left:16px}@media(max-width:800px){.in-lobby .player-list{grid-template-columns:repeat(2,minmax(0,1fr))}.game-bar h2{font-size:26px}.game-bar .round{padding:12px;gap:4px 12px}.game-bar .round strong{font-size:36px}.in-lobby .lobby-panel{padding:20px}.in-lobby .game-bar{padding:24px 0;gap:16px}.game-bar #round-label{display:none}.game-bar .round strong{grid-row:1}.game-bar #phase{max-width:13ch;line-height:1.2}}@media(max-width:480px){.game-bar h2{font-size:23px}.game-bar .round{grid-template-columns:1fr;text-align:center;gap:4px}.game-bar .round strong{grid-column:1;grid-row:1;font-size:32px}.game-bar #phase{font-size:13px}.in-lobby .panel-footer p{font-size:16px}.in-lobby #room-code{font-size:24px}.room-top button{padding:8px 12px;min-height:44px}.entry-modes button{flex:1;padding:12px}.in-lobby .player-list{gap:8px}.player-list li{padding-right:8px}}
