:root{--n-0:#fff;--n-50:#f7f8f8;--n-100:#eeeff0;--n-200:#dfe1e3;--n-400:#9aa0a6;--n-600:#5f656b;--n-900:#1a1d1f;--accent:#2f6b8f;--accent-ink:#fff;--ok:#2e7d4f;--warn:#a86a12;--alert:#b3352c;--r:8px;--tap:48px;--sp:4px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{padding-bottom:env(safe-area-inset-bottom);background:var(--n-50);color:var(--n-900);font-family:var(--font);font-variant-numeric:tabular-nums;margin:0;font-size:15px;line-height:1.45}h1{margin:0 0 calc(var(--sp) * 4);font-size:28px;font-weight:600;line-height:1.2}h2{margin:0 0 calc(var(--sp) * 3);font-size:22px;font-weight:600;line-height:1.25}h3{margin:0 0 calc(var(--sp) * 2);font-size:17px;font-weight:600;line-height:1.3}p{margin:0 0 calc(var(--sp) * 3)}small,.meta{color:var(--n-600);font-size:13px}a{color:var(--accent);text-underline-offset:2px}.shell{max-width:720px;padding:calc(var(--sp) * 4);padding-left:max(calc(var(--sp) * 4), env(safe-area-inset-left));padding-right:max(calc(var(--sp) * 4), env(safe-area-inset-right));margin:0 auto}button,.button,input,select,textarea{font:inherit;min-height:var(--tap);border-radius:var(--r);touch-action:manipulation}input,select,textarea{font-size:17px}button,.button{justify-content:center;align-items:center;gap:calc(var(--sp) * 2);padding:0 calc(var(--sp) * 4);border:1px solid var(--n-200);background:var(--n-0);color:var(--n-900);cursor:pointer;font-weight:500;text-decoration:none;display:inline-flex}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}button[disabled]{opacity:.5;cursor:not-allowed}input,select,textarea{width:100%;padding:calc(var(--sp) * 3);border:1px solid var(--n-200);background:var(--n-0);color:var(--n-900)}textarea{min-height:calc(var(--tap) * 2);resize:vertical}input::placeholder,textarea::placeholder{color:var(--n-400)}label{margin-bottom:var(--sp);color:var(--n-600);font-size:13px;font-weight:500;display:block}.field{margin-bottom:calc(var(--sp) * 4)}.card{background:var(--n-0);border:1px solid var(--n-200);border-radius:var(--r);padding:calc(var(--sp) * 4)}.notice{border:1px solid var(--n-200);border-radius:var(--r);padding:calc(var(--sp) * 3);margin-bottom:calc(var(--sp) * 4);background:var(--n-0)}.notice.alert{background:color-mix(in srgb, var(--alert) 12%, var(--n-0));border-color:color-mix(in srgb, var(--alert) 45%, var(--n-0))}.notice.warn{background:color-mix(in srgb, var(--warn) 12%, var(--n-0));border-color:color-mix(in srgb, var(--warn) 45%, var(--n-0))}.notice.ok{background:color-mix(in srgb, var(--ok) 12%, var(--n-0));border-color:color-mix(in srgb, var(--ok) 45%, var(--n-0))}.notice button,.notice .button{background:var(--n-0)}.notice button.primary,.notice .button.primary{background:var(--accent)}:where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.action-bar{margin-top:calc(var(--sp) * 6);padding:calc(var(--sp) * 4) 0 calc(var(--sp) * 2);border-top:1px solid var(--n-200)}.action-bar button,.action-bar .button{width:100%}@media (prefers-reduced-motion:no-preference){.fade{animation:.12s ease-out fade}@keyframes fade{0%{opacity:0;transform:translateY(2px)}}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
