.spec {--spec-orange:#f17c32;--spec-ink:#172632;max-width:1500px;margin:auto}
.spec-hero{border-radius:16px;background:linear-gradient(115deg,#14232e,#253d4b);color:#fff;padding:32px;margin-bottom:24px;border-top:4px solid var(--spec-orange)}
.spec-hero h1{color:white;margin:8px 0 14px;font-size:clamp(26px,3vw,38px);letter-spacing:-.8px}
.spec-hero>p{max-width:850px;color:#d6e1e8;line-height:1.65}
.spec-eyebrow{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#ec985b;font-weight:800}
.spec-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:18px 0}
.spec-actions .btn{white-space:normal;text-decoration:none}
.spec-hero .btn:not(.primary){background:#ffffff12;border-color:#ffffff40;color:white}
.spec-file{position:relative;cursor:pointer}.spec-file input{position:absolute;opacity:0;inset:0;width:100%;cursor:pointer}.spec-file:focus-within{outline:3px solid #ffb77f}
.spec-storage{font-size:12px!important;margin-bottom:6px}.spec #spec-status{font-size:13px;min-height:22px}
.spec-progress{height:5px;border-radius:9px;background:#ffffff20;margin:18px 0 9px}.spec-progress span{height:100%;display:block;background:#ee8b43;border-radius:9px}
.spec-workspace{display:grid;grid-template-columns:235px minmax(0,1fr);gap:24px;align-items:start}
.spec-toc{position:sticky;top:24px;display:grid;gap:4px;background:white;border:1px solid #dfe5e9;border-radius:12px;padding:10px}
.spec-toc a{display:flex;gap:9px;align-items:center;color:#52616b;text-decoration:none;padding:11px 9px;border-radius:7px;line-height:1.35}
.spec-toc a>span{font-size:10px;color:#9ba8b0;flex:0 0 20px}.spec-toc b{font-size:12px;font-weight:600}.spec-toc small{margin-left:auto;color:#8999a4;font-size:10px}
.spec-toc a.active{background:#fff0e4;color:#b95515}.spec-toc a:hover{background:#f4f7f9}
.spec-module{min-width:0}.spec-module h2{font-size:23px;margin:8px 0;color:var(--spec-ink)}
.spec-module-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.spec-module-head p{font-size:12px;color:#6a7c88}.spec-module-head .spec-actions{margin:0;justify-content:flex-end}
.spec-disclaimer{font-size:12px;color:#7c664b;border-left:3px solid #eeb077;padding:9px 12px;background:#fff8ef;margin:18px 0}
.spec-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.spec-card{background:#fff;padding:22px;border:1px solid #dce4e8;border-radius:12px;min-width:0;box-shadow:0 3px 10px #122c3f03}
.spec-card-heading{display:flex;gap:12px;justify-content:space-between;align-items:start}.spec-card-heading h3{font-size:16px;line-height:1.45;margin:0;color:#233744}
.spec-card>p{font-size:13px;line-height:1.7;color:#596c78;margin:15px 0 20px}.spec-card blockquote{margin:0 0 15px;padding:10px 14px;border-left:3px solid #7ebca1;background:#f0faf5;white-space:pre-wrap;overflow-wrap:anywhere;max-height:160px;overflow:auto;font-size:13px}
.spec-save-state{font-size:10px;color:#338363;display:block;margin-top:8px}.is-answered{border-color:#9bcdb4!important}.is-answered .spec-card-heading:before{content:'✓';color:#398568}
.spec-info-wrap{position:relative;flex-shrink:0;z-index:2}.spec-info-wrap:hover,.spec-info-wrap:focus-within{z-index:30}
.spec-info{width:26px;height:26px;border:1px solid #d8a781;color:#b45a21;background:#fff6ee;border-radius:50%;font:italic bold 16px Georgia,serif;cursor:pointer}
.spec-info:focus-visible{outline:3px solid #f5b27c;outline-offset:3px}
.spec-tooltip{display:none;position:absolute;right:0;bottom:calc(100% + 9px);width:280px;max-width:75vw;background:#182e3b;color:white;padding:14px 16px;border-radius:9px;font-size:12px;font-weight:400;line-height:1.65;box-shadow:0 6px 30px #0003;pointer-events:none}
.spec-info-wrap:hover .spec-tooltip,.spec-info-wrap:focus-within .spec-tooltip{display:block}
.spec-section-title{margin:35px 0 16px}.spec-section-title p{font-size:13px;line-height:1.7;color:#697c88}
.spec-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.spec-raw{background:white;border:1px solid #dfe5e9;border-radius:9px;padding:16px;min-width:0}
.spec-raw label{font-size:13px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.spec-raw>small{font-size:10px;line-height:1.5;color:#7f8f99;display:block;margin:6px 0 10px;overflow-wrap:anywhere}
.spec-raw input{width:100%;border:1px solid #dbe2e8;background:#f9fbfc;border-radius:6px;padding:10px;font:inherit;font-size:12px}.spec-raw input:focus{outline:2px solid #f3b17c}
.spec-inline{border:0;background:none;padding:9px 0 0;color:#b75b20;cursor:pointer;font-size:11px;font-weight:650}
.spec-direct-mic{display:inline-flex;gap:7px;align-items:center;margin:10px 0 0 10px;color:#a94f18;background:#fff5eb;border-color:#edc5a7}.spec-direct-mic svg{flex-shrink:0}
.spec-pagination{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.spec-pagination a{padding:9px 12px;border-radius:6px;background:white;border:1px solid #dce4e9;color:#4c6372;text-decoration:none}.spec-pagination .active{background:#df762d;color:white}
.spec-source-text{background:white;border-radius:12px;border:1px solid #dfe5e9;padding:24px;margin:20px 0;line-height:1.7;font-size:13px}.spec-source-text p{margin:9px 0}.spec-original-image{max-width:100%;border-radius:8px}
#spec-dialog{width:min(760px,calc(100vw - 28px));max-height:90vh;border:0;border-radius:14px;padding:0;color:#233744;box-shadow:0 20px 90px #0004}
#spec-dialog::backdrop{background:#102431a6}#spec-dialog .dialog-content{padding:24px}#spec-dialog .dialog-header{padding:18px 24px}
.spec-dialog-question{padding:16px 18px;background:#fff5e9;border-left:3px solid #ed8d42;line-height:1.7;font-size:14px;margin-top:0}
#spec-answer-form{display:grid;gap:16px;margin-top:20px}#spec-answer-form .field{display:grid;gap:7px}#spec-answer-form textarea{min-height:170px;resize:vertical;line-height:1.6}#spec-answer-form input,#spec-answer-form select,#spec-answer-form textarea{width:100%;box-sizing:border-box}
.spec-edit-examples{display:grid;grid-template-columns:1fr 1fr;gap:14px}.spec-voice{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.spec-voice span{font-size:12px;color:#577386}
#spec-interim{color:#7e8f9c;white-space:pre-wrap;min-height:18px;margin:0}#spec-answer-form>small{font-size:11px;line-height:1.6;color:#748591}#spec-draft-status{font-size:12px;color:#378260;margin:0}
@media(max-width:1200px){.spec-workspace{grid-template-columns:190px minmax(0,1fr);gap:16px}.spec-question-grid{grid-template-columns:1fr}.spec-module-head{display:block}.spec-module-head .spec-actions{justify-content:flex-start;margin:14px 0}}
@media(max-width:760px){.spec-hero{padding:22px}.spec-workspace{display:block}.spec-toc{position:static;display:flex;overflow-x:auto;margin-bottom:22px;padding:8px}.spec-toc a{min-width:180px}.spec-toc a>span{display:none}.spec-fields-grid{grid-template-columns:1fr}.spec-edit-examples{grid-template-columns:1fr}.spec-tooltip{width:250px}.spec-module h2{font-size:21px}}
@media print{body:has(.spec) .sidebar,body:has(.spec) .topbar,.spec-toc,.spec-actions,.spec .btn,.spec-info-wrap,.spec-inline,.spec-storage,#spec-status,.spec-disclaimer{display:none!important}body:has(.spec) .shell{margin:0!important}body:has(.spec) #main{padding:0!important}.spec-workspace,.spec-question-grid,.spec-fields-grid{display:block}.spec-hero{background:white;color:black;border:0;padding:0}.spec-hero h1,.spec-hero p{color:black}.spec-card,.spec-raw{break-inside:avoid;margin-bottom:12px;box-shadow:none}.spec-tooltip{display:none}.spec-card blockquote{max-height:none;overflow:visible}}
#spec-interim:not(:empty){padding:8px 12px;border-left:3px solid #e07b2f;background:#fff7f0;color:#3f4f5b;font-style:italic;border-radius:0 6px 6px 0}
.spec-voice span.is-live::before{content:'';display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#d93a2b;animation:spec-rec 1.2s ease-in-out infinite}
@keyframes spec-rec{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.spec-voice span.is-live::before{animation:none}}
