:root{--fr-bg:#0c0d0f;--fr-text:#f2f3f5;--fr-orange:#ff5a1f;--fr-orange-soft:#ff6a33;--fr-orange-link:#ff7a45;--fr-border:#2a2d32;--fr-border-soft:#3a3e45;--fr-track:#22252a;--fr-divider:#1e2126;--fr-muted:#f2f3f58c;--fr-muted-2:#f2f3f573;--fr-muted-3:#f2f3f559;--fr-muted-4:#f2f3f538;--fr-green:#4ade80;--fr-device-w:390px;--fr-device-h:844px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}body{color:var(--fr-text);-webkit-font-smoothing:antialiased;background:radial-gradient(1200px 600px at 50% -10%,#ff5a1f2e,#0000 55%),linear-gradient(#15171b 0%,#0a0b0d 100%);font-family:Archivo,system-ui,sans-serif}button,input,select{font:inherit;color:inherit;background:0 0;border:none;margin:0;padding:0}button{cursor:pointer}input,select{outline:none;width:100%}.app-shell{flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;padding:28px 16px 40px;display:flex}.phone-stage{justify-content:center;align-items:center;padding-left:56px;display:flex;position:relative}.phone-wrap{position:relative}.ios-device{width:var(--fr-device-w);height:var(--fr-device-h);-webkit-font-smoothing:antialiased;background:#000;border-radius:48px;flex:none;font-family:Archivo,system-ui,sans-serif;position:relative;overflow:hidden;box-shadow:0 40px 80px #00000059,0 0 0 1px #ffffff14}.ios-notch{z-index:50;pointer-events:none;background:#000;border-radius:24px;width:126px;height:37px;position:absolute;top:11px;left:50%;transform:translate(-50%)}.ios-status{z-index:10;pointer-events:none;position:absolute;top:0;left:0;right:0}.ios-status-inner{box-sizing:border-box;justify-content:center;align-items:center;gap:154px;width:100%;padding:21px 24px 19px;display:flex}.ios-status-time,.ios-status-icons{flex:1;justify-content:center;align-items:center;height:22px;display:flex}.ios-status-time{padding-top:1.5px}.ios-status-time span{font-family:-apple-system,SF Pro,system-ui;font-size:17px;font-weight:590;line-height:22px}.ios-status-icons{gap:7px;padding-top:1px;padding-right:1px}.ios-body{flex-direction:column;height:100%;display:flex}.ios-screen{flex:1;min-height:0;position:relative;overflow:hidden}.ios-home{z-index:60;pointer-events:none;justify-content:center;align-items:flex-end;height:34px;padding-bottom:8px;display:flex;position:absolute;bottom:0;left:0;right:0}.ios-home-pill{background:#ffffffb3;border-radius:100px;width:139px;height:5px}.frame-back{color:#f2f3f5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5;background:#ffffff14;border:1px solid #ffffff24;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .14s,opacity .14s,background .14s;display:flex;position:absolute;top:72px;left:0}.frame-back:hover:not(:disabled){background:#ff5a1f33;border-color:#ff5a1f73}.frame-back:active:not(:disabled){transform:scale(.96)}.frame-back.disabled,.frame-back:disabled{opacity:.28;cursor:default}.sheet-root{z-index:70;flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.sheet-backdrop{background:#0000008c;position:absolute;inset:0}.sheet-panel{background:#121417;border-top:1px solid #1e2126;border-radius:16px 16px 0 0;max-height:72%;padding:18px 20px 34px;position:relative;overflow:auto}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.sheet-close{letter-spacing:1.5px;color:#ff7a45;font:600 10px IBM Plex Mono,monospace}.sheet-body{flex-direction:column;gap:12px;display:flex}.sheet-item{border-bottom:1px solid #1e2126;padding:12px 0}.sheet-item.row{align-items:center;gap:12px;display:flex}.badge-dot{background:#ff5a1f;border-radius:50%;width:7px;height:7px;position:absolute;top:-1px;right:-1px}.app-title{letter-spacing:2px;text-transform:uppercase;color:#f2f3f5bf;font-family:Barlow Condensed,sans-serif;font-size:22px;font-weight:800}.app-hint{letter-spacing:1.5px;color:#f2f3f566;text-align:center;font-family:IBM Plex Mono,monospace;font-size:11px}.screen-root{background:var(--fr-bg);height:100%;min-height:100%;color:var(--fr-text);box-sizing:border-box;flex-direction:column;padding:68px 26px 44px;display:flex;position:relative;overflow:hidden}.screen-root.pad-welcome{padding:68px 28px 44px}.eyebrow{letter-spacing:3px;color:var(--fr-orange-soft);align-items:center;gap:10px;font:600 11px/1 IBM Plex Mono,monospace;display:flex}.eyebrow.muted{letter-spacing:2px;color:#f2f3f599}.display{text-transform:uppercase;letter-spacing:.5px;font-family:Barlow Condensed,sans-serif;font-weight:800;line-height:.95}.accent-bar{background:var(--fr-orange);width:52px;height:5px}.btn-primary,.btn-ghost{text-align:center;letter-spacing:3px;border-radius:2px;width:100%;padding:17px;font:700 13px/1 IBM Plex Mono,monospace;transition:transform .14s,filter .14s,background .14s}.btn-primary{background:var(--fr-orange);color:var(--fr-bg);box-shadow:0 0 34px #ff5a1f66}.btn-ghost{border:1.5px solid var(--fr-orange);color:var(--fr-orange-soft);padding:16px}.btn-primary:active,.btn-ghost:active,.tap:active{transform:scale(.985)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.field-label{letter-spacing:1.5px;color:#f2f3f580;font:500 10.5px/1 IBM Plex Mono,monospace}.field-box{border:1.5px solid var(--fr-border);background:0 0;border-radius:2px;justify-content:space-between;align-items:center;gap:10px;padding:15px 16px;font:400 15px/1.2 Archivo,sans-serif;display:flex}.field-box:focus-within,.field-box.active{border-color:var(--fr-orange)}.field-box input{min-width:0;color:var(--fr-text);caret-color:var(--fr-orange);flex:1}.field-box input::placeholder{color:#f2f3f573}.select-field{flex-direction:column;gap:7px;display:flex;position:relative}.select-trigger{text-align:left;cursor:pointer;width:100%}.select-value{min-width:0;color:var(--fr-text);flex:1}.select-placeholder{color:#f2f3f559;flex:1;min-width:0}.select-chevron{color:#f2f3f580;font-size:12px;line-height:1;transition:transform .14s}.select-chevron.open{transform:rotate(180deg)}.select-menu{z-index:40;background:#16181c;border:1px solid #ffffff1a;border-radius:10px;max-height:240px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 40px #0000008c}.select-menu.top{top:auto;bottom:calc(100% + 6px)}.select-option{text-align:left;color:#f2f3f5;border-radius:7px;align-items:center;gap:10px;width:100%;padding:11px 12px;font:400 15px/1.3 Archivo,sans-serif;display:flex}.select-option:hover,.select-option.on{background:#ff5a1f1f}.select-option.on{color:#fff}.select-check{width:14px;color:var(--fr-orange);text-align:center;flex:none;font:700 12px Archivo,sans-serif}.link{color:var(--fr-orange-link);font-weight:600}.back-btn{border:1.5px solid var(--fr-border);color:#f2f3f5b3;border-radius:2px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font:600 14px Archivo,sans-serif;display:flex}.progress-row{gap:4px;margin-top:16px;display:flex}.progress-fill{background:var(--fr-orange);height:4px}.progress-rest{background:var(--fr-track);height:4px}.option-row{border:1.5px solid var(--fr-border);text-align:left;border-radius:2px;align-items:center;gap:13px;width:100%;padding:16px;transition:border-color .14s,background .14s,box-shadow .14s;display:flex}.option-row.selected{border-color:var(--fr-orange);background:#ff5a1f1a;box-shadow:0 0 22px #ff5a1f2e}.option-box{border:1.5px solid var(--fr-border-soft);width:16px;height:16px;color:var(--fr-bg);border-radius:2px;flex:none;justify-content:center;align-items:center;font:700 11px Archivo,sans-serif;display:flex}.option-row.selected .option-box{background:var(--fr-orange);border:none}.unit-toggle{border:1.5px solid var(--fr-border);border-radius:2px;display:flex;overflow:hidden}.unit-toggle button{text-align:center;letter-spacing:2px;color:#f2f3f580;flex:1;padding:12px;font:700 12px/1 IBM Plex Mono,monospace}.unit-toggle button.active{background:var(--fr-orange);color:var(--fr-bg)}.wheel{scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;max-width:260px;height:220px;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}.wheel::-webkit-scrollbar{display:none}.wheel-item{scroll-snap-align:center;color:#f2f3f547;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;height:44px;font-family:Barlow Condensed,sans-serif;font-weight:700;transition:color .12s,font-size .12s,transform .12s;display:flex}.wheel-item.near{color:#f2f3f573;font-size:30px}.wheel-item.active{color:var(--fr-text);font-size:64px;font-weight:800}.wheel-suffix{color:var(--fr-orange-link);margin-left:8px;font:700 20px/1 Barlow Condensed,sans-serif}.wheel-wrap{flex:1;justify-content:center;align-items:center;gap:18px;display:flex;position:relative}.wheel-markers{pointer-events:none;z-index:2;justify-content:space-between;width:min(280px,100%);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wheel-markers span{background:var(--fr-orange);width:26px;height:5px}.code-row{gap:8px;display:flex}.code-cell{aspect-ratio:.85;border:1.5px solid var(--fr-border);text-align:center;border-radius:2px;flex:1;justify-content:center;align-items:center;min-width:0;padding:0;font:800 26px/1 Barlow Condensed,sans-serif;display:flex}.code-cell.filled,.code-cell.focus{border-color:var(--fr-orange)}@keyframes fr-pulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}.pulse-ring{border:1.5px solid #ff5a1f66;border-radius:2px;animation:2s infinite fr-pulse;position:absolute}.pulse-ring.delay{border-color:#ff5a1fb3;animation-delay:.3s;inset:14px}.bg-slot{position:absolute;top:0;left:0;right:0;overflow:hidden}.bg-slot img{object-fit:cover;filter:saturate(.85)contrast(1.05);width:100%;height:100%;display:block}.blurred{filter:blur(4px)}.stage-active{background:var(--fr-orange);color:var(--fr-bg);border-radius:2px;justify-content:space-between;align-items:center;padding:16px;display:flex;box-shadow:0 0 30px #ff5a1f4d}.stage-idle{border:1.5px solid var(--fr-border);letter-spacing:1.5px;color:#f2f3f58c;border-radius:2px;padding:15px 16px;font:700 16px/1 Barlow Condensed,sans-serif}.check-box{border:1.5px solid var(--fr-border-soft);width:16px;height:16px;color:var(--fr-bg);border-radius:2px;flex:none;justify-content:center;align-items:center;margin-top:2px;font:700 11px Archivo,sans-serif;display:flex}.check-box.on{background:var(--fr-orange);border-color:var(--fr-orange)}.caret{background:var(--fr-orange);width:1.5px;height:18px;margin-left:2px;animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.screen-root.soft{color:#eceef1;background:#0a0b0d;padding:62px 22px 40px}.screen-root.soft-radial{background:radial-gradient(120% 50% at 50% 0,#2e1b0e 0%,#160f0b 40%,#0a0b0d 72%),#0a0b0d}.screen-root.soft-radial-home{background:radial-gradient(120% 60% at 50% 0,#2e1b0e 0%,#160f0b 38%,#0a0b0d 72%),#0a0b0d}.screen-root.tabbed{height:100%;padding-bottom:0}.screen-scroll{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.tab-bar{box-sizing:border-box;background:#0a0b0d;border-top:1px solid #1e2126;flex:none;width:calc(100% + 44px);margin:0 -22px;padding:13px 18px 34px;display:flex}.soft-label{letter-spacing:1.8px;color:#eceef16b;font:500 9.5px/1 IBM Plex Mono,monospace}.soft-title{letter-spacing:.5px;text-transform:uppercase;font:700 30px/1.05 Barlow Condensed,sans-serif}.soft-body{color:#eceef19e;font:400 13.5px/1.55 Archivo,sans-serif}.soft-row,.zone-row{align-items:center;gap:13px;padding:13px 0;display:flex}.zone-row{padding:15px 0}.soft-num{font-variant-numeric:tabular-nums;color:#eceef16b;font:600 11px IBM Plex Mono,monospace}.soft-meta{font-variant-numeric:tabular-nums;color:#eceef16b;font:600 10.5px IBM Plex Mono,monospace}.soft-divider{background:#1e2126;height:1px}.status-chip{letter-spacing:1.8px;border-radius:2px;padding:3px 6px;font:500 9.5px IBM Plex Mono,monospace}.status-chip.good{color:#4ade80;border:1px solid #4ade80}.status-chip.muted{color:#eceef16b;border:1px solid #1e2126}.mission-card{background:#121417;border-radius:3px;align-items:flex-start;gap:14px;width:100%;padding:15px 16px;display:flex}.check-box.soft{border:1px solid #eceef14d;width:17px;height:17px;margin-top:2px}.check-box.soft.on{color:#0a0b0d;background:#4ade80;border-color:#4ade80}.soft-skip{text-align:center;letter-spacing:1.8px;color:#eceef16b;font:500 9.5px IBM Plex Mono,monospace}.soft-callout,.soft-panel,.sample-days{background:#121417;border-radius:3px}.soft-callout{color:#eceef19e;padding:14px 15px;font:400 12.5px/1.55 Archivo,sans-serif}.soft-panel{padding:20px 18px}.sample-days{gap:18px;padding:16px;display:flex}.soft-back{text-align:center;letter-spacing:2.5px;color:#eceef19e;border:1px solid #1e2126;border-radius:3px;width:74px;padding:15px;font:600 12px IBM Plex Mono,monospace}.zone-dot{border-radius:50%;flex:none;width:8px;height:8px}.dot{background:#1e2126;border-radius:50%;width:6px;height:6px;display:inline-block}.dot.on{background:#ff5a1f}.dot.wide{border-radius:3px;width:18px}.wearable-row{width:100%;color:inherit;border:1.5px solid #2a2d32;border-radius:2px;align-items:center;gap:14px;padding:14px 16px;display:flex}.wearable-logo{box-sizing:border-box;background:#f6f6f4;border-radius:2px;flex:none;justify-content:center;align-items:center;width:78px;height:40px;padding:6px;display:flex}.privacy-note{color:#f2f3f58c;border-left:2px solid #ff5a1f;margin-top:18px;padding:2px 0 2px 12px;font:400 12px/1.55 Archivo,sans-serif}.metric-card{background:#121417;border-radius:3px;flex:1;padding:13px 14px}.action-row{width:100%;color:inherit;border:1px solid #1e2126;border-radius:3px;justify-content:space-between;align-items:center;padding:15px 16px;display:flex}.mission-check{color:#4ade80;border:1px solid #eceef14d;border-radius:2px;flex:none;justify-content:center;align-items:center;width:17px;height:17px;margin-top:2px;font:700 10px Archivo,sans-serif;display:flex}.mission-check.done{background:#4ade8029;border-color:#4ade80}.chat-list{flex-direction:column;flex:1;gap:18px;min-height:0;margin-top:18px;display:flex;overflow:auto}.chat-row{gap:11px;display:flex}.chat-avatar{color:#0a0b0d;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font:600 11px Archivo,sans-serif;display:flex}.chat-input{color:#eceef1;background:0 0;border:1px solid #1e2126;border-radius:3px;flex:1;padding:13px 14px;font:400 13.5px/1.55 Archivo,sans-serif}.chat-input::placeholder{color:#eceef16b}.chat-send{color:#0a0b0d;background:#ff5a1f;border-radius:3px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.tab-item{color:#eceef157;flex-direction:column;flex:1;align-items:center;gap:5px;display:flex}.tab-item span{letter-spacing:1.8px;color:inherit;font:500 9.5px IBM Plex Mono,monospace}.tab-item.on{color:#ff5a1f}@media (width<=640px){html,body,#root{overscroll-behavior:none;height:100%;overflow:hidden}body{background:#0a0b0d}.app-shell{justify-content:stretch;align-items:stretch;gap:0;height:100dvh;min-height:100dvh;padding:0}.app-title,.app-hint{display:none}.phone-stage{flex:1;justify-content:stretch;align-items:stretch;width:100%;min-height:0;padding:0;transform:none}.phone-wrap{flex:1;width:100%;height:100%}.ios-device{width:100%;max-width:none;height:100%;box-shadow:none;border-radius:0}.ios-notch{display:none}.ios-status{padding-top:env(safe-area-inset-top,0px)}.ios-status-inner{justify-content:space-between;gap:0;padding:14px 22px 12px}.ios-status-time{justify-content:flex-start;padding-left:4px}.ios-status-icons{justify-content:flex-end;padding-right:4px}.ios-home{height:calc(22px + env(safe-area-inset-bottom,0px));padding-bottom:max(6px, env(safe-area-inset-bottom,0px))}.ios-home-pill{opacity:.55;width:120px}.frame-back{top:auto;left:50%;right:auto;bottom:max(120px, calc(100px + env(safe-area-inset-bottom,0px)));z-index:100;background:#121417eb;border:1px solid #ff5a1f73;width:48px;height:48px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #00000073}.frame-back:active:not(:disabled){transform:translate(-50%)scale(.96)}.frame-back.disabled{display:none}.screen-root,.screen-root.soft{padding-left:max(22px, env(safe-area-inset-left,0px));padding-right:max(22px, env(safe-area-inset-right,0px))}.tab-bar{padding-bottom:max(26px, calc(14px + env(safe-area-inset-bottom,0px)))}}
