:root{--ink:#14231c;--muted:#647168;--paper:#f4f1e9;--surface:#fffdf8;--line:#dedbd1;--green:#0f5c42;--green-dark:#083d2c;--gold:#cc9b45;--danger:#9f3232;--shadow:0 18px 50px #2430281a}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}body{background:radial-gradient(circle at 12% 0%, #cc9b4524, transparent 32rem), linear-gradient(180deg, #f8f6ef 0%, var(--paper) 100%);min-height:100vh;margin:0}a{color:inherit;text-decoration:none}.siteHeader{justify-content:space-between;align-items:center;max-width:1360px;margin:0 auto;padding:24px 36px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brandMark{background:var(--green);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;font-family:Georgia,serif;font-size:23px;display:flex}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.16em}.brand small{color:var(--muted);margin-top:2px;font-size:12px}.siteHeader nav{gap:26px;font-size:14px;font-weight:650;display:flex}.siteHeader nav a:hover{color:var(--green)}.landing{max-width:1360px;margin:0 auto;padding:70px 36px 110px}.hero{max-width:970px;padding:40px 0 90px}.eyebrow{color:var(--green);letter-spacing:.18em;margin-bottom:24px;font-size:13px;font-weight:800}.hero h1{letter-spacing:-.045em;margin:0;font-family:Georgia,Noto Serif SC,serif;font-size:clamp(48px,7vw,88px);font-weight:500;line-height:1.04}.hero p{color:var(--muted);max-width:760px;margin:34px 0;font-size:20px;line-height:1.8}.heroActions{flex-wrap:wrap;gap:14px;display:flex}.button{border:1px solid var(--line);cursor:pointer;font:inherit;border-radius:10px;justify-content:center;padding:13px 20px;font-weight:700;display:inline-flex}.button.primary{background:var(--green);border-color:var(--green);color:#fff}.button.primary:hover{background:var(--green-dark)}.button.secondary{background:#ffffff8c}.featureGrid{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.featureGrid article{padding:38px 44px 30px 0}.featureGrid span{color:var(--gold);font-family:Georgia,serif;font-size:14px}.featureGrid h2{margin:18px 0 12px;font-size:20px}.featureGrid p{color:var(--muted);margin:0;line-height:1.7}.pageShell{max-width:1360px;min-height:calc(100vh - 170px);margin:0 auto;padding:48px 36px 100px}.pageHeading{justify-content:space-between;align-items:flex-end;margin-bottom:32px;display:flex}.pageHeading h1{letter-spacing:-.03em;margin:0;font-family:Georgia,Noto Serif SC,serif;font-size:46px;font-weight:500}.pageHeading p{color:var(--muted);margin:10px 0 0}.authCard,.formCard,.detailCard,.tableCard,.notice{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px}.authWrap{justify-content:center;align-items:center;min-height:calc(100vh - 210px);padding:40px 20px 90px;display:flex}.authCard{width:100%;max-width:480px;padding:38px}.authCard h1{margin:0 0 8px;font-family:Georgia,Noto Serif SC,serif;font-size:34px;font-weight:500}.authCard>p{color:var(--muted);margin:0 0 30px}.field{gap:8px;margin-bottom:20px;display:grid}.field label{font-size:14px;font-weight:700}.field input,.field select,.field textarea{color:var(--ink);font:inherit;background:#fff;border:1px solid #cbc9c0;border-radius:9px;width:100%;padding:12px 13px}.field textarea{resize:vertical;min-height:115px;line-height:1.55}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #0f5c421a}.formGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;display:grid}.field.full{grid-column:1/-1}.formCard{padding:34px}.formHint,.smallText{color:var(--muted);font-size:13px;line-height:1.6}.errorMessage{color:var(--danger);background:#fff0ed;border:1px solid #efc2b9;border-radius:9px;margin:14px 0;padding:11px 13px}.successMessage{color:var(--green);background:#eaf7f0;border:1px solid #b9dfca;border-radius:9px;margin:14px 0;padding:11px 13px}.tableCard{overflow-x:auto}.dataTable{border-collapse:collapse;width:100%;min-width:1400px;font-size:14px}.dataTable th{color:#4f5d55;letter-spacing:.04em;text-align:left;text-transform:uppercase;background:#eeece4;padding:13px 15px;font-size:12px}.dataTable td{border-top:1px solid var(--line);vertical-align:middle;padding:15px}.dataTable tr:hover td{background:#faf8f2}.caseLink{color:var(--green);font-weight:750}.detailCard details{border-top:1px solid var(--line);padding:14px 0}.detailCard summary{color:var(--green);cursor:pointer;font-weight:750}.grade{border-radius:999px;justify-content:center;align-items:center;min-width:27px;height:27px;padding:0 9px;font-size:12px;font-weight:850;display:inline-flex}.grade-A{color:#17602b;background:#d7f4df}.grade-B{color:#15537c;background:#e1f0ff}.grade-C{color:#7c5c08;background:#fff1c9}.grade-D{color:#9d3a20;background:#ffe0d5}.grade-E,.grade-pending{color:#5f625f;background:#ebe8e1}.status{color:var(--muted);font-size:13px}.detailGrid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:24px;display:grid}.detailCard{padding:30px}.detailCard h2{border-bottom:1px solid var(--line);margin:0 0 22px;padding-bottom:14px;font-size:18px}.detailItem{margin-bottom:24px}.detailItem strong{margin-bottom:7px;font-size:13px;display:block}.detailItem p{color:#34433a;white-space:pre-wrap;margin:0;line-height:1.75}.scoreRow{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.scoreBox{text-align:center;background:#efeee8;border-radius:10px;padding:14px}.scoreBox strong{font-family:Georgia,serif;font-size:26px;display:block}.report{white-space:pre-wrap;line-height:1.8}.emptyState{color:var(--muted);text-align:center;padding:60px 30px}.siteFooter{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;max-width:1360px;margin:0 auto;padding:22px 36px 32px;font-size:12px;display:flex}@media (max-width:900px){.featureGrid,.detailGrid,.formGrid{grid-template-columns:1fr}.siteHeader{align-items:flex-start;gap:20px}.siteHeader nav{display:none}.pageHeading{flex-direction:column;align-items:flex-start;gap:20px}.tableCard{overflow-x:auto}.dataTable{min-width:900px}}
