:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}*,*:before,*:after{box-sizing:inherit}html[data-theme=light]{--bg:#ffffff;--card:#f2f2f6;--text:#111114;--muted:#6b6b76;--accent:#2f7bff;--on-accent:#ffffff;--radius:14px;--font:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}html[data-theme=ice]{--bg:#0b0b0f;--card:#1c1c22;--text:#f5f5f7;--muted:#9a9aa5;--accent:#4f7cff;--on-accent:#ffffff;--radius:16px;--font:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}html[data-theme=mint]{--bg:#121212;--card:#232323;--text:#eaeaea;--muted:#a0a0a0;--accent:#6fd09a;--on-accent:#0b1f14;--radius:10px;--font:system-ui,Roboto,"Segoe UI",sans-serif}html[data-theme=lilac]{--bg:#14101f;--card:#221b36;--text:#f1ecff;--muted:#a79fc4;--accent:#b388ff;--on-accent:#1a1030;--radius:22px;--font:system-ui,sans-serif}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font)}.menubar{position:sticky;top:env(safe-area-inset-top,0px);display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg);border-bottom:1px solid var(--card);z-index:10}.menubar h1{font-size:1.05rem;margin:0}.menubar button{background:none;border:0;color:var(--text);font-size:1.6rem;padding:4px 10px}.menu{position:absolute;top:100%;right:8px;background:var(--card);border-radius:var(--radius);padding:6px;display:flex;flex-direction:column;min-width:180px;box-shadow:0 8px 24px #0008}.menu a{color:var(--text);text-decoration:none;padding:12px 14px}.screen{padding:16px;max-width:560px;margin:0 auto}.center{text-align:center;padding-top:12vh}.stack{display:flex;flex-direction:column;gap:12px;margin-top:24px}.card{background:var(--card);border-radius:var(--radius);padding:16px;margin-bottom:16px}.card h2{margin-top:0;font-size:1rem}.row{display:flex;flex-wrap:wrap;gap:8px}.muted{color:var(--muted)}button,.btn{font:inherit;color:var(--text);background:var(--card);border:1px solid var(--muted);border-radius:var(--radius);padding:12px 16px;text-decoration:none;cursor:pointer}.card button,.on{border-color:var(--accent)}.btn{background:var(--accent);border-color:var(--accent);color:var(--on-accent);display:block}button.on{background:var(--accent);color:var(--on-accent)}
