:root{--bg:var(--tg-theme-secondary-bg-color,#f0f2f5);--card:var(--tg-theme-bg-color,#fff);--text:var(--tg-theme-text-color,#1c1c1e);--hint:var(--tg-theme-hint-color,#8e8e93);--accent:var(--tg-theme-button-color,#2481cc);--accent-text:var(--tg-theme-button-text-color,#fff);--danger:var(--tg-theme-destructive-text-color,#d63a3a);--separator:color-mix(in srgb, var(--hint) 25%, transparent)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:16px;line-height:1.4}#app{flex-direction:column;min-height:100vh;display:flex}.page{padding:12px 12px calc(72px + env(safe-area-inset-bottom));flex:1;width:100%;max-width:640px;margin:0 auto}.center-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:80vh;padding:24px;display:flex}.hint{color:var(--hint)}.card{background:var(--card);border-radius:14px;margin-bottom:10px;padding:14px}button{appearance:none;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px}.btn{appearance:none;background:var(--accent);color:var(--accent-text);cursor:pointer;border:0;border-radius:10px;padding:12px 18px;font-size:16px}.btn:disabled{opacity:.55;cursor:default}.btn-ghost{color:var(--accent);background:0 0;padding:8px 10px}.btn-danger{color:var(--danger);background:0 0;padding:8px 10px}.btn-small{padding:8px 12px;font-size:14px}input[type=text],input[type=number],textarea{border:1px solid var(--separator);background:var(--card);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:10px 12px}textarea{resize:vertical;min-height:72px}.tabbar{background:var(--card);border-top:1px solid var(--separator);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--hint);flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0 6px;font-size:11px;text-decoration:none;display:flex}.tab.active{color:var(--accent)}.tab-icon{font-size:20px;line-height:1}
