body{background:var(--bg);min-height:100%;display:block}[data-theme=dark] body{background:var(--bg)}.ap-shell{min-height:100vh}.ap-side{display:none}.ap-topbar{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.ap-topbar .brand{align-items:center;gap:9px;display:flex}.ap-topbar .brand b{font-family:var(--font-display);color:var(--fg-1);letter-spacing:-.02em;font-size:18px;font-weight:600}.ap-canvas{width:100%;max-width:720px;margin:0 auto;padding:10px 6px 96px}.ap-tabbar{z-index:20;padding:8px 6px calc(8px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);display:flex;position:fixed;bottom:0;left:0;right:0}.ap-tabbar button{color:var(--fg-muted);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:4px;padding:2px;font-size:10.5px;font-weight:600;display:flex}.ap-tabbar button svg{width:22px;height:22px}.ap-tabbar button.on{color:var(--brand-fg)}.ap-theme{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);height:38px;color:var(--fg-2);font:600 13px var(--font-ui);cursor:pointer;align-items:center;gap:7px;padding:0 14px;display:inline-flex}.ap-theme svg{width:16px;height:16px}.ap-topbar .ap-theme{margin-left:auto}@media (min-width:900px){.ap-shell{grid-template-columns:248px 1fr;display:grid}.ap-side{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:6px;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}.ap-side .brand{align-items:center;gap:10px;padding:4px 10px 18px;display:flex}.ap-side .brand b{font-family:var(--font-display);color:var(--fg-1);letter-spacing:-.02em;font-size:20px;font-weight:600}.ap-side nav{flex-direction:column;gap:2px;display:flex}.ap-navitem{border-radius:var(--radius-md);cursor:pointer;width:100%;font:600 14.5px var(--font-ui);color:var(--fg-2);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:11px 12px;display:flex}.ap-navitem svg{width:20px;height:20px}.ap-navitem:hover{background:var(--surface-2)}.ap-navitem.on{background:var(--brand-soft);color:var(--brand-soft-fg)}.ap-side .side-foot{margin-top:auto}.ap-topbar,.ap-tabbar{display:none}.ap-canvas{max-width:780px;padding:30px 28px 64px}}
