:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color-scheme:light;--bg: var(--tg-theme-bg-color, #f5f7fa);--fg: var(--tg-theme-text-color, #132033);--muted: var(--tg-theme-hint-color, #718096);--panel: var(--tg-theme-secondary-bg-color, #ffffff);--accent: var(--tg-theme-button-color, #2476d4);--accent-fg: var(--tg-theme-button-text-color, #ffffff);--stroke: rgba(113,128,150,.16)}:root[data-theme=dark]{color-scheme:dark;--bg: var(--tg-theme-bg-color, #10151f);--fg: var(--tg-theme-text-color, #eef3f8);--muted: var(--tg-theme-hint-color, #9ca8b9);--panel: var(--tg-theme-secondary-bg-color, #1c2532);--stroke: rgba(211,219,230,.13)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg)}button{font:inherit;cursor:pointer}.shell{max-width:800px;margin:0 auto;min-height:100dvh;padding-bottom:calc(96px + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;gap:12px;padding:22px 20px 12px}.brand-mark{height:42px;width:42px;display:grid;place-items:center;border-radius:14px;background:var(--accent);color:var(--accent-fg);font-weight:800;font-size:21px}.brand-copy{display:flex;flex:1;flex-direction:column;gap:2px;font-size:14px}.brand-copy span{font-size:12px;color:var(--muted)}.user-avatar{height:38px;width:38px;border-radius:50%;background:var(--panel);display:grid;place-items:center;font-weight:700;border:1px solid var(--stroke)}.content{padding:26px 20px}.eyebrow{font-size:11px;letter-spacing:.13em;color:var(--accent);font-weight:800;margin-bottom:12px}h1{font-size:clamp(27px,6.5vw,38px);line-height:1.12;letter-spacing:-.045em;margin:0 0 12px}.subtitle{color:var(--muted);font-size:15px;line-height:1.55;max-width:460px;margin:0 0 42px}.section-heading{display:flex;align-items:center;gap:10px;margin-bottom:16px}.section-heading h2{font-size:19px;margin:0}.section-heading span{border-radius:999px;background:var(--panel);padding:3px 10px;color:var(--muted);font-size:12px}.panel{background:var(--panel);border:1px solid var(--stroke);border-radius:20px}.empty-state{padding:36px 24px 40px;text-align:center}.empty-symbol{display:grid;place-items:center;margin:0 auto 20px;width:58px;height:58px;border-radius:19px;background:var(--bg);color:var(--accent);font-size:36px;font-weight:300}.empty-state h3{font-size:18px;margin:0 0 10px}.empty-state p{margin:0 auto;max-width:310px;color:var(--muted);line-height:1.55;font-size:14px}.module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.module-card{display:flex;flex-direction:column;text-align:left;gap:7px;padding:18px;color:var(--fg);min-height:142px}.module-icon{font-size:23px;color:var(--accent);margin-bottom:auto}.module-card strong{font-size:15px}.module-card>span:last-child{color:var(--muted);font-size:12px;line-height:1.3}.back-button{border:0;padding:6px 0 24px;background:transparent;color:var(--accent)}.settings-grid{padding:8px 20px}.detail{display:flex;justify-content:space-between;gap:10px;padding:16px 0;border-bottom:1px solid var(--stroke);font-size:14px}.detail:last-child{border-bottom:0}.detail span{color:var(--muted)}.detail strong{font-size:13px;text-align:right;overflow-wrap:anywhere}.hint{color:var(--muted);line-height:1.5;font-size:13px;padding-top:12px}.notice{margin:36px 0;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;color:var(--muted);line-height:1.5}.notice h2{color:var(--fg);font-size:19px;margin:0}.notice p{margin:0;max-width:340px}.notice-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;font-weight:800;background:var(--panel);color:var(--accent);font-size:23px}.spinner{height:30px;width:30px;border:3px solid var(--stroke);border-top-color:var(--accent);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bottom-nav{display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(800px,100%);background:var(--panel);border-top:1px solid var(--stroke);padding:12px 14px calc(12px + env(safe-area-inset-bottom));z-index:10}.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:transparent;color:var(--muted);font-size:12px}.bottom-nav button span{font-size:22px}.bottom-nav button.active{color:var(--accent);font-weight:700}@media(min-width:600px){.content{padding:40px}.topbar{padding:30px 40px 12px}.module-grid{grid-template-columns:repeat(3,1fr)}}
