:root{--bg: #F1F4F2;--paper: #FFFFFF;--ink: #10201D;--ink-soft: #4B5C57;--line: #DCE3DF;--accent: #146B64;--accent-soft: #E4EFED;--critical: #C0392B;--important: #C6791E;--minor: #A98A0A;--good: #1E7A4C;--font-display: "Fraunces", Georgia, serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:28px 28px;background-attachment:fixed;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}.page{max-width:760px;margin:0 auto;padding:48px 20px 80px}.masthead{margin-bottom:32px}.masthead__eyebrow{display:inline-block;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:4px 12px;margin-bottom:16px}.masthead__title{font-family:var(--font-display);font-weight:600;font-size:clamp(32px,6vw,44px);margin:0 0 10px;letter-spacing:-.01em}.masthead__sub{font-size:15px;color:var(--ink-soft);max-width:52ch;line-height:1.55;margin:0}.panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:0 1px 2px #10201d0a;margin-bottom:20px}.panel__title{font-family:var(--font-display);font-size:22px;margin:0 0 6px}.panel__lede{color:var(--ink-soft);font-size:14px;line-height:1.5;margin:0 0 20px}.field{display:block;margin-bottom:16px}.field__label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--ink)}.field__optional{font-weight:400;color:var(--ink-soft)}.field__textarea{width:100%;font-family:var(--font-body);font-size:15px;line-height:1.5;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);resize:vertical;color:var(--ink)}.field__textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.field__textarea--compact{font-size:14px}.field__error{color:var(--critical);font-size:13px;margin:-8px 0 12px}.input-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.upload-row{display:flex;align-items:center;gap:10px}.upload-btn{font-family:var(--font-mono);font-size:12.5px;color:var(--accent);border:1px dashed var(--accent);border-radius:8px;padding:7px 12px;cursor:pointer}.upload-chip{display:inline-flex;align-items:center;gap:6px;background:var(--accent-soft);color:var(--accent);font-size:12.5px;font-family:var(--font-mono);padding:5px 8px 5px 10px;border-radius:8px}.upload-chip__remove{background:none;border:none;color:var(--accent);cursor:pointer;font-size:15px;line-height:1;padding:0 2px}.char-counter{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft)}.char-counter--over{color:var(--critical)}.btn{font-family:var(--font-body);font-weight:600;font-size:14px;border-radius:9px;padding:12px 20px;border:1px solid transparent;cursor:pointer;transition:opacity .15s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){opacity:.92}.btn--ghost{background:transparent;color:var(--ink-soft);border-color:var(--line)}.btn--wide{width:100%}.btn--small{padding:6px 12px;font-size:12.5px;background:var(--accent-soft);color:var(--accent)}.action-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.alert{background:#fbeae8;border:1px solid #E9B7B0;color:var(--critical);border-radius:10px;padding:14px 16px;font-size:14px;margin-bottom:20px}.diagnosis-layout{display:grid;grid-template-columns:150px 1fr;gap:28px}.diagnosis-body{min-width:0}@media (max-width: 560px){.diagnosis-layout{grid-template-columns:1fr}}.gauge{display:flex;flex-direction:column;align-items:center;position:relative}.gauge__ring{transform:rotate(-90deg)}.gauge__track{fill:none;stroke:var(--line);stroke-width:9}.gauge__value{fill:none;stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset .6s ease}.gauge__readout{position:absolute;top:54px;display:flex;align-items:baseline;gap:2px}.gauge__number{font-family:var(--font-display);font-size:34px;font-weight:600}.gauge__scale{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft)}.gauge__label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-top:10px}.gauge__band{font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;margin-top:2px}.gauge__delta{font-family:var(--font-mono);font-size:12px;margin-top:6px;padding:2px 8px;border-radius:999px}.gauge__delta--up{color:var(--good);background:#e4f3ea}.gauge__delta--down{color:var(--critical);background:#fbeae8}.issues{margin-bottom:12px}.issues__group{margin-bottom:18px}.issues__group-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px}.issues__group-count{font-family:var(--font-mono);font-weight:400;color:var(--ink-soft);font-size:12px}.issues__list{list-style:none;margin:0;padding:0}.issue{border-left:3px solid var(--line);border-radius:8px;background:var(--bg);padding:10px 12px;margin-bottom:8px}.issue--critical{border-left-color:var(--critical)}.issue--important{border-left-color:var(--important)}.issue--minor{border-left-color:var(--minor)}.issue__check{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.issue__check input{margin-top:4px}.issue__title{display:block;font-weight:600;font-size:14px}.issue__explanation{font-size:13px;color:var(--ink-soft);margin:4px 0 0;line-height:1.5}.issues-empty{color:var(--good);font-size:14px}.rewrite-box{background:var(--accent-soft);border:1px solid #BFDAD6;border-radius:10px;padding:16px;margin:16px 0 4px}.rewrite-box__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.rewrite-box__label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.rewrite-box__text{font-size:14.5px;line-height:1.6;margin:0;color:var(--ink)}.change-summary{margin:0 0 16px;padding-left:18px;font-size:13.5px;color:var(--ink-soft);line-height:1.6}
