:root{--bg: oklch(.147 .004 49.3);--card: oklch(.214 .009 43.1);--ink: oklch(.986 .002 67.8);--muted: oklch(.714 .014 41.2);--line: oklch(1 0 0 / 10%);--brand: oklch(.459 .187 3.815);--brand-contrast: oklch(1 0 0);--error: oklch(.704 .191 22.216)}*{box-sizing:border-box}body{margin:0;font-family:Manrope,Avenir Next,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at 18% 12%,oklch(.459 .187 3.815 / 20%) 0%,transparent 38%),radial-gradient(circle at 85% 80%,oklch(.696 .17 162.48 / 10%) 0%,transparent 44%),var(--bg);min-height:100dvh}code{font-family:JetBrains Mono,SFMono-Regular,Menlo,monospace;font-size:.88rem}.page{min-height:100dvh;display:grid;place-items:center;padding:24px}.card{width:100%;max-width:620px;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 22px 50px #0000003d;padding:28px}.eyebrow{margin:0;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklab,var(--brand) 78%,white);font-weight:800}h1{margin:10px 0;line-height:1.2;font-family:Space Grotesk Variable,Space Grotesk,Manrope,sans-serif;font-size:clamp(1.6rem,3vw,2rem)}.muted{margin:0 0 14px;color:var(--muted);line-height:1.45}.error{margin:0 0 12px;color:var(--error);font-weight:700}.hanko-shell{border:1px solid var(--line);border-radius:14px;padding:14px;background:color-mix(in oklab,var(--bg) 40%,transparent)}.hanko-shell.is-loading{opacity:.7}.actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}.app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.app-tile{border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px;background:color-mix(in oklab,var(--bg) 38%,transparent)}.app-tile h2{margin:0;font-size:1.02rem}.app-tile p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.4}.button{border:0;border-radius:12px;padding:12px 14px;font-size:.98rem;font-weight:700;cursor:pointer;background:var(--brand);color:var(--brand-contrast);transition:transform .12s ease,filter .12s ease}.button:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.68}.button-muted{background:color-mix(in oklab,var(--card) 80%,black);color:var(--ink);border:1px solid var(--line)}@media (max-width: 640px){.page{padding:12px}.card{border-radius:14px;padding:20px}.app-grid{grid-template-columns:1fr}}
