:root{--tg-theme-bg-color:#fff;--tg-theme-secondary-bg-color:#f4f4f5;--tg-theme-text-color:#111;--tg-theme-hint-color:#888;--tg-theme-button-color:#3b82f6;--tg-theme-button-text-color:#fff;--tg-theme-link-color:#3b82f6;--tg-theme-section-bg-color:#fff;--tg-theme-section-separator-color:#e4e4e7;--radius:12px;--radius-sm:8px;--gap:12px;--font:system-ui, -apple-system, sans-serif;--pa-accent:#e8a030;--pa-accent-2:#f5c060;--pa-serif:Georgia, "DejaVu Serif", "Times New Roman", serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--tg-theme-bg-color);color:var(--tg-theme-text-color);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}button{font-family:var(--font);cursor:pointer;color:inherit;background:0 0;border:none;font-size:15px}.app{flex-direction:column;height:100svh;display:flex;overflow:hidden}.app-content{flex:1;padding:16px 16px 0;overflow-y:auto}.top-nav{background:var(--tg-theme-section-bg-color);border-bottom:1px solid var(--tg-theme-section-separator-color);flex-shrink:0}.top-nav-header{justify-content:space-between;align-items:center;padding:14px 16px 8px;display:flex}.brand-name{font-family:var(--pa-serif);color:var(--tg-theme-text-color);font-size:1.15rem;font-weight:400;line-height:1}.streak-badge{background:var(--pa-accent);color:#0f0d0c;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:700;line-height:1.4}.tab-row{padding:0 8px;display:flex}.tab-btn{color:var(--tg-theme-hint-color);flex:1;padding:10px 8px;font-size:14px;transition:color .15s;position:relative}.tab-btn.active{color:var(--pa-accent);font-weight:600}.tab-btn.active:after{content:"";background:var(--pa-accent);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:0;left:8px;right:8px}.section-label{letter-spacing:.06em;color:var(--tg-theme-hint-color);text-transform:uppercase;text-align:left;margin-bottom:8px;padding:0;font-size:11px;font-weight:600}.stat-row{gap:var(--gap);grid-template-columns:repeat(3,1fr);margin-bottom:20px;display:grid}.stat-card{background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius);flex-direction:column;align-items:center;gap:4px;padding:14px 8px;display:flex}.stat-value{color:var(--pa-accent);font-size:26px;font-weight:700;line-height:1}.stat-label{color:var(--tg-theme-hint-color);text-align:center;text-transform:uppercase;letter-spacing:.4px;font-size:11px}.bar-chart{align-items:flex-end;gap:3px;height:80px;margin-bottom:24px;padding:0 2px;display:flex}[data-bar]{background:var(--tg-theme-secondary-bg-color);border-radius:3px 3px 0 0;flex:1;min-height:3px;transition:background .2s}[data-today=true]{background:var(--pa-accent)}.cards-list{gap:var(--gap);flex-direction:column;padding-bottom:20px;display:flex}.card-item{background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-left:3px solid #e8a0304d;align-items:flex-start;gap:10px;padding:14px 14px 14px 13px;display:flex}.card-item.expanded{border-left-color:var(--pa-accent)}.card-item:active{opacity:.8}.card-body{flex:1;min-width:0}.card-front{color:var(--tg-theme-text-color);word-break:break-word;font-size:15px}.card-meta{justify-content:space-between;align-items:center;margin-top:5px;display:flex}.card-created{color:var(--tg-theme-hint-color);font-size:11px}.card-state{letter-spacing:.04em;text-transform:uppercase;color:var(--tg-theme-hint-color);font-size:10px;font-weight:600}.state-1,.state-3{color:var(--pa-accent)}.card-back{border-top:1px solid var(--tg-theme-section-separator-color);color:var(--tg-theme-hint-color);white-space:pre-line;margin-top:10px;padding-top:10px;font-size:14px}.card-due{color:var(--tg-theme-hint-color);margin-top:8px;font-size:11px}.card-back b{color:var(--tg-theme-text-color);font-weight:600}.card-back i{font-style:italic}.card-back u{text-decoration:underline}.card-delete{opacity:.5;flex-shrink:0;padding:4px;font-size:17px;line-height:1}.card-delete:active{opacity:1}.dashboard,.cards-list{animation:.2s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.state-msg{flex-direction:column;align-items:center;gap:8px;padding:48px 0;animation:.2s fadeIn;display:flex}.state-glyph{color:var(--pa-accent);font-size:1.4rem}.state-msg span{color:var(--tg-theme-hint-color);font-size:14px}.scroll-sentinel{height:1px}.load-more-indicator{text-align:center;color:var(--tg-theme-hint-color);padding:12px 0 20px;font-size:13px}
