:root{--ink:#101114;--paper:#f1f0eb;--panel:#f8f7f2;--line:#d9d7cf;--blue:#3457ff;--lime:#d9ff43;--muted:#73736e}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);margin:0}body{font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}button,input,textarea,select{font:inherit}button{color:inherit}.app-shell{background:var(--paper);min-height:100vh}.topbar{background:var(--ink);color:#fff;z-index:10;border-bottom:1px solid #2a2b2e;justify-content:space-between;align-items:center;height:72px;padding:0 24px;display:flex;position:sticky;top:0}.brand{letter-spacing:.14em;align-items:center;gap:12px;font-size:13px;font-weight:800;display:flex}.brand-mark{width:38px;height:38px;color:var(--ink);background:var(--lime);letter-spacing:-.08em;place-items:center;display:grid}.brand small{color:#a7a8ad;letter-spacing:0;border:1px solid #4d4e53;border-radius:10px;padding:2px 6px}.project-status{color:#a9abb2;align-items:center;gap:8px;font-size:12px;display:flex}.pulse{background:var(--lime);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #d9ff4320}.surface-switch{background:#202126;border:1px solid #383a40;align-items:center;padding:3px;display:flex}.surface-switch button{color:#8f9198;cursor:pointer;background:0 0;border:0;padding:7px 12px;font-size:10px}.surface-switch button.active{color:var(--ink);background:#fff;font-weight:800}.top-actions{gap:8px;display:flex}.button{cursor:pointer;border:0;padding:11px 16px;font-size:13px;font-weight:750;transition:all .18s}.button:hover{transform:translateY(-1px)}.button.ghost{color:#fff;background:#242529;border:1px solid #3b3c42}.button.primary{background:var(--lime);color:var(--ink)}.button.dark{background:var(--ink);color:#fff}.button:disabled{opacity:.4;cursor:not-allowed;transform:none}.button.ghost-light{background:0 0;border:1px solid #b8b6ad}.button.full{width:100%;margin-top:14px;padding:15px}.workspace{grid-template-columns:220px minmax(580px,1fr) 290px;min-height:calc(100vh - 72px);display:grid}.studio-shell{background:var(--panel);min-height:calc(100vh - 72px);padding:clamp(28px,4vw,58px)}.studio-hero{grid-template-columns:minmax(0,1fr) 210px;align-items:end;gap:50px;max-width:1240px;margin:0 auto 26px;display:grid}.studio-hero h1{letter-spacing:-.065em;margin:15px 0 20px;font-size:clamp(44px,5.4vw,78px);line-height:.94}.studio-hero p{max-width:680px;color:var(--muted);margin:0;font-size:12px;line-height:1.75}.studio-score{background:var(--ink);color:#fff;flex-direction:column;justify-content:space-between;min-height:180px;padding:20px;display:flex}.studio-score>span{color:var(--lime);letter-spacing:.12em;font:800 8px monospace}.studio-score strong{letter-spacing:-.08em;font-size:72px;line-height:.8}.studio-score strong i{color:var(--blue);letter-spacing:0;font-size:16px;font-style:normal}.studio-score small{color:#8f9198;font-size:9px}.studio-grid{grid-template-columns:repeat(4,1fr);gap:10px;max-width:1240px;margin:0 auto 18px;display:grid}.studio-module{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;flex-direction:column;min-height:190px;padding:18px;transition:all .18s;display:flex}.studio-module:hover{border-color:#aeb4d5;transform:translateY(-2px)}.studio-module.feature{background:#e9edff;border-color:#cfd7ff}.studio-module>span,.board-head span,.execution-copy>span{color:var(--blue);letter-spacing:.1em;font:800 8px monospace}.studio-module>strong{margin:28px 0 8px;font-size:18px}.studio-module>p{color:var(--muted);margin:0;font-size:9px;line-height:1.6}.studio-module>div{border-top:1px solid #e6e5df;justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;display:flex}.studio-module>div b{color:#66686f;font-size:8px}.studio-module>div i{color:var(--blue);font-style:normal}.orchestration-board{border:1px solid var(--line);background:#fff;max-width:1240px;margin:0 auto 18px;padding:22px}.board-head{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.board-head h2,.execution-copy h2{letter-spacing:-.035em;margin:6px 0 0;font-size:22px}.compiler-state{color:#526400;background:#edf5d0;padding:6px 8px;font:800 8px monospace}.compiler-state.blocked{color:#a53521;background:#ffe8e3}.compiler-state.resolved{color:var(--blue);background:#e9edff}.run-pipeline{border:1px solid var(--line);grid-template-columns:repeat(6,1fr);display:grid}.run-pipeline button{border:0;border-right:1px solid var(--line);text-align:left;cursor:pointer;background:#f8f7f3;flex-direction:column;min-width:0;min-height:118px;padding:12px;display:flex}.run-pipeline button:last-child{border-right:0}.run-pipeline button:hover{background:#f0f2ff}.run-pipeline button>span{color:#aaa;font:700 8px monospace}.run-pipeline button>strong{margin:15px 0 4px;font-size:10px}.run-pipeline button>small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.run-pipeline button>i{align-self:flex-start;margin-top:auto;font:800 7px monospace}.run-pipeline button>i.ready{color:#587000}.run-pipeline button>i.blocked{color:#a54b38}.policy-strip{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.policy-strip>span{color:var(--muted);margin-right:5px;font-size:8px}.policy-strip>div{align-items:center;gap:8px;display:flex}.policy-strip b{background:#eeede8;padding:5px 7px;font:800 7px monospace}.policy-strip i{color:#aaa;font-style:normal}.execution-dock{grid-template-columns:1.15fr 1fr 1fr;gap:10px;max-width:1240px;margin:0 auto;display:grid}.execution-copy,.execution-card{border:1px solid var(--line);background:#fff;min-height:190px;padding:20px}.execution-copy p{max-width:380px;color:var(--muted);font-size:9px;line-height:1.65}.execution-card{text-align:left;cursor:pointer;flex-direction:column;display:flex}.execution-card>span,.execution-option>span{letter-spacing:.08em;color:var(--blue);font:800 8px monospace}.execution-card>strong{margin:28px 0 8px;font-size:17px}.execution-card>p{color:var(--muted);margin:0;font-size:9px;line-height:1.6}.execution-card>b{color:var(--blue);margin-top:auto;font-size:9px}.execution-card.available{background:var(--lime);border-color:#bedf34}.execution-card.available>span,.execution-card.available>b{color:#334000}.execution-card.managed{background:var(--ink);color:#fff}.execution-card.managed>span,.execution-card.managed>b{color:var(--lime)}.execution-card.managed>p{color:#9a9ca3}.execution-card:disabled{opacity:.48;cursor:not-allowed}.execution-message{border-left:3px solid var(--blue);background:#e9edff;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;max-width:1240px;margin:10px auto 0;padding:13px 16px;display:grid}.execution-message>span{color:var(--blue);letter-spacing:.1em;font:800 8px monospace}.execution-message>p{color:#575d78;margin:0;font-size:9px}.execution-message>button{cursor:pointer;background:0 0;border:0}.execution-message.inline{max-width:980px;margin:12px 0 0}.steps-panel{border-right:1px solid var(--line);background:#e8e7e1;flex-direction:column;padding:28px 14px 20px;display:flex}.steps-kicker,.eyebrow,.preview-label{letter-spacing:.18em;color:var(--muted);font-size:10px;font-weight:900}.steps-kicker{padding:0 14px 16px}.step-wrap{width:100%}.phase-label{background:var(--ink);color:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;margin:5px 5px 8px;padding:10px 9px;display:grid}.phase-label span{color:var(--lime);letter-spacing:.08em;font:800 7px monospace}.phase-label strong{font-size:10px}.phase-label small{color:#92949a;font-size:7px}.phase-label.phase-two{color:var(--ink);background:#d9d7cf;margin-top:18px}.phase-label.phase-two span{color:var(--blue)}.phase-label.phase-two small{color:#77766f}.step{text-align:left;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;align-items:center;gap:12px;width:100%;padding:13px 12px;display:flex}.step-number{border:1px solid #c7c5bc;flex:none;place-items:center;width:28px;height:28px;font-size:10px;display:grid}.step strong,.step small{display:block}.step strong{margin-bottom:3px;font-size:13px}.step small{color:#898982;font-size:10px}.step.active{background:var(--panel);border-left-color:var(--blue)}.step.active .step-number{background:var(--blue);border-color:var(--blue);color:#fff}.step.done .step-number{border-color:#1d1e21}.ai-note{background:var(--ink);color:#fff;margin:auto 8px 0;padding:18px;position:relative;overflow:hidden}.ai-note:after{content:"";border:1px solid #fff2;border-radius:50%;width:90px;height:90px;position:absolute;bottom:-40px;right:-35px}.ai-note strong{font-size:13px}.ai-note p{color:#aeb0b5;margin:8px 0 12px;font-size:11px;line-height:1.55}.mini-link{color:var(--lime);font-size:10px}.ai-orbit{border:1px solid var(--lime);float:right;width:34px;height:34px;color:var(--lime);border-radius:50%;place-items:center;font:700 10px monospace;display:grid}.editor{background:var(--panel);min-width:0;padding:42px clamp(32px,5vw,76px) 90px;position:relative}.phase-two-status{border:1px solid var(--line);background:#f0efe9;align-items:center;gap:14px;max-width:980px;margin:-18px 0 28px;padding:11px 14px;display:flex}.phase-two-status>span{letter-spacing:.09em;white-space:nowrap;font:800 8px monospace}.phase-two-status>strong{color:var(--muted);flex:1;font-size:9px;font-weight:500}.phase-two-status>button{color:var(--blue);cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:800}.phase-two-status.ready{background:#edf2de;border-color:#dce5bd}.phase-two-status.ready>span{color:#536b16}.phase-two-status.waiting>span{color:#9b6500}.phase-banner{background:var(--ink);color:#fff;justify-content:space-between;align-items:center;gap:20px;max-width:900px;margin:-18px 0 34px;padding:14px 18px;display:flex}.phase-banner>span{color:var(--lime);letter-spacing:.1em;font:800 8px monospace}.phase-banner>div{align-items:center;gap:8px;display:flex}.phase-banner b{font-size:9px}.phase-banner i{color:#686a70;font-size:9px;font-style:normal}.section-head{justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:38px;display:flex}.section-head h1{letter-spacing:-.055em;max-width:720px;margin:13px 0 0;font-size:clamp(34px,3.7vw,58px);line-height:1.03}.section-head>p{width:240px;color:var(--muted);margin:25px 0 0;font-size:12px;line-height:1.7}.eyebrow{color:var(--blue)}.form-grid{grid-template-columns:1fr 1fr;gap:22px;max-width:900px;display:grid}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field.wide{grid-column:1/-1}.field-label{font-size:12px;font-weight:800}.field-hint{color:#92918c;font-size:10px}.field input,.field textarea,.field select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:0;outline:none;padding:13px 14px;transition:all .18s}.field textarea{resize:vertical;line-height:1.55}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3457ff12}.suffix-input{border:1px solid var(--line);background:#fff;display:flex}.suffix-input input{border:0}.suffix-input span{color:var(--muted);border-left:1px solid var(--line);place-items:center;padding:0 14px;font-size:11px;display:grid}.upload-zone{cursor:pointer;text-align:center;background:#edede7;border:1px dashed #b7b5ac;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:105px;display:flex}.upload-zone input,.upload-mini input{display:none}.upload-zone strong{font-size:12px}.upload-zone small{color:var(--muted);max-width:80%;font-size:10px}.upload-icon{color:var(--blue);font-size:22px}.source-kind-row{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.source-kind-row button{border:1px solid var(--line);cursor:pointer;background:#fff;padding:7px 9px;font-size:9px}.source-kind-row button.active{color:var(--blue);background:#e8ecff;border-color:#aebcff;font-weight:800}.brief-upload{min-height:125px}.phase-one-gate{grid-template-columns:1fr 1fr;gap:18px;max-width:900px;margin-top:42px;display:grid}.phase-one-package,.outline-return{border:1px solid var(--line);background:#fff;min-width:0;padding:22px}.phase-one-package{background:var(--ink);color:#fff}.phase-one-package .eyebrow{color:var(--lime)}.phase-one-gate h2{letter-spacing:-.03em;margin:9px 0;font-size:23px}.phase-one-gate p{color:var(--muted);margin:0 0 18px;font-size:10px;line-height:1.65}.phase-one-package p{color:#aeb0b5}.package-readiness{border:1px solid #36383e;grid-template-columns:repeat(3,1fr);display:grid}.package-readiness>div{text-align:center;border-right:1px solid #36383e;padding:10px}.package-readiness>div:last-child{border:0}.package-readiness span,.package-readiness strong{display:block}.package-readiness span{color:#8e9097;font-size:7px}.package-readiness strong{color:var(--lime);margin-top:4px;font-size:15px}.phase-one-package details{border-top:1px solid #35373c;margin-top:12px;padding-top:10px}.phase-one-package summary{color:#aeb0b5;cursor:pointer;font-size:9px}.phase-one-package pre{white-space:pre-wrap;color:#c7c9ce;max-height:260px;font:8px/1.7 monospace;overflow:auto}.outline-return textarea{border:1px solid var(--line);resize:vertical;outline:none;width:100%;padding:12px;font-size:10px;line-height:1.6}.outline-return textarea:focus{border-color:var(--blue)}.outline-upload{cursor:pointer;border:1px dashed #aaa89f;justify-content:space-between;margin-top:8px;padding:10px;display:flex}.outline-upload input{display:none}.outline-upload span{font-size:9px;font-weight:800}.outline-upload small{color:var(--muted);font-size:8px}.outline-return.confirmed{border-color:#a9bd63;box-shadow:0 0 0 1px #a9bd63}.confirmed-note{color:#536b16;text-align:center;background:#edf2de;margin-top:10px;padding:9px;font-size:9px;font-weight:800}.skill-type-note{background:#e9ecfa;border:1px solid #d5daf0;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:12px;max-width:980px;margin-bottom:20px;padding:12px 14px;display:grid}.skill-type-note span{color:var(--blue);letter-spacing:.08em;font:800 8px monospace}.skill-type-note p{color:#686b7c;margin:0;font-size:9px;line-height:1.5}.skill-workspace{grid-template-columns:minmax(0,1fr) 285px;align-items:start;gap:20px;max-width:980px;display:grid}.skill-filters{gap:5px;margin-bottom:12px;display:flex;overflow-x:auto}.skill-filters button{border:1px solid var(--line);white-space:nowrap;cursor:pointer;background:#fff;padding:8px 10px;font-size:9px}.skill-filters button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.skill-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.skill-card{border:1px solid var(--line);text-align:left;background:#fff;min-height:154px;padding:14px;transition:all .15s}.skill-card:hover{border-color:#aeb2c3;transform:translateY(-1px)}.skill-card.selected{border-color:var(--blue);box-shadow:inset 3px 0 0 var(--blue)}.skill-card>div{justify-content:space-between;align-items:center;display:flex}.skill-card>div>button{cursor:pointer;background:#efeee9;border:0;place-items:center;width:21px;height:21px;font-size:9px;display:grid}.skill-card.selected>div>button{background:var(--blue);color:#fff}.skill-kind{letter-spacing:.08em;color:var(--blue);font:800 7px monospace}.skill-kind.style-profile{color:#7845b6}.skill-kind.custom{color:#8a6500}.skill-card>strong{margin:12px 0 5px;font-size:12px;display:block}.skill-card>p{color:var(--muted);min-height:28px;margin:0;font-size:9px;line-height:1.5}.skill-card>small{color:#989790;white-space:nowrap;text-overflow:ellipsis;border-top:1px solid #ecebe6;margin-top:10px;padding-top:8px;font:7px monospace;display:block;overflow:hidden}.skill-card>a{color:var(--blue);margin-top:9px;font-size:8px;text-decoration:none;display:inline-block}.catalog-empty{text-align:center;color:var(--muted);border:1px dashed #aaa89f;grid-column:1/-1;padding:30px;font-size:10px}.catalog-maintenance{background:#f2f1ec;border:1px dashed #aaa89f;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:12px;padding:14px;display:grid}.catalog-maintenance>span{color:var(--blue);letter-spacing:.08em;font:800 8px monospace}.catalog-maintenance strong{font-size:10px}.catalog-maintenance p{color:var(--muted);margin:4px 0 0;font-size:8px}.catalog-maintenance code{background:#fff;padding:2px 4px}.catalog-maintenance>b{color:#777;font:800 8px monospace}.skill-stack{background:var(--ink);color:#fff;padding:18px;position:sticky;top:95px}.skill-stack-head{justify-content:space-between;align-items:center;display:flex}.skill-stack-head span{color:var(--lime);letter-spacing:.08em;font:800 8px monospace}.skill-stack-head strong{font-size:9px}.skill-stack>p{color:#94969e;margin:12px 0 16px;font-size:9px;line-height:1.55}.stack-list{flex-direction:column;gap:6px;display:flex}.stack-item{border:1px solid #36383e;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:9px;display:grid}.stack-item>span{color:#777a82;font:700 8px monospace}.stack-item strong,.stack-item small{display:block}.stack-item strong{font-size:9px}.stack-item small{color:#7f8188;margin-top:3px;font-size:7px}.stack-item>div:last-child{gap:2px;display:flex}.stack-item button{color:#b8bac0;cursor:pointer;background:0 0;border:1px solid #44464d;width:20px;height:20px;font-size:8px}.stack-item button:disabled{opacity:.2;cursor:not-allowed}.stack-item button:last-child{color:#ff9580}.empty-stack{text-align:center;color:#777a82;border:1px dashed #474950;padding:25px 8px;font-size:9px}.stack-rule{border-left:2px solid var(--lime);margin-top:16px;padding:5px 0 5px 10px}.stack-rule strong{font-size:9px}.stack-rule p{color:#8f9198;margin:5px 0 0;font-size:8px;line-height:1.55}.editor-footer{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8f7f2e8;justify-content:space-between;align-items:center;height:66px;padding:0 clamp(32px,5vw,76px);display:flex;position:absolute;bottom:0;left:0;right:0}.editor-footer>span{color:var(--muted);font:700 11px monospace}.next-button{cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:850}.next-button b{background:var(--blue);color:#fff;place-items:center;width:32px;height:32px;margin-left:10px;display:inline-grid}.inspector{border-left:1px solid var(--line);background:#eeede7;padding:28px 22px}.inspector-title{letter-spacing:.14em;color:var(--muted);justify-content:space-between;align-items:center;font-size:10px;font-weight:850;display:flex}.inspector-title b{color:var(--ink);font-size:12px}.coverage-ring{background:conic-gradient(var(--blue) var(--coverage),#d6d4cc 0);border-radius:50%;width:136px;height:136px;margin:28px auto;padding:8px}.coverage-ring>div{background:#eeede7;border-radius:50%;flex-wrap:wrap;justify-content:center;align-items:baseline;height:100%;padding-top:38px;display:flex}.coverage-ring strong{letter-spacing:-.06em;font-size:32px}.coverage-ring span{color:var(--muted);margin-left:3px;font-size:12px}.coverage-ring small{text-align:center;width:100%;color:var(--muted);margin-top:-14px;font-size:9px}.check-list{border-top:1px solid var(--line)}.check-list button{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:10px;width:100%;padding:12px 0;display:flex}.check-list button>span{width:22px;height:22px;color:var(--muted);border:1px solid #c4c2b9;place-items:center;font-size:9px;display:grid}.check-list button>span.checked{background:var(--ink);color:var(--lime);border-color:var(--ink)}.check-list strong,.check-list small{display:block}.check-list strong{font-size:11px}.check-list small{color:var(--muted);margin-top:2px;font-size:9px}.rule-meter{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:24px;display:grid}.rule-meter div{text-align:center;border-right:1px solid var(--line);padding:10px 4px}.rule-meter div:last-child{border:0}.rule-meter span,.rule-meter strong{display:block}.rule-meter span{color:var(--muted);font-size:8px}.rule-meter strong{margin-top:4px;font-size:18px}.inspector-tip{border-left:2px solid var(--blue);margin-top:24px;padding:4px 0 4px 12px}.inspector-tip span{letter-spacing:.12em;color:var(--blue);font-size:9px;font-weight:900}.inspector-tip p{color:var(--muted);margin:6px 0 0;font-size:10px;line-height:1.55}.rule-list{flex-direction:column;gap:10px;max-width:900px;display:flex}.new-rule-editor{border:2px solid var(--blue);background:#fff;padding:20px;animation:.18s ease-out rule-in;box-shadow:8px 8px #3457ff16}.new-rule-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:16px;display:flex}.new-rule-heading span{color:var(--blue);letter-spacing:.14em;font:800 9px monospace}.new-rule-heading strong{font-size:12px}.new-rule-fields{grid-template-columns:2fr 1fr;gap:16px;display:grid}.new-rule-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}@keyframes rule-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.rule-card{border:1px solid var(--line);opacity:.58;background:#eeede8;grid-template-columns:42px 1fr auto;align-items:center;gap:18px;padding:20px;display:grid}.rule-card.enabled{opacity:1;background:#fff}.rule-index{color:#aaa9a3;align-self:start;padding-top:4px;font:700 11px monospace}.rule-copy code{color:var(--muted);margin-left:8px;font-size:9px}.rule-copy h3{margin:8px 0 4px;font-size:16px}.rule-copy p{color:var(--muted);margin:0;font-size:11px}.priority{padding:3px 6px;font-size:9px;font-weight:850}.priority.必须{color:var(--blue);background:#e9edff}.priority.建议{color:#627000;background:#eff2df}.priority.禁止{color:#ad2b16;background:#ffe9e4}.switch{cursor:pointer;background:#c8c7c1;border:0;border-radius:20px;width:42px;height:23px;padding:3px}.switch span{background:#fff;border-radius:50%;width:17px;height:17px;transition:all .2s;display:block}.switch.on{background:var(--blue)}.switch.on span{transform:translate(19px)}.dna-grid,.visual-budget-grid,.package-grid{grid-template-columns:minmax(280px,.82fr) minmax(360px,1.18fr);gap:28px;max-width:980px;display:grid}.dna-controls{flex-direction:column;gap:22px;display:flex}.palette-picker{border:1px solid var(--line);background:#fff;padding:14px}.palette-picker-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.palette-picker-head span,.palette-picker-head small{display:block}.palette-picker-head span{font-size:12px;font-weight:800}.palette-picker-head small{color:var(--muted);margin-top:4px;font-size:8px}.palette-picker-head strong{min-width:38px;color:var(--muted);text-align:center;background:#ecebe6;padding:5px 6px;font:800 9px monospace}.palette-picker-head strong.valid{color:var(--blue);background:#e9edff}.swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.swatch-grid button{text-align:left;cursor:pointer;background:#f8f7f3;border:1px solid #e3e1da;grid-template-columns:21px minmax(0,1fr) 15px;align-items:center;gap:7px;min-width:0;padding:6px;display:grid}.swatch-grid button i{border:1px solid #0002;width:21px;height:21px}.swatch-grid button span{text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:750;overflow:hidden}.swatch-grid button b{color:#a09f99;text-align:center;font:800 10px monospace}.swatch-grid button.selected{border-color:var(--blue);box-shadow:inset 2px 0 0 var(--blue);background:#f2f4ff}.swatch-grid button.selected b{color:var(--blue)}.swatch-grid button:disabled:not(.selected){opacity:.38;cursor:not-allowed}.swatch-grid button.selected:disabled{cursor:not-allowed}.selected-colors{flex-direction:column;gap:5px;margin-top:10px;display:flex}.selected-colors label{border-top:1px solid #ecebe6;justify-content:space-between;align-items:center;gap:10px;padding-top:7px;display:flex}.selected-colors label>span{font-size:8px;font-weight:800}.selected-colors label>div{align-items:center;gap:7px;display:flex}.selected-colors input[type=color]{cursor:pointer;background:0 0;border:0;width:26px;height:22px;padding:0}.selected-colors code{color:var(--muted);font-size:8px}.palette-rule{color:var(--muted);margin:10px 0 0;font-size:8px;line-height:1.55}.range-field>div,.range-field small{justify-content:space-between;display:flex}.range-field>div span{font-size:12px;font-weight:800}.range-field>div strong{color:var(--blue);font-size:12px}.range-field input{width:100%;accent-color:var(--blue);margin:14px 0 4px}.range-field small{color:var(--muted);font-size:9px}.dna-preview{background:var(--dna-primary);color:var(--dna-text);flex-direction:column;min-height:430px;padding:18px;transition:background .22s,color .22s;display:flex}.dna-preview .preview-label{color:var(--dna-text);opacity:.62}.preview-stage{border:1px solid color-mix(in srgb,var(--dna-text) 30%,transparent);padding:var(--space);flex:1;margin-top:16px;position:relative;overflow:hidden}.preview-stage:before{content:"";background:var(--dna-secondary);width:180px;height:180px;box-shadow:-80px 100px 0 var(--dna-third);opacity:calc(var(--impact) / 130);border-radius:50%;transition:background .22s,box-shadow .22s;position:absolute;top:60px;right:-60px}.preview-stage b{letter-spacing:-.08em;z-index:1;font-size:clamp(36px,4vw,64px);line-height:.85;display:block;position:relative}.preview-stage em{color:var(--dna-secondary);z-index:1;margin-left:36px;font:italic 20px Georgia,serif;display:block;position:relative}.preview-stage>span{left:var(--space);bottom:var(--space);font-size:12px;line-height:1.7;position:absolute}.preview-stage i{color:var(--dna-text);opacity:.6;font:700 10px monospace;position:absolute;bottom:12px;right:15px}.palette-row{grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;height:12px;margin-top:12px;display:grid}.palette-row.count-2{grid-template-columns:2fr 1fr 1fr}.palette-row.count-3{grid-template-columns:2fr 1fr 1fr 1fr}.layout-filters{border-bottom:1px solid var(--line);gap:6px;max-width:900px;margin-bottom:20px;display:flex;overflow-x:auto}.layout-filters button{cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:11px 12px;font-size:10px;font-weight:800;display:flex}.layout-filters button small{min-width:18px;height:18px;color:var(--muted);background:#e4e3dd;border-radius:10px;place-items:center;font-size:8px;display:grid}.layout-filters button.active{color:var(--blue);border-bottom-color:var(--blue)}.layout-filters button.active small{background:var(--blue);color:#fff}.category-intro{border-left:3px solid var(--blue);background:#e8ecff;align-items:flex-start;gap:28px;max-width:900px;margin:-5px 0 18px;padding:14px 16px;display:flex}.category-intro span{color:var(--blue);letter-spacing:.1em;white-space:nowrap;font:800 9px monospace}.category-intro p{color:#53566a;margin:0;font-size:10px;line-height:1.6}.layout-grid{grid-template-columns:repeat(3,1fr);gap:14px;max-width:900px;display:grid}.layout-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;padding:9px;transition:all .18s}.layout-card:hover{transform:translateY(-2px)}.layout-card.selected{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.layout-thumb{background:#eae9e4;height:128px;margin-bottom:11px;position:relative;overflow:hidden}.layout-thumb>span{letter-spacing:-.08em;font-size:42px;font-weight:900;position:absolute;top:12px;left:12px}.layout-thumb i{background:#bbb9b1;display:block;position:absolute}.layout-thumb i:first-of-type{width:45%;height:5px;bottom:22px;left:12px}.layout-thumb i:nth-of-type(2){width:28%;height:5px;bottom:12px;left:12px}.layout-thumb b{background:#fff;place-items:center;width:22px;height:22px;font-size:11px;display:grid;position:absolute;top:8px;right:8px}.selected .layout-thumb b{background:var(--blue);color:#fff}.layout-thumb.poster{background:var(--ink);color:#fff}.layout-thumb.poster:after{content:"";background:var(--blue);border-radius:50%;width:80px;height:80px;position:absolute;bottom:-10px;right:-16px}.layout-thumb.statement>span{color:var(--blue);font-size:58px}.layout-thumb.editorial>span{font-family:Georgia,serif;font-style:italic}.layout-thumb.data{background:var(--blue);color:#fff}.layout-thumb.split:after{content:"";background:var(--lime);width:45%;height:100%;position:absolute;top:0;right:0}.layout-thumb.stage{color:#fff;background:#15161b}.layout-thumb.stage:after{content:"";border:2px solid var(--blue);width:55%;height:48%;box-shadow:0 0 20px var(--blue);position:absolute;top:22%;left:28%}.layout-thumb.executive{background:#f7f6f0;border-top:10px solid #18314d}.layout-thumb.executive>span{color:#18314d;font-size:18px}.layout-thumb.executive:after{content:"01  FINDINGਂ IMPACTਃ ACTION";white-space:pre;color:#596575;font:700 9px/2 monospace;position:absolute;top:48px;left:12px}.layout-thumb.financial-table{background:repeating-linear-gradient(#fff 0 20px,#d7dfe5 21px)}.layout-thumb.financial-table>span{color:#18314d;font-size:22px}.layout-thumb.financial-table:after{content:"FY26   FY27   Δ%";color:#546474;font:700 8px monospace;position:absolute;top:20px;left:75px}.layout-thumb.methodology{background:#f4f0e6;border-left:9px solid #18314d}.layout-thumb.methodology>span{color:#18314d;font-family:Georgia,serif}.layout-thumb.source-notes>span{color:#18314d;font-size:26px}.layout-thumb.source-notes:after{content:"Sources · Scope · Definitions\a ────────────────\a [1] Audited data\a [2] Management estimate";white-space:pre;color:#65707b;font:7px/2 monospace;position:absolute;top:50px;left:12px}.layout-thumb.variance{background:#f7f7f4}.layout-thumb.variance:after{content:"";background:#18314d;width:24px;height:28px;position:absolute;bottom:28px;left:20px;box-shadow:34px -20px #7d95ab,68px 10px #b55d49,102px -12px #3457ff,136px -3px #18314d}.layout-thumb.risk-matrix{background:linear-gradient(90deg,#0000 32%,#fff 33% 34%,#0000 35% 65%,#fff 66% 67%,#0000 68%),linear-gradient(#0000 32%,#fff 33% 34%,#0000 35% 65%,#fff 66% 67%,#0000 68%),#dde7da}.layout-thumb.risk-matrix>span{color:#33493c;font-size:20px}.layout-thumb.risk-matrix:after{content:"";background:#ad3f2d;border-radius:50%;width:9px;height:9px;position:absolute;top:28px;right:24px;box-shadow:-55px 35px #d39a27,-96px 66px #547a61}.layout-thumb.trend:after{content:"";border-top:3px solid var(--blue);width:160px;height:55px;position:absolute;bottom:35px;left:18px;transform:skewY(-13deg);box-shadow:0 -13px #9baddf}.layout-thumb.ui-detail{background:#e7e8ec}.layout-thumb.ui-detail:after{content:"";border:2px solid var(--blue);background:#fff;width:125px;height:76px;position:absolute;top:24px;left:24px;box-shadow:18px 12px #cbd0e1}.layout-thumb.journey:after{content:"1      2      3      4";word-spacing:20px;border-top:2px solid #18314d;padding-top:10px;font:800 9px monospace;position:absolute;bottom:45px;left:20px;right:20px}.layout-card>div:nth-child(2){justify-content:space-between;align-items:end;display:flex}.layout-card strong{font-size:12px}.layout-card small{color:var(--muted);font-size:9px}.layout-card>em{color:#96958e;letter-spacing:.08em;border-top:1px solid #ecebe6;margin-top:8px;padding-top:7px;font:700 8px/1 monospace;display:block}.selection-summary{background:var(--lime);align-items:center;gap:18px;max-width:900px;margin-top:18px;padding:18px 22px;display:flex}.selection-summary>span{font-size:42px;font-weight:900}.selection-summary p{margin:0;font-size:11px;line-height:1.6}.two-stage-banner{background:#e9ecfa;border:1px solid #d2d8f4;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;max-width:980px;margin-bottom:22px;padding:14px 18px;display:grid}.two-stage-banner>div{flex-direction:column;gap:4px;display:flex}.two-stage-banner span{letter-spacing:.08em;color:#6a6e83;font:800 8px monospace}.two-stage-banner strong{font-size:11px}.two-stage-banner .stage-now span,.two-stage-banner>b{color:var(--blue)}.budget-overview{background:var(--ink);color:#fff;flex-direction:column;min-height:480px;padding:22px;display:flex}.budget-overview .preview-label{color:#85878f}.big-count{align-items:flex-end;margin:26px 0 16px;display:flex}.big-count input{color:#fff;letter-spacing:-.08em;background:0 0;border:0;border-bottom:1px solid #494b52;outline:none;width:120px;font-size:76px;font-weight:900;line-height:1}.big-count>span{color:var(--lime);padding:0 0 12px 10px;font-size:12px}.big-count small{color:#8f9198;margin-top:6px;font-size:8px;display:block}.budget-range{width:100%;accent-color:var(--lime)}.budget-ratio{color:#9b9da4;border-bottom:1px solid #34353b;justify-content:space-between;padding:16px 0;font-size:10px;display:flex}.budget-ratio strong{color:#fff}.mode-selector{grid-template-columns:repeat(3,1fr);gap:5px;margin-top:18px;display:grid}.mode-selector>span{color:#8f9198;grid-column:1/-1;margin-bottom:3px;font-size:9px}.mode-selector button{color:#b2b4ba;cursor:pointer;background:0 0;border:1px solid #3b3d43;padding:9px 4px;font-size:9px}.mode-selector button.active{background:var(--lime);border-color:var(--lime);color:var(--ink);font-weight:800}.budget-note{border-left:2px solid var(--lime);margin-top:auto;padding:6px 0 6px 12px}.budget-note strong{font-size:10px}.budget-note p{color:#9b9da4;margin:6px 0 0;font-size:9px;line-height:1.65}.allocation-panel{border:1px solid var(--line);background:#fff;min-width:0}.allocation-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding:18px;display:flex}.allocation-head span,.allocation-head strong{display:block}.allocation-head span{color:var(--blue);letter-spacing:.1em;margin-bottom:5px;font:800 8px monospace}.allocation-head strong{font-size:14px}.allocation-head>small{color:var(--muted);font-size:8px}.allocation-list{padding:0 18px}.allocation-row{border-bottom:1px solid #ebeae5;grid-template-columns:34px minmax(0,1fr) 94px;align-items:center;gap:12px;padding:13px 0;display:grid}.allocation-row>div:nth-child(2) strong,.allocation-row>div:nth-child(2) small{display:block}.allocation-row>div:nth-child(2) strong{font-size:10px}.allocation-row>div:nth-child(2) small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:8px;overflow:hidden}.asset-code{width:32px;height:32px;color:var(--blue);background:#e8ecff;place-items:center;font:900 9px monospace;display:grid}.asset-code.navy{color:#18314d;background:#e2e8ee}.asset-code.orange{color:#a45c00;background:#fff0dc}.asset-code.purple{color:#6542ae;background:#eee8ff}.asset-code.green{color:#3b7041;background:#e7f1e5}.asset-code.red{color:#ab3623;background:#ffe8e3}.count-stepper{border:1px solid var(--line);grid-template-columns:26px 38px 26px;display:grid}.count-stepper button,.count-stepper input{text-align:center;background:#f5f4ef;border:0;height:29px;font-size:11px}.count-stepper button{cursor:pointer;color:var(--blue);font-weight:900}.count-stepper input{background:#fff;outline:none;width:38px}.allocation-total{color:#494e68;background:#f0f2ff;justify-content:space-between;align-items:center;padding:14px 18px;font-size:9px;display:flex}.allocation-total strong{color:var(--blue);font-size:25px}.allocation-total small{margin-left:4px;font-size:8px}.post-outline-map{border:1px solid var(--line);background:#fff;grid-template-columns:1.4fr 1fr auto;align-items:center;gap:24px;max-width:980px;margin-top:22px;padding:20px;display:grid}.post-outline-map>div:first-child>span{color:var(--blue);letter-spacing:.1em;font:800 8px monospace}.post-outline-map h3{margin:7px 0;font-size:14px}.post-outline-map p{color:var(--muted);margin:0;font-size:9px;line-height:1.6}.map-flow{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.map-flow span{border:1px solid var(--line);padding:6px;font-size:8px}.map-flow span.done{background:var(--ink);color:var(--lime);border-color:var(--ink)}.map-flow i{color:#aaa;font-size:9px;font-style:normal}.post-outline-map>button{color:#97968f;cursor:not-allowed;white-space:nowrap;background:#deddd7;border:0;padding:11px;font-size:9px}.package-head{align-items:center}.score{align-items:flex-start;display:flex}.score strong{letter-spacing:-.08em;font-size:70px;line-height:.8}.score>span{color:var(--blue);font-weight:800}.score small{color:var(--muted);margin-top:14px;font-size:8px;display:block}.package-grid{grid-template-columns:.75fr 1.25fr}.package-files{flex-direction:column;gap:7px;display:flex}.file-row{border:1px solid var(--line);background:#fff;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:11px;display:grid}.file-icon{background:#eeede7;place-items:center;width:30px;height:30px;font:800 8px monospace;display:grid}.file-row strong,.file-row small{display:block}.file-row strong{font-size:10px}.file-row small{color:var(--muted);margin-top:3px;font-size:8px}.ready,.pending{padding:3px 5px;font:800 8px monospace}.ready{color:#526400;background:#edf5d0}.pending{color:var(--blue);background:#e9edff}.prompt-panel{background:var(--ink);color:#d5d6da;min-width:0}.prompt-toolbar{color:#777a82;border-bottom:1px solid #313238;justify-content:space-between;align-items:center;height:42px;padding:0 14px;font:700 9px monospace;display:flex}.prompt-toolbar button{color:var(--lime);cursor:pointer;background:0 0;border:1px solid #3c3d43;padding:5px 8px}.prompt-panel pre{white-space:pre-wrap;max-height:415px;margin:0;padding:18px;font:10px/1.75 monospace;overflow:auto}.validation-strip{border:1px solid var(--line);background:#fff;align-items:center;gap:18px;max-width:980px;margin-top:22px;padding:14px;font-size:9px;display:flex}.validation-strip strong{margin-right:auto;font-size:11px}.validation-strip .ok{color:#516700}.validation-strip .warn{color:#a46700}.compile-resolution{grid-template-columns:1fr 1fr;gap:9px;max-width:980px;margin-top:18px;display:grid}.compile-resolution>div{border:1px solid var(--line);background:#fff;padding:15px}.compile-resolution span,.compile-resolution strong{display:block}.compile-resolution span{color:var(--blue);letter-spacing:.08em;font:800 8px monospace}.compile-resolution strong{margin:8px 0 4px;font-size:11px}.compile-resolution p{color:var(--muted);margin:0;font-size:8px;line-height:1.55}.execution-options{grid-template-columns:1fr 1fr;gap:9px;max-width:980px;margin-top:9px;display:grid}.execution-option{border:1px solid var(--line);text-align:left;cursor:pointer;flex-direction:column;min-height:150px;padding:16px;display:flex}.execution-option strong{margin:20px 0 6px;font-size:16px}.execution-option p{color:var(--muted);margin:0;font-size:8px;line-height:1.55}.execution-option b{margin-top:auto;font-size:9px}.execution-option.export{background:var(--lime)}.execution-option.ai{background:var(--ink);color:#fff}.execution-option.ai>span,.execution-option.ai>b{color:var(--lime)}.execution-option.ai p{color:#999ba2}.execution-option:disabled{opacity:.45;cursor:not-allowed}@media (max-width:1100px){.workspace{grid-template-columns:190px 1fr}.inspector{display:none}.editor{padding-left:34px;padding-right:34px}}@media (max-width:980px){.studio-grid{grid-template-columns:1fr 1fr}.run-pipeline{grid-template-columns:repeat(3,1fr)}.run-pipeline button:nth-child(3){border-right:0}.execution-dock{grid-template-columns:1fr 1fr}.execution-copy{grid-column:1/-1}}@media (max-width:760px){.topbar{padding:0 12px}.project-status,.button.ghost,.brand>small{display:none}.surface-switch{margin-left:auto}.surface-switch button{padding:7px 8px}.surface-switch button:first-child{display:none}.workspace{display:block}.studio-shell{padding:28px 16px}.studio-hero{grid-template-columns:1fr;gap:20px}.studio-hero h1{font-size:46px}.studio-score{min-height:145px}.studio-grid,.execution-dock,.compile-resolution,.execution-options{grid-template-columns:1fr}.execution-copy{grid-column:auto}.run-pipeline{grid-template-columns:1fr 1fr}.run-pipeline button:nth-child(2n){border-right:0}.policy-strip{align-items:flex-start}.execution-message{grid-template-columns:1fr auto}.execution-message>span{grid-column:1/-1}.steps-panel{z-index:5;border-right:0;border-bottom:1px solid var(--line);padding:7px;display:block;position:sticky;top:72px;overflow-x:auto}.steps-kicker,.ai-note,.phase-label{display:none}.steps-panel nav{min-width:720px;display:flex}.step-wrap{flex:none;width:auto}.step{width:100px;padding:8px}.step small{display:none}.editor{padding:30px 18px 86px}.phase-banner{margin-top:-10px;display:block}.phase-banner>div{margin-top:12px;overflow-x:auto}.phase-two-status{flex-wrap:wrap;align-items:flex-start;margin-top:-10px}.phase-two-status>strong{min-width:220px}.section-head{display:block}.section-head>.button{margin-top:22px}.section-head>p{width:auto}.section-head h1{font-size:38px}.form-grid,.dna-grid,.visual-budget-grid,.package-grid,.new-rule-fields,.phase-one-gate,.skill-workspace,.skill-type-note{grid-template-columns:1fr}.skill-grid{grid-template-columns:1fr 1fr}.skill-stack{position:static}.layout-grid{grid-template-columns:1fr 1fr}.two-stage-banner{grid-template-columns:1fr}.two-stage-banner>b{justify-self:start;transform:rotate(90deg)}.post-outline-map{grid-template-columns:1fr}.allocation-row{grid-template-columns:34px minmax(0,1fr) 94px}.validation-strip{flex-wrap:wrap}.top-actions .button{padding:10px}.package-head .score{margin-top:25px}.new-rule-heading{align-items:flex-start;gap:12px}.new-rule-heading strong{text-align:right}}
