:root{--ink:#213c39;--muted:#687e75;--line:#dce5de;--blue:#286451;--green:#286451;--pale:#eaf2ed;--bg:#f4f6f2}
.fde-app{font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg)}.fde-app .topbar{min-height:76px;padding:14px 26px;gap:25px;border-color:#dce5de;z-index:20}.fde-app .brandmark{background:#225e4b;color:#f7f7dc;border:0;border-radius:10px;width:41px;height:43px;font-size:23px}.fde-app .brand strong{font-size:18px;color:#234639;letter-spacing:.2px}.fde-app .brand small{font-size:10px;letter-spacing:.4px;color:#7a8b7b}.fde-app .topbar nav{font-size:12px;gap:22px}.model-connection{display:inline-flex;align-items:center;gap:7px;font-size:10px;color:#9b783f;padding:7px 10px;border:1px solid #e5d9bf;background:#fbf7ed;border-radius:20px;white-space:nowrap}.model-connection:before{content:'';width:6px;height:6px;background:#bd9a59;border-radius:50%;flex-shrink:0}.model-connection.ready{color:#33634e;border-color:#d7e4d6;background:#f1f7ed}.model-connection.ready:before{background:#4c956b}.fde-app .layout{grid-template-columns:228px minmax(0,1fr);max-width:1800px}.fde-app .sidebar{padding:23px 16px;background:#fcfdf9;border-color:#dce5de;position:sticky;top:76px;height:calc(100vh - 76px);overflow-y:auto;scrollbar-width:thin}.fde-app .side-label{font-size:10px;color:#87987e;letter-spacing:1.4px;margin-bottom:12px}.fde-app .side-label:not(:first-child){margin-top:24px}.fde-app .case-button{padding:11px 10px;gap:10px;border-radius:8px}.fde-app .case-button>span{font-size:21px;color:#8da18a}.fde-app .case-button.selected{background:#ebf3e9;border-color:#cadcc7}.fde-app .case-button.selected>span{color:#3a7755}.fde-app .case-button strong{font-size:12px;color:#314b3b}.fde-app .case-button small{font-size:9px;line-height:1.7;color:#82927c}.fde-app .case-button em{font-size:8px;border-radius:3px;background:#e0edd8;color:#6d875d}.fde-app .nav-button{font-size:12px;color:#6d806a;padding:11px 12px;gap:10px;border-radius:7px}.fde-app .nav-button.active{background:#e4efe1;color:#2a6246;box-shadow:inset 3px 0 #4e8458}.workspace-extra,.weekly-nav{margin:12px 0;border-top:1px solid #e3eadd;padding-top:13px}.workspace-extra summary,.weekly-nav summary{font-size:11px;color:#8a9a80;cursor:pointer;padding:4px 10px}.workspace-extra .nav-button{font-size:11px;padding:9px 12px}.fde-app #phase-nav .nav-button{font-size:11px}.fde-app .source-card{padding:12px;background:#f0f4e9;margin-top:20px;border:1px solid #e1e8d7}.fde-app .source-card p{font-size:10px;color:#8b987e;line-height:1.9}.fde-app .source-card strong{color:#697f57;font-size:11px}.fde-app main{padding:25px 30px 45px}.workspace-context{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 22px;padding:0 0 15px;border-bottom:1px solid #dfe7d9;font-size:11px;color:#829377}.workspace-context>div{display:flex;align-items:center;gap:10px}.workspace-context strong{color:#506c4c;font-size:12px}.workspace-context .context-dot{width:7px;height:7px;display:inline-block;border-radius:2px;background:#86a377}.workspace-context>span{font-size:10px;border:1px solid #dce6d3;background:#f9fbf5;padding:4px 8px;border-radius:5px;white-space:nowrap}.fde-app h1{font-size:27px;color:#233f32;letter-spacing:-.4px}.fde-app h2{color:#304d3c}.fde-app .lead{font-size:13px;color:#6e826b}.fde-app .panel{border-color:#dce5d7;border-radius:12px;padding:24px;box-shadow:0 2px 4px #364e2b03}.fde-app .primary{background:#2b694d;color:#fff;border:1px solid #2b694d;min-height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px}.fde-app .secondary{color:#4a7150;background:#fff;border-color:#cfddc7;min-height:37px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px}.fde-app .quiet{color:#6b8562;background:#f0f5e9;border-radius:6px}.fde-app input,.fde-app select,.fde-app textarea{border-color:#d3dfca;color:#3b583c;background:#fdfefa}.fde-app button:hover,.fde-app a.secondary:hover{filter:brightness(.98)}.fde-app :focus-visible{outline-color:#7fae73}.fde-app .eyebrow{color:#849b76;letter-spacing:1.4px}.fde-app .hint{color:#6a7c60;line-height:1.9}.fde-app .footer-note{color:#92a084;font-size:10px}.fde-app .qinghe-backbar{font-size:10px;color:#8c9c81;gap:12px;margin-bottom:22px}.fde-app .qinghe-backbar span{max-width:66%}
.fde-app .flow-intro{padding:25px 26px;background:linear-gradient(110deg,#edf3e7,#f8faf5);border:1px solid #d6e2cd;border-radius:13px;margin-bottom:18px}.fde-app .flow-intro h1{font-size:28px;margin:8px 0 10px;color:#24472e}.fde-app .flow-intro p{font-size:12px;color:#758a6c;margin:0}.fde-app .flow-summary{border-color:#d9e4d0;border-radius:11px;padding:20px 24px;gap:25px;margin-bottom:15px}.fde-app .flow-summary b{font-size:29px;color:#3a7045}.fde-app .flow-summary span{font-size:11px;color:#6d805f}.fde-app .flow-summary strong{font-size:11px;color:#59714c}.flow-linked-tools{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:18px 0 10px;padding:5px 1px;font-size:11px;color:#849777}.flow-linked-tools>div{display:flex;gap:8px;flex-wrap:wrap}.fde-app .fde-stage-nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;position:sticky;top:76px;z-index:8;background:#f4f6f2;padding:12px 0 15px;margin:0 0 20px;border-bottom:1px solid #e1e8da}.fde-app .fde-stage{flex:1 0 82px;padding:12px 10px;border-radius:8px;background:#fff;border-color:#d6e0ce;box-shadow:none}.fde-app .fde-stage>span{font-size:10px;color:#95a889;margin-bottom:7px}.fde-app .fde-stage strong{font-size:12px;white-space:nowrap;color:#526c49}.fde-app .fde-stage small{font-size:9px;color:#99a58c}.fde-app .fde-stage.active{background:#2a6348;border-color:#2a6348;box-shadow:0 3px 8px #31582d16}.fde-app .fde-stage.active strong{color:#fff}.fde-app .fde-stage.active>span,.fde-app .fde-stage.active small{color:#c5d9b9}.fde-app .flow-context{background:#f4f7ee;padding:13px 17px;color:#7b8e6d;border:1px solid #e5ebdc}.fde-app .flow-context p{margin:5px 0;font-size:11px}.fde-app .flow-context b{color:#668255}.fde-app .flow-stage-heading>.lead{font-size:13px}.fde-app .flow-task h3{font-size:17px}.fde-app .flow-task-guide{background:#f3f7ee;border:1px solid #e4ebda;color:#668455;gap:24px;border-radius:8px}.fde-app .flow-task-guide p{color:#7d8f70}.fde-app .flow-task .flow-focus{color:#7c9a64;font-size:12px}.fde-app .flow-record-row label{color:#7b8f69}.fde-app .flow-task textarea,.fde-app .flow-gate textarea{border-color:#d2dfc6;background:#fdfefa;color:#48623d}.fde-app .flow-gate{border-left:3px solid #c5a564}.fde-app .stage-workspace{border:1px solid #bfcfb2;border-top:3px solid #7d9e63;padding:24px;box-shadow:0 4px 16px #47643206}.fde-app .stage-lab-status{background:#eef4e6;color:#7f946e}.fde-app .stage-lab-frame,.fde-app .stage-demo-frame{border-color:#dce5d3;border-radius:10px}.fde-app .delivery-stage-nav button.active{background:#2b684a}.fde-app .delivery-stage-detail{background:#fbfdf7;border-color:#d6e3ca}.fde-app .delivery-run-summary{background:#eaf3e0;border:1px solid #d5e3c9;color:#6c8956}.fde-app .delivery-studio .notice{background:#f6f8ef;border-color:#dfe7d3;color:#84916f}.fde-app .delivery-artifact-grid .panel{height:fit-content}.fde-app .delivery-screenshot{box-shadow:0 4px 20px #354a2510}.fde-app .graph-tabs button.active{background:#2b6549;border-color:#2b6549}.fde-app .graph-scroll{background:#f7faf3;border-color:#dae5cf}.fde-app .group-workspace{max-width:1510px;padding:28px 4vw}.fde-app .group-workspace .toolbar{padding:15px 18px;background:#fff;border:1px solid #d9e4d1;border-radius:10px;gap:10px}.fde-app .group-project-heading h1{font-size:26px}.fde-app .group-module-overview{padding:18px 22px;background:#f7faf1}.fde-app .group-module-overview h2{font-size:15px}.fde-app .group-module-overview p{margin:2px 0}.fde-app .group-workspace .flow-intro{margin-top:22px}
.hub-app{background:#f5f7f1}.hub-app .hub-header{height:79px;padding:0 4vw;gap:25px}.hub-app .hub-header nav{gap:25px;font-size:12px}.hub-app #hub-main{padding-left:4vw;padding-right:4vw}.hub-app .hub-hero{padding:52px 0 42px;gap:45px}.hub-app .hero-copy h1{font-size:clamp(32px,3.3vw,50px);letter-spacing:-1px}.hub-app .hero-copy>p{font-size:14px;color:#7c9071}.hub-app .hero-map{background:#eaf0df;border-color:#d5e0c7;box-shadow:6px 6px 0 #d8e3c754}.hub-app .project-card{border-radius:12px;padding:24px;border-color:#d8e2d0}.hub-app .project-card:hover{box-shadow:0 10px 26px #4c613414;transform:translateY(-3px)}.hub-app .card-link{font-size:12px;font-weight:600}.hub-app .project-card>p:not(.eyebrow){font-size:12px;color:#7a8f6f;line-height:1.9}.hub-app .hub-flow{border-radius:11px}.hub-app .catalog-heading h1{font-size:34px;color:#2a4f34}.hub-app .module-card{border-radius:10px}.hub-app .hub-library-strip{border-radius:12px;background:#eaf2e0}
@media(min-width:1600px){.fde-app main{padding-left:40px;padding-right:40px}.fde-app .layout{grid-template-columns:245px minmax(0,1fr)}}@media(max-width:1100px){.fde-app .topbar{gap:16px}.fde-app .topbar nav{gap:13px}.model-connection{font-size:9px;padding:6px 8px}.fde-app .layout{grid-template-columns:205px minmax(0,1fr)}.fde-app .sidebar{padding:20px 12px}.fde-app main{padding:22px}.fde-app .fde-stage{flex-basis:80px}.flow-linked-tools{align-items:flex-start;flex-direction:column}.workspace-context>div{flex-wrap:wrap}.hub-app .hub-header{gap:18px}.hub-app .hub-hero{gap:25px}}@media(max-width:800px){.fde-app .topbar{flex-wrap:wrap;min-height:76px;padding:12px 18px}.fde-app .topbar nav{margin-left:0;order:3;width:100%;justify-content:space-between}.fde-app .topbar .model-connection{margin-left:auto}.fde-app .layout{display:block}.fde-app .sidebar{position:static;height:auto;display:block;padding:15px 18px}.fde-app .sidebar .case-button{display:inline-flex;width:calc(50% - 4px);vertical-align:top}.fde-app .sidebar .side-label:not(:first-child),.fde-app .sidebar .weekly-nav,.fde-app .sidebar .source-card{display:none}.fde-app .sidebar #attempt-select,.fde-app .sidebar #new-attempt{display:inline-block;width:calc(50% - 4px);vertical-align:top}.fde-app .sidebar #workspace-nav{display:grid;grid-template-columns:1fr 1fr;gap:4px}.fde-app .sidebar .workspace-extra{grid-column:1/-1}.fde-app main{padding:20px 18px}.fde-app .fde-stage-nav{top:119px}.workspace-context{font-size:10px;gap:8px}.workspace-context>div{gap:7px}.workspace-context>span{font-size:9px}.fde-app .flow-intro{padding:22px}.fde-app .flow-intro h1{font-size:24px}.fde-app .panel{padding:20px}.fde-app .flow-linked-tools>div{width:100%}.fde-app .flow-linked-tools button{flex:1}.hub-app .hub-header{flex-wrap:wrap;height:auto;padding-top:18px}.hub-app .hub-header nav{order:3;width:100%;margin-left:0;height:48px}.hub-app .model-connection{margin-left:auto}.hub-app .hub-hero{grid-template-columns:1fr;padding-top:30px}.hub-app .hero-map{display:none}.fde-app .flow-summary{grid-template-columns:1fr 1fr;padding:18px}.fde-app .flow-summary>div:last-child{grid-column:1/-1}.fde-app .delivery-stage-nav{grid-template-columns:repeat(3,minmax(0,1fr)}.fde-app .qinghe-backbar span{display:none}}

.fde-app .case-button:not(.selected){background:transparent;border-color:transparent}.fde-app .case-button:not(.selected):hover{background:#f1f5eb}
