@import"https://fonts.googleapis.com/css2?family=Alexandria:wght@400;500;600;700&family=Readex+Pro:wght@400;500;600;700&display=swap";:root{color-scheme:light;--paper: #f4f1e9;--paper-deep: #e9e4d8;--surface: #fffefa;--ink: #1c251f;--muted: #76786f;--line: #d9d5ca;--field: #fbfaf6;--topbar-bg: rgba(244, 241, 233, .94);--panel-tint: rgba(255, 254, 250, .55);--hover: #f8f6f0;--priority-bg: rgba(220, 107, 80, .12);--green: #224d3b;--green-soft: #dce8df;--coral: #dc6b50;--coral-soft: #f6ddd5;--task-color: var(--green);--task-soft: var(--green-soft);--habit-color: var(--coral);--habit-soft: var(--coral-soft);--mustard: #cf9d37;--shadow: 0 18px 50px rgba(45, 48, 39, .09);--radius: 8px;font-family:Alexandria,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;color:var(--ink);background:linear-gradient(rgba(34,77,59,.035) 1px,transparent 1px),var(--paper);background-size:100% 32px;font-variant-numeric:tabular-nums}button,input,textarea,select,.calendar-day,.progress-count,.task-points,.points-balance-card strong{font-variant-numeric:tabular-nums}body[data-theme=dark]{color-scheme:dark;--paper: #101417;--paper-deep: #1c2528;--surface: #171d20;--ink: #f2f0e8;--muted: #a4b0ad;--line: #303a3d;--field: #111719;--topbar-bg: rgba(16, 20, 23, .92);--panel-tint: rgba(23, 29, 32, .7);--hover: #202a2d;--priority-bg: rgba(255, 113, 91, .16);--green: #5cd4bd;--green-soft: #183934;--coral: #ff715b;--coral-soft: #3b211d;--mustard: #e6b85c;--shadow: 0 22px 70px rgba(0, 0, 0, .34)}body[data-theme=dark] .today-button,body[data-theme=dark] .primary-button{color:#10201f}body[data-theme=rose-dark]{color-scheme:dark;--paper: #130b12;--paper-deep: #21101e;--surface: #1c121a;--ink: #fff3fa;--muted: #d5a9c1;--line: #3d2436;--field: #160d15;--topbar-bg: rgba(19, 11, 18, .92);--panel-tint: rgba(28, 18, 26, .76);--hover: #261723;--priority-bg: rgba(255, 91, 143, .18);--green: #69e4cf;--green-soft: #123d3a;--coral: #ff5b8f;--coral-soft: #3b1728;--mustard: #f2b95f;--shadow: 0 26px 80px rgba(0, 0, 0, .46)}body[data-theme=rose-dark] .today-button,body[data-theme=rose-dark] .primary-button{color:#10201f}body[data-theme=rose]{--paper: #fff0f6;--paper-deep: #f7d7e7;--surface: #fffafd;--ink: #35202d;--muted: #8b6a7b;--line: #edc8da;--field: #fff6fb;--topbar-bg: rgba(255, 240, 246, .94);--panel-tint: rgba(255, 250, 253, .72);--hover: #ffe6f0;--priority-bg: rgba(229, 87, 124, .14);--green: #198c83;--green-soft: #d9f1ee;--coral: #e5577c;--coral-soft: #f9d5e1;--mustard: #bd7d2b;--shadow: 0 22px 60px rgba(114, 55, 83, .13)}body[data-theme=aqua]{--paper: #e9fbf8;--paper-deep: #c9efea;--surface: #fbfffe;--ink: #132d31;--muted: #5c7878;--line: #acd8d5;--field: #f3fffc;--topbar-bg: rgba(233, 251, 248, .94);--panel-tint: rgba(251, 255, 254, .68);--hover: #dff8f4;--priority-bg: rgba(255, 116, 92, .15);--green: #007c89;--green-soft: #d1f0ef;--coral: #ff745c;--coral-soft: #ffe0d9;--mustard: #c4932d;--shadow: 0 22px 60px rgba(0, 109, 117, .14)}button,input,textarea,select{font:inherit}button{color:inherit}button,input,[role=button]{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:3px solid rgba(220,107,80,.28);outline-offset:2px}textarea:focus-visible,select:focus-visible{outline:3px solid rgba(220,107,80,.28);outline-offset:2px}body.is-locked{overflow:hidden}body.is-locked #app{display:none}.login-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;min-height:100vh;padding:28px;color:#f9f5ff;background:radial-gradient(circle at 18% 18%,rgba(255,91,143,.26),transparent 30%),radial-gradient(circle at 82% 24%,rgba(105,228,207,.2),transparent 28%),linear-gradient(135deg,rgba(255,255,255,.05) 1px,transparent 1px),#09080f;background-size:auto,auto,38px 38px,auto}.login-panel{width:min(760px,100%);padding:clamp(22px,4vw,42px);border:1px solid rgba(255,255,255,.11);background:linear-gradient(180deg,#ffffff17,#ffffff09),#0d0c15d6;box-shadow:0 32px 110px #00000085;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.login-brand{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:28px;text-align:right}.login-brand .eyebrow{color:#ff6d9f}.login-brand h1{font-size:clamp(28px,4vw,44px);color:#fff;text-shadow:0 10px 34px rgba(255,91,143,.22)}.login-users{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px;margin-bottom:28px}.login-users.has-selected-user{grid-template-columns:minmax(0,360px);justify-content:center}.login-user{display:grid;justify-items:center;gap:10px;min-height:240px;padding:28px 16px;border:1px solid rgba(255,255,255,.09);color:#fff;background:#ffffff0e;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}.login-user-choice{display:grid;justify-items:center;gap:10px;width:100%;padding:0;border:0;color:inherit;background:transparent;cursor:pointer}.login-user:hover,.login-user.is-selected{border-color:#69e4cfcc;background:#ffffff17;box-shadow:0 18px 46px #69e4cf1c;transform:translateY(-2px)}.login-avatar{display:grid;place-items:center;width:136px;height:136px;border:2px solid rgba(255,255,255,.14);border-radius:50%;color:#fff;font-family:Readex Pro,sans-serif;font-size:48px;font-weight:700;background:linear-gradient(135deg,#69e4cf,#ff5b8f);box-shadow:0 16px 42px #ff5b8f33;overflow:hidden}.login-avatar.has-image{background:#101019}.login-avatar img{width:100%;height:100%;object-fit:cover}.login-user strong,.login-form strong{font-family:Readex Pro,sans-serif}.login-user small,.login-form small{color:#f9f5ff9e;font-size:10px}.login-points{color:#69e4cf;font-size:11px;font-style:normal;font-weight:800}.leaderboard-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;margin:14px auto 0;padding:0 14px;border:1px solid rgba(105,228,207,.45);color:#69e4cf;background:#69e4cf14;cursor:pointer}.leaderboard-button svg{width:16px;height:16px}.leaderboard-modal{position:fixed;inset:0 auto 0 0;width:min(360px,92vw);max-width:none;height:100dvh;max-height:none;margin:0;border:1px solid var(--line);border-block-start:0;border-block-end:0;background:var(--surface);color:var(--ink);box-shadow:18px 0 40px #0f18142e}.leaderboard-modal::backdrop{background:#0c120f6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.leaderboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 26px;color:var(--muted);font-size:11px}.leaderboard-toolbar select{min-height:36px;padding:0 9px;border:1px solid var(--line);color:var(--ink);background:var(--field)}.leaderboard-list{display:grid;gap:0;padding:0 26px 24px}.leaderboard-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;border-bottom:1px solid var(--line)}.leaderboard-row strong{color:var(--coral)}.leaderboard-row span{overflow:hidden;text-overflow:ellipsis}.leaderboard-row b{color:var(--green);font-size:11px}.login-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:min(460px,100%);margin:0 auto}.login-form:not(.is-ready){display:none}.login-form.is-inline{grid-template-columns:1fr;width:min(320px,100%);margin-top:4px}.login-form:not(.is-ready) input,.login-form:not(.is-ready) button,.login-form:not(.is-ready) .login-error{display:none}.login-form strong,.login-form small,.login-error{grid-column:1 / -1;text-align:center}.login-form input{height:44px;padding:0 12px;border:1px solid rgba(255,255,255,.12);color:#fff;background:#ffffff12}.login-form .primary-button{color:#08100e;background:#69e4cf}.login-form .primary-button:hover{background:#ff5b8f;color:#fff}.login-back-button{min-height:40px;border:1px solid rgba(255,255,255,.16);color:#f9f5ff;background:#ffffff0f;cursor:pointer}.login-back-button:hover{border-color:#ff5b8fb3;background:#ff5b8f29}.login-error{min-height:16px;margin:0;color:var(--coral);font-size:11px;font-weight:700}.topbar{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:60px;padding:0 3vw;border-bottom:1px solid rgba(107,106,98,.18);direction:ltr;background:var(--topbar-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:20px;font-weight:700;text-decoration:none;justify-self:end;direction:rtl}.topbar-actions{display:flex;align-items:center;justify-self:start;gap:10px}.reset-button{border-color:#dc6b508c;color:var(--coral);background:transparent}.reset-button:hover{border-color:var(--coral);color:#fff;background:var(--coral)}.theme-button{border-color:#cf9d378c;color:var(--mustard)}.theme-button:hover{border-color:var(--mustard);color:#fff;background:var(--mustard)}.logout-button{border-color:#76786f73;color:var(--muted)}.logout-button:hover{border-color:var(--ink);color:var(--surface);background:var(--ink)}.account-button{border-color:#224d3b8c;color:var(--green);background:transparent}.account-button:hover{border-color:var(--green);color:#fff;background:var(--green)}.brand-mark{display:grid;grid-template-columns:repeat(3,5px);align-items:end;gap:3px;width:24px;height:24px;padding:4px;background:var(--green)}.brand-mark span{display:block;width:5px;background:var(--surface)}.brand-mark span:nth-child(1){height:8px}.brand-mark span:nth-child(2){height:13px}.brand-mark span:nth-child(3){height:10px}.topbar-center{min-width:0;padding:0 12px;color:var(--ink);max-width:min(38vw,420px);overflow:hidden;font-size:13px;font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap;direction:rtl;unicode-bidi:plaintext}.topbar-center .today-label{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;direction:rtl;unicode-bidi:plaintext}.date-heading-line{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:8px}.daily-points{color:var(--green);font-size:10px;font-weight:800;white-space:nowrap}.today-button,.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border:0;color:#fffefa;background:var(--green);cursor:pointer;transition:transform .16s ease,background .16s ease}.rewards-button{gap:6px;color:#fffefa;border-bottom:0;background:var(--green)}.rewards-button small{padding:2px 6px;color:var(--green);background:var(--surface);font-size:9px;font-weight:700}.rewards-button svg{width:16px;height:16px}.today-button{justify-self:end}.today-button:hover,.primary-button:hover{background:var(--green);filter:brightness(.9);transform:translateY(-1px)}.today-button svg,.primary-button svg{width:18px;height:18px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(500px,1fr);direction:ltr;min-height:0}.calendar-panel{min-width:0;padding:20px clamp(18px,2vw,28px);border-left:1px solid var(--line);direction:rtl}.calendar-toolbar,.day-heading,.insights-heading,.modal-header,.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.calendar-toolbar{margin-bottom:12px}.eyebrow{margin:0 0 6px;color:var(--coral);font-size:11px;font-weight:700}h1,h2,h3,p{letter-spacing:0}h1,h2,h3{font-family:Readex Pro,Alexandria,sans-serif}h1{margin:0;font-size:clamp(26px,2.8vw,42px);font-weight:600;line-height:1.12}h2{margin:0;font-size:24px;font-weight:600}h3{margin:0;font-size:14px;font-weight:600}.month-navigation{display:flex;gap:8px}.today-nav-button{border-color:var(--green);color:#fff;background:var(--green);box-shadow:0 4px 12px #185b4333}.today-nav-button:hover{color:#fff;background:#173c2d}.icon-button,.square-action{display:inline-grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:border-color .16s ease,color .16s ease,transform .16s ease}.icon-button:hover,.square-action:hover{border-color:var(--green);color:var(--green);transform:translateY(-1px)}.icon-button svg,.square-action svg{width:19px;height:19px}.icon-button.today-nav-button{color:#fff;background:var(--green)}.icon-button.today-nav-button:hover{color:#fff;background:var(--green);filter:brightness(.9)}.tooltip{position:relative}.tooltip:after{position:absolute;z-index:50;bottom:calc(100% + 9px);left:50%;padding:7px 9px;color:#fff;background:var(--ink);content:attr(data-tooltip);font-size:10px;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,5px);transition:opacity .14s ease,transform .14s ease}.tooltip:hover:after,.tooltip:focus-visible:after{opacity:1;transform:translate(-50%)}.calendar-shell{overflow:hidden;border:1px solid var(--ink);background:var(--surface);box-shadow:var(--shadow)}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{border-bottom:1px solid var(--ink)}.weekday{display:grid;place-items:center;min-height:34px;padding:0 3px;border-left:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:700;overflow-wrap:anywhere}.weekday:last-child{border-left:0}.calendar-grid{direction:rtl}.calendar-day{position:relative;min-width:0;min-height:clamp(46px,4.2vw,64px);padding:8px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:right;background:transparent;cursor:pointer;transition:background .15s ease}.calendar-day:nth-child(7n+1){border-right:0}.calendar-day:nth-last-child(-n+7){border-bottom:0}.calendar-day:hover{background:var(--hover)}.calendar-day.is-outside{color:var(--muted);background:#e9e4d857}.calendar-day.is-selected{box-shadow:inset 0 0 0 2px var(--green);background:var(--green-soft)}.calendar-day.is-today .day-number{color:#fff;background:var(--coral)}.day-number{display:inline-grid;place-items:center;width:28px;height:28px;font-family:Readex Pro,sans-serif;font-size:13px;font-weight:600}.day-main{position:absolute;top:9px;right:9px;left:9px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:8px;direction:rtl;pointer-events:none}.day-task-preview{display:grid;min-width:0;gap:3px;direction:rtl;text-align:right;pointer-events:none}.day-task-line{display:block;min-width:0;overflow:hidden;color:var(--ink);font-size:9px;font-weight:500;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.day-task-line:before{display:inline-block;width:5px;height:5px;margin-left:5px;border-radius:50%;background:var(--task-color);content:"";vertical-align:1px}.day-task-line.is-complete{color:var(--muted);text-decoration:line-through}.day-task-line.is-complete:before{background:#a9aaa2}.more-tasks{color:var(--muted);font-size:8px;line-height:1.4}.day-metrics{position:absolute;right:9px;bottom:9px;left:9px;display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:12px;direction:ltr}.task-metric,.habit-metric{font-size:9px;font-weight:600}.task-metric{color:var(--task-color)}.habit-metric{color:var(--habit-color)}.day-panel{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:16px;padding:20px 22px;direction:rtl;background:var(--panel-tint)}.day-heading{align-items:flex-start;grid-column:1 / -1;margin-bottom:0}.day-heading h2{font-size:25px}.quick-actions{display:flex;direction:ltr;gap:8px}.square-action-primary{border-color:var(--green);color:#fff;background:var(--green)}.square-action-primary:hover{color:#fff;background:#173c2d}.habit-action{display:inline-flex;align-items:center;justify-content:center;gap:0;width:30px;min-height:30px;padding:0;border-color:var(--habit-color);border:1px solid var(--habit-color);color:#fff;background:var(--habit-color);cursor:pointer;font:inherit;font-size:11px;font-weight:700}.habit-action svg{width:15px;height:15px}.habit-action:hover{border-color:#b94e39;color:#fff;background:#b94e39}.list-section+.list-section{margin-top:0}.habits-section{padding-inline-start:16px;border-inline-start:1px solid var(--line)}.section-title{margin-bottom:11px}.section-title-inline{display:inline-flex;align-items:center;gap:9px}.compact-add-action{width:30px;height:30px}.section-title-copy{display:grid;gap:5px}.progress-count{color:var(--muted);font-size:12px;font-weight:600;direction:ltr}.progress-track{height:3px;margin-bottom:10px;overflow:hidden;background:var(--paper-deep)}.progress-track span{display:block;width:0;height:100%;background:var(--green);transition:width .24s ease}.habit-progress span{background:var(--habit-color)}.check-list{display:grid;gap:7px}.check-item{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:11px;min-height:40px;padding:7px 9px;border-bottom:1px solid var(--line);background:var(--panel-tint)}.check-item:hover{background:var(--surface)}.check-control{display:grid;flex:0 0 22px;place-items:center;width:22px;height:22px;padding:0;border:1.5px solid #a9aaa2;color:transparent;background:transparent;cursor:pointer}.check-control svg{width:15px;height:15px;stroke-width:3}.check-item.is-complete .check-control{border-color:var(--green);color:#fff;background:var(--green)}.habit-item.is-complete .check-control{border-color:var(--habit-color);background:var(--habit-color)}.check-label{display:inline-flex;align-items:center;gap:6px;min-width:0;flex:1;overflow-wrap:break-word;word-break:normal;font-size:12px;line-height:1.7}.check-content{display:grid;min-width:0;flex:1;gap:6px;padding-left:4px}.check-label svg{width:13px;height:13px;color:var(--coral)}.check-item.is-priority{border-right:3px solid var(--coral);background:var(--priority-bg)}.compound-task{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:stretch;padding:9px 12px}.compound-line{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;width:100%;min-height:30px;padding:5px 0;border:0;color:var(--ink);direction:rtl;text-align:right;background:transparent;cursor:pointer}.compound-line span{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;min-width:0;max-width:100%;direction:rtl;text-align:right;overflow-wrap:break-word;word-break:normal;line-height:1.7}.compound-line>svg{display:grid;flex:0 0 18px;width:18px;height:18px;padding:2px;border:1.2px solid var(--line);color:transparent}.parent-line{min-height:36px;padding:4px 0 9px;border-bottom:1px solid rgba(118,120,111,.34);font-size:13px;font-weight:800}.task-inline-actions{grid-column:1 / -1;justify-self:start;z-index:2;display:inline-flex;align-items:center;gap:4px;margin-top:2px;direction:ltr}.mini-row-action{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid transparent;color:var(--muted);background:transparent;cursor:pointer}.mini-drag-handle{cursor:grab}.mini-drag-handle:active{cursor:grabbing}.task-check-row.is-dragging{opacity:.55;background:var(--green-soft);transform:scale(.995)}.mini-row-action:hover{border-color:var(--line);color:var(--green);background:var(--green-soft)}.mini-row-action.delete-action:hover,.mini-row-action.priority-action.is-active{color:var(--coral);background:var(--coral-soft)}.mini-row-action svg{width:15px;height:15px}.parent-line span svg{width:13px;height:13px;padding:0;border:0;color:var(--coral)}.compound-task.is-complete .parent-line{color:var(--muted);background:color-mix(in srgb,var(--green) 9%,transparent)}.compound-task.is-complete .parent-line>svg{border-color:var(--green);color:#fff;background:var(--green)}.compound-task.is-complete .parent-line span{color:var(--green);text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:color-mix(in srgb,var(--green) 70%,var(--ink));text-underline-offset:3px}.subtask-list{display:grid;gap:0;padding-top:6px}.compound-task>.subtask-list{padding-right:20px;border-right:1px solid var(--line)}.subtask-check{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;width:100%;min-height:30px;padding:4px 0;border:0;color:var(--ink);direction:rtl;text-align:right;background:transparent;cursor:pointer}.subtask-check:before{flex:0 0 17px;color:var(--muted);content:"↳";font-size:17px;line-height:1}.subtask-plus{display:inline-grid;flex:0 0 18px;place-items:center;width:18px;height:18px;border:1px solid var(--line);color:var(--green);font-size:15px;font-weight:700;line-height:1}.subtask-check>svg{display:grid;flex:0 0 18px;width:18px;height:18px;padding:2px;border:1.2px solid var(--line);color:transparent}.subtask-check.is-complete{color:var(--green);background:color-mix(in srgb,var(--green) 8%,transparent)}.subtask-check.is-complete>svg{border-color:var(--green);color:#fff;background:var(--green)}.subtask-check span{display:inline-flex;justify-content:flex-end;min-width:0;direction:rtl;overflow-wrap:break-word;word-break:normal;font-size:12px;line-height:1.7}.subtask-check.is-complete span{color:var(--green);font-weight:700;text-decoration:line-through;text-decoration-thickness:1.3px;text-decoration-color:color-mix(in srgb,var(--green) 70%,var(--ink));text-underline-offset:3px}.subtask-check .subtask-plus{display:inline-grid;flex:0 0 18px;place-items:center;width:18px;height:18px;min-width:18px;color:var(--green);font-size:15px;font-weight:700;line-height:1;text-decoration:none}.check-item.is-complete .check-label{color:var(--green);font-weight:700;text-decoration:line-through;text-decoration-thickness:1.4px;text-decoration-color:color-mix(in srgb,var(--green) 70%,var(--ink));text-underline-offset:3px}.check-item.is-complete{background:color-mix(in srgb,var(--green) 8%,var(--panel-tint))}.empty-state{display:grid;justify-items:center;padding:18px 8px 8px;color:var(--muted);text-align:center}.empty-state img{width:min(100%,210px);height:105px;margin-bottom:10px;object-fit:cover;mix-blend-mode:multiply}.empty-state p{margin:0;font-size:11px;line-height:1.8}.empty-state button{margin-top:9px;padding:0;border:0;border-bottom:1px solid var(--coral);color:var(--coral);font-size:11px;background:transparent;cursor:pointer}.insights{padding:24px clamp(20px,4vw,58px) 30px;border-top:1px solid var(--line);background:var(--surface)}.insights-heading{flex-wrap:wrap;margin-bottom:14px}.chart-actions{position:relative;display:inline-flex;align-items:stretch;gap:10px}.range-selector{position:relative;display:inline-flex;align-items:stretch}.range-choice-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:158px;height:42px;padding:0 13px;border:1px solid var(--green);color:var(--surface);background:var(--green);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.range-choice-button:hover{transform:translateY(-1px);box-shadow:0 12px 24px #224d3b29}.range-choice-button svg{width:17px;height:17px}.range-choice-button span{font-weight:800}.range-choice-button small{max-width:0;overflow:hidden;white-space:nowrap;opacity:0}.mini-calendar-popover{position:absolute;z-index:40;top:calc(100% + 10px);right:0;width:min(330px,calc(100vw - 42px));padding:14px;border:1px solid var(--ink);background:var(--surface);box-shadow:0 22px 55px #1c251f33}.mini-calendar-head{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:8px;margin-bottom:10px}.mini-calendar-head .icon-button{width:34px;height:34px}.mini-calendar-head strong{text-align:center;font-family:Readex Pro,sans-serif;font-size:14px}.mini-range-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px;border:1px solid var(--line)}.mini-weekdays,.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.mini-weekdays span{padding:6px 0;color:var(--muted);font-size:8px;font-weight:700;text-align:center}.mini-day{min-height:34px;border:0;color:var(--ink);background:transparent;cursor:pointer}.mini-day:hover{background:var(--green-soft)}.mini-day.is-outside{color:#aaa}.mini-day.is-between{background:#224d3b1c}.mini-day.is-start,.mini-day.is-end{color:#fff;background:var(--green)}.stats-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid var(--green);color:var(--green);background:var(--surface);cursor:pointer;transition:color .16s ease,background .16s ease,transform .16s ease}.stats-button:hover{color:var(--surface);background:var(--green);transform:translateY(-1px)}.stats-button svg{width:17px;height:17px}.chart-legend{display:flex;gap:20px;color:var(--muted);font-size:11px}.chart-legend span{display:inline-flex;align-items:center;gap:7px}.legend-dot{width:9px;height:9px;border-radius:50%}.tasks-dot{background:var(--green)}.habits-dot{background:var(--coral)}.chart-wrap{position:relative;width:100%;max-width:100%;height:250px;overflow:hidden}.chart-wrap canvas{display:block;width:100%!important;max-width:100%}.modal{width:min(560px,calc(100vw - 32px));max-height:min(720px,calc(100vh - 32px));padding:0;overflow:hidden;border:1px solid var(--ink);border-radius:0;color:var(--ink);background:var(--surface);box-shadow:0 26px 80px #1c251f40}.modal::backdrop{background:#1c251f85;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal[open]{animation:modal-in .18s ease both}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:24px 26px 20px;border-bottom:1px solid var(--line)}.modal-header h2{font-size:22px}.modal-header .icon-button{flex:0 0 42px}.field-label{display:block;padding:20px 26px 8px;color:var(--muted);font-size:11px;font-weight:600}.date-field{position:relative;display:flex;align-items:center;margin:0 26px}.date-field svg{position:absolute;right:13px;width:18px;height:18px;color:var(--green);pointer-events:none}.date-field input{width:100%;height:46px;padding:0 42px 0 12px;border:1px solid var(--line);border-radius:0;color:var(--ink);background:var(--field)}.add-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:20px 26px}.add-form input{min-width:0;height:46px;padding:0 14px;border:1px solid var(--line);border-radius:0;color:var(--ink);background:var(--field)}.task-extra-options{display:grid;grid-template-columns:auto auto;align-items:start;gap:8px 14px;padding:0 26px 18px}.points-field{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:600}.repeat-task-options{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(130px,1fr) minmax(110px,.8fr);gap:10px;width:100%;margin-top:10px;grid-column:1 / -1}.repeat-task-options .form-field{display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:600}.repeat-task-options select,.repeat-task-options input{width:100%;min-height:34px;padding:0 8px;border:1px solid var(--line);color:var(--ink);background:var(--field)}.task-repeat-badge{display:inline-block;margin-inline-start:6px;color:var(--green);font-size:14px;font-style:normal;font-weight:700}.points-field input{width:78px;min-height:32px;padding:0 8px;border:1px solid var(--line);color:var(--ink);background:var(--surface);font:inherit}.task-points{display:inline-block;margin-inline-start:7px;color:var(--coral);font-size:10px;font-style:normal;font-weight:700;direction:ltr}.points-balance-card{display:flex;align-items:center;justify-content:space-between;margin:0 28px 16px;padding:14px 16px;border:1px solid var(--green);background:var(--green-soft)}.points-balance-card span{color:var(--muted);font-size:11px}.points-balance-card strong{color:var(--green);font-size:20px}.reward-form{grid-template-columns:minmax(0,1fr) 100px auto}#habitsModal .add-form{grid-template-columns:minmax(0,1fr) 78px auto}.reward-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:10px 0;border-bottom:1px solid var(--line)}.reward-copy{display:grid;gap:3px;min-width:0}.reward-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reward-copy span{color:var(--coral);font-size:11px;font-weight:700}.reward-actions{display:inline-flex;gap:4px;direction:ltr}.reward-actions button:disabled{opacity:.35;cursor:not-allowed}.priority-toggle{display:inline-flex;align-items:center;width:fit-content;cursor:pointer}.priority-toggle input{position:absolute;opacity:0}.priority-toggle span{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;border:1px solid var(--line);color:var(--muted);background:var(--surface)}.priority-toggle svg{width:15px;height:15px}.priority-toggle input:checked+span{border-color:var(--coral);color:#fff;background:var(--coral)}.subtask-field,.form-field{display:grid;gap:7px;color:var(--muted);font-size:10px;font-weight:600}.subtask-field textarea,.form-field input,.form-field select{width:100%;min-width:0;border:1px solid var(--line);border-radius:0;color:var(--ink);background:var(--field)}.task-extra-options .subtask-field{grid-column:1 / -1}.subtask-field textarea{min-height:78px;padding:10px 12px;resize:vertical}.form-field input,.form-field select{height:42px;padding:0 10px}.add-form input::placeholder{color:#a3a39c}.primary-button{min-width:105px}.modal-list{max-height:350px;padding:0 26px 22px;overflow-y:auto}.shop-category{padding:12px 0 4px;border-bottom:1px solid var(--line)}.shop-category h3{margin:0 0 8px;color:var(--green)}.shop-category-items{display:grid;gap:2px}.reward-copy{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px}.reward-copy img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid var(--green)}.reward-copy small{grid-column:2;color:var(--muted);font-size:10px}.accounts-admin-list{display:grid;gap:8px;max-height:300px;padding:0 26px 18px;overflow-y:auto}.account-admin-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto auto auto auto;align-items:center;gap:8px;min-height:58px;padding:8px 0;border-bottom:1px solid var(--line)}.account-admin-row .login-avatar{width:40px;height:40px;font-size:17px}.account-admin-row strong{min-width:0;overflow-wrap:break-word}.account-admin-row small{color:var(--muted);font-size:10px}.delete-account-action:hover{color:var(--coral);background:var(--coral-soft)}.edit-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto auto auto;align-items:center;gap:7px;min-height:52px;border-bottom:1px solid var(--line);transition:background .15s ease,opacity .15s ease,transform .15s ease}.edit-row.is-dragging{opacity:.55;background:var(--green-soft);transform:scale(.995)}.edit-row.is-priority{padding-right:8px;border-right:3px solid var(--coral);background:var(--priority-bg)}.edit-row-main{min-width:0}.edit-row input{min-width:0;height:38px;padding:0 9px;border:1px solid transparent;color:var(--ink);background:transparent}.edit-row input:not([readonly]){border-color:var(--green);background:var(--field)}.row-action{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);color:var(--muted);background:transparent;cursor:pointer}.row-drag-handle{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid transparent;color:var(--muted);background:transparent;cursor:grab;touch-action:none}.row-drag-handle:active{cursor:grabbing}.row-drag-handle:hover{border-color:var(--line);color:var(--green);background:var(--green-soft)}.row-drag-handle svg{width:17px;height:17px}.row-action:hover{color:var(--green);background:var(--green-soft)}.row-action:disabled{opacity:.28;cursor:not-allowed}.redeem-reward-action.is-owned{color:var(--green);background:var(--green-soft);opacity:1}.priority-action.is-active{color:var(--coral);background:var(--coral-soft)}.edit-subtasks{display:flex;flex-wrap:wrap;gap:5px;padding:0 9px 7px}.edit-subtasks span{padding:3px 6px;color:var(--muted);background:var(--paper);font-size:9px}.edit-subtasks span.is-complete{text-decoration:line-through}.modal-actions{display:flex;gap:8px}.lesson-modal{width:min(720px,calc(100vw - 32px))}.lesson-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:22px 26px}.compact-form{grid-template-columns:repeat(3,minmax(0,1fr))}.exam-dates-field{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.lesson-submit{grid-column:1 / -1}.lessons-list{max-height:280px}.lesson-card,.subject-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.lesson-card{grid-template-columns:minmax(0,1fr) auto}.lesson-card small{grid-column:1 / -1;color:var(--muted);font-size:9px;line-height:1.8}.lesson-card strong,.subject-row strong{display:block;margin-bottom:5px;font-size:12px}.lesson-card span,.subject-row span{color:var(--muted);font-size:10px}.subject-exam-editor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.subject-exam-editor label{display:grid;gap:5px;color:var(--muted);font-size:9px}.subject-exam-editor input{min-width:0;height:34px;padding:0 7px;border:1px solid var(--line);color:var(--ink);background:var(--field)}.row-action.delete-action:hover{color:#a53e2a;background:var(--coral-soft)}.row-action svg{width:17px;height:17px}.modal-note{display:flex;align-items:center;gap:8px;margin:0;padding:14px 26px;color:var(--muted);background:var(--paper);font-size:10px;line-height:1.7}.modal-note svg{flex:0 0 16px;width:16px;height:16px}.stats-modal{width:min(880px,calc(100vw - 32px))}.stats-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 26px;border-bottom:1px solid var(--line);background:var(--paper)}.segment-control{display:inline-flex;border:1px solid var(--line);background:var(--surface)}.segment-button{min-height:38px;padding:0 13px;border:0;color:var(--muted);background:transparent;cursor:pointer}.segment-button+.segment-button{border-right:1px solid var(--line)}.segment-button.is-active{color:#fff;background:var(--green)}#statsRangeLabel{margin:0;color:var(--muted);font-size:11px;font-weight:500}.stats-content{max-height:min(620px,calc(100vh - 190px));padding:24px 26px 30px;overflow-y:auto}.stats-explainer{display:flex;align-items:flex-start;gap:9px;margin:0 0 20px;padding:12px 14px;color:#4f554f;border-right:3px solid var(--mustard);background:#cf9d3717;font-size:11px;line-height:1.9}.stats-explainer svg{flex:0 0 17px;width:17px;height:17px;margin-top:2px;color:var(--mustard)}.stats-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat-block{min-width:0;padding:18px 16px}.stat-block+.stat-block{border-right:1px solid var(--line)}.stat-block-head{display:flex;align-items:center;gap:7px;margin-bottom:11px;color:var(--muted);font-size:11px;font-weight:600}.stat-block-head svg{width:15px;height:15px;color:var(--coral)}.stat-value{display:block;color:var(--ink);font-family:Readex Pro,sans-serif;font-size:25px;font-weight:600;line-height:1.15;direction:rtl;text-align:right}.stat-detail{display:block;min-height:18px;margin-top:6px;color:var(--muted);font-size:10px;line-height:1.8}.stats-columns{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:34px;margin-top:30px}.stats-section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.habit-ranking,.daily-stats-list{display:grid}.habit-stat-row{padding:12px 0;border-bottom:1px solid var(--line)}.habit-stat-copy,.daily-stat-copy{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:11px}.habit-stat-copy span:first-child{min-width:0;overflow-wrap:anywhere}.habit-stat-copy strong,.daily-stat-copy strong{flex:0 0 auto;font-weight:600}.mini-progress{height:3px;overflow:hidden;background:var(--paper-deep)}.mini-progress span{display:block;height:100%;background:var(--coral)}.daily-stat-row{display:grid;grid-template-columns:78px minmax(0,1fr) 70px;align-items:center;gap:12px;min-height:54px;border-bottom:1px solid var(--line)}.daily-stat-date{font-size:11px;font-weight:600}.daily-stat-breakdown{color:var(--muted);font-size:10px;line-height:1.8}.daily-stat-breakdown span{display:block}.daily-stat-breakdown b{color:var(--ink);font-weight:500}.daily-stat-percent{display:grid;gap:2px;color:var(--green);font-family:Readex Pro,sans-serif;font-size:15px;font-weight:600;text-align:left}.daily-stat-percent small{color:var(--muted);font-family:Alexandria,sans-serif;font-size:8px;font-weight:500}.stats-empty{padding:24px 0;color:var(--muted);font-size:10px;line-height:1.8}[hidden]{display:none!important}.reset-modal{width:min(590px,calc(100vw - 32px))}.reset-options{padding:8px 26px 24px}.reset-option{display:grid;grid-template-columns:36px minmax(0,1fr) 20px;align-items:center;gap:12px;width:100%;min-height:74px;padding:12px 4px;border:0;border-bottom:1px solid var(--line);text-align:right;background:transparent;cursor:pointer;transition:color .15s ease,background .15s ease}.reset-option:hover{color:var(--green);background:#dce8df70}.reset-option>svg:first-child{width:20px;height:20px;color:var(--green)}.reset-option>svg:last-child{width:17px;height:17px;color:var(--muted)}.reset-option span{min-width:0}.reset-option strong,.reset-option small{display:block}.reset-option strong{margin-bottom:5px;font-size:12px;font-weight:600}.reset-option small{color:var(--muted);font-size:9px;line-height:1.7}.danger-option:hover{color:#a53e2a;background:var(--coral-soft)}.danger-option>svg:first-child{color:var(--coral)}.reset-confirmation{display:grid;justify-items:center;padding:36px 26px 30px;text-align:center}.confirmation-icon{display:grid;place-items:center;width:54px;height:54px;margin-bottom:18px;color:#a53e2a;background:var(--coral-soft)}.confirmation-icon svg{width:23px;height:23px}.reset-confirmation h3{font-size:17px}.reset-confirmation p{max-width:390px;margin:10px 0 24px;color:var(--muted);font-size:10px;line-height:1.9}.confirmation-actions{display:flex;gap:8px}.reset-delete-field{display:grid;gap:6px;width:min(320px,100%);margin:0 0 18px;color:var(--muted);font-size:11px;font-weight:700;text-align:right}.reset-delete-field input{width:100%;min-height:42px;padding:0 10px;border:1px solid var(--coral);color:var(--ink);background:var(--field);direction:ltr;text-align:left}.secondary-button,.danger-button{min-width:100px;min-height:42px;padding:0 14px;border:1px solid var(--line);background:var(--surface);cursor:pointer}.danger-button{border-color:var(--coral);color:#fff;background:var(--coral)}.danger-button:hover{background:#b94e39}.toast{position:fixed;z-index:100;right:50%;bottom:24px;max-width:calc(100vw - 32px);padding:12px 18px;color:#fff;background:var(--ink);font-size:11px;opacity:0;pointer-events:none;transform:translate(50%,14px);transition:opacity .18s ease,transform .18s ease}.toast.is-visible{opacity:1;transform:translate(50%)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1020px){.workspace{grid-template-columns:minmax(0,1fr)}.calendar-panel{border-left:0}.day-panel{border-top:1px solid var(--line)}.day-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.day-heading{grid-column:1 / -1;margin-bottom:0}.list-section+.list-section{margin-top:0}}@media(max-width:680px){.login-screen{align-items:start;padding:14px;overflow-y:auto}.login-panel{padding:20px 14px}.login-brand{margin-bottom:18px}.login-users{grid-template-columns:1fr;gap:12px;margin-bottom:14px}.login-user{min-height:0;padding:18px 12px}.login-avatar{width:min(42vw,150px);height:min(42vw,150px)}.login-form.is-inline,.login-form input,.login-form .primary-button,.login-back-button{width:100%}.topbar{grid-template-columns:1fr auto;min-height:64px;padding:0 16px}.topbar-center{display:none}.today-button{min-width:42px;width:42px;padding:0}.topbar-actions{gap:7px}.topbar-actions .reset-button{width:38px;height:38px}.brand{font-size:18px}.today-button span,.rewards-button small{display:none}.calendar-panel,.day-panel{padding-right:16px;padding-left:16px}.insights{width:100vw;margin-right:calc(50% - 50vw);margin-left:calc(50% - 50vw);padding:16px 10px 24px;overflow-x:hidden}.calendar-toolbar{align-items:flex-end;margin-bottom:12px}h1{font-size:27px}.icon-button,.square-action{width:40px;height:40px}.weekday{min-height:34px;font-size:7px}.calendar-day{min-height:52px;padding:5px}.day-number{width:24px;height:24px;font-size:10px}.day-main{top:4px;right:4px;left:4px;grid-template-columns:24px minmax(0,1fr);gap:1px}.day-task-line{font-size:7px;line-height:1.3}.day-task-line:nth-child(n+2),.more-tasks{display:none}.day-task-line:before{width:4px;height:4px;margin-left:3px}.day-metrics{right:5px;bottom:4px;left:5px}.task-metric,.habit-metric{font-size:7px}.day-panel{display:block}.habits-section{padding-inline-start:0;border-inline-start:0;border-top:1px solid var(--line);padding-top:16px}.day-heading{margin-bottom:30px}.day-heading h2{font-size:23px}.list-section+.list-section{margin-top:34px}.insights-heading{align-items:flex-end}.chart-actions{width:100%;order:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.range-choice-button,.stats-button{width:100%;min-width:0}.insights-heading h2{font-size:21px}.chart-legend{display:grid;gap:6px}.chart-wrap{height:220px}.add-form{grid-template-columns:minmax(0,1fr) 46px;padding-right:18px;padding-left:18px}.primary-button{min-width:46px;padding:0}.primary-button span{display:none}.modal-header,.modal-list,.field-label{padding-right:18px;padding-left:18px}.date-field{margin-right:18px;margin-left:18px}.tooltip:after{display:none}.stats-toolbar{display:grid;padding-right:18px;padding-left:18px}.segment-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.segment-button{padding:0 7px;font-size:10px}.stats-content{padding-right:18px;padding-left:18px}.stats-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-block+.stat-block{border-right:0}.stat-block:nth-child(2n){border-right:1px solid var(--line)}.stat-block:nth-child(n+3){border-top:1px solid var(--line)}.stats-columns{grid-template-columns:minmax(0,1fr)}.daily-stat-row{grid-template-columns:67px minmax(0,1fr) 58px;gap:8px}.stats-explainer{font-size:10px}.reset-options{padding-right:18px;padding-left:18px}.lesson-form,.compact-form,.exam-dates-field,.subject-exam-editor{grid-template-columns:minmax(0,1fr)}.task-extra-options{padding-right:18px;padding-left:18px}.repeat-task-options{grid-template-columns:minmax(0,1fr)}.reward-form{grid-template-columns:minmax(0,1fr) 78px 46px}#habitsModal .add-form{grid-template-columns:minmax(0,1fr) 62px 46px}.points-balance-card{margin-right:18px;margin-left:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
