:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--text:#1d1d1f;--text-2:#6e6e73;--text-3:#86868b;--bg:#fff;--bg-alt:#f5f5f7;--tile:#fff;--hair:#d2d2d7;--link:#06c;--button:#0071e3;--danger:#d70015;--hint-bg:#fff6e8;--hint-text:#8a5300;--sky-top:#a9d1fa;--sky-horizon:#eef6ff;--on-sky:#1d1d1f;--glass:#ffffff9e;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif;--ease:cubic-bezier(.16, 1, .3, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#f5f5f7;--text-2:#a1a1a6;--text-3:#86868b;--bg:#000;--bg-alt:#161617;--tile:#1d1d1f;--hair:#424245;--link:#2997ff;--danger:#ff453a;--hint-bg:#2b2111;--hint-text:#ffc77a;--on-sky:#fff;--glass:#ffffff24}}.is-night{--on-sky:#fff;--glass:#ffffff24}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:17px/1.47 var(--font);letter-spacing:-.022em;-webkit-font-smoothing:antialiased;min-width:320px;margin:0;overflow-x:hidden}.app{height:100vh;flex-direction:column;height:100dvh;min-height:640px;display:flex}button,input,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}a{color:var(--link);text-decoration:none}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--button);outline-offset:2px}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.icon-sm{width:14px;height:14px}.icon-quiet{color:var(--text-3)}.icon-accent{color:var(--button)}.avatar{background:var(--a,var(--button));color:#fff;letter-spacing:0;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:14px;font-weight:600;display:inline-grid}.avatar-xs{width:22px;height:22px;font-size:11px}.avatar-sm{width:26px;height:26px;font-size:12px}.avatar-lg{width:56px;height:56px;font-size:24px}.avatars{display:inline-flex}.avatars .avatar+.avatar{box-shadow:0 0 0 2px var(--glass);margin-left:-7px}.hero{background:linear-gradient(180deg, var(--sky-top) 0%, var(--sky-horizon) 74%, var(--bg) 100%);min-height:0;color:var(--on-sky);padding-top:env(safe-area-inset-top);flex-direction:column;flex:auto;transition:color .4s;display:flex}.top{width:100%;max-width:980px;padding:8px max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));flex:none;justify-content:space-between;align-items:center;gap:8px;margin:0 auto;display:flex}.brand{letter-spacing:-.02em;font-size:21px;font-weight:700}.top-actions{align-items:center;gap:8px;min-width:0;display:flex}.saving{opacity:.75;white-space:nowrap;font-size:13px}.chip,.icon-btn.glass{background:var(--glass);-webkit-backdrop-filter:saturate(1.8)blur(20px);backdrop-filter:saturate(1.8)blur(20px);color:var(--on-sky)}.chip{white-space:nowrap;border:0;border-radius:980px;align-items:center;gap:6px;max-width:52vw;height:36px;padding:0 12px 0 6px;font-size:15px;font-weight:600;display:inline-flex;overflow:hidden}.icon-btn{background:var(--bg-alt);border:0;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid}.sky-box{flex:auto;width:100%;max-width:980px;min-height:150px;margin:0 auto;position:relative}.sky-stars{opacity:0;transition:opacity .6s;position:absolute;inset:0}.is-night .sky-stars{opacity:.9}.sky-arc{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.sky-arc path{fill:none;stroke:currentColor;stroke-opacity:.18;stroke-width:1.5px;stroke-dasharray:3 6}.orb{pointer-events:none;border-radius:50%;transition:left .2s linear,top .2s linear,opacity .4s;position:absolute;transform:translate(-50%,-50%)}.orb-sun{background:radial-gradient(circle,#ffe27a 0 44%,#ffd67859 52%,#ffd67800 72%);width:76px;height:76px}.orb-moon{filter:drop-shadow(0 0 12px #c8d7ffb3);width:30px;height:30px;box-shadow:inset -9px 4px #f6f1de}.house-stage{width:min(460px,86%);height:min(88%,330px);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.house-canvas{touch-action:pan-y;width:100%;height:100%;display:block}.now{text-align:center;flex:none;width:100%;max-width:640px;margin:0 auto;padding:4px 20px 18px}.now-time{opacity:.7;font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.now-title{letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap;margin:2px 0 4px;font-size:clamp(32px,9vw,44px);font-weight:700;line-height:1.1;overflow:hidden}.now-sub{opacity:.8;min-height:1.47em;font-size:15px}.now-rows{text-align:left;flex-direction:column;gap:6px;max-width:420px;margin:8px auto 0;display:flex}.now-row{background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;align-items:center;gap:10px;padding:10px 14px;display:flex}.now-row-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.now-row-text b{text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:600;overflow:hidden}.now-row-text small{opacity:.75;font-size:13px}.dot{background:var(--c);border-radius:50%;flex:none;width:10px;height:10px}.pill-back{background:var(--on-sky);height:34px;color:var(--sky-top);border:0;border-radius:980px;align-items:center;gap:6px;margin-top:10px;padding:0 14px;font-size:15px;font-weight:600;display:inline-flex}.pill-back .icon{width:16px;height:16px}.is-night .pill-back{color:#0f1640}.day{width:100%;max-width:980px;padding-bottom:calc(16px + env(safe-area-inset-bottom));flex:none;margin:0 auto}.strip-wrap{min-width:0;padding-top:12px;position:relative}.needle{background:var(--text);z-index:3;pointer-events:none;border-radius:2px;width:2px;margin-left:-1px;position:absolute;top:4px;bottom:24px}.needle:before{content:"";background:var(--text);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-4px}.lane-names{z-index:4;pointer-events:none;flex-direction:column;gap:62px;display:flex;position:absolute;top:20px;left:8px}.lane-names .avatar{box-shadow:0 0 0 2px var(--bg)}.strip{scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab;outline-offset:-2px;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 20px calc(100% - 20px),#0000);mask-image:linear-gradient(90deg,#0000,#000 20px calc(100% - 20px),#0000)}.strip::-webkit-scrollbar{display:none}.track{position:relative}.lane{height:96px;position:relative}.is-multi .lane{height:80px}.lane+.lane{margin-top:8px}.card{text-align:left;background:color-mix(in srgb, var(--c) 15%, var(--tile));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 22%, transparent);color:var(--text);border:0;border-radius:18px;flex-direction:column;justify-content:space-between;padding:10px 12px;transition:background .2s,opacity .2s,box-shadow .2s;display:flex;position:absolute;top:6px;bottom:6px;overflow:hidden}.card-top{color:var(--c);align-items:center;gap:6px;min-width:0;display:flex}.card-top .icon{width:18px;height:18px}.card-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.card-when{color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.card-top,.card-when{transform:translateX(var(--shift,0))}.card-small{align-items:center;padding:10px 0}.card-small .card-name,.card-small .card-when{display:none}.card.is-past{opacity:.45}.card.is-on{background:var(--c);box-shadow:0 8px 20px color-mix(in srgb, var(--c) 38%, transparent)}.card.is-on .card-top,.card.is-on .card-name,.card.is-on .card-when{color:#fff}.card-add{--c:var(--button);box-shadow:none;outline:2px dashed color-mix(in srgb, var(--text) 22%, transparent);outline-offset:-2px;background:0 0}.card-add .card-top .icon{background:var(--button);color:#fff;stroke-width:2.6px;border-radius:50%;width:22px;height:22px;padding:3px}.card-add .card-name{color:var(--button)}.card-add.card-small .card-top .icon{margin:auto}.card-add.is-on{background:color-mix(in srgb, var(--button) 7%, transparent);box-shadow:none;outline-color:color-mix(in srgb, var(--button) 55%, transparent)}.card-add.is-on .card-name{color:var(--button)}.card-add.is-on .card-when{color:var(--text-2)}.card-add.is-past{opacity:.35}.ruler{height:22px;margin-top:2px;position:relative}.ruler span{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:12px;position:absolute;transform:translate(-50%)}.mini{cursor:pointer;height:30px;margin:6px 16px 0;position:relative}.mini-bar{background:var(--bg-alt);border-radius:4px;height:8px;position:absolute;top:14px;left:0;right:0;overflow:hidden}.mini-bar i{opacity:.8;position:absolute;top:0;bottom:0}.mini-window{border:2px solid var(--text);border-radius:7px;height:18px;transition:left .15s linear;position:absolute;top:9px}.mini-mark{color:var(--text-3);position:absolute;top:-2px;transform:translate(-50%)}.mini-mark .icon{width:13px;height:13px}.days-row{padding:14px max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));gap:8px;display:flex}.days{flex:1;gap:4px;display:flex}.days button{background:var(--bg-alt);height:44px;color:var(--text-2);text-transform:uppercase;border:0;border-radius:12px;flex:1;font-size:15px;font-weight:600}.days button[aria-checked=true]{background:var(--text);color:var(--bg)}.days button.is-today{box-shadow:inset 0 -3px 0 var(--button)}.add-btn{background:var(--button);color:#fff;border:0;border-radius:980px;flex:none;place-items:center;width:56px;height:44px;display:grid}.add-btn .icon{stroke-width:2.4px;width:22px;height:22px}.hint{background:var(--hint-bg);color:var(--hint-text);border-radius:14px;margin:14px 16px 0;padding:12px 14px;font-size:14px;line-height:1.4}.local-note{text-align:center;color:var(--text-2);margin:16px;font-size:13px}.link{color:var(--link);font-size:inherit;background:0 0;border:0;padding:0}.sheet{background:var(--tile);width:100%;max-width:100%;max-height:88svh;color:var(--text);overscroll-behavior:contain;border:0;border-radius:22px 22px 0 0;margin:0;padding:0;inset:auto 0 0;overflow:auto}.sheet::backdrop{background:#00000052}.sheet[open]{animation:sheet-up .35s var(--ease)}@keyframes sheet-up{0%{opacity:0;transform:translateY(60px)}}.sheet-full{border-radius:0;height:100svh;max-height:100svh}.sheet-grab{background:var(--hair);border-radius:3px;width:36px;height:5px;margin:8px auto 0}.sheet-full .sheet-grab{display:none}.sheet-head{z-index:2;background:var(--tile);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px 8px 20px;display:flex;position:sticky;top:0}.sheet-head-bare{padding-top:max(10px, env(safe-area-inset-top))}.sheet-title{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:22px;font-weight:700;overflow:hidden}.sheet-body{padding:4px 20px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:18px;display:flex}@media (min-width:700px){.sheet,.sheet-full{border-radius:22px;width:480px;height:auto;max-height:86svh;margin:auto;inset:0}.sheet-full{min-height:620px}.sheet-grab{display:none}.sheet[open]{animation-name:sheet-in}@keyframes sheet-in{0%{opacity:0;transform:scale(.97)}}}.lead{color:var(--text-2)}.form{flex-direction:column;gap:16px;display:flex}.field{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.field-label{color:var(--text-2);font-size:13px;font-weight:600}.field small{color:var(--text-3);font-size:13px;line-height:1.35}input:not([type=checkbox]):not([type=color]){background:var(--bg-alt);appearance:none;border:0;border-radius:12px;width:100%;min-height:48px;padding:0 14px;font-size:17px}input[type=time],input[type=date]{font-variant-numeric:tabular-nums}.two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg button{background:var(--bg-alt);border:0;border-radius:980px;align-items:center;gap:6px;height:36px;padding:0 14px;font-size:15px;display:inline-flex}.seg button[aria-checked=true]{background:var(--text);color:var(--bg)}.week{gap:6px;margin-top:10px;display:flex}.week button{background:var(--bg-alt);width:38px;height:38px;color:var(--text-2);text-transform:uppercase;border:0;border-radius:50%;font-size:13px;font-weight:600}.week button[aria-pressed=true]{background:var(--text);color:var(--bg)}.types{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:6px;display:grid}.types button{background:var(--bg-alt);border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;height:62px;font-size:13px;font-weight:600;display:flex}.types .icon{color:var(--c)}.types button[aria-checked=true]{background:color-mix(in srgb, var(--c) 16%, var(--tile));box-shadow:inset 0 0 0 2px var(--c)}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatch{border:3px solid var(--tile);background:var(--s);width:34px;height:34px;box-shadow:0 0 0 1px var(--hair);border-radius:50%;padding:0}.swatch[aria-checked=true]{box-shadow:0 0 0 3px var(--button)}.actions{gap:10px;display:flex}.actions .btn{flex:1}.actions .btn-danger{flex:none}.form-error{color:var(--danger);font-size:14px;font-weight:600}.stack{flex-direction:column;gap:8px;display:flex}.btn{background:var(--bg-alt);min-height:46px;color:var(--text);transition:transform .15s var(--ease), opacity .2s;border:0;border-radius:980px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:17px;font-weight:600;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5}.btn-primary{background:var(--button);color:#fff}.btn-danger{color:var(--danger)}.btn-quiet{color:var(--link);background:0 0}.btn-big{width:100%;min-height:52px}.btn-sm{min-height:32px;padding:0 12px;font-size:15px}.btn-social{background:var(--tile);width:100%;min-height:50px;box-shadow:inset 0 0 0 1px var(--hair)}.btn-apple{color:#fff;box-shadow:none;background:#000}@media (prefers-color-scheme:dark){.btn-apple{color:#000;background:#fff}}.social{flex-direction:column;gap:8px;display:flex}.or{color:var(--text-3);align-items:center;gap:12px;font-size:13px;display:flex}.or:before,.or:after{content:"";background:var(--hair);flex:1;height:1px}.quick{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.quick-item{background:var(--bg-alt);border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:88px;padding:0 6px;font-size:14px;font-weight:600;line-height:1.2;display:flex}.quick-icon{background:color-mix(in srgb, var(--c) 16%, transparent);width:38px;height:38px;color:var(--c);border-radius:50%;place-items:center;display:grid}.group{flex-direction:column;gap:10px;display:flex}.group-title{color:var(--text-2);text-transform:uppercase;letter-spacing:.02em;margin:6px 0 0 4px;font-size:13px;font-weight:600}.group-lead{color:var(--text-2);font-size:15px;line-height:1.4}.list{background:var(--bg-alt);border-radius:14px;overflow:hidden}.list-row{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 14px;font-size:17px;display:flex}.list-row+.list-row{border-top:1px solid color-mix(in srgb, var(--hair) 60%, transparent)}.list-text{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.list-text small{color:var(--text-2);font-size:13px}.list-row-action{color:var(--link)}.code-card{background:var(--bg-alt);text-align:center;color:var(--text-2);border-radius:16px;flex-direction:column;gap:6px;padding:16px;font-size:15px;display:flex}.code-card b{color:var(--text)}.code{letter-spacing:.1em;color:var(--text);font-variant-numeric:tabular-nums;font-size:36px;font-weight:700}.screens-box,.invite-box{flex-direction:column;gap:10px;display:flex}.screens-box:empty,.invite-box:empty{display:none}.row-buttons{gap:8px;display:flex}.row-buttons .btn{flex:1}.danger summary{color:var(--danger);cursor:pointer;padding:6px 4px;font-weight:600}.danger>*+*{margin-top:12px}.links{flex-wrap:wrap;justify-content:center;gap:16px;padding-top:8px;font-size:13px;display:flex}.links a{color:var(--text-2)}.onb{min-height:calc(100svh - 70px - env(safe-area-inset-bottom));flex-direction:column;gap:22px;display:flex}@media (min-width:700px){.onb{min-height:540px}}.onb-steps{gap:6px;display:flex}.onb-steps span{background:var(--hair);border-radius:2px;flex:1;height:4px}.onb-steps .is-on{background:var(--button)}.onb-body{flex-direction:column;gap:16px;display:flex}.onb-intro{color:var(--text-2);font-size:15px}.onb-title{letter-spacing:-.03em;font-size:30px;font-weight:700;line-height:1.12}input.big-input:not([type=checkbox]):not([type=color]){border-radius:14px;min-height:60px;font-size:22px}.options{flex-direction:column;gap:8px;display:flex}.option{background:var(--bg-alt);text-align:left;border:2px solid #0000;border-radius:14px;min-height:58px;padding:0 18px;font-size:17px}.option[aria-checked=true]{border-color:var(--button);background:color-mix(in srgb, var(--button) 10%, var(--tile));font-weight:600}.onb-actions{flex-direction:column;gap:6px;margin-top:auto;display:flex}.school-times[hidden]{display:none}.chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.chip{background:var(--bg-alt);border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-width:0;height:44px;padding:0 8px;font-size:14px;font-weight:600;display:flex}.chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chip .icon{width:17px;height:17px;color:var(--c)}.chip[aria-pressed=true]{background:color-mix(in srgb, var(--c) 14%, var(--tile));box-shadow:inset 0 0 0 2px var(--c)}.chip-other,.chip-other .icon{color:var(--link)}.extras{flex-direction:column;gap:8px;display:flex}.extra{background:var(--bg-alt);box-shadow:inset 4px 0 0 var(--c);border-radius:16px;flex-direction:column;gap:10px;padding:10px 12px 12px;display:flex}.extra-head{align-items:center;gap:8px;min-width:0;display:flex}.extra-head>.icon{width:18px;height:18px;color:var(--c)}.extra-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:16px;font-weight:600;overflow:hidden}input.extra-name:not([type=checkbox]){background:var(--tile);border-radius:9px;flex:1;min-width:0;min-height:34px;padding:0 10px;font-size:16px;font-weight:600}.extra-time{flex:none;gap:4px;display:flex}.extra-time input:not([type=checkbox]){background:var(--tile);text-align:center;border-radius:9px;width:66px;min-height:34px;padding:0 4px;font-size:15px;font-weight:600}.extra-time input::-webkit-calendar-picker-indicator{display:none}.extra-x{background:color-mix(in srgb, var(--text) 7%, transparent);width:28px;height:28px;color:var(--text-3);border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.extra-x .icon{width:13px;height:13px}.extra .week{justify-content:space-between;margin:0}.extra .week button{background:var(--tile);width:34px;height:34px}.extra .week button[aria-pressed=true]{background:var(--text);color:var(--bg)}.templates{flex-direction:column;gap:8px;display:flex}.template{background:var(--bg-alt);text-align:left;border:2px solid #0000;border-radius:16px;flex-direction:column;gap:2px;width:100%;padding:10px 12px 8px;display:flex}.template[aria-checked=true]{border-color:var(--button);background:color-mix(in srgb, var(--button) 8%, var(--tile))}.template-head{align-items:center;gap:8px;display:flex}.template-radio{width:20px;height:20px;box-shadow:inset 0 0 0 2px var(--hair);border-radius:50%;flex:none}.template[aria-checked=true] .template-radio{box-shadow:inset 0 0 0 6px var(--button)}.template-name{flex:1;min-width:0;font-size:16px;font-weight:600}.badge{background:var(--button);color:#fff;border-radius:980px;flex:none;padding:2px 8px;font-size:11px;font-weight:600}.template-desc{color:var(--text-2);margin:0 0 6px 28px;font-size:13px;line-height:1.3}.pv{display:block}.pv-row{align-items:center;gap:6px;display:flex}.pv-row+.pv-row{margin-top:3px}.pv-label{text-overflow:ellipsis;white-space:nowrap;width:74px;color:var(--text-2);flex:none;font-size:10px;font-weight:600;overflow:hidden}.pv-lane{background:color-mix(in srgb, var(--text) 5%, transparent);border-radius:7px;flex:1;height:20px;position:relative}.pv-block{background:var(--c);color:#fff;box-shadow:-1.5px 0 0 var(--bg-alt);border-radius:6px;justify-content:center;align-items:center;gap:3px;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.template[aria-checked=true] .pv-block{box-shadow:-1.5px 0 0 color-mix(in srgb, var(--button) 8%, var(--tile))}.pv-block .icon{stroke-width:2.4px;width:11px;height:11px}.pv-name{white-space:nowrap;font-size:11px;font-weight:600}.pv-ticks{height:14px;color:var(--text-3);font-variant-numeric:tabular-nums;margin-top:2px;font-size:10px;display:block;position:relative}.pv.is-labeled .pv-ticks{margin-left:80px}.pv-ticks span{position:absolute;transform:translate(-50%)}.pv-ticks span:first-child{transform:none}.pv-ticks span:last-child{transform:translate(-100%)}.source-note{color:var(--text-3);margin:0;font-size:13px;line-height:1.4}.hint a,.source-note a,.sleep-rec a{color:inherit;text-underline-offset:2px;white-space:nowrap;font-weight:600;text-decoration:underline}.field-focus input:not([type=checkbox]){box-shadow:inset 0 0 0 2px var(--button)}.sleep-pick{flex-direction:column;gap:14px;display:flex}.sleep-hours{justify-content:center;align-items:center;gap:22px;display:flex}.round-btn{background:var(--bg-alt);width:52px;height:52px;color:var(--text);border:0;border-radius:50%;place-items:center;padding:0;font-size:28px;line-height:1;display:grid}.round-btn:active{transform:scale(.94)}.sleep-total{flex-direction:column;align-items:center;min-width:120px;margin:0;display:flex}.sleep-total output{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:44px;font-weight:700;line-height:1.05}.sleep-total small{color:var(--text-2);font-size:14px}.sleep-rec{background:var(--bg-alt);color:var(--text-2);border-radius:14px;margin:0;padding:10px 14px;font-size:14px;line-height:1.4}.sleep-rec[data-state=ok]{background:color-mix(in srgb, #2fb36e 12%, var(--tile));color:color-mix(in srgb, #2fb36e 65%, var(--text))}.sleep-rec[data-state=warn]{background:var(--hint-bg);color:var(--hint-text)}.sleep-rec .icon{vertical-align:-3px;width:16px;height:16px;margin-right:4px}.sleep-times{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sleep-times p{background:var(--bg-alt);border-radius:14px;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;margin:0;padding:10px 14px;display:grid}.sleep-times .icon{color:#8b7cf6;grid-row:span 2;width:22px;height:22px}.sleep-times p+p .icon{color:#e7a814}.sleep-times small{color:var(--text-2);font-size:13px;line-height:1.2}.sleep-times b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:600;line-height:1.2}.sleep-track{cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;border-radius:16px;height:64px;position:relative}.sleep-block{cursor:grab;transition:left .15s var(--ease), width .2s var(--ease);background:#8b7cf6;border-radius:12px;place-items:center;display:grid;position:absolute;top:6px;bottom:6px;box-shadow:0 2px 10px #0000004d,inset 0 0 0 2px #ffffffd9}.sleep-track.is-dragging .sleep-block{cursor:grabbing;transition:none;box-shadow:0 4px 18px #00000059,inset 0 0 0 3px #fff}.sleep-block:focus-visible{outline:3px solid var(--button);outline-offset:2px}.sleep-grip{background:linear-gradient(90deg,#ffffffe6 2px,#0000 2px) 0 0/6px 100% repeat-x;width:14px;height:18px}.sleep-ticks{height:16px;color:var(--text-3);font-variant-numeric:tabular-nums;margin-top:-8px;font-size:12px;position:relative}.sleep-ticks span{position:absolute;transform:translate(-50%)}.sleep-ticks span:first-child{transform:none}.sleep-ticks span:last-child{transform:translate(-100%)}.sleep-tip{color:var(--text-3);text-align:center;margin:-4px 0 0;font-size:13px}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:10;text-align:center;background:var(--text);width:max-content;max-width:min(360px,100vw - 32px);color:var(--bg);opacity:0;pointer-events:none;transition:opacity .25s, transform .35s var(--ease);border-radius:16px;padding:12px 18px;font-size:15px;font-weight:600;position:fixed;transform:translate(-50%,20px);box-shadow:0 8px 30px #0003}.toast.is-on{opacity:1;transform:translate(-50%)}.is-display body{overflow:hidden}.tv{height:100vh;background:linear-gradient(180deg, var(--sky-top) 0%, var(--sky-horizon) 72%, var(--bg) 100%);height:100dvh;min-height:480px;color:var(--on-sky);grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);display:grid}.tv-top{grid-template-columns:1.15fr 1fr;align-items:center;gap:24px;min-height:0;padding:clamp(16px,3vw,40px);display:grid;position:relative}.tv-sky{height:100%;min-height:220px;position:relative}.tv-sky .house-stage{width:92%;height:82%}.tv-day{opacity:.7;font-size:clamp(15px,1.6vw,24px);font-weight:600}.tv-day:first-letter{text-transform:uppercase}.tv-clock{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(56px,9vw,140px);font-weight:700;line-height:1}.tv-rows{flex-direction:column;gap:12px;margin-top:clamp(12px,2vw,24px);display:flex}.tv-row{background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;align-items:center;gap:16px;padding:clamp(10px,1.4vw,18px) clamp(14px,1.8vw,24px);display:flex}.tv-row-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.tv-row-text small{opacity:.75;font-size:clamp(14px,1.5vw,22px)}.tv-row-text b{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.3em;font-size:clamp(24px,3vw,46px);font-weight:700;display:flex;overflow:hidden}.tv-icon{color:var(--c);display:inline-grid}.tv-icon .icon{width:1em;height:1em}.tv-next{opacity:.75;font-size:clamp(14px,1.4vw,20px)}.tv-full{width:44px;height:44px;position:absolute;top:16px;right:16px}.tv-offline{background:var(--text);color:var(--bg);border-radius:980px;padding:6px 14px;font-size:14px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.tv-strip{background:var(--bg);min-width:0;padding:4px 0 clamp(12px,2vw,24px)}.tv .lane{height:clamp(96px,15vh,170px)}.tv .is-multi .lane{height:clamp(84px,12vh,140px)}.tv .card{border-radius:22px;padding:clamp(10px,1.4vw,18px) clamp(12px,1.6vw,20px)}.tv .card-name{font-size:clamp(16px,2vw,30px)}.tv .card-when{font-size:clamp(12px,1.3vw,18px)}.tv .card-top .icon{width:1.3em;height:1.3em}.tv .lane-names{gap:calc(clamp(84px,12vh,140px) - 18px)}.tv .ruler span{font-size:clamp(12px,1.2vw,16px)}@media (orientation:portrait){.tv-top{grid-template-rows:minmax(200px,1fr) auto;grid-template-columns:1fr}}.enter{background:linear-gradient(180deg, var(--sky-top), var(--sky-horizon) 70%, var(--bg));place-items:center;min-height:100svh;padding:24px 16px;display:grid}.enter-card{background:var(--tile);text-align:center;border-radius:28px;flex-direction:column;gap:14px;width:min(460px,100%);padding:32px 24px;display:flex;box-shadow:0 20px 60px #0000001f}.enter-card h1{letter-spacing:-.03em;font-size:30px}.enter-icon{color:var(--button)}.enter-icon .icon{width:40px;height:40px}input.code-input:not([type=checkbox]):not([type=color]){text-align:center;letter-spacing:.12em;text-transform:uppercase;min-height:72px;font-size:34px;font-weight:600}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
