.bottom-nav{z-index:40;background:var(--card);border-top:1px solid var(--border);padding-bottom:var(--tg-safe-area-inset-bottom,env(safe-area-inset-bottom,0px));padding-left:var(--tg-safe-area-inset-left,env(safe-area-inset-left,0px));padding-right:var(--tg-safe-area-inset-right,env(safe-area-inset-right,0px));display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-inner{width:100%;max-width:var(--shell-max);margin:0 auto;display:flex}.bottom-nav-tab{width:auto;height:64px;color:var(--hint);font-size:11px;font-weight:500;font-family:var(--font-body);cursor:pointer;background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;margin:0;padding:0;text-decoration:none;display:flex}.bottom-nav-tab.active{color:var(--accent)}.bottom-nav-icon{font-size:20px;line-height:1;display:inline-flex;position:relative}.bottom-nav-badge{background:var(--accent);min-width:16px;height:16px;color:var(--accent-text);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:9px;font-weight:600;line-height:1;display:flex;position:absolute;top:-4px;right:-8px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--bg:var(--tg-theme-bg-color,#161826);--card:var(--tg-theme-secondary-bg-color,#232532);--text:var(--tg-theme-text-color,#e9e9ed);--hint:var(--tg-theme-hint-color,#9397ab);--accent:var(--tg-theme-button-color,#9184d9);--accent-text:var(--tg-theme-button-text-color,#fff);--link:var(--tg-theme-link-color,var(--accent));--destructive:var(--tg-theme-destructive-text-color,#e5544b);--surface-2:color-mix(in srgb, var(--text) 10%, var(--card));--border:color-mix(in srgb, var(--text) 14%, transparent);--up:#29c46f;--down:#e5544b;--sel:color-mix(in srgb, var(--accent) 22%, transparent);--tier-near-identical:var(--accent);--tier-strong:color-mix(in srgb, var(--accent) 78%, var(--hint));--tier-close:color-mix(in srgb, var(--accent) 45%, var(--hint));--tier-loose:var(--hint);--font-heading:"Inter", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--fs-title:17px;--fs-section:13px;--fs-body:14px;--fs-caption:12px;--fs-eyebrow:11px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--tap:44px;--shell-max:460px;--tg-safe-area-inset-top:0px;--tg-safe-area-inset-bottom:0px;--tg-safe-area-inset-left:0px;--tg-safe-area-inset-right:0px;--tg-content-safe-area-inset-top:0px;--tg-content-safe-area-inset-bottom:0px;--tg-content-safe-area-inset-left:0px;--tg-content-safe-area-inset-right:0px;--tg-top:calc(var(--tg-safe-area-inset-top) + var(--tg-content-safe-area-inset-top));--tg-bottom:var(--tg-safe-area-inset-bottom)}*{box-sizing:border-box}::selection{background:color-mix(in srgb, var(--accent) 30%, transparent)}body{overscroll-behavior:none;min-height:100dvh;font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-size:15px}.app-shell{width:100%;max-width:var(--shell-max);min-height:100dvh;padding-left:calc(16px + var(--tg-safe-area-inset-left));padding-right:calc(16px + var(--tg-safe-area-inset-right));margin:0 auto}@media (width>=720px){:root{--shell-max:1100px}}.app-content{padding-bottom:calc(64px + var(--tg-bottom) + 16px)}.screen-header{z-index:6;padding:calc(var(--tg-top) + 14px) 4px 10px;background:var(--bg);align-items:center;gap:10px;margin:0 -4px 10px;display:flex;position:sticky;top:0}.screen-header-text{flex:1;min-width:0}.screen-title{font-family:var(--font-heading);font-size:var(--fs-title);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:500;line-height:1.25;overflow:hidden}.screen-sub{font-size:var(--fs-caption);color:var(--hint);white-space:nowrap;text-overflow:ellipsis;margin:0;line-height:1.35;overflow:hidden}.screen-actions{flex:none;align-items:center;gap:4px;display:flex}.hint{color:var(--hint);font-size:var(--fs-section);margin:4px 0;line-height:1.45}.hint.err{color:var(--down)}.eyebrow{font-size:var(--fs-eyebrow);letter-spacing:.07em;text-transform:uppercase;color:var(--hint);margin:0 0 6px}.controls{gap:12px;margin:14px 0;display:flex}.controls label,.create label{font-size:var(--fs-caption);color:var(--hint);flex-direction:column;flex:1;gap:4px;display:flex}select,input{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);color:var(--text);min-height:var(--tap);padding:11px 10px;font-family:inherit;font-size:16px}select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=range]{width:100%;accent-color:var(--accent);height:var(--tap);background:0 0;border:none;min-height:0;padding:0;display:block}#chart{touch-action:none;width:100%;height:auto;display:block}.create{margin:18px 0}button{border-radius:var(--radius-md);background:var(--accent);width:100%;color:var(--accent-text);cursor:pointer;min-height:var(--tap);border:none;margin-top:10px;padding:13px;font-family:inherit;font-size:15px;font-weight:600}button:disabled{opacity:.45;cursor:not-allowed}.status{min-height:16px;font-size:var(--fs-section);margin-top:8px}.status.ok{color:var(--up)}.status.err{color:var(--down)}.btn{cursor:pointer;width:auto;font-family:var(--font-heading);font-weight:500;font-size:var(--fs-body);color:var(--text);border-radius:var(--radius-md);min-height:var(--tap);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;margin:0;padding:8px 14px;line-height:1.2;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-text)}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-secondary{border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:color-mix(in srgb, var(--text) 7%, transparent)}.btn-ghost{color:var(--accent);padding-inline:8px}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 10%, transparent)}.btn-quiet{color:var(--hint)}.btn-danger{color:var(--destructive)}.btn-icon{width:var(--tap);height:var(--tap);min-height:var(--tap);flex:none;padding:0}.btn-block{width:100%;margin-top:10px}.btn-sm{min-height:36px;font-size:var(--fs-caption);padding:6px 10px}.link-btn{width:auto;min-height:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0;text-decoration:underline;display:inline}.chip-row{scrollbar-width:none;gap:6px;margin-bottom:12px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip{width:auto;font-size:var(--fs-caption);font-weight:400;font-family:var(--font-body);cursor:pointer;border:1px solid var(--border);color:var(--hint);background:0 0;border-radius:999px;flex:none;min-height:36px;margin:0;padding:8px 13px}.chip.on{background:color-mix(in srgb, var(--accent) 16%, transparent);border-color:var(--accent);color:var(--accent)}.chip-grid{gap:6px;display:flex}.chip-grid .chip{border-radius:var(--radius-sm);text-align:center;flex:1;justify-content:center;min-height:40px}.tag{font-size:var(--fs-eyebrow);letter-spacing:.02em;background:var(--surface-2);color:color-mix(in srgb, var(--text) 70%, transparent);border-radius:999px;align-items:center;padding:3px 9px;display:inline-flex}.tier-near-identical{color:var(--tier-near-identical)}.tier-strong{color:var(--tier-strong)}.tier-close{color:var(--tier-close)}.tier-loose{color:var(--tier-loose)}.tier-badge{font-size:var(--fs-eyebrow);background:color-mix(in srgb, currentColor 16%, transparent);border-radius:999px;flex:none;align-items:center;padding:3px 8px;display:inline-flex}.tier-badge.tier-loose{background:var(--surface-2)}.tier-bar{background:var(--surface-2);border-radius:3px;height:6px;overflow:hidden}.tier-bar-fill{background:currentColor;height:100%}.seg{border-radius:var(--radius-md);border:1px solid var(--border);display:flex;overflow:hidden}.seg-btn{font-size:var(--fs-caption);font-weight:500;font-family:var(--font-body);cursor:pointer;color:var(--hint);background:0 0;border:none;border-radius:0;flex:1;min-height:40px;margin:0;padding:10px 0}.seg-btn.on{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent)}.card{background:var(--card);border-radius:var(--radius-md);padding:12px}.stat-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (width>=720px){.stat-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{background:var(--card);border-radius:var(--radius-md);padding:12px}.stat-label{font-size:var(--fs-eyebrow);color:var(--hint)}.stat-value{margin-top:4px;font-size:16px;font-weight:500}.stat-value.small{font-size:var(--fs-section)}.stat-value.muted{color:var(--hint)}.menu-wrap{position:relative}.menu{top:calc(var(--tap) + 2px);z-index:12;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);min-width:184px;position:absolute;right:0;overflow:hidden;box-shadow:0 12px 32px #00000073}.menu-item{width:100%;min-height:var(--tap);cursor:pointer;font-family:var(--font-body);font-size:var(--fs-section);text-align:left;color:var(--text);background:0 0;border:none;border-radius:0;align-items:center;gap:9px;margin:0;padding:0 13px;font-weight:400;display:flex}.menu-item:hover{background:color-mix(in srgb, var(--text) 7%, transparent)}.menu-item.danger{color:var(--destructive)}.menu-scrim{z-index:11;position:fixed;inset:0}.dialog-backdrop{z-index:60;background:#00000080;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dialog{border-radius:var(--radius-lg);background:var(--card);flex-direction:column;gap:10px;width:min(340px,100%);padding:16px;display:flex;box-shadow:0 20px 48px #0009}.dialog-title{font-family:var(--font-heading);font-size:18px;font-weight:500}.dialog-body{font-size:var(--fs-body);color:var(--hint);line-height:1.5}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.sheet{z-index:50;max-width:var(--shell-max);background:var(--bg);padding-left:calc(16px + var(--tg-safe-area-inset-left));padding-right:calc(16px + var(--tg-safe-area-inset-right));flex-direction:column;margin:0 auto;display:flex;position:fixed;inset:0}.sheet-header{padding:calc(var(--tg-top) + 14px) 0 10px;align-items:center;gap:10px;display:flex}.sheet-title{font-size:var(--fs-title);flex:1;font-weight:500}.sheet-body{flex:1;padding-bottom:12px;overflow-y:auto}.sheet-footer{padding:12px 0 calc(var(--tg-bottom) + 18px);border-top:1px solid var(--border)}.sheet-row{border:none;border-bottom:1px solid var(--border);cursor:pointer;width:100%;min-height:48px;font-family:var(--font-body);font-size:var(--fs-body);color:var(--text);text-align:left;background:0 0;border-radius:0;align-items:center;gap:10px;margin:0;padding:0;font-weight:400;display:flex}.sheet-row.on{color:var(--accent)}.toast{bottom:calc(var(--tg-bottom) + 84px);z-index:55;background:var(--surface-2);color:var(--text);font-size:var(--fs-caption);border-radius:999px;padding:10px 15px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000073}.empty{text-align:center;color:var(--hint);padding:40px 16px}.empty i{opacity:.5;font-size:30px}.empty-title{font-size:var(--fs-body);color:var(--text);margin:12px 0 4px}.empty-body{font-size:var(--fs-caption);margin:0 0 16px;line-height:1.55}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.45}}.pulse-text{animation:1.6s ease-in-out infinite pulse-text}@media (prefers-reduced-motion:reduce){.pulse-text{animation:none}}.link-button{width:auto;color:var(--accent);font-size:var(--fs-section);text-align:left;cursor:pointer;background:0 0;border:none;min-height:0;margin:0;padding:0;font-weight:500}.nav-button{width:100%;min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);color:var(--text);justify-content:center;align-items:center;gap:8px;margin:18px 0 0;padding:13px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.nav-button:hover{border-color:var(--accent)}.disclaimer{font-size:var(--fs-eyebrow);color:var(--hint);text-wrap:pretty;margin:14px 0 0;line-height:1.5}
