/* Match the approved local scoring app; all assets are served by this application. */
:root{color-scheme:light;--primary:#4f7450;--primary-foreground:#fffef1;--card:#fffdf4;--foreground:#33483b;--border:#d4dac4;--muted-foreground:#697766}
body{background:radial-gradient(ellipse at 85% 8%,#fff5cba6,transparent 42%),radial-gradient(ellipse at 8% 90%,#b7caa67a,transparent 48%),linear-gradient(180deg,#deedf0 0%,#edf1e2 45%,#f4efdd 100%);background-attachment:fixed}
::selection{background:#d4e3be;color:#294733}
.topbar{min-height:76px;background:#fffdf2e8;border-bottom-color:#cad5bd;padding:16px 36px;align-items:center}
.brand{display:flex;align-items:center;gap:13px;font-size:19px;color:#345340}
.brand-mark,.entry-mark{display:grid;place-items:center;flex-shrink:0;background:#5f7e58;color:#fffef1;border-radius:13px 9px 14px 9px;width:35px;height:35px;font-size:23px}
.entry{max-width:520px;margin:0 auto;min-height:calc(100svh - 76px);display:flex;align-items:center;padding:40px 20px}
.entry>.paper{width:100%}.entry-card{position:relative;padding:40px;border-radius:24px 19px 27px 20px;border-top:4px solid #86a176;box-shadow:0 20px 55px #567b4820;background:linear-gradient(150deg,#fffef7,#faf7e9)}
.entry-card::after{content:"";position:absolute;top:26px;right:32px;width:23px;height:42px;background:linear-gradient(120deg,#89a975,#5f895f);border-radius:80% 0 80% 0;transform:rotate(25deg);box-shadow:15px 12px 0 -5px #b0c393;pointer-events:none;opacity:.7}
.entry-mark{width:52px;height:52px;margin-bottom:25px;background:#e4ead2;color:#4d704a;border:1px solid #ccdab8;border-radius:18px 13px 19px 12px;font-size:29px}
h1{font-family:STKaiti,KaiTi,"Microsoft YaHei",serif;color:#354e3c;letter-spacing:.03em;font-size:27px}.entry-card h1{font-size:26px;margin:10px 0 13px}.entry-card form{margin-top:28px}
.eyebrow{font-size:12px;color:#718064}.muted,.metric-label{color:#697766}.paper{background:#fffdf4;border-color:#d4dac4;box-shadow:0 8px 28px #5f795010;border-radius:17px}.entry-card{border-radius:24px 19px 27px 20px;background:linear-gradient(150deg,#fffef7,#faf7e9)}
.workspace{max-width:1180px;padding:32px 40px}.split{grid-template-columns:200px minmax(0,1fr);gap:18px}.section{margin-top:20px}
.field input,.field textarea{background:#fffef9!important;border-color:#bbc9ae;color:#354b3b;border-radius:10px}.field input:focus,.field textarea:focus{outline:2px solid #8daa6680;outline-offset:2px}
.score-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.score-fields>.field:first-child{grid-column:1/-1}.score-fields>.field:first-child input{font-size:24px!important;font-weight:600}
.calculation{background:linear-gradient(120deg,#e7eee0,#f6edcd);border:1px solid #d2dabb;border-radius:13px;gap:14px;padding:15px 18px}.calculation>div+div{border-left:1px solid #cbd5b6;padding-left:14px}.calculation strong{color:#4b7044;font-size:24px}.calculation>div:last-child strong{color:#936332}
.status{background:#f2e7c3;color:#796237;border:1px solid #e3d4a4}.roster{padding:20px 12px}.roster h2,.roster>p{padding:0 6px}.roster h2{font-size:15px}.roster-list{max-height:415px;overflow:auto}
[data-slot=button]{border-radius:10px;min-height:42px}[data-slot=button].bg-primary{background:#4f7450;color:#fffef1;border:1px solid #426644;box-shadow:0 3px 0 #33573b}
[data-slot=progress-track]{height:7px;background:#e7ead8}[data-slot=progress-indicator]{background:linear-gradient(90deg,#64875a,#a0b76f)}
.entry-note{font-size:12px;margin:24px 0 0;color:#697766;line-height:1.8}.footer-note{display:block;margin:22px auto 0;padding-top:16px;border-top:1px solid #d4dac4;width:100%;font-size:13px}
.entry-card form>[data-slot=button]{margin-top:19px;width:100%}
.dialog-scroll{background:#fffdf3;border-color:#c8d1b6}.error{background:#fbede1;color:#985036;border-color:#dfb79f}
@media(max-width:750px){.topbar{padding:14px 18px;gap:8px}.brand{font-size:16px}.topbar>.muted{font-size:12px}.workspace{padding:20px 14px 40px}.split{grid-template-columns:1fr}.roster-list{display:flex;max-height:none;gap:8px}.roster-list button{flex-shrink:0}.paper{padding:20px}.entry-card{padding:28px}.score-top{flex-wrap:wrap;gap:6px}.score-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.calculation{padding:12px;gap:8px}.calculation>div+div{padding-left:8px}.metric-label{font-size:12px}.calculation strong{font-size:22px}.actions>[data-slot=button]{white-space:normal;height:auto;min-height:44px}.entry{padding:24px 16px}.page-heading .actions{margin-top:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
