@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2) format("woff2-variations");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:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2) format("woff2-variations");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,:root[data-theme=light]{color-scheme:light;--accent: #f07a35;--accent-text: #ffffff;--bg: #f6f1ec;--surface: #ffffff;--surface-2: #f1ebe5;--border: #ebe2da;--text: #2a211d;--muted: #8b7f77;--strong: #3d2a21;--strong-text: #ffffff;--ink: #2b211d;--danger: #d23f3a;--cell-empty: #ece4dd;--hatch: rgb(120 100 90 / .14);--shadow: 0 1px 2px rgb(60 40 30 / .04), 0 6px 20px rgb(60 40 30 / .05);--accent-deep: color-mix(in srgb, var(--accent) 72%, #000);--accent-soft: color-mix(in srgb, var(--accent) 30%, var(--surface));--accent-wash: color-mix(in srgb, var(--accent) 14%, var(--bg))}:root[data-theme=dark]{color-scheme:dark;--bg: #16120f;--surface: #221c18;--surface-2: #2c2420;--border: #382e29;--text: #f5ede7;--muted: #a89c94;--strong: #f5ede7;--strong-text: #1d1714;--danger: #ff6b62;--cell-empty: #2e2622;--hatch: rgb(255 240 230 / .07);--shadow: none;--accent-deep: color-mix(in srgb, var(--accent) 80%, #000);--accent-soft: color-mix(in srgb, var(--accent) 34%, var(--surface));--accent-wash: color-mix(in srgb, var(--accent) 12%, var(--bg))}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 Outfit Variable,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;min-height:100dvh}body.has-sheet{overflow:hidden}h1,h2{margin:0;line-height:1.15;font-weight:500;letter-spacing:-.01em}h1{font-size:2rem}h2{font-size:1.3rem}p{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.error{color:var(--danger)}.info{color:var(--accent-deep)}code{font-size:.9em;background:var(--surface-2);padding:.1em .35em;border-radius:6px}.splash{min-height:100dvh}.art{display:block;flex:none}input:focus-visible,select:focus-visible,button:focus-visible,.pill-select:focus-within{outline:2px solid var(--accent);outline-offset:2px}.btn-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:56px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-text);font-size:1.05rem;font-weight:600;box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 30%,transparent)}.btn-pill:disabled{opacity:.5;box-shadow:none}.btn-dark{border:0;border-radius:999px;padding:9px 20px;background:var(--strong);color:var(--strong-text);font-weight:500}.btn{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:8px 16px;font-weight:500;white-space:nowrap}.btn.small{padding:6px 14px;font-size:.9rem}.btn:disabled,.icon-btn:disabled{opacity:.4}.link-btn{border:0;background:none;padding:6px 2px;color:var(--accent-deep);font-weight:500}:root[data-theme=dark] .link-btn{color:var(--accent)}.link-btn.danger{color:var(--danger)}.icon-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--surface);display:inline-grid;place-items:center;flex:none;padding:0}.round-btn{width:52px;height:52px;border-radius:50%;border:0;background:var(--surface);box-shadow:var(--shadow);display:inline-grid;place-items:center;flex:none}:root[data-theme=dark] .round-btn{background:var(--surface-2)}.home{max-width:640px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 28px) max(20px,env(safe-area-inset-right)) calc(110px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:22px}.home-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.home-head h1{font-size:clamp(1.9rem,7vw,2.4rem)}.date-line{margin-top:8px;font-size:.95rem}.head-actions{display:flex;gap:10px;align-items:center}.avatar{width:56px;height:56px;border-radius:50%;border:3px solid var(--surface);background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--accent) 55%,#fff),var(--accent));color:var(--accent-text);font-size:1.4rem;font-weight:600;box-shadow:var(--shadow)}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.week-day{border:0;background:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:12px}.week-name{font-size:.9rem;color:var(--muted)}.week-day.is-today .week-name{color:var(--text);font-weight:600}.week-num{width:100%;max-width:50px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--surface);font-size:1.05rem;box-shadow:var(--shadow);transition:background .15s}.week-day.is-on .week-num{background:var(--strong);color:var(--strong-text)}.promo{position:relative;display:flex;align-items:center;gap:8px;padding:22px 20px;border-radius:26px;background:var(--accent-soft);overflow:hidden}.promo-text{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.promo h2{font-size:1.35rem}.promo p{font-size:.92rem;color:color-mix(in srgb,var(--text) 78%,transparent);max-width:28ch;margin-bottom:6px}.promo-x{position:absolute;top:10px;right:10px;border:0;background:none;padding:4px;color:var(--text);opacity:.45}.list-head{display:flex;align-items:baseline;justify-content:space-between}.list-head .count{margin-left:10px;font-size:.95rem;color:var(--muted);font-variant-numeric:tabular-nums}.routine-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;position:relative}.routine-list:before{content:"";position:absolute;left:12px;top:30px;bottom:30px;border-left:2px dotted color-mix(in srgb,var(--muted) 50%,transparent)}.routine{display:flex;align-items:flex-start;gap:12px}.check{position:relative;z-index:1;flex:none;width:26px;height:26px;margin-top:25px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;color:var(--accent-text);background:radial-gradient(closest-side,var(--bg) 72%,transparent 74%),conic-gradient(var(--accent) var(--p, 0deg),color-mix(in srgb,var(--muted) 45%,transparent) 0)}.routine.is-done .check{background:var(--accent)}.routine-card{flex:1;min-width:0;background:var(--surface);border-radius:20px;box-shadow:var(--shadow)}.routine.is-off .routine-card{opacity:.6}.routine-head{display:flex;align-items:center}.routine-head .routine-main{flex:1;min-width:0;padding-right:10px}.quick-log{flex:none;width:40px;height:40px;margin-right:14px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-deep);transition:transform .12s ease,background-color .2s ease}:root[data-theme=dark] .quick-log{color:color-mix(in srgb,var(--accent) 70%,#fff)}.quick-log:active:not(:disabled){transform:scale(.88)}.quick-log.is-done,:root[data-theme=dark] .quick-log.is-done{background:var(--accent);color:var(--accent-text)}.quick-log:disabled:not(.is-done){opacity:.4}.routine-main{width:100%;display:flex;align-items:center;gap:14px;padding:14px 16px;background:none;border:0;text-align:left}.tile{width:46px;height:46px;border-radius:14px;flex:none;display:grid;place-items:center;font-size:1.2rem;font-weight:600;color:var(--habit);background:color-mix(in srgb,var(--habit) 20%,var(--surface))}:root[data-theme=dark] .tile{color:color-mix(in srgb,var(--habit) 70%,#fff);background:color-mix(in srgb,var(--habit) 30%,var(--surface))}.routine-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.routine-name{font-size:1.05rem;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.routine.is-done .routine-card{opacity:.55;filter:grayscale(1);box-shadow:none;transition:opacity .2s,filter .2s}.routine.is-done .routine-name{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--text) 35%,transparent)}.routine-name.is-locked{color:var(--muted);font-style:italic}.routine-meta{font-size:.85rem;color:var(--muted)}.routine-side{flex:none;min-width:58px;padding-left:14px;border-left:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--text);font-variant-numeric:tabular-nums}.routine-side small{font-size:.78rem;color:var(--muted)}.routine-detail{padding:14px 16px 16px;display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--border)}.fab{position:fixed;right:max(20px,calc(50vw - 300px));bottom:calc(24px + env(safe-area-inset-bottom));z-index:10;width:64px;height:64px;border-radius:50%;border:0;display:grid;place-items:center;background:var(--strong);color:var(--strong-text);box-shadow:0 10px 24px #28190f4d}.panel{background:var(--surface);border-radius:24px;padding:18px;box-shadow:var(--shadow);min-width:0}.overview{display:flex;flex-direction:column;gap:12px}.overview h2{font-size:1.15rem}.empty{text-align:center;padding:36px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--surface);border-radius:24px}.empty .btn-pill{max-width:300px}.detail-head,.detail-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.year-nav{display:flex;align-items:center;gap:8px}.day-editor{display:flex;align-items:center;gap:6px;font-size:.9rem}.day-editor .icon-btn{width:30px;height:30px}.day-count{min-width:1.5em;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}.heatmap,.heatmap-legend{--cell: 11px;--gap: 3px}.heatmap{overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}.heatmap-inner{display:flex;gap:var(--gap);width:max-content}.heatmap-week,.heatmap-days{display:grid;grid-template-rows:14px repeat(7,var(--cell));gap:var(--gap)}.heatmap-days{font-size:9px;color:var(--muted);padding-right:2px;position:sticky;left:0;background:var(--surface);box-shadow:3px 0 0 var(--surface);z-index:1}.heatmap-days span{line-height:var(--cell)}.heatmap-month{font-size:10px;color:var(--muted);white-space:nowrap;width:var(--cell);overflow:visible}.heatmap-cell{width:var(--cell);height:var(--cell);border-radius:3px;border:0;padding:0;background:color-mix(in srgb,var(--habit) var(--mix, 0%),var(--cell-empty))}button.heatmap-cell:not(:disabled){cursor:pointer}.heatmap-cell.is-blank{background:transparent}.heatmap-cell.is-future{opacity:.45}.heatmap-cell[data-today]{outline:1.5px solid var(--text);outline-offset:-1.5px}.heatmap-cell.is-selected{outline:2px solid var(--text);outline-offset:0}.heatmap-legend{display:flex;align-items:center;gap:3px;font-size:.75rem;color:var(--muted)}.heatmap-legend .heatmap-cell{display:inline-block}.heatmap-legend .heatmap-cell:first-of-type{margin-left:4px}.heatmap-legend .heatmap-cell:last-of-type{margin-right:4px}.sheet{border:0;padding:0;margin:auto;background:var(--bg);color:var(--text);width:min(520px,calc(100vw - 32px));max-width:none;max-height:min(900px,calc(100dvh - 32px));border-radius:32px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px #00000040}.sheet:not([open]){display:none}.sheet::backdrop{background:#1e140f73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet-body{flex:1;overflow-y:auto;padding:28px 24px 24px;display:flex;flex-direction:column;gap:22px}.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.sheet-head h1{font-size:clamp(1.9rem,8vw,2.3rem);padding-top:6px}.sheet-foot{padding:12px 24px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:8px}@media(max-width:600px){.sheet{width:100vw;height:100dvh;max-height:none;margin:0;border-radius:0;box-shadow:none}.sheet-body{padding-top:calc(env(safe-area-inset-top) + 24px)}}.field{display:flex;flex-direction:column;gap:10px}.field>span,.field-row>span{font-size:1rem;color:color-mix(in srgb,var(--text) 75%,transparent)}.field-row{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer}.hint{color:var(--muted);font-size:.85rem}.pill-input,.pill-select{width:100%;min-height:56px;border:1px solid transparent;border-radius:18px;background:var(--surface);padding:0 20px;font-size:16px;box-shadow:var(--shadow)}:root[data-theme=dark] .pill-input,:root[data-theme=dark] .pill-select{background:var(--surface);border-color:var(--border)}.pill-input::placeholder{color:var(--muted)}.pill-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pill-select{position:relative;display:flex;align-items:center;padding:0}.pill-select select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;height:100%;min-height:54px;border:0;background:none;padding:0 44px 0 20px;font-size:16px;outline:none}.pill-select svg{position:absolute;right:16px;pointer-events:none;color:var(--muted)}.inline-form{display:flex;gap:10px;align-items:center}.inline-form .pill-input{flex:1}.account{flex:1;overflow:hidden;text-overflow:ellipsis}.box{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:26px;height:26px;margin:0;border-radius:8px;border:1.5px solid color-mix(in srgb,var(--muted) 80%,transparent);background:var(--surface);display:grid;place-items:center;cursor:pointer;flex:none}.box:checked{background:var(--accent);border-color:var(--accent)}.box:checked:after{content:"";width:6px;height:11px;border:solid var(--accent-text);border-width:0 2.5px 2.5px 0;transform:translateY(-1px) rotate(45deg)}.switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:60px;height:34px;margin:0;border-radius:999px;background:color-mix(in srgb,var(--muted) 35%,transparent);position:relative;cursor:pointer;flex:none;transition:background .2s}.switch:after{content:"";position:absolute;top:4px;left:4px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(26px)}.day-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.day-dot{aspect-ratio:1;max-width:52px;width:100%;justify-self:center;border:0;border-radius:50%;background:var(--surface);box-shadow:var(--shadow);font-size:1rem;font-weight:500}.day-dot.is-on{background:var(--strong);color:var(--strong-text)}.swatches{display:flex;gap:8px;flex-wrap:wrap}.swatch{width:34px;height:34px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;color:#fff;position:relative}.swatch.is-on{box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--text)}.swatch.custom{background:conic-gradient(#f07a35,#e5c73b,#5e9e2f,#14a3a3,#3b7ff0,#8b6cf0,#d9579b,#f07a35);cursor:pointer;font-weight:700;font-size:1.1rem;text-shadow:0 1px 2px rgb(0 0 0 / .4)}.swatch.custom input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer;border:0;padding:0}.times{display:flex;flex-wrap:wrap;gap:8px}.time-chip{display:flex;align-items:center;gap:2px;background:var(--surface);border-radius:999px;padding:4px 6px 4px 14px;box-shadow:var(--shadow)}.time-chip input{border:0;background:none;font-size:16px;min-height:36px}.chip-x{border:0;background:var(--surface-2);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;padding:0}.time-add{border:1.5px dashed color-mix(in srgb,var(--muted) 60%,transparent);background:none;border-radius:999px;padding:0 16px;min-height:44px;color:var(--muted)}.editor{display:flex;flex-direction:column;gap:24px}.editor-art{display:grid;place-items:center;margin:-6px 0 -4px}.segmented{display:inline-flex;background:var(--surface-2);border-radius:999px;padding:4px;align-self:flex-start}.segmented button{border:0;background:transparent;padding:8px 16px;border-radius:999px;text-transform:capitalize;color:var(--muted)}.segmented button.is-on{background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:500}:root[data-theme=dark] .segmented button.is-on{background:var(--border)}.segmented.range{align-self:stretch;display:grid;grid-template-columns:repeat(3,1fr)}.bars{display:flex;justify-content:space-between;gap:12px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.bar{flex:1 0 70px;max-width:84px;display:flex;flex-direction:column;align-items:center;gap:14px}.bar-track{width:100%;height:300px;border-radius:999px;display:flex;align-items:flex-end;background:repeating-linear-gradient(-45deg,var(--hatch) 0 2px,transparent 2px 9px);overflow:hidden}.bar-fill{width:100%;height:max(calc(var(--h) * 100%),70px);border-radius:999px;background:var(--habit);display:flex;align-items:flex-end;justify-content:center;padding-bottom:26px;color:#fff;font-weight:600;font-size:1rem;transition:height .4s ease}.bar-name{max-width:100%;font-size:.9rem;line-height:1.2;text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.stats-card{background:var(--surface);border-radius:28px;padding:22px 20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:22px}.stats-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.stats-head h2{font-size:1.3rem;margin-bottom:4px}.stats-head .muted{font-size:.9rem}.big-stat{font-size:1.5rem;white-space:nowrap}.big-stat strong{color:var(--accent-deep);font-weight:600}:root[data-theme=dark] .big-stat strong{color:var(--accent)}.stats-row{margin:0;display:grid;grid-template-columns:repeat(3,1fr)}.stats-row>div{text-align:center;padding:0 6px}.stats-row>div+div{border-left:1px solid var(--border)}.stats-row dt{font-size:.8rem;color:var(--muted);margin-bottom:6px}.stats-row dd{margin:0;font-size:1.3rem;white-space:nowrap}.auth{min-height:100dvh;display:grid;place-items:center;padding:24px 20px;background:radial-gradient(120% 60% at 50% 0%,var(--accent-wash),var(--bg) 70%)}.auth-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:16px}.auth-card h1{margin-top:8px}.app-mark{border-radius:22%;box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 35%,transparent)}.key-form{display:flex;flex-direction:column;gap:16px}.warning{font-size:.9rem;padding:12px 14px;border-radius:16px;background:var(--accent-soft)}.banner{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;border-radius:16px;background:color-mix(in srgb,var(--danger) 10%,var(--surface))}.toast{position:fixed;left:16px;right:16px;bottom:calc(100px + env(safe-area-inset-bottom));margin:0 auto;max-width:480px;background:var(--strong);color:var(--strong-text);padding:12px 16px;border-radius:16px;z-index:20;font-size:.9rem}.undo-toast{display:flex;align-items:center;gap:12px;padding:8px 8px 8px 16px;animation:undo-in .18s ease-out}.undo-msg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.undo-btn{flex:none;border:0;border-radius:12px;padding:8px 14px;font:inherit;font-weight:600;background:color-mix(in srgb,var(--strong-text) 14%,transparent);color:var(--strong-text)}@keyframes undo-in{0%{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){.undo-toast{animation:none}}@media(min-width:860px){.fab{right:calc(50vw - 416px);bottom:40px}}@media(max-width:380px){.routine-side{min-width:48px;padding-left:10px}.promo .art{width:84px}}.install-guide{border:0;padding:0;background:transparent;color:var(--text);width:min(420px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);margin:auto auto calc(12px + env(safe-area-inset-bottom));overflow:visible}.install-guide:focus{outline:none}.install-guide:not([open]){display:none}.install-guide[open]{animation:install-rise .42s cubic-bezier(.2,.9,.3,1.15) both}.install-guide::backdrop{background:#1e140f73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:install-fade .3s ease both}.install-card{background:var(--bg);border-radius:30px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 30px 80px #00000047;max-height:calc(100dvh - 80px);overflow-y:auto}.install-card>*{flex:none}.install-head{display:flex;gap:12px;align-items:flex-start}.install-head h2{font-size:1.2rem;font-weight:600}.install-head p{margin:4px 0 0;font-size:.9rem;line-height:1.35}.install-mark{flex:none;display:block;animation:install-wiggle 3.2s ease-in-out .6s infinite}.round-btn.small{width:36px;height:36px}.install-stage{display:grid;place-items:center;padding:14px 0 0;border-radius:22px;background:var(--accent-wash);overflow:hidden}.install-phone{width:210px;height:158px;border:6px solid var(--ink);border-bottom:0;border-radius:30px 30px 0 0;background:var(--surface);overflow:hidden;position:relative;animation:install-slide .36s ease both}:root[data-theme=dark] .install-phone{border-color:#4a3e37}.demo{position:absolute;top:0;right:0;bottom:0;left:0;font-size:10px;color:var(--text)}.tap{position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:color-mix(in srgb,var(--accent) 45%,transparent);border:2px solid var(--accent);pointer-events:none;opacity:0}.demo-page{padding:14px 16px;display:flex;flex-direction:column;gap:6px}.demo-line,.demo-block{display:block;height:7px;border-radius:4px;background:var(--surface-2)}.demo-block{height:26px;border-radius:8px;background:var(--accent-soft)}.w70{width:70%}.w60{width:60%}.w50{width:50%}.demo-url{position:absolute;left:14px;right:14px;bottom:46px;height:26px;border-radius:13px;background:var(--surface-2);display:grid;place-items:center;color:var(--muted)}.demo-bar{position:absolute;left:0;right:0;bottom:0;height:40px;display:flex;justify-content:space-around;align-items:center;color:#2f7bf6;font-size:20px;line-height:1}.demo-ico{position:relative;width:22px;height:22px;display:grid;place-items:center}.demo-ico.book:before{content:"";width:15px;height:12px;border:2px solid currentColor;border-radius:2px}.demo-ico.tabs:before{content:"";width:13px;height:13px;border:2px solid currentColor;border-radius:3px;box-shadow:3px -3px 0 -1px var(--surface),3px -3px 0 1px currentColor}.demo-toolbar .demo-target{animation:install-press 2.4s ease-in-out infinite}.demo-toolbar .tap{animation:install-tap 2.4s ease-out infinite}.demo-share{background:#00000040}.demo-sheet{position:absolute;left:0;right:0;top:22px;bottom:0;background:var(--surface-2);border-radius:16px 16px 0 0;padding:6px 10px 0;overflow:hidden;animation:install-sheet-up 3.6s cubic-bezier(.3,.9,.3,1) infinite}.demo-grabber{display:block;width:30px;height:4px;border-radius:2px;background:var(--border);margin:0 auto 8px}.demo-apps{display:flex;gap:10px;margin-bottom:8px}.demo-apps span{width:30px;height:30px;border-radius:8px;background:var(--surface)}.demo-rows{display:flex;flex-direction:column;gap:4px;animation:install-scroll 3.6s ease-in-out infinite}.demo-row{position:relative;background:var(--surface);border-radius:8px;padding:7px 10px;display:flex;justify-content:space-between;align-items:center}.demo-row-ico{display:grid;place-items:center;width:16px;height:16px;border:1.5px solid currentColor;border-radius:4px}.demo-share .demo-target{animation:install-highlight 3.6s ease-in-out infinite}.demo-share .tap{left:40%;animation:install-tap-late 3.6s ease-out infinite}.demo-add{background:var(--surface-2);padding:10px;display:flex;flex-direction:column;gap:8px}.demo-add-bar{display:flex;justify-content:space-between;align-items:center;color:#2f7bf6}.demo-add-bar b{color:var(--text);font-weight:600}.demo-add-btn{position:relative;font-weight:700;padding:3px 6px;border-radius:6px;animation:install-press 2.4s ease-in-out infinite}.demo-add .tap{animation:install-tap 2.4s ease-out infinite}.demo-add-card{background:var(--surface);border-radius:10px;padding:8px;display:flex;gap:8px;align-items:center}.demo-add-name{font-size:12px;font-weight:600}.demo-add-url{color:var(--muted)}.demo-toggle-row{justify-content:space-between}.demo-toggle{width:28px;height:16px;border-radius:8px;background:#34c759;position:relative}.demo-toggle:after{content:"";position:absolute;right:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff}.demo-home{background:linear-gradient(160deg,var(--accent-soft),color-mix(in srgb,var(--accent) 55%,var(--strong)));padding:18px 14px}.demo-grid{display:grid;grid-template-columns:repeat(4,38px);justify-content:space-between;row-gap:12px}.demo-app{width:38px;height:38px;border-radius:10px;background:#ffffff73}.demo-new{position:relative;background:none;animation:install-drop 3s cubic-bezier(.3,1.4,.5,1) infinite}.demo-new small{position:absolute;top:40px;left:-6px;right:-6px;text-align:center;font-size:8px;color:#fff}.demo-new:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:13px;border:2px solid #fff;opacity:0;animation:install-ring 3s ease-out infinite}.install-step{animation:install-slide .36s ease both}.install-step h3{margin:2px 0 4px;font-size:1.15rem;font-weight:600}.install-step p{margin:0;line-height:1.4}.install-count{color:var(--accent-deep);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}:root[data-theme=dark] .install-count{color:var(--accent)}.inline-icon{vertical-align:-3px;color:#2f7bf6}.install-dots{display:flex;justify-content:center;gap:6px}.install-dots span{width:7px;height:7px;border-radius:4px;background:var(--border);transition:width .25s ease,background .25s ease}.install-dots .is-done{background:var(--accent-soft)}.install-dots .is-on{width:22px;background:var(--accent)}.install-nav{display:flex;align-items:center;gap:12px}.install-nav .link-btn{flex:none;padding:6px 10px}.install-nav .btn-pill{flex:1;min-height:52px}.install-pointer{display:grid;place-items:center;margin:10px auto 0;width:46px;height:46px;border-radius:50%;background:var(--accent);color:var(--accent-text);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 40%,transparent);animation:install-bounce 1.2s ease-in-out infinite}.install-card:has(+.install-pointer){max-height:calc(100dvh - 140px)}@keyframes install-rise{0%{transform:translateY(60px);opacity:0}to{transform:none;opacity:1}}@keyframes install-fade{0%{opacity:0}}@keyframes install-slide{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}@keyframes install-wiggle{0%,82%,to{transform:none}86%{transform:rotate(-9deg) scale(1.06)}90%{transform:rotate(8deg) scale(1.06)}94%{transform:rotate(-4deg)}}@keyframes install-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(9px)}}@keyframes install-tap{0%,35%{opacity:0;transform:scale(1.8)}45%{opacity:1;transform:scale(1)}60%{opacity:1;transform:scale(.85)}80%,to{opacity:0;transform:scale(1.6)}}@keyframes install-press{0%,44%,72%,to{transform:none;background:transparent}52%,62%{transform:scale(.88);background:color-mix(in srgb,var(--accent) 22%,transparent)}}@keyframes install-sheet-up{0%{transform:translateY(100%)}14%,to{transform:none}}@keyframes install-scroll{0%,22%{transform:none}50%,to{transform:translateY(-96px)}}@keyframes install-highlight{0%,56%,92%,to{background:var(--surface);color:inherit}64%,84%{background:var(--accent);color:var(--accent-text)}}@keyframes install-tap-late{0%,52%{opacity:0;transform:scale(1.8)}60%{opacity:1;transform:scale(1)}70%{opacity:1;transform:scale(.85)}86%,to{opacity:0;transform:scale(1.6)}}@keyframes install-drop{0%{transform:translateY(-120px) scale(.6);opacity:0}12%{opacity:1}30%,to{transform:none;opacity:1}}@keyframes install-ring{0%,30%{opacity:0;transform:scale(.9)}40%{opacity:1}70%,to{opacity:0;transform:scale(1.35)}}@media(prefers-reduced-motion:reduce){.install-guide[open],.install-guide::backdrop,.install-guide *,.install-guide *:after{animation:none!important}.demo-share .demo-rows{transform:translateY(-96px)}.demo-target .tap{opacity:1}.demo-share .demo-target{background:var(--accent);color:var(--accent-text)}}
