@font-face{font-family:RoomPixel;src:url('/fonts/VT323-Regular.woff2') format('woff2');font-display:swap}
@font-face{font-family:RoomTitle;src:url('/fonts/Silkscreen-Regular.ttf') format('truetype');font-display:swap}
body.room-app{--room-bg:#101f23;--room-panel:#193331;--room-line:#45675d;--room-ink:#e8e1cc;--room-gold:#e9be79;margin:0;background:var(--room-bg);color:var(--room-ink);font:19px/1.35 RoomPixel,monospace}
.room-app *{box-sizing:border-box}
.room-app [hidden]{display:none!important}
.room-launch-banner{display:flex;justify-content:center;align-items:center;gap:12px 24px;flex-wrap:wrap;padding:12px 18px;background:var(--room-gold);color:#172d2b;border-bottom:3px solid #95733f;text-align:center;font:12px/1.5 RoomTitle,monospace}
.room-launch-banner strong{display:inline-block;padding:5px 9px;border:2px solid #29433a;box-shadow:2px 2px #b3894e;font:10px/1.4 RoomTitle,monospace;letter-spacing:.4px}
.room-app main{max-width:1440px;margin-inline:auto;padding:24px 32px 32px}
.room-nav{display:flex;align-items:center;justify-content:space-between;gap:18px 24px;flex-wrap:wrap;padding:0 0 24px;margin-bottom:28px;border-bottom:2px solid var(--room-line)}
.room-app .room-brand{--larry-face-size:52px;display:inline-flex;align-items:center;gap:14px;min-height:56px;font:20px/1.25 RoomTitle,monospace;letter-spacing:-1px;color:var(--room-gold);text-decoration:none;white-space:nowrap}
.room-site-links{display:flex;align-items:center;gap:8px 20px;flex-wrap:wrap}
.room-app .room-site-links a{display:inline-flex;align-items:center;min-height:44px;color:#b9cdbf;font:20px/1.3 RoomPixel,monospace;text-decoration:none}
.room-app .room-site-links a:hover{color:#fff0cc}
.room-titlebar{display:flex;align-items:center;padding:8px 12px;border:2px solid var(--room-line);background:#193331;box-shadow:5px 0 #08171b}
.room-nav-links{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.room-app .room-nav-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid transparent;color:#a9beb0;font:19px/1.3 RoomPixel,monospace;text-decoration:none}
.room-app .room-nav-links a[aria-current=page]{color:#f0d4a0;background:#2e493d;border-color:#6c7956;box-shadow:2px 2px #102627}
.room-app .room-nav-links a:hover{color:#fff0cf;background:#2b463c}
.room-app .label{margin:0 0 10px;color:#9cb5a8;font:10px/1.5 RoomTitle,monospace;letter-spacing:1px}
.room-app h1{max-width:30ch;margin:0 0 12px;font:clamp(20px,2.8vw,31px)/1.4 RoomTitle,monospace;color:#ede1c4;letter-spacing:-1px}
.room-app main>p,.room-app .intro{font-size:21px;line-height:1.4;max-width:60ch;margin:0 0 22px;color:#abc0b3}
.room-app :is(.room,.room-scene){overflow:visible;border:2px solid var(--room-line);background:#14272a;box-shadow:5px 5px #08171b}
.room-app .room-titlebar+:is(.room,.room-scene){border-top:0}
.room-app .room-scene>img{margin:0;border:0}
.room-app .room>img{border:0}
.room-app :is(.controls,.gaming-controls){display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:18px 0}
.room-app :is(.controls,.gaming-controls) button,.room-app .challenge{font:11px/1.45 RoomTitle,monospace;min-height:44px;padding:10px 12px;border:2px solid #526f60;border-radius:0;background:#203b35;color:#edcf97;box-shadow:2px 2px #081a1b}
.room-app .challenge{margin:20px 0 0;background:var(--room-gold);color:#192d2c;border-color:#f4d7a0}
.room-app .room-actions .challenge{margin:0;background:var(--room-gold);color:#192d2c;border-color:#f4d7a0}
.room-app .room-actions .challenge:hover{background:#f2cb8d;border-color:#ffe3b7}
.room-app .room-actions :is(#gaming-toggle,#motion){margin-left:auto;border-color:transparent;background:transparent;box-shadow:none;color:#a9bcb0;font:18px/1.35 RoomPixel,monospace;text-decoration:underline;text-underline-offset:4px}
.room-app .room-actions :is(#gaming-toggle,#motion):hover{color:#fff0cc;background:#203b35}
.room-app :is(.controls,.gaming-controls) button:hover{background:#2d4b3e;border-color:#94a47d}
.room-app button:disabled{opacity:.45;cursor:default;box-shadow:none}
.room-app :is(button,a,select,summary):focus-visible{outline:3px solid #f5d299;outline-offset:4px}
.room-app :is(#caption,#gaming-caption,figcaption){font:18px/1.4 RoomPixel,monospace;color:#b4c4b2;margin:14px 0;min-height:26px}
.room-app footer{margin-top:32px;padding-top:20px;border-top:2px solid #2c4943;color:#a9bcb0;font:17px/1.4 RoomPixel,monospace}
.room-app footer a{color:#c5cdb2}
.room-app .room-footer{display:flex;align-items:center;justify-content:space-between;gap:16px 28px;flex-wrap:wrap}
.room-app .room-footer a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.room-app .room-footer-brand{--larry-face-size:36px;gap:12px;font:13px/1.4 RoomTitle,monospace;color:var(--room-gold)}
.room-footer-links{display:flex;align-items:center;gap:10px 22px;flex-wrap:wrap}
.room-app .room-footer-links a{border-bottom:2px solid transparent}
.room-app .room-footer-links a[aria-current=page]{color:var(--room-gold);border-bottom-color:#6a7657}
.room-app .room-footer a:hover{color:#fff0cc}
.room-app :is(.night-previews,.dock-moments){max-width:none;border:2px solid #38594f;background:#132c2c;padding:12px 14px;font:18px/1.4 RoomPixel,monospace}
.room-app :is(.night-previews,.dock-moments) summary{min-height:32px;display:list-item;padding:4px 0;cursor:pointer;color:#d9c69f}
.room-app details.dock-moments{margin:0 0 18px;padding:0;border:0;background:transparent}
.room-app details.dock-moments summary{min-height:44px;padding:10px 0;color:#a9bcb0}
.room-app .night-previews__buttons button{font-family:RoomTitle,monospace;font-size:10px}
.room-app .basement-mood{font:17px/1.4 RoomPixel,monospace;color:#94ad9e}
.room-app details.dock-moments .moment-picker select{font:19px/1.4 RoomPixel,monospace;min-height:44px;border-width:2px}
.room-app details.dock-moments .moment-picker button{font:10px/1.5 RoomTitle,monospace;min-height:44px}
.room-app main.fish-active>:is(.room-actions,.dock-moments){display:none}
.room-app main.fish-active>.room-nav{grid-column:1/-1}
.room-app .fish-invite{font-family:RoomTitle,monospace;font-size:clamp(8px,1.4vw,19px);letter-spacing:-1px}
.room-app .fish-game{font-family:RoomPixel,monospace;font-size:19px}
.room-app :is(.fish-game h2,.fish-game button,.fish-round,.fish-scores strong){font-family:RoomTitle,monospace}
.room-app .fish-game h2{font-size:18px;line-height:1.5}
.room-app :is(.fish-status,.fish-quote,.fish-help){font-size:18px;line-height:1.35}
.room-app .fish-meter-label,.room-app .fish-meters label,.room-app #fish-pull{font-size:17px}
.room-app .fish-options,.room-app .fish-log,.room-app .fish-progress-hint{font-size:16px}
.room-app .fish-scores span{font-size:17px}
.room-app .fish-game button{font-size:10px;min-height:44px}
.room-app #darts{font-family:RoomPixel,monospace;font-size:19px}
.room-app #darts :is(p,#game-status,#larry-quote,.score-table){font-family:RoomPixel,monospace;font-size:17px}
.room-app #darts .score-table th,.room-app #darts details,.room-app #darts details p{font-size:16px}
@media(max-width:650px){
  .room-app main{padding:14px 14px 24px}
  .room-nav{gap:16px;margin-bottom:24px;padding:4px 0 18px}
  .room-site-links{gap:16px}
  .room-titlebar{padding:8px 10px;box-shadow:3px 0 #08171b}
  .room-nav-links{gap:4px;flex:1}
  .room-app .room-nav-links a{padding:8px;font-size:16px}
  .room-app .room-footer{gap:12px;margin-top:24px;padding-top:16px}
  .room-footer-links{gap:18px}
  .room-app h1{font-size:21px;letter-spacing:-1px}
  .room-app main>p,.room-app .intro{font-size:20px;margin-bottom:18px}
  .room-app :is(.room,.room-scene){box-shadow:3px 3px #08171b}
  .room-app :is(.controls,.gaming-controls){gap:8px}
  .room-app :is(.controls,.gaming-controls) button{font-size:9px;padding:9px 10px}
  .room-app .room-actions :is(#gaming-toggle,#motion){font-size:16px}
  .room-app .fish-top{flex-wrap:wrap}
  .room-app .fish-game h2{font-size:15px}
  .room-app .fish-scores strong{font-size:18px}
  .room-app .fish-invite{letter-spacing:-.5px;font-size:8px}
}
@media(max-width:540px){
  .room-launch-banner{gap:8px;padding:10px 12px;font-size:11px}
  .room-launch-banner strong{font-size:9px;padding:4px 7px}
}

/* Embedded rooms share the dashboard's navigation and surrounding page. */
html.room-embed,html.room-embed body.room-app{margin:0;min-height:0;background:#172e30}
.room-embed .room-app main{display:flow-root;width:100%;max-width:none;margin:0;padding:0;min-height:0}
.room-embed .room-app :is(.room-launch-banner,.room-nav,.room-titlebar,.room-footer),
.room-embed .room-app main>:is(.label,h1,.intro),
.room-embed .room-app main>p:not(#gaming-caption):not(#caption){display:none}
.room-embed .room-app figure{margin:0}
.room-embed .room-app :is(.room,.room-scene){border:0;box-shadow:none}
.room-embed .room-app :is(.controls,.gaming-controls){margin:14px 0 0}
.room-embed .room-app :is(#caption,#gaming-caption){margin:12px 0 0}
.room-embed .room-app .room-actions{padding:0 2px 2px}
.room-embed .room-app main.fish-active{display:flow-root}
.room-embed .room-app .fish-game{margin-top:14px}
.room-embed[data-room-occupied=false] .room-app :is(.room-actions,#caption,#gaming-caption){display:none}
