:root{color-scheme:light;font-family:Arial,Helvetica,sans-serif;color:#111;background:#77766f;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:repeating-linear-gradient(45deg,#77766f 0 3px,#63635e 3px 4px);font-size:14px}button,input{font:inherit}button{cursor:pointer;color:#000;background:#c0c0c0;border:2px outset #eee;border-radius:0;padding:5px 10px}button:hover:not(:disabled){background:#e4e4e4}button:active:not(:disabled){border-style:inset}button:disabled{cursor:default;color:#626262}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px dashed #c000a0;outline-offset:3px}input{border:2px inset #ddd;border-radius:0;background:#fff;color:#000}a{color:#00e;text-decoration:underline}[hidden]{display:none!important}p{line-height:1.5}h1,h2,h3,p{margin-top:0}
.topbar{max-width:1320px;margin:18px auto 0;background:#e7dfc7;border:5px ridge #e4e4e4;padding:20px 24px;display:flex;justify-content:space-between;gap:20px;align-items:center}.brand{font-family:"Courier New",monospace;font-weight:900;font-size:clamp(23px,3vw,39px);color:#222;text-shadow:2px 2px 0 #bca16e;line-height:1.2}.brand-icon{font-size:42px;display:inline-block;transform:rotate(-9deg);vertical-align:middle}.brand-dot{font:22px "Times New Roman",serif;color:blue;text-shadow:none}.header-right{display:flex;flex-direction:column;align-items:flex-end;gap:9px}.room-label{font:11px "Courier New",monospace;color:#555}.quiet-button{font-weight:bold;white-space:nowrap}.notice-strip{max-width:1320px;margin:0 auto;background:#000;color:#ff0;text-align:center;padding:9px 14px;font:bold 13px/1.5 "Courier New",monospace;border-left:5px ridge #ddd;border-right:5px ridge #ddd}main{max-width:1320px;margin:0 auto 24px;padding:22px;background:#d6d2c5;border:5px ridge #eee;border-top:0}
.room-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.eyebrow{font:bold 11px "Courier New",monospace;letter-spacing:.4px;margin-bottom:8px}.room-heading .eyebrow{color:#742f23}.room-heading .eyebrow .status-dot{display:none}h1{font:700 29px "Times New Roman",serif;margin-bottom:5px}.handwritten{font:15px "Courier New",monospace;margin:0;color:#444}.connection{font:12px "Courier New",monospace;border:1px solid #888;background:#fff;padding:7px 9px;display:flex;align-items:center;gap:7px;flex-shrink:0}.status-dot,.small-dot{width:9px;height:9px;background:#008000;display:inline-block;border:1px solid #004400;flex-shrink:0}.status-dot.offline{background:#bd6a00;border-color:#7c4400}.room-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.screen-column{min-width:0}.window-title,.dialog-title{display:flex;justify-content:space-between;background:#25241e;color:#fff;font:bold 13px Tahoma,Arial,sans-serif;padding:5px 8px;border:2px outset #ddd;margin:0}.window-title>span:last-child{font-size:11px}
.player{aspect-ratio:16/9;position:relative;background:#000;border:5px ridge #bdbdbd;overflow:hidden}.player video{width:100%;height:100%;object-fit:contain;display:block}.empty-screen{position:absolute;inset:0;background:#111;color:#eee;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;isolation:isolate}.test-bars{position:absolute;inset:0;background:linear-gradient(90deg,#dedede 0 14.28%,#dddd00 14.28% 28.56%,#00cccc 28.56% 42.84%,#00bb00 42.84% 57.12%,#bb00bb 57.12% 71.4%,#bb0000 71.4% 85.68%,#0000bb 85.68%);opacity:.35;z-index:-2}.empty-screen:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(transparent 0 3px,#0005 3px 4px);z-index:-1;pointer-events:none}.screen-mark{font-size:45px;margin-bottom:10px}.empty-screen .eyebrow{background:#000;padding:4px 8px;color:#fff;margin-bottom:8px}.empty-screen h2{font:bold clamp(17px,2.1vw,28px) "Courier New",monospace;color:#ff0;background:#000;padding:6px 10px;margin:0 12px 8px;border:1px solid #ddd}.empty-screen p{font:13px/1.5 "Courier New",monospace;background:#000;padding:5px 10px;max-width:85%;margin:0}.screen-stamp{position:absolute;bottom:14px;font:10px "Courier New",monospace;background:#000;padding:3px 6px}.screen-top{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;gap:8px;pointer-events:none}.screen-label,.sync-pill{font:bold 10px "Courier New",monospace;background:#000;color:#0f0;padding:4px 6px}.sync-pill{color:#fff;border:1px solid #aaa}.controls{display:flex;align-items:center;gap:8px;padding:8px;background:#c0c0c0;border:3px outset #ddd;border-top:0}.icon-button{font-size:17px;width:32px;height:29px;padding:2px;flex-shrink:0}.play-button{font-size:13px}.time{font:11px "Courier New",monospace;font-variant-numeric:tabular-nums;white-space:nowrap}.controls input{min-width:0;height:14px;accent-color:#25241e;cursor:pointer}.controls #seek{flex:1}.controls #volume{width:55px}.control-divider{height:22px;border-left:2px groove #fff}
.now-playing{padding:16px 10px;background:#eee8d7;border:1px solid #888;border-top:0;display:flex;gap:15px;align-items:center;justify-content:space-between}.now-playing .eyebrow{color:#6b3024;font-size:10px}.now-playing h2{font-size:19px;margin-bottom:7px;overflow-wrap:anywhere}.now-playing p:last-child{font-size:12px;margin:0}.outline-badge{font:bold 10px "Courier New",monospace;color:#6b3024;border:2px dashed #6b3024;padding:7px;max-width:145px;text-align:center;transform:rotate(-4deg)}.library{margin-top:22px;padding:14px;background:#e8e8e8;border:3px ridge #fff}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-heading h2{font:bold 19px "Times New Roman",serif;margin-bottom:5px}.section-heading h2 span{font:12px "Courier New",monospace;background:#000;color:#0f0;padding:2px 5px;vertical-align:middle}.section-heading p{font-size:12px;margin:0}.text-button{font:12px Tahoma,Arial,sans-serif}.video-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.library-empty{grid-column:1/-1;border:1px dashed #888;background:#fff;padding:16px;display:flex;gap:14px;align-items:center}.library-empty>span{font-size:30px;color:#806000}.library-empty strong{font-size:13px}.library-empty p{font-size:12px;margin:6px 0 0}.film-card{display:flex;gap:10px;text-align:left;align-items:center;min-width:0}.film-card:disabled{color:#333}.film-card.selected{background:#ffffa0;border-style:inset}.film-index{font:bold 20px "Courier New",monospace;color:#25241e}.film-card strong{font-size:13px;overflow-wrap:anywhere}.film-card small{display:block;margin-top:5px;font:10px "Courier New",monospace}.construction-note{text-align:center;color:#000;font:bold 13px "Courier New",monospace;margin:20px auto 0;padding:10px 15px;max-width:400px;background:#c6a449;border:3px dashed #000;transform:rotate(-1deg)}.construction-note small{display:block;font:12px Arial,sans-serif;margin-top:5px}
.chat-panel{height:620px;display:flex;flex-direction:column;border:3px outset #ddd;background:#c0c0c0;min-width:0}.chat-heading{background:#25241e;color:#fff;padding:9px}.chat-heading h2{font:bold 13px Tahoma,Arial,sans-serif;margin:0 0 6px;display:flex;align-items:center;gap:8px}.chat-heading p{font-size:11px;margin:0;color:#fff}.small-dot{background:#0f0;border-color:#0a0;width:7px;height:7px}.people-strip{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:2px groove #eee}.avatars{display:flex;gap:3px}.avatar{font:bold 12px "Courier New",monospace;background:#ffff80;border:1px solid #333;padding:3px 5px}.avatar:nth-child(2n){background:#8ff}.avatar:nth-child(3n){background:#fcf}.people-list{font:12px/1.8 "Courier New",monospace;max-height:120px;overflow:auto;padding:8px 12px;background:#fff;border:2px inset #ddd;overflow-wrap:anywhere}.messages{flex:1;min-height:130px;overflow:auto;background:#fff;border:2px inset #ddd;margin:5px;padding:12px;scrollbar-color:#c0c0c0 #eee}.chat-welcome{text-align:center;border:1px dotted #25241e;background:#eee8d7;padding:16px 8px;margin-bottom:20px}.chat-welcome>span{font:22px "Courier New",monospace;color:#25241e}.chat-welcome h3{font:bold 20px "Courier New",monospace;color:#742f23;margin:8px 0}.chat-welcome p{font-size:12px;margin:0}.message{padding-bottom:12px;margin-bottom:12px;border-bottom:1px dotted #ccc}.message-header{display:flex;gap:6px;align-items:center;margin-bottom:5px;font:12px "Courier New",monospace}.message-header strong{color:#25241e;overflow-wrap:anywhere;min-width:0}.message-header time{font-size:10px;margin-left:auto;color:#555;white-space:nowrap}.host-tag{font:bold 8px Arial,sans-serif;background:#ff0;border:1px solid #888;padding:2px}.message p{font:13px/1.5 "Courier New",monospace;margin:0;overflow-wrap:anywhere}.chat-form{padding:8px}.message-field{display:flex;gap:5px}.message-field input{width:100%;min-width:0;padding:8px 6px;font-size:12px}.message-field button{font-size:20px;padding:2px 7px}.chat-footer{display:flex;justify-content:space-between;gap:8px;font:10px Arial,sans-serif;margin-top:8px}.chat-footer #your-nick{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-footer>span:last-child{font-weight:bold;color:#6b3024}
.page-footer{border-top:3px double #888;margin-top:26px;padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:16px}.page-footer>div{display:flex;gap:9px;align-items:center}.web-badge{font:bold 10px/1.2 "Courier New",monospace;background:#25241e;color:#fff;border:3px outset #aaa;padding:4px 6px;text-align:center}.second-badge{background:#6b3024;color:#ff0}.footer-note{font:11px/1.5 "Courier New",monospace;margin-left:8px}.enable-playback{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:bold;background:#ff0;max-width:90%;padding:12px;z-index:2}.player:fullscreen{border:0;aspect-ratio:auto}.player:fullscreen video{width:100%;height:100%}dialog{background:#c0c0c0;color:#000;border:4px outset #eee;border-radius:0;padding:0 23px 23px;width:420px;max-width:calc(100vw - 24px);box-shadow:10px 10px 0 #0007}dialog::backdrop{background:#0008}dialog form{position:relative}.dialog-title{margin:0 -23px 20px;padding:7px 9px;border:0}.dialog-mark{font-size:44px;display:block;text-align:center;margin:3px 0 12px}dialog .eyebrow{color:#6b3024;text-align:center;font-size:11px}dialog h2{font:700 29px "Courier New",monospace;text-align:center;color:#25241e;margin-bottom:12px}dialog p:not(.eyebrow):not(.dialog-title){font-size:13px}dialog label{display:block;font-weight:bold;font-size:13px;margin:20px 0 7px}dialog input{width:100%;padding:10px;font-size:16px}dialog small{display:block;font-size:11px;text-align:center;margin-top:14px}.primary-button{width:100%;font-weight:bold;padding:11px;background:#ddd}.form-error{min-height:18px;font-size:12px!important;font-weight:bold;color:#a00000;margin:9px 0!important}.dialog-close{position:absolute;right:-18px;top:3px;font-size:16px;height:23px;width:25px;padding:0}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);border:3px outset #eee;background:#ffffb5;color:#000;padding:13px 19px;font:13px Tahoma,Arial,sans-serif;max-width:90vw;z-index:5;box-shadow:5px 5px 0 #0005}.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}
@media(max-width:1350px){.topbar,.notice-strip,main{margin-left:16px;margin-right:16px}.brand{font-size:30px}}
@media(max-width:1050px){.topbar{padding:16px}.brand{font-size:27px}.brand-icon{font-size:32px}.brand-dot{font-size:16px}.room-label{max-width:190px;text-align:right}.room-grid{grid-template-columns:minmax(0,1fr) 285px;gap:14px}main{padding:16px}.outline-badge{display:none}.controls #volume{display:none}.screen-mark{font-size:35px;margin-bottom:5px}.empty-screen p{font-size:11px}.screen-stamp{font-size:8px;bottom:8px}.chat-panel{height:580px}.quiet-button{font-size:12px}.screen-top{top:6px;left:6px;right:6px}.screen-label,.sync-pill{font-size:8px}}
@media(max-width:800px){.topbar{flex-direction:column;align-items:flex-start;gap:12px}.header-right{flex-direction:row;align-items:center;justify-content:space-between;width:100%}.room-label{text-align:left;max-width:180px}.room-grid{grid-template-columns:1fr;gap:22px}.room-heading{align-items:flex-start;gap:12px}h1{font-size:26px}.handwritten{font-size:13px}.connection{font-size:10px;max-width:130px;flex-shrink:1}.chat-panel{height:460px}.screen-mark{font-size:42px}.empty-screen h2{font-size:25px}.empty-screen p{font-size:12px}.screen-stamp{font-size:10px}.screen-label,.sync-pill{font-size:10px}.page-footer{align-items:flex-start}.page-footer>div{flex-wrap:wrap}.footer-note{flex-basis:100%;margin-left:0}.page-footer>button{flex-shrink:0}.video-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.topbar,.notice-strip,main{margin-left:7px;margin-right:7px}.topbar{margin-top:8px;padding:12px 8px}.brand{font-size:25px}.brand-icon{font-size:26px}.brand-dot{font-size:16px}.header-right{gap:8px}.room-label{font-size:9px;max-width:135px}.quiet-button{font-size:10px;padding:5px}.notice-strip{font-size:10px;padding:7px 8px}main{padding:12px 8px}.room-heading{flex-direction:column;gap:10px;margin-bottom:13px}h1{font-size:25px}.room-heading .eyebrow{font-size:10px}.connection{max-width:none;font-size:11px}.player{border-width:3px}.screen-top{top:5px;left:5px;right:5px;justify-content:flex-end}.screen-label{display:none}.sync-pill{font-size:8px;padding:2px 4px}.screen-mark{font-size:24px;margin-bottom:3px}.empty-screen h2{font-size:16px;padding:4px 6px;margin-bottom:4px}.empty-screen .eyebrow{font-size:8px;padding:2px 4px;margin-bottom:4px}.empty-screen p{font-size:10px;line-height:1.3;padding:3px 5px;max-width:92%}.screen-stamp{display:none}.controls{gap:5px;padding:6px 4px}.icon-button{width:25px;height:25px;font-size:15px}.time{font-size:10px}.control-divider{display:none}.now-playing{padding:12px 8px}.now-playing h2{font-size:18px}.library{padding:10px;margin-top:16px}.section-heading h2{font-size:18px}.section-heading p{font-size:11px}.video-list{grid-template-columns:1fr}.library-empty{padding:10px;gap:8px}.library-empty p{font-size:11px}.construction-note{font-size:11px;padding:9px 4px}.construction-note small{font-size:11px}.page-footer{gap:10px}.web-badge{font-size:8px}.page-footer .text-button{font-size:10px;padding:5px}.footer-note{font-size:10px}.enable-playback{font-size:12px;width:85%}}

/* Niezależny obieg: papier, tusz, kaseta. */
.brand{font-family:Impact,"Arial Black",sans-serif;font-size:clamp(38px,5vw,58px);letter-spacing:2px;transform:rotate(-2deg);text-decoration:none;text-shadow:2px 2px 0 #a6a091}.brand-dot{font:bold 12px "Courier New",monospace;border:2px solid #333;color:#333;padding:3px 5px;vertical-align:middle;display:inline-block;transform:rotate(6deg)}.room-label{font-size:10px;font-weight:bold}.topbar{border-color:#c4c0b5;background-image:repeating-linear-gradient(0deg,transparent 0 3px,#00000006 3px 4px)}.notice-strip{color:#d5c08a}.handwritten{font-family:"Courier New",monospace;font-size:13px}h1{font-family:"Arial Black",Arial,sans-serif;font-size:26px;letter-spacing:-1px}.chat-welcome h3{font-family:"Courier New",monospace}.construction-note{background:#c9ba91;border:2px solid #454136;transform:rotate(-1deg)}.second-badge{color:#e8ddb7}.login-link{display:block;margin:18px auto 0}.dialog-mark{font-size:30px}dialog h2{font-family:Impact,"Arial Black",sans-serif;letter-spacing:1px}#access-dialog{width:760px;max-height:88vh;overflow-y:auto;padding:0 22px 22px;position:fixed}#access-dialog>.dialog-title{margin:0 -22px 18px;padding-right:45px}#access-dialog h2{font-size:29px;text-align:left}#access-dialog h3{font:700 16px "Courier New",monospace;border-bottom:2px solid #777;padding-bottom:8px;margin-top:25px}#access-dialog p{font-size:12px;line-height:1.5}.access-close{position:absolute;right:4px;top:3px;width:26px;padding:0;font-size:20px}.invite-create{display:flex;gap:8px}.invite-create input{flex:1;min-width:0}.invite-create button{flex-shrink:0}#generated-invite{background:#eee8d7;padding:10px;border:1px dashed #555;margin-top:15px}#generated-code{font-family:"Courier New",monospace;margin-bottom:8px}.access-row{display:flex;align-items:center;gap:7px;border-bottom:1px dotted #777;padding:10px 0;font-size:12px}.access-row>span{flex:1;overflow-wrap:anywhere}.access-row button{font-size:11px;flex-shrink:0}#access-audit{max-height:180px;overflow:auto;border:2px inset #ddd;background:#ecebe4;padding:8px}#access-audit p{font-family:"Courier New",monospace;margin:0 0 8px}#logout{margin-top:20px}#pending-note{border:2px inset #ddd;background:#eee8d7;padding:16px;margin-top:18px}#pending-note h3{font-size:17px}.screen-label{color:#d5ca94}
@media(max-width:800px){.brand{font-size:44px}.room-label{max-width:210px}h1{font-size:24px}}
@media(max-width:480px){.brand{font-size:39px}.brand-dot{font-size:9px}.room-label{font-size:8px;max-width:140px}.quiet-button{font-size:9px}h1{font-size:22px}.access-row{flex-wrap:wrap}.access-row>span{flex-basis:100%}.invite-create{flex-direction:column}#access-dialog{padding:0 14px 14px}#access-dialog>.dialog-title{margin-left:-14px;margin-right:-14px}#generated-code{font-size:13px}}

/* Prośby o wejście i szczegóły dostępne gospodarzowi. */
#join-dialog { width: 470px; }
#join-dialog .dialog-mark { font-size: 30px; margin-bottom: 6px; }
#request-note { width: 100%; resize: vertical; min-height: 64px; padding: 10px; font: 14px Arial,sans-serif; border: 2px inset #ddd; background: #fff; color: #000; }
#request-note:focus-visible, summary:focus-visible { outline: 3px dashed #c000a0; outline-offset: 3px; }
#join-dialog .entry-privacy, .entry-hint { font-size: 11px; line-height: 1.5; color: #444; margin: 12px 0; }
.invite-entry { margin-top: 18px; border-top: 1px solid #888; padding-top: 12px; }
summary { cursor: pointer; font-weight: bold; }
#join-with-code { margin-top: 10px; }
.guest-detail { min-width: 0; }
.access-row:has(.guest-detail) { align-items: flex-start; }
.guest-detail > p { margin: 6px 0; }
.guest-detail details { margin-top: 10px; }
.guest-detail dl { margin: 10px 0; }
.guest-detail dt { font-weight: bold; margin-top: 9px; }
.guest-detail dd { margin: 3px 0; overflow-wrap: anywhere; }

/* Pełny ekran pokoju: film, sterowanie i czat pozostają razem. */
.fullscreen-chat-toggle { display: none; }
html.room-fullscreen, .room-fullscreen body { height: 100%; overflow: hidden; background: #171713; }
.room-fullscreen .topbar,
.room-fullscreen .notice-strip,
.room-fullscreen .room-heading,
.room-fullscreen .page-footer,
.room-fullscreen .screen-column > .window-title,
.room-fullscreen .now-playing,
.room-fullscreen .library,
.room-fullscreen .construction-note { display: none; }
.room-fullscreen main { max-width: none; margin: 0; padding: 0; border: 0; background: #171713; }
.room-fullscreen .room-grid {
  position: fixed;
  inset: 0;
  height: 100vh;
  height: 100dvh;
  height: var(--room-height, 100dvh);
  top: var(--room-top, 0px);
  bottom: auto;
  padding: max(6px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  align-items: stretch;
  gap: 6px;
}
.room-fullscreen .screen-column { position: relative; display: flex; flex-direction: column; min-height: 0; }
.room-fullscreen .player { flex: 1; min-height: 0; aspect-ratio: auto; border: 0; }
.room-fullscreen .player video { position: absolute; inset: 0; }
.room-fullscreen .controls {
  position: absolute; bottom: 0; left: 0; right: 0; z-index: 2;
  opacity: 1; transition: opacity .2s ease;
}
.room-fullscreen.fullscreen-controls-hidden .controls { opacity: 0; pointer-events: none; }
.room-fullscreen.fullscreen-controls-hidden .controls:has(:focus-visible) { opacity: 1; pointer-events: auto; }
.room-fullscreen.fullscreen-controls-hidden .player { cursor: none; }
.room-fullscreen .fullscreen-chat-toggle {
  display: block; position: absolute; z-index: 2;
  top: max(44px, env(safe-area-inset-top)); right: max(16px, env(safe-area-inset-right));
  padding: 8px 12px; border: 1px solid #ffffff40; border-radius: 5px;
  background: #111b; color: #fff; font-size: 12px;
}
.room-fullscreen .chat-panel {
  position: absolute; z-index: 1;
  top: max(88px, calc(env(safe-area-inset-top) + 44px));
  right: max(16px, env(safe-area-inset-right));
  bottom: max(88px, calc(env(safe-area-inset-bottom) + 76px));
  width: clamp(260px, 27vw, 360px); height: auto; min-height: 0;
  color: #fff; background: #10121066; border: 1px solid #ffffff26; border-radius: 8px;
  overflow: hidden; color-scheme: dark; text-shadow: 0 1px 3px #000;
  transition: background-color .18s ease;
}
.room-fullscreen .chat-panel:hover, .room-fullscreen .chat-panel:focus-within { background: #101210d9; }
.room-fullscreen.fullscreen-chat-hidden .chat-panel { display: none; }
.room-fullscreen .chat-heading { background: transparent; padding: 12px; border-bottom: 1px solid #ffffff26; }
.room-fullscreen .chat-heading h2 { margin: 0; }
.room-fullscreen .chat-heading p, .room-fullscreen .chat-welcome, .room-fullscreen .chat-footer { display: none; }
.room-fullscreen .people-strip { padding: 8px 12px; border-bottom: 1px solid #ffffff26; }
.room-fullscreen .avatar { background: #ffffff1a; border-color: #ffffff40; color: #fff; }
.room-fullscreen .chat-panel button { background: #ffffff14; border: 1px solid #ffffff40; color: #fff; border-radius: 4px; }
.room-fullscreen .chat-panel button:hover:not(:disabled), .room-fullscreen .fullscreen-chat-toggle:hover { background: #444e; }
.room-fullscreen .chat-panel button:disabled { color: #bbb; }
.room-fullscreen .messages { min-height: 0; overscroll-behavior: contain; background: transparent; border: 0; margin: 0; scrollbar-color: #ffffff66 transparent; }
.room-fullscreen .message { border-color: #ffffff26; }
.room-fullscreen .message-header { flex-wrap: wrap; }
.room-fullscreen .message-header strong { color: #ebd7a5; }
.room-fullscreen .message-header time { color: #ddd; }
.room-fullscreen .host-tag { background: #ebd7a526; color: #ebd7a5; border-color: #ebd7a550; text-shadow: none; }
.room-fullscreen .chat-form { padding: 10px; border-top: 1px solid #ffffff26; }
.room-fullscreen .chat-heading,
.room-fullscreen .people-strip,
.room-fullscreen .chat-form { flex-shrink: 0; }
.room-fullscreen .people-list { flex-shrink: 0; max-height: 20vh; background: #101210b3; border: 0; }
.room-fullscreen #fullscreen { background: #c9ba91; }
.room-fullscreen #message { font-size: 16px; background: #0006; color: #fff; border: 1px solid #ffffff40; border-radius: 4px; }
.room-fullscreen #message::placeholder { color: #ccc; }
@media (max-width: 700px) and (orientation: portrait) {
  .room-fullscreen .chat-panel {
    top: auto; height: 42%; max-height: calc(100% - 144px);
    width: min(360px, calc(100% - 32px));
  }
  .room-fullscreen .chat-heading p, .room-fullscreen .chat-footer { display: none; }
  .room-fullscreen .chat-heading { padding: 5px 9px; }
  .room-fullscreen .chat-heading h2 { margin: 0; }
  .room-fullscreen .people-strip { padding: 4px 8px; }
}
@media (max-height: 500px) and (orientation: landscape) {
  .room-fullscreen .chat-panel { width: 250px; top: max(76px, calc(env(safe-area-inset-top) + 44px)); bottom: max(58px, calc(env(safe-area-inset-bottom) + 46px)); }
  .room-fullscreen .chat-heading p, .room-fullscreen .chat-footer { display: none; }
  .room-fullscreen .chat-heading { padding: 5px 9px; }
  .room-fullscreen .chat-heading h2 { margin: 0; }
  .room-fullscreen .people-strip { padding: 4px 8px; }
  .room-fullscreen .screen-stamp, .room-fullscreen .screen-mark { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .room-fullscreen .chat-panel, .room-fullscreen .controls { transition: none; }
}
/* Keep typing above the iOS keyboard without zooming small text fields. */
@media (pointer: coarse) {
  .message-field input, #request-note { font-size: 16px; }
}
.room-fullscreen.chat-keyboard-open .chat-panel { top: 44px; bottom: 48px; height: auto; max-height: none; }
.room-fullscreen.chat-keyboard-open .chat-heading,
.room-fullscreen.chat-keyboard-open .people-strip,
.room-fullscreen.chat-keyboard-open .screen-top { display: none; }
.room-fullscreen.chat-keyboard-open .fullscreen-chat-toggle { top: 6px; }
