@layer components{.focus-hero{align-items:stretch;text-align:left;padding-top:clamp(6px,1.8vh,22px)}.focus-layout{width:100%;max-width:1300px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(20px,3vw,40px);align-items:start;padding:0 clamp(0px,1.6vw,24px)}.focus-main{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.focus-main .h1{font-size:clamp(34px,4vw,52px)}.focus-main .lede{max-width:560px}.focus-card.timer-card,.focus-card.timer-card[data-state=paused],.focus-card.timer-card[data-state=running]{width:min(780px,100%);margin-top:clamp(10px,2vh,22px)}.focus-card .tc-live .time{font-size:clamp(92px,10.4vw,160px)}.focus-card[data-state=paused] .tc-live .time,.focus-card[data-state=running] .tc-live .time{font-size:clamp(100px,12vw,184px)}.focus-card .tc-live .time.has-h{font-size:clamp(66px,7.6vw,118px)}.focus-card[data-state=paused] .tc-live .time.has-h,.focus-card[data-state=running] .tc-live .time.has-h{font-size:clamp(72px,8.6vw,132px)}.fc-time{display:flex;justify-content:center;align-items:baseline;margin:clamp(6px,1.6vh,16px) 0 4px}.fc-plus{font-family:var(--font-serif);font-weight:var(--time-weight);font-size:clamp(56px,6vw,96px);line-height:1;margin-right:.04em;color:var(--sun)}.focus-card[data-overtime] .horizon .hz-fill{background:var(--sun)}.seg{display:inline-flex;flex-wrap:nowrap;padding:3px;gap:2px;border-radius:999px;background:var(--chip);border:1px solid var(--line);max-width:100%}.seg button{min-height:var(--tap);padding:0 14px;border-radius:999px;border:0;background:transparent;font-weight:750;font-size:14px;color:var(--ink-2);white-space:nowrap;transition:background .2s,color .2s}.seg button small{font-weight:650;opacity:.85;margin-left:2px}.seg button:hover:not(:disabled){color:var(--ink)}.seg button[aria-pressed=true]{background:var(--chip-on);color:var(--chip-on-ink)}.seg button:disabled{cursor:not-allowed;opacity:.7}.session-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 12px;margin-top:6px}.moons{display:flex;gap:9px}.moon{width:16px;height:16px;border-radius:50%;border:2px solid var(--ink-3)}.moon.full{background:var(--sun)}.moon.full,.moon.now{border-color:var(--sun)}.moon.now{background:conic-gradient(var(--sun) calc(var(--mp, 0) * 1turn),transparent 0)}.session-label{font-size:14.5px;font-weight:750;color:var(--ink-2)}.session-count{font-size:14px;font-weight:650;color:var(--ink-2)}.fc-meta{margin-top:4px}.fc-note{margin:10px auto 2px;max-width:520px;padding:10px 16px;border-radius:18px;background:var(--chip);border:1px solid var(--line);font-size:14.5px;color:var(--ink-2);line-height:1.45}.fc-note b{color:var(--ink);font-weight:750}.fc-controls{flex-wrap:nowrap}.fc-controls .btn-primary{min-width:230px}.fc-save-row{display:flex;justify-content:center;margin-top:10px}.fc-save{background:var(--chip)}.tc-aux{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:16px}.sound-chip{display:inline-flex;align-items:center;gap:9px;min-height:var(--tap);padding:0 14px 0 6px;border-radius:999px;flex:none;border:1px solid var(--line);background:var(--chip);color:var(--ink);font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;transition:background .2s}.sound-chip:hover{background:var(--chip-hover)}.sound-chip .thumb{width:32px;height:32px;border-radius:50%;flex:none;border:1px solid var(--line-2)}.sound-chip[data-on=true] .eq{display:inline-flex}.intent{display:flex;align-items:center;gap:10px;flex:1 1 260px;max-width:420px;min-height:var(--tap);padding:0 6px 0 16px;border-radius:999px;border:1px dashed var(--line-2)}.intent:focus-within{border-style:solid;border-color:var(--ink-2)}.intent label{font-size:13px;font-weight:750;color:var(--ink-2);white-space:nowrap}.intent input{flex:1;min-width:0;min-height:var(--tap);border:0;background:transparent;color:var(--ink);outline:none;font-weight:650;font-size:15px}.intent input::placeholder{color:var(--ink-3);opacity:1}.intent:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.fc-mob{display:none}.focus-side{display:grid;gap:12px;text-align:left;transition:opacity .6s var(--ease)}.side-card{padding:16px 18px 18px;border-radius:26px}.side-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 10px;margin-bottom:10px}.side-head .btn[aria-pressed=true]{background:var(--chip-on);color:var(--chip-on-ink);border-color:transparent}.stat-note{margin-top:8px;font-size:13px;color:var(--ink-2)}.side-head .stat-note{margin-top:0}.scene-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:0}.scene-grid.compact .scene-tile{padding:4px 4px 7px;border-radius:14px}.scene-grid.compact .scene-tile .st-art{height:40px;border-radius:10px;margin-bottom:5px}.scene-grid.compact .scene-tile .st-sound{display:none}.scene-grid.compact .scene-tile .st-name{font-size:13px;padding:0 3px}.stat-top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}.streak-big{display:flex;flex-direction:column;align-items:center;justify-content:center;width:96px;height:104px;border-radius:22px;background:var(--chip);border:1px solid var(--line)}.streak-big .i{color:var(--sun);width:22px;height:22px}.streak-big b{font-family:var(--font-serif);font-weight:700;font-size:40px;line-height:1;font-variation-settings:"opsz" 28}.streak-big small{font-size:12.5px;font-weight:750;color:var(--ink-2)}.goal b{font-family:var(--font-serif);font-weight:600;font-size:25px;font-variation-settings:"opsz" 28}.goal small{display:block;color:var(--ink-2);font-size:13.5px;font-weight:650}.goal-bar{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;margin-top:8px}.goal-bar i{height:8px;border-radius:4px;background:var(--track)}.goal-bar i.on{background:var(--sun)}.goal-edit{display:flex;align-items:center;gap:8px;margin-top:8px}.goal-step{width:var(--tap);height:var(--tap)}.goal-step .i{width:18px;height:18px}.goal-num{font-size:13.5px;font-weight:750;color:var(--ink-2);min-width:54px;text-align:center}.goal-meter{height:8px;border-radius:4px;background:var(--track);margin-top:8px;overflow:hidden}.goal-meter i{display:block;height:100%;background:var(--sun);border-radius:4px;transition:width .5s var(--ease)}.goal-hours{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.goal-hours .chip{min-width:var(--tap);padding:0 10px;font-size:13.5px}.week-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;font-size:14px;color:var(--ink-2);font-weight:650}.week-total b{font-family:var(--font-serif);font-size:23px;color:var(--ink);font-weight:600;font-variation-settings:"opsz" 28}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;height:104px;margin-top:6px;align-items:end}.week li{display:flex;flex-direction:column;align-items:center;gap:3px;height:100%;justify-content:flex-end;min-width:0}.week .bm{font-size:11.5px;font-weight:750;color:var(--ink-2);font-variant-numeric:tabular-nums;min-height:14px;line-height:14px}.week .bar{display:block;width:100%;max-width:30px;height:calc(var(--h) * .62);min-height:4px;border-radius:6px;background:var(--track)}.week .is-today .bar{background:var(--sun)}.week .bl{font-size:12px;font-weight:750;color:var(--ink-2);line-height:16px}.week .is-today .bl{color:var(--ink)}.week[data-empty]{height:40px}.week-empty{margin-top:10px;font-size:13.5px;color:var(--ink-2)}.log{margin-top:12px;border-top:1px solid var(--line)}.log li{display:grid;grid-template-columns:minmax(64px,auto) minmax(0,1fr) auto;gap:10px;padding:8px 2px;border-bottom:1px solid var(--line);font-size:14px;align-items:baseline}.log li>span:first-child{font-variant-numeric:tabular-nums}.log li>span:first-child,.log li>span:last-child{color:var(--ink-2);font-weight:650;white-space:nowrap}.log li b{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-title{margin-top:22px;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.room-scene{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-2);font-weight:650}.room-scene .thumb{width:26px;height:26px;border-radius:50%;border:1px solid var(--line-2)}.room-lede{font-size:14.5px;color:var(--ink-2);line-height:1.5}.room-lede b{color:var(--ink);font-weight:750}.room-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.room-actions .i{width:18px;height:18px}.room-card.is-prominent{border-color:color-mix(in srgb,var(--sun) 55%,var(--panel-line))}.room-card.is-prominent .btn-room{background:var(--accent);color:var(--accent-ink);border-color:transparent}.room-status{margin-top:8px;font-size:13.5px;color:var(--ink-2)}.room-status:empty{display:none}.room-url{width:100%;margin-top:6px;min-height:var(--tap);padding:0 12px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink);font-size:13px}.rhythms{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}.rhythms .chip{padding:0 12px;font-size:14px}.custom-lengths{margin-top:6px}.custom-lengths summary{display:inline-flex;align-items:center;min-height:var(--tap);font-weight:700;font-size:14px;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:4px}.length-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:6px}.length-grid.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}.length-grid label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:700;color:var(--ink-2)}.length-grid input{width:100%;border-radius:12px;border:1px solid var(--line-2);background:var(--surface-2);text-align:center;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.length-grid input,.rhythm-note a{min-height:var(--tap);color:var(--ink)}.rhythm-note a{font-weight:750;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center}.toggle-row .switch:disabled{opacity:.55;cursor:not-allowed}.focus-layout[data-calm] .focus-side{opacity:0;pointer-events:none}.focus-layout[data-calm] .focus-side:focus-within{opacity:1;pointer-events:auto}.focus-card .fc-controls .round,.focus-card .fc-save-row,.focus-card .seg,.focus-card .tc-aux,.focus-card .tc-top-actions{transition:opacity .6s var(--ease)}.focus-layout[data-calm] .focus-card .fc-controls .round,.focus-layout[data-calm] .focus-card .fc-save-row,.focus-layout[data-calm] .focus-card .seg,.focus-layout[data-calm] .focus-card .tc-aux,.focus-layout[data-calm] .focus-card .tc-top-actions{opacity:.45}.focus-layout[data-calm] .focus-card .fc-controls .round:focus-visible,.focus-layout[data-calm] .focus-card :is(.seg,.tc-top-actions,.tc-aux,.fc-save-row):focus-within{opacity:1}.stats-layout .focus-main{align-items:stretch}.stats-layout .hero-head{align-self:center;text-align:center}.stats-scope{align-self:center;margin-top:14px}.stats-card{width:100%;margin-top:14px;padding:clamp(16px,2.6vw,28px);border-radius:var(--r-xl);text-align:left}.stats-panel.is-full .stat-top{grid-template-columns:auto minmax(0,1fr);gap:20px}.stats-panel.is-full .streak-big{width:132px;height:140px;border-radius:28px}.stats-panel.is-full .streak-big b{font-size:58px}.stats-panel.is-full .goal b{font-size:34px}.stats-panel.is-full .goal-bar i{height:10px}.stats-panel.is-full .week-total{margin-top:24px;font-size:16px}.stats-panel.is-full .week-total b{font-size:clamp(30px,3.4vw,40px)}.stats-panel.is-full .week{height:180px;gap:10px}.stats-panel.is-full .week[data-empty]{height:56px}.stats-panel.is-full .week-empty{font-size:15px}.stats-panel.is-full .week .bar{max-width:56px;border-radius:8px;height:calc(var(--h) * .74)}.stats-panel.is-full .week .bm{font-size:13px}.stats-panel.is-full .week .bl{font-size:13.5px}.stats-panel.is-full .log li{font-size:15px;padding:10px 2px;grid-template-columns:minmax(84px,auto) minmax(0,1fr) auto}.go-list{display:grid;gap:4px;margin-top:10px}.go-list a{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center;min-height:52px;padding:6px 10px 6px 6px;border-radius:16px;color:var(--ink);text-decoration:none;transition:background .2s}.go-list a:hover{background:var(--chip-hover)}.go-list .thumb{width:40px;height:40px;border-radius:12px;border:1px solid var(--line)}.go-list b{display:block;font-weight:750;font-size:15px}.go-list small{color:var(--ink-2);font-size:13px}.totals{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.totals div{padding:12px 14px;border-radius:16px;background:var(--chip);border:1px solid var(--line)}.totals dt{font-size:13px;font-weight:700;color:var(--ink-2)}.totals dd{font-family:var(--font-serif);font-size:26px;font-weight:600;font-variation-settings:"opsz" 28}.most-used{margin-top:6px;border-top:1px solid var(--line)}.most-used li{display:flex;justify-content:space-between;gap:12px;padding:8px 2px;border-bottom:1px solid var(--line);font-size:14px}.most-used li span:first-child{text-transform:capitalize;font-weight:700}.most-used li span:last-child{color:var(--ink-2);font-variant-numeric:tabular-nums}.stats-export{margin-top:14px}.week-card-img{display:block;width:100%;max-width:240px;height:auto;margin:12px auto 0;border-radius:16px;border:1px solid var(--line)}.week-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.stats-export .i,.week-card .btn .i{width:18px;height:18px}.week-card .btn-room{background:var(--accent);color:var(--accent-ink);border-color:transparent}@media (max-width:640px){.stats-panel.is-full .streak-big{width:104px;height:116px}.stats-panel.is-full .streak-big b{font-size:44px}.stats-panel.is-full .goal b{font-size:27px}.stats-panel.is-full .week{height:150px;gap:5px}.stats-panel.is-full .log li{grid-template-columns:minmax(64px,auto) minmax(0,1fr) auto;font-size:14px}}.focus-list{display:grid;gap:10px;margin-top:16px;color:var(--ink-2)}.focus-list li{position:relative;padding-left:22px}.focus-list li:before{content:"";position:absolute;left:2px;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--sun)}.fs .fs-live .fs-next{margin-top:2px;font-family:var(--font-serif);font-size:clamp(20px,2.6vw,34px);font-weight:500;text-wrap:balance;max-width:min(900px,92vw)}.fs[data-mode=scene] .fs-ends,.fs[data-mode=scene] .fs-live .fs-next{text-shadow:0 1px 18px var(--mist)}@media (max-width:1080px){.focus-layout{grid-template-columns:minmax(0,1fr)}.focus-side{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}}@media (max-height:820px) and (min-width:1081px){.focus-card .tc-live .time{font-size:clamp(84px,9vw,136px)}.focus-card[data-state=paused] .tc-live .time,.focus-card[data-state=running] .tc-live .time{font-size:clamp(92px,10vw,150px)}.focus-main .lede{margin-top:6px}}@media (max-width:640px){.focus-hero{padding-left:12px;padding-right:12px}.focus-main .h1{font-size:clamp(32px,9vw,40px)}.focus-card .tc-top{justify-content:center}.focus-card .seg{width:100%}.focus-card .seg button{flex:1;padding:0 6px;font-size:13.5px}.fc-desk,.focus-card .seg button small{display:none}.fc-mob{display:flex}.focus-card .tc-live .time{font-size:clamp(80px,25vw,112px)}.focus-card .tc-live .time.has-h{font-size:clamp(56px,17vw,80px)}.fc-plus{font-size:clamp(48px,14vw,72px)}.focus-card .fc-controls{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:10px}.focus-card .fc-controls .round{grid-row:1}.focus-card .fc-controls .round:first-child{grid-column:1}.focus-card .fc-controls .round:last-child{grid-column:3}.focus-card .fc-controls .tc-main{grid-column:2;grid-row:1;min-width:0;width:100%;min-height:60px;padding:0 16px;font-size:17px}.session-count{display:none}.tc-aux{gap:8px}.intent{flex-basis:100%;max-width:none;order:-1}.sound-chip{max-width:60%}.sound-chip .sc-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.focus-side{grid-template-columns:minmax(0,1fr)}.scene-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.length-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:360px){.focus-card .seg button{font-size:12.5px;padding:0 4px}.scene-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.focus-card .seg,.focus-card .tc-aux,.focus-side,.goal-meter i{transition:none!important}}}