:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, Menlo, monospace;--color-bg:#111;--color-text:#fff;--color-black:#000;--color-muted:#aaa;--color-faint:#999;--color-line:#222;--color-surface:#2a2a2a;--color-field-border:#444;--color-error:#ff8a80;--color-success:#34c759;--color-checker:#ddd;--color-canvas:#0e0e0e;--gutter:16px;--radius:12px}*{box-sizing:border-box;margin:0}html,body{background:var(--color-bg);height:100%;color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.screen{max-width:640px;height:100dvh;padding:env(safe-area-inset-top) 0 calc(env(safe-area-inset-bottom) + var(--gutter));flex-direction:column;margin:0 auto;display:flex}.screen.page{max-width:1200px}.centered{text-align:center;justify-content:center;align-items:center;gap:16px;padding-left:24px;padding-right:24px}.page-header{padding:12px var(--gutter);justify-content:space-between;align-items:center;gap:12px;display:flex}.page-header a{color:var(--color-text)}.page-header nav{gap:16px;display:flex}.page-header h1{font-size:20px}.hint{padding:12px var(--gutter);text-align:center;font-size:17px;font-weight:600}.empty{padding:32px var(--gutter);color:var(--color-faint);text-align:center}.notice{margin:12px var(--gutter) 0;color:#ffd27a;background:#3a2a10;border-radius:10px;padding:10px 12px;font-size:14px}.select-error{padding:8px var(--gutter) 0;color:var(--color-error);text-align:center;font-size:14px}.spinner{border:3px solid #333;border-top-color:var(--color-text);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.controls{padding:var(--gutter) var(--gutter) 0;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}.controls.two{grid-template-columns:1fr 1fr}.controls.three{grid-template-columns:repeat(3,1fr)}.button{border-radius:var(--radius);min-height:44px;font:inherit;text-align:center;cursor:pointer;border:none;justify-content:center;align-items:center;padding:10px 14px;font-size:15px;font-weight:500;display:inline-flex}.button.primary{background:var(--color-text);color:var(--color-bg)}.button.secondary{background:var(--color-surface);color:var(--color-text)}.button.danger{color:var(--color-error)}.button:disabled{opacity:.4}.button:has(input:focus-visible){outline:2px solid var(--color-text);outline-offset:2px}.link{color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:none;text-decoration:underline}.link-button{color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.link-button:disabled{opacity:.5}
