@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,ital,wght@9..144,0,400;9..144,0,600;9..144,0,800;9..144,0,900;9..144,1,400;9..144,1,600;9..144,1,800;9..144,1,900&family=JetBrains+Mono:wght@400;500;600&family=Noto+Sans+JP:wght@400;500;600;700&family=Shippori+Mincho:wght@600;700;800&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--paper);color:var(--ink);font-family:var(--font-jp);font-feature-settings:"palt";line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:40px 40px;overflow-x:hidden}a{color:inherit}button{font-family:inherit}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes loading-slide{0%{left:-40%}to{left:100%}}@keyframes fade-slide-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.mono{font-family:var(--font-mono)}.FeedbackButton_btn__PeZXH{position:fixed;bottom:24px;right:24px;z-index:800;display:inline-flex;align-items:center;gap:6px;background:var(--ink);color:var(--paper);font-family:var(--font-jp);font-size:12px;font-weight:600;padding:10px 18px;border:1px solid var(--rule);text-decoration:none;letter-spacing:.04em;transition:transform .15s,box-shadow .15s}.FeedbackButton_btn__PeZXH:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--accent)}:root{--paper:#f4f1ea;--paper-2:#ebe6db;--paper-3:#e1dccf;--ink:#16140f;--ink-soft:#3a352c;--rule:#1a1814;--rule-soft:rgba(22,20,15,0.18);--muted:#7a7263;--accent:#d83a1f;--accent-soft:rgba(216,58,31,0.10);--accent-mark:rgba(216,58,31,0.25);--accent-ghost:rgba(216,58,31,0.05);--good:#2f7a4a;--good-soft:rgba(47,122,74,0.10);--warn:#c98a16;--warn-soft:rgba(201,138,22,0.10);--bad:#c43022;--bad-soft:rgba(196,48,34,0.10);--grid:rgba(22,20,15,0.06);--sev-critical:var(--bad);--sev-critical-soft:var(--bad-soft);--sev-major:var(--accent);--sev-major-soft:var(--accent-soft);--sev-minor:var(--warn);--sev-minor-soft:var(--warn-soft);--sev-info:var(--muted);--sev-info-soft:rgba(122,114,99,0.10);--font-jp:"Noto Sans JP",-apple-system,sans-serif;--font-jp-serif:"Shippori Mincho",serif;--font-en-display:"Fraunces",serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--fs-eyebrow:13px;--fs-label:11px;--fs-caption:12px;--fs-body-sm:13px;--fs-body:14px;--fs-body-lg:15px;--fs-lede:17px;--fs-h3:20px;--fs-h2-mobile:32px;--fs-h2:clamp(28px,4vw,44px);--fs-h2-hero:clamp(32px,4.5vw,56px);--fs-h1:clamp(40px,6vw,72px);--fs-stat:28px;--fs-display:48px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--space-20:80px;--space-24:96px;--space-28:112px;--section-y:var(--space-24);--section-y-tight:var(--space-20);--section-y-large:var(--space-28);--container-max:1100px;--container-pad:var(--space-7);--border-1:1px solid var(--rule);--border-1-soft:1px solid var(--rule-soft);--radius-0:0;--radius-1:2px;--radius-2:4px;--radius-3:6px;--radius-pill:999px;--shadow-stamp-sm:2px 2px 0 var(--ink);--shadow-stamp:4px 4px 0 var(--ink);--shadow-stamp-lg:6px 6px 0 var(--ink);--shadow-stamp-accent:4px 4px 0 var(--accent);--shadow-soft:0 2px 8px rgba(22,20,15,0.05);--easing:cubic-bezier(0.2,0.7,0.2,1);--easing-in:cubic-bezier(0.4,0,1,1);--duration-fast:120ms;--duration:150ms;--duration-slow:240ms;--z-base:0;--z-elev:10;--z-sticky:50;--z-overlay:200;--z-modal:1000;--z-toast:2000}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0ms;--duration:0ms;--duration-slow:0ms}}.df-section{padding:var(--section-y) 0;border-bottom:var(--border-1)}.df-section--tight{padding:var(--section-y-tight) 0}.df-section--dark{background:var(--ink);color:var(--paper)}.df-section--alt{background:var(--paper-2)}.df-inner{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}.df-eyebrow{font-family:var(--font-en-display);font-style:italic;font-size:var(--fs-eyebrow);color:var(--accent);font-weight:600;letter-spacing:.08em;margin-bottom:var(--space-4);display:inline-block}.df-h1{font-size:var(--fs-h1);line-height:1.18;letter-spacing:-.02em}.df-h1,.df-h2{font-family:var(--font-jp-serif);font-weight:700}.df-h2{font-size:var(--fs-h2);line-height:1.25;letter-spacing:-.01em}.df-h3{font-family:var(--font-jp-serif);font-size:var(--fs-h3);font-weight:700;line-height:1.4}.df-lede{font-size:var(--fs-lede);color:var(--ink-soft);line-height:1.9;max-width:640px}.df-label{font-family:var(--font-mono);font-size:var(--fs-label);font-weight:700;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.df-display-num{font-family:var(--font-en-display);font-style:italic;font-weight:900;letter-spacing:-.03em;line-height:1}.df-mark{background-image:linear-gradient(transparent 68%,var(--accent-mark) 68%)}.df-em-accent{color:var(--accent);font-weight:800}.df-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:14px 28px;font-size:var(--fs-body-lg);font-weight:700;border:none;cursor:pointer;text-decoration:none;font-family:inherit;background:transparent;color:inherit;border-radius:var(--radius-0);transition:background var(--duration) var(--easing),color var(--duration) var(--easing),transform var(--duration-fast) var(--easing),box-shadow var(--duration-fast) var(--easing),border-color var(--duration) var(--easing);min-height:44px;line-height:1.2}.df-btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}.df-btn--primary{background:var(--accent);color:var(--paper)}.df-btn--primary:hover:not(:disabled){background:var(--ink);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--accent)}.df-btn--primary:active:not(:disabled){transform:translate(0);box-shadow:0 0 0 var(--accent)}.df-btn--ink{background:var(--ink);color:var(--paper);border:1px solid var(--ink)}.df-btn--ink:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.df-btn--outline{background:transparent;color:var(--ink);border:1px solid var(--rule)}.df-btn--outline:hover:not(:disabled){background:var(--ink);color:var(--paper);border-color:var(--ink)}.df-btn--ghost{padding:14px 4px;font-size:var(--fs-body);color:var(--ink-soft);border-bottom:1px solid var(--rule);border-radius:0;min-height:0}.df-btn--ghost:hover:not(:disabled){color:var(--ink);border-color:var(--ink);transform:none}.df-btn--lg{padding:18px 40px;font-size:17px}.df-btn--sm{padding:10px 20px;font-size:var(--fs-body-sm);min-height:36px}.df-btn--xs{padding:4px 10px;font-size:var(--fs-caption);min-height:28px;font-weight:600}.df-btn--icon{padding:0;width:36px;height:36px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);min-height:0}.df-btn--icon:hover:not(:disabled){background:var(--ink);color:var(--paper)}.df-card{background:var(--paper);border:1px solid var(--rule);padding:var(--space-7);border-radius:var(--radius-0);transition:background var(--duration) var(--easing),box-shadow var(--duration-fast) var(--easing),transform var(--duration-fast) var(--easing)}.df-card--alt{background:var(--paper-2)}.df-card--interactive{cursor:pointer}.df-card--interactive:hover{background:var(--paper-2)}.df-card--hover-stamp:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.df-card--accent-stamp{border-color:var(--ink);border-width:2px;box-shadow:var(--shadow-stamp)}.df-field{width:100%;background:var(--paper);border:1px solid var(--rule);padding:10px 14px;font-size:var(--fs-body);font-family:inherit;color:var(--ink);border-radius:var(--radius-0);transition:border-color var(--duration) var(--easing),box-shadow var(--duration) var(--easing);min-height:44px}.df-field:focus{outline:none;border-color:var(--accent);box-shadow:2px 2px 0 var(--accent)}.df-field::placeholder{color:var(--muted)}.df-field-label{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--fs-body-sm);font-weight:600;color:var(--ink-soft)}.df-stats{display:flex;gap:0;border:1px solid var(--rule);background:var(--paper-2);flex-wrap:wrap}.df-stat{flex:1 1;min-width:120px;padding:20px 24px;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:6px}.df-stat:last-child{border-right:none}.df-stat-value{font-family:var(--font-en-display);font-size:var(--fs-stat);font-weight:600;font-style:italic;line-height:1;color:var(--ink);letter-spacing:-.03em}.df-stat-label{font-size:var(--fs-label);color:var(--muted)}.df-chip,.df-stat-label{font-weight:700;letter-spacing:.04em;text-transform:uppercase}.df-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:11px;border:1px solid var(--rule);background:var(--paper);color:var(--ink-soft);border-radius:var(--radius-pill);font-family:var(--font-mono)}.df-chip--active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.df-chip--accent{background:var(--accent);color:var(--paper);border-color:var(--accent)}.df-chip--critical{background:var(--bad-soft);color:var(--bad);border-color:var(--bad)}.df-chip--major{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.df-chip--minor{background:var(--warn-soft);color:var(--warn);border-color:var(--warn)}.df-chip--info{background:var(--sev-info-soft);color:var(--muted)}.df-chip--good{background:var(--good-soft);color:var(--good);border-color:var(--good)}.df-status{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-pill);font-family:var(--font-mono)}.df-status--queued{background:var(--paper-3);color:var(--ink-soft)}.df-status--running{background:var(--warn-soft);color:var(--warn)}.df-status--done{background:var(--good-soft);color:var(--good)}.df-status--error{background:var(--bad-soft);color:var(--bad)}.df-rule{border:none;border-top:1px solid var(--rule);margin:var(--space-6) 0}.df-page{max-width:var(--container-max);margin:0 auto;padding:var(--space-12) var(--container-pad)}.df-page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-6);margin-bottom:var(--space-10);flex-wrap:wrap}.df-page-header h1{font-family:var(--font-jp-serif);font-size:clamp(28px,3.5vw,40px);font-weight:700;line-height:1.2;letter-spacing:-.02em}.df-back{font-family:var(--font-en-display);font-style:italic;font-size:var(--fs-body-sm);color:var(--muted);text-decoration:none;transition:color var(--duration) var(--easing)}.df-back:hover{color:var(--ink)}.df-empty{text-align:center;padding:var(--space-16) var(--space-6);color:var(--muted);border:1px dashed var(--rule);background:var(--paper-2)}.df-empty-num{font-family:var(--font-en-display);font-style:italic;font-weight:900;font-size:64px;color:var(--accent-soft);line-height:1;margin-bottom:var(--space-3);letter-spacing:-.03em}.df-score{display:flex;align-items:baseline;gap:var(--space-2)}.df-score-num{font-weight:900;font-size:56px;line-height:1;letter-spacing:-.04em;color:var(--ink)}.df-score-grade,.df-score-num{font-family:var(--font-en-display);font-style:italic}.df-score-grade{font-weight:800;font-size:24px;color:var(--accent);letter-spacing:-.02em}@media (max-width:720px){.df-stats{flex-direction:column}.df-stat{border-right:none;border-bottom:1px solid var(--rule)}.df-stat:last-child{border-bottom:none}}