:root{--background: #f5faff;--surface: #fff;--subtle: #e9f3ff;--border: #d8e7f4;--text: #18324f;--muted: #52677f;--primary: #2563eb;color:var(--text);background:var(--background);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}:root[data-theme=dark]{--background: #102033;--surface: #172c43;--subtle: #203c59;--border: #36536f;--text: #eef7ff;--muted: #b4c7d9;--primary: #93c5fd}*{box-sizing:border-box}body{margin:0;min-width:320px}.shell{display:grid;gap:20px;margin:0 auto;max-width:1120px;min-height:100vh;padding:40px 24px 64px}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px}.eyebrow{color:var(--muted);font-size:.875rem;font-weight:600;margin:0}.hero-top{margin-bottom:12px}.app-header{align-items:center;display:flex;justify-content:space-between;padding:0 4px}.brand{align-items:center;color:var(--text);display:inline-flex;font-size:1.05rem;font-weight:800;gap:9px;text-decoration:none}.brand svg{color:var(--primary)}.theme-switch{align-items:center;background:var(--subtle);border:1px solid var(--border);border-radius:999px;color:var(--muted);display:inline-flex;gap:6px;padding:5px}.switch-thumb{background:var(--surface);border:1px solid var(--border);border-radius:50%;box-shadow:0 1px 3px #00000029;height:18px;order:-1;transition:transform .18s ease;width:18px}:root[data-theme=dark] .switch-thumb{transform:translate(24px)}:root[data-theme=dark] .theme-switch svg:first-child{opacity:.55}:root:not([data-theme=dark]) .theme-switch svg:last-child{opacity:.55}h1{font-size:clamp(2rem,5vw,3rem);line-height:1.1;margin:0 0 16px}p{font-size:1rem;line-height:1.55}.upload{display:grid;gap:14px;margin-top:24px}.communities{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.communities a{color:#2563eb;font-weight:700}.upload label{display:grid;gap:8px;font-weight:600}input{border:1px solid #d8e7f4;border-radius:8px;padding:10px}button{background:var(--primary);border:0;border-radius:8px;color:#fff;cursor:pointer;font:inherit;font-weight:700;padding:12px 16px}:root[data-theme=dark] button{color:#102033}button:disabled{cursor:wait;opacity:.7}button:focus-visible,input:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}.muted{color:var(--muted)}.error{color:#a55012}.delta{color:var(--primary);font-weight:700}.comparison-note{color:var(--muted);font-size:.9rem;margin-bottom:0}.result{display:grid;gap:20px}.result-grid{display:grid;gap:20px;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr)}.score{color:var(--primary);font-size:clamp(3.5rem,8vw,5.5rem);font-weight:800;letter-spacing:-.07em;line-height:.9;margin:8px 0 16px}.score span,.rule summary small,.recommendation{color:var(--muted)}.score span{font-size:.38em;letter-spacing:0}.score-card h2,.priorities h2,.rules h2,.findings h2{font-size:1.35rem;margin:0 0 12px}.budgets{display:flex;flex-wrap:wrap;gap:8px}.budgets span{background:var(--subtle);border-radius:999px;font-size:.9rem;padding:6px 10px}.findings-list{display:grid;gap:12px}.finding{border:1px solid var(--border);border-radius:10px;overflow:hidden}.finding-text{background:var(--subtle);font-weight:600;margin:0;padding:12px 14px}.finding-help{color:var(--muted);font-size:.9rem;margin:0;padding:10px 14px 12px}.priorities ol{display:grid;gap:12px;margin:0;padding-left:22px}.priorities li{line-height:1.45;padding-left:4px}.rules{padding:8px 24px 20px}.rules h2{padding-top:16px}.rule,details{border-top:1px solid var(--border)}.rule{margin:0;padding:0 12px;transition:background .18s ease}.rule--good{background:linear-gradient(90deg,rgb(22 163 74 / .1),transparent 72%)}.rule--attention{background:linear-gradient(90deg,rgb(217 119 6 / .16),transparent 72%)}.rule--action{background:linear-gradient(90deg,rgb(234 88 12 / .16),transparent 72%)}.rule--neutral{background:linear-gradient(90deg,var(--subtle),transparent 72%)}.rule summary{align-items:center;display:flex;justify-content:space-between;gap:16px;padding:16px 0}.rule summary span{display:grid;gap:4px}.rule summary b{color:var(--primary);white-space:nowrap}.recommendation,.rule-ok{margin:0 0 16px}.rule-ok{color:#15803d;font-weight:650}.text-preview{margin:0}.text-preview summary{cursor:pointer;font-weight:700}.text-preview[open] summary{margin-bottom:16px}details{padding-top:16px}summary{cursor:pointer;font-weight:700}@media(max-width:760px){.shell{padding:24px 16px 48px}.result-grid{grid-template-columns:1fr}.card{padding:24px}.rules{padding:8px 20px 16px}}@media(max-width:430px){.card{padding:20px}.score{font-size:4rem}.rule summary{align-items:flex-start}.rule summary b{font-size:.9rem}.upload button{width:100%}}.rule[open] summary{margin-bottom:10px}.recommendation,.rule-ok{line-height:1.5;margin:0 0 20px;padding:2px 0 4px}.rule-ok{color:#15803d;font-weight:400}.text-preview p{white-space:pre-wrap}
