:root { color-scheme:light; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; color:#3b3028; background:#f5f0e7; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; height:100dvh; display:flex; flex-direction:column; min-width:0; }
button,input,a { font:inherit; }
button,a { min-height:44px; }
button { cursor:pointer; padding:10px 16px; border:1px solid #aa8d70; border-radius:8px; background:#795b40; color:#fff; }
button:disabled { opacity:.6; cursor:wait; }
button:focus-visible,a:focus-visible,input:focus-visible,iframe:focus-visible { outline:3px solid #b87337; outline-offset:3px; }
#session-header { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:8px 20px; border-bottom:1px solid #d6c8b7; }
#session-header > div { min-width:0; overflow-wrap:anywhere; }
#session-owner { margin-left:10px; color:#715b48; }
nav { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
nav a { display:inline-flex; align-items:center; color:inherit; padding:8px; }
#session-signin { width:min(480px,calc(100% - 32px)); margin:clamp(24px,8vh,80px) auto 16px; padding:30px; border:1px solid #d6c8b7; border-radius:16px; background:#fffaf2; }
h1 { font-size:1.8rem; margin:16px 0; overflow-wrap:anywhere; hyphens:auto; }
.brand { letter-spacing:.12em; font-size:.75rem; color:#795b40; }
fieldset { margin:0; padding:0; border:0; min-width:0; }
label { display:block; margin:20px 0 8px; }
input { display:block; min-width:0; width:100%; min-height:46px; padding:10px; background:#fff; color:inherit; border:1px solid #a7907a; border-radius:8px; }
form button { margin-top:24px; width:100%; }
.hint { font-size:.85rem; color:#756554; }
#session-message { padding:0 16px; text-align:center; overflow-wrap:anywhere; }
#session-message:empty { display:none; }
#session-retry { align-self:center; margin:12px; }
#session-library { flex:1; min-height:0; min-width:0; }
#library-frame { display:block; width:100%; height:100%; border:0; }
@media (max-width:600px) { #session-header { padding:6px 12px; font-size:.875rem; } #session-signin { padding:24px; } }
