@charset "UTF-8";
:root{color-scheme:dark;--bg:#121716;--panel:#1a211f;--panel-light:#202a26;--line:#34413a;--text:#eff5f1;--muted:#b0bdb5;--accent:#9ee4cd;--accent-ink:#142c23;--error:#ffc0b7;--radius:18px;font-family:Inter,"Segoe UI",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.5}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}a{color:inherit}h1,h2,h3,p{margin:0}h2{font-size:24px;font-weight:600;letter-spacing:-.7px;line-height:1.3}h3{font-size:20px;font-weight:600}p{overflow-wrap:anywhere}[hidden]{display:none!important}.shell{width:min(1180px,100% - 88px);margin:auto}.site-header{display:flex;justify-content:space-between;align-items:center;padding:31px 0;border-bottom:1px solid var(--line);gap:20px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-size:23px;font-weight:650;letter-spacing:-.7px}.brand-icon{color:var(--accent);flex:none}.brand-detail{display:block;font-size:9px;font-weight:600;letter-spacing:1.8px;color:var(--muted);line-height:1.8}.header-status{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);text-align:right}.status-dot{width:7px;height:7px;border-radius:50%;background:#a8b2ac;flex:none}.status-dot.is-open{background:var(--accent);box-shadow:0 0 0 4px #9ee4cd12}.intro{padding:60px 0 43px;display:flex;align-items:end;justify-content:space-between;gap:35px}.eyebrow,.step-label,.small-label{font-size:10px;letter-spacing:1.7px;font-weight:650}.eyebrow{color:var(--accent);text-transform:uppercase;margin-bottom:17px}h1{font-size:clamp(37px,4.3vw,54px);font-weight:550;line-height:1.1;letter-spacing:-2.2px}h1 span{color:#a3b4a9}.intro-copy{font-size:14px;color:var(--muted);margin-top:20px;max-width:425px;line-height:1.7}.time-card{border-left:1px solid var(--line);padding-left:24px;min-width:215px;margin-bottom:2px}.small-label{color:var(--muted);font-size:9px}.time-card p{font-size:18px;margin:6px 0}.time-card>span:last-child{color:var(--accent);font-size:12px}.dashboard{display:grid;grid-template-columns:1fr 1fr;gap:23px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.login-panel{padding:31px 34px 26px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:31px}.step-label{color:var(--muted);font-size:9px;letter-spacing:1.5px}.outline-badge{font-size:10px;border:1px solid #506559;border-radius:30px;padding:4px 10px;color:var(--accent)}.muted{font-size:13px;line-height:1.65;color:var(--muted)}.login-panel h2{margin-bottom:8px}.login-panel form{margin-top:25px}.field{margin-bottom:19px}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.field input{display:block;width:100%;border:1px solid #536159;border-radius:8px;padding:11px 12px;background:#151b18;color:var(--text);min-height:45px;transition:border-color .12s}.field input:hover{border-color:#8b9b90}.field input:focus{border-color:var(--accent)}.field input[aria-invalid="true"]{border-color:var(--error)}.field-help{font-size:11px;color:var(--muted);line-height:1.7;margin-top:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;border-radius:8px;font-size:12px;font-weight:650;min-height:41px;padding:10px 16px;transition:background-color .12s}.button-primary{background:var(--accent);color:var(--accent-ink)}.button-primary:hover:not(:disabled){background:#bcf2df}.button-secondary{background:#26302a;color:var(--text);border-color:#59665e}.button-secondary:hover:not(:disabled){background:#39483f}.button-full{width:100%;justify-content:space-between;min-height:47px}.button-full>span:last-child{font-size:20px;font-weight:400;line-height:1}.login-help{margin-top:13px;font-size:10px}.overview{display:flex;flex-direction:column;gap:22px}.schedule-panel,.workspace-panel{padding:29px 30px}.schedule-panel{background:linear-gradient(130deg,#23312a,#1c2520)}.schedule-panel .panel-heading{margin-bottom:22px;color:var(--accent)}.schedule-panel h2,.workspace-panel h2{font-size:20px;letter-spacing:-.5px}.schedule{margin:23px 0 16px}.schedule>div{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:11px 0;border-bottom:1px solid var(--line);font-size:11px}.schedule dt{max-width:55%;color:#d0dbd3}.schedule dd{margin:0;white-space:nowrap;font-size:12px}.schedule .weekend{border-bottom:0}.schedule .weekend dd{color:var(--muted)}.tiny-badge{display:block;width:fit-content;font-size:8px;color:var(--accent);letter-spacing:.8px;margin-top:3px}.workspace-panel .step-label{margin-bottom:15px}.app-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:21px 0 15px;padding:0}.app-list li{border:1px solid #435048;border-radius:6px;padding:5px 10px;font-size:11px;color:#d9e3dd;background:#202923}.reminders{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:37px 0 41px}.reminders>div{display:flex;gap:12px;align-items:start}.reminder-number{font-size:10px;color:var(--accent);padding-top:3px}.reminders p{font-size:11px;color:var(--muted);line-height:1.8}.reminders strong{display:block;color:#d9e3dd;font-weight:600}.site-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:22px 0 27px;color:#a9b8ae;font-size:10px}.site-footer span span{margin:0 8px;color:#647c6c}.notice{border:1px solid #607559;background:#263025;border-radius:10px;padding:14px 18px;font-size:12px;line-height:1.7;color:#e2eadb;margin-bottom:23px}.form-error{color:var(--error);font-size:12px;line-height:1.6;margin:0 0 15px}.remote-panel{overflow:hidden}.desktop-heading{padding:27px 28px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.desktop-heading .step-label{margin-bottom:7px}.desktop-heading h2{margin-bottom:6px}.session-info{text-align:right}.session-info strong{display:block;font-weight:550;font-size:25px;color:var(--accent);font-variant-numeric:tabular-nums;margin:3px 0}.session-info .field-help{display:block}.toolbar{display:flex;align-items:center;gap:10px;padding:0 28px 20px;flex-wrap:wrap}.toggle{display:flex;align-items:center;gap:8px;font-size:12px;padding:10px 6px;cursor:pointer}.toggle input{width:17px;height:17px;accent-color:var(--accent);margin:0}.logout-button{margin-left:auto}.desktop-stage{position:relative;background:#0b100e;border-block:1px solid var(--line);min-height:440px;height:min(66vh,720px);overflow:hidden}.desktop-stage:fullscreen{height:100vh;width:100vw}.desktop-stage:fullscreen .desktop-footer{display:none}#desktop{height:100%;width:100%;overflow:hidden}#desktop canvas{outline-offset:-3px}.desktop-placeholder{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;padding:30px;pointer-events:none}.desktop-placeholder svg{color:#8cae98;margin-bottom:22px}.desktop-placeholder h3{font-size:20px}.desktop-placeholder p{font-size:12px;color:var(--muted);max-width:360px;margin-top:12px;line-height:1.7}.desktop-footer{display:flex;justify-content:space-between;gap:25px;padding:15px 28px 19px}.desktop-footer p{font-size:10px;color:var(--muted);max-width:62%;line-height:1.9}.desktop-footer p:last-child{max-width:245px}kbd{font:inherit;border:1px solid #59665e;border-radius:4px;padding:1px 3px;color:var(--text);white-space:nowrap}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:16px;top:-100px;z-index:10;background:var(--accent);color:var(--accent-ink);padding:10px 16px;border-radius:8px}.skip-link:focus{top:12px}
@media(min-width:1500px){.shell{width:min(1280px,100% - 100px)}.intro{padding-top:70px}.login-panel{padding:35px 40px}.schedule-panel,.workspace-panel{padding:31px 35px}}
@media(max-width:900px){.shell{width:calc(100% - 44px)}.intro{padding-top:40px}.time-card{min-width:185px;padding-left:18px}.dashboard{gap:17px}.login-panel{padding:25px}.schedule-panel,.workspace-panel{padding:25px 22px}.schedule>div{gap:10px}.schedule dt{max-width:54%}.schedule dd{font-size:11px}.schedule-panel h2,.workspace-panel h2{font-size:18px}.reminders{gap:18px}.toolbar{padding-inline:20px}.desktop-heading{padding-inline:20px}}
@media(max-width:680px){.shell{width:calc(100% - 32px)}.site-header{padding:22px 0}.brand{font-size:21px}.brand-detail{font-size:8px}.header-status{font-size:10px;max-width:132px}.intro{padding:34px 0 28px;display:block}h1{font-size:39px;letter-spacing:-1.8px}.intro-copy{font-size:13px;max-width:340px;margin-top:16px}.time-card{margin-top:24px;padding-left:15px;min-width:0}.time-card p{font-size:15px;margin:3px 0}.time-card>span:last-child{font-size:11px}.dashboard{grid-template-columns:1fr;gap:17px}.overview{gap:17px}.login-panel{padding:24px}.panel-heading{margin-bottom:23px}.schedule dt{max-width:59%}.schedule dd{font-size:12px}.reminders{grid-template-columns:1fr;gap:18px;margin:28px 0}.reminders strong{display:inline}.reminders p{font-size:11px}.site-footer{font-size:9px;gap:12px;align-items:start}.site-footer>span:last-child{max-width:96px;text-align:right}.desktop-heading{padding:20px 17px;align-items:start}.desktop-heading h2{font-size:21px}.session-info strong{font-size:21px}.session-info .field-help{font-size:10px}.toolbar{padding:0 17px 17px;gap:8px}.toolbar .button{padding:8px 11px;font-size:11px;min-height:42px}.logout-button{margin-left:0}.desktop-stage{min-height:310px;height:55vh}.desktop-placeholder{padding:20px}.desktop-placeholder h3{font-size:18px}.desktop-footer{display:block;padding:15px 17px}.desktop-footer p,.desktop-footer p:last-child{max-width:none}.desktop-footer p+p{margin-top:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.access-help{border-left:2px solid var(--accent);padding:0 0 0 11px;margin:0 0 16px;color:#d0e5da}
.remembered-browser{margin:23px 0 4px;padding:19px;border:1px solid #506559;border-radius:10px;background:#202923}.remembered-browser .step-label{margin-bottom:9px;color:var(--accent)}.remembered-browser h3{font-size:18px;margin-bottom:7px}.pairing-request{margin-top:16px;padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:#151b18}.pairing-request output{display:block;margin-top:5px;color:var(--accent);font-size:20px;font-weight:650;letter-spacing:2px;overflow-wrap:anywhere}.remembered-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.remembered-safety{margin-top:13px}
.password-control{display:flex;align-items:stretch;gap:8px}.password-control input{width:auto;min-width:0;flex:1}.password-toggle{min-width:64px;border:1px solid #59665e;border-radius:8px;padding:8px 12px;background:#26302a;color:var(--text);font-size:12px;font-weight:650}.password-toggle:hover{background:#39483f}

/* A connected desktop uses the available Chromebook display. */
body.desktop-active .intro,body.desktop-active .reminders,body.desktop-active .site-footer{display:none}
body.desktop-active .shell{width:calc(100% - 24px);max-width:none}
body.desktop-active .site-header{padding:10px 0}
body.desktop-active .desktop-heading{padding:12px 18px}
body.desktop-active .desktop-stage{height:calc(100dvh - 230px);min-height:240px}
.remote-panel:fullscreen{width:100vw;height:100dvh;display:flex;flex-direction:column;border:0;border-radius:0;background:var(--panel)}
.remote-panel:fullscreen .desktop-stage{height:auto;min-height:0;flex:1}
.remote-panel:fullscreen .desktop-heading,.remote-panel:fullscreen .desktop-footer{display:none}
.remote-panel:fullscreen .toolbar{padding:8px 12px;margin:0}

.display-option{display:flex;align-items:center;gap:6px;font-size:12px}.display-option select{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:8px}.fullscreen-controls{display:none}
.remote-panel:fullscreen .toolbar{position:absolute;top:0;left:0;right:0;z-index:5;background:var(--panel);transform:translateY(-110%)}
.remote-panel:fullscreen.show-controls .toolbar,.remote-panel:fullscreen .toolbar:focus-within{transform:translateY(0)}
.remote-panel:fullscreen .fullscreen-controls{display:block;position:absolute;top:12px;right:12px;z-index:6;padding:8px 14px;font-size:12px}.remote-panel:fullscreen .fullscreen-controls:hover{opacity:1}

/* Keep the remote screen clear; controls are explicitly opened when needed. */
body.desktop-connected .remote-panel{position:relative}
body.desktop-connected .remote-panel .toolbar{display:none}
body.desktop-connected .remote-panel.show-controls .toolbar{display:flex;transform:none}
body.desktop-connected .remote-panel .desktop-heading,body.desktop-connected .desktop-footer{display:none}
body.desktop-connected .fullscreen-controls{display:block;position:absolute;top:12px;right:12px;z-index:6;padding:8px 14px;font-size:12px}
body.desktop-connected .desktop-stage{height:calc(100dvh - 84px)}
body.desktop-connected .remote-panel:fullscreen .desktop-stage{height:auto;flex:1;min-height:0}
body.desktop-connected .remote-panel .fullscreen-controls{display:block;opacity:1;min-height:42px;border-radius:999px;background:var(--panel);color:var(--text);box-shadow:0 2px 16px #0006}

/* Sunshine includes the Windows cursor in the video. Hide only its local duplicate. */
body.desktop-connected .gpu-display,body.desktop-connected .gpu-display *{cursor:none!important}

/* Optional user-requested color intensity; neutral grays remain unchanged. */
.vivid-colors .gpu-display canvas, .vivid-colors .gpu-display video { filter: saturate(1.15); }

/* Size the viewer from its actual remaining space, including wrapped controls. */
body.desktop-active{height:100dvh;overflow:hidden}
body.desktop-active .shell{display:flex;flex-direction:column;width:100%;height:100%;padding:0 12px 12px}
body.desktop-active .site-header{flex:none;min-width:0}
body.desktop-active #main{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}
body.desktop-active #home-browser-approval{display:none}
body.desktop-active .notice{flex:none;margin:8px 0}
body.desktop-active .remote-panel{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;margin-top:12px}
body.desktop-active .desktop-heading,body.desktop-active .toolbar,body.desktop-active .desktop-footer{flex:none}
body.desktop-active .desktop-stage,body.desktop-active .remote-panel:fullscreen .desktop-stage{flex:1;min-height:0;height:auto}
body.desktop-active .desktop-heading{gap:12px}
body.desktop-active .desktop-heading>div{min-width:0}
body.desktop-active .session-info strong{font-size:20px;overflow-wrap:anywhere}
body.desktop-active #access-renewal-help{max-width:290px;font-size:10px;line-height:1.4;margin-left:auto}
body.desktop-active .toolbar{gap:8px;padding:0 18px 14px;align-items:center}
body.desktop-active .toolbar .display-option{white-space:nowrap}
body.desktop-active #performance-status{flex:1 1 100%;min-width:0;font-size:11px;color:var(--muted);overflow-wrap:anywhere}
body.desktop-active #performance-status:empty{display:none}
body.desktop-active:not(.desktop-connected) :is(#focus-button,#windows-button,#scale-button,#fullscreen-button){display:none}
body.desktop-active:not(.desktop-connected) .display-option:has(:is(#zoom-select,#color-select)){display:none}
body.desktop-active .desktop-placeholder{padding:16px}
body.desktop-active .desktop-placeholder svg{margin-bottom:12px}
body.desktop-active .desktop-footer{padding:10px 18px;gap:16px}
body.desktop-connected .shell{padding:0}
body.desktop-connected .site-header{display:none}
body.desktop-connected .remote-panel{margin:0;border:0;border-radius:0}
body.desktop-connected .remote-panel.show-controls .toolbar{position:absolute;inset:62px 12px auto auto;width:min(420px,calc(100% - 24px));z-index:5;padding:18px;max-height:calc(100dvh - 76px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 10px 32px #0006;transform:none}
body.desktop-connected .remote-panel.show-controls .toolbar .display-option{flex:1 1 100%;justify-content:space-between;white-space:normal}
body.desktop-connected .remote-panel.show-controls .toolbar .display-option select{min-width:148px;max-width:65%}
body.desktop-connected .remote-panel.show-controls .toolbar .button{flex:1 1 calc(50% - 8px)}
body.desktop-connected .remote-panel.show-controls .toolbar .logout-button{margin-left:0}
@media(max-width:680px){body.desktop-active .shell{padding:0 8px 8px}body.desktop-active .brand-detail{display:none}body.desktop-active .desktop-heading{padding:12px}body.desktop-active .toolbar{padding:0 12px 12px}body.desktop-active .session-info strong{font-size:16px}body.desktop-active .desktop-footer{padding:8px 12px}body.desktop-active .desktop-footer p:last-child{display:none}body.desktop-connected .shell{padding:0}}
