:root{font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,-apple-system,sans-serif;color:#f8fff9;background:#112019;font-synthesis:none}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-height:100dvh;overflow-x:hidden;background:radial-gradient(circle at 50% 15%,rgba(255,255,255,.14),transparent 35%),#112019;transition:background-color .3s ease}body[data-state=custom-status],body[data-state=status-ready]{background:radial-gradient(circle at 50% 15%,#34445b,#141e2d 70%);color:#f7f9fc}body[data-state=focus],body[data-state=custom-status][data-glow=green]{background-color:#00a948;background-image:radial-gradient(circle at 50% 12%,#35cf73,#00a948 46%,#087338)}body[data-state=yellow],body[data-state=custom-status][data-glow=yellow]{color:#1c1704;background-color:#f5c400;background-image:radial-gradient(circle at 50% 12%,#ffe979,#f5c400,#c99800)}body[data-state=break],body[data-state=custom-status][data-glow=blue]{background-color:#126d85;background-image:radial-gradient(circle at 50% 12%,#42a8b8,#126d85 55%,#0a4659)}body[data-state=paused],body[data-state=custom-status][data-glow=purple]{background-color:#533c78;background-image:radial-gradient(circle at 50% 12%,#8065a5,#533c78 55%,#33234f)}body[data-state=overtime],body[data-state=custom-status][data-glow=red]{background-color:#d83c40;background-image:radial-gradient(circle at 50% 12%,#ff7373,#d83c40,#a51f2b)}body[data-state=ready],body[data-state=completed]{background:#182820;color:#f2fff8}#app{min-height:100dvh;display:flex;flex-direction:column;gap:clamp(.75rem,2vmin,1.5rem);padding:clamp(1rem,2.4vmin,2.5rem);isolation:isolate}.brand{display:flex;align-items:center;gap:.55rem;font-size:clamp(.82rem,1.3vw,1.15rem);font-weight:800;letter-spacing:.04em;opacity:.88}.brand-mark{display:grid;width:1.9em;aspect-ratio:1;place-items:center;border:2px solid currentColor;border-radius:50%}.connection-banner{justify-self:center;margin-top:.5rem;padding:.45rem .9rem;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:#112019b8;color:#fff;font-size:clamp(.75rem,1.2vw,.95rem);font-weight:750}.message-card,.activity-panel{width:min(100%,92rem);margin-block:auto;padding-block:clamp(1rem,3vmin,3rem);overflow-wrap:anywhere;align-self:center;text-align:center}.message-card h1{max-width:20ch;margin:.25em auto;font-size:clamp(2.2rem,7.4vmin,7rem);line-height:1.02;text-wrap:balance}.message-card p{margin:.8em auto 0;font-size:clamp(1rem,2.6vmin,2.1rem);opacity:.84}.message-symbol{font-size:clamp(3rem,10vmin,8.5rem);line-height:1}.eyebrow{margin-bottom:.35em;font-size:clamp(1.15rem,3.2vmin,2.6rem);font-weight:900;letter-spacing:.18em;text-transform:uppercase}.activity-panel{display:grid;gap:clamp(1rem,3vmin,2.5rem)}.activity-emoji{display:inline-block;font-size:.7em;margin-right:.3em;vertical-align:.05em}.activity-title{max-width:30ch;margin:0 auto;font-size:clamp(2rem,6.8vmin,6rem);line-height:1.1;text-wrap:balance}.session-title{margin:.5em 0 0;font-size:clamp(.95rem,2vmin,1.6rem);font-weight:650;opacity:.78}.timer{margin:0 0 .08em;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(4rem,23vmin,20rem);font-weight:950;letter-spacing:-.07em;line-height:.9;text-shadow:0 .035em .12em rgba(0,0,0,.18)}.phase-indicator{display:inline-flex;align-items:center;gap:.55em;font-size:clamp(.9rem,1.8vmin,1.45rem);font-weight:850}.phase-shape{font-size:.85em}.paused-banner{width:fit-content;margin:.7rem auto 0;padding:.5em 1.2em;border:2px solid currentColor;border-radius:999px;font-size:clamp(1rem,2.3vmin,1.75rem);font-weight:950;letter-spacing:.08em}.progress-copy{margin:.6rem 0 0;font-size:clamp(1rem,2.6vmin,2rem);font-weight:700;opacity:.78}.next-card{max-width:50ch;margin:.7em auto 0;font-size:clamp(1rem,2.5vmin,1.9rem);line-height:1.35;opacity:.85}.following-schedule,.message-card .following-schedule{width:fit-content;margin:.85rem auto 0;padding:.38em .8em;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:#0000001f;font-size:clamp(.78rem,1.5vmin,1.1rem);font-weight:750;letter-spacing:.035em;opacity:.82}.derived-complete-card .session-title{margin-inline:auto}.timer-long{font-size:clamp(3rem,18vmin,16rem)}.ready-card .eyebrow{color:#a5dec0;margin-bottom:1em}.ready-card .ready-hint{font-size:clamp(.9rem,2vmin,1.5rem);opacity:.65}body[data-state=overtime] .eyebrow{display:inline-block;padding:.25em .65em;border:2px solid currentColor;border-radius:.25em}.viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:clamp(.68rem,1.1vw,.88rem);font-weight:700;opacity:.7}.wake-button{padding:.45rem .75rem;border:1px solid currentColor;border-radius:999px;color:inherit;background:transparent;font:inherit;cursor:pointer}.wake-button:focus-visible{outline:3px solid white;outline-offset:3px}@media(orientation:landscape)and (max-height:600px)and (min-width:640px){#app{padding-block:.65rem}.activity-panel{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:center;column-gap:3vw;padding-block:.5rem}.activity-heading{grid-column:1;grid-row:1}.activity-timing{grid-column:2;grid-row:1}.activity-context{grid-column:1 / -1}.activity-title{font-size:clamp(1.8rem,7vh,3.5rem)}.timer{font-size:min(27vh,14vw)}.timer-long{font-size:min(22vh,10vw)}}@media(max-width:420px){.timer{font-size:24vw}.timer-long{font-size:18vw}.activity-title{font-size:clamp(1.8rem,8vw,2.8rem)}.viewer-footer{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}.companion-controls{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.control-button{min-width:140px;min-height:48px;padding:12px 24px;border:2px solid currentColor;border-radius:12px;font:inherit;font-weight:700;cursor:pointer}.control-button:disabled{opacity:.5;cursor:default}.control-button:focus-visible{outline:3px solid #fff;outline-offset:4px}.control-status{min-width:160px}.custom-status-panel{flex:1;width:min(100%,100rem);margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(1rem,4vmin,4rem);gap:clamp(.8rem,3vmin,2rem);overflow-wrap:anywhere}body[data-state=custom-status]:not([data-glow=neutral]) .custom-status-panel{background:#00000061;border-radius:1.5rem}body[data-state=custom-status][data-glow=yellow] .custom-status-panel{background:#ffffff1f}.status-emoji{font-size:clamp(3rem,12vmin,8rem)}.status-title{font-size:clamp(2.5rem,9vmin,7.5rem);line-height:1.12;margin:0;max-width:100%}.status-detail{font-size:clamp(1.2rem,3.5vmin,2.8rem);line-height:1.4;margin:0;max-width:60ch;white-space:pre-wrap}.status-timing{font-size:clamp(1rem,3vmin,2.4rem);color:inherit;margin:0}.live-diagnostics{position:fixed;bottom:8px;right:8px;z-index:100;width:min(440px,calc(100vw - 16px));max-height:35vh;overflow:auto;padding:8px;background:#111;color:#fff;border:1px solid #999;border-radius:8px;font:12px monospace}.live-diagnostics summary{cursor:pointer}.live-diagnostics button{margin:6px 8px 0 0}.live-diagnostics textarea{width:100%;height:18vh;box-sizing:border-box;background:#111;color:#fff;font:11px monospace}body[data-state=door]{background:#18212c;color:#fff}body[data-state=door][data-door-color=red]{background:radial-gradient(circle at 50% 12%,#ff7373,#d83c40 50%,#a51f2b)}body[data-state=door][data-door-color=amber],body[data-state=door][data-door-color=yellow]{background:radial-gradient(circle at 50% 12%,#ffe979,#f5c400 50%,#c99800);color:#1c1704}body[data-state=door][data-door-color=green]{background:radial-gradient(circle at 50% 12%,#35cf73,#00a948 46%,#087338)}body[data-state=door][data-door-color=blue]{background:radial-gradient(circle at 50% 12%,#42a8b8,#126d85 55%,#0a4659)}body[data-state=door][data-door-color=purple]{background:radial-gradient(circle at 50% 12%,#8065a5,#533c78 55%,#33234f)}.door-panel{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:clamp(.6rem,2vmin,1.5rem);padding:1rem}.door-label{font-size:clamp(2rem,8vmin,6rem);line-height:1.1;margin:0;overflow-wrap:anywhere;max-width:100%}.door-work-name,.door-status-detail{font-size:clamp(1.1rem,3.5vmin,2.5rem);overflow-wrap:anywhere;max-width:100%;margin:0}.door-timing{font-size:clamp(1.2rem,4vmin,3rem);margin:0}.door-emoji{font-size:clamp(3rem,8vmin,6rem)}.door-status-detail{white-space:pre-wrap}
