:root{color:#202124;background:#eef2f7;font-family:Inter,Microsoft YaHei,PingFang SC,Arial,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}.page{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:40px 0}.app-header,.result-toolbar,.boundary-note,.empty-state{background:#fff;border:1px solid #d9e0ea;border-radius:8px;padding:28px}.app-header{margin-bottom:18px}.kicker{margin:0 0 8px;color:#6f2d1f;font-size:13px;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,p{overflow-wrap:anywhere}h1{margin:0;font-size:clamp(30px,4vw,48px);line-height:1.1}h2{margin:0}.intro{max-width:720px;margin:14px 0 0;color:#53606f}.upload-form{background:#fff;border:1px solid #d9e0ea;border-radius:8px;padding:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:grid;gap:8px;color:#394150;font-weight:700}.file-field{grid-column:1 / -1}input{width:100%;min-height:44px;border:1px solid #b9c4d4;border-radius:6px;padding:10px 12px;background:#fbfcff;color:#202124}input:focus{outline:3px solid #9cc7ff;border-color:#245ea8}.form-actions,.dialog-actions,.toolbar-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:20px}.primary-button,.secondary-button{min-height:42px;border:1px solid transparent;border-radius:6px;padding:10px 16px;font-weight:700;cursor:pointer}.primary-button{background:#1f5f8b;color:#fff}.secondary-button{background:#fff;border-color:#aeb9c8;color:#27313d}.form-messages ul{margin:16px 0 0;padding-left:20px}.error{color:#a51f28}.warning{color:#876002}.boundary-note{margin-top:18px;color:#53606f}.boundary-note h2{color:#202124;font-size:18px}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#18202b94;z-index:20}.dialog{width:min(520px,100%);background:#fff;border-radius:8px;border:1px solid #d9e0ea;padding:24px;box-shadow:0 24px 60px #0000003d}.dialog p{color:#4c5867}.result-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.result-toolbar .toolbar-actions{margin-top:0}.summary-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,340px);gap:24px;align-items:center;background:#fffdf8;border:2px solid #9ca8ba;border-radius:8px;padding:24px;margin-bottom:18px}.summary-info h2{margin-bottom:18px;font-size:24px;font-weight:800}dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:0}dt{color:#6c7786;font-size:13px}dd{margin:2px 0 0;font-weight:700}.stamp-area{display:flex;justify-content:flex-end;gap:16px}.rate-stamp{display:grid;place-items:center;width:128px;height:128px;border:5px double #b3262f;border-radius:50%;color:#b3262f;font-weight:800;text-align:center;transform:rotate(-8deg);background:#ffffffb8}.rate-stamp strong{display:block;font-size:28px;line-height:1}.report-body{background:#fff;border:1px solid #d9e0ea;border-radius:8px;padding:32px}.report-body header{border-bottom:1px solid #d9e0ea;padding-bottom:20px;margin-bottom:22px}.report-meta{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:14px;color:#5d6877}.report-body section+section{margin-top:22px}.report-body h2{margin-bottom:8px;font-size:20px}.result-disclosure{position:fixed;right:18px;bottom:18px;z-index:10;max-width:min(240px,calc(100vw - 36px));padding:8px 10px;border:1px solid #c9d2df;background:#ffffffeb;color:#647082;border-radius:6px;font-size:12px;box-shadow:0 10px 28px #2021241f}.empty-state{text-align:center}@media(max-width:780px){.page{width:min(100% - 20px,1120px);padding:20px 0}.form-grid,.summary-box,dl{grid-template-columns:1fr}.result-toolbar{align-items:stretch;flex-direction:column}.toolbar-actions,.form-actions,.dialog-actions,.stamp-area{justify-content:stretch}.toolbar-actions button,.form-actions button,.dialog-actions button{width:100%}.stamp-area{flex-wrap:wrap}.rate-stamp{width:116px;height:116px}}
