:root{--ink:#182a30;--muted:#63777c;--line:#dbe5e5;--bg:#f4f7f6;--brand:#12655d;--pale:#e5f2ef;--warn:#9c630c;--danger:#b24031;--shadow:0 12px 45px #1d414514}*{box-sizing:border-box}body{margin:0;font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button,.button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 15px;cursor:pointer;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:550}button:hover,.button:hover{border-color:var(--brand);background:#edf5f2}button:disabled{opacity:.5;cursor:wait}button.primary,.button.primary{background:var(--brand);color:white;border-color:var(--brand)}button.ghost{background:transparent;border-color:transparent}.small{padding:5px 10px;font-size:13px}button:focus-visible,a:focus-visible{outline:3px solid #65b9ac;outline-offset:2px}h1,h2,h3,p{margin:0 0 12px}h1{font-size:30px;line-height:1.3;letter-spacing:-.7px}h2{font-size:20px;line-height:1.5}h3{font-size:16px}.muted,small{color:var(--muted)}small{font-size:13px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.6px;color:var(--brand);margin-bottom:9px}.brand{font-size:34px;letter-spacing:-2px;font-weight:750;line-height:1.2}.brand i{color:#48a893;font-style:normal}.sidebar{position:fixed;inset:0 auto 0 0;width:210px;padding:32px 20px;background:#183931;color:#f3faf6;display:flex;flex-direction:column;z-index:30}.sidebar nav{display:grid;gap:8px;margin-top:42px}.sidebar button{justify-content:flex-start;background:transparent;border:0;color:#bed2c9;padding:12px 14px}.sidebar button.active{background:#2a5047;color:white}.sidebar .muted{color:#b1c8bf}.sidebottom{margin-top:auto;font-size:13px}.main{margin-left:210px}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:#fff;border-bottom:1px solid var(--line)}.content{max-width:1500px;margin:auto;padding:30px 36px 60px}.row,.tools,.pagehead{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row,.pagehead{justify-content:space-between}.pagehead{margin-bottom:26px}.tools{justify-content:flex-start}.row h2,.row p{margin-bottom:0}.panel,.projectcard,.slot,.copy-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:23px;margin-bottom:18px}.projectgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.projectcard{padding:0;overflow:hidden}.projectcard-body{padding:22px}.thumb{height:186px;background:#eaf0ed;display:flex;align-items:center;justify-content:center;color:var(--muted)}.thumb img{width:100%;height:100%;object-fit:contain;background:#fff}.projectcard h2{margin-top:10px}.projectcard small{display:block;margin-bottom:16px}.tag{display:inline-block;border-radius:5px;padding:3px 9px;background:#eef2f3;color:#566a70;font-size:12px;font-weight:600}.tag.good{background:#dff2e7;color:#256345}.tag.warn{background:#fff1d8;color:#8e5e12}.tag.bad{background:#fce7e2;color:#a73e2f}.filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:24px}.filters button{border:0;background:transparent;color:var(--muted)}.filters .active{background:var(--pale);color:var(--brand)}.filters input{margin-left:auto;max-width:240px}.empty{padding:65px 25px;text-align:center;border:1px dashed #bdceca;background:#fff;border-radius:14px}.empty .symbol{display:block;font-size:37px;color:var(--brand);margin-bottom:14px}.empty p{max-width:480px;margin:0 auto 22px;color:var(--muted)}.notice{border-radius:9px;background:#eaf3ef;border-left:3px solid #629b85;padding:13px 17px;margin:16px 0;color:#375b4c}.notice.warn{background:#fff6e6;border-color:#cc9b49;color:#866020}.notice.bad{background:#fff0ed;border-color:#b95f4f;color:#983f31}.identity{position:sticky;top:0;z-index:20;background:var(--bg);padding:16px 0 0}.project-head{display:flex;gap:18px;align-items:center}.project-head img{width:70px;height:70px;border:1px solid var(--line);border-radius:9px;object-fit:contain;background:#fff}.project-head h1{font-size:25px;margin:0}.project-head small{display:block}.project-top .actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.stage{margin:16px 0 0;padding:14px 18px;background:#fff;border:1px solid var(--line);border-radius:10px;display:flex;gap:15px;justify-content:space-between;align-items:center}.stage b{font-size:16px}.stage small{display:block}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin:12px 0 24px;overflow:auto;white-space:nowrap}.tabs button{border:0;border-radius:0;padding:14px 0;background:none;color:var(--muted)}.tabs button.active{color:var(--brand);border-bottom:3px solid var(--brand)}.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.45fr);gap:24px;align-items:start}.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.question-card{background:white;border:1px solid var(--line);padding:23px;border-radius:12px;display:flex;flex-direction:column;align-items:flex-start}.question-card .num{font:700 13px/1 monospace;color:var(--brand);margin-bottom:18px}.question-card h3{font-size:19px}.question-card p{color:#4e6865;font-size:14px}.question-card button{margin-top:auto}.section-head{margin:26px 0 16px}.copy-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:24px;align-items:start}.copy-card{padding:22px}.copy-card .text{white-space:pre-wrap;font-size:16px;line-height:1.8;margin:15px 0;color:#162c33}.copy-card:target{outline:3px solid #a4ccbd}.copy-card .meta{display:flex;gap:8px;align-items:center;justify-content:space-between}.copy-card .counter{font-size:13px;color:var(--muted)}.copy-card .over{color:var(--danger);font-weight:700}.why{position:sticky;top:218px}.why p{font-size:14px}.why ul{padding-left:18px}.copy-card textarea{min-height:110px}.imagegrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.slot{padding:14px;cursor:pointer}.slot:hover{border-color:#66a093;box-shadow:var(--shadow)}.slot figure{margin:12px 0;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#f5f7f4;border-radius:8px;overflow:hidden}.slot figure img{width:100%;height:100%;object-fit:contain}.plan{padding:20px;font-size:14px;color:#587065}.plan b{display:block;font-size:22px;margin-bottom:12px;opacity:.5}.slot p{font-size:14px;min-height:44px}.image-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.image-canvas{background:#e9eeeb;border:1px solid var(--line);border-radius:12px;min-height:420px;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}.image-canvas .img-wrap{position:relative;max-width:100%;line-height:0}.image-canvas img{display:block;max-width:100%;max-height:660px;object-fit:contain}.image-canvas.zoom img{max-width:none;max-height:none;width:auto}.marker{position:absolute;border:2px solid #c64d35;background:#f9634712;min-width:15px;min-height:15px;pointer-events:none}.marker b{position:absolute;left:-2px;top:-24px;background:#b8412e;color:#fff;padding:1px 6px;line-height:20px;font-size:12px}.versions{display:flex;gap:10px;overflow:auto;padding:14px 0}.versions button{flex:0 0 100px;padding:8px;display:block;font-size:12px}.versions button.selected{border:2px solid var(--brand)}.versions img{display:block;width:80px;height:75px;object-fit:contain;margin-bottom:5px}.compare{display:grid;grid-template-columns:1fr 1fr;gap:15px}.compare img{width:100%;max-height:530px;object-fit:contain;background:#edf2ef}.issue{padding:14px 0;border-top:1px solid var(--line)}.issue p{font-size:14px;margin:6px 0}.delivery{display:flex;gap:16px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}.delivery .symbol{font-size:23px;color:var(--brand)}.delivery .grow{flex:1}.delivery small{display:block}.check{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.check .mark{color:#b17720}.check .pass{color:#298557}.check small{display:block}.task{padding:15px 0;border-bottom:1px solid var(--line)}.task p{margin:5px 0}.task small{display:block}details{border:1px solid var(--line);border-radius:9px;padding:13px 16px;margin:15px 0;background:#fff}summary{cursor:pointer;font-weight:550}.field{display:grid;gap:7px;margin-bottom:16px}.field>span{font-size:14px;font-weight:600}input,select,textarea{width:100%;border:1px solid #cbd9d6;border-radius:7px;background:#fff;color:var(--ink);padding:10px 12px;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #99c9b8;outline-offset:1px}textarea{resize:vertical;min-height:100px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.factrow{padding:13px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:9px}.factrow input:nth-child(3){grid-column:1/-1}.factrow button{justify-self:start}.drop{border:1px dashed #9cb7aa;background:#f5f9f6;border-radius:10px;padding:20px;text-align:center;margin-bottom:18px}.drop.dragover{background:#d5ede0;border-color:var(--brand)}.drop input{border:0;font-size:13px}.drop img{height:140px;max-width:100%;object-fit:contain;margin-bottom:12px}.drop strong{display:block}.drop small{display:block;margin:8px}dialog{border:1px solid var(--line);border-radius:14px;max-width:900px;width:calc(100% - 48px);max-height:90vh;padding:26px;box-shadow:var(--shadow);color:var(--ink)}dialog::backdrop{background:#12342d63;backdrop-filter:blur(2px)}dialog.drawer{margin:0 0 0 auto;height:100vh;max-height:100vh;width:min(650px,100%);max-width:100%;border-radius:0;padding:28px}.dialog-head{position:sticky;top:-26px;background:white;z-index:10;padding:8px 0 15px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0}.bodytext{white-space:pre-wrap;overflow-wrap:anywhere}.code{white-space:pre-wrap;background:#f1f4f2;font-size:12px;padding:14px;overflow-wrap:anywhere}iframe{width:100%;height:65vh;border:1px solid var(--line)}.inline{display:inline-flex;gap:6px;align-items:center}.inline input{width:auto}.knowledge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.knowledge-entry{border-top:1px solid var(--line);padding:14px 0;display:flex;gap:12px;justify-content:space-between;align-items:center}.knowledge-entry small{display:block}.plain-list{padding-left:18px}.plain-list li{margin:10px 0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#203d34;color:white;border-radius:9px;padding:12px 20px;z-index:100;display:none;max-width:calc(100vw - 36px);box-shadow:var(--shadow)}.loading{padding:80px;text-align:center}.progress-track{height:5px;background:#e0e8e2;border-radius:5px;overflow:hidden;width:170px;margin:6px 0}.progress-track span{display:block;background:#368169;height:100%}.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between}.step-dot{width:8px;height:8px;display:inline-block;border-radius:50%;background:#2c8d70;margin-right:6px}.breadcrumb{margin-bottom:8px;color:var(--muted);font-size:13px}.evidence-chain{border-left:2px solid #aac6b7;padding-left:18px;margin-left:7px}.evidence-chain h3{margin-top:22px}.reviewquote{border-left:3px solid #b9cdc3;padding:14px;background:#f4f8f5;margin:12px 0;font-size:14px}.filelist a{display:block;margin:10px 0}.badtext{color:var(--danger)}@media(max-width:1280px){.sidebar{width:185px}.main{margin-left:185px}.content{padding:24px}.topbar{padding:0 24px}.copy-layout{grid-template-columns:minmax(0,1fr) 250px}.three{gap:12px}.question-card{padding:18px}.imagegrid{gap:12px}.image-workspace{grid-template-columns:minmax(0,1fr) 260px}}@media(max-width:960px){.projectgrid{grid-template-columns:1fr 1fr}.three{grid-template-columns:1fr}.copy-layout,.two,.image-workspace{grid-template-columns:1fr}.why{position:static}.imagegrid{grid-template-columns:repeat(2,minmax(0,1fr))}.knowledge-grid{grid-template-columns:1fr}}@media(max-width:650px){body{font-size:14px}.sidebar{position:static;width:100%;padding:14px 16px;display:block}.sidebar .brand{font-size:26px}.sidebar>.muted,.sidebottom{display:none}.sidebar nav{display:flex;margin-top:14px;gap:4px}.sidebar button{padding:7px 12px}.main{margin:0}.topbar{height:47px;padding:0 16px;font-size:12px}.content{padding:18px 16px 35px}.pagehead h1{font-size:25px}.projectgrid,.formgrid{grid-template-columns:1fr}.project-head img{width:50px;height:50px}.project-head h1{font-size:19px}.project-top .actions{gap:5px}.stage{align-items:flex-start;flex-wrap:wrap;gap:10px}.stage button{width:100%}.tabs{gap:19px}.tabs button{font-size:13px}.identity{padding-top:8px}.progress-track{width:100px}.filters input{margin:8px 0 0;max-width:none;flex-basis:100%}.panel,.copy-card{padding:18px}.imagegrid{gap:10px}.slot{padding:10px}.slot p{font-size:13px}.slot figure{margin:10px 0}.plan{padding:12px;font-size:12px}.image-canvas{min-height:250px;padding:12px}.compare{gap:8px}dialog{padding:18px;width:calc(100% - 20px)}.dialog-head{top:-18px}.project-head{gap:10px}.check{font-size:13px}.delivery{flex-wrap:wrap}.delivery .grow{min-width:160px}.question-card{padding:20px}.thumb{height:180px}.empty{padding:40px 16px}.factrow{grid-template-columns:1fr}.factrow input:nth-child(3){grid-column:auto}.row>*{min-width:0}.imagegrid .slot .row{gap:5px}.copy-card .tools button{font-size:12px;padding:5px 9px}h1,h2,h3,p,b,small,span{overflow-wrap:anywhere}}

/* User-selected BOMI visual direction, 2026-10-17. Same project data and workflows. */
:root{--ink:#1c2234;--muted:#6c7488;--line:#e1e3ed;--bg:#f4f4fa;--brand:#5148f6;--pale:#eeedff;--shadow:0 8px 28px #1c234510}
body{background:var(--bg)}.sidebar{background:#171f31;width:208px;padding:26px 0;color:#fff}.sidebar .brand{font-size:29px;letter-spacing:-.5px;padding:0 25px;font-weight:760}.sidebar>.muted{padding:7px 25px 24px;border-bottom:1px solid #2a3141;color:#b8bed0}.sidebar nav{margin-top:16px;gap:7px}.sidebar nav button{border-radius:0;padding:12px 26px;border-left:4px solid transparent;color:#d5daea;font-weight:650;min-height:48px}.sidebar nav button.active{background:#3f45b2;border-left-color:#9894ff;color:white}.sidebar nav button:hover{background:#303954}.sidebottom{padding:24px}.sidebar .sidebottom button{padding:6px 0}.main{margin-left:208px}.brand i{display:none}.topbar{height:64px;padding:0 24px}.top-project{font-weight:750}.top-divider{color:#bac0cf;padding:0 18px;font-weight:400}.account-pill{display:flex;gap:18px;align-items:center;font-size:13px}.account-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#edf0f6;color:#798295}.content{padding:24px;max-width:1600px}.pagehead{margin-bottom:20px}.pagehead h1{font-size:27px;font-weight:750;letter-spacing:-.5px;margin-bottom:7px}.pagehead p{font-size:13px;margin:0}.panel,.copy-card,.question-card{border-radius:8px;box-shadow:none}.primary,.button.primary{box-shadow:none}.tag{border-radius:5px}.tag.good{background:#eeedff;color:#5148d1}.tag.warn{background:#fff4df;color:#9c6c24}.notice{background:#efeffc;border-left-color:#7871e8;color:#4b4c7e}.notice.warn{background:#fff6e6;color:#866020;border-left-color:#cc9b49}.stage{border-radius:8px;border-top:3px solid #6e65f3;padding:12px 16px}.progress-track span{background:#6259ed}.progress-track{background:#e5e4f6}.project-head img{border-radius:8px}.tabs{gap:30px}.tabs button.active{border-color:#6259ef}.question-card .num{color:#5c52ee}.question-card p{color:#646b80}.evidence-chain{border-color:#b9b5f1}.reviewquote{background:#f5f5fc;border-color:#c4c0f0}.why .eyebrow{letter-spacing:1px}.thumb{background:#f3f4f8}.step-dot{background:#6056ee}.slot{border-radius:8px}.slot:hover{border-color:#aaa4ff;box-shadow:none}.slot figure{background:#f4f5f8}.slot .plan{color:#687087}.image-canvas{background:#eef0f5;border-radius:8px}.marker{border-color:#c64d35}.drop{background:#f8f8fd;border-color:#b4b1da}.drop.dragover{background:#eeecff;border-color:#645cef}.empty{border-color:#d2d2e6;background:#fafaff;border-radius:8px}.empty .symbol{color:#7269ed}.overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.overview-stat{background:#fff;border:1px solid var(--line);border-top:3px solid #7269ef;border-radius:8px;padding:18px;display:flex;gap:14px;align-items:flex-start}.stat-icon{font-size:23px;width:38px;height:38px;display:grid;place-items:center;background:#f0efff;border-radius:7px;color:#6259ed}.overview-stat b{display:block;font-size:14px;font-weight:600}.overview-stat strong{display:block;font-size:28px;line-height:1.4;color:#1b2032}.overview-stat strong small{font-size:13px;color:#252b3f}.overview-stat small{font-size:12px}.project-list-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px 16px;margin-top:18px}.project-list-panel>.row{margin-bottom:18px}.project-list-panel h2{font-size:19px}.filters{margin:0 0 18px}.filters button{font-size:13px;padding:7px 13px;border-radius:6px}.filters input{font-size:13px;padding:8px 12px}.projectgrid{display:block}.project-table-head,.projectcard{display:grid;grid-template-columns:minmax(190px,1.35fr) minmax(100px,.7fr) minmax(190px,1.4fr) minmax(120px,.8fr) 90px;gap:16px;align-items:center}.project-table-head{background:#f5f5fb;color:#737a8f;border-radius:6px;padding:13px 12px;font-size:12px;font-weight:650}.projectcard{border:0;border-bottom:1px solid #eceef4;border-radius:0;padding:24px 12px;margin:0}.projectcard:last-child{border-bottom:0}.project-product{display:flex;gap:12px;align-items:center;min-width:0}.project-product .thumb{width:48px;height:48px;flex:0 0 48px;border-radius:5px;overflow:hidden;font-size:14px;color:#9299ae}.project-product h2{font-size:14px;line-height:1.5;margin:0 0 5px}.projectcard small{font-size:12px;margin:0}.project-action-text>b{display:block;font-size:14px;margin-bottom:4px}.project-date{line-height:1.9}.projectcard button{font-size:13px;padding:8px 13px}.project-list-panel .empty{border:0;background:#fafaff;margin-top:5px}.project-table-head>*,.projectcard>*{min-width:0}.task small{font-size:13px}.tools .small{font-size:13px}#toast{background:#22283f}
@media(max-width:1280px){.content{padding:24px}.project-table-head,.projectcard{grid-template-columns:minmax(170px,1.3fr) minmax(90px,.6fr) minmax(140px,1.25fr) 112px 82px;gap:12px}.overview-stat{padding:16px 12px;gap:10px}.overview-stat strong{font-size:26px}}
@media(max-width:1020px){.project-table-head{display:none}.projectcard{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 90px}.project-product{grid-column:1/-1}.project-date{display:none}.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.sidebar{position:static;width:100%;padding:17px 0 0}.sidebar .brand{font-size:25px;padding:0 17px}.sidebar>.muted{display:none}.sidebar nav{padding:0 10px;margin:14px 0 0;gap:2px}.sidebar nav button{padding:9px 12px;border-left:0;border-bottom:3px solid transparent;min-height:44px;font-size:13px}.sidebar nav button.active{border-bottom-color:#aaa5ff;border-left-color:transparent;background:#353e8b}.main{margin:0}.content{padding:18px 15px 35px}.topbar{padding:0 15px;height:50px}.top-divider{padding:0 8px}.topbar b{font-size:12px}.account-pill{gap:8px;font-size:12px}.account-avatar{width:25px;height:25px}.pagehead h1{font-size:24px}.pagehead p{font-size:12px}.overview-stats{gap:10px;margin:16px 0}.overview-stat{padding:12px 10px;gap:8px}.overview-stat b{font-size:12px}.overview-stat strong{font-size:23px}.overview-stat small{font-size:11px}.stat-icon{font-size:18px;width:28px;height:28px}.project-list-panel{padding:16px 12px}.project-list-panel>.row>small{font-size:11px}.project-list-panel h2{font-size:18px}.projectcard{grid-template-columns:minmax(0,1fr) 82px;gap:12px;padding:19px 0}.project-product{grid-column:1/-1}.projectcard>div:nth-child(2){grid-column:1/2}.project-action-text{grid-column:1/-1;grid-row:3}.projectcard>div:last-child{grid-column:2/3;grid-row:2}.project-product h2{font-size:14px}.project-action-text>b{font-size:13px}.stage{border-top-width:2px}.tabs{gap:19px}.stage>div:nth-child(2){display:none}.stage small{font-size:11px}.stage{gap:10px}.question-card{padding:20px}.identity{padding-top:8px}.top-project{white-space:nowrap}}

.tag.good{background:#e5f3eb;color:#276447}.tag.working{background:#eeedff;color:#5148d1}button:hover,.button:hover{background:#f2f1ff}button.primary:hover,.button.primary:hover{background:#443adb}button:focus-visible,a:focus-visible{outline-color:#9a93f8}input:focus,select:focus,textarea:focus{outline-color:#aaa4ef}.copy-card:target{outline-color:#aaa4ef}.notice.bad{background:#fff0ed;color:#983f31;border-left-color:#b95f4f}

/* Knowledge import: visible selection, drop target and text fallback. */
.import-fields{border:0;padding:0;margin:0;min-width:0}
.import-modes{display:flex;gap:22px;flex-wrap:wrap;margin:8px 0 18px}
.import-modes label{display:flex;gap:8px;align-items:center;cursor:pointer}
.import-modes input{width:auto;margin:0;accent-color:var(--accent,#5146ed)}
.knowledge-dropzone{border:2px dashed #c8cde8;border-radius:14px;padding:24px 16px;text-align:center;background:#fafaff}
.knowledge-dropzone.dragover{border-color:#5146ed;background:#eeecff}
.knowledge-dropzone strong,.knowledge-dropzone small{display:block}
.knowledge-dropzone button{margin:14px 5px 0}
.knowledge-dropzone p{overflow-wrap:anywhere;margin:14px 0 10px}
#knowledge-import-form [hidden]{display:none!important}
#knowledge-import-error{white-space:pre-wrap;overflow-wrap:anywhere}
#knowledge-text-panel textarea{min-height:170px}

#main-file[hidden]{display:none!important}
#dropzone:focus-visible{outline:3px solid #5146ed;outline-offset:3px}
#dropzone .tools{justify-content:center;margin:16px 0 8px}
#main-upload-status{overflow-wrap:anywhere;margin-bottom:0}

/* Compact operator progress and accessible browser-native upload controls. */
.native-file{display:block;width:100%;max-width:480px;margin:18px auto 12px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink)}
.native-file::file-selector-button{border:0;border-radius:6px;background:var(--brand);color:#fff;padding:9px 14px;margin-right:12px;cursor:pointer;font:inherit}
.upload-help{text-align:left;font-size:13px;margin:14px 0 0;padding:10px 14px;background:#fff}
.upload-help small{display:block;margin-top:10px}.material-checklist{padding:18px;border:1px solid var(--line);border-radius:9px;background:#fafaff;margin:18px 0}.material-checklist h3{margin:0}.material-checklist ul{list-style:none;padding:0;margin:12px 0}.material-checklist li{display:flex;justify-content:space-between;gap:15px;padding:6px 0}.material-checklist small{display:block}.current-task p{margin:8px 0}.current-task .tools{margin-top:10px}.task-history{margin:12px 0}.history-line{display:flex;gap:18px;justify-content:space-between;border-bottom:1px solid var(--line);padding:9px 0;font-size:13px}.task-facts{display:grid;grid-template-columns:90px 1fr;gap:10px}.task-facts dt{color:var(--muted)}.task-facts dd{margin:0}.blocked-state{max-width:800px}.stage>div:first-child{flex:1}.stage>button{flex-shrink:0}.drop>small{display:block}.drop .upload-help{max-width:550px;margin:16px auto 0}@media(max-width:650px){.history-line{flex-wrap:wrap;gap:5px 12px}.material-checklist{padding:14px}.native-file{font-size:13px}}
/* Operator milestone and factual-answer experience. */
.project-progress{padding:20px 0 16px}.project-progress>.row>span{font-weight:650;color:var(--brand)}
progress{display:block;appearance:none;width:100%;height:8px;border:0;border-radius:8px;overflow:hidden;background:#e9eaf3;margin:13px 0}
progress::-webkit-progress-bar{background:#e9eaf3;border-radius:8px}progress::-webkit-progress-value{background:var(--brand);border-radius:8px;transition:width .4s}progress::-moz-progress-bar{background:var(--brand);border-radius:8px}
.milestones{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin:18px 0 14px}.milestone{display:flex;flex-direction:column;align-items:flex-start;gap:6px;border:1px solid var(--line);background:#fafbfe;padding:12px 10px;text-align:left;font-size:13px;min-width:0}.milestone>span{display:grid;place-items:center;width:24px;height:24px;background:#e8eaf3;border-radius:50%;color:#697389}.milestone b{font-size:13px}.milestone small{font-size:11px}.milestone.done{background:#f0f9f5;border-color:#b9dcd0}.milestone.done>span{background:#218365;color:white}.milestone.active{border-color:var(--brand);background:#f2f0ff}.milestone.active>span{background:var(--brand);color:white}.milestone.attention{background:#fff9ed}.active-progress{padding:16px 20px;border:1px solid #d8d4f5;border-radius:12px;margin-bottom:16px;background:#fbfaff}.step-progress{padding-top:12px}.phase-list{list-style:none;display:flex;gap:14px;flex-wrap:wrap;padding:0;font-size:12px;color:var(--muted)}.phase-list .done{color:#237c63}.phase-list .active{color:var(--brand);font-weight:700}.phase-list .paused{color:#a87925}.progress-message{font-size:14px}.active-progress .phase-list .active{animation:phase-pulse 2s ease-in-out infinite}@keyframes phase-pulse{50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.active-progress .phase-list .active{animation:none}}
.brief-section{background:#f7f6ff;border:1px solid #ddd9f5;padding:20px;border-radius:12px;margin-bottom:22px}.brief-section h3{margin:0}.brief-section textarea{min-height:100px}.guided-facts{margin-bottom:22px}.answer-card{background:white;border:1px solid var(--line);padding:15px;margin:10px 0;border-radius:10px}.answer-card summary{font-weight:600;line-height:1.65}.answer-num{color:var(--brand);margin-right:10px}.guided-row{display:block;padding:8px 0 0;border:0}.guided-row textarea{min-height:100px}.guided-row .field{margin:12px 0}.basic-materials{background:#fafbfe}.material-save{position:sticky;bottom:-24px;padding:16px 0;background:white;border-top:1px solid var(--line);z-index:2;margin-top:22px}.material-save button{min-width:180px}@media(max-width:850px){.milestones{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:540px){.milestones{grid-template-columns:repeat(2,minmax(0,1fr))}.project-progress>.row{align-items:flex-start;flex-direction:column;gap:8px}.brief-section{padding:15px}.answer-card{padding:12px}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.answer-card{padding:12px 15px;margin:7px 0}.answer-card summary{font-size:15px}.guided-row textarea{min-height:78px}.source-field{display:flex;align-items:center;gap:12px}.source-field>span{flex-shrink:0;font-size:13px}.source-field input{min-width:0}.question-context{padding:0;background:transparent;border:0;margin:8px 0 0}.question-context summary{font-size:12px;font-weight:400;color:var(--muted)}.question-context p{font-size:13px;color:var(--muted);margin:8px 0}.guided-facts>p{margin:8px 0 12px}.brief-section{padding:16px}.brief-section .field{margin-bottom:0}.brief-section textarea{min-height:80px}

.milestone progress{height:4px;margin:4px 0 0}.milestone.done progress::-webkit-progress-value{background:#218365}

.fact-clarification{display:block;color:#946516;margin:8px 0}.material-save{display:flex;flex-wrap:wrap;gap:10px}.material-save button{min-width:120px}

.reference-upload{text-align:left;padding:16px}.reference-upload>small{display:block;margin:7px 0}.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.reference-card{margin:0;min-width:0;padding:8px;border:1px solid var(--line);border-radius:8px;background:white;text-align:center}.reference-card img{width:100%;height:110px;object-fit:contain}.reference-card figcaption{font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.reference-card>div{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:6px;flex-wrap:wrap}.reference-card button{font-size:11px;padding:4px 6px}.reference-card small{font-size:11px;color:var(--muted)}#reference-progress{width:100%}#reference-progress[hidden]{display:none}@media(max-width:520px){.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep the next-step action and content reachable in narrow embedded browsers. */
@media(max-width:850px){.identity{position:static}}

/* Result navigation must remain reachable while long-running tasks continue. */
.identity{position:static}
#project-results{scroll-margin-top:18px;outline:none}
.milestone.viewing{box-shadow:0 0 0 2px var(--brand)}
.milestone .milestone-link{color:var(--brand);font-weight:600}

.copy-zh{margin:12px 0 4px;padding:14px 16px;background:#f5f5fb;border-radius:7px;color:#565d70;white-space:pre-wrap;line-height:1.75;font-size:15px}.lang-label{display:block;font-size:11px;color:#9298a8;margin-bottom:6px;letter-spacing:.04em}.copy-card .text{white-space:pre-wrap}.copy-card .copy-zh:empty{display:none}

.image-group-tabs{display:flex;gap:10px;margin:12px 0 22px}.voc-evidence-line{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding-top:10px;border-top:1px solid var(--line);margin-top:12px;font-size:12px;color:var(--muted)}.voc-evidence-line span:first-child{color:#594ae9;font-weight:700}.slot-open{cursor:pointer}.slot-open:focus-visible{outline:3px solid #6555f5;outline-offset:4px}.aplus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aplus-grid figure{aspect-ratio:2.44/1;background:white}.aplus-grid figure img{object-fit:contain}.aplus-grid .slot p{min-height:0}.aplus-grid .slot{cursor:default}@media(max-width:700px){.aplus-grid{grid-template-columns:1fr}}

/* The whole brand area returns to the project list without changing jobs. */
.sidebar .brand-home{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;padding:0;border-radius:0;text-align:left;color:inherit;font-weight:inherit}
.sidebar .brand-home .muted{display:block;padding:7px 25px 24px;border-bottom:1px solid #2a3141;color:#b8bed0}
.sidebar .brand-home:hover{background:#222c42}
.sidebar .brand-home:focus-visible{outline:2px solid #aaa5ff;outline-offset:-3px}
@media(max-width:650px){.sidebar .brand-home .muted{display:none}}

/* One section per material category; each distinct answer keeps its original ID. */
.answer-card .guided-row+.guided-row{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.guided-row .fact-question{font-weight:550;line-height:1.6}

.keyword-summary{display:flex;gap:20px;margin:16px 0 24px;color:#536b60}.keyword-table-wrap{overflow-x:auto}.keyword-table{border-collapse:collapse;width:100%;font-size:14px}.keyword-table th,.keyword-table td{padding:14px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line,#e4e8e3)}.keyword-table th{color:#526b5e;background:#f4f7f3}.keyword-table small{display:block;margin-top:5px;color:#708078}.keyword-table details{margin:0;padding:0;border:0}.keyword-table td:first-child{min-width:185px}.keyword-table td:nth-child(2){min-width:105px}.keyword-table td:nth-child(3){min-width:160px}@media(max-width:700px){.keyword-summary{gap:10px;flex-wrap:wrap}.keyword-table{font-size:12px}}

/* Company entry page — scoped to login; project screens remain unchanged. */
.login{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:32px 24px;background:#f1f4fa;color:#24324d}
.login-card{width:min(640px,100%);padding:48px 52px;background:#fff;border:0;border-radius:30px;box-shadow:0 24px 70px #24324d08}
.login-eyebrow{margin:0 0 24px;font-size:17px;font-weight:500;letter-spacing:0;color:#24324d}
.login-card h1{margin:0 0 24px;font-size:30px;font-weight:750;line-height:1.35;letter-spacing:-.5px;color:#24324d}
.login-intro{margin:0 0 28px;color:#707d93;font-size:17px;line-height:1.8}
.login-card .field{margin:0 0 20px;gap:10px}
.login-card .field>span{font-size:17px;font-weight:500;color:#24324d}
.login-card input{height:56px;padding:12px 16px;border:1px solid #d9e0ee;border-radius:12px;font-size:18px;color:#24324d;background:#fff}
.login-card input:focus{outline:3px solid #4f5df526;outline-offset:1px;border-color:#4f5df5}
.login-card button.primary{width:100%;min-height:58px;margin:8px 0 0;border:1px solid #d6dcff;border-radius:12px;background:#4f5df5;color:#fff;font-size:19px;font-weight:500}
.login-card button.primary:hover{background:#414fdf;border-color:#414fdf}
.login-card button.primary:focus-visible{outline:3px solid #aab2ff;outline-offset:3px}
.login-note{margin:30px 0 0;color:#707d93;font-size:14px;line-height:1.9}
@media(max-width:600px){.login{padding:24px 16px}.login-card{padding:32px 24px;border-radius:24px}.login-eyebrow{font-size:15px;margin-bottom:20px}.login-card h1{font-size:25px;margin-bottom:20px}.login-intro{font-size:15px;margin-bottom:24px}.login-card .field>span{font-size:16px}.login-card input{height:52px;font-size:16px}.login-card button.primary{min-height:54px;font-size:17px}.login-note{font-size:13px;margin-top:26px}}
