:root{color:#252620;font-synthesis:none;text-rendering:optimizelegibility;--ink:#252620;--muted:#7b7a70;--line:#dfddd4;--paper:#fffdfa;--canvas:#f6f3ec;--accent:#daff55;--accent-dark:#a9d700;--brown:#453d34;--danger:#b74a3f;--amber:#d09228;--green:#4e7e46;--shadow:0 18px 50px #3a362d12;background:#f6f3ec;font-family:Segoe UI,PingFang SC,Microsoft YaHei UI,Microsoft YaHei,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--canvas);min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #a9d70059}svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);z-index:40;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdfaed;justify-content:space-between;align-items:center;height:78px;padding:0 28px;display:flex;position:sticky;top:0}.brand{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:13px;padding:4px;display:flex}.brand>span:last-child{flex-direction:column;gap:1px;display:flex}.brand strong{letter-spacing:.15em;font-size:18px;line-height:1}.brand small{color:var(--muted);letter-spacing:.1em;font-size:11px}.brand-mark{color:#fff;background:var(--brown);border-radius:12px;justify-content:center;align-items:center;gap:2.5px;width:38px;height:38px;display:flex;transform:rotate(-2deg)}.brand-mark i{background:var(--accent);border-radius:5px;width:3px;display:block}.brand-mark i:first-child{height:10px}.brand-mark i:nth-child(2){height:21px}.brand-mark i:nth-child(3){height:15px}.top-actions{align-items:center;gap:12px;display:flex}.save-state{color:var(--muted);align-items:center;gap:8px;margin-right:6px;font-size:12px;display:flex}.save-state>span{background:#65a160;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #65a1601c}.save-state.saving>span{background:var(--amber)}.save-state.error{color:var(--danger)}.save-state.error>span{background:var(--danger)}.button{border:1px solid var(--line);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:9px;height:42px;padding:0 17px;font-size:13px;font-weight:600;transition:all .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.38;transform:none}.button.ghost{background:var(--paper)}.button.primary{color:#252620;background:var(--accent);border-color:var(--accent);box-shadow:0 9px 18px #aedb1333}.mobile-label{display:none}.layout{grid-template-columns:252px minmax(0,1fr);min-height:calc(100vh - 78px);display:grid}.sidebar{border-right:1px solid var(--line);background:#f0ede5;flex-direction:column;height:calc(100vh - 78px);padding:22px 15px 18px;display:flex;position:sticky;top:78px;overflow-y:auto}.progress-panel{border-bottom:1px solid #504c421a;margin-bottom:10px;padding:3px 10px 19px}.progress-head{color:var(--muted);justify-content:space-between;align-items:baseline;font-size:12px;display:flex}.progress-head strong{color:var(--ink);font-size:20px}.progress-track{background:#d9d5ca;border-radius:9px;height:4px;margin:11px 0 7px;overflow:hidden}.progress-track span{background:var(--accent-dark);border-radius:inherit;height:100%;transition:width .25s;display:block}.progress-panel p{color:#99968c;margin:0;font-size:10px}.section-nav{flex-direction:column;gap:2px;display:flex}.section-nav button{text-align:left;cursor:pointer;color:#6c6b62;background:0 0;border:0;border-radius:9px;grid-template-columns:31px 1fr auto;align-items:center;gap:5px;min-height:39px;padding:0 9px;transition:all .15s;display:grid}.section-nav button:hover{color:var(--ink);background:#ffffff80}.section-nav button.active{background:var(--paper);color:var(--ink);box-shadow:0 5px 18px #48443a0f}.section-nav button.active:before{content:"";background:var(--accent-dark);border-radius:5px;width:3px;height:20px;margin-left:-9px;position:absolute}.section-index{color:#aaa79d;letter-spacing:.06em;font-size:10px}.section-label{white-space:nowrap;font-size:12px;font-weight:600}.section-status{color:#aaa79d;font-size:9px}.section-status.done{color:#6e8f00;background:#aedb132b;border-radius:50%;place-items:center;width:17px;height:17px;display:grid}.section-status.done svg{stroke-width:2.5px;width:11px;height:11px}.sidebar-footer{border-top:1px solid #504c421a;flex-wrap:wrap;gap:7px 14px;margin-top:auto;padding:15px 9px 0;display:flex}.sidebar-footer button{color:#8e8b81;cursor:pointer;background:0 0;border:0;padding:0;font-size:10px}.sidebar-footer button:hover{color:var(--ink)}.sidebar-footer .danger-text:hover{color:var(--danger)}.main-content{width:100%;min-width:0;max-width:1320px;margin:0 auto;padding:54px clamp(28px,5vw,82px) 70px}.section-hero{justify-content:space-between;align-items:center;gap:32px;margin-bottom:31px;display:flex}.eyebrow{letter-spacing:.2em;color:#929087;margin-bottom:13px;font-size:10px;font-weight:700}.section-hero h1,.report-hero h1{letter-spacing:-.045em;margin:0;font-size:clamp(32px,4vw,48px);font-weight:600;line-height:1.1}.section-hero p,.report-hero p{color:var(--muted);max-width:670px;margin:13px 0 0;font-size:14px;line-height:1.75}.section-ring{--progress:0deg;background:conic-gradient(var(--accent-dark) var(--progress), #e2dfd5 0);border-radius:50%;flex:none;place-items:center;width:72px;height:72px;display:grid;position:relative}.section-ring:after{content:"";background:var(--canvas);border-radius:50%;position:absolute;inset:6px}.section-ring span{z-index:1;font-size:18px;font-weight:700;position:relative}.section-ring small{color:var(--muted);font-size:10px;font-weight:500}.toolbar{align-items:stretch;gap:12px;margin-bottom:17px;display:flex}.search-box{border:1px solid var(--line);color:#aaa79f;background:#fffdfaa6;border-radius:12px;flex:1;align-items:center;gap:10px;min-height:48px;padding:0 15px;display:flex}.search-box svg{width:17px}.search-box input{color:var(--ink);background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:12px}.search-box input::placeholder{color:#aaa79f}.mode-toggle{border:1px solid var(--line);background:var(--paper);text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;min-width:148px;padding:7px 15px;display:flex}.mode-toggle.active{background:#fbffed;border-color:#bacf65}.mode-toggle span{font-size:12px;font-weight:700}.mode-toggle small{color:var(--muted);margin-top:2px;font-size:9px}.attention-banner{color:#6a4c24;background:#f6ebd5;border:1px solid #ead9bb;border-radius:12px;align-items:center;gap:13px;min-height:55px;margin-bottom:17px;padding:10px 15px;display:flex}.attention-icon{color:#fff;background:#d39d48;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-weight:700;display:grid}.attention-banner div{flex-direction:column;gap:2px;display:flex}.attention-banner strong{font-size:11px}.attention-banner small{color:#92764e;font-size:9px}.question-list{flex-direction:column;gap:14px;display:flex}.question-card{border:1px solid var(--line);background:#fffdfadb;border-radius:16px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.question-card:hover{border-color:#cfccc1}.question-card.answered{border-color:#d2d8ba}.question-card.unknown{border-color:#e0c992}.question-header{grid-template-columns:35px 1fr 24px;align-items:start;gap:13px;min-height:78px;padding:21px 22px 16px;display:grid}.question-number{letter-spacing:.08em;color:#a9a69c;margin-top:5px;font-size:10px;font-weight:700}.question-title-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.question-header h2{letter-spacing:-.012em;margin:0;font-size:15px;font-weight:600;line-height:1.55}.question-header p{color:var(--muted);margin:5px 0 0;font-size:10px;line-height:1.55}.required-tag,.blocker-tag{white-space:nowrap;border-radius:4px;padding:3px 6px;font-size:8px;font-weight:700}.required-tag{color:#76592c;background:#f3e6ce}.blocker-tag{color:#7a534c;background:#f2dfdb}.answer-indicator{color:#6c8f1d;border:1px solid #d7d4ca;border-radius:50%;place-items:center;width:21px;height:21px;display:grid}.answer-indicator.complete{background:var(--accent);border-color:var(--accent)}.answer-indicator svg{stroke-width:2.4px;width:12px;height:12px}.question-body{border-top:1px solid #eeece5;padding:17px 22px 16px 70px}.option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.option-grid button{text-align:left;cursor:pointer;background:#faf8f3;border:1px solid #dfddd5;border-radius:9px;align-items:center;gap:10px;min-height:42px;padding:9px 12px;font-size:11px;line-height:1.35;transition:all .14s;display:flex}.option-grid button:hover{background:#fbfdf3;border-color:#bdc896}.option-grid button.selected{color:#31361e;background:#f9ffe6;border-color:#a6bf4d}.selection-control{border:1px solid #c9c6bc;border-radius:50%;flex:none;place-items:center;width:16px;height:16px;display:grid}.option-grid.multi .selection-control{border-radius:4px}.option-grid button.selected .selection-control{background:var(--accent);border-color:#a8bd59}.selection-control svg{stroke-width:2.5px;width:10px;height:10px}.text-input{width:100%;min-height:43px;color:var(--ink);background:#faf8f3;border:1px solid #dfddd5;border-radius:9px;outline:none;padding:10px 12px;font-size:11px;line-height:1.6;transition:border .15s,background .15s}.text-input:focus{background:#fff;border-color:#a6bf4d}.text-input::placeholder{color:#aaa79e}.text-input.textarea{resize:vertical;min-height:105px}.question-footer{justify-content:flex-end;align-items:center;gap:12px;min-height:25px;margin-top:13px;display:flex}.unknown-button{color:#99968c;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:3px 0;font-size:9px;display:inline-flex}.unknown-button span{border:1px solid #c7c4ba;border-radius:50%;place-items:center;width:15px;height:15px;font-size:9px;display:grid}.unknown-button:hover,.unknown-button.selected{color:#a06a16}.unknown-button.selected span{background:#f0d9ab;border-color:#d09c49}.question-footer small{color:#a06a16;font-size:9px}.empty-state{text-align:center;min-height:260px;color:var(--muted);background:#ffffff40;border:1px dashed #d0cdc3;border-radius:16px;align-content:center;place-items:center;display:grid}.empty-state svg{width:30px;height:30px}.empty-state h3{color:var(--ink);margin:14px 0 4px;font-size:15px}.empty-state p{margin:0;font-size:11px}.page-navigation{grid-template-columns:1fr auto 1fr;align-items:center;margin-top:25px;display:grid}.page-navigation .button:first-child{justify-self:start}.page-navigation .button:last-child{justify-self:end}.page-navigation>span{color:#aaa79e;font-size:9px}.report-view{padding-bottom:30px}.report-back{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin-bottom:34px;padding:0;font-size:12px;display:inline-flex}.report-hero{background:var(--brown);color:#fff;border-radius:22px;justify-content:space-between;align-items:center;gap:34px;padding:clamp(28px,5vw,54px);display:flex;position:relative;overflow:hidden}.report-hero:after{content:"";border:55px solid #daff5512;border-radius:50%;width:290px;height:290px;position:absolute;top:-120px;right:-90px}.report-hero p{color:#c4c0b7}.report-hero .eyebrow{color:var(--accent)}.report-score{z-index:1;background:#ffffff0a;border:1px solid #daff5559;border-radius:50%;flex:none;align-content:center;place-items:center;width:128px;height:128px;display:grid;position:relative}.report-score strong{letter-spacing:-.06em;font-size:43px;line-height:1}.report-score>span{color:var(--accent);font-size:13px;position:absolute;top:37px;right:29px}.report-score small{color:#b8b3aa;margin-top:7px;font-size:9px}.metric-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 42px;display:grid}.metric-grid>div{background:var(--paper);border:1px solid var(--line);border-radius:14px;grid-template-rows:1fr 1fr;grid-template-columns:30px 1fr;column-gap:12px;min-height:92px;padding:18px;display:grid}.metric-icon{border-radius:50%;grid-row:span 2;place-items:center;width:29px;height:29px;font-size:11px;display:grid}.metric-icon svg{width:13px}.metric-icon.green{color:var(--green);background:#e3efde}.metric-icon.amber{color:var(--amber);background:#f5e8cf}.metric-icon.red{color:var(--danger);background:#f2dfdb}.metric-icon.dark{color:var(--brown);background:#e5e2da}.metric-grid strong{font-size:20px;line-height:1}.metric-grid small{color:var(--muted);font-size:9px}.insight-section,.summary-section,.document-preview{margin-top:42px}.report-section-head{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:18px;display:flex}.report-section-head>div{align-items:center;gap:11px;display:flex}.report-section-head span{color:#aaa79e;letter-spacing:.12em;font-size:9px}.report-section-head h2{letter-spacing:-.025em;margin:0;font-size:22px}.report-section-head>p{max-width:490px;color:var(--muted);text-align:right;margin:0;font-size:9px;line-height:1.6}.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.insight-card{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--brown);border-radius:13px;min-height:154px;padding:20px}.insight-card.decision{border-top-color:#758e26}.insight-card.requirement{border-top-color:#5b7f89}.insight-card.risk{border-top-color:var(--amber)}.insight-card.gate{border-top-color:var(--danger)}.insight-card>span{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:8px}.insight-card h3{margin:13px 0 7px;font-size:14px}.insight-card p{color:var(--muted);margin:0;font-size:10px;line-height:1.75}.summary-grid{border:1px solid var(--line);background:var(--paper);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.summary-grid>div{border-bottom:1px solid #ebe8df;padding:19px 21px}.summary-grid>div:nth-child(odd){border-right:1px solid #ebe8df}.summary-grid>div:nth-last-child(-n+2){border-bottom:0}.summary-grid span{color:var(--muted);letter-spacing:.08em;margin-bottom:7px;font-size:8px;display:block}.summary-grid p{white-space:pre-line;margin:0;font-size:11px;line-height:1.65}.document-actions{gap:10px;margin-bottom:12px;display:flex}.document-preview pre{border:1px solid var(--line);color:#e6e4dc;white-space:pre-wrap;background:#292923;border-radius:14px;max-height:620px;margin:0;padding:25px;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:10px;line-height:1.8;overflow:auto}.toast{z-index:100;background:var(--brown);color:#fff;border-radius:11px;align-items:center;gap:8px;padding:12px 17px;font-size:11px;animation:.2s ease-out toast-in;display:flex;position:fixed;bottom:27px;right:28px;box-shadow:0 16px 44px #00000038}.toast svg{width:14px;color:var(--accent)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (width<=940px){.layout{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding-left:10px;padding-right:10px}.main-content{padding-left:28px;padding-right:28px}.option-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.topbar{height:67px;padding:0 15px}.brand small,.desktop-only,.save-state{display:none}.top-actions .button.primary{padding:0 12px}.top-actions .button.primary .desktop-label{display:none}.top-actions .button.primary .mobile-label{display:inline}.layout{display:block}.sidebar{z-index:30;border-right:0;border-bottom:1px solid var(--line);height:auto;padding:8px 10px;display:block;position:sticky;top:67px;overflow-x:auto}.progress-panel,.sidebar-footer{display:none}.section-nav{flex-direction:row;width:max-content}.section-nav button{text-align:center;grid-template-columns:auto;justify-items:center;gap:2px;min-width:79px;padding:7px 10px}.section-nav button.active:before,.section-status{display:none}.main-content{padding:35px 15px 50px}.section-hero{align-items:flex-end}.section-hero h1,.report-hero h1{font-size:31px}.section-ring{width:60px;height:60px}.toolbar{flex-direction:column}.mode-toggle{min-height:47px}.question-header{grid-template-columns:28px 1fr 20px;gap:8px;padding:19px 15px 14px}.question-body{padding:15px}.question-header h2{font-size:14px}.page-navigation{grid-template-columns:1fr 1fr}.page-navigation>span{display:none}.report-hero{align-items:flex-start}.report-score{width:92px;height:92px}.report-score strong{font-size:31px}.report-score>span{top:25px;right:20px}.insight-grid,.summary-grid{grid-template-columns:1fr}.summary-grid>div:nth-child(odd){border-right:0}.summary-grid>div:nth-last-child(2){border-bottom:1px solid #ebe8df}.report-section-head{flex-direction:column;align-items:flex-start;gap:5px}.report-section-head>p{text-align:left}.document-actions{flex-wrap:wrap}.toast{justify-content:center;bottom:15px;left:15px;right:15px}}@media (width<=480px){.brand strong{font-size:15px}.top-actions .button.primary{font-size:11px}.section-hero p{font-size:12px}.section-ring{display:none}.question-title-row{align-items:flex-start}.question-footer{flex-wrap:wrap;justify-content:flex-start}.report-hero{display:block}.report-score{margin-top:25px}.metric-grid{grid-template-columns:1fr 1fr}.metric-grid>div{min-height:81px;padding:14px}}
