:root{--bg: var(--tg-theme-bg-color, #ffffff);--surface: var(--tg-theme-section-bg-color, #ffffff);--surface-2: var(--tg-theme-secondary-bg-color, #f2f3f5);--text: var(--tg-theme-text-color, #0d0d0f);--muted: var(--tg-theme-hint-color, #71767b);--accent: var(--tg-theme-button-color, #2f8ce0);--accent-text: var(--tg-theme-button-text-color, #ffffff);--danger: var(--tg-theme-destructive-text-color, #e0483d);--success: #1fa855;--warning: #d9852b;--line: color-mix(in srgb, var(--muted) 20%, transparent);--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--r1: 10px;--r2: 14px;--r3: 20px}@media(prefers-color-scheme:dark){:root{--bg: var(--tg-theme-bg-color, #15171b);--surface: var(--tg-theme-section-bg-color, #1c1f24);--surface-2: var(--tg-theme-secondary-bg-color, #23272e);--text: var(--tg-theme-text-color, #f2f3f5);--muted: var(--tg-theme-hint-color, #8b9198)}}*{box-sizing:border-box}html,body{overscroll-behavior-y:none}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}.app{max-width:640px;margin:0 auto;padding:var(--s4) var(--s4) 96px}h1{font-size:22px;font-weight:700;margin:var(--s2) 0 var(--s5);letter-spacing:-.02em}h2{font-size:15px;font-weight:600;margin:0 0 var(--s3)}.muted{color:var(--muted);font-size:13px;margin:0}.tiny{font-size:12px;color:var(--muted)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-title{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:var(--s5) 0 var(--s2)}.stack{display:flex;flex-direction:column;gap:var(--s3)}.row{display:flex;gap:var(--s2);align-items:center}.spread{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.grow{flex:1;min-width:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);padding:var(--s4);margin-bottom:var(--s3)}.card.tap{cursor:pointer;transition:border-color .15s,transform .06s}.card.tap:active{transform:scale(.995)}.card.tap:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}input[type=text],input[type=url],input[type=password],select,textarea{width:100%;padding:13px var(--s3);border-radius:var(--r1);border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:16px;font-family:inherit;outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical;min-height:96px;font-size:13px}button{border:none;border-radius:var(--r1);padding:13px var(--s4);font-size:15px;font-weight:600;font-family:inherit;background:var(--accent);color:var(--accent-text);cursor:pointer;transition:opacity .15s,transform .06s;white-space:nowrap}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.45;cursor:default}button.ghost{background:var(--surface-2);color:var(--text)}button.danger{background:transparent;color:var(--danger);font-weight:500}button.wide{width:100%}button.sm{padding:8px var(--s3);font-size:13px;font-weight:500}.bar{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.bar>span{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .5s ease}.bar.indeterminate>span{width:40%;animation:slide 1.3s ease-in-out infinite}@keyframes slide{0%{margin-left:-40%}to{margin-left:100%}}.dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--muted)}.dot.run{background:var(--accent);animation:pulse 1.4s ease-in-out infinite}.dot.ok{background:var(--success)}.dot.err{background:var(--danger)}.dot.warn{background:var(--warning)}@keyframes pulse{50%{opacity:.35}}.pill{font-size:12px;padding:3px 9px;border-radius:999px;background:var(--surface-2);color:var(--muted);white-space:nowrap}.pill.ok{color:var(--success)}.pill.err{color:var(--danger)}.pill.warn{color:var(--warning)}.thumb{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r1);background:var(--surface-2);display:block}.thumb-sm{width:64px;height:44px;object-fit:cover;border-radius:8px;background:var(--surface-2);flex:none}.empty{text-align:center;padding:var(--s6) var(--s4);color:var(--muted)}.empty .glyph{font-size:32px;opacity:.5;display:block;margin-bottom:var(--s2)}.tabs{display:flex;gap:var(--s1);padding:var(--s1);background:var(--surface-2);border-radius:var(--r1);margin-bottom:var(--s4);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:1;padding:9px var(--s3);font-size:13px;font-weight:500;background:transparent;color:var(--muted);border-radius:8px}.tabs button[data-active=true]{background:var(--surface);color:var(--text);font-weight:600}.nav{position:fixed;inset:auto 0 0 0;display:flex;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0)}.nav a{flex:1;text-align:center;padding:11px 4px 13px;font-size:11px;font-weight:500;color:var(--muted);text-decoration:none}.nav a.active{color:var(--accent)}.nav a .glyph{display:block;font-size:18px;margin-bottom:2px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:9px var(--s1);border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:500;font-size:12px}tr:last-child td{border-bottom:none}.banner{border-radius:var(--r1);padding:var(--s3);font-size:13px;line-height:1.4}.banner.err{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.banner.info{background:var(--surface-2);color:var(--muted)}.kv{display:flex;justify-content:space-between;gap:var(--s3);padding:5px 0;font-size:13px}.kv dt{color:var(--muted)}.kv dd{margin:0;text-align:right}.spinner{width:16px;height:16px;border-radius:50%;flex:none;border:2px solid var(--line);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
