:root{--bg:#0d0f0f;--panel:#171a19;--ink:#f5f5f1;--muted:#9da4a0;--faint:#68716d;--line:rgba(245,245,241,.16);--accent:#00d084;--accent-ink:#06130d;--warning:#e6b85e;--danger:#ff756d;color-scheme:dark}
:root[data-theme=ocean]{--accent:#86c8ff}:root[data-theme=forest]{--accent:#73d39a}:root[data-theme=ember]{--accent:#ffad7a}:root[data-theme=violet]{--accent:#c8b4ff}
*{box-sizing:border-box}html,body{min-height:100%;margin:0;background:var(--bg)}body{color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.shell{min-height:100vh}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.brand{display:inline-flex;align-items:center;opacity:.78;transition:opacity .18s ease}.brand:hover{opacity:1}.brand img{display:block;width:78px;height:auto}.quiet-link{display:inline-flex;align-items:center;gap:7px;border:0;background:none;color:var(--muted);font-size:13px;padding:8px 0}.quiet-link:hover{color:var(--ink)}.button-link{cursor:pointer}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:8px;padding:0 18px;font-size:14px;font-weight:650;transition:background .16s ease,color .16s ease,border-color .16s ease}.button-dark{background:var(--ink);color:#111412}.button-dark:hover{background:#fff}.button-dark:active{transform:scale(.99)}.text-action{display:inline-flex;min-height:44px;align-items:center;border:0;border-bottom:1px solid transparent;background:none;color:var(--muted);padding:0;font-size:13px;font-weight:600}.text-action:hover{border-color:var(--muted);color:var(--ink)}
.kicker,.section-label{color:var(--accent);font-size:11px;font-weight:650;letter-spacing:.12em;text-transform:uppercase}.kicker{margin:0 0 17px}.section-label{display:block;margin-bottom:9px;color:var(--faint)}
/* Create */
.create-page{width:min(100% - 64px,720px);min-height:100vh;margin:auto}.create-header{display:flex;align-items:center;justify-content:space-between;height:86px;border-bottom:1px solid var(--line)}.create-header .brand img{width:86px}.create-header .quiet-link{font-size:11px;letter-spacing:.12em;text-transform:uppercase}.create-form-wrap{width:min(100%,560px);margin:clamp(90px,17vh,180px) auto 0}.create-form-wrap h1{margin:0 0 14px;font-size:clamp(52px,9vw,88px);font-weight:560;letter-spacing:-.075em;line-height:.95}.create-lede{margin:0 0 54px;color:var(--muted);font-size:17px;line-height:1.45}.duration-control{position:relative;border-bottom:1px solid var(--line-strong,var(--line));padding-bottom:13px}.duration-control input{width:100%;border:0;background:none;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(70px,13vw,132px);font-variant-numeric:tabular-nums;letter-spacing:-.1em;line-height:1;outline:0}.duration-suffix{display:block;margin-top:9px;color:var(--faint);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.setup-presets{display:flex;align-items:center;gap:0;margin:21px 0 43px}.setup-presets button{min-width:59px;height:42px;border:0;border-right:1px solid var(--line);background:none;color:var(--muted);padding:0 15px;font-family:ui-monospace,monospace;font-size:14px}.setup-presets button:first-child{padding-left:0}.setup-presets button:last-child{border-right:0;color:var(--accent);font-family:inherit;font-size:22px}.setup-presets button:hover,.setup-presets button.selected{color:var(--ink)}.setup-presets button.selected{font-weight:700}.setup-options{display:grid;grid-template-columns:120px 1fr;gap:32px;align-items:start;margin-bottom:32px}.color-field{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}.color-field input{width:27px;height:27px;margin:0;border:0;border-radius:50%;background:none;padding:0;cursor:pointer}.color-field input::-webkit-color-swatch-wrapper{padding:0}.color-field input::-webkit-color-swatch{border:1px solid var(--ink);border-radius:50%}details{color:var(--muted);font-size:13px}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:' +';color:var(--faint)}details[open] summary:after{content:' -'}details label{display:block;margin-top:18px;color:var(--muted);font-size:13px}label span{color:var(--faint);font-size:11px;font-weight:400}input{width:100%;margin-top:8px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);padding:9px 0 10px;outline:0}input:focus{border-color:var(--accent)}.create-button{width:100%;min-height:56px}.create-note{margin:15px 0;color:var(--faint);font-size:12px}
/* Controller */
.control-page{width:min(100% - 64px,1200px);min-height:100vh;margin:auto}.control-header{display:flex;align-items:center;justify-content:space-between;height:76px;border-bottom:1px solid var(--line)}.header-left,.header-actions{display:flex;align-items:center;gap:20px}.product-name{color:var(--muted);font-size:13px}.connection-status{color:var(--muted);font-size:12px}.connection-status:before{display:inline-block;width:6px;height:6px;margin:0 8px 1px 0;border-radius:50%;background:var(--accent);content:''}.connection-status[data-state=warning]{color:var(--warning)}.connection-status[data-state=warning]:before{background:var(--warning)}.operator-content{width:min(100%,760px);margin:0 auto;padding:clamp(75px,11vh,130px) 0 52px}.now{text-align:center}.now-name{min-height:20px;color:var(--muted);font-size:15px}.now-state{min-height:21px;margin-top:16px;color:var(--faint);font-size:12px;font-weight:650;letter-spacing:.13em}.operator-clock{margin:36px 0 46px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(90px,17vw,190px);font-variant-numeric:tabular-nums;font-weight:450;letter-spacing:-.11em;line-height:.8}.operator-primary{display:flex;justify-content:center}.primary-action{width:min(250px,100%);min-height:56px}.transport{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;align-items:center;width:min(100%,460px);margin:20px auto 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.transport-button{min-height:48px;border:0;background:none;color:var(--muted);font-size:13px}.transport-button:hover{color:var(--ink)}.up-next{display:flex;align-items:center;gap:22px;margin-top:78px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.up-next>div{display:grid;min-width:0;gap:4px;flex:1}.up-next strong{overflow:hidden;font-size:15px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.up-next-time{font-family:ui-monospace,monospace;font-size:14px;font-variant-numeric:tabular-nums}.up-next-hint{color:var(--faint);font-size:12px}.up-next .text-action{flex:none}.preset-rail{display:flex;align-items:stretch;gap:0;margin-top:28px;overflow-x:auto;border-bottom:1px solid var(--line)}.preset-rail>.section-label{align-self:center;flex:none;margin:0 24px 0 0}.preset-item{position:relative;display:grid;min-width:74px;min-height:68px;align-content:center;gap:5px;border:0;border-right:1px solid var(--line);background:none;color:var(--muted);padding:8px 18px;text-align:left}.preset-item strong{font-family:ui-monospace,monospace;font-size:15px;font-weight:500;white-space:nowrap}.preset-item span{overflow:hidden;color:var(--faint);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.preset-item:hover{color:var(--ink)}.preset-item.current:after{position:absolute;right:18px;bottom:-1px;left:18px;height:2px;background:var(--accent);content:''}.preset-item.next strong,.preset-item.next span{color:var(--accent)}.add-item{min-width:54px;color:var(--accent);font-size:23px}.operator-links{display:flex;justify-content:center;gap:32px;margin-top:28px}.loading-copy{color:var(--muted);text-align:center}.empty-state{display:grid;min-height:100vh;place-items:center;align-content:center;gap:15px;width:min(100% - 48px,440px);margin:auto;text-align:center}.empty-state .brand{margin-bottom:20px}.empty-state h1{margin:0;font-size:35px;letter-spacing:-.06em}.empty-state p{margin:0 0 13px;color:var(--muted);line-height:1.5}
/* Display */
.stage-shell{background:#070908}.stage-screen{position:relative;display:flex;min-height:100vh;flex-direction:column;justify-content:space-between;padding:5vh 5vw calc(5vh + env(safe-area-inset-bottom));background:#070908}.stage-top{display:flex;min-height:24px;align-items:center;justify-content:space-between;color:rgba(245,245,241,.64);font-size:clamp(12px,1.2vw,18px)}.stage-core{display:grid;place-items:center;align-content:center;gap:clamp(14px,2vh,24px);text-align:center}.stage-clock{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(100px,23vw,430px);font-variant-numeric:tabular-nums;font-weight:450;letter-spacing:-.11em;line-height:.8}.stage-status{min-height:1.3em;color:rgba(245,245,241,.65);font-size:clamp(14px,1.5vw,24px);font-weight:650;letter-spacing:.14em}.stage-message{min-height:1.4em;max-width:80vw;color:var(--ink);font-size:clamp(16px,1.7vw,28px)}.stage-bottom{display:flex;justify-content:flex-end}.stage-brand{width:clamp(72px,7vw,106px);height:auto;opacity:.62}.stage-progress{position:absolute;right:5vw;bottom:2.2vh;left:5vw;height:2px;background:rgba(245,245,241,.17)}.stage-progress span{display:block;height:100%;background:var(--accent);transition:width .2s linear}.stage-screen[data-state=running] .stage-clock{color:var(--accent)}.stage-screen[data-alert=warning]{background:#121109}.stage-screen[data-alert=urgent],.stage-screen[data-state=overtime]{background:#160908}.stage-screen[data-alert=warning] .stage-status{color:var(--warning)}.stage-screen[data-alert=urgent] .stage-status,.stage-screen[data-state=overtime] .stage-clock,.stage-screen[data-state=overtime] .stage-status{color:var(--danger)}.stage-screen[data-state=paused] .stage-clock,.stage-screen[data-state=paused] .stage-status{color:var(--warning)}.stage-unavailable{display:grid;min-height:100vh;place-items:center;align-content:center;gap:14px;background:#070908;text-align:center}.stage-unavailable .brand{position:absolute;top:32px;left:32px}.stage-unavailable h1{margin:0;font-size:34px;letter-spacing:-.06em}.stage-unavailable p{color:var(--muted)}
/* Temporary sheets */
.modal-backdrop{position:fixed;z-index:10;inset:0;display:grid;place-items:end center;background:rgba(0,0,0,.64);padding:20px}.sheet{position:relative;width:min(440px,100%);border:1px solid var(--line);background:var(--panel);padding:29px 28px 30px;box-shadow:0 18px 60px rgba(0,0,0,.35)}.sheet-close{position:absolute;top:17px;right:20px;border:0;background:none;color:var(--muted);font-size:24px;line-height:1}.sheet-close:hover{color:var(--ink)}.sheet h2{margin:0 0 27px;font-size:26px;font-weight:550;letter-spacing:-.06em}.sheet label{display:block;margin:0 0 19px;color:var(--muted);font-size:13px}.sheet .button{width:100%;margin-top:7px}.sheet-group{margin-bottom:26px}.sheet-label{display:block;margin-bottom:13px;color:var(--muted);font-size:13px}.color-choices{display:flex;gap:15px}.color-choice{width:27px;height:27px;border:1px solid transparent;border-radius:50%;background:var(--swatch);padding:0}.color-choice.selected{box-shadow:0 0 0 2px var(--panel),0 0 0 3px var(--ink)}.color-choice.custom{position:relative;overflow:hidden;background:conic-gradient(#5ef2ad,#86c8ff,#c8b4ff,#ffad7a,#5ef2ad)}.color-choice.custom input{position:absolute;width:48px;height:48px;margin:-11px;opacity:0;cursor:pointer}.sheet-actions{display:grid;gap:13px;margin-top:7px}.share-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:15px 0;color:var(--muted);font-size:13px}.share-row:last-of-type{border-bottom:1px solid var(--line);margin-bottom:24px}.shortcut-copy{color:var(--muted);font-size:13px}.shortcut-copy kbd{display:inline-block;min-width:56px;margin-right:9px;border-bottom:1px solid var(--line);padding:5px;color:var(--ink);font-family:ui-monospace,monospace;font-size:11px;text-align:center}.toast{position:fixed;z-index:20;right:24px;bottom:24px;border-left:2px solid var(--accent);background:var(--panel);padding:13px 16px;color:var(--ink);font-size:13px;box-shadow:0 12px 40px rgba(0,0,0,.28)}.toast.error{border-color:var(--danger)}
.qr-share{display:grid;grid-template-columns:190px 1fr;gap:22px;align-items:center;margin:0 0 24px}.qr-code{width:190px;height:190px;background:#fff;padding:8px}.qr-svg{display:block;width:100%;height:100%}.qr-svg path{fill:#000}.qr-copy strong{display:block;color:var(--ink);font-size:15px;font-weight:600;line-height:1.35}.qr-copy p{margin:9px 0 14px;color:var(--muted);font-size:13px;line-height:1.45}.share-sheet{width:min(520px,100%)}
@media(max-width:700px){.create-page,.control-page{width:calc(100% - 36px)}.create-header{height:68px}.create-form-wrap{margin-top:70px}.create-form-wrap h1{font-size:clamp(52px,15vw,78px)}.create-lede{margin-bottom:42px;font-size:15px}.setup-options{grid-template-columns:1fr;gap:21px;margin-bottom:28px}.operator-content{padding-top:65px}.control-header{height:68px}.header-actions{gap:13px}.header-actions .connection-status{font-size:0}.header-actions .connection-status:before{margin:0;width:7px;height:7px}.header-actions .quiet-link{font-size:12px}.operator-clock{margin:31px 0 40px;font-size:clamp(76px,21vw,135px)}.transport{width:100%}.up-next{margin-top:54px}.preset-rail{overflow:visible;justify-content:space-between}.preset-rail>.section-label{display:none}.preset-item{min-width:0;flex:1;padding-right:7px;padding-left:7px;text-align:center}.preset-item.current:after{right:7px;left:7px}.preset-item.add-item{flex:0 0 42px}.operator-links{margin-bottom:25px}.modal-backdrop{padding:0}.sheet{border-right:0;border-bottom:0;border-left:0;padding-bottom:calc(30px + env(safe-area-inset-bottom))}.stage-screen{padding:26px 22px calc(28px + env(safe-area-inset-bottom))}.stage-clock{font-size:clamp(80px,22vw,190px)}.stage-top{font-size:11px}.stage-brand{width:78px}}
 .stage-screen[data-state=time-up]{background:#260706}.stage-screen[data-alert=urgent]{background:#4b1d14}.stage-screen[data-alert=warning] .stage-clock,.stage-screen[data-alert=warning] .stage-status{color:var(--warning)}.stage-screen[data-alert=urgent] .stage-clock,.stage-screen[data-alert=urgent] .stage-status,.stage-screen[data-state=time-up] .stage-clock,.stage-screen[data-state=time-up] .stage-status,.stage-screen[data-state=overtime] .stage-clock,.stage-screen[data-state=overtime] .stage-status{color:#fff}.stage-screen{transition:background-color .16s ease,color .16s ease}@media(max-width:700px){.qr-share{grid-template-columns:140px 1fr;gap:16px}.qr-code{width:140px;height:140px;padding:6px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important}}
.preset-rail{overflow-x:hidden}
.option-note{margin:17px 0 0;color:var(--faint);font-size:12px;line-height:1.45}
.color-choice.custom{background:conic-gradient(#00d084,#86c8ff,#c8b4ff,#ffad7a,#00d084)}
.seo-note{width:min(100%,560px);margin:72px auto 64px;border-top:1px solid var(--line);padding-top:18px}.seo-note h2{margin:0 0 8px;font-size:14px;font-weight:600}.seo-note p{max-width:480px;margin:0;color:var(--muted);font-size:13px;line-height:1.5}.no-script{width:min(calc(100% - 48px),560px);margin:18vh auto;color:var(--muted);line-height:1.5}.no-script h1{color:var(--ink);font-size:48px;letter-spacing:-.06em}.no-script p{margin:8px 0}
@media(max-width:400px){.product-name{display:none}.control-header{gap:12px}.header-left,.header-actions{gap:12px}.header-actions .connection-status{display:none}.brand img{width:66px}.header-actions .quiet-link{font-size:11px}.seo-note{margin-top:54px}}
.duration-fields{display:flex;align-items:end;gap:14px}.duration-fields label{display:grid;gap:8px;color:var(--faint);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.duration-fields input{width:2.7ch!important;margin:0;border:0;background:none;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(54px,10vw,94px)!important;font-variant-numeric:tabular-nums;letter-spacing:-.08em;line-height:1;outline:0}.duration-colon{align-self:end;margin-bottom:8px;color:var(--faint);font-family:ui-monospace,monospace;font-size:clamp(54px,10vw,94px);line-height:1}.duration-fields.compact input,.duration-fields.compact .duration-colon{font-size:42px!important}
.setup-options details{display:none}.color-field{font-size:0}.color-field:before{content:"Color";font-size:13px}.color-field input{font-size:initial}
.create-form-wrap .kicker{display:none}.create-form-wrap{margin-top:clamp(120px,20vh,220px)}.create-form-wrap h1{max-width:9ch}.create-lede{max-width:34em}
body:has(.modal-backdrop){overflow:hidden}.modal-backdrop{place-items:stretch end;background:transparent;padding:24px;pointer-events:none}.sheet{height:calc(100vh - 48px);max-height:none;overflow:auto;pointer-events:auto}.qr-code svg{display:block;width:100%;height:100%}.share-sheet{width:min(460px,100%);box-shadow:-18px 0 60px rgba(0,0,0,.28)}
.preset-wrap{position:relative;display:flex}.preset-wrap .preset-item{padding-right:28px}.preset-remove{position:absolute;top:7px;right:6px;border:0;background:none;color:var(--faint);font-size:16px;line-height:1;opacity:0}.preset-wrap:hover .preset-remove,.preset-remove:focus{opacity:1}.preset-remove:hover{color:var(--danger)}
.transport{grid-template-columns:1fr 1fr 1fr}.transport-reset{color:var(--ink);font-weight:600}
.preset-rail{overflow:visible;flex-wrap:wrap}
.up-next:has(.up-next-hint){display:none}
.operator-links{display:none}
.create-header .quiet-link{display:none}
.transport{grid-template-columns:repeat(4,1fr)}
.qr-code .qr-svg{display:block;width:100%;height:100%;shape-rendering:crispEdges}.qr-code .qr-svg path{fill:#0b0e14;stroke:none}.qr-fallback{display:block;padding:24px;color:#0b0e14;font-size:13px}
.preset-rail{overflow:visible;flex-wrap:wrap}.up-next{width:min(100%,460px);margin:32px auto 0;justify-content:center;gap:28px}.up-next .section-label{font-size:15px;letter-spacing:.08em}.up-next .text-action{flex:0 0 auto}
