:root{--bg:#f2f6f8;--card:#fff;--text:#1c2329;--muted:#5d6b75;--accent:#3f8fae;--accent-text:#fff;--ok:#1f7a4d;--ng:#b3261e;--border:#dbe3e8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#12171a;--card:#1d2428;--text:#e8eef1;--muted:#9aa8b1;--accent:#6fb1c9;--accent-text:#0d1b21;--ok:#5fcf95;--ng:#ff8a80;--border:#2e383e}}*{box-sizing:border-box}body{padding:env(safe-area-inset-top) 16px calc(env(safe-area-inset-bottom) + 24px);background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,sans-serif;line-height:1.5}header{padding:16px 0 8px}h1{margin:0;font-size:1.5rem}.sub{color:var(--muted);margin:0;font-size:.85rem}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;margin:12px 0;padding:14px 16px}h2{margin:0 0 6px;font-size:1.05rem}.desc,.hint{color:var(--muted);margin:0 0 10px;font-size:.9rem}.hint{color:var(--ng)}dl{grid-template-columns:max-content 1fr;gap:2px 12px;margin:0;font-size:.85rem;display:grid}dt{color:var(--muted)}dd{overflow-wrap:anywhere;margin:0}.buttons{flex-wrap:wrap;gap:8px;display:flex}button,.button{appearance:none;font:inherit;background:var(--accent);color:var(--accent-text);cursor:pointer;border:none;border-radius:10px;padding:10px 16px;font-weight:600}input[type=url]{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:10px;margin:0 0 10px;padding:10px 12px;font-size:16px}button.secondary{color:var(--accent);border:1px solid var(--accent);background:0 0}button:disabled{opacity:.5}.video-wrap{aspect-ratio:4/3;background:#000;border-radius:10px;margin-bottom:10px;position:relative;overflow:hidden}video{object-fit:cover;width:100%;height:100%;display:block}.aim{pointer-events:none;border:2px solid #ffffffd9;border-radius:8px;position:absolute;inset:35% 12%}.result{margin-top:10px;font-size:.95rem}.result:empty{display:none}.result .jan{font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:700}.ok{color:var(--ok)}.ng{color:var(--ng)}pre{background:var(--bg);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;max-height:240px;margin:10px 0 0;padding:10px;font-size:.75rem;overflow:auto}
