:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#17201c;background:#f4f5f1}*{box-sizing:border-box}body{margin:0}main{max-width:1180px;margin:auto;padding:36px 24px 80px}header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}header small{color:#c9473c;font-weight:900;letter-spacing:.12em}h1{margin:5px 0 0;font-size:34px}.badge{padding:8px 12px;border-radius:999px;background:#e5eee2;color:#28513e;font-size:13px}.workspaceTabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px;padding:7px;border:1px solid #dfe5dd;border-radius:18px;background:#e8ece7}.workspaceTabs button{display:flex;min-width:0;padding:13px 16px;flex-direction:column;align-items:flex-start;border-radius:13px;color:#69766e;background:transparent;text-align:left}.workspaceTabs button.active{color:#fff;background:#28513e;box-shadow:0 8px 22px #173f3226}.workspaceTabs b,.workspaceTabs small{display:block}.workspaceTabs b{font-size:16px}.workspaceTabs small{margin-top:4px;color:inherit;font-size:12px;font-weight:500;opacity:.78}.error{padding:12px 14px;margin-bottom:16px;border-radius:12px;background:#fff0e8;color:#8b452c}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.metrics article,.panel{background:#fff;border:1px solid #e5e8e1;border-radius:20px;box-shadow:0 10px 30px #1c33220a}.metrics article{padding:20px}.metrics b{display:block;font-size:30px;color:#28513e}.metrics span,.row small{color:#7c867f}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{padding:18px}.panel.wide{grid-column:1 / -1}.panelHead{display:flex;justify-content:space-between;align-items:center}.panelHead h2{margin:0;font-size:20px}button{border:0;border-radius:10px;padding:9px 12px;background:#dff06f;color:#28513e;font-weight:800}.reviewPanel{border-color:#eadf9c;background:linear-gradient(135deg,#fffdf3,#fff)}.readiness{border-color:#efd29b;background:linear-gradient(135deg,#fff8e8,#fff)}.readiness.ready{border-color:#9ccab0;background:linear-gradient(135deg,#edf9f1,#fff)}.gateGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0}.gate{padding:14px;border-radius:14px;background:#fff;border:1px solid #edd9ad}.gate.passed{border-color:#a9d0b6;background:#f1faf4}.gate b,.gate span,.gate em{display:block}.gate b{color:#a85b3d;font-size:21px}.gate.passed b{color:#28513e}.gate span{margin:5px 0;color:#313b34}.gate em{color:#9a6b54;font-size:12px;font-style:normal}.densityFoot{color:#6f786f;font-size:13px}.panelHead small{color:#a07b20;font-weight:900;letter-spacing:.12em}.panelHead div h2{margin-top:4px}.countBadge{padding:7px 10px;border-radius:999px;color:#903b32;background:#fff0ed;font-size:13px;font-weight:800}.adminLogin{display:flex;gap:10px;margin:16px 0 10px}.adminLogin input{flex:1;min-width:0;padding:11px 13px;border:1px solid #dfe4db;border-radius:10px;font:inherit}.reviewPolicy{margin:8px 0 16px;color:#6f786f;font-size:13px}.empty{padding:22px;border-radius:12px;color:#778078;background:#f5f6f2;text-align:center}.rememberLogin{display:flex;align-items:center;gap:6px;color:#657168;font-size:13px;white-space:nowrap}.rememberLogin input{width:16px;flex:none}.adminSession{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 10px;padding:11px 13px;border-radius:12px;color:#28513e;background:#edf6ef;font-size:13px}.adminSession button{color:#8f4036;background:#fff0ed}.reviewRow{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-top:1px solid #eceee7}.reviewRow b,.reviewRow small,.reviewRow em{display:block}.reviewRow small{margin-top:4px;color:#7c867f}.reviewRow p{margin:9px 0 5px}.reviewRow em{color:#5b6f61;font-size:12px;font-style:normal}.reviewActions{display:flex;flex:0 0 auto;gap:8px}.reviewActions .reject{color:#9d3d34;background:#fff0ed}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #edf0e9}.row:last-child{border-bottom:0}.row b,.row small{display:block}.row small{margin-top:4px}.row>span{color:#c9473c;font-size:13px}.wallStudio{grid-column:1 / -1;overflow:hidden;padding:20px;border:1px solid #dce2d7;border-radius:24px;background:linear-gradient(145deg,#172f27,#244e3d 55%,#745047);color:#fff;box-shadow:0 20px 50px #10261d26}.desktopWallStudio{grid-column:1 / -1}.wallGuide ol{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:16px 0;padding:0;counter-reset:wallstep;list-style:none}.wallGuide li{position:relative;padding:38px 12px 13px;border-radius:13px;background:#f3f6f1;color:#3e4a43;font-size:13px;line-height:1.5;counter-increment:wallstep}.wallGuide li:before{position:absolute;top:10px;left:12px;color:#c9473c;font-size:18px;font-weight:900;content:"0" counter(wallstep)}.mobileWallNotice{display:none}.studioHead,.studioActions,.toolRow,.studioFooter{display:flex;align-items:center;justify-content:space-between;gap:12px}.studioHead small{color:#e6f35d;font-weight:900;letter-spacing:.12em}.studioHead h2{margin:5px 0;font-size:26px}.studioHead p{margin:0;color:#cedad2}.studioActions{flex-wrap:wrap;justify-content:flex-end}.studioActions button:not(:last-child){background:#ffffff20;color:#fff}.studioActions button:disabled{opacity:.4;cursor:not-allowed}.studioMeta{display:grid;grid-template-columns:1.1fr 1.2fr .7fr .7fr 1.1fr;gap:10px;margin:18px 0 12px}.studioMeta label,.toolRow label{color:#d7e0da;font-size:12px;font-weight:700}.studioMeta input,.studioMeta select,.shortInput{display:block;width:100%;margin-top:5px;padding:9px 10px;border:1px solid #ffffff32;border-radius:9px;background:#ffffff12;color:#fff;font:inherit}.studioMeta select option{color:#17201c}.studioMeta .wideField{grid-column:1 / -1}.toolRow{justify-content:flex-start;flex-wrap:wrap;padding:10px;border-radius:13px;background:#0f261f99}.modeTabs{display:flex;gap:5px}.modeTabs button,.routePills button{background:#ffffff15;color:#dce6df}.modeTabs button.active,.routePills button.active{background:#e6f35d;color:#183f32}.toolRow input[type=color]{width:44px;height:30px;margin-left:7px;vertical-align:middle;border:0;background:transparent}.toolRow label input[type=range]{vertical-align:middle}.toolRow select,.setterInput{min-height:34px;padding:6px 8px;border:1px solid #ffffff32;border-radius:8px;color:#fff;background:#ffffff12;font:inherit}.toolRow select option{color:#17201c}.toolRow .dangerTool{color:#ffd9d3;background:#7e302b}.toolRow button:disabled,.toolRow select:disabled{opacity:.42}.shortInput{width:82px;margin:0}.setterInput{width:120px}.holdBatchPanel{display:flex;align-items:end;flex-wrap:wrap;gap:9px;margin-top:10px;padding:12px;border:1px solid #58d9c155;border-radius:14px;background:#102c25}.holdBatchPanel>div{display:grid;gap:3px;min-width:240px;margin-right:auto}.holdBatchPanel small{color:#58d9c1;font-weight:900;letter-spacing:.08em}.holdBatchPanel b{color:#fff}.holdBatchPanel span{max-width:360px;overflow:hidden;color:#aebfb5;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.holdBatchPanel label{display:grid;gap:4px;color:#cbd8d0;font-size:11px;font-weight:800}.holdBatchPanel input,.holdBatchPanel select{min-height:34px;max-width:150px;padding:6px 8px;border:1px solid #ffffff32;border-radius:8px;color:#fff;background:#ffffff12;font:inherit}.holdBatchPanel select option{color:#17201c}.holdBatchPanel input[type=color]{width:48px;padding:2px}.holdBatchPanel button:disabled{opacity:.4}.mapViewport{overflow:auto;margin-top:12px;border-radius:14px;background:#edf0e8;box-shadow:inset 0 0 0 1px #fff3}.mapViewport svg{display:block;min-width:820px;width:100%;cursor:crosshair;touch-action:none}.gridLine{stroke:#173f32;stroke-width:1;stroke-opacity:.16;stroke-dasharray:5 5}.gridLabel,.surfaceLabel,.cruxLabel,.holdRoleLabel,.holdInventoryLabel{font-family:Inter,PingFang SC,sans-serif;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-opacity:.7}.gridLabel{fill:#28513e;font-size:13px}.surfaceLabel{fill:#173f32;font-size:17px;font-weight:900}.cruxLabel{fill:#9e302b;font-size:18px;font-weight:900}.holdRoleLabel{fill:#173f32;font-size:13px;font-weight:950;stroke-width:2px}.holdInventoryLabel{fill:#173f32;font-size:10px;font-weight:900;stroke-width:2px}.holdDot{filter:drop-shadow(0 5px 5px #14261d55)}.selectionCount{padding:7px 10px;border-radius:999px;color:#173f32;background:#e6f35d;font-size:12px;font-weight:900}.routeWorkbench{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(520px,1.5fr);gap:14px;margin-top:14px}.routeSheet,.routeEditor{padding:16px;border-radius:16px;color:#18352b;background:#fffdf5}.routeSheet>small{color:#8f6842;font-size:11px;font-weight:900;letter-spacing:.08em}.routeSheet h3{display:flex;align-items:center;gap:9px;margin:8px 0 12px;font-size:22px}.routeSheet h3 i{width:16px;height:16px;border-radius:50%;box-shadow:0 0 0 3px #fff,0 0 0 4px #c9cec8}.routeSheetFacts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.routeSheetFacts span{padding:8px;border-radius:9px;color:#768078;background:#f0f3ec;font-size:11px}.routeSheetFacts b{display:block;margin-top:3px;color:#18352b;font-size:13px}.routeSheet p{margin:12px 0;color:#56675e;font-size:13px}.routeEditor{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.routeEditor label{color:#66746c;font-size:11px;font-weight:800}.routeEditor input,.routeEditor select{display:block;box-sizing:border-box;width:100%;min-height:38px;margin-top:5px;padding:8px 9px;border:1px solid #dce4dc;border-radius:9px;color:#18352b;background:#fff;font:inherit}.routeEditorActions{display:flex;align-items:end;gap:7px}.routeEditorActions button{flex:1}.routeEditorActions .danger{color:#a13d35;background:#fff0ed}.routeCodeBlock{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #dfe5df}.routeCodeBlock img,.routeCodePlaceholder{width:96px;height:96px;flex:0 0 96px;border-radius:10px}.routeCodePlaceholder{display:grid;place-items:center;text-align:center;color:#75867d;background:#eef2ed;font-size:11px}.routeCodeBlock>div:last-child{display:grid;gap:5px}.routeCodeBlock b{color:#173f32}.routeCodeBlock span{max-width:360px;color:#819087;font-size:10px;overflow-wrap:anywhere}.routeCodeBlock button{justify-self:start}.studioFooter{align-items:flex-start;margin-top:12px;color:#dce5df;font-size:13px}.routePills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}@media(max-width:760px){main{padding:24px 16px 64px}header{align-items:flex-start;gap:12px}h1{font-size:30px}.metrics{grid-template-columns:1fr 1fr}.metrics article{padding:18px}.grid{grid-template-columns:1fr}.panel.wide{grid-column:auto}.gateGrid{grid-template-columns:1fr 1fr}.row small{font-size:13px;line-height:1.5}.reviewRow{align-items:flex-start;flex-direction:column}.reviewActions{width:100%}.reviewActions button{flex:1}}@media(max-width:760px){.wallStudio{grid-column:auto;padding:16px}.studioHead{align-items:flex-start;flex-direction:column}.studioMeta{grid-template-columns:1fr 1fr}.studioMeta .wideField{grid-column:1 / -1}.studioFooter{flex-direction:column}.routePills{justify-content:flex-start}}@media(max-width:1100px){.routeWorkbench{grid-template-columns:1fr}.routeEditor{grid-template-columns:repeat(2,1fr)}}.routeSheetFacts .routeIdentity{grid-column:1/-1}.routeSheetFacts .routeIdentity b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.changeLog{margin-top:12px;padding:12px 14px;border:1px solid #ffffff24;border-radius:14px;color:#dbe5de;background:#112a2299}.changeLog summary{cursor:pointer;color:#e6f35d;font-weight:900}.changeLog>div{display:grid;grid-template-columns:90px 150px 1fr;gap:10px;padding:9px 0;border-top:1px solid #ffffff18;font-size:12px}.changeLog>div:first-of-type{margin-top:10px}.changeLog time{color:#aebeb4}.changeLog span{color:#d2ddd6}@media print{body *{visibility:hidden!important}.wallStudio,.wallStudio *{visibility:visible!important}.wallStudio{position:absolute;top:0;right:0;bottom:0;left:0;padding:0;border:0;color:#17201c;background:#fff;box-shadow:none}.studioHead,.studioMeta,.toolRow,.holdBatchPanel,.studioFooter,.routeEditor,.studioActions,.routeCodeBlock button{display:none!important}.mapViewport{margin:0;border:1px solid #dfe4dc}.routeWorkbench{display:block;margin-top:12px}.routeSheet{border:1px solid #dfe4dc}.mapViewport svg{min-width:0;max-height:68vh}}.evidenceButton{margin-top:9px;padding:7px 10px;color:#315741;background:#edf4ea;font-size:12px}.evidenceOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#101b17cc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.evidenceViewer{width:min(920px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:20px;border-radius:22px;background:#fffdf7;box-shadow:0 24px 80px #0006}.evidenceViewerHead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.evidenceViewerHead small{color:#c9473c;font-weight:900;letter-spacing:.12em}.evidenceViewerHead h2{margin:4px 0 0}.evidenceViewerHead button{color:#8f4036;background:#fff0ed}.evidenceViewer img{display:block;width:100%;max-height:70vh;object-fit:contain;border-radius:14px;background:#eef0eb}.evidenceViewer audio{display:block;width:100%;margin:34px 0}.evidenceViewer p{margin:14px 0 0;color:#68736c;font-size:13px;line-height:1.6}.evidenceLoading{display:grid;min-height:240px;place-items:center;color:#52635a;background:#f2f4ef;border-radius:14px}.feedbackPanel{border-color:#b9d0bf;background:linear-gradient(135deg,#f1f8f2,#fff)}.feedbackRow{display:flex;gap:18px;padding:18px 0;border-top:1px solid #e2eae3}.feedbackMain{min-width:0;flex:1}.feedbackMeta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.feedbackMeta>span{color:#7c867f;font-size:12px}.feedbackMeta b{font-size:17px}.priority{padding:4px 7px;border-radius:7px;color:#fff!important;background:#77847b;font-weight:900}.priority.p0{background:#a62f2b}.priority.p1{background:#d2633e}.priority.p2{background:#a67a2d}.feedbackMain>small,.feedbackMain>em{display:block;margin-top:6px;color:#718078}.feedbackMain p{margin:10px 0}.feedbackMain pre{margin:8px 0;padding:10px;border-radius:10px;background:#f3f5f1;white-space:pre-wrap;font:13px/1.55 inherit}.feedbackEvidence{display:flex;flex-wrap:wrap;gap:7px}.feedbackReward{margin-top:10px;color:#a03e35;font-size:13px;font-weight:900}.feedbackActions{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:7px;flex:0 0 220px}.feedbackActions .honor{color:#fff;background:#754b39}.feedbackActions .reject{color:#9d3d34;background:#fff0ed}@media(max-width:760px){.feedbackRow{flex-direction:column}.feedbackActions{width:100%;flex-basis:auto}}@media(max-width:760px){.workspaceTabs{grid-template-columns:1fr}.workspaceTabs button{padding:11px 13px}.workspaceTabs small{margin-top:2px}.adminLogin{flex-wrap:wrap}.adminLogin>input{flex-basis:100%}.adminLogin button{flex:1}.wallGuide ol{grid-template-columns:1fr}.desktopWallStudio{display:none}.mobileWallNotice{display:block;grid-column:auto;padding:22px;border-radius:18px;color:#315242;background:#e9f1e8;line-height:1.7}.wallGuide{display:none}}.inviteBuilder{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin:18px 0}.inviteBuilder label{display:flex;flex-direction:column;gap:7px;color:#66736b;font-size:13px}.inviteBuilder select,.inviteBuilder input{min-height:44px;padding:10px 12px;border:1px solid #dfe4db;border-radius:11px;background:#fff;font:inherit}.inviteResult{display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:center;padding:24px;border:1px solid #ead176;border-radius:20px;background:linear-gradient(135deg,#fff9df,#fff)}.inviteResult img{width:240px;border-radius:16px}.inviteResult h3{margin:8px 0;font-size:30px}.inviteResult p{color:#647168;line-height:1.65}.inviteResult small{display:block;color:#8b7440}.inviteResult button{margin-top:15px}.medalMark,.memberMedal{display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#d19a2a,#d94c42)}.medalMark{width:58px;height:58px;border-radius:50%;font-size:30px}.memberList{margin-top:28px}.memberRow{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;padding:16px 0;border-top:1px solid #eceee7}.memberMedal{width:48px;height:48px;border-radius:50%;font-size:24px}.memberRow small{display:block;margin-top:5px;color:#7c867f}.memberRow .reject{color:#9d3d34;background:#fff0ed}@media(max-width:760px){.inviteBuilder{grid-template-columns:1fr}.inviteResult{grid-template-columns:1fr;text-align:center}.inviteResult img{width:min(100%,300px);margin:auto}.medalMark{margin:auto}.memberRow{grid-template-columns:45px 1fr}.memberRow button{grid-column:1/-1}}.teachingEditor{border-color:#bfd3c3;background:linear-gradient(145deg,#f5faf5,#fff)}.teachingToolbar{display:grid;grid-template-columns:minmax(240px,2fr) auto auto;gap:10px;margin:18px 0}.teachingToolbar select,.teachingForm input,.teachingForm textarea,.teachingForm select{width:100%;padding:11px 12px;border:1px solid #dce4dc;border-radius:11px;background:#fff;font:inherit}.teachingForm{display:grid;grid-template-columns:1fr 1fr;gap:13px}.teachingForm label{display:flex;min-width:0;flex-direction:column;gap:7px;color:#58685f;font-size:13px;font-weight:700}.teachingForm label.wide{grid-column:1/-1}.teachingForm textarea{min-height:92px;resize:vertical}.teachingSave{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:15px;border-radius:14px;background:#eaf2e9}.teachingSave b,.teachingSave small{display:block}.teachingSave small{margin-top:4px;color:#718078}.teachingSave button{min-width:140px}@media(max-width:760px){.teachingToolbar,.teachingForm{grid-template-columns:1fr}.teachingForm label.wide{grid-column:auto}.teachingSave{align-items:stretch;flex-direction:column}.teachingSave button{width:100%}}.teachingQuality{display:grid;grid-template-columns:190px 1fr;gap:18px;align-items:center;padding:14px 16px;border:1px solid #d8e5d9;border-radius:14px;background:#f8fbf6}.teachingQuality b,.teachingQuality small{display:block}.teachingQuality small{margin-top:3px;color:#718078}.teachingQuality>div:last-child{display:flex;flex-wrap:wrap;gap:7px}.teachingQuality span{padding:6px 9px;border-radius:999px;font-size:12px;font-weight:700}.teachingQuality .done{background:#dcebd9;color:#245940}.teachingQuality .todo{background:#fff1ea;color:#9b4938}.teachingPreview{max-width:620px;margin:20px auto 0;padding:22px;border-radius:24px;background:#fffef9;box-shadow:0 14px 36px #1c46351f;color:#18352b}.teachingPreview>small{letter-spacing:.12em;color:#bb493b;font-weight:800}.teachingPreview h3{margin:8px 0 10px;font-size:25px}.teachingPreview p{color:#64746d;line-height:1.65}.previewTags{display:flex;gap:6px;flex-wrap:wrap}.previewTags span{padding:5px 8px;border-radius:8px;background:#eaf2e8;color:#285b43;font-size:12px}.teachingPreview ol{display:grid;gap:8px;padding:0;list-style:none;counter-reset:moves}.teachingPreview li{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:10px;border-radius:12px;background:#f3f6ef}.teachingPreview li span{color:#5d6d65}.previewCorrection{display:grid;gap:5px;padding:12px;border-radius:12px;background:#fff3e9}.previewCorrection span{color:#a04b3b}.previewCorrection b{color:#255c43}.teachingPreview footer{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid #e7ebe5;color:#77837c;font-size:12px}@media(max-width:760px){.teachingQuality,.teachingPreview li{grid-template-columns:1fr}.teachingPreview footer{flex-direction:column}}
