:root{--color-canvas:#ffffff;--color-surface:#f7f8fa;--color-surface-sunken:#f0f2f5;--color-ink:#16181d;--color-ink-muted:#5c6470;--color-ink-faint:#8b94a1;--color-line:#e3e6ea;--color-line-strong:#cdd3db;--color-accent:#3f4fd4;--color-accent-hover:#3341b8;--color-accent-soft:#eef0fd;--color-accent-ink:#ffffff;--color-positive:#0f7b52;--color-positive-soft:#e7f5ee;--color-warning:#9a6700;--color-danger:#a81b2d;--color-danger-soft:#ffe9e7;--color-seal:#d0431f;--color-seal-ink:#ffffff;--color-dark-canvas:#0f1115;--color-dark-surface:#171a20;--color-dark-surface-sunken:#12151a;--color-dark-ink:#e8eaef;--color-dark-ink-muted:#98a1af;--color-dark-ink-faint:#6b7482;--color-dark-line:#262b33;--color-dark-line-strong:#39414d;--color-dark-accent:#8f9bff;--color-dark-accent-hover:#a7b1ff;--color-dark-accent-soft:#1b1f33;--color-dark-accent-ink:#0f1115;--color-dark-positive:#3fbf87;--color-dark-positive-soft:#10241c;--color-dark-warning:#d9a441;--color-dark-danger:#ed7475;--color-dark-danger-soft:#3d1a1a;--color-dark-seal:#de7c68;--color-dark-seal-ink:#161013;--font-sans:system-ui,-apple-system,"Segoe UI","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"JetBrains Mono",Menlo,Consolas,monospace;--radius-sm:6px;--radius-md:9px;--radius-lg:14px;--radius-pill:999px;--shadow-sm:0 1px 2px rgba(16,18,27,0.04),0 1px 3px rgba(16,18,27,0.06);--shadow-md:0 2px 4px rgba(16,18,27,0.04),0 8px 24px rgba(16,18,27,0.08);--shadow-dark-sm:0 1px 2px rgba(0,0,0,0.4),0 1px 3px rgba(0,0,0,0.3);--shadow-dark-md:0 2px 4px rgba(0,0,0,0.4),0 8px 24px rgba(0,0,0,0.45);--motion-fast:120ms;--motion-base:220ms;--motion-slow:480ms;--motion-ease:cubic-bezier(0.22,0.61,0.36,1);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-canvas:#0f1115;--color-surface:#171a20;--color-surface-sunken:#12151a;--color-ink:#e8eaef;--color-ink-muted:#98a1af;--color-ink-faint:#6b7482;--color-line:#262b33;--color-line-strong:#39414d;--color-accent:#8f9bff;--color-accent-hover:#a7b1ff;--color-accent-soft:#1b1f33;--color-accent-ink:#0f1115;--color-positive:#3fbf87;--color-positive-soft:#10241c;--color-warning:#d9a441;--color-danger:#ed7475;--color-danger-soft:#3d1a1a;--color-seal:#de7c68;--color-seal-ink:#161013;--shadow-sm:0 1px 2px rgba(0,0,0,0.4),0 1px 3px rgba(0,0,0,0.3);--shadow-md:0 2px 4px rgba(0,0,0,0.4),0 8px 24px rgba(0,0,0,0.45);color-scheme:dark}}:root[data-theme=dark]{--color-canvas:#0f1115;--color-surface:#171a20;--color-surface-sunken:#12151a;--color-ink:#e8eaef;--color-ink-muted:#98a1af;--color-ink-faint:#6b7482;--color-line:#262b33;--color-line-strong:#39414d;--color-accent:#8f9bff;--color-accent-hover:#a7b1ff;--color-accent-soft:#1b1f33;--color-accent-ink:#0f1115;--color-positive:#3fbf87;--color-positive-soft:#10241c;--color-warning:#d9a441;--color-danger:#ed7475;--color-danger-soft:#3d1a1a;--color-seal:#de7c68;--color-seal-ink:#161013;--shadow-sm:0 1px 2px rgba(0,0,0,0.4),0 1px 3px rgba(0,0,0,0.3);--shadow-md:0 2px 4px rgba(0,0,0,0.4),0 8px 24px rgba(0,0,0,0.45);color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-sans);line-height:1.7;font-size:15px;-webkit-font-smoothing:antialiased}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}.bar{display:flex;justify-content:space-between;padding:.5rem 1.5rem;min-height:56px;flex-wrap:wrap;row-gap:.45rem;border-bottom:1px solid var(--color-line);background:var(--color-canvas);position:-webkit-sticky;position:sticky;top:0;z-index:10}.bar,.wordmark{align-items:center}.wordmark{display:inline-flex;gap:.5rem;font-weight:640;letter-spacing:-.015em;color:var(--color-ink);font-size:.98rem}.bar nav{display:flex;gap:1.25rem;align-items:center;font-size:.88rem;flex-wrap:wrap;row-gap:.45rem}@media (max-width:34rem){.bar{padding:.5rem 1rem}.bar .wordmark .support{display:none}.bar nav{gap:.85rem;font-size:.84rem}}.bar nav a{color:var(--color-ink-muted)}.bar nav a:hover{color:var(--color-ink);text-decoration:none}main{max-width:60rem;margin:0 auto;padding:2.5rem 1.5rem 5rem}h1{font-size:1.4rem;font-weight:640;letter-spacing:-.015em;margin:0 0 .35rem}h2{font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin:2.75rem 0 .85rem}.sub,h2{color:var(--color-ink-muted)}.sub{font-size:.9rem;margin:0 0 2rem}.label{color:var(--color-ink-muted);font-size:.78rem;letter-spacing:.01em}.alt{color:var(--color-ink-faint);font-weight:400}.mono,code{font-family:var(--font-mono);font-size:.85em;font-feature-settings:none;font-variant-ligatures:none}.panel{background:var(--color-canvas);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:1.35rem 1.5rem;box-shadow:var(--shadow-sm)}.stats{display:flex;gap:2.5rem;flex-wrap:wrap}.stat{min-width:8rem}.stat .value{font-size:1.6rem;font-weight:620;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:.15rem}.stat .value .of{color:var(--color-ink-faint);font-size:.95rem;font-weight:500}.meter{height:4px;border-radius:var(--radius-pill);background:var(--color-surface-sunken);overflow:hidden;margin-top:.6rem;max-width:14rem}.meter span{display:block;height:100%;background:var(--color-accent);border-radius:inherit;transition:width var(--motion-slow) var(--motion-ease)}.table-wrap{border:1px solid var(--color-line);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-canvas)}table{width:100%;border-collapse:collapse;font-size:.89rem}th{text-align:left;font-weight:500;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-muted);background:var(--color-surface);padding:.6rem 1rem}td,th{border-bottom:1px solid var(--color-line)}td{padding:.75rem 1rem}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--color-surface)}tr.revoked td{color:var(--color-ink-faint)}tr.revoked .mono{text-decoration:line-through}.pill{display:inline-block;padding:.1rem .5rem;border-radius:var(--radius-pill);font-size:.72rem;font-weight:600;letter-spacing:.02em}.pill.live{background:var(--color-accent-soft);color:var(--color-accent)}.pill.test{background:var(--color-surface-sunken);color:var(--color-ink-muted)}.pill.gone{background:var(--color-danger-soft);color:var(--color-danger)}.btn,button{font:inherit;font-size:.88rem;font-weight:500;border-radius:var(--radius-md);border:1px solid var(--color-line-strong);background:var(--color-canvas);color:var(--color-ink);padding:.45rem .9rem;cursor:pointer;transition:background var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease)}button:hover:not(:disabled){background:var(--color-surface)}button.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink);box-shadow:var(--shadow-sm)}button.primary:hover:not(:disabled){background:var(--color-accent-hover)}button.quiet{border:0;background:none;color:var(--color-ink-muted);padding:.25rem .4rem}button.quiet:hover:not(:disabled){color:var(--color-danger);background:none}button:disabled{opacity:.5;cursor:default}:where(button,a,input,select):focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}input,select{font:inherit;font-size:.88rem;padding:.45rem .65rem;border-radius:var(--radius-md);border:1px solid var(--color-line-strong);background:var(--color-canvas);color:var(--color-ink);width:100%}input::placeholder{color:var(--color-ink-faint)}.field{display:flex;flex-direction:column;gap:.3rem}.form-row{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.form-row .field{flex:1 1 12rem}.reveal{border:1px solid var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-lg);padding:1.15rem 1.35rem;margin-bottom:1.25rem}.reveal strong{display:block;font-size:.95rem}.reveal .key{display:block;margin:.75rem 0;padding:.7rem .85rem;background:var(--color-canvas);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);word-break:break-all;font-family:var(--font-mono);font-size:.85rem}.reveal .actions{display:flex;gap:.6rem}.error{color:var(--color-danger);background:var(--color-danger-soft);border:1px solid var(--color-danger);border-radius:var(--radius-md)}.error,.notice{padding:.7rem .9rem;font-size:.88rem}.notice{color:var(--color-accent);background:var(--color-accent-soft);border:1px solid var(--color-accent);border-radius:var(--radius-md);margin-bottom:1rem}.empty{padding:2.5rem 1rem;color:var(--color-ink-muted);font-size:.9rem}.centred,.empty{text-align:center}.centred{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}.spinner{width:18px;height:18px;border:2px solid var(--color-line-strong);border-top-color:var(--color-accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.wordmark .kanji{letter-spacing:.06em}.wordmark .romaji{letter-spacing:.01em}.wordmark .lead{font-weight:700;font-size:1.02rem}.wordmark .support{color:var(--color-ink-muted);font-weight:500;font-size:.82rem}.mark{display:inline-block;width:20px;height:20px;border-radius:50%;background-color:var(--color-seal);box-shadow:inset 0 0 0 .5px rgba(0,0,0,.28);background-image:linear-gradient(var(--color-seal-ink) 0 0),linear-gradient(var(--color-seal-ink) 0 0),linear-gradient(color-mix(in srgb,var(--color-seal-ink) 72%,transparent) 0 0);background-repeat:no-repeat;background-size:9px 1.7px,6.7px 1.7px,3.8px 1.7px;background-position:5.5px 6.2px,5.5px 9.2px,5.5px 12.2px}.locales{display:inline-flex;align-items:center;gap:.5rem}.locales .locale{color:var(--color-ink-faint);font-size:.82rem;line-height:1;padding:.15rem 0}.locales .locale:hover{color:var(--color-ink);text-decoration:none}.locales .locale+.locale{border-left:1px solid var(--color-line);padding-left:.5rem}.locales .locale.on{color:var(--color-ink);font-weight:560}.themes{display:inline-flex;border:1px solid var(--color-line);border-radius:var(--radius-pill);overflow:hidden;background:var(--color-canvas)}.themes .theme{font:inherit;font-size:.74rem;line-height:1;padding:.36rem .7rem;border:0;background:none;color:var(--color-ink-muted);cursor:pointer;transition:background var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.themes .theme+.theme{border-left:1px solid var(--color-line)}.themes .theme:hover{background:var(--color-surface);color:var(--color-ink)}.themes .theme.on{background:var(--color-accent-soft);color:var(--color-accent);font-weight:560}.app-foot{max-width:60rem;margin:0 auto;padding:0 1.5rem 3rem;display:flex;justify-content:flex-end}