@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(./outfit-latin-600-normal-B7SfZ07L.woff2)format("woff2"),url(./outfit-latin-600-normal-BEfTtDA7.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(./outfit-latin-700-normal-Cu9v6i1X.woff2)format("woff2"),url(./outfit-latin-700-normal-D4itBLBr.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-soft:#f3f4f6;--fg:#111827;--muted:#4b5563;--border:#e5e7eb;--accent:#111827;--accent-hover:#030712;--accent-soft:#1118270f;--panel:#fff;--panel-soft:#f3f4f6;--code-bg:#111827;--code-fg:#f3f4f6;--btn-ghost-bg:#f3f4f6;--btn-ghost-fg:#111827;--shadow:0 1px 2px #1118270d, 0 4px 14px #1118270a;--shadow-soft:0 1px 2px #1118270f;--track:#f3f4f6;--track-border:#e5e7eb;--thumb:#fff;--thumb-fg:#4b5563;--lossless:#166534;--runtime:#92400e;--lossy:#9a3412;--unsupported:#991b1b;--focus:#111827;--display:"Outfit", "Segoe UI", system-ui, sans-serif;--sans:"Outfit", "Noto Sans JP", "Segoe UI", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;--radius:.95rem;--space:1rem}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1115;--bg-soft:#171a21;--fg:#f3f4f6;--muted:#9ca3af;--border:#2a2f3a;--accent:#e5e7eb;--accent-hover:#fff;--accent-soft:#ffffff14;--panel:#171a21;--panel-soft:#1c212b;--code-bg:#0b0d11;--code-fg:#e5e7eb;--btn-ghost-bg:#1c212b;--btn-ghost-fg:#f3f4f6;--shadow:0 1px 2px #00000059, 0 8px 24px #00000047;--shadow-soft:0 1px 2px #00000059;--track:#1c212b;--track-border:#2a2f3a;--thumb:#0f1115;--thumb-fg:#e5e7eb;--lossless:#86efac;--runtime:#fcd34d;--lossy:#fdba74;--unsupported:#fca5a5;--focus:#f3f4f6}*{box-sizing:border-box}html{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.5}body{background:var(--bg);min-height:100dvh;margin:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.skip{position:absolute;top:0;left:-999px}.skip:focus{left:var(--space);top:var(--space);z-index:4;background:var(--panel);color:var(--fg);box-shadow:var(--shadow);border-radius:999px;padding:.5rem .75rem;font-weight:600;text-decoration:none}.site-header,.site-footer{max-width:72rem;margin:0 auto;padding:1.15rem 1.25rem}.site-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem 1.25rem;display:flex}.brand{flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0;display:flex}.wordmark{font-family:var(--display);letter-spacing:-.04em;color:var(--fg);width:fit-content;font-size:1.2rem;font-weight:700;text-decoration:none}.tagline{color:var(--muted);max-width:36rem;margin:0;font-size:.92rem}.header-actions{align-items:center;gap:.45rem;margin-inline-start:auto;display:flex}.nav{border-inline-end:1px solid var(--border);align-items:center;gap:.35rem;margin-inline-end:.15rem;padding-inline-end:.55rem;display:flex}.icon-link{color:var(--muted);letter-spacing:.02em;border-radius:999px;place-items:center;width:2.35rem;height:2.35rem;font-size:.72rem;font-weight:700;text-decoration:none;transition:background .12s ease-out,color .12s ease-out,transform .12s ease-out;display:inline-grid}.icon-link:hover{background:var(--accent-soft);color:var(--fg)}.icon-link svg{width:1.15rem;height:1.15rem}.theme-toggle{align-items:center;display:inline-flex}.theme-toggle button{appearance:none;cursor:pointer;background:0 0;border:0;place-items:center;min-width:2.75rem;min-height:2.4rem;padding:.2rem;display:inline-grid}.theme-track{background:var(--track);border:1px solid var(--track-border);border-radius:999px;width:3.5rem;height:2rem;display:block;position:relative;box-shadow:inset 0 1px 1px #11182708}.theme-thumb{background:var(--thumb);width:1.65rem;height:1.65rem;color:var(--thumb-fg);box-shadow:var(--shadow-soft);border-radius:999px;place-items:center;transition:transform .2s;display:grid;position:absolute;top:2px;left:2px}.theme-toggle[data-mode=dark] .theme-thumb{transform:translate(1.4rem)}.theme-icon{width:1rem;height:1rem;display:block}.theme-moon,.theme-toggle[data-mode=dark] .theme-sun{display:none}.theme-toggle[data-mode=dark] .theme-moon{display:block}.layout{grid-template-columns:minmax(18rem,22.5rem) minmax(0,1fr);align-items:start;gap:1rem;max-width:72rem;margin:0 auto;padding:.25rem 1.25rem 2rem;display:grid}@media (width<=900px){.layout{grid-template-columns:1fr}.panel-input{max-height:none;position:static}}.panel{background:var(--panel-soft);border-radius:var(--radius);border:0;min-width:0;padding:1.15rem 1.2rem 1.25rem}.panel-input{max-height:calc(100dvh - 1.5rem);position:sticky;top:.75rem;overflow:auto}.panel h2{font-family:var(--display);letter-spacing:-.02em;margin:1.35rem 0 .7rem;font-size:1.02rem;font-weight:700}.panel h2:first-child{margin-top:0}label,.legend{color:var(--muted);margin-bottom:.4rem;font-size:.82rem;font-weight:600;display:block}.row{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.85rem;display:flex}textarea,input[type=text],select{width:100%;font:.88rem/1.45 var(--mono);background:var(--bg);color:var(--fg);box-shadow:var(--shadow-soft);border:0;border-radius:.75rem;padding:.65rem .75rem}textarea{resize:vertical;min-height:16.5rem}#instance{min-height:8rem}.segmented{border:0;min-inline-size:0;margin:0 0 .9rem;padding:0}.segmented .legend{padding:0}.segmented-list{background:var(--bg);box-shadow:var(--shadow-soft);border-radius:999px;gap:.2rem;padding:.22rem;display:flex}.segmented-option{color:var(--fg);flex:1;margin:0;position:relative}.segmented-option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented-option span{text-align:center;color:var(--muted);border-radius:999px;padding:.45rem .7rem;font-size:.85rem;font-weight:600;display:block}.segmented-option:has(input:checked) span{background:var(--panel);color:var(--fg);box-shadow:var(--shadow-soft)}.segmented-option:has(input:focus-visible) span{outline:2px solid var(--focus);outline-offset:2px}.checks{flex-wrap:wrap;gap:.75rem 1rem;margin:.55rem 0 .9rem;display:flex}.checks label{color:var(--fg);align-items:center;gap:.45rem;margin:0;font-weight:500;display:flex}input[type=checkbox]{accent-color:var(--fg);width:1.05rem;height:1.05rem}.btn,button.btn{font:.9rem/1 var(--sans);cursor:pointer;border:0;border-radius:999px;min-height:2.45rem;padding:.7rem 1rem;font-weight:700;transition:transform .12s ease-out,background .12s ease-out}.btn:active,button.btn:active,.icon-link:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--bg)}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost,button.secondary{background:var(--btn-ghost-bg);color:var(--btn-ghost-fg)}.btn-ghost:hover,button.secondary:hover{background:var(--accent-soft)}.actions{margin:.65rem 0}.privacy{color:var(--muted);margin:1rem 0 0;font-size:.82rem;line-height:1.55}.fingerprint-row{color:var(--muted);font-size:.85rem}.error{background:color-mix(in srgb, var(--unsupported) 12%, var(--panel));color:var(--unsupported);border-radius:.75rem;margin:0 0 1rem;padding:.75rem .85rem}.lesson{color:var(--fg);margin:0 0 .9rem}.stats{background:var(--bg);border-radius:.75rem;grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:0;padding:.85rem 1rem;display:grid}.stats dt{color:var(--muted);font-size:.82rem}.stats dd{font-variant-numeric:tabular-nums;font-family:var(--mono);margin:0;font-size:.85rem}.targets{grid-template-columns:repeat(auto-fit,minmax(16.5rem,1fr));gap:.85rem;display:grid}.card{background:var(--bg);border-radius:var(--radius);min-width:0;box-shadow:none;border:0;flex-direction:column;padding:1.05rem 1.1rem 1.15rem;display:flex}.card h3{font-family:var(--display);text-transform:capitalize;letter-spacing:-.02em;margin:0;font-size:1.02rem}.card h4{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin:.9rem 0 .35rem;font-size:.78rem;font-weight:700}.muted{color:var(--muted);overflow-wrap:anywhere;font-size:.82rem}.compat{font-family:var(--mono);background:var(--accent-soft);border-radius:999px;width:fit-content;margin:.45rem 0;padding:.18rem .55rem;font-size:.78rem;display:inline-block}.compat-lossless{color:var(--lossless)}.compat-runtime-safe{color:var(--runtime)}.compat-lossy{color:var(--lossy)}.compat-unsupported{color:var(--unsupported)}.diag-list,.issue-list{margin:0;padding-left:1.1rem}.diag-list li,.issue-list li{margin-bottom:.35rem}pre,code{font-family:var(--mono)}code{background:var(--accent-soft);border-radius:.35rem;padding:.05rem .28rem;font-size:.86em}pre{background:var(--code-bg);max-height:22rem;color:var(--code-fg);border-radius:.75rem;margin:.5rem 0 0;padding:.85rem .95rem;font-size:.78rem;line-height:1.45;overflow:auto}pre code{color:inherit;background:0 0;padding:0}details{margin-top:.75rem}summary{cursor:pointer;color:var(--muted);font-weight:600}#matrix,#diff{overflow-x:auto}.matrix{border-collapse:collapse;background:var(--bg);border-radius:.75rem;width:100%;min-width:36rem;font-size:.85rem;overflow:hidden}.matrix th,.matrix td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;overflow-wrap:anywhere;padding:.55rem .65rem}.matrix th{color:var(--muted);font-size:.78rem;font-weight:600}.fingerprint{font-family:var(--mono);overflow-wrap:anywhere;color:var(--fg);font-size:.78rem}.status-ok{color:var(--lossless)}.status-error{color:var(--unsupported)}.compare-controls{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem;display:grid}.site-footer{color:var(--muted);font-size:.88rem}.site-footer a{color:var(--fg);font-weight:600}.site-footer p{margin:0}@media (width<=640px){.compare-controls{grid-template-columns:1fr}.header-actions{justify-content:flex-end;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
