@font-face{font-family:Orbit;src:local('Avenir Next'),local('Avenir'),local('Arial');font-display:swap}
:root{color-scheme:dark;--bg:#111e29;--panel:#162530;--ink:#edf1e9;--muted:#97a8ad;--line:#30404a;--lime:#d5ed95;--red:#f2a295;font-family:Orbit,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;font-weight:400;background:var(--bg);color:var(--ink)}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--lime);outline-offset:5px}button:disabled{cursor:default;opacity:.6}button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button{touch-action:manipulation}button:not(.primary-action):hover{color:var(--lime)}[hidden]{display:none!important}.app{max-width:1440px;min-height:100vh;min-height:100svh;margin:auto;padding:0 56px;display:flex;flex-direction:column}.header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);flex-shrink:0}.brand{color:var(--ink);text-decoration:none;display:flex;gap:11px;align-items:center;font-size:32px;font-weight:650;letter-spacing:-1.7px}.brand svg{width:36px;height:36px;fill:none;stroke:var(--lime);stroke-width:1.3}.brand svg circle:last-child{fill:var(--lime);stroke:var(--bg);stroke-width:2}.brand-dot{color:var(--lime)}.counter{border:1px solid var(--line);border-radius:30px;padding:11px 17px;background:transparent;display:flex;align-items:center;gap:9px;font-size:14px}.counter svg{color:var(--lime);width:20px}.counter strong{font-size:16px;font-weight:500}.counter span{color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,1fr);align-items:center;gap:64px;flex:1;padding:32px 0}.space{position:relative;height:600px;min-width:0;align-self:center;border-radius:4px;overflow:hidden;background:radial-gradient(ellipse at 50% 68%,#1c3541 0%,#111e2900 65%)}.scene-top{position:absolute;z-index:1;left:0;right:0;top:2px;display:flex;justify-content:space-between;gap:10px;pointer-events:none}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;color:var(--muted)}.live-dot{font-size:12px;color:var(--muted);white-space:nowrap}.live-dot::before{content:"";display:inline-block;width:5px;height:5px;background:var(--lime);border-radius:100%;vertical-align:middle;margin-right:7px}canvas{display:block;width:100%;height:100%}.scene-caption{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:space-between;gap:16px;align-items:end;pointer-events:none}.scene-caption span:first-child{font-size:14px;color:var(--muted)}.scene-caption span:last-child{font-size:11px;letter-spacing:1.5px;color:#849aa4;white-space:nowrap}.scene-progress{position:absolute;height:1px;bottom:4px;background:var(--line);left:0;right:0}.scene-progress div{height:100%;width:0;background:var(--lime);transition:width 1s linear}.control-panel{padding:16px 0;max-width:390px;width:100%;margin:auto}.mission-heading{display:flex;align-items:center;gap:14px}.tiny-tag{color:var(--lime);border:1px solid #7b965449;border-radius:4px;padding:4px 6px;font-size:10px;letter-spacing:1.3px}h1{font-size:28px;font-weight:500;letter-spacing:-.9px;line-height:1.25;margin:18px 0 9px}.description{font-size:14px;color:var(--muted);line-height:1.6;margin:0}.timer-wrap{padding:26px 0 25px}.timer{font-size:92px;font-weight:400;letter-spacing:-5px;line-height:1.05;font-variant-numeric:tabular-nums;white-space:nowrap}.timer span{color:#779098;margin:0 3px}.timer-caption{font-size:14px;color:var(--muted);margin-top:9px}.duration-choices{display:flex;gap:8px;margin-bottom:24px}.duration-choices button{border:1px solid var(--line);color:var(--muted);border-radius:9px;background:transparent;min-height:43px;flex:1;padding:9px 8px;font-size:14px;display:flex;align-items:center;justify-content:center}.duration-choices button.selected{color:var(--lime);border-color:#9eaf754f;background:#d5ed9510}.duration-choices button:last-child{flex:0 0 44px}.focus-field{border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px;margin-bottom:24px;padding:0 0 12px;color:var(--muted)}.focus-field svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3;flex-shrink:0}.focus-field input{color:var(--ink);background:transparent;border:0;outline:none;min-width:0;width:100%;font-size:16px}.focus-field input::placeholder{color:#8a9ca4;font-size:14px}.primary-action{background:var(--lime);color:#1e3026;border:0;border-radius:12px;min-height:56px;width:100%;font-weight:600;font-size:16px;display:flex;align-items:center;justify-content:center;gap:10px;padding:15px 18px;transition:background .2s,transform .2s}.primary-action:hover{background:#e1f4b3}.primary-action:active{transform:scale(.985)}.primary-action.abort{background:#ffffff08;color:var(--muted);border:1px solid var(--line)}.text-button{display:block;min-height:44px;margin:8px auto 0;background:transparent;border:0;font-size:13px;color:var(--muted);padding:12px 8px}.reassurance{color:#7d919b;font-size:12px;text-align:center;margin:23px -10px 0;line-height:1.6}.small-star{color:var(--lime);margin-right:5px}.active-task{font-size:16px;line-height:1.6;border-left:2px solid var(--lime);padding:3px 0 3px 14px;margin:12px 0 30px;overflow-wrap:anywhere}.footer{display:flex;align-items:center;justify-content:space-between;min-height:85px;border-top:1px solid var(--line);flex-shrink:0}.footer-note{font-size:10px;letter-spacing:2px;color:#7c909b}nav{display:flex;gap:28px}.nav-item{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--muted);font-size:13px;min-height:56px;padding:8px 0}.nav-item.active{color:var(--lime)}.nav-item svg{width:19px;height:19px}.stats{display:flex;padding:27px 0;margin-bottom:20px;border-bottom:1px solid var(--line);gap:25px}.stats>div{display:flex;flex-direction:column;gap:7px}.stats strong{font-size:35px;line-height:1;color:var(--lime);font-weight:400;font-variant-numeric:tabular-nums}.stats span{font-size:12px;color:var(--muted)}.satellite-list{max-height:275px;overflow:auto}.empty-orbit{padding:20px 0;line-height:1.7;color:var(--muted);font-size:14px}.empty-orbit strong{font-size:17px;color:var(--ink);display:block;font-weight:500;margin-bottom:7px}.satellite-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #ffffff09}.satellite-symbol{color:var(--lime);font-size:27px;width:35px;text-align:center}.satellite-row>div{min-width:0;flex:1}.satellite-row strong{font-size:15px;font-weight:500;display:block}.satellite-row small{display:block;color:var(--muted);font-size:12px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.satellite-row time{font-size:12px;color:var(--muted)}.local-note{font-size:12px;color:#81949d;margin-top:25px}.sheet{color:var(--ink);background:#1a2a36;border:1px solid #465761;border-radius:22px;width:min(440px,calc(100% - 24px));max-height:85vh;max-height:85dvh;padding:27px;box-shadow:0 20px 100px #0008;overscroll-behavior:contain}.sheet::backdrop{background:#071019bb;backdrop-filter:blur(8px)}.sheet-heading{display:flex;align-items:center;justify-content:space-between}.icon-button{border:0;background:transparent;font-size:30px;font-weight:300;color:var(--muted);width:44px;height:44px;margin:-12px -12px -8px 0}.sheet h2{font-weight:500;font-size:28px;margin:16px 0 23px;letter-spacing:-.6px}.number-setting,.switch-setting{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px}.number-setting input{width:76px;border:1px solid #485965;border-radius:8px;background:#111e29;padding:10px;text-align:center;font-size:16px}.switch-setting small{display:block;color:var(--muted);font-size:12px;margin-top:5px;line-height:1.5}.switch-setting input{appearance:none;-webkit-appearance:none;width:43px;height:26px;flex:0 0 43px;border-radius:20px;background:#42515b;position:relative;cursor:pointer}.switch-setting input::before{content:"";position:absolute;width:20px;height:20px;top:3px;left:3px;background:#f1f3e8;border-radius:100%;transition:transform .2s}.switch-setting input:checked{background:#839a51}.switch-setting input:checked::before{transform:translateX(17px)}.sheet .primary-action{margin-top:24px}.settings-note{font-size:12px;line-height:1.5;text-align:center;color:var(--muted)}.install-guide{margin-top:24px;border-top:1px solid var(--line);padding-top:5px}.install-guide h3{font-size:16px;font-weight:500}.install-guide p,.how-it-works p,.compact-sheet p{font-size:14px;line-height:1.7;color:var(--muted)}#offline-status{color:var(--lime);font-size:12px}.how-it-works{margin-top:20px}.how-it-works summary{font-size:14px;cursor:pointer;padding:10px 0}.backup-actions{display:flex;justify-content:space-between;gap:10px}.backup-actions .text-button{margin:10px 0 0}.danger{color:var(--red)}.toast{position:fixed;z-index:10;bottom:calc(96px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#dae7c8;color:#203528;padding:14px 22px;border-radius:12px;box-shadow:0 4px 30px #0004;font-size:14px;width:max-content;max-width:calc(100vw - 40px);text-align:center;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1200px){.space{height:min(660px,72vh)}.control-panel{padding-right:16px}.timer{font-size:100px}}
@media(max-width:1000px){.app{padding:0 30px}.workspace{gap:30px;grid-template-columns:minmax(0,1.2fr) minmax(290px,1fr)}.space{height:550px}.live-dot{display:none}.footer-note{letter-spacing:1px;font-size:9px}nav{gap:20px}}
@media(max-width:700px){.app{padding:env(safe-area-inset-top) 22px 0;min-height:100svh}.header{height:70px}.brand{font-size:27px;gap:8px}.brand svg{width:30px;height:30px}.counter{padding:8px 11px;font-size:12px;gap:6px}.counter svg{width:18px;height:18px}.counter strong{font-size:14px}.workspace{display:flex;flex-direction:column;gap:0;padding:0;justify-content:center;flex:1}.space{height:clamp(225px,34svh,320px);width:100%;flex-shrink:0;margin:14px 0 0;overflow:hidden}.scene-top{top:0}.eyebrow{font-size:10px;letter-spacing:1.6px}.live-dot{display:block;font-size:10px}.scene-caption{bottom:9px}.scene-caption span:first-child{font-size:11px}.scene-caption span:last-child{font-size:9px;letter-spacing:1px}.scene-progress{bottom:0}.control-panel{padding:21px 0 15px;max-width:400px}.mission-heading{justify-content:center;gap:10px}.tiny-tag{font-size:9px;padding:3px 5px}h1{font-size:22px;letter-spacing:-.6px;margin:9px 0 4px;text-align:center}.description{text-align:center;font-size:12px}.timer-wrap{padding:14px 0 16px;text-align:center}.timer{font-size:74px;letter-spacing:-4px;line-height:1}.timer-caption{font-size:12px;margin-top:5px}.duration-choices{max-width:295px;margin:0 auto 17px;gap:7px}.duration-choices button{min-height:38px;font-size:13px;padding:7px}.duration-choices button:last-child{flex-basis:40px}.focus-field{margin:0 0 18px;padding:0 0 10px}.focus-field input::placeholder{font-size:13px}.primary-action{min-height:52px;border-radius:11px;font-size:15px}.text-button{margin-top:3px;font-size:12px;min-height:40px;padding:10px 8px}.reassurance{display:none}.footer{min-height:69px;padding-bottom:env(safe-area-inset-bottom);justify-content:center}.footer-note{display:none}nav{justify-content:space-between;gap:0;width:100%;max-width:350px}.nav-item{font-size:11px;gap:6px;flex-direction:column;min-width:73px;min-height:59px;justify-content:center}.nav-item svg{width:20px;height:20px}.active-task{margin:10px 0 24px;text-align:center;border:0;padding:0;font-size:15px}.orbit-panel h1{margin-top:12px}.stats{justify-content:center;gap:30px;margin-bottom:6px;padding:22px 0}.satellite-list{max-height:220px}.local-note{text-align:center;margin:16px 0 0;font-size:11px}.empty-orbit{text-align:center;padding:15px 0}.sheet{padding:23px;border-radius:20px}.sheet .eyebrow{font-size:11px}.sheet .text-button{font-size:13px}.compact-sheet{padding:28px}.compact-sheet h2{margin-bottom:10px}}
@media(max-width:700px) and (max-height:760px){.space{height:215px;margin-top:11px}.control-panel{padding-top:15px;padding-bottom:8px}.header{height:61px}.timer{font-size:66px}.timer-wrap{padding:10px 0 12px}.description{display:none}.duration-choices{margin-bottom:13px}.focus-field{margin-bottom:14px}.footer{min-height:61px}.nav-item{min-height:55px}h1{font-size:21px}.mission-heading{margin-bottom:0}}
@media(max-width:360px){.app{padding-left:17px;padding-right:17px}.live-dot{display:none}.counter span{font-size:11px}.space{height:205px}.timer{font-size:62px}.stats{gap:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
.task-setting{display:block;font-size:14px;color:var(--muted);padding-bottom:8px}.task-setting input{display:block;width:100%;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:9px;padding:13px;margin-top:10px;font-size:16px}
@media(max-width:700px){#launch-view .mission-heading{display:none}.focus-field{display:none}.space{height:clamp(195px,29svh,245px)}.control-panel{padding-top:14px;padding-bottom:10px}.timer-wrap{padding:12px 0 15px}h1{font-size:21px;margin-top:2px}.description{display:none}.duration-choices{margin-bottom:17px}.header{height:65px}}
@media(max-width:700px) and (max-height:760px){.space{height:190px;margin-top:10px}.header{height:59px}.timer-wrap{padding:9px 0 12px}.control-panel{padding-top:13px;padding-bottom:6px}.duration-choices{margin-bottom:14px}.primary-action{min-height:50px}.text-button{min-height:36px}.timer{font-size:65px}}
.eyebrow,.tiny-tag,.live-dot,.footer-note,.scene-caption span:last-child{font-size:12px}.tiny-tag{letter-spacing:1px}.footer-note{letter-spacing:1.2px}.nav-item{font-size:14px}
@media(max-width:1000px) and (min-width:701px){.footer-note{max-width:200px;line-height:1.6}}
@media(max-width:700px){.eyebrow{font-size:12px;letter-spacing:1px}.live-dot{font-size:12px}.nav-item{font-size:12px}.scene-caption span:first-child,.scene-caption span:last-child,.local-note,.counter span{font-size:12px}.scene-caption span:last-child{letter-spacing:.5px}.scene-caption span:first-child{max-width:62%}.duration-choices button{font-size:14px}.text-button{font-size:13px}.scene-top{gap:8px}.scene-top .eyebrow{max-width:63%;line-height:1.6}.live-dot{padding-top:3px}}
