:root{color-scheme:dark;font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#242424;color:#dedede}*{box-sizing:border-box}body{margin:0;height:100dvh;display:grid;grid-template:54px minmax(0,1fr) 54px/minmax(0,1fr);overflow:hidden}button,a,input{font:inherit}button,a{color:inherit}button{height:40px;min-width:40px;padding:0 12px;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer}button:hover:not(:disabled),a.join:hover{background:#383838}button:active:not(:disabled){background:#484848}button:disabled{opacity:.35;cursor:default}:focus-visible{outline:2px solid #ccc;outline-offset:2px}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}header,footer{display:flex;align-items:center;gap:14px;padding:0 18px;min-width:0;background:#242424}header{border-bottom:1px solid #444}.brand{font-size:17px;font-weight:600;text-decoration:none;letter-spacing:-.4px}#session{display:flex;align-items:center;gap:14px;border-color:#4b4b4b;min-width:0;max-width:480px}#session-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.join{display:flex;align-items:center;gap:7px;margin-left:auto;padding:10px 8px;text-decoration:none;white-space:nowrap;border-radius:4px}.mobile-label{display:none}#viewport{position:relative;min-width:0;min-height:0;background:#343434;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}canvas:active{cursor:grabbing}canvas:focus-visible{outline-offset:-3px}.notice{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(400px,calc(100% - 40px));text-align:center;padding:24px;background:#242424;border:1px solid #555;border-radius:5px}.notice h1{font-size:17px;font-weight:500;margin:0 0 10px}.notice p{color:#b8b8b8;line-height:1.5;margin:0 0 16px}.notice a{text-underline-offset:3px}.notice button{border-color:#666}.notice progress{appearance:none;width:100%;height:3px;border:0;background:#484848;accent-color:#bbb}.notice progress::-webkit-progress-bar{background:#484848}.notice progress::-webkit-progress-value{background:#bbb}.notice progress::-moz-progress-bar{background:#bbb}footer{border-top:1px solid #444;gap:12px}.timestamp{color:#aaa;font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.controls{display:flex;align-items:center;gap:2px}#zoom{min-width:58px;text-align:center;color:#aaa;font-size:12px;font-variant-numeric:tabular-nums}#fit{border-color:#4b4b4b;margin-left:6px}#info-button{margin-left:auto;color:#bbb}dialog{color:#ddd;width:min(480px,calc(100% - 32px));max-height:min(700px,calc(100dvh - 40px));padding:18px;background:#292929;border:1px solid #626262;border-radius:6px;box-shadow:0 14px 60px #0006;overflow:auto}dialog::backdrop{background:#0007}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dialog-heading h2{font-size:18px;font-weight:500;margin:0}.dialog-heading button{font-size:25px;color:#bbb;margin-right:-6px}input{width:100%;height:44px;background:#202020;color:#eee;border:1px solid #666;border-radius:4px;padding:0 12px}#session-list{list-style:none;margin:14px -6px 0;padding:0}#session-list button{width:100%;height:auto;min-height:66px;padding:12px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px}#session-list button[aria-current=true]{background:#3c3c3c}#session-list .session-title{display:block;font-weight:500;line-height:1.4}#session-list small{display:block;margin-top:4px;color:#aaa;font-size:12px}#session-list .check{font-size:17px;color:#ddd}#no-results{color:#aaa;text-align:center;padding:15px}dl{margin:0}dt{font-weight:500;margin:18px 0 5px}dd{margin:0;color:#bbb;line-height:1.6}hr{border:0;border-top:1px solid #494949;margin:22px 0 16px}#info>p{color:#aaa;font-size:13px}details{margin-top:22px;color:#aaa;font-size:12px;line-height:1.6}summary{cursor:pointer;color:#ccc}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:700px){body{grid-template-rows:calc(56px + env(safe-area-inset-top)) minmax(0,1fr) calc(58px + env(safe-area-inset-bottom))}header{padding:env(safe-area-inset-top) 12px 0;gap:10px}footer{padding:0 8px env(safe-area-inset-bottom);gap:0}button{min-width:44px;height:44px;padding:0 10px}.desktop-label,.timestamp{display:none}.mobile-label{display:inline}.join{padding:12px 4px;gap:4px}.join svg{width:17px}#session{flex:1;max-width:none;padding:0 10px;gap:6px}.brand{font-size:16px}#zoom{min-width:52px}#actual{padding:0 7px}.controls{gap:0}#fit{margin-left:3px}#info-button{padding:0 10px}dialog{padding:16px}#session-list button{min-height:70px}}@media(max-width:360px){.brand{display:none}#fullscreen{display:none}#zoom{min-width:48px}}

/* Muted green surfaces, with the original lighter accent. */
:root{background:#202723;color:#e4e8e2}header,footer{background:#202723;border-color:#414c44}.brand{display:flex;align-items:flex-start;gap:4px}.dot{display:inline-block;width:5px;height:5px;margin-top:4px;border-radius:50%;background:#b8d6a7}.join{background:#b8d6a7;color:#20291c;padding-left:12px;padding-right:12px}.join:hover{background:#c8e4b9!important}#viewport{background:#303a33}#session,#fit{border-color:#4d5c50}button:hover:not(:disabled){background:#354138}button:active:not(:disabled){background:#435246}:focus-visible{outline-color:#b8d6a7}.notice,dialog{background:#26312a;border-color:#5b6c5e}dialog::backdrop{background:#111a1388}input{background:#1d2720;border-color:#5b6c5e}#session-list button[aria-current=true]{background:#3b4a3e}#session-list .check,.notice a,details a{color:#b8d6a7}.notice progress::-webkit-progress-value{background:#b8d6a7}.notice progress::-moz-progress-bar{background:#b8d6a7}hr{border-color:#47584b}@media(max-width:700px){.join{padding:10px 9px}}

/* The selector stays attached to its trigger and does not block the canvas. */
#session-dialog{position:fixed;inset:auto;margin:0;padding:10px;background:#26312a;color:#e4e8e2;border:1px solid #5b6c5e;border-radius:5px;box-shadow:0 8px 24px #0005;overflow:auto}#session-dialog::backdrop{background:transparent}#session-dialog input{height:38px}#session-dialog #session-list{margin:8px -3px 0}#session-dialog #session-list button{min-height:58px;padding:10px}#session-dialog .session-title{font-size:13px}#session-dialog #no-results{font-size:13px;margin-bottom:4px}
