@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#fbf7f1;--surface:#fff;--surface-2:#f4efe7;--border:#ebe3d6;--text:#2b2420;--muted:#74685d;--accent:#1f8a6d;--accent-strong:#146a53;--accent-soft:#e2f4ec;--on-accent:#fff;--break:#3451b2;--break-soft:#e7ecfd;--danger:#c4282d;--warning-bg:#fff3dc;--warning-text:#7a4a00;--hero-bg:#fff1dc;--hero-border:#f3d9b1;--tone-blue:#2f62c9;--tone-blue-soft:#e5edff;--tone-violet:#6b4fd8;--tone-violet-soft:#eee9ff;--tone-amber:#9a5600;--tone-amber-soft:#fff1d6;--tone-green:#2b7a3d;--tone-green-soft:#e3f4e5;--tone-pink:#b83a72;--tone-pink-soft:#fde6ef;--tone-gray:#5b5550;--tone-gray-soft:#efebe6;--flame:#d9480f;--shadow:0 1px 2px #3c28140d, 0 8px 24px #3c28140f;--radius:20px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased;font-family:Nunito Variable,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.5}:root[data-theme=dark]{--bg:#17130f;--surface:#211c17;--surface-2:#2b251f;--border:#3a322a;--text:#f3ece4;--muted:#b3a79a;--accent:#4fd1a5;--accent-strong:#7ee0bd;--accent-soft:#18392f;--on-accent:#052a21;--break:#a9b9ff;--break-soft:#1f2a4d;--danger:#ff6b70;--warning-bg:#3a2c12;--warning-text:#f3c873;--hero-bg:#2d2316;--hero-border:#4a3a22;--tone-blue:#a9c1ff;--tone-blue-soft:#1f2a4d;--tone-violet:#c4b5ff;--tone-violet-soft:#2b2350;--tone-amber:#f3c873;--tone-amber-soft:#3a2c12;--tone-green:#8fd99c;--tone-green-soft:#1d3a22;--tone-pink:#ff9cc4;--tone-pink-soft:#40202e;--tone-gray:#d8cec4;--tone-gray-soft:#2f2924;--flame:#ff9a5a;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-color=blue]{--accent:#2f62c9;--accent-strong:#234c9e;--accent-soft:#e5edff;--on-accent:#fff}:root[data-color=purple]{--accent:#6b4fd8;--accent-strong:#553cb5;--accent-soft:#eee9ff;--on-accent:#fff}:root[data-color=pink]{--accent:#c2457d;--accent-strong:#9e3363;--accent-soft:#fde6ef;--on-accent:#fff}:root[data-color=orange]{--accent:#b9530b;--accent-strong:#934108;--accent-soft:#fed;--on-accent:#fff}:root[data-theme=dark][data-color=blue]{--accent:#8fb0ff;--accent-strong:#b5cbff;--accent-soft:#1f2a4d;--on-accent:#0b1a3d}:root[data-theme=dark][data-color=purple]{--accent:#b9a6ff;--accent-strong:#d3c8ff;--accent-soft:#2b2350;--on-accent:#1c1240}:root[data-theme=dark][data-color=pink]{--accent:#ff9cc4;--accent-strong:#ffc2da;--accent-soft:#40202e;--on-accent:#3a0a20}:root[data-theme=dark][data-color=orange]{--accent:#ffad6b;--accent-strong:#ffc89c;--accent-soft:#3d2614;--on-accent:#3a1a02}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1,h2,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-header{z-index:10;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;max-width:1040px;margin:0 auto;padding:10px 16px;display:flex}.tabs{background:var(--surface-2);border-radius:999px;margin-left:auto;padding:3px;display:flex}.tab{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-weight:700;display:inline-flex}.tab[aria-current=page]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}.header-actions{align-items:center;gap:8px;display:flex}@media (width<=719px){.header-actions{order:1;margin-left:auto}.tabs{order:2;width:100%;margin-left:0}.tab{flex:1;justify-content:center;padding:0 8px}}@media (width<=519px){.tab{flex-direction:column;gap:1px;min-height:48px;padding:4px;font-size:13px}}@media (width<=420px){.header-actions .button-small{padding:0 12px}.header-actions .button-label{display:none}}.brand{min-height:40px;color:inherit;letter-spacing:-.01em;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:18px;font-weight:800;display:flex}.brand-mark{background:var(--accent);width:30px;height:30px;color:var(--on-accent);border-radius:10px;place-items:center;display:grid}.app{max-width:1040px;margin:0 auto;padding:16px 16px 96px}.page-title{margin-top:8px;font-size:28px;font-weight:750}.page-sub{color:var(--muted);margin-bottom:16px}.today-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (width>=860px){.today-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start}}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:20px}.panel-title{align-items:center;gap:8px;font-size:18px;font-weight:750;display:flex}.count-pill{background:var(--accent);min-width:22px;color:var(--on-accent);text-align:center;border-radius:999px;padding:0 7px;font-size:12px;line-height:22px}.notice{border-radius:12px;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;padding:6px 6px 6px 14px;font-size:15px;display:flex}.notice-success{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.notice-warning{background:var(--warning-bg);color:var(--warning-text);margin:0 0 16px;padding:10px 14px}.button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:48px;padding:0 24px;font-weight:650;text-decoration:none;transition:background .15s,transform .1s;display:inline-flex}.button:active{transform:scale(.98)}.button-primary{background:var(--accent);color:var(--on-accent)}.button-primary:hover{background:var(--accent-strong)}.button-secondary{border-color:var(--border);background:var(--surface)}.button-secondary:hover{background:var(--surface-2)}.button-small{min-height:40px;padding:0 16px;font-size:14px}.icon-button{width:40px;height:40px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;font-size:22px;line-height:1}.link-button{min-height:40px;color:var(--accent-strong);cursor:pointer;background:0 0;border:none;padding:0 8px;font-weight:650}.link-button:hover{text-decoration:underline}.link-small{min-height:32px;font-size:13px}.icon-button-small{width:32px;height:32px;font-size:18px}.icon-button:hover{background:color-mix(in srgb, currentcolor 10%, transparent)}.field-error{color:var(--danger);margin-top:6px;font-size:13px}input[aria-invalid=true]{border-color:var(--danger)}.empty-inline{border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:12px;margin-top:16px;padding:20px 16px}.hero{border:1px solid var(--hero-border);background:var(--hero-bg);border-radius:28px;grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:16px;padding:20px;display:grid}@media (width>=720px){.hero{grid-template-columns:200px minmax(0,1fr)}.hero-timer{grid-column:1/-1}}@media (width>=1000px){.hero{grid-template-columns:200px minmax(0,1fr) 260px;align-items:start}.hero-timer{grid-column:auto}}.hero-pet{justify-items:center;display:grid}@media (width<=719px){.hero{padding:16px}.hero-timer{order:1}.hero-main{order:2}.greeting{font-size:22px}}.greeting{letter-spacing:-.01em;font-size:26px;font-weight:800}.chips{flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.chip{background:var(--surface);border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:4px 12px;font-size:14px;font-weight:650;display:inline-flex}.chip-flame svg{color:var(--flame)}.chip-goal svg,.chip-done svg{color:var(--accent)}.chip-goal.reached{background:var(--accent-soft)}.chip-next svg{color:var(--tone-violet)}.studied-today strong{font-weight:800}.hero-timer{text-align:center;justify-items:center;display:grid}.ring{width:200px;height:200px;margin-top:8px;position:relative}.ring svg{width:100%;height:100%;display:block}.ring-track{fill:var(--surface);stroke:var(--surface-2)}.ring-fill{fill:none;stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .25s linear}.ring-break .ring-fill{stroke:var(--break)}.ring-center{place-content:center;justify-items:center;display:grid;position:absolute;inset:0}.phase{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;width:fit-content;padding:2px 12px;font-size:12px;font-weight:800}.phase-study{background:var(--accent-soft);color:var(--accent-strong)}.phase-break{background:var(--break-soft);color:var(--break)}.clock{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:48px;font-weight:800;line-height:1.1}.timer-hint{color:var(--muted);margin-top:8px;font-size:14px}.timer-hint-small{max-width:260px;margin:8px auto 0;font-size:12px}.timer-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.working-on{background:var(--surface);border-radius:999px;align-items:center;gap:4px;max-width:100%;padding:2px 4px 2px 12px;font-size:14px;display:flex}.working-on-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.timer-settings-toggle{width:100%;margin-top:12px}.timer-settings-toggle summary{min-height:36px;color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:13px;font-weight:650;display:inline-flex}.timer-settings{border:none;margin:4px 0 0;padding:0}.minutes-fields{flex-wrap:wrap;justify-content:center;gap:12px 24px;display:flex}.minutes-field{justify-items:center;gap:4px;max-width:180px;display:grid}.minutes-field label{font-weight:700}.minutes-input{color:var(--muted);align-items:center;gap:6px;display:flex}.minutes-input input{border:1px solid var(--border);background:var(--surface);font-variant-numeric:tabular-nums;text-align:center;border-radius:10px;width:84px;min-height:44px;padding:0 10px}.settings-hint{color:var(--muted);margin-top:8px;font-size:13px}.item-icon{border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.item-icon-large{border-radius:12px;width:42px;height:42px}.tone-blue{background:var(--tone-blue-soft);color:var(--tone-blue)}.tone-violet{background:var(--tone-violet-soft);color:var(--tone-violet)}.tone-amber{background:var(--tone-amber-soft);color:var(--tone-amber)}.tone-green{background:var(--tone-green-soft);color:var(--tone-green)}.tone-pink{background:var(--tone-pink-soft);color:var(--tone-pink)}.tone-gray{background:var(--tone-gray-soft);color:var(--tone-gray)}.icon-picker{border:none;margin:4px 0 0;padding:0}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;margin-top:6px;display:grid}.icon-choice{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:14px;place-items:center;min-height:48px;padding:4px;display:grid}.icon-choice:hover{background:var(--surface-2)}.icon-choice[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.icon-choice-auto{grid-column:span 2;grid-template-columns:auto auto;gap:6px}.icon-choice-auto-label{font-size:13px;font-weight:700}.side{gap:16px;display:grid}.side-list{gap:10px;margin:12px 0 4px;padding:0;list-style:none;display:grid}.side-item,.side-project{align-items:center;gap:12px;display:flex}.side-date{background:var(--surface-2);border-radius:12px;flex:none;place-items:center;width:44px;padding:4px 0;line-height:1.1;display:grid}.kind-deadline .side-date{background:var(--warning-bg);color:var(--warning-text)}.side-month{text-transform:uppercase;font-size:11px;font-weight:700}.side-day{font-size:18px;font-weight:800}.side-text{flex:1;gap:2px;min-width:0;display:grid}.side-title{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;font-weight:650;display:flex;overflow:hidden}.side-title svg{color:var(--muted);flex:none}.side-meta{color:var(--muted);font-size:13px}.side-empty{margin:8px 0}.side-calendars{margin-bottom:8px}.side-calendars .calendar-links,.side-calendars .calendar-connect-buttons{margin:0}.pet{justify-items:center;display:grid}.pet-bubble{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;max-width:280px;margin-bottom:10px;padding:8px 14px;font-size:14px;position:relative}.pet-bubble:after{content:"";border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-2);width:12px;height:12px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.pet-stage{width:140px;color:var(--muted);transition:height .6s ease-out;position:relative}.pet-figure{transform-origin:bottom;width:140px;height:140px;transition:transform .6s ease-out;position:absolute;bottom:0;left:0}.pet-motion{transform-origin:bottom;width:100%;height:100%;position:relative}.pet-floor{width:100%;height:100%;position:absolute;inset:0}.pet-side{width:40px;height:56px;position:absolute;bottom:0}.pet-side-left{left:-38px}.pet-side-right{right:-38px}.item-art,.pet-art{width:100%;height:100%;display:block}.mood-sleeping .pet-motion{animation:3.5s ease-in-out infinite pet-breathe}.mood-studying .pet-motion{animation:2.4s ease-in-out infinite pet-bob}.mood-resting .pet-motion{animation:3s ease-in-out infinite pet-sway}.mood-celebrating .pet-motion{animation:.7s ease-in-out infinite pet-bounce}.pet-z{animation:2.5s ease-in-out infinite pet-float}@keyframes pet-breathe{50%{transform:scale(1.03,.97)}}@keyframes pet-bob{50%{transform:translateY(-3px)}}@keyframes pet-sway{25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes pet-bounce{50%{transform:translateY(-10px)}}@keyframes pet-float{50%{opacity:.4;transform:translateY(-4px)}}.pet-photo-frame{width:120px;height:120px;margin:10px auto 0;position:relative}.pet-photo{border:3px solid var(--accent-soft);object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.pet-badge{background:var(--surface);border-radius:50%;place-items:center;width:36px;height:36px;font-size:20px;display:grid;position:absolute;bottom:2px;right:-2px;box-shadow:0 1px 4px #0003}.pet-shop{align-items:center;gap:10px;margin-top:8px;display:flex}.pet-seeds{font-size:14px;font-weight:750}.pet-info{align-items:center;gap:8px;margin-top:4px;display:flex}.pet-name{font-weight:750}.pet-level{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;padding:0 8px;font-size:12px;font-weight:700}.pet-progress{background:var(--surface-2);border-radius:999px;width:140px;height:6px;overflow:hidden}.pet-progress-fill{border-radius:inherit;background:var(--accent);height:100%}.pet-next{color:var(--muted);margin-top:4px;font-size:12px}.todo-form{gap:8px;margin-top:16px;display:flex}.todo-form input{border:1px solid var(--border);background:var(--bg);border-radius:12px;flex:1;min-width:0;min-height:48px;padding:0 14px}.settings{gap:18px;display:grid}.settings-group{border:none;gap:8px;margin:0;padding:0;display:grid}.segmented{background:var(--surface-2);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.segmented button,.swatch,.chime{min-height:40px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;font-weight:700}.segmented button[aria-pressed=true]{background:var(--surface);box-shadow:var(--shadow);color:var(--accent-strong)}.swatches{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.swatch{border-color:var(--border);align-items:center;gap:8px;padding:6px 10px;display:flex}.swatch[aria-pressed=true],.chime[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.swatch-dot{border-radius:50%;flex:none;width:18px;height:18px}[data-swatch=green] .swatch-dot{background:#1f8a6d}[data-swatch=blue] .swatch-dot{background:#2f62c9}[data-swatch=purple] .swatch-dot{background:#6b4fd8}[data-swatch=pink] .swatch-dot{background:#c2457d}[data-swatch=orange] .swatch-dot{background:#b9530b}.chimes{gap:6px;margin:0;padding:0;list-style:none;display:grid}.chimes li{align-items:center;gap:6px;display:flex}.chime{border-color:var(--border);text-align:left;flex:1;padding:6px 12px}.focus-rating{gap:6px;display:grid}.focus-rating-label{font-size:14px;font-weight:700}.focus-rating-choices{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.focus-rating-choice{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);font:inherit;cursor:pointer;border-radius:12px;font-weight:800}.focus-rating-choice[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.focus-rating-ends{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.distracted{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 10px;margin-top:8px;display:flex}.distracted .link-button{align-items:center;gap:4px;display:inline-flex}.distracted-count{color:var(--muted);font-size:13px}.quick-add{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px;font-size:13px;display:flex}.quick-add-title{color:var(--muted)}.quick-add-chip{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-weight:700;display:inline-flex}.todo-tip{color:var(--muted);margin-top:14px;font-size:13px}.todo-list{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.done-group .todo-list{margin-top:4px}.todo-item{border:1px solid var(--border);background:var(--surface);border-radius:12px;align-items:flex-start;gap:12px;padding:2px 2px 2px 14px;display:flex}.todo-item.current{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.todo-item>input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);flex:none;margin:12px 0 0}.todo-body{flex:1;min-width:0;padding:2px 0 8px}.todo-title{overflow-wrap:anywhere;width:100%;min-height:40px;padding:8px 0 0;display:block}.todo-title-button{text-align:left;cursor:pointer;background:0 0;border:none}.todo-title-button:hover{color:var(--accent-strong)}.todo-item.done .todo-title{color:var(--muted);text-decoration:line-through}.todo-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px;display:flex}.now-tag{background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap;border-radius:999px;padding:0 8px;font-size:12px;font-weight:700}.priority-tag{color:var(--danger);white-space:nowrap;align-items:center;gap:4px;font-weight:700;display:inline-flex}.todo-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.todo-plan,.plan-steps{gap:4px;margin:8px 0 0;padding-left:22px;font-size:14px;display:grid}.todo-plan li,.plan-steps li{padding-left:2px}.todo-plan li>span:first-child,.plan-steps li>span:first-child{margin-right:6px}.plan-minutes{color:var(--muted);white-space:nowrap;font-size:13px}.todo-hint{color:var(--muted);font-size:13px}.todo-item .icon-button{color:var(--muted);margin-top:2px}.done-group{margin-top:20px}.done-group summary{min-height:44px;color:var(--muted);cursor:pointer;font-weight:650;line-height:44px}.due-tag{color:var(--muted)}.due-tag.late{color:var(--danger);font-weight:650}.due-steps{background:var(--warning-bg);border-radius:12px;margin-top:16px;padding:12px}.due-steps-title{color:var(--warning-text);font-size:14px}.due-steps .todo-list{margin-top:8px}.todo-edit{gap:6px;margin-top:8px;display:grid}.todo-edit-row{flex-wrap:wrap;gap:8px 12px;display:flex}.todo-edit-row .field-label{gap:4px;display:grid}.button-danger{background:var(--danger);color:#fff}.projects{gap:16px;display:grid}.back-button{justify-self:start;padding-left:10px}.project-form{gap:6px;display:grid}.project-form .panel-title{margin-bottom:4px}.optional{color:var(--muted);font-weight:400}.project-form textarea{resize:vertical;padding:10px 12px}.date-input{width:170px}.project-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.project-card{text-align:left;cursor:pointer;gap:6px;width:100%;height:100%;display:grid}.project-card:hover{border-color:var(--accent)}.project-card-head{align-items:center;gap:10px;display:flex}.project-card-name{font-size:17px;font-weight:750}.project-card-due,.project-card-steps{color:var(--muted);font-size:14px}.project-title{align-items:center;gap:10px;font-size:22px;font-weight:750;display:flex}.project-goal{color:var(--muted);white-space:pre-wrap;margin-top:4px}.timeline{margin:28px 0 12px}.timeline-track{background:var(--surface-2);border-radius:999px;height:10px;position:relative}.timeline-elapsed{border-radius:inherit;background:var(--accent-soft);height:100%}.timeline-step{border:2px solid var(--surface);background:var(--break);border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%)}.timeline-step.done{background:var(--accent)}.timeline-step.late{background:var(--danger)}.timeline-today{background:var(--text);width:2px;position:absolute;top:-6px;bottom:-6px;transform:translate(-50%)}.timeline-today-label{color:var(--text);white-space:nowrap;margin-bottom:2px;font-size:11px;font-weight:700;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.timeline-labels{color:var(--muted);justify-content:space-between;margin-top:8px;font-size:13px;display:flex}.confirm{background:var(--warning-bg);color:var(--warning-text);border-radius:12px;margin-top:12px;padding:12px 14px}.step-form{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.step-title-input{flex:220px;min-width:0}.estimate-input{width:80px}.step-form-error{width:100%;margin-top:0}.history-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;margin-bottom:16px;display:grid}.stat{align-content:start;gap:6px;padding:16px 20px;display:grid}.stat-value{font-variant-numeric:tabular-nums;font-size:26px;font-weight:800;line-height:1.2}.stat-of{color:var(--muted);font-size:15px;font-weight:600}.stat-label{color:var(--muted);font-size:14px;font-weight:600}.stat-bar{background:var(--surface-2);border-radius:999px;height:8px;display:block;overflow:hidden}.stat-bar-fill{border-radius:inherit;background:var(--accent);height:100%;display:block}.goal-picker{align-items:center;gap:8px;display:flex}.goal-picker select{border:1px solid var(--border);background:var(--bg);min-height:36px;color:var(--text);font:inherit;border-radius:8px;padding:0 8px}.upcoming-list{margin:0;padding:0;list-style:none;display:grid}.upcoming-event{width:100%;min-height:36px;color:var(--text);text-align:left;flex-direction:column;align-items:flex-start;padding:4px 0;font-weight:400;display:flex}.upcoming-when{color:var(--accent-strong);font-weight:650}.history-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (width>=860px){.history-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start}}.calendar-header{justify-content:space-between;align-items:center;display:flex}.calendar-weekdays,.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-weekdays{color:var(--muted);text-align:center;margin:12px 0 4px;font-size:12px;font-weight:650}.calendar-day{border:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;border-radius:8px;flex-direction:column;align-items:stretch;gap:2px;min-width:0;min-height:72px;padding:4px;display:flex}.calendar-day:hover{border-color:var(--accent)}.shade-1{background:color-mix(in srgb, var(--accent) 15%, var(--surface))}.shade-2{background:color-mix(in srgb, var(--accent) 30%, var(--surface))}.shade-3{background:color-mix(in srgb, var(--accent) 45%, var(--surface))}.shade-4{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.calendar-day.outside{opacity:.45}.calendar-day.selected{box-shadow:0 0 0 2px var(--text)}.calendar-date{align-items:center;gap:2px;font-size:13px;font-weight:650;display:flex}.calendar-day.today .calendar-date{background:var(--text);width:fit-content;color:var(--bg);border-radius:999px;padding:0 6px}.calendar-check{font-size:11px}.calendar-due{background:var(--warning-bg);color:var(--warning-text)}.calendar-event,.calendar-more{text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.4;overflow:hidden}.calendar-event{background:var(--break-soft);color:var(--break);border-radius:4px;padding:0 4px;font-weight:600}@media (width<=600px){.calendar-day{flex-flow:wrap;align-content:flex-start;min-height:48px}.calendar-date{width:100%}.calendar-event{background:var(--break);border-radius:50%;width:7px;height:7px;padding:0;font-size:0}.calendar-due{background:var(--danger)}.calendar-more{display:none}}.calendar-legend{color:var(--muted);margin-top:10px;font-size:12px}.day-total{color:var(--muted);margin-top:4px}.day-heading{margin:18px 0 6px;font-size:15px}.day-empty{color:var(--muted);font-size:14px}.day-list{gap:4px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.day-event{align-items:center;gap:8px;display:flex}.day-event-time,.day-session-time{min-width:64px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;margin-right:8px}.day-project{color:var(--muted)}.day-event-title{overflow-wrap:anywhere;flex:1;min-width:0}.event-form{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.event-title-input{flex:180px;min-width:0}.event-time-input{width:120px}.event-form-error{width:100%;margin-top:0}.check-in{border:1px solid var(--accent);background:var(--accent-soft);text-align:left;border-radius:14px;width:100%;margin-top:12px;padding:14px}.check-in-title{font-size:15px}.check-in-form{gap:8px;margin-top:8px;display:grid}.check-in-choices{flex-wrap:wrap;gap:6px;display:flex}.choice{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;min-height:36px;padding:0 12px;font-size:14px;font-weight:600}.choice[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.check-in textarea{background:var(--surface);resize:vertical;padding:8px 12px}.check-in-reply{margin:8px 0}.check-in-reply.waiting{color:var(--muted);font-style:italic}.check-in-next{margin-bottom:10px}.progress-log{gap:8px;margin:8px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.progress-log li{background:var(--surface-2);border-radius:10px;padding:8px 10px}.progress-head{color:var(--muted);flex-wrap:wrap;gap:4px 8px;font-size:12px;display:flex}.progress-status{font-weight:700}.progress-status.done{color:var(--accent-strong)}.progress-status.stuck{color:var(--danger)}.progress-reply{color:var(--muted);margin-top:2px}.day-check-in{display:flex}.day-check-in-note{color:var(--muted);display:block}.wrap-up{width:min(480px,100%)}.wrap-up-hero{border-bottom:1px solid var(--hero-border);background:var(--hero-bg);text-align:center;justify-items:center;padding:20px 20px 12px;display:grid}.wrap-up-pet{width:110px;height:110px}.wrap-up-pet .pet-art,.wrap-up-pet .pet-photo{width:100%;height:100%}.wrap-up-pet .pet-art{animation:.7s ease-in-out infinite pet-bounce}.wrap-up-kicker{color:var(--accent-strong);letter-spacing:.06em;text-transform:uppercase;margin-top:4px;font-size:12px;font-weight:800}.wrap-up-title{overflow-wrap:anywhere;font-size:20px;font-weight:800}.wrap-up-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:0;display:grid}.wrap-up-stat{background:var(--surface-2);border-radius:12px;padding:8px 12px}.wrap-up-stat dt{color:var(--muted);font-size:12px;font-weight:700}.wrap-up-stat dd{margin:0;font-weight:750}.wrap-up-look-back{gap:8px;margin-top:12px;display:grid}.wrap-up-look-back .field-label{align-items:center;gap:6px;display:flex}.wrap-up-waiting{color:var(--muted);font-style:italic}.wrap-up-tip{background:var(--accent-soft);border-radius:12px;align-items:flex-start;gap:6px;padding:8px 12px;display:flex}.wrap-up-tip svg{color:var(--accent-strong);flex:none;margin-top:3px}.day-wrap-up{color:var(--muted);margin:2px 0 6px 18px;display:block}.project-wrap-up{background:var(--accent-soft);border-radius:14px;gap:4px;margin-top:12px;padding:12px 14px;display:grid}.project-wrap-up-tip{color:var(--accent-strong)}.modal-backdrop{z-index:30;background:#00000059;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.chat{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;width:min(560px,100%);height:min(720px,100%);display:flex;overflow:hidden;box-shadow:0 12px 48px #00000040}@media (width<=560px){.modal-backdrop{padding:0}.chat{border:none;border-radius:0;height:100%}}.chat-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 8px 12px 16px;display:flex}.buddy-avatar{border:6px solid var(--accent);background:var(--accent-soft);border-radius:50%;flex:none;width:32px;height:32px}.chat-heading{flex:1;min-width:0}.chat-heading h2{font-size:16px}.chat-subtitle{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.chat-log{flex-direction:column;flex:1;gap:10px;margin:0;padding:16px;list-style:none;display:flex;overflow-y:auto}.bubble{overflow-wrap:anywhere;white-space:pre-wrap;border-radius:16px;max-width:85%;padding:10px 14px}.bubble-buddy{background:var(--surface-2);border-bottom-left-radius:4px;align-self:flex-start}.bubble-user{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:4px;align-self:flex-end}.bubble-waiting{color:var(--muted);font-style:italic}.plan-card{border:1px solid var(--border);background:var(--surface);white-space:normal;border-radius:12px;margin-top:10px;padding:10px 12px}.plan-card .plan-steps{margin-top:0}.plan-footer{border-top:1px dashed var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:8px;font-size:13px;display:flex}.plan-saved{color:var(--accent-strong);font-weight:650}.chat-problem{background:var(--warning-bg);color:var(--warning-text);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 16px 8px;padding:10px 14px;font-size:14px;display:flex}.chat-problem p{flex:220px}.chat-form{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);align-items:flex-end;gap:8px;display:flex}.chat-form textarea{border:1px solid var(--border);background:var(--bg);min-width:0;min-height:48px;max-height:160px;color:var(--text);font:inherit;resize:vertical;border-radius:12px;flex:1;padding:12px 14px}.chat-form .button:disabled{cursor:default;opacity:.5}.modal{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;width:min(440px,100%);max-height:100%;display:flex;overflow:auto;box-shadow:0 12px 48px #00000040}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 8px 12px 20px;display:flex}.modal-header h2{font-size:17px}.modal-body{gap:6px;padding:16px 20px;display:grid}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 20px 16px;display:flex}.field-label{font-size:14px;font-weight:650}.text-input{border:1px solid var(--border);background:var(--bg);border-radius:10px;min-height:44px;padding:0 12px}.pet-choices{border:none;flex-wrap:wrap;gap:8px;margin:12px 0 4px;padding:0;display:flex}.pet-choices legend{margin-bottom:6px;padding:0}.pet-choice{border:2px solid var(--border);cursor:pointer;border-radius:14px;justify-items:center;gap:2px;width:92px;padding:8px 6px;font-size:13px;font-weight:700;display:grid}.pet-choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.pet-choice:has(input:disabled){cursor:default;opacity:.6}.pet-choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.pet-choice input{opacity:0;position:absolute}.pet-choice .pet-art,.pet-choice .pet-photo,.pet-photo-empty{width:64px;height:64px}.pet-photo-empty{border:2px dashed var(--border);color:var(--muted);border-radius:50%;place-items:center;font-size:24px;display:grid}.file-button{justify-self:start;margin-top:4px}.file-button:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.toast-region{bottom:calc(24px + env(safe-area-inset-bottom));z-index:40;pointer-events:none;position:fixed;left:50%;transform:translate(-50%)}body:has(.reader-bar) .toast-region{bottom:calc(84px + env(safe-area-inset-bottom))}.toast{background:var(--text);max-width:calc(100vw - 32px);color:var(--bg);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:10px 18px;font-size:14px;animation:.2s ease-out toast-in;overflow:hidden;box-shadow:0 6px 24px #0000002e}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:.01ms!important}}.install-download{justify-items:center;gap:8px;margin-bottom:16px;display:grid}.install-steps{gap:12px;margin:0;padding:0;list-style:none;display:grid}.install-steps li{align-items:flex-start;gap:10px;display:flex}.install-steps svg{color:var(--accent);flex:none;margin-top:2px}.install-note{color:var(--muted);margin-top:14px;font-size:14px}.account-dialog .modal-body{gap:8px}.account-lead{color:var(--muted);margin-bottom:4px}.account-submit{margin-top:8px}.account-note{color:var(--muted);text-align:center;font-size:13px}.account-links{flex-wrap:wrap;justify-content:space-between;gap:4px;display:flex}.recovery-input{text-transform:uppercase;font-family:ui-monospace,SF Mono,Menlo,monospace}.recovery-code{border:1px dashed var(--accent);background:var(--accent-soft);letter-spacing:.06em;text-align:center;-webkit-user-select:all;user-select:all;border-radius:12px;margin:8px 0;padding:14px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:20px;font-weight:700}.account-status{color:var(--muted);align-items:flex-start;gap:8px;display:flex}.account-status svg{flex:none;margin-top:2px}.account-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.account-delete{color:var(--danger);justify-self:start;margin-top:8px;padding:0}.tab[data-status=offline],.tab[data-status=error]{color:var(--warning-text)}.me{gap:16px;display:grid}.me-card{align-items:center;gap:16px;display:flex}.me-avatar{background:var(--accent);width:64px;height:64px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;font-size:28px;font-weight:800;display:grid}.me-card-text{flex:1;gap:4px;min-width:0;display:grid}.me-name-row{align-items:center;gap:4px;display:flex}.me-name{overflow-wrap:anywhere;font-size:24px;font-weight:800}.me-since{color:var(--muted);font-size:14px}.me-name-form{gap:6px;display:grid}.me-name-form-row{flex-wrap:wrap;gap:8px;display:flex}.me-name-form-row .text-input{flex:160px;min-width:0}.me-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}@media (width>=720px){.me-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.me-tile{border:1px solid var(--border);background:var(--surface);border-radius:16px;align-content:start;gap:2px;padding:14px 16px;display:grid}.me-tile-label{color:var(--muted);font-size:13px;font-weight:700}.me-tile-value{font-size:24px;font-weight:800;line-height:1.3}.me-tile-note{color:var(--muted);align-items:center;gap:2px;font-size:13px;display:flex}.me-tile-note[data-trend=up]{color:var(--tone-green);font-weight:700}.me-grid{gap:16px;display:grid}@media (width>=860px){.me-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.me-panel-sub{color:var(--muted);margin:2px 0 8px;font-size:14px}.week-chart{gap:6px;display:grid}.week-plot,.week-labels{grid-template-columns:repeat(7,minmax(0,1fr));padding-right:36px;display:grid}.week-plot{border-bottom:1px solid var(--border);height:160px;margin-top:26px;position:relative}.week-goal{border-top:1px solid color-mix(in srgb, var(--muted) 55%, transparent);position:absolute;left:0;right:36px}.week-goal-label{color:var(--muted);margin-left:6px;font-size:11px;font-weight:700;line-height:16px;position:absolute;top:-9px;left:100%}.week-column{justify-content:center;align-items:flex-end;display:flex}.week-bar{background:var(--accent);border-radius:4px 4px 0 0;width:min(24px,70%);position:relative}.week-value{background:var(--text);color:var(--bg);white-space:nowrap;opacity:0;pointer-events:none;border-radius:6px;margin-bottom:4px;padding:1px 6px;font-size:12px;font-weight:700;transition:opacity .15s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.week-column:hover .week-value{opacity:1}.week-column[data-today] .week-value{color:var(--text);opacity:1;background:0 0}.week-labels{color:var(--muted);text-align:center;font-size:12px;font-weight:700}.week-labels [data-today]{color:var(--text);font-weight:800}.me-facts{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.me-facts li{align-items:flex-start;gap:10px;display:flex}.me-facts svg,.me-perks svg{color:var(--accent-strong);flex:none}.me-facts svg{margin-top:2px}.me-subhead{align-items:center;gap:6px;margin:18px 0 8px;font-size:15px;font-weight:750;display:flex}.me-subjects{gap:10px;margin:0;padding:0;list-style:none;display:grid}.me-subjects li{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;display:grid}.me-subject-name{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.me-subject-time{color:var(--muted);font-size:14px}.me-meter{background:var(--accent-soft);border-radius:999px;grid-column:1/-1;height:8px;overflow:hidden}.me-meter span{background:var(--accent);border-radius:999px;height:100%;display:block}.focus-open{align-items:center;gap:6px;margin-top:8px;display:inline-flex}.focus{z-index:28;background:var(--hero-bg);padding:16px;position:fixed;inset:0;overflow-y:auto}.focus-break{background:var(--break-soft)}.focus-header{justify-content:space-between;align-items:center;max-width:1000px;margin:0 auto;display:flex}.focus-label{color:var(--muted);font-weight:750}.focus-body{grid-template-columns:minmax(0,1fr);gap:24px;max-width:1000px;margin:16px auto 0;display:grid}@media (width>=860px){.focus-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.focus-timer{justify-items:center;gap:8px;display:grid}.focus .ring{width:min(320px,78vw);height:min(320px,78vw)}.focus .clock{font-size:clamp(48px,14vw,72px)}.focus-pet{justify-items:center;margin-top:8px;display:grid}.focus-sounds{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:minmax(0,1fr);gap:12px;padding:20px;display:grid}.focus-sounds .me-subhead{margin:8px 0 0}.sound-choices{flex-wrap:wrap;gap:8px;display:flex}.sound-choice{border:1px solid var(--border);background:var(--surface-2);min-height:40px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:14px;font-weight:700;display:inline-flex}.sound-choice[aria-pressed=true],.music-item[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.volume{color:var(--muted);align-items:center;gap:10px;display:flex}.volume input{accent-color:var(--accent);flex:1}.music-list{grid-template-columns:minmax(0,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}.music-list li{align-items:center;gap:6px;display:flex}.music-item{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:40px;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:12px;flex:1;align-items:center;gap:8px;padding:6px 12px;font-size:14px;display:flex}.music-item svg{flex:none}.music-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.add-music{gap:8px;display:grid}.music-drop{border:2px dashed var(--border);color:var(--muted);text-align:center;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:14px;display:flex}.music-drop[data-dragging],.music-drop:focus-within{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.music-link-form{gap:8px;display:flex}.music-link-form .text-input{flex:1;min-width:0}.music-embed{gap:6px;display:grid}.music-frame{border:none;border-radius:12px;width:100%}.music-frame-youtube{aspect-ratio:16/9}.music-frame-apple{height:450px}.tour-dim,.tour-spotlight{z-index:24;pointer-events:none;position:fixed}.tour-dim{background:#140e0a73;inset:0}.tour-spotlight{border-radius:14px;transition:top .2s ease-out,left .2s ease-out,width .2s ease-out,height .2s ease-out;box-shadow:0 0 0 200vmax #140e0a73}.tour-card{z-index:26;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:56px minmax(0,1fr);gap:4px 12px;padding:16px;display:grid;position:fixed}.tour-card-center{width:min(380px,100vw - 32px);top:50%;left:50%;transform:translate(-50%,-50%)}.tour-pet{width:56px;height:56px;display:block}.tour-pet .pet-photo{width:56px;height:56px}.tour-text{gap:4px;display:grid}.tour-title{font-size:16px;font-weight:800}.tour-text p{color:var(--muted);font-size:14px}.tour-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:8px 12px;margin-top:8px;display:flex}@media (prefers-reduced-motion:reduce){.tour-spotlight{transition:none}}.shop{width:min(640px,100%)}.shop-top{background:var(--hero-bg);border-radius:20px;flex-wrap:wrap;align-items:center;gap:16px 28px;padding:16px;display:flex}.shop-preview{flex:200px;justify-items:center;padding:0 40px;display:grid}.shop-wallet{flex:200px;gap:6px;display:grid}.shop-seeds{font-size:20px}.shop-section .me-subhead{margin-top:16px}.shop-items{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.shop-item{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:16px;align-content:start;justify-items:center;gap:6px;padding:12px 8px;display:grid}.shop-item[data-using]{border-color:var(--accent);background:var(--accent-soft)}.shop-item-art{place-items:center;width:72px;height:56px;display:grid}.shop-item-name{font-size:14px;font-weight:750}.shop-item-note{color:var(--muted);font-size:12px}.shop-locked{text-align:center;justify-items:center;gap:12px;padding:8px 0;display:grid}.wrapped-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin-bottom:12px;display:flex}.wrapped-head .panel-title{margin:0}.wrapped-nav{align-items:center;gap:4px;display:flex}.wrapped-week{text-align:center;min-width:10ch;font-size:14px;font-weight:700}.wrapped-retry{justify-self:start}.badge-group .me-subhead{margin-top:14px}.badge-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.badge-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.badge{--badge:var(--tone-gray);--badge-soft:var(--tone-gray-soft);border:1px solid var(--border);background:var(--surface-2);border-radius:16px;align-items:flex-start;gap:12px;padding:12px;display:flex}.badge[data-earned]{background:var(--surface)}.badge[data-tone=blue]{--badge:var(--tone-blue);--badge-soft:var(--tone-blue-soft)}.badge[data-tone=amber]{--badge:var(--tone-amber);--badge-soft:var(--tone-amber-soft)}.badge[data-tone=green]{--badge:var(--tone-green);--badge-soft:var(--tone-green-soft)}.badge[data-tone=violet]{--badge:var(--tone-violet);--badge-soft:var(--tone-violet-soft)}.badge-icon{background:var(--tone-gray-soft);width:48px;height:48px;color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.badge[data-earned] .badge-icon{background:var(--badge-soft);color:var(--badge)}.badge-lock{box-sizing:content-box;background:var(--surface);color:var(--muted);border-radius:50%;padding:3px;position:absolute;bottom:-3px;right:-3px}.badge-text{flex:1;gap:2px;min-width:0;display:grid}.badge-name{font-weight:800}.badge-how,.badge-status{color:var(--muted);font-size:13px}.badge-status{font-weight:700}.badge[data-earned] .badge-status{color:var(--badge)}.badge-meter{height:6px;margin-top:4px}.me-account{justify-items:start;gap:8px;margin-top:16px;display:grid}.me-locked{text-align:center;justify-items:center;gap:14px;max-width:640px;margin:0 auto;display:grid}.me-locked-icon{background:var(--accent-soft);width:56px;height:56px;color:var(--accent-strong);border-radius:50%;place-items:center;display:grid}.me-locked-title{font-size:22px;font-weight:800}.me-locked-lead{max-width:46ch;color:var(--muted)}.me-tiles-locked{justify-self:stretch}.me-tiles-locked .me-tile{background:var(--surface-2);text-align:left}.me-tiles-locked .me-tile-value{color:var(--muted)}.me-perks{text-align:left;justify-self:stretch;gap:8px;margin:0;padding:0;list-style:none;display:grid}.me-perks li{align-items:center;gap:10px;display:flex}.me-locked-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}@media (width<=420px){.me-tile-value{font-size:20px}}.calendars{margin-top:16px}.calendar-links{gap:4px;margin:0 0 12px;padding:0;list-style:none;display:grid}.calendar-link{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 0;display:flex}.calendar-link>svg{color:var(--accent);flex:none}.calendar-link-text{flex:1;min-width:0;display:grid}.calendar-link-name{font-weight:700}.calendar-link-status{color:var(--muted);font-size:13px}.calendar-link-status.problem{color:var(--danger)}.calendar-connect-buttons{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.connect-steps{gap:12px;margin:0 0 8px;padding-left:20px;display:grid}.connect-copied{width:100%;margin-top:8px;display:flex}.connect-paste{color:var(--muted);margin-top:8px;font-size:14px}.connect-paste summary{cursor:pointer;font-weight:650}.connect-paste-form{color:var(--text);gap:6px;margin-top:8px;display:grid}.connect-paste-row{gap:8px;display:flex}.connect-paste-row .text-input{flex:1;min-width:0}.connect-note{text-align:left}.course-tag{background:var(--tone-blue-soft);color:var(--tone-blue);border-radius:999px;padding:1px 8px;font-weight:650}.canvas-link{color:var(--accent-strong);align-items:center;gap:3px;font-weight:650;display:inline-flex}.reading{gap:16px;display:grid}.add-reading{gap:10px;display:grid}.add-reading .settings-hint{margin-top:0}.paste-reading{color:var(--muted);font-size:14px}.paste-reading summary{cursor:pointer;min-height:32px;font-weight:650}.paste-reading-form{color:var(--text);gap:6px;margin-top:4px;font-size:16px;display:grid}.paste-reading-form textarea{resize:vertical;padding:10px 12px}.paste-reading-form .button{justify-self:start;margin-top:4px}.shelf-title{margin-bottom:10px}.reader{gap:16px;display:grid}@media (width<=519px){.reader{padding:16px 10px}}.reader-title{overflow-wrap:anywhere;font-size:20px;font-weight:750;line-height:1.3}.reading-text{overflow-wrap:anywhere;max-width:40em;margin:0 auto;font-size:18px;line-height:1.75}.reading-text p{white-space:pre-wrap;margin:0 0 1em}.reading-text h1,.reading-text h2,.reading-text h3,.reading-text h4{margin:1.2em 0 .6em;line-height:1.3}.reading-text img,.reading-text svg{max-width:100%;height:auto}.reading-text a{color:var(--accent-strong)}.pdf-page-holder{max-width:820px;margin:0 auto}.pdf-page{background:#fff;border-radius:4px;position:relative;overflow:hidden;box-shadow:0 1px 4px #0000002e}.pdf-page canvas{width:100%;height:auto;display:block}.pdf-page .textLayer{--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));z-index:0;text-align:initial;letter-spacing:normal;word-spacing:normal;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:canvastext;line-height:1;position:absolute;inset:0;overflow:clip}.pdf-page .textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;-webkit-user-select:text;user-select:text;position:absolute}.pdf-page .textLayer>:not(.markedContent),.pdf-page .textLayer .markedContent span:not(.markedContent){--font-height:0;--scale-x:1;--rotate:0deg;z-index:1;font-size:calc(var(--text-scale-factor) * var(--font-height));transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.pdf-page .textLayer .markedContent{display:contents}.pdf-page .textLayer span[role=img]{-webkit-user-select:none;user-select:none;cursor:default}.pdf-page .textLayer ::selection{background:color-mix(in srgb, var(--accent) 35%, transparent);color:#0000}.pdf-page .textLayer br::selection{background:0 0}.reader-read-time{color:var(--muted);margin-top:4px;font-size:14px}.reader-bar{z-index:5;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:999px;justify-content:space-between;align-items:center;gap:8px;padding:6px;display:flex;position:sticky;bottom:12px}.reader-timer{font-variant-numeric:tabular-nums}.reader-pages,.reader-ask{align-items:center;gap:8px;display:flex}.reader-select-hint{color:var(--muted);text-align:right;padding:0 8px;font-size:14px}.reader-position{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:15px;display:flex}.reader-position .text-input{text-align:center;width:4.5em;min-height:40px;padding:0 6px}@media (width<=419px){.reader-nav-label{display:none}.reader-bar .button-small{padding:0 10px}.reader-ask .button svg{display:none}.reader-position label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.reader-remove{color:var(--muted);justify-self:start}.chat-quote{border-left:3px solid var(--accent);max-height:10em;color:var(--muted);margin:8px 0 0;padding:6px 0 6px 12px;font-size:15px;overflow-y:auto}.reader-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.reader-top-actions{gap:8px;display:flex}.listen-bar{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:8px;padding:6px;display:flex}.listen-status{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;overflow:hidden}.listen-choice{color:var(--muted);align-items:center;gap:6px;font-size:14px;display:flex}.listen-choice .text-input{min-width:0;min-height:40px;color:var(--text);padding:0 8px}.app-reading-focus{padding-top:0}.reader-head{z-index:6;background:var(--bg);gap:8px;padding:8px 0;display:grid;position:sticky;top:0}.reading-focus-bar{align-items:center;gap:8px;display:flex}.reading-focus-exit{margin-left:auto}.reading-focus-pet .pet-stage{width:49px}.reading-focus-pet .pet-figure{left:-45.5px}.reading-focus-pet .pet-side{display:none}.reading-focused .reader-bar{justify-content:center}.reading-focused .reader{box-shadow:none;background:0 0;border:none;padding:0}@media (width<=419px){.reading-focus-bar,.reader-top-actions,.listen-bar{gap:6px}.reading-focus-bar .button-small,.reader-top-actions .button-small{padding:0 10px}.listen-bar{border-radius:24px;flex-wrap:wrap}.listen-status{flex-basis:100%;order:-1;padding:2px 8px 0}.listen-voice{flex:1;min-width:0}.listen-voice .text-input{width:100%}.reader-action-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}
