@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/inter-300-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/inter-300-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink-950: #0b1a1f;--ink-900: #102329;--ink-850: #142c34;--ink-800: #1c3a44;--ink-700: #27505d;--ice-50: #e6f0f2;--ice-300: #a8c2c9;--ice-500: #6f8d96;--cold: #6fb9c9;--heat: #c98d5a;--both: #9a8fc4;--danger: #c9736f;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", monospace;--r-sm: 6px;--r-md: 10px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background-color:var(--ink-950);background-image:repeating-linear-gradient(to bottom,rgba(111,185,201,.035) 0px,rgba(111,185,201,.035) 1px,transparent 1px,transparent 28px);color:var(--ice-50);font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button,input,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}button,a,.session-row,.compact-row{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:manipulation;-webkit-user-select:none;user-select:none}.screen{-webkit-overflow-scrolling:touch}:focus-visible{outline:2px solid var(--cold);outline-offset:2px;border-radius:var(--r-sm)}.app-shell{display:flex;flex-direction:column;height:100%;padding-top:var(--safe-top);position:relative}.app-shell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.28),transparent 14%),linear-gradient(to top,rgba(0,0,0,.32),transparent 16%);z-index:1}.app-shell>*{position:relative;z-index:2}.app-header{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--ink-800);background:linear-gradient(to bottom,rgba(16,35,41,.6),transparent);flex-shrink:0}.app-header-mark{width:13px;height:34px;opacity:.9}.app-header-word{font-size:13px;font-weight:500;letter-spacing:.16em;color:var(--ice-300)}.app-header-label{font-size:13px;color:var(--ice-500);margin-left:auto;padding-left:12px;border-left:1px solid var(--ink-800)}.screen{flex:1;overflow-y:auto;padding:24px 20px calc(104px + var(--safe-bottom));max-width:560px;width:100%;margin:0 auto}h1{font-size:22px;font-weight:600;letter-spacing:-.021em}h2{font-size:13px;font-weight:500;color:var(--ice-500);letter-spacing:.02em}.card{background:var(--ink-900);border:1px solid var(--ink-800);border-radius:var(--r-md);padding:18px}.type-cold_plunge{--accent: var(--cold)}.type-sauna{--accent: var(--heat)}.type-contrast{--accent: var(--both)}.session-row{display:flex;align-items:baseline;gap:16px;width:100%;padding:14px 8px;margin:0 -8px;background:none;border:none;border-bottom:1px solid var(--ink-800);border-radius:var(--r-sm);text-align:left;color:inherit;font:inherit;transition:background .12s ease}.session-row:active{background:#1c3a448c}.session-row:last-child{border-bottom:none}.session-row .temp{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:26px;font-weight:400;letter-spacing:-.02em;color:var(--accent, var(--cold));min-width:74px;text-align:right;flex-shrink:0}.session-row .temp .deg{font-size:13px;color:var(--ice-500);margin-left:1px}.session-row .temp.empty{color:var(--ink-700)}.session-row .meta{flex:1;min-width:0}.session-row .meta .label{font-size:15px;font-weight:500;display:flex;align-items:center;gap:7px}.session-row .meta .label:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent, var(--cold));flex-shrink:0}.session-row .meta .sub{font-size:13px;color:var(--ice-500);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-row .duration{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:14px;color:var(--ice-300);flex-shrink:0}.hero-greeting{font-size:15px;color:var(--ice-500);margin-bottom:2px}.hero-streak{display:flex;align-items:baseline;gap:8px;margin-bottom:22px}.hero-streak .n{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:30px;color:var(--ice-50);line-height:1}.hero-streak span:last-child{font-size:14px;color:var(--ice-500)}.goal-dial,.timer-dial{position:relative;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.goal-dial{width:200px;height:200px}.timer-dial{width:260px;height:260px;margin-bottom:34px}.goal-dial svg,.timer-dial svg{width:100%;height:100%;transform:rotate(-90deg)}.dial-track{fill:none;stroke:var(--ink-800);stroke-width:6}.dial-fill{fill:none;stroke:var(--accent, var(--cold));stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .5s cubic-bezier(.22,1,.36,1)}.dial-center{position:absolute;text-align:center}.dial-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:34px;letter-spacing:-.02em;color:var(--ice-50);line-height:1}.timer-dial .dial-time{font-size:46px}.dial-goal{font-size:12px;color:var(--ice-500);margin-top:6px}.btn-start{display:block;width:100%;padding:17px;border:none;border-radius:12px;background:var(--cold);color:#08202a;font-size:16px;font-weight:600;letter-spacing:.01em;transition:transform .12s ease,filter .12s ease}.btn-start:active{transform:scale(.985)}.goal-met{text-align:center;font-size:13px;color:var(--cold);margin-top:10px}.timer-screen{display:flex;flex-direction:column;justify-content:center}.timer-actions{display:flex;flex-direction:column;gap:10px}.finish-hero{text-align:center;padding:20px 0 34px}.finish-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:56px;color:var(--cold);line-height:1;letter-spacing:-.03em}.finish-label{font-size:13px;color:var(--ice-500);margin-top:8px}.home-section{margin-top:30px}.section-link,.section-count{font-size:13px;color:var(--ice-500);cursor:pointer}.stat-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini-card{background:var(--ink-900);border:1px solid var(--ink-800);border-radius:12px;padding:16px}.mini-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:24px;color:var(--ice-50);line-height:1}.mini-value .unit{font-size:13px;color:var(--ice-500)}.mini-label{font-size:12px;color:var(--ice-300);margin-top:8px}.mini-sub{font-size:12px;color:var(--ice-500);margin-top:2px}.progress-track{height:3px;background:var(--ink-800);border-radius:999px;overflow:hidden;margin-top:10px}.progress-track.lg{height:5px;margin-top:14px}.progress-track span{display:block;height:100%;background:var(--cold);border-radius:999px;transition:width .6s cubic-bezier(.22,1,.36,1)}.insight-card{display:flex;gap:10px;background:var(--ink-900);border:1px solid var(--ink-800);border-radius:12px;padding:15px 16px;font-size:14px;color:var(--ice-300);line-height:1.55;cursor:pointer}.insight-row{display:flex;gap:10px;font-size:14px;color:var(--ice-300);line-height:1.55;padding:11px 0;border-bottom:1px solid var(--ink-800)}.insight-row:last-child{border-bottom:none;padding-bottom:0}.insight-row:first-child{padding-top:0}.insight-mark{width:5px;height:5px;border-radius:50%;background:var(--cold);flex-shrink:0;margin-top:8px}.compact-row{display:grid;grid-template-columns:1fr auto 46px 62px;align-items:baseline;gap:10px;width:100%;padding:12px 8px;margin:0 -8px;background:none;border:none;border-bottom:1px solid var(--ink-800);border-radius:var(--r-sm);text-align:left;color:inherit;transition:background .12s ease}.compact-row:last-child{border-bottom:none}.cr-day{font-size:14px;color:var(--ice-50)}.cr-type{font-size:13px;color:var(--accent, var(--cold))}.cr-temp,.cr-dur{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px;color:var(--ice-300);text-align:right}.goal-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.goal-big{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:30px;color:var(--ice-50)}.goal-of{font-size:13px;color:var(--ice-500);margin-left:6px}.goal-foot{font-size:12px;color:var(--ice-500);margin-top:12px;line-height:1.5}.pace-pill{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--ink-700);color:var(--ice-500);flex-shrink:0}.pace-pill.on{border-color:var(--cold);color:var(--cold)}.badge-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.badge{background:var(--ink-900);border:1px solid var(--ink-800);border-radius:12px;padding:16px 14px;text-align:center}.badge.unlocked{border-color:#6fb9c973;background:#6fb9c90d}.badge-mark{height:34px;margin-bottom:10px}.badge-mark img{height:100%;width:auto}.badge-name{font-size:13px;font-weight:500;color:var(--ice-50)}.badge-desc{font-size:11px;color:var(--ice-500);margin-top:3px;line-height:1.4}.locked-list{display:flex;flex-direction:column;gap:4px}.locked-row{padding:13px 0;border-bottom:1px solid var(--ink-800)}.locked-row:last-child{border-bottom:none}.locked-top{display:flex;align-items:baseline;justify-content:space-between}.locked-name{font-size:14px;color:var(--ice-300)}.locked-pct{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--ice-500)}.locked-desc{font-size:12px;color:var(--ice-500);margin-top:2px}.tab-start{width:50px;height:50px;flex-shrink:0;margin:-6px 4px 0;border-radius:50%;border:none;background:var(--cold);color:#08202a;display:flex;align-items:center;justify-content:center;align-self:center;transition:transform .12s ease,filter .12s ease}.tab-start svg{width:24px;height:24px}.tab-start:active{transform:scale(.94)}.week-card{background:var(--ink-900);border:1px solid var(--ink-800);border-radius:14px;padding:20px;margin-bottom:26px}.week-top{margin-bottom:18px}.week-streak{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:34px;line-height:1;color:var(--ice-50)}.week-streak-label{font-size:13px;color:var(--ice-500);margin-top:4px}.today-check{color:var(--cold);margin-left:6px}.week-strip{display:flex;justify-content:space-between;margin-bottom:20px}.week-strip .day{display:flex;flex-direction:column;align-items:center;gap:8px}.week-strip .dow{font-size:11px;color:var(--ice-500)}.tick{width:28px;height:28px;border-radius:50%;border:1px solid var(--ink-800);display:flex;align-items:center;justify-content:center}.tick.today{box-shadow:0 0 0 2px var(--ink-900),0 0 0 3px var(--cold)}.tick .dot{width:6px;height:6px;border-radius:50%;background:var(--accent, var(--cold))}.tick.type-cold_plunge{background:#6fb9c91f;border-color:var(--cold)}.tick.type-sauna{background:#c98d5a1f;border-color:var(--heat)}.tick.type-contrast{background:#9a8fc41f;border-color:var(--both)}.btn-primary{display:block;width:100%;padding:14px;border:1px solid var(--cold);border-radius:var(--r-md);background:transparent;color:var(--cold);font-size:15px;font-weight:500;transition:background .12s ease}.btn-primary:active:not(:disabled){background:#6fb9c924}.btn-primary:disabled{border-color:var(--ink-800);color:var(--ice-500);cursor:default}.btn-ghost{background:transparent;border:1px solid var(--ink-800);color:var(--ice-300);border-radius:var(--r-md);padding:12px 16px;font-size:14px;transition:border-color .12s ease,color .12s ease}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;background:var(--ink-900);border:1px solid var(--ink-800);border-radius:var(--r-md);padding:3px}.segmented button{padding:9px 4px;border:none;border-radius:var(--r-sm);background:none;color:var(--ice-500);font-size:13px;font-weight:500;transition:background .12s ease,color .12s ease}.segmented button.active{background:var(--ink-850);color:var(--accent, var(--ice-50));box-shadow:inset 0 0 0 1px currentColor}.field{margin-bottom:22px}.field label{display:block;font-size:13px;font-weight:500;color:var(--ice-300);margin-bottom:8px}.field .hint{color:var(--ice-500);font-weight:400}.field input,.field textarea{width:100%;background:var(--ink-900);border:1px solid var(--ink-800);border-radius:var(--r-md);padding:12px 14px;color:var(--ice-50);font-size:16px;transition:border-color .12s ease}.field input::placeholder,.field textarea::placeholder{color:#4a6d78}.field input:focus,.field textarea:focus{outline:none;border-color:var(--cold)}.field textarea{resize:vertical;min-height:76px;line-height:1.5}.field input.numeric{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:17px}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.unit-toggle{min-width:58px;font-family:var(--font-mono);font-size:15px}.input-suffix{position:relative;flex:1}.input-suffix input{padding-right:46px}.input-suffix span{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--ice-500);pointer-events:none}.felt-rating{display:flex;gap:6px}.felt-rating button{flex:1;height:46px;border:1px solid var(--ink-800);border-radius:var(--r-md);background:var(--ink-900);color:var(--ice-500);font-family:var(--font-mono);font-size:15px;transition:border-color .12s ease,color .12s ease}.felt-rating button.active{border-color:var(--cold);color:var(--cold);background:#6fb9c912}.felt-scale{display:flex;justify-content:space-between;font-size:12px;color:var(--ice-500);margin-top:7px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}.stat .value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:24px;font-weight:400;letter-spacing:-.02em;color:var(--ice-50)}.stat .value .unit{font-size:13px;color:var(--ice-500);margin-left:3px}.stat .label{font-size:12px;color:var(--ice-500);margin-top:3px}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;background:var(--ink-950);border-top:1px solid var(--ink-800);padding-bottom:var(--safe-bottom)}.tabbar a{flex:1;max-width:90px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 0 8px;color:var(--ice-500);text-decoration:none;font-size:11px;font-weight:500;transition:color .12s ease}.tabbar a.active{color:var(--cold)}.tabbar a svg{width:21px;height:21px}.auth-wrap{min-height:100%;display:flex;flex-direction:column;justify-content:center;padding:32px 24px;max-width:400px;margin:0 auto;width:100%}.auth-wrap .mark{width:34px;height:92px;margin-bottom:26px;opacity:.95}.auth-wrap .wordmark{font-size:30px;font-weight:300;letter-spacing:.22em;color:var(--ice-50);margin-bottom:6px}.auth-wrap .tagline{color:var(--ice-500);font-size:14px;margin-bottom:36px}.error-text{color:var(--danger);font-size:13px;margin-top:12px}.empty-state{color:var(--ice-500);padding:40px 0;font-size:14px;line-height:1.6}.empty-state strong{display:block;color:var(--ice-300);font-weight:500;margin-bottom:4px}.empty-mark{display:block;width:20px;height:54px;opacity:.18;margin-bottom:18px}.loading-bar{position:relative;height:1px;background:var(--ink-800);overflow:hidden;margin-top:20px}.loading-bar span{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--cold);transform-origin:left;animation:sweep 1.1s ease-in-out infinite}@keyframes sweep{0%{transform:scaleX(0) translate(0)}50%{transform:scaleX(.4) translate(150%)}to{transform:scaleX(0) translate(400%)}}.link-back{background:none;border:none;color:var(--ice-500);font-size:14px;padding:0 0 16px;transition:color .12s ease}.detail-hero{display:flex;align-items:baseline;gap:12px;padding-bottom:22px;border-bottom:1px solid var(--ink-800);margin-bottom:4px}.detail-temp{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:52px;line-height:1;letter-spacing:-.03em;color:var(--accent, var(--cold))}.detail-temp .deg{font-size:20px;color:var(--ice-500);margin-left:2px}.detail-temp .none{color:var(--ink-700)}.detail-type{font-size:15px;color:var(--ice-300)}.detail-list{display:flex;flex-direction:column}.detail-list>div{display:flex;justify-content:space-between;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--ink-800)}.detail-list dt{font-size:14px;color:var(--ice-500)}.detail-list dd{font-size:15px;color:var(--ice-50)}.detail-notes{margin-top:20px;padding:16px;background:var(--ink-900);border:1px solid var(--ink-800);border-radius:var(--r-md);font-size:14px;line-height:1.65;color:var(--ice-300)}.btn-ghost.danger{color:var(--danger);border-color:#c9736f59}.confirm{margin-top:14px;padding:16px;background:var(--ink-900);border:1px solid var(--ink-800);border-radius:var(--r-md)}.confirm p{font-size:14px;color:var(--ice-300);margin-bottom:14px}.dev-tool{border-style:dashed;border-color:#c98d5a66;background:#c98d5a0a}.dev-tool .card-title:before{content:"DEV •";color:var(--heat);font-size:11px;letter-spacing:.08em;font-weight:600}.row-between{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.card-title{font-size:15px;font-weight:500;margin-bottom:6px}.card-sub{font-size:14px;color:var(--ice-500);line-height:1.6}.note{font-size:13px;color:var(--ice-500);margin-top:14px;line-height:1.6}.field-label{display:block;font-size:13px;color:var(--ice-300);margin-bottom:10px}.switch{flex-shrink:0;width:46px;height:27px;border-radius:999px;border:1px solid var(--ink-700);background:var(--ink-850);padding:2px;transition:background .14s ease,border-color .14s ease}.switch span{display:block;width:21px;height:21px;border-radius:50%;background:var(--ice-500);transition:transform .14s ease,background .14s ease}.switch.on{background:#6fb9c933;border-color:var(--cold)}.switch.on span{transform:translate(19px);background:var(--cold)}.switch:disabled{opacity:.4;cursor:default}.hour-row{display:flex;flex-wrap:wrap;gap:6px}.hour-chip{padding:7px 11px;border:1px solid var(--ink-800);border-radius:var(--r-sm);background:var(--ink-900);color:var(--ice-500);font-family:var(--font-mono);font-size:12px;transition:border-color .12s ease,color .12s ease}.hour-chip.active{border-color:var(--cold);color:var(--cold);background:#6fb9c912}.felt-current{color:var(--ice-300)}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}@media (hover: hover) and (pointer: fine){.session-row:hover:not(:active){background:#1c3a4459}.btn-start:hover{filter:brightness(1.06)}.section-link:hover{color:var(--cold)}.compact-row:hover{background:#1c3a4459}.tab-start:hover{filter:brightness(1.06)}.btn-primary:hover:not(:disabled):not(:active){background:#6fb9c914}.btn-ghost:hover{border-color:var(--ink-700);color:var(--ice-50)}.segmented button:hover{color:var(--ice-300)}.field input:hover,.field textarea:hover{border-color:var(--ink-700)}.felt-rating button:hover{border-color:var(--ink-700);color:var(--ice-300)}.tabbar a:hover,.link-back:hover{color:var(--ice-300)}.btn-ghost.danger:hover{border-color:var(--danger);color:var(--danger)}.hour-chip:hover{border-color:var(--ink-700);color:var(--ice-300)}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
