:root{--color-bg:#f5ead8;--color-surface:#ebddc5;--color-text:#201e1d;--color-accent:#c67139;--color-accent-2:#7a8a5e;--color-divider:#201e1d29;--color-neutral-100:#f9f4ed;--color-neutral-200:#eee7db;--color-neutral-300:#dcd3c4;--color-neutral-400:#c0b6a5;--color-neutral-500:#a19786;--color-neutral-600:#82796a;--color-neutral-700:#645c50;--color-neutral-800:#474238;--color-neutral-900:#2e2b25;--color-accent-100:#fff2eb;--color-accent-200:#ffe1d0;--color-accent-300:#ffc6a5;--color-accent-400:#f6a06b;--color-accent-500:#d67f48;--color-accent-600:#b2622d;--color-accent-700:#8c491a;--color-accent-800:#643312;--color-accent-900:#402310;--color-accent-2-100:#f0fae1;--color-accent-2-200:#e1eecc;--color-accent-2-300:#ccdbb2;--color-accent-2-400:#aebf92;--color-accent-2-500:#8fa073;--color-accent-2-600:#728157;--color-accent-2-700:#56633f;--color-accent-2-800:#3d472b;--color-accent-2-900:#272e1b;--font-heading:Fraunces, Georgia, "Noto Serif Devanagari", serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans Devanagari", sans-serif;--space-1:4.4px;--space-2:8.8px;--space-3:13.2px;--space-4:17.6px;--space-6:26.4px;--space-8:35.2px;--radius-sm:8px;--radius-md:16px;--radius-lg:28px;--shadow-sm:0 1px 2px #2e2b2524;--shadow-md:0 3px 10px #2e2b2529;--shadow-lg:0 12px 32px #2e2b2538}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55}h1,h2,h3{font-family:var(--font-heading);margin:0 0 var(--space-3);font-weight:550;line-height:1.2}h1{font-size:2rem}h2{margin-top:var(--space-6);font-size:1.3rem}p{margin:0 0 var(--space-3)}.shell{flex-direction:column;min-height:100vh;display:flex}.shell>main{width:100%;max-width:60rem;padding:var(--space-6) var(--space-4) var(--space-8);flex:1;margin:0 auto}.topbar{align-items:center;gap:var(--space-4);width:100%;max-width:60rem;padding:var(--space-4);flex-wrap:wrap;margin:0 auto;display:flex}.brand{align-items:center;gap:var(--space-2);font-family:var(--font-heading);color:var(--color-accent-700);letter-spacing:.01em;font-size:1.35rem;font-weight:600;text-decoration:none;display:inline-flex}.brand-mark{border-radius:50%;width:28px;height:28px}.nav{gap:var(--space-1);flex-wrap:wrap;margin-right:auto;display:flex}.nav a{color:var(--color-neutral-700);padding:var(--space-1) var(--space-3);border-radius:999px;text-decoration:none;transition:background .15s,color .15s}.nav a:hover{background:var(--color-neutral-200)}.nav a.active{background:var(--color-surface);color:var(--color-accent-800);box-shadow:var(--shadow-sm)}.foot{width:100%;max-width:60rem;padding:var(--space-4);color:var(--color-neutral-600);margin:0 auto;font-size:.85rem}.build-version{margin:var(--space-2) 0 0;color:var(--color-neutral-500);font-size:.75rem}.admin-shell{background:var(--color-neutral-100)}.admin-shell .nav a.active{background:var(--color-neutral-200);color:var(--color-neutral-900);box-shadow:none}.admin-tag{margin-left:var(--space-2);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent-2-800);background:var(--color-accent-2-200);border-radius:var(--radius-sm);vertical-align:middle;padding:2px 8px;font-size:.7rem;font-weight:600}.admin-banner{max-width:60rem;width:calc(100% - 2 * var(--space-4));padding:var(--space-2) var(--space-3);background:var(--color-accent-2-200);color:var(--color-accent-2-900);border-radius:var(--radius-sm);margin:0 auto;font-size:.85rem}.card{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm);margin-bottom:var(--space-3)}.admin-shell .card{border:1px solid var(--color-neutral-200);box-shadow:none;background:#fff}.muted{color:var(--color-neutral-600)}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85em}.btn{font:inherit;color:var(--color-neutral-800);background:var(--color-neutral-100);border:1px solid var(--color-neutral-300);padding:var(--space-1) var(--space-4);cursor:pointer;border-radius:999px;transition:background .15s}.btn:hover:not(:disabled){background:var(--color-neutral-200)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--color-accent);border-color:var(--color-accent-600);color:var(--color-accent-100)}.btn.primary:hover:not(:disabled){background:var(--color-accent-600)}.lang-toggle{font:inherit;background:var(--color-neutral-100);color:var(--color-neutral-800);border:1px solid var(--color-neutral-300);padding:var(--space-1) var(--space-3);cursor:pointer;border-radius:999px;font-size:.9rem}.lang-toggle:hover,.gentle-error{background:var(--color-neutral-200)}.landing-pitch{font-size:1.05rem}.streak-line{color:var(--color-accent-2-700);font-size:1.05rem}.stat-grid{gap:var(--space-3);margin:var(--space-4) 0;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));display:grid}.stat-card{margin-bottom:0}.stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-neutral-600);font-size:.8rem}.stat-value{font-family:var(--font-heading);color:var(--color-accent-800);font-size:1.7rem}.log-list{margin:0;padding:0;list-style:none}.log-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.log-date{font-variant-numeric:tabular-nums;color:var(--color-neutral-600)}.log-goal{flex:1;min-width:10rem}.chip{white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.8rem}.chip-done{background:var(--color-accent-2-200);color:var(--color-accent-2-800)}.chip-notToday{background:var(--color-neutral-200);color:var(--color-neutral-700)}.chip-pending{background:var(--color-accent-100);color:var(--color-accent-700)}.table-scroll{padding:0;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.92rem}.table th{text-align:left;color:var(--color-neutral-600);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.table th,.table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-divider)}.table tbody tr:last-child td{border-bottom:none}.week3-cell{color:var(--color-accent-2-700);font-weight:600}.pager{align-items:center;gap:var(--space-3);padding:var(--space-3);justify-content:center;display:flex}.join-card label{color:var(--color-neutral-700);margin-bottom:var(--space-1);font-size:.85rem;display:block}.join-row{gap:var(--space-2);display:flex}.join-row input{font:inherit;background:var(--color-neutral-100);border:1px solid var(--color-neutral-300);border-radius:var(--radius-sm);min-width:0;padding:var(--space-2) var(--space-3);text-transform:uppercase;flex:1}.join-row input:focus{outline:2px solid var(--color-accent-400);outline-offset:1px}.room-card{background:var(--color-accent-2-200)}.room-card h2{margin-top:0}.room-members{color:var(--color-accent-2-800);margin:0}.norm-line{color:var(--color-neutral-600);font-style:italic}.catbars{gap:2px;display:grid}.catbar-row{align-items:center;gap:var(--space-2);grid-template-columns:7.5rem 1fr auto;display:grid}.catbar-label{color:var(--color-neutral-700);font-size:.85rem}.catbar-track{min-height:14px;display:block}.catbar-fill{background:var(--color-accent-2);border-radius:0 4px 4px 0;height:14px;display:block}.catbar-value{font-variant-numeric:tabular-nums;color:var(--color-text);font-size:.85rem}.hourcols-bars{grid-template-columns:repeat(24,1fr);align-items:end;gap:2px;height:72px;display:grid}.hourcol{align-items:flex-end;height:100%;display:flex}.hourcol-fill{background:var(--color-accent-2);border-radius:4px 4px 0 0;width:100%}.hourcols-axis{color:var(--color-neutral-600);font-variant-numeric:tabular-nums;grid-template-columns:repeat(24,1fr);gap:2px;margin-top:2px;font-size:.7rem;display:grid}.heat-0{background:var(--color-accent-2-200)}.heat-1{background:var(--color-accent-2-400)}.heat-2{background:var(--color-accent-2-500)}.heat-3{background:var(--color-accent-2-700)}.heatmap{gap:2px;display:grid;overflow-x:auto}.heatmap-row{grid-template-columns:3rem repeat(24,1fr);align-items:center;gap:2px;display:grid}.heatmap-daylabel{color:var(--color-neutral-700);font-size:.75rem}.heatmap-hourlabel{color:var(--color-neutral-600);font-variant-numeric:tabular-nums;font-size:.7rem}.heatmap-cell{border-radius:3px;min-width:10px;height:18px;display:block}.heatmap-table caption{caption-side:top;text-align:left;padding:var(--space-2) var(--space-3)}.heatmap-table td{font-variant-numeric:tabular-nums;text-align:right}.toggle-row{margin-bottom:var(--space-3)}.filter-toggle label{cursor:pointer}.filter-toggle p{margin:var(--space-1) 0 0}.model-grid{gap:var(--space-3);margin:var(--space-4) 0;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));display:grid}.model-cat{margin-bottom:0}.model-cat h3{margin-bottom:var(--space-1)}.chip-label{text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-1);font-size:.75rem}.chip-list{gap:var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chip-token{font-family:var(--font-body);background:var(--color-neutral-200);color:var(--color-neutral-800)}.confusion{border-collapse:separate;border-spacing:2px}.confusion th,.confusion td{border-bottom:none}.confusion td.confusion-cell{text-align:center;font-variant-numeric:tabular-nums;min-width:2.2rem;height:2.2rem;color:var(--color-text);border-radius:4px}.confusion td.confusion-diagonal{box-shadow:inset 0 0 0 2px var(--color-neutral-100)}.confusion caption{caption-side:bottom;text-align:left;padding:var(--space-2) 0 0;font-size:.85rem}.digest-card{background:var(--color-accent-2-200)}.digest-text{color:var(--color-accent-2-900);margin:0;font-size:1.05rem}.suggestion-row{display:block}.suggestion-when{font-variant-numeric:tabular-nums}.suggestion-reason{margin:var(--space-1) 0 0}.suggestion-expected{margin:0;font-size:.85rem}.schedule-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.schedule-row select,.schedule-row input{font:inherit;background:var(--color-neutral-100);border:1px solid var(--color-neutral-300);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2)}.schedule-row select:focus,.schedule-row input:focus{outline:2px solid var(--color-accent-400);outline-offset:1px}.schedule-actions{gap:var(--space-2);margin:var(--space-4) 0 var(--space-3);display:flex}.schedule-saved{color:var(--color-accent-2-700)}.viz-card{padding:var(--space-4)}.retention-viz{width:100%;max-width:30rem;height:auto;display:block}.viz-axis{stroke:var(--color-divider);stroke-width:1px}.viz-label{font-family:var(--font-body);fill:var(--color-neutral-600);font-size:10px}.onboarding{max-width:34rem}.onboarding-mark{border-radius:var(--radius-md);width:64px;height:64px;margin-bottom:var(--space-3);box-shadow:var(--shadow-sm);display:block}.persona-grid{gap:var(--space-3);margin:var(--space-4) 0;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));display:grid}.persona-card{align-items:flex-start;gap:var(--space-2);text-align:left;cursor:pointer;font:inherit;border:1px solid var(--color-divider);flex-direction:column;display:flex}.persona-card:hover:not(:disabled){border-color:var(--color-accent-2-500)}.persona-card:disabled{opacity:.6;cursor:default}.persona-name{font-family:var(--font-heading);font-size:1.05rem}.persona-tagline{color:var(--color-neutral-600);font-size:.85rem;line-height:1.4}.persona-line{margin-top:var(--space-4);align-items:center;gap:var(--space-2);display:flex}.btn-small{padding:.15rem .6rem;font-size:.8rem}.account-link-prompt{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.account-link-prompt label{color:var(--color-neutral-700);margin-bottom:var(--space-1);font-size:.85rem;display:block}.account-link-prompt input{font:inherit;background:var(--color-neutral-100);border:1px solid var(--color-neutral-300);border-radius:var(--radius-sm);width:100%;max-width:20rem;padding:var(--space-1) var(--space-2)}.account-link-prompt input:focus{outline:2px solid var(--color-accent-400);outline-offset:1px}.account-link-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.account-link-line{margin-top:var(--space-2);align-items:center;gap:var(--space-2);display:flex}.delete-account-lang{justify-content:flex-end;display:flex}.account-link-prompt .delete-account-check{align-items:flex-start;gap:var(--space-2);color:var(--color-text);font-size:1rem;display:flex}.account-link-prompt .delete-account-check input{flex:none;width:auto;margin-top:.35em}
