:root{--page-bg: #F1F4EF;--surface: #FFFFFF;--surface-sunk: #EDF0EA;--font-sans: "Archivo", "Helvetica Neue", Arial, sans-serif;--font-mono: "Space Mono", ui-monospace, monospace;--font-display: "Oswald", "Arial Narrow", sans-serif;--rail: #1B2018;--rail-ink: #EDF0EA;--rail-muted: #8C9488;--logo-green: #40B649;--logo-green-deep: #129848;--ink: #191D19;--body: #4E5650;--muted: #676F65;--line: rgba(25, 29, 25, .1);--line-soft: rgba(25, 29, 25, .05);--line-strong: rgba(25, 29, 25, .16);--control-border: rgba(25, 29, 25, .52);--accent-fill: #9DD962;--accent-ink: #0C1A05;--accent-text: #4E7D22;--accent-mid: #4E7D22;--accent-wash: rgba(78, 125, 34, .1);--accent-glow: rgba(157, 217, 98, .3);--accent-glow-strong: rgba(157, 217, 98, .46);--chart-a: #4E7D22;--chart-b: #1F6FB2;--chart-c: #B03E6F;--negative: #B4553A;--negative-wash: rgba(180, 85, 58, .09);--warning: #9A6B1F;--overlay: rgba(0, 0, 0, .5);--shadow: rgba(0, 0, 0, .06)}[data-theme=dark]{--page-bg: #16181C;--surface: #1E2127;--surface-sunk: #262A31;--rail: #101216;--rail-ink: #FFFFFF;--rail-muted: #7D848F;--logo-green: #40B649;--logo-green-deep: #129848;--ink: #FFFFFF;--body: #C7CAD1;--muted: #868C96;--line: rgba(255, 255, 255, .09);--line-soft: rgba(255, 255, 255, .05);--line-strong: rgba(255, 255, 255, .16);--control-border: rgba(255, 255, 255, .46);--accent-fill: #9DD962;--accent-ink: #0C1A05;--accent-text: #9DD962;--accent-mid: #4E7D22;--accent-wash: rgba(157, 217, 98, .13);--accent-glow: rgba(157, 217, 98, .22);--accent-glow-strong: rgba(157, 217, 98, .4);--chart-a: #6FA53C;--chart-b: #4A8CC8;--chart-c: #C96A93;--negative: #D9714F;--negative-wash: rgba(217, 113, 79, .13);--warning: #E0B25F;--overlay: rgba(0, 0, 0, .6);--shadow: rgba(0, 0, 0, .34)}:root,[data-theme=dark]{--bone: var(--surface);--bone-soft: var(--page-bg);--app-bg: var(--page-bg);--clay: var(--surface-sunk);--charcoal: var(--ink);--text-primary: var(--ink);--text-secondary: var(--body);--text-muted: var(--muted);--border: var(--line);--terracotta: var(--accent-mid);--sage: var(--accent-mid);--red: var(--negative)}*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}:root{--sidebar-width: 240px;--header-height: 64px;--btg-bottom-nav-height: calc(59px + max(24px, env(safe-area-inset-bottom))) }html{color-scheme:only light}html[data-theme=dark]{color-scheme:dark}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select{color:var(--ink);border-color:var(--line)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#f0efed80}html,body,#root{height:100%}html{scrollbar-gutter:stable;scrollbar-color:var(--line-strong) transparent}body{margin:0;background:var(--app-bg);font-family:var(--font-sans);color:var(--text-primary)}@media (max-width: 679px){.desktop-only{display:none!important}}@media (min-width: 680px){.mobile-only{display:none!important}}html:has(.MuiDialog-root){scrollbar-gutter:auto}@media (min-width: 680px){.MuiDialog-container:not(:has(.MuiDialog-paperFullScreen)){box-sizing:border-box;padding-left:var(--sidebar-width)}}.app-container{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--rail);color:var(--rail-ink);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100}.sidebar-header{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-logo{font-weight:800;font-size:20px;letter-spacing:-.5px;display:flex;align-items:center;gap:10px}.sidebar-header--full,.sidebar-header--mark,.sidebar-header--b,.sidebar-header--btg{padding:22px 20px 22px 28px}.sidebar-logo svg{display:block}.sidebar-header--big,.sidebar-header--lockup{padding:28px 20px}.sidebar-header--lockup .sidebar-logo,.sidebar-header--centred .sidebar-logo,.sidebar-header--big .sidebar-logo{justify-content:center}.sidebar-header--mark .sidebar-logo{font-size:18px;letter-spacing:-.4px;white-space:nowrap;align-items:baseline}.sidebar-header--b .sidebar-logo,.sidebar-header--btg .sidebar-logo{display:block;font-size:22px;line-height:1.2;white-space:nowrap}.sidebar-logo .brand-glyph{display:inline-block;vertical-align:baseline;margin-right:.02em}.sidebar-logo-icon{width:32px;height:32px;background:var(--terracotta);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-nav{flex:1;padding:16px 12px;overflow-y:auto}.nav-section-label{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:1.5px;opacity:.4;padding:16px 12px 8px}.sidebar-nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;cursor:pointer;transition:all .15s;margin-bottom:4px;opacity:.7;position:relative;-webkit-user-select:none;user-select:none}.sidebar-nav-item:hover{background:#ffffff14;opacity:1}.sidebar-nav-item.active{background:#ffffff1f;opacity:1}.sidebar-nav-item.active:before{content:"";position:absolute;left:0;width:3px;height:24px;background:var(--terracotta);border-radius:0 2px 2px 0}.sidebar-nav-item span{font-size:14px;font-weight:600}.sidebar-footer{padding:16px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-profile{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;cursor:pointer;transition:background .15s}.sidebar-profile:hover{background:#ffffff14}.sidebar-avatar{width:36px;height:36px;border-radius:50%;background:var(--terracotta);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff;overflow:hidden;flex-shrink:0}.sidebar-profile-name{font-size:13px;font-weight:700}.sidebar-profile-meta{font-family:var(--font-mono);font-size:10px;opacity:.5}.main-content{flex:1;min-width:0;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh}.card{background:var(--surface);border-radius:16px;border:1px solid var(--border);overflow:hidden}[data-theme=dark] .card{background:var(--surface);border-color:var(--line)}.card-body{padding:0}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border)}.stat-cell{background:var(--surface);padding:20px;text-align:center}.stat-cell-value{font-family:var(--font-mono);font-size:28px;font-weight:700;color:var(--text-primary)}.stat-cell-value.accent{color:var(--terracotta)}.stat-cell-value.positive{color:var(--sage)}.stat-cell-label{font-family:var(--font-mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin-top:4px}.leaderboard-row{display:flex;align-items:center;gap:12px;padding:14px 24px;border-bottom:1px solid var(--border)}.leaderboard-row:last-child{border-bottom:none}.leaderboard-row.you,[data-theme=dark] .leaderboard-row.you{background:var(--accent-wash)}[data-theme=dark] .leaderboard-row{border-bottom-color:#ffffff1f}.leaderboard-rank{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;font-weight:700;background:var(--bone);color:var(--text-secondary);flex-shrink:0}.leaderboard-rank.gold{background:gold;color:#8b6914}.leaderboard-rank.silver{background:silver;color:#5a5a5a}.leaderboard-rank.bronze{background:#cd7f32;color:#5c3a18}.leaderboard-avatar{width:32px;height:32px;border-radius:50%;background:var(--clay);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;overflow:hidden;flex-shrink:0}[data-theme=dark] .leaderboard-avatar{background:#ffffff1a}.leaderboard-info{flex:1;min-width:0}.leaderboard-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-meta{font-family:var(--font-mono);font-size:10px;color:var(--text-secondary);margin-top:2px}.leaderboard-score{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--terracotta);flex-shrink:0}.resource-card{display:flex;gap:14px;padding:16px 24px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s;align-items:flex-start}.resource-card:hover{background:var(--surface-sunk)}.resource-card:last-child{border-bottom:none}[data-theme=dark] .resource-card{border-bottom-color:#ffffff1f}[data-theme=dark] .resource-card:hover{background:#ffffff0d}.resource-left{width:72px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:2px}.resource-left .resource-progress-badge{margin-bottom:0}.resource-thumb{width:72px;height:50px;border-radius:8px;background:var(--surface-sunk);color:var(--accent-text);display:flex;align-items:center;justify-content:center;flex-shrink:0}.resource-info{flex:1;min-width:0}.resource-info h3{font-size:14px;font-weight:700;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;line-height:1.3;color:var(--text-primary)}[data-theme=dark] .resource-info h3{color:#ffffffe6}@media (max-width: 768px){.resource-info h3{font-size:13px}}@media (max-width: 480px){.resource-info h3{font-size:12px}}.resource-info p{font-size:12px;color:var(--text-secondary);line-height:1.4}[data-theme=dark] .resource-info p{color:#fffc}.resource-meta{margin-top:6px}.resource-meta span{font-family:var(--font-mono);font-size:10px;color:var(--text-secondary);text-transform:uppercase}[data-theme=dark] .resource-meta span{color:#fffc}.resource-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.resource-category{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin-bottom:0}[data-theme=dark] .resource-category{color:#fffc}.resource-tag{display:inline-block;padding:3px 8px;background:var(--bone);border-radius:4px;font-size:9px;font-weight:700;color:var(--terracotta);text-transform:uppercase;margin-bottom:0}[data-theme=dark] .resource-tag{background:#ffffff1a;color:var(--terracotta)}.resource-progress-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:9px;font-weight:700;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.5px;text-align:center;white-space:nowrap;margin-bottom:6px}.resource-progress-badge.complete{background:#e8f5e9;color:var(--sage)}.resource-progress-badge.pending{background:var(--clay);color:var(--text-secondary)}.resource-progress-badge.locked{background:#0000000a;color:var(--text-secondary)}[data-theme=dark] .resource-progress-badge.complete{background:#a3b18a33;color:var(--sage)}[data-theme=dark] .resource-progress-badge.pending{background:#ffffff1a;color:#fff9}[data-theme=dark] .resource-progress-badge.locked{background:#ffffff0d;color:#ffffff80}.overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1400px}.overview-grid .card.full-width{grid-column:span 3}.overview-grid .card.two-thirds{grid-column:span 2}.heatmap-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:24px;overflow:visible}.heatmap-day{aspect-ratio:1;border-radius:6px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;font-weight:400;cursor:pointer;transition:transform .15s;-webkit-user-select:none;user-select:none;position:relative;perspective:800px;overflow:visible}.heatmap-card,.heatmap-card .card-body{overflow:visible}.heatmap-flip-inner{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px;transform-style:preserve-3d;transition:transform .25s ease}.heatmap-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px;display:flex;align-items:center;justify-content:center;backface-visibility:hidden}.heatmap-front{background:inherit;color:inherit}.heatmap-back{transform:rotateY(180deg);background:var(--surface);color:var(--text-primary);border:1px solid var(--border);padding:6px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;text-align:left;font-size:6px;line-height:1.2}.heatmap-back-title{width:100%;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:6px;font-weight:400;letter-spacing:.2px;color:var(--text-secondary)}.heatmap-back-muted{font-family:var(--font-sans);font-size:6px;font-weight:600;color:var(--text-secondary)}.heatmap-back-date{font-family:var(--font-mono);font-size:6px;font-weight:400;letter-spacing:.2px;opacity:.8}.heatmap-back-list{width:100%;display:flex;flex-direction:column;gap:3px}.heatmap-back-row{display:flex;gap:3px;align-items:flex-start}.heatmap-back-label{font-family:var(--font-mono);font-size:6px;font-weight:700;width:10px;flex-shrink:0}.heatmap-back-label.hit{color:var(--sage)}.heatmap-back-label.miss{color:#c44}.heatmap-back-text{font-family:var(--font-sans);font-size:6px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis}@media (hover: hover) and (pointer: fine){.heatmap-day:hover{z-index:30}.heatmap-day:hover .heatmap-flip-inner{transform:rotateY(180deg) scale(1.45)}.heatmap-day:hover .heatmap-back{box-shadow:0 12px 28px var(--shadow)}}.heatmap-day.empty{background:var(--bone);color:var(--text-secondary)}.heatmap-day.low{background:#fde8d8;color:var(--terracotta)}.heatmap-day.medium{background:#f5c9a0;color:var(--charcoal)}.heatmap-day.high{background:var(--terracotta);color:#fff}.heatmap-day.perfect{background:var(--sage);color:#fff}.home-grid{display:grid;grid-template-columns:1fr 380px;gap:32px;max-width:1400px}.home-main,.home-sidebar{display:flex;flex-direction:column;gap:24px}.day-selector-desktop{display:flex;align-items:center;gap:12px}.day-btn{padding:8px 16px;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;color:var(--text-secondary)}.day-btn:hover{background:#0000000d}.day-btn.active{background:var(--surface);color:var(--text-primary);box-shadow:0 2px 8px #00000014}.quick-actions{display:flex;gap:12px;padding:20px 24px}.action-btn{flex:1;padding:10px 20px;border:none;border-radius:10px;font-family:var(--font-sans);font-weight:700;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s,box-shadow .15s}.action-btn:hover{transform:translateY(-1px)}.action-btn.primary{background:var(--charcoal);color:var(--bone-soft)}.action-btn.primary:hover{box-shadow:0 4px 12px var(--shadow)}.action-btn.secondary{background:var(--bone-soft);color:var(--charcoal)}.action-btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}.loading-message,.empty-message{padding:24px 32px;color:var(--text-secondary);font-family:var(--font-mono);font-size:12px}[data-theme=dark] .loading-message,[data-theme=dark] .empty-message{color:#fff9}@media (max-width: 679px){.sidebar{display:none}.main-content{margin-left:0}.home-grid{grid-template-columns:1fr}.home-sidebar{display:none}.overview-grid{grid-template-columns:1fr}.overview-grid .card.full-width,.overview-grid .card.two-thirds{grid-column:span 1}.card{border-radius:0;border-left:none;border-right:none}}@keyframes slideIn{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes popIn{0%{transform:scale(.95);opacity:0}70%{transform:scale(1.02)}to{transform:scale(1);opacity:1}}@keyframes celebrateFlash{0%{background:#fff}50%{background:var(--accent-wash)}to{background:#fff}}@keyframes particleBurst{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(.5)}}.celebration-particle{position:fixed;pointer-events:none;font-size:16px;z-index:10001;animation:particleBurst .6s ease-out forwards}.habit-card-hover:hover{background:var(--surface-sunk)!important;transform:translate(4px)}.habit-card-hover:active{transform:scale(.98)}.status-node{width:26px;height:26px;border:2px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.status-node:before{content:"";width:6px;height:6px;background:var(--ink);border-radius:50%;transition:all .15s}.status-node.completed{background:var(--ink);transform:scale(.9)}.status-node.completed:before{background:var(--bone)}.habit-completed-underline:after{content:"";position:absolute;left:0;bottom:0;height:2px;background:var(--accent-fill);width:100%;transition:width .3s cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.learn-tabs-wrap{padding:4px 0;margin-bottom:16px;background:var(--page-bg)}.learn-skel .resource-card:hover{background:transparent}.learn-skel__bar{height:12px;border-radius:6px;background:var(--surface-sunk);animation:learn-skel-pulse 1.4s ease-in-out infinite}.learn-skel__bar--meta{width:28%;height:9px;margin-top:8px}.learn-skel__block{animation:learn-skel-pulse 1.4s ease-in-out infinite}@keyframes learn-skel-pulse{50%{opacity:.55}}@media (prefers-reduced-motion: reduce){.learn-skel__bar,.learn-skel__block{animation:none}}.learn-seeall{border:0;background:none;padding:8px 10px;margin:-8px -10px;color:var(--accent-text);cursor:pointer;font-family:var(--font-sans);font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.learn-seeall:hover{text-decoration:underline;text-underline-offset:3px}.learn-seeall:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px;border-radius:3px}.learn-tabs-wrap.is-searching .ui-tabs{opacity:.55;transition:opacity .15s ease}.learn-tabs-wrap.is-searching .ui-tabs:hover,.learn-tabs-wrap.is-searching .ui-tabs:focus-within{opacity:1}@media (prefers-reduced-motion: reduce){.learn-tabs-wrap.is-searching .ui-tabs{transition:none}}.learn-search-summary{margin:0 0 12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.4px;color:var(--muted)}.ui-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.ui-loading{min-height:60vh;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.ui-loading--screen{min-height:100vh;min-height:100dvh}.ui-loading__spinner{width:24px;height:24px;border:2.5px solid currentColor;border-right-color:transparent;border-radius:50%;opacity:0;animation:ui-loading-in .2s ease .4s forwards,ui-loading-spin .8s linear infinite}@keyframes ui-loading-in{to{opacity:1}}@keyframes ui-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.ui-loading__spinner{animation:ui-loading-in .2s ease .4s forwards,ui-loading-spin 2.4s linear infinite}}.ui-card{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:16px 18px 18px}.ui-card--flush{padding:0}.ui-card--quiet-panel{border-color:transparent}.ui-card--raised{box-shadow:0 2px 10px var(--shadow)}.ui-card--quiet{background:transparent;border-color:transparent;padding:0}.ui-section-label{margin:0 0 10px;font-family:var(--font-sans);font-size:10px;font-weight:700;letter-spacing:1.7px;text-transform:uppercase;color:var(--muted)}.ui-scroll-thin{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.ui-scroll-thin::-webkit-scrollbar{width:6px;height:4px}.ui-scroll-thin::-webkit-scrollbar-track{background:transparent}.ui-scroll-thin::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:3px}.ui-scroll-none{scrollbar-width:none}.ui-scroll-none::-webkit-scrollbar{display:none}.ui-page{width:100%;max-width:1000px;margin:0 auto;padding:max(24px,env(safe-area-inset-top)) 24px calc(24px + var(--btg-bottom-nav-height))}@media (min-width: 900px){.ui-page{padding-bottom:40px}}.ui-page:has(>.ui-page-header--bar){padding-top:12px}.ui-page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:20px}.ui-page-header__title{margin:0 0 5px;font-family:var(--font-sans);font-size:28px;font-weight:800;letter-spacing:-1px;line-height:1;color:var(--ink)}.ui-page-header__sub{margin:0;font-size:13px;color:var(--muted)}.ui-page-header--bar{position:sticky;top:0;z-index:10;margin:0;padding:12px 0;align-items:center;background:var(--page-bg);border-bottom:1px solid transparent}.is-scrolled .ui-page-header--bar{border-bottom-color:var(--line)}@media (max-width: 679px){.ui-page-header--bar{position:static;padding:0 0 12px}}.ui-search{display:flex;align-items:center;gap:8px;min-height:36px;padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted)}.ui-search:focus-within{border-color:var(--accent-text);color:var(--accent-text)}.ui-search--grow{flex:1;min-width:0}.ui-search svg{flex:none}.ui-search input{width:200px;border:0;background:none;outline:none;font-family:var(--font-sans);font-size:13px;color:var(--ink)}.ui-search input::placeholder{color:var(--muted)}.ui-search__clear{flex:none;display:flex;padding:2px;border:0;background:none;color:var(--muted);cursor:pointer}.ui-search__clear:hover{color:var(--ink)}.ui-search__clear:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px;border-radius:4px}@media (max-width: 679px){.ui-search{padding:7px 10px}.ui-search input{width:100%;min-width:0}}.ui-listcard{padding:0;overflow:hidden}.ui-listcard__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.ui-listcard__head .ui-section-label{margin:0}.ui-listcard__meta{flex:none;font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--accent-text)}.ui-periodnav{display:flex;align-items:center;gap:8px}.ui-periodnav__label{flex:none;min-width:8.5em;text-align:center;font-family:var(--font-display);font-size:17px;letter-spacing:.5px;text-transform:uppercase;color:var(--ink)}.ui-periodnav__btn{display:flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--body);cursor:pointer;position:relative}.ui-periodnav__btn:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.ui-periodnav__btn:hover:not(:disabled){border-color:var(--accent-text);color:var(--accent-text)}.ui-periodnav__btn:disabled{opacity:.35;cursor:not-allowed}.ui-periodnav__btn:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.ui-stat__value{display:block;font-family:var(--font-display);font-size:33px;font-weight:500;line-height:1;letter-spacing:.4px;color:var(--ink);font-variant-numeric:tabular-nums}.ui-stat__value--accent{color:var(--accent-text)}.ui-stat__value--negative{color:var(--negative)}.ui-stat__unit{font-size:.5em}.ui-stat__caption{display:block;margin-top:7px;font-size:11.5px;color:var(--muted)}.ui-stat__caption b{color:var(--ink);font-weight:600}.ui-stat--link{position:relative;transition:border-color .15s ease}.ui-stat__link{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:inherit}.ui-stat__link:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.ui-stat--link :is(button,a):not(.ui-stat__link){position:relative;z-index:2}.ui-stat--link:hover{border-color:var(--line-strong)}.ui-stat__go{position:absolute;top:14px;right:13px;display:flex;color:var(--muted);transition:color .15s ease,transform .15s ease}.ui-stat--link:hover .ui-stat__go{color:var(--accent-text);transform:translate(2px)}.ui-stat--link .ui-section-label{padding-right:18px}@media (prefers-reduced-motion: reduce){.ui-stat--link,.ui-stat__go{transition:none}.ui-stat--link:hover .ui-stat__go{transform:none}}.ui-meter{height:5px;margin-top:11px;border-radius:3px;background:var(--surface-sunk);overflow:hidden}.ui-meter__fill{display:block;height:100%;border-radius:3px;background:var(--accent-fill);transition:width .35s cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion: reduce){.ui-meter__fill{transition:none}}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;padding:10px 17px;cursor:pointer;font-family:var(--font-sans);font-size:12px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;transition:filter .15s ease,background .15s ease,box-shadow .25s ease,transform .25s ease}.ui-btn:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.ui-btn:disabled{opacity:.45;cursor:not-allowed}.ui-btn:not(:disabled):hover{filter:brightness(1.04)}@media (prefers-reduced-motion: reduce){.ui-btn{transition:none}.ui-btn:not(:disabled):hover{transform:none}}.ui-btn--primary{background:var(--accent-fill);color:var(--accent-ink);box-shadow:0 0 26px var(--accent-glow)}.ui-btn--primary:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 0 40px var(--accent-glow-strong)}.ui-btn--ghost{background:transparent;color:var(--accent-text);border-color:var(--accent-text)}.ui-btn--quiet{background:var(--surface-sunk);color:var(--body);border-color:var(--line)}.ui-btn--danger{background:var(--negative);color:#fff}.ui-btn--block{display:flex;width:100%}.ui-tabs{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:11px;overflow:hidden}.ui-tabs__scroll{display:flex;gap:4px;padding:4px;overflow-x:auto;scrollbar-width:none}.ui-tabs__scroll::-webkit-scrollbar{display:none}.ui-tabs.is-clipped-right .ui-tabs__scroll{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 64px),transparent calc(100% - 8px));mask-image:linear-gradient(to right,#000 calc(100% - 64px),transparent calc(100% - 8px))}.ui-tabs.is-clipped-left .ui-tabs__scroll{-webkit-mask-image:linear-gradient(to left,#000 calc(100% - 64px),transparent calc(100% - 8px));mask-image:linear-gradient(to left,#000 calc(100% - 64px),transparent calc(100% - 8px))}.ui-tabs.is-clipped-left.is-clipped-right .ui-tabs__scroll{-webkit-mask-image:linear-gradient(to right,transparent 8px,#000 64px,#000 calc(100% - 64px),transparent calc(100% - 8px));mask-image:linear-gradient(to right,transparent 8px,#000 64px,#000 calc(100% - 64px),transparent calc(100% - 8px))}.ui-tabs__more{position:absolute;top:0;bottom:0;display:grid;place-items:center;width:36px;padding:0;border:0;background:none;color:var(--ink);cursor:pointer}.ui-tabs__more--right{right:0}.ui-tabs__more--left{left:0}.ui-tabs__more--left svg{transform:scaleX(-1)}.ui-tabs__tab{flex:1;min-width:max-content;border:0;border-radius:8px;padding:9px 14px;background:transparent;color:var(--body);cursor:pointer;font-family:var(--font-sans);font-size:13px;font-weight:600;white-space:nowrap}.ui-tabs__tab:hover{background:var(--surface-sunk)}.ui-tabs__tab[aria-selected=true]{background:var(--accent-fill);color:var(--accent-ink)}.ui-tabs__tab:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px}@media (pointer: coarse){.ui-tabs__tab{padding-top:13px;padding-bottom:13px}.ui-btn{padding-top:14px;padding-bottom:14px}}.ui-segmented{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.ui-segmented__opt{border:0;border-radius:7px;padding:6px 12px;background:transparent;color:var(--body);cursor:pointer;font-family:var(--font-sans);font-size:12.5px;font-weight:600;position:relative}.ui-segmented__opt:hover{background:var(--surface-sunk)}.ui-segmented__opt[aria-checked=true]{background:var(--ink);color:var(--surface)}.ui-segmented__opt:focus-visible{outline:2px solid var(--accent-text);outline-offset:1px}@media (pointer: coarse){.ui-segmented__opt{padding-top:9px;padding-bottom:9px}}.ui-empty{padding:32px 24px;text-align:center;color:var(--muted)}.ui-empty__title{margin:0 0 6px;font-size:15px;font-weight:600;color:var(--ink)}.ui-empty__body{margin:0 auto;max-width:42ch;font-size:13.5px;line-height:1.6}.ui-empty__action{margin-top:16px}.ui-day{flex:1;min-width:0;text-align:center}.ui-day__box{display:flex;align-items:center;justify-content:center;height:38px;border-radius:8px;background:var(--surface-sunk);color:var(--muted);font-family:var(--font-mono);font-size:10.5px;font-variant-numeric:tabular-nums}.ui-day__box--full{background:var(--accent-fill);color:var(--accent-ink);font-weight:700}.ui-day__box--partial{background:var(--accent-wash);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-text)}.ui-day__box--miss{background:transparent;color:var(--negative);box-shadow:inset 0 0 0 1px var(--line)}.ui-day__box--na{background:transparent;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line-soft)}.ui-day__box--today{box-shadow:inset 0 0 0 2px var(--accent-text)}.ui-day__label{display:block;margin-top:6px;font-size:9px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:var(--muted)}.ui-tick{display:flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;padding:0;border:1.8px solid var(--control-border);border-radius:7px;background:transparent;color:var(--accent-ink);cursor:pointer;position:relative}.ui-tick:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.ui-tick__glyph{position:absolute;display:flex;opacity:0;transform:scale(.4)}.ui-tick__glyph svg{display:block;width:13px;height:13px}.ui-tick__glyph--done{transition:opacity .14s ease,transform .2s cubic-bezier(.34,1.56,.64,1)}.ui-tick__glyph--na{transition:opacity .14s ease,transform .18s ease}.ui-tick[data-state=done]{background:var(--accent-fill);border-color:var(--accent-fill)}.ui-tick[data-state=done] .ui-tick__glyph--done{opacity:1;transform:scale(1)}.ui-tick[data-state=not_applicable]{background:var(--surface-sunk);border-color:var(--line-strong);color:var(--body)}.ui-tick[data-state=not_applicable] .ui-tick__glyph--na{opacity:1;transform:scale(1)}@media (prefers-reduced-motion: reduce){.ui-tick__glyph{transition:opacity .14s ease!important;transform:none!important}}.ui-tick:disabled,.ui-tick[data-disabled]{opacity:.4;cursor:not-allowed}.ui-tick:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.discord-connect{display:flex;align-items:center;gap:16px;margin-bottom:16px}.discord-connect__icon{font-size:26px;color:var(--accent-text);flex-shrink:0}.discord-connect__body{flex:1;min-width:0}.discord-connect__title{margin:0;font-family:var(--font-sans);font-size:15px;font-weight:700;color:var(--text-primary)}.discord-connect__text{margin:4px 0 0;font-family:var(--font-sans);font-size:13px;line-height:1.4;color:var(--text-secondary)}.discord-connect__error{margin:6px 0 0;font-family:var(--font-sans);font-size:13px;color:var(--negative)}.discord-connect__actions{display:flex;gap:8px;flex-shrink:0}@media (max-width: 640px){.discord-connect{flex-wrap:wrap;align-items:flex-start}.discord-connect__body{flex-basis:calc(100% - 42px)}.discord-connect__actions{width:100%}.discord-connect__actions .ui-btn{flex:1}}@media (min-width: 680px){.discord-toast.MuiSnackbar-root{left:calc(50% + var(--sidebar-width) / 2)}}.done-mark{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 7px;border-radius:999px;background:var(--accent-fill);color:var(--accent-ink);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.done-mark--pop{animation:done-mark-pop .42s cubic-bezier(.2,.9,.3,1.4) both,done-mark-halo 1.2s ease-out .12s both}.done-mark--pop svg path{stroke-dasharray:16;animation:done-mark-draw .36s ease-out .16s both}@keyframes done-mark-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes done-mark-halo{0%{box-shadow:0 0 0 0 var(--accent-glow-strong)}to{box-shadow:0 0 0 14px transparent}}@keyframes done-mark-draw{0%{stroke-dashoffset:16}to{stroke-dashoffset:0}}@media (prefers-reduced-motion: reduce){.done-mark--pop,.done-mark--pop svg path{animation:none}}.save-status{display:inline-flex;align-items:center;gap:6px;padding:2px 2px 2px 9px;border-radius:999px;background:var(--negative-wash);color:var(--negative);font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.save-status--saving{padding:5px 9px}.save-status__retry{min-height:24px;padding:0 8px;border:0;border-radius:999px;background:transparent;color:inherit;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:underline;text-underline-offset:2px}.save-status__retry:hover{background:var(--negative-wash)}.save-status__retry:focus-visible{outline:2px solid var(--negative);outline-offset:1px}.hrow{display:flex;align-items:center;gap:12px;width:100%;position:relative;padding:7px 0;min-height:44px;border:0;border-bottom:1px solid var(--line-soft);background:none;text-align:left;font-family:var(--font-sans)}.hrow:after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:var(--hrow-fill, 0%);border-radius:1px;background:var(--accent-fill);transition:width .35s cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion: reduce){.hrow:after{transition:none}}.hrow.has-mark:before{content:"";position:absolute;bottom:-3px;left:var(--hrow-mark, 0%);width:2px;height:7px;margin-left:-1px;border-radius:1px;background:var(--body)}.hrow__name{flex:1;min-width:0;font-size:14px;font-weight:500;color:var(--ink)}.hrow.is-done .hrow__name{font-weight:400;color:var(--muted)}.hrow.is-na .hrow__name{font-weight:400;font-style:italic;color:var(--muted)}.hrow__status{display:flex;align-items:center;gap:9px;flex:none;border:0;background:none;padding:0;font:inherit}.hrow__open{display:flex;align-items:center;gap:12px;flex:1;min-width:0;align-self:stretch;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.hrow__open:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px;border-radius:4px}@media (hover: none){.hrow__open .hrow__name{text-decoration:underline dotted;text-underline-offset:3px;text-decoration-color:var(--line-strong)}}@media (hover: hover){.hrow__open:hover .hrow__name,.hrow__toggle:hover:not(:disabled) .hrow__name{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}}.hrow__dot{flex:none;width:8px;height:8px;border-radius:50%;background:transparent}.hrow__sub{display:block;font-size:11px;font-weight:400;line-height:1.3;color:var(--muted)}.hrow__rail{display:flex;align-items:center;justify-content:flex-end;flex:none;width:48px}.hrow-qty{font-family:var(--font-mono);font-size:11px;color:var(--body);font-variant-numeric:tabular-nums;white-space:nowrap}.hrow-qty__sep,.hrow-qty__unit{color:var(--muted)}.hrow-step{flex:none;min-width:48px;padding:5px 9px;border:1px solid var(--accent-text);border-radius:7px;background:transparent;color:var(--accent-text);cursor:pointer;font-family:var(--font-sans);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;position:relative}.hrow-step:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.hrow-step:hover:not(:disabled){background:var(--accent-wash)}.hrow-step:disabled{opacity:.35;cursor:not-allowed}.hrow-step:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.hrow__toggle{display:flex;flex:1;align-items:center;gap:12px;min-width:0;align-self:stretch;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.hrow__toggle:disabled{cursor:not-allowed}.hrow__toggle:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px;border-radius:8px}.hrow__toggle:hover .ui-tick{border-color:var(--line-strong)}.hrow__toggle:hover .ui-tick[data-state=done]{border-color:var(--accent-fill)}.daytype{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:5px 8px;border:1px solid transparent;border-radius:8px;background:none;color:var(--muted);font-family:var(--font-sans);font-size:12px;font-weight:600;cursor:pointer;position:relative}.daytype--set{border-color:var(--line);background:var(--surface);color:var(--body)}.daytype:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:44px;transform:translate(-50%,-50%)}.daytype:hover{border-color:var(--line-strong);background:var(--surface);color:var(--ink)}.daytype:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.daytype__icon{flex:none;color:var(--muted)}.daytype-opts{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.daytype-opt{display:flex;align-items:flex-start;gap:10px;width:100%;padding:10px;border:none;border-radius:9px;background:none;text-align:left;font:inherit;cursor:pointer}.daytype-opt:hover{background:var(--accent-wash)}.daytype-opt:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px}.daytype-opt__dot{flex:none;margin-top:2px;width:16px;height:16px;box-sizing:border-box;border:1.5px solid var(--control-border);border-radius:50%}.daytype-opt.is-current .daytype-opt__dot{border:5px solid var(--accent-text)}.daytype-opt__body{display:flex;flex-direction:column;gap:2px}.daytype-opt__name{font-family:var(--font-sans);font-size:14px;font-weight:600;color:var(--ink)}.daytype-opt__note{font-size:12px;line-height:1.45;color:var(--muted)}.daytype-opt.is-disabled{cursor:not-allowed}.daytype-opt.is-disabled:hover{background:none}.daytype-opt.is-disabled .daytype-opt__name{color:var(--muted)}.daytype-reset{margin-top:6px;padding-top:12px;border-top:1px solid var(--line-soft);text-align:center}.daytype-reset__btn{padding:4px 8px;border:0;background:none;color:var(--negative);font-family:var(--font-sans);font-size:12px;font-weight:700;cursor:pointer}.daytype-reset__btn:hover{text-decoration:underline}.daytype-reset__btn:focus-visible{outline:2px solid var(--negative);outline-offset:2px}.daytype-reset__hint{margin:8px 0 0;font-size:12px;color:var(--muted)}.daytype-reset__warning{margin:0;font-size:14px;line-height:1.6;color:var(--body)}.daytype-reset__action{flex:1;justify-content:center}.prow{display:flex;align-items:center;gap:12px;width:100%;position:relative;padding:7px 0;min-height:44px;border:0;border-bottom:1px solid var(--line-soft);background:none;text-align:left;font-family:var(--font-sans)}.prow__dot{flex:none;width:8px;height:8px;border-radius:50%;background:transparent}.prow--cash .prow__dot{background:var(--chart-b)}.prow--tournament .prow__dot{background:var(--chart-c)}.prow--promo .prow__dot{background:var(--chart-a)}.prow__open{display:flex;align-items:center;gap:12px;flex:1;min-width:0;align-self:stretch;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.prow__open:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px;border-radius:4px}@media (hover: hover){.prow__open:hover .prow__title{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}}.prow__name{flex:1;min-width:0;font-size:14px;font-weight:500;color:var(--ink)}.prow__title{display:block}.prow__meta{display:block;font-size:11px;font-weight:400;line-height:1.3;color:var(--muted)}.prow__scores{display:flex;flex-wrap:wrap;column-gap:12px;row-gap:2px;margin-top:3px;font-size:11px;font-weight:400;line-height:1.3;color:var(--muted)}.prow__score{white-space:nowrap}.prow__score-value{font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums;color:var(--body)}.prow__score-of{font-weight:400;color:var(--muted)}.prow__net{flex:none;min-width:48px;text-align:right;font-family:var(--font-mono);font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--body)}.prow__net.is-pos{color:var(--accent-text)}.prow__net.is-neg{color:var(--negative)}.trk-poker__result{display:inline-flex;align-items:baseline;margin-left:auto}.trk-poker__total{font-family:var(--font-mono);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--body)}.trk-poker__total.is-pos{color:var(--accent-text)}.trk-poker__total.is-neg{color:var(--negative)}.trk-poker__add{padding-top:4px}.prow+.trk-poker__add{padding-top:12px}.pnl-eye{margin-left:6px;padding:0 0 0 2px;border:0;background:none;color:inherit;cursor:pointer;vertical-align:-2px;position:relative}.pnl-eye:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.pnl-eye:hover{color:var(--accent-text)}.pnl-eye:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px;border-radius:3px}.swm-week__row{--swm-slot: 20px;--swm-figure: 5.5rem;display:grid;grid-template-columns:minmax(0,1fr) calc(var(--swm-slot) * 7) var(--swm-figure);align-items:center;column-gap:12px;min-height:26px;padding:3px 0}.swm-week__row.is-nofigure{grid-template-columns:minmax(0,1fr) calc(var(--swm-slot) * 7)}.swm-week__head{min-height:0;padding:0 0 4px}.swm-week__initial{font-size:9px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;text-align:center;color:var(--muted)}.swm-week__initial.is-today{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent-text);text-decoration-thickness:2px;text-underline-offset:3px}.swm-week__initial--figure{text-align:right}.swm-week__owner{padding:8px 0 2px;border-top:1px solid var(--line)}.swm-week__owner.is-first{padding-top:0;border-top:none}.swm-week__owner-name{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:1px}.swm-week__list{list-style:none;margin:0;padding:0}.swm-week__what{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}.swm-week__name{font-weight:600;color:var(--ink)}.swm-week__goal{color:var(--muted)}.swm-week__dots{display:grid;grid-template-columns:repeat(7,var(--swm-slot));align-items:center;justify-items:center}.swm-week__slot{display:flex;align-items:center;justify-content:center;width:var(--swm-slot);height:14px}.swm-week__today{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:right;font-family:var(--font-mono);font-size:11px;color:var(--muted)}.swm-week__today.is-done{color:var(--accent-text);font-weight:700}.swm-dot{display:block;box-sizing:border-box;flex-shrink:0}.swm-dot--done,.swm-dot--missed,.swm-dot--pending{width:12px;height:12px;border-radius:50%}.swm-dot--done{background:var(--accent-fill);box-shadow:inset 0 0 0 1.5px var(--accent-text)}.swm-dot--missed{border:2px solid var(--negative)}.swm-dot--pending{border:1.5px dashed var(--control-border)}.swm-dot--na{width:10px;height:2px;border-radius:1px;background:var(--control-border)}.swm-dot--future{width:5px;height:5px;border-radius:50%;background:var(--control-border)}.swm-week__legend{display:flex;flex-wrap:wrap;gap:4px 12px;padding-top:10px;font-size:11px;color:var(--muted)}.swm-week__key{display:inline-flex;align-items:center;gap:5px}.swm-week__key .swm-dot{margin:0 1px}@media (max-width: 640px){.swm-week__row{--swm-slot: 12px;--swm-figure: 4.5rem;column-gap:8px}.swm-dot--done,.swm-dot--missed,.swm-dot--pending{width:10px;height:10px}.swm-dot--na{width:8px}.swm-dot--future{width:4px;height:4px}.swm-week__what{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}}.swm-more{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;margin-top:2px;padding:0;border:0;border-top:1px solid var(--line-soft);background:none;color:var(--accent-text);cursor:pointer;font-family:var(--font-sans);font-size:12.5px;font-weight:600}.swm-more:hover{background:var(--accent-wash)}.swm-more:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px}.swm-more__chevron{transition:transform .15s ease}.swm-more[aria-expanded=true] .swm-more__chevron{transform:rotate(180deg)}@media (prefers-reduced-motion: reduce){.swm-more__chevron{transition:none}}.learn-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.learn-card__head .ui-section-label{margin-bottom:0}.learn-card__all{border:0;background:none;padding:0;color:var(--accent-text);cursor:pointer;font-family:var(--font-sans);font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.learn-card__all:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px;border-radius:3px}.learn-card__rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:12px}.learn-row{display:flex;align-items:flex-start;gap:11px;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-sunk);cursor:pointer;text-align:left;font-family:var(--font-sans);transition:border-color .15s ease,background .15s ease}.learn-row:hover{border-color:var(--accent-text)}.learn-row:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}@media (prefers-reduced-motion: reduce){.learn-row{transition:none}}.learn-row__icon{display:flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;border-radius:7px;background:var(--accent-fill);color:var(--accent-ink)}.learn-row__text{display:flex;flex-direction:column;gap:3px;min-width:0}.learn-row__label{font-size:9px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:var(--muted)}.learn-row__title{font-size:13px;font-weight:600;line-height:1.35;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.learn-row__meta{font-size:11px;color:var(--muted)}.learn-row__track{display:block;height:3px;margin-top:4px;border-radius:2px;background:var(--line);overflow:hidden}.learn-row__fill{display:block;height:100%;border-radius:2px;background:var(--accent-fill)}.dash-streak{display:flex;align-items:baseline;gap:7px;flex:none;padding:8px 14px;background:var(--surface);border:1px solid var(--line);border-radius:9px}.dash-streak__n{font-family:var(--font-display);font-size:22px;line-height:1;color:var(--accent-text);font-variant-numeric:tabular-nums}.dash-streak__l{max-width:4.5em;font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;line-height:1.25;color:var(--muted)}@media (max-width: 620px){.dashboard .ui-page-header{flex-wrap:nowrap;align-items:flex-start;gap:12px;margin-bottom:16px}.dashboard .ui-page-header>:first-child{min-width:0}.dashboard .ui-page-header__title{font-size:22px}.dash-streak{padding:7px 11px}.dash-streak__n{font-size:20px}}.dash-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}@media (max-width: 620px){.dash-tiles{gap:8px}.dash-tiles .ui-card{padding:12px 11px 13px}.dash-tiles .ui-stat__value{font-size:23px}.dash-tiles .ui-section-label{font-size:9px;letter-spacing:1.1px}.dash-tiles .ui-stat__caption{display:none}}@media (max-width: 380px){.dashboard{padding-left:14px;padding-right:14px}.dash-tiles .ui-card{padding:12px 9px 13px}.dash-tiles .ui-section-label{font-size:8.5px;letter-spacing:.3px}.dash-tiles .ui-stat--link .ui-section-label{padding-right:13px}.dash-tiles .ui-stat__go{top:11px;right:9px}.dash-tiles>*{min-width:0}}.dash-today{margin-bottom:14px;padding-bottom:8px}.dash-today__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dash-today__head .ui-section-label{margin-bottom:0}.dash-today__day{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}.dash-today__back{flex:none;padding:6px 12px;border:1px solid var(--accent-text);border-radius:8px;background:transparent;color:var(--accent-text);cursor:pointer;font-family:var(--font-sans);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.dash-today__back:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.dash-today__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;padding:14px 0 12px}.dash-weekcard{margin-bottom:12px}.dash-week{display:flex;gap:7px;margin-top:12px}.dash-week__cell--week-start{margin-left:6px}.dash-week__cell--week-start:before{content:"";position:absolute;top:0;left:-7px;width:1px;height:38px;background:var(--line)}.dash-week__cell{position:relative;display:flex;flex:1;min-width:0}.dash-week__cell .ui-day{flex:1}.dash-week__go{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;min-height:44px;padding:0;border:0;border-radius:9px;background:transparent;color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.dash-week__go:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.dash-week__cell .ui-day__box{transition:transform .15s cubic-bezier(.4,0,.2,1)}.dash-week__go:hover~.ui-day .ui-day__box,.dash-week__go:focus-visible~.ui-day .ui-day__box{transform:translateY(-1px)}@media (prefers-reduced-motion: reduce){.dash-week__cell .ui-day__box{transition:none}}.dashboard>.learn-card{margin-top:12px}.dash-rollup{margin-top:4px;padding-top:10px}.dash-rollup+.dash-rollup{margin-top:10px}.dash-rollup__head{display:flex;align-items:baseline;justify-content:flex-start;gap:8px;margin-bottom:2px}.dash-rollup__title{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.dash-rollup__elapsed:before{content:"·";content:"·" / "";margin-right:8px}.dash-rollup__elapsed{font-family:var(--font-mono);font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.trk-section{padding:0;overflow:hidden;flex-shrink:0}.trk-section+.trk-section{margin-top:12px}.trk-section__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px;padding:12px 16px;border-bottom:1px solid var(--line)}.trk-subsection+.trk-subsection{border-top:1px solid var(--line)}.trk-subsection__head{display:flex;align-items:baseline;gap:8px;padding:12px 16px 2px}.trk-section__list{padding:2px 16px 10px}.trk-section__list .hrow:last-child{border-bottom-color:transparent}.trk-habits__note{margin:0;padding:10px 16px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.trk-section__head .ui-section-label,.trk-subsection__head .ui-section-label{margin:0}.trk-group__elapsed{font-family:var(--font-mono);font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.trk-group__elapsed:before{content:"·";content:"·" / "";margin-right:8px}.habit-icon{flex:none;display:inline-grid;place-items:center;width:var(--hi-size, 28px);height:var(--hi-size, 28px);border-radius:calc(var(--hi-size, 28px) * .28);background-color:var(--hi-bg-light, var(--surface-sunk));color:var(--hi-ink-light, var(--body))}[data-theme=dark] .habit-icon{background-color:var(--hi-bg-dark, var(--surface-sunk));color:var(--hi-ink-dark, var(--body))}.habit-icon__glyph{width:64%;height:64%}.habit-icon__initial{font-family:var(--font-sans);font-size:calc(var(--hi-size, 28px) * .46);font-weight:700;line-height:1}.habit-icon--image,[data-theme=dark] .habit-icon--image{background-color:transparent}.habit-icon--image{background-size:cover;background-position:center;border:1px solid var(--line)}[data-theme=dark] .habit-icon--image{filter:brightness(0) invert(1)}.weeksel{padding:0 0 14px;background:var(--page-bg)}.weeksel__today{flex:none;padding:6px 12px;border:1px solid var(--accent-text);border-radius:8px;background:transparent;color:var(--accent-text);cursor:pointer;font-family:var(--font-sans);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.weeksel__today:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.weeksel__days{display:flex;gap:6px}.weeksel__day{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;min-width:0;padding:7px 2px 6px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--body);cursor:pointer;font-family:var(--font-sans)}.weeksel__day:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.weeksel__dow{font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}.weeksel__num{font-family:var(--font-display);font-size:17px;line-height:1.05;color:var(--ink);font-variant-numeric:tabular-nums}.weeksel__count{font-family:var(--font-mono);font-size:9px;color:var(--muted);font-variant-numeric:tabular-nums;min-height:12px}.weeksel__day.is-full .weeksel__count{color:var(--accent-text);font-weight:700}.weeksel__day.is-full{background:var(--accent-wash);border-color:var(--accent-wash)}.weeksel__day.is-partial .weeksel__count{color:var(--accent-text)}.weeksel__day.is-miss .weeksel__count{color:var(--negative)}.weeksel__day.is-off .weeksel__count{color:var(--muted);font-style:italic}.weeksel__day.is-future{opacity:.5}.weeksel__day.is-future .weeksel__num{color:var(--muted)}.weeksel__day.is-today .weeksel__num{color:var(--accent-text)}.weeksel__day.is-selected{border-color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-text)}@media (max-width: 420px){.weeksel{padding-left:12px;padding-right:12px}.weeksel__days{gap:4px}.weeksel__num{font-size:15px}}
