:root{font-family:Noto Sans SC,Microsoft YaHei,PingFang SC,Arial,sans-serif;color:#192a2c;background:#f9fbf9;font-synthesis:none;--green:#176234;--green-dark:#15542f;--green-strong:#087332;--mint:#e7f4e8;--mint-2:#f1f8f1;--amber:#d99a19;--amber-bg:#fff2d8;--text:#1a282b;--muted:#62706d;--line:#c8d2cb;--error:#b34434;--radius:5px;--space:8px;--shadow:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}a{color:inherit}.global-header{height:72px;background:var(--green);color:#fff;display:flex;align-items:center;gap:30px;padding:0 clamp(18px,2vw,36px);border-bottom:1px solid #0d4823}.global-header-light{background:#fff;color:#193b31;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.brand strong{font-size:clamp(18px,1.5vw,25px);letter-spacing:.02em}.brand-mark{font-size:29px;color:#f4ba47;line-height:1}.global-header-light .brand-mark{color:var(--green)}.global-header nav{display:flex;align-items:center;gap:7px;flex:1}.global-header nav button{border:0;background:none;color:inherit;padding:10px 15px;white-space:nowrap;border-radius:4px}.global-header nav button.active{background:#e7f4e8;color:#0f5b2c;font-weight:700}.global-header-light nav button.active{background:var(--green);color:#fff}.header-right{margin-left:auto;display:flex;align-items:center;gap:12px;white-space:nowrap}.header-student{font-size:13px;opacity:.88}.menu-toggle{display:none;border:0;background:none;color:inherit;font-size:22px}.page{min-height:calc(100vh - 72px);max-width:1920px;margin:auto}.standard-page{padding:24px clamp(20px,2vw,36px) 40px}.page-heading{margin-bottom:22px}.page-heading h1,.login-layout h1,.login-form h2{color:#134e2d;font-size:30px;margin:0 0 8px;line-height:1.25}.page-heading h1:after,.login-layout h1:after,.login-form h2:after{content:"";display:block;width:56px;height:4px;background:var(--amber);margin-top:9px}.page-heading p,.login-visual>p,.login-form>p{color:var(--muted);margin:0;font-size:16px}.button{min-height:34px;padding:6px 12px;border-radius:var(--radius);border:1px solid #7baf8c;background:#fff;color:#145d30;font-weight:600;white-space:nowrap}.button:hover:not(:disabled){background:#eff8ef}.button-primary{background:var(--green);color:#fff;border-color:var(--green)}.button-primary:hover:not(:disabled){background:#10502a}.button-soft{background:var(--mint);border-color:#d3e9d7}.button-text{border-color:transparent;background:transparent}.button-danger{color:#a94133;border-color:#e6c8c4}.status{display:inline-flex;align-items:center;padding:4px 9px;border-radius:4px;background:#edf1ee;color:#566760;font-size:12px;font-weight:700;white-space:nowrap}.status-good{background:var(--mint);color:#176234}.status-warn{background:var(--amber-bg);color:#925f00}.status-bad{background:#fae6e3;color:var(--error)}.notice{padding:10px 13px;border-radius:4px;font-size:14px;margin:10px 0}.notice-warn{background:var(--amber-bg);color:#865800}.notice-good{background:var(--mint);color:#185e35}.notice-bad{background:#fae6e3;color:#a43e35}.notice-neutral{background:#edf4ee;color:#34594b}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#174f30;font-size:19px;font-weight:750;margin:0 0 14px}.section-title>span:first-child{display:inline-block;border-left:5px solid var(--green);padding:4px 0 4px 11px}.section-title small{font-weight:400;color:var(--muted);font-size:12px}.section-title .button{font-size:12px}.panel{background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px}.muted{color:var(--muted)}.error-text{color:var(--error);font-size:12px}.form-field{display:flex;align-items:center;gap:12px;margin:12px 0;font-weight:700}.form-field>span{min-width:72px}.form-field input,.form-field select,input:not([type=checkbox]):not([type=range]),select,textarea{border:1px solid #b8c5bc;border-radius:4px;background:#fff;color:var(--text);outline:none}.form-field input,.form-field select{flex:1;min-height:42px;padding:8px 12px}.form-field input:focus,.form-field select:focus,input:focus,select:focus,textarea:focus{border-color:var(--green-strong);box-shadow:0 0 0 2px #dcefe0}.form-field small{color:var(--muted);font-weight:400}.toast{position:fixed;right:24px;bottom:24px;z-index:40;background:#174f30;color:#fff;padding:11px 16px;box-shadow:0 5px 20px #153a2633;border-radius:4px;cursor:pointer}.toast span{margin-left:14px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{border:1px solid #c8d3cd;padding:7px 8px;text-align:left;vertical-align:middle}th{background:#edf3ef;font-weight:700;color:#26463a;white-space:nowrap}th small{font-weight:400}td input{width:100%;min-width:75px;padding:5px 6px}.empty-cell{text-align:center;color:var(--muted);height:64px}.segmented{display:flex;background:#edf4ee;padding:2px;border-radius:4px}.segmented button{flex:1;border:0;background:transparent;color:#315b40;padding:5px}.segmented button.active{background:var(--green);color:#fff;border-radius:3px}.modal-backdrop{position:fixed;inset:0;background:#15251bb3;z-index:60;display:grid;place-items:center;padding:24px}.modal{width:min(880px,95vw);background:#fff;border:1px solid #9db6a3;border-radius:6px;padding:18px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.disclaimer{display:block;color:var(--muted);margin-top:18px;line-height:1.5}.login-layout{display:grid;grid-template-columns:55% 45%;min-height:calc(100vh - 72px);background:#fff}.login-visual{padding:38px clamp(24px,3vw,54px);border-right:1px solid #e4eae5;position:relative}.login-visual .section-title{margin-top:26px}.login-visual img{width:72%;height:clamp(340px,47vh,520px);object-fit:cover;object-position:50% 55%;border:1px solid #d4ddd6;border-radius:5px}.login-caption{position:absolute;right:5%;top:35%;width:18%;text-align:center;color:#315b40;line-height:1.9}.reticle{width:100%;aspect-ratio:1;border:2px solid var(--green);border-radius:50%;position:relative;background:linear-gradient(to right,transparent 49%,#2d7a48 49%,#2d7a48 51%,transparent 51%),linear-gradient(to bottom,transparent 49%,#2d7a48 49%,#2d7a48 51%,transparent 51%)}.reticle span{position:absolute;inset:25%;border:1px solid #7fac86;border-radius:50%}.login-form{padding:38px clamp(24px,3.1vw,58px);max-width:750px}.login-form form{margin-top:24px}.login-form .section-title{margin-top:20px}.login-form .form-field{margin:14px 0}.start-button{width:100%;font-size:18px;height:52px;margin-top:20px}.history-box{margin-top:22px;border-top:1px solid var(--line);padding-top:15px}.history-box .section-title{font-size:16px}.history-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e2e9e4;font-size:14px}.history-row small{display:block;color:var(--muted);margin-top:2px}.intro-page{padding:14px 26px 20px;min-height:calc(100vh - 72px);display:flex;flex-direction:column}.intro-top{display:grid;grid-template-columns:250px 1fr;align-items:center;gap:18px;padding-bottom:13px;border-bottom:2px solid var(--green)}.intro-top h1{font-size:30px;margin:0}.intro-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.intro-steps button{border:1px solid #d0d9d2;background:#ecf0ed;font-size:18px;font-weight:700;min-height:50px;color:#33453d}.intro-steps button.active{background:var(--green);color:#fff}.intro-steps button.done{background:#dcefe0;color:#205c35}.intro-steps b,.stage-track b{display:inline-grid;place-items:center;width:27px;height:27px;background:#fff;color:var(--green);border-radius:50%;margin-right:10px}.intro-heading{display:flex;align-items:center;gap:28px;padding:15px 4px}.intro-heading strong{font-size:24px;color:#1d3131}.intro-heading span{border-left:1px solid var(--line);padding-left:25px;color:#465a50}.intro-content{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:18px;flex:1;min-height:0}.intro-canvas,.intro-notebook{border:1px solid var(--line);background:#fff;border-radius:5px;padding:14px;min-width:0}.intro-canvas{display:flex;flex-direction:column}.intro-canvas>.notice{margin:0 0 12px}.parts-photo{position:relative;flex:1;min-height:400px;overflow:hidden;background:#f1f4f1}.parts-photo img{height:100%;width:100%;object-fit:cover;object-position:center}.hotspot{position:absolute;transform:translate(-50%,-50%);width:29px;height:29px;border-radius:50%;border:2px solid white;background:var(--green);color:#fff;font-size:12px;font-weight:700;box-shadow:0 0 0 3px #51a56888}.hotspot.selected{background:#e4a41f;box-shadow:0 0 0 5px #f8da80aa}.hotspot span{position:absolute;left:50%;top:-31px;transform:translate(-50%);white-space:nowrap;background:#f7fff7;border:1px solid var(--green);color:#174e2f;padding:2px 7px;border-radius:4px}.intro-notebook{padding:18px}.intro-notebook h3{background:var(--mint);padding:9px 10px;margin:10px 0;color:#154d2c}.intro-notebook p{font-size:15px;line-height:1.75;color:#344a40}.intro-notebook .section-title{font-size:16px;margin-top:22px;background:var(--mint-2)}.intro-footer{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--green);margin-top:14px;padding-top:12px}.intro-footer .button{min-width:115px}.module-flow,.evidence-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;min-height:250px}.evidence-flow{grid-template-columns:repeat(4,1fr);min-height:180px}.module-flow button,.evidence-flow button{border:1px solid #a6cbb0;background:#f3fbf3;color:#204e31;border-radius:5px;padding:13px;display:flex;flex-direction:column;text-align:left;gap:12px}.module-flow button.selected,.evidence-flow button.selected{border-color:var(--green);background:#e2f3e4}.module-flow b,.evidence-flow b{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff}.module-flow strong,.evidence-flow strong{font-size:17px}.module-flow small{line-height:1.5}.intro-samples{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px;flex:1;min-height:0}.intro-samples figure{margin:0;min-height:180px;overflow:hidden;background:#e8ece8;position:relative}.intro-samples img{width:100%;height:100%;object-fit:cover}.intro-samples figcaption{position:absolute;bottom:8px;left:8px;background:#fff;padding:3px 7px;font-size:12px}.timeline{display:flex;align-items:center;justify-content:space-around;border-top:2px solid var(--green);margin:45px 10px 35px;padding-top:10px;color:#315b40}.timeline span:before{content:"";display:block;width:13px;height:13px;border:2px solid var(--green);background:#fff;border-radius:50%;margin:-19px auto 7px}.prep-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(360px,1fr);gap:16px}.prep-grid .panel{min-height:550px}.device-list{margin-top:22px}.device-row{display:grid;grid-template-columns:44px 150px minmax(120px,1fr) auto auto;gap:11px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:5px;margin-bottom:9px}.device-row strong{font-size:16px}.device-row>span:nth-of-type(1){color:#4b5d52;font-size:14px}.device-icon{display:grid;place-items:center;background:var(--mint);width:42px;height:42px;border-radius:5px;font-size:26px;color:var(--green)}.disclosure{width:100%;background:#fff;border:1px solid var(--line);padding:11px;text-align:left;margin-top:15px;font-weight:700}.disclosure span{float:right;color:var(--muted);font-weight:400}.diagnostic{background:#f7faf7;border:1px solid var(--line);padding:8px 14px;color:#53665a;font-size:13px}.calibration-row{display:grid;grid-template-columns:minmax(120px,1fr) auto auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:5px;padding:15px;margin:12px 0}.calibration-row small{display:block;color:var(--muted);margin-top:4px}.scenario-control{border-top:1px solid var(--line);margin-top:25px;padding-top:17px;display:grid;gap:8px}.scenario-control select{padding:8px}.scenario-control small{color:var(--muted)}.prep-side{display:flex;flex-direction:column}.prep-actions{margin-top:auto;display:flex;gap:10px;border-top:1px solid var(--line);padding-top:18px}.prep-actions .button{flex:1;min-height:44px}.workspace-page{padding:0 12px 16px}.workspace-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;border-bottom:1px solid var(--line);font-size:13px}.workspace-toolbar>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.workspace-toolbar b{font-size:17px;color:#174f30}.toolbar-actions .button{font-size:12px;min-height:30px;padding:3px 8px}.workspace-progress{display:flex;align-items:center;gap:16px;padding:10px 6px}.workspace-progress label{display:flex;align-items:center;gap:6px;white-space:nowrap;font-weight:700;color:#244637}.workspace-progress select{min-width:195px;padding:6px}.stage-track{display:flex;align-items:center;flex:1;justify-content:space-between;gap:6px}.stage-track button{background:none;border:0;color:#68786e;display:flex;align-items:center;font-size:12px;padding:4px 2px;min-width:0}.stage-track button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-track button b{margin-right:5px;border:1px solid var(--line);color:#607366;font-size:12px;width:23px;height:23px;flex:none}.stage-track button.active{color:var(--green);font-weight:800}.stage-track button.active b,.stage-track button.done b{background:var(--green);border-color:var(--green);color:#fff}.workspace-grid{display:grid;grid-template-columns:minmax(0,2.28fr) minmax(310px,.92fr);gap:12px}.work-main,.work-side{min-width:0}.twin-shell{border:1px solid var(--line);background:#fff;border-radius:5px;overflow:hidden}.twin-canvas{height:clamp(275px,38vh,470px);position:relative;overflow:hidden;background:#67615f}.twin-canvas>img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s}.twin-label{position:absolute;top:12px;left:12px;color:#fff;font-size:16px;font-weight:700;text-shadow:0 1px 3px #333;display:flex;align-items:center;gap:8px}.twin-command{position:absolute;top:49px;left:12px;background:#124c2ca8;color:#fff;padding:5px 9px;border:1px solid #9cdeb0;font-size:11px}.twin-marker{position:absolute;width:24px;height:24px;border:2px solid white;border-radius:50%;background:#20b95399;box-shadow:0 0 0 5px #16ad5477;transform:translate(-50%,-50%)}.twin-marker span{position:absolute;inset:7px;background:#fff;border-radius:50%}.twin-unavailable{position:absolute;inset:0;background:#131d17b8;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-size:18px}.twin-unavailable small{font-size:13px;margin-top:6px}.twin-controls{display:flex;align-items:center;gap:7px;min-height:40px;padding:5px 8px}.twin-controls label{display:flex;align-items:center;gap:5px;font-size:12px}.twin-controls select{padding:5px}.twin-controls .button{min-height:27px;font-size:12px;padding:3px 9px}.twin-controls small{margin-left:auto;color:var(--muted);font-size:10px}.highlight-strip{display:flex;align-items:center;gap:6px;padding:8px 6px;font-size:12px;overflow:auto}.highlight-strip b{white-space:nowrap;color:#24523a}.highlight-strip .button{font-size:11px;min-height:27px;padding:3px 7px}.highlight-strip small{margin-left:auto;white-space:nowrap;color:var(--muted)}.observation-strip{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(210px,.9fr) minmax(300px,1.35fr);border:1px solid var(--line);border-radius:5px;background:#fff;min-width:0}.observation-strip>section{min-width:0;padding:9px;border-right:1px solid var(--line)}.observation-strip>section:last-child{border-right:0}.panel-mini-head{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-bottom:6px}.panel-mini-head strong{font-size:13px}.panel-mini-head .status{font-size:10px;padding:2px 4px}.eyepiece-body{display:flex;gap:8px}.eyepiece-frame{position:relative;overflow:hidden;flex:1;min-width:0;height:130px;background:#030906}.eyepiece-frame img{width:100%;height:100%;object-fit:cover}.frame-offset img{transform:translate(8px,-5px) scale(1.05)}.frame-near img{filter:contrast(1.15)}.frame-unrecognized img{filter:blur(6px) brightness(.7)}.vision-box{position:absolute;border:2px solid #00bb64;color:#063a20;font-size:8px;background:#ddffe9a8;padding:1px}.vision-cross{top:12%;left:33%}.vision-reticle{bottom:15%;left:30%;border-color:#f056cd}.eyepiece-controls{width:110px;display:flex;flex-direction:column;gap:5px;font-size:11px}.eyepiece-controls label{display:grid;gap:3px}.eyepiece-controls select{width:100%;padding:4px;font-size:10px}.check-row{display:flex!important;align-items:center;gap:2px!important}.check-row input{margin:0}.eyepiece-controls .button{min-height:25px;font-size:10px;padding:3px}.eye-modal .eyepiece-frame{height:min(65vh,600px)}.eye-modal p{font-size:13px;color:var(--muted)}.level-body{display:flex;gap:9px}.level-svg{width:115px;height:115px;flex:none}.level-readout{min-width:0;font-size:11px;flex:1}.level-readout p{margin:7px 0}.level-readout small{display:block;color:var(--muted)}.level-readout .button{font-size:10px;padding:2px}.level-details{border-top:1px solid var(--line);margin-top:6px;padding:6px;font-size:11px}.level-details label{display:flex;align-items:center;gap:5px}.level-details input{flex:1;width:70px}.level-details small{color:var(--muted)}.measurement-panel .panel-mini-head{margin-bottom:6px}.measurement-toolbar{display:flex;gap:4px;overflow:auto;margin-bottom:6px}.measurement-toolbar .button{font-size:10px;padding:2px 5px;min-height:25px}.measurement-panel table{font-size:10px}.measurement-panel th,.measurement-panel td{padding:4px}.measurement-panel td input{min-width:65px;font-size:10px;padding:3px}.row-actions{white-space:nowrap}.row-actions .button{font-size:9px;min-height:23px;padding:2px 4px;margin-right:2px}.formula-summary{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);margin-top:7px;padding-top:6px;font-size:11px}.formula-summary div{display:grid;gap:2px}.formula-summary b{color:#195535}.formula-summary small{color:var(--muted)}.formula-summary .button{margin-left:auto;font-size:10px;min-height:24px;padding:2px 5px}.formula-details{font-size:11px;line-height:1.5}.spectrum-choice{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:6px;font-size:10px}.spectrum-choice select{font-size:10px;max-width:110px}.spectrum-choice small{color:var(--muted)}.notebook{padding:12px}.notebook .section-title{font-size:17px;margin-bottom:7px}.notebook-block{border-top:1px solid var(--line);padding:6px 2px;font-size:12px}.notebook-block h3{margin:0 0 4px;background:var(--mint-2);color:#174e2f;padding:5px;font-size:13px}.notebook-block p{margin:3px 2px;line-height:1.5}.notebook-block small{display:block;color:var(--muted);margin:3px}.notebook-block .button{font-size:11px;min-height:27px;margin-top:5px}.notebook-block textarea{width:100%;height:52px;padding:5px;font-size:12px;resize:vertical}.notebook-details{font-size:11px;border-top:1px solid var(--line);padding:7px}.notebook-details summary{cursor:pointer;color:#215c39}.notebook-details ul{padding-left:16px;max-height:120px;overflow:auto}.ai-panel{border:1px solid #b1d3b9;border-radius:5px;margin-top:9px;background:#f8fcf8}.ai-heading{display:flex;align-items:center;gap:7px;width:100%;background:var(--mint-2);border:0;padding:9px;color:#183b27;text-align:left}.ai-heading>span:last-child{margin-left:auto}.ai-symbol{font-size:20px;color:var(--green)}.ai-body{padding:8px}.ai-boundary{font-size:11px;color:var(--muted);margin:0 0 6px}.chat-log{max-height:175px;overflow:auto;font-size:11px}.chat-message{padding:5px 7px;margin:4px 0;border:1px solid #d5e6d8;background:#fff}.chat-user{margin-left:20px;background:#edf7ee}.chat-message p{margin:2px}.chat-message small{color:var(--green)}.suggestions{display:flex;gap:4px;flex-wrap:wrap;margin:6px 0}.suggestions .button{font-size:10px;min-height:25px;padding:2px 5px}.chat-form{display:flex;gap:4px}.chat-form input{min-width:0;flex:1;padding:6px;font-size:11px}.chat-form .button{font-size:11px}.ai-body>.button{font-size:10px}.assessment-summary{border:1px solid var(--line);padding:9px;margin-top:9px;background:#fff;font-size:11px}.assessment-summary .status{float:right}.assessment-summary p{margin:6px 0}.assessment-summary small{color:var(--muted)}.workspace-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);background:#fff;margin-top:8px;padding:7px 3px;position:sticky;bottom:0;z-index:15}.workspace-footer>div{display:flex;align-items:center;gap:10px;font-size:12px}.workspace-footer .button{font-size:11px;min-height:30px}.report-meta{display:flex;align-items:center;gap:22px;border:1px solid var(--line);background:#fff;padding:10px 15px;margin-bottom:12px;font-size:13px;flex-wrap:wrap}.report-meta span b{color:var(--green);margin-right:8px}.report-progress{padding:12px 16px;margin-bottom:12px}.report-progress .section-title{font-size:16px}.report-progress .stage-track button{font-size:14px}.report-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,1fr);gap:14px}.report-grid .panel{margin-bottom:12px}.report-grid .formula-summary{font-size:14px;padding:12px}.result-list{background:var(--mint-2);padding:5px 12px;margin-top:10px;font-size:13px}.report-timeline{display:block;border-top:0;margin:0;padding:0}.report-timeline div{padding:8px 10px;border-left:2px solid var(--green);border-bottom:1px solid #e6ece8;font-size:13px}.evaluation-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 2px;font-size:14px}.report-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.report-actions .button{min-height:42px}@media(max-width:1200px){.brand strong{font-size:18px}.global-header{gap:10px}.global-header nav button{padding:8px}.header-student{display:none}.intro-top{grid-template-columns:200px 1fr}.workspace-grid{grid-template-columns:minmax(0,1.9fr) minmax(290px,1fr)}.twin-canvas{height:310px}.observation-strip{grid-template-columns:minmax(150px,.8fr) minmax(180px,.9fr) minmax(240px,1.3fr)}.device-row{grid-template-columns:38px 110px minmax(100px,1fr) auto}.device-row>.button{grid-column:4}}@media(max-width:850px){.global-header{height:auto;min-height:64px;flex-wrap:wrap;padding:10px 14px}.menu-toggle{display:block;margin-left:auto}.global-header nav{display:none;order:3;width:100%;flex-wrap:wrap}.global-header nav.open{display:flex}.header-right{margin-left:0}.login-layout,.prep-grid,.report-grid,.intro-content,.workspace-grid{grid-template-columns:1fr}.login-visual img{height:300px}.login-caption{top:45%}.intro-top{grid-template-columns:1fr}.intro-steps button{font-size:14px}.intro-content{min-height:700px}.workspace-progress{display:block}.workspace-progress .stage-track{margin-top:8px}.work-side{margin-top:10px}.twin-canvas{height:330px}.observation-strip{grid-template-columns:1fr 1fr}.measurement-panel{grid-column:1/-1}.workspace-footer{position:static;flex-wrap:wrap}.device-row{grid-template-columns:38px 125px 1fr auto auto}}@media(max-width:600px){.intro-page{padding:10px}.intro-heading{display:block}.intro-heading span{display:block;border:0;padding:5px 0}.module-flow,.evidence-flow{grid-template-columns:repeat(2,1fr)}.intro-samples{grid-template-columns:1fr}.parts-photo{min-height:300px}.device-row{grid-template-columns:38px 1fr auto}.device-row>span:nth-of-type(1){grid-column:2/-1}.device-row>.button{grid-column:2/-1}.calibration-row{grid-template-columns:1fr auto}.calibration-row .button{grid-column:1/-1}.observation-strip{grid-template-columns:1fr}.measurement-panel{grid-column:auto}.stage-track button span{display:none}}@media print{.global-header,.workspace-footer,.report-actions,.toast{display:none!important}.page{min-height:0}.report-page{padding:0;color:#000}.report-grid{display:block}.panel{break-inside:avoid;border-color:#777}.report-meta{border:0}}.ai-mode{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:4px 0 6px;font-size:11px}.ai-mode select{padding:3px;font-size:11px}.ai-mode .button{font-size:10px;min-height:24px;padding:2px 4px}.work-side:has(.ai-open) .notebook{max-height:470px;overflow:auto}.parts-photo{height:clamp(400px,calc(100vh - 365px),720px);flex:0 0 auto}.intro-samples{height:clamp(260px,calc(100vh - 650px),420px);flex:0 0 auto}.evidence-lead{font-size:15px;line-height:1.5;margin:0 0 12px;color:#364c40}.evidence-flow{display:block;min-height:0;border:1px solid var(--line);border-radius:5px;padding:15px;flex:1}.evidence-flow h3{display:inline-block;margin:0 0 14px;background:#31565d;color:#fff;padding:7px 11px;font-size:16px;border-radius:3px}.evidence-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.evidence-cards button{min-height:250px;border:1px solid #a6cbb0;background:#f3fbf3;color:#204e31;border-radius:5px;padding:13px;display:flex;flex-direction:column;text-align:left;gap:12px}.evidence-cards button.selected{border-color:var(--green);background:#e2f3e4}.evidence-cards button small{font-size:13px;line-height:1.5;color:#344a40}.evidence-flow .timeline{margin:45px 10px 25px}.evidence-guide ul{list-style:none;margin:0;padding:0}.evidence-guide li{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #e5ece6;font-size:13px;line-height:1.4}.evidence-guide li span{white-space:nowrap;align-self:center;background:#edf1ee;border-radius:3px;padding:3px 5px;color:#62706d;font-size:11px}@media(max-width:850px){.evidence-cards{grid-template-columns:repeat(2,1fr)}.evidence-cards button{min-height:160px}}.twin-shell:fullscreen{display:flex;flex-direction:column;background:#26302a;width:100vw;height:100vh}.twin-shell:fullscreen .twin-canvas{flex:none;height:calc(100vh - 42px);min-height:0}.twin-shell:fullscreen .twin-canvas img{object-fit:contain}.twin-shell:fullscreen .twin-controls{background:#fff;flex:none}.buddy-demo-page{min-height:100vh;background:#f4f7f3;color:#173b2b;font-family:PingFang SC,Microsoft YaHei,sans-serif}.buddy-demo-header{height:68px;background:#174f31;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 3vw}.buddy-demo-header>div{display:flex;align-items:center;gap:12px}.buddy-demo-header span{font-size:27px;color:#e8b953}.buddy-demo-header strong{font-size:20px}.buddy-demo-header em{font-size:12px;font-style:normal;background:#e4f2df;color:#276039;padding:5px 9px;border-radius:4px}.buddy-demo-header a{font-size:13px;text-decoration:none}.buddy-demo-main{max-width:1650px;margin:auto;padding:28px 28px 45px}.buddy-demo-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}.buddy-demo-intro small,.buddy-card>small{color:#b58b30;font-weight:800;letter-spacing:.16em;font-size:11px}.buddy-demo-intro h1{font-size:36px;margin:4px 0 6px;color:#145431}.buddy-demo-intro p{margin:0;color:#5d7064}.buddy-mode-switch{display:flex;gap:8px}.buddy-mode-switch button,.buddy-mood-grid button,.buddy-scene{border:1px solid #b7d0bb;background:#fff;color:#245838;border-radius:5px;padding:10px 14px;font-weight:700}.buddy-mode-switch button.selected,.buddy-mood-grid button.active{background:#1b6038;color:#fff}.buddy-demo-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px}.buddy-stage{position:relative;height:min(68vw,680px);min-height:520px;overflow:hidden;background:#6e6c69;border:1px solid #bec9bd;border-radius:7px;isolation:isolate}.buddy-stage-title{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;justify-content:space-between;gap:12px;background:linear-gradient(#143527e8,#14352755);color:#fff;padding:15px 18px;font-size:13px}.buddy-stage-title b{font-size:15px}.buddy-twin{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.buddy-target{position:absolute;z-index:2;border:1px solid #fff9;background:#174f31d9;color:#fff;border-radius:50px;padding:5px 10px;font-size:12px;box-shadow:0 0 0 4px #baf3bb40}.buddy-target:hover{background:#eabb5a;color:#183b2b}.target-telescope{left:47%;top:22%}.target-table{left:31%;top:61%}.target-prism{left:53%;top:44%}.target-measure{left:75%;top:68%}.buddy-position{position:absolute;z-index:5;width:min(180px,28%);height:min(180px,28vw);transition:left .7s cubic-bezier(.2,.8,.2,1),top .7s cubic-bezier(.2,.8,.2,1)}.buddy-character{border:0;background:none;padding:0;width:100%;height:100%;position:relative;filter:drop-shadow(0 13px 13px #132d2370);animation:buddy-float 3.4s ease-in-out infinite;transition:transform .35s}.buddy-character img{width:100%;height:100%;object-fit:contain}.buddy-character:hover{transform:scale(1.08)}.buddy-blink{position:absolute;left:37%;top:40%;width:28%;height:3%;border-radius:50%;background:#513e31;transform:scaleY(0);animation:buddy-blink 5.4s infinite}.buddy-greeting{animation:buddy-wave .5s ease-in-out 3,buddy-float 3.4s 1.5s infinite}.buddy-thinking{animation:buddy-think 1.6s ease-in-out infinite}.buddy-talking{animation:buddy-talk .42s ease-in-out infinite alternate}.buddy-pointing{animation:buddy-point .8s ease-in-out infinite alternate}.buddy-happy{animation:buddy-hop .55s ease-in-out 4,buddy-float 3.4s 2.2s infinite}.buddy-thought,.buddy-stars{position:absolute;right:1%;top:4%;font-size:24px;color:#ffdd81;animation:buddy-pop 1s ease-in-out infinite alternate}.buddy-bubble{position:absolute;z-index:6;left:18px;top:72px;width:min(440px,calc(100% - 36px));background:#fffdf7;border:1px solid #c4dcc8;border-left:5px solid #2b8550;border-radius:8px;padding:13px 15px;box-shadow:0 10px 35px #102a2333}.buddy-bubble small{color:#267046;font-weight:800}.buddy-bubble p{font-size:16px;font-weight:700;line-height:1.55;margin:7px 0}.buddy-bubble button{background:#e6f3e8;border:0;color:#185d34;border-radius:4px;padding:6px 9px;font-weight:700;cursor:pointer}.buddy-why{border-top:1px solid #dce8dc;margin-top:9px;padding-top:9px;font-size:13px;line-height:1.6;color:#41574a}.buddy-typed{animation:buddy-appear .5s ease-out both}.buddy-controls{display:grid;gap:14px;align-content:start}.buddy-card,.buddy-note{background:#fff;border:1px solid #d1dbd1;border-radius:6px;padding:18px}.buddy-card h2{margin:5px 0;color:#194e31;font-size:21px}.buddy-card p,.buddy-note p{font-size:13px;line-height:1.6;color:#6b796c;margin:5px 0 13px}.buddy-scene{display:flex;width:100%;align-items:center;gap:10px;text-align:left;margin-top:7px;font-size:13px}.buddy-scene span:first-child{color:#a4ae9d}.buddy-scene span:last-child{margin-left:auto}.buddy-scene.active{background:#e9f5e9;border-color:#5b9c6d}.buddy-mood-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.buddy-mood-grid button{padding:8px 3px;font-size:12px}.buddy-note{background:#fff8e8;border-color:#ead9b2}.buddy-note b{color:#875e15}.buddy-note p{margin-bottom:0}.buddy-chat{position:absolute;z-index:8;right:12px;top:72px;width:min(355px,calc(100% - 24px));height:min(550px,calc(100% - 86px));background:#fbfdfb;border:1px solid #b5cfb9;border-radius:8px;box-shadow:0 16px 55px #102a2370;display:flex;flex-direction:column;overflow:hidden}.buddy-chat header{display:flex;gap:9px;align-items:center;background:#1b6038;color:#fff;padding:8px 11px}.buddy-chat header img{width:42px;height:42px;object-fit:contain;background:#fff;border-radius:50%}.buddy-chat header div{display:grid;gap:2px}.buddy-chat header small{font-size:10px;color:#d7e9d5}.buddy-chat header button{margin-left:auto;border:0;background:none;color:#fff;font-size:27px}.buddy-messages{flex:1;overflow:auto;padding:12px}.buddy-msg{font-size:12px;line-height:1.55;padding:9px 11px;margin-bottom:9px;border-radius:8px;max-width:90%;background:#e8f2e7}.buddy-msg-student{background:#d1e9d7;margin-left:auto}.buddy-suggestions{display:flex;gap:5px;overflow:auto;padding:7px 10px;flex-shrink:0}.buddy-suggestions button{white-space:nowrap;border:1px solid #bed7c2;background:#fff;color:#28623b;border-radius:14px;font-size:10px;padding:5px 8px}.buddy-chat form{display:flex;gap:5px;padding:10px;border-top:1px solid #d5e3d7}.buddy-chat input{min-width:0;flex:1;padding:8px;border:1px solid #b9cdbd;border-radius:4px;font-size:12px}.buddy-chat form button{border:0;background:#1b6038;color:#fff;padding:0 12px;border-radius:4px}.buddy-chat form button:disabled{opacity:.45}@keyframes buddy-float{0%,to{translate:0 0;scale:1}50%{translate:0 -9px;scale:1.02}}@keyframes buddy-blink{0%,44%,48%,to{transform:scaleY(0)}46%{transform:scaleY(1)}}@keyframes buddy-wave{0%,to{transform:rotate(0)}50%{transform:rotate(-9deg) translateY(-8px)}}@keyframes buddy-think{0%,to{transform:rotate(-3deg)}50%{transform:rotate(4deg) translateY(-5px)}}@keyframes buddy-talk{0%{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-5px) rotate(3deg)}}@keyframes buddy-point{0%{transform:rotate(-3deg)}to{transform:rotate(3deg) translate(-5px)}}@keyframes buddy-hop{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-21px) scale(1.06)}}@keyframes buddy-pop{0%{opacity:.5;transform:translateY(2px)}to{opacity:1;transform:translateY(-5px)}}@keyframes buddy-appear{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media(max-width:1050px){.buddy-demo-grid{grid-template-columns:1fr}.buddy-controls{grid-template-columns:1fr 1fr}.buddy-note{grid-column:1/-1}}@media(max-width:650px){.buddy-demo-header{padding:0 14px}.buddy-demo-header strong{font-size:15px}.buddy-demo-header em{display:none}.buddy-demo-main{padding:16px 12px}.buddy-demo-intro{display:block}.buddy-demo-intro h1{font-size:27px}.buddy-mode-switch{margin-top:15px}.buddy-mode-switch button{flex:1;font-size:12px}.buddy-stage{min-height:480px;height:75vh}.buddy-controls{grid-template-columns:1fr}.buddy-note{grid-column:auto}.buddy-position{width:135px;height:135px}.buddy-bubble{bottom:8px;left:8px;width:calc(100% - 16px)}.buddy-chat{top:65px;height:calc(100% - 75px)}}@media(prefers-reduced-motion:reduce){.buddy-character,.buddy-blink,.buddy-thought,.buddy-stars,.buddy-typed{animation:none!important}.buddy-position{transition:none}}.buddy-rig-button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;filter:drop-shadow(0 11px 8px #10291d75);cursor:pointer}.buddy-rig-button svg{display:block;width:100%;height:100%;overflow:visible}.buddy-rig-button:hover{filter:drop-shadow(0 11px 9px #10291d95)}.buddy-position{overflow:visible}.buddy-position .buddy-bubble{position:absolute;top:-30px;bottom:auto;left:auto;right:calc(100% + 9px);width:min(285px,38vw);max-height:275px;overflow:auto;border:1px solid #c3dac8;border-radius:20px 20px 7px;padding:12px 14px;box-shadow:0 9px 24px #102a2340;animation:buddy-pop-in .35s cubic-bezier(.18,.8,.25,1.25) both}.buddy-position .buddy-bubble:after{content:"";position:absolute;top:62px;right:-10px;width:18px;height:18px;transform:rotate(45deg);background:#fffdf7;border-top:1px solid #c3dac8;border-right:1px solid #c3dac8}.buddy-position .buddy-bubble-right{left:calc(100% + 9px);right:auto;border-radius:20px 20px 20px 7px}.buddy-position .buddy-bubble-right:after{right:auto;left:-10px;transform:rotate(225deg)}.buddy-position .buddy-bubble p{font-size:13px}.buddy-position .buddy-bubble .buddy-why{max-height:110px;overflow:auto}.buddy-combos{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}.buddy-combos button{border:1px solid #b7d0bb;background:#f7fbf7;color:#245838;border-radius:5px;padding:7px 4px;font-size:11px;cursor:pointer}@keyframes buddy-pop-in{0%{opacity:0;scale:.65}to{opacity:1;scale:1}}@media(max-width:650px){.buddy-position .buddy-bubble{width:min(220px,48vw);top:0;font-size:11px}.buddy-position .buddy-bubble p{font-size:12px}}.buddy-position .buddy-bubble{overflow:visible}.buddy-speech{position:absolute;z-index:7;top:-30px;width:250px;min-height:132px;color:#264837;filter:drop-shadow(0 10px 18px #173a2b37);transform-origin:90% 85%;transition:opacity .25s ease,transform .45s cubic-bezier(.18,.9,.25,1.2);isolation:isolate}.buddy-speech-left{right:calc(100% - 4px)}.buddy-speech-right{left:calc(100% - 4px);transform-origin:10% 85%}.buddy-speech.is-visible{opacity:1;transform:translateY(0) scale(1)}.buddy-speech.is-leaving{opacity:0;transform:translateY(12px) scale(.78);pointer-events:none}.buddy-speech-shape{position:absolute;inset:-10px -14px -14px;width:calc(100% + 28px);height:calc(100% + 24px);overflow:visible;z-index:-1}.buddy-speech-shape path{fill:#fffdf4;stroke:#d2dfc5;stroke-width:2.5;stroke-linejoin:round}.buddy-speech-right .buddy-speech-shape{transform:scaleX(-1)}.buddy-speech-content{padding:20px 24px 18px}.buddy-speech-content small{display:block;color:#668a62;font-size:10px;font-weight:800;letter-spacing:.1em}.buddy-speech-content p{font-size:15px;font-weight:750;line-height:1.5;margin:8px 0 9px;min-height:43px}.buddy-speech-content button{border:0;background:none;color:#286e4d;padding:3px 0;font-size:12px;font-weight:700;cursor:pointer}.buddy-speech-content button:hover{text-decoration:underline}.buddy-typed{animation:buddy-speech-type .65s steps(18,end) both;overflow:hidden}@keyframes buddy-speech-type{0%{clip-path:inset(0 100% 0 0);opacity:.3}to{clip-path:inset(0 0 0 0);opacity:1}}.buddy-knowledge{position:absolute;z-index:8;bottom:18px;left:18px;width:min(360px,calc(100% - 36px));padding:18px 20px;background:#fffef7ec;color:#264735;border:1px solid #d0dfc7;border-radius:22px 24px 19px 23px;box-shadow:0 13px 35px #17372b39;animation:buddy-knowledge-in .38s ease both}.buddy-knowledge small{color:#a27b32;font-size:10px;font-weight:800;letter-spacing:.1em}.buddy-knowledge p{font-size:14px;line-height:1.6;margin:9px 0 0}.buddy-knowledge>button{float:right;border:0;background:#e9f2e5;border-radius:50%;width:24px;height:24px;color:#315d40;cursor:pointer}@keyframes buddy-knowledge-in{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:none}}.buddy-skeleton-overlay{stroke:#d99638;stroke-width:5;fill:none}.buddy-skeleton-overlay circle{fill:#f5b54e;stroke:#703b27;stroke-width:3}.buddy-skeleton-overlay text{fill:#fffdf4;stroke:#163c2a;stroke-width:3;paint-order:stroke;font-size:24px;font-weight:800}.buddy-skeleton-overlay .buddy-center-marker{fill:#f04566;stroke:#fff;stroke-width:4}.buddy-debug-lab{margin-top:18px;padding:22px;background:#173a2d;color:#f7f6e9;border-radius:13px}.buddy-debug-head{display:flex;align-items:center;justify-content:space-between}.buddy-debug-head small{font-size:10px;letter-spacing:.14em;color:#dfbb69}.buddy-debug-head h2{margin:4px 0 0}.buddy-debug-tools{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px}.buddy-debug-tools label{display:flex;align-items:center;gap:7px;font-size:12px}.buddy-debug-tools select,.buddy-debug-tools button{border:1px solid #84a790;background:#f5f8f0;color:#234c35;border-radius:6px;padding:7px 9px}.buddy-debug-tools input[type=range]{width:120px}.buddy-debug-data{display:grid;gap:7px;margin-top:14px;color:#c7dccb;font-size:11px;line-height:1.6}.buddy-preview-matrix{margin-top:20px;max-height:620px;overflow:auto}.buddy-preview-labels,.buddy-preview-row{display:grid;grid-template-columns:120px repeat(3,minmax(0,1fr));align-items:center;gap:7px;border-bottom:1px solid #fff2}.buddy-preview-labels{font-size:11px;color:#dfbb69;padding:8px 0}.buddy-preview-row>button{background:none;color:#f5f6ed;border:0;text-align:left;cursor:pointer;font-size:12px}.buddy-preview-thumb{height:78px;overflow:hidden;display:flex;justify-content:center;align-items:center}.buddy-preview-thumb .buddy-rig-button{height:78px;width:85px;filter:none;cursor:pointer}@media(max-width:650px){.buddy-speech{width:205px;top:-18px}.buddy-speech-left{right:calc(100% - 4px)}.buddy-speech-right{left:calc(100% - 4px)}.buddy-speech-content{padding:15px 17px 14px}.buddy-speech-content p{font-size:12px;min-height:34px}.buddy-speech-content button{font-size:10px}.buddy-knowledge{bottom:10px;left:10px;width:calc(100% - 20px)}.buddy-preview-labels,.buddy-preview-row{grid-template-columns:75px repeat(3,minmax(0,1fr))}.buddy-preview-thumb .buddy-rig-button{width:65px;height:65px}}@media(prefers-reduced-motion:reduce){.buddy-speech,.buddy-typed,.buddy-knowledge{animation:none;transition:none}}.buddy-global{position:fixed;inset:0;pointer-events:none;z-index:35}.buddy-global-position{position:fixed;width:145px;height:145px;pointer-events:auto;transition:left .65s cubic-bezier(.2,.8,.2,1),top .65s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 10px 10px #17362639)}.buddy-global-position .buddy-rig-button{transition:transform .22s ease}.buddy-global-position .buddy-rig-button:hover{transform:translateY(-5px) scale(1.06)}.buddy-global-position .buddy-speech{top:-20px}.buddy-global-position .buddy-speech-left{right:calc(100% - 12px)}.buddy-global-position .buddy-speech-right{left:calc(100% - 12px)}.buddy-global-workspace .buddy-global-position{width:98px;height:98px}.buddy-global-workspace .buddy-speech{width:220px;min-height:120px}.buddy-global-workspace .buddy-speech-content{padding:17px 20px 15px}.buddy-global-workspace .buddy-speech-content p{font-size:13px;min-height:34px}.buddy-global-preparation .buddy-global-chat{left:178px;right:auto;bottom:20px}.buddy-global-chat{pointer-events:auto;position:fixed;right:178px;bottom:90px;width:min(390px,calc(100vw - 205px));max-height:min(590px,calc(100vh - 100px));display:flex;flex-direction:column;overflow:hidden;background:#fbfdf8;border:1px solid #b8d2bb;border-radius:16px;box-shadow:0 20px 55px #17372744;color:#244835}.buddy-global-workspace .buddy-global-chat{bottom:76px}.buddy-global-chat-head{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;background:#e6f3e7}.buddy-global-chat-head>div{display:flex;align-items:center;gap:8px}.buddy-global-chat-head strong{font-size:15px}.buddy-global-chat-head button{font-size:24px;line-height:1;border:0;background:transparent;color:#27533b;cursor:pointer}.buddy-global-chat .ai-body{min-height:0;overflow:auto;padding:12px}.buddy-global-chat .chat-log{max-height:250px;min-height:115px}.buddy-global-chat .chat-message{border-radius:10px;padding:8px 10px;font-size:12px}.buddy-global-chat .chat-form input{font-size:13px}.buddy-global-chat .suggestions .button{font-size:11px}.buddy-guide-toggle{display:flex!important;align-items:center;gap:7px;white-space:nowrap;background:#e7f4e8;border:1px solid #a5c7aa;border-radius:20px;padding:5px 10px;color:#1a5634!important;font-size:12px;cursor:pointer}.buddy-guide-toggle input{accent-color:#1b7242;cursor:pointer}.buddy-guidance-target{outline:3px solid #e3ae48!important;outline-offset:3px;box-shadow:0 0 0 7px #f5cb7655!important;transition:outline .25s,box-shadow .25s}@media(max-width:700px){.buddy-global-position{width:112px;height:112px}.buddy-global-chat,.buddy-global-workspace .buddy-global-chat{right:12px;bottom:140px;width:calc(100vw - 24px);max-height:calc(100vh - 205px)}.buddy-global-position .buddy-speech{top:-35px;width:min(205px,55vw)}.buddy-global-position .buddy-speech-left{right:calc(100% - 8px)}.buddy-global-position .buddy-speech-right{left:calc(100% - 8px)}.buddy-global-chat-head strong{font-size:13px}.buddy-guide-toggle{margin-top:8px}}@media(max-width:760px){.buddy-global-workspace .buddy-global-position{width:84px;height:84px}}@media print{.buddy-global{display:none!important}}.workspace-v2{--ink:#203f33;--deep:#194f34;--leaf:#2d7450;--line:#dbe6dc;min-height:calc(100vh - 72px);padding:12px clamp(16px,1.7vw,32px) 10px;background:#f3f7f3;color:var(--ink);display:flex;flex-direction:column;gap:10px}.work-v2-head{display:flex;align-items:center;justify-content:space-between;min-height:58px;gap:20px}.work-v2-title{display:flex;align-items:baseline;gap:13px;min-width:0}.work-v2-kicker{font-size:10px;letter-spacing:.13em;font-weight:800;color:#7fa18a;white-space:nowrap}.work-v2-title h1{margin:0;color:#1b5134;font-size:25px;line-height:1.2;white-space:nowrap}.work-v2-source{font-size:11px;font-weight:700;color:#28734a;background:#e4f1e5;border:1px solid #c7dfca;border-radius:20px;padding:5px 9px;white-space:nowrap}.work-v2-source.is-alert{color:#a25231;background:#fff2e9}.work-v2-head-actions{display:flex;align-items:center;gap:14px;white-space:nowrap}.work-v2-head-actions .buddy-guide-toggle{margin:0}.work-v2-report-link,.work-v2-text-link{border:0;background:none;color:#2b7750;font-size:12px;font-weight:700;padding:5px;cursor:pointer}.work-v2-report-link:hover,.work-v2-text-link:hover{text-decoration:underline}.work-v2-stagebar{display:flex;align-items:center;gap:18px;min-height:58px;padding:8px 16px;background:#fff;border:1px solid var(--line);border-radius:13px}.work-v2-stage-steps{display:flex;align-items:center;gap:6px;flex:none}.work-v2-stage-steps span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:11px;font-weight:800;color:#9bad9e;background:#edf2ec}.work-v2-stage-steps span.is-current{background:#236b43;color:#fff;box-shadow:0 0 0 4px #e2f0e4}.work-v2-stage-steps span.is-done{background:#d5e9d8;color:#237348}.work-v2-stage-name{display:flex;align-items:baseline;gap:9px;min-width:0}.work-v2-stage-name small{font-size:11px;color:#7c9182;white-space:nowrap}.work-v2-stage-name strong{font-size:16px;color:#204d35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work-v2-stage-name>span{font-size:10px;color:#a57a2d;background:#fff6e6;padding:3px 6px;border-radius:4px;white-space:nowrap}.work-v2-stagebar>.work-v2-text-link{margin-left:auto;white-space:nowrap}.work-v2-grid{display:grid;grid-template-columns:minmax(300px,.93fr) minmax(350px,1.03fr) minmax(275px,.74fr);grid-template-rows:minmax(0,1fr) minmax(134px,auto);gap:10px;flex:1;min-height:0}.work-v2-card{background:#fff;border:1px solid var(--line);border-radius:16px;min-width:0;overflow:hidden}.work-v2-card-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px 8px;gap:8px}.work-v2-card-head small{display:block;font-size:9px;letter-spacing:.12em;color:#9aae9d;font-weight:800}.work-v2-card-head h2{font-size:17px;margin:1px 0 0;color:#204d35}.work-v2-card-head>span{font-size:11px;color:#769380;white-space:nowrap}.work-v2-card-head>span.is-good{color:#237b4b;font-weight:800}.work-v2-twin{display:flex;flex-direction:column;grid-column:1;grid-row:1}.work-v2-twin-viewport{position:relative;flex:1;min-height:0;width:min(100%,46vh,435px);aspect-ratio:1;margin:auto;overflow:hidden;border-radius:10px;background:#696763}.work-v2-twin-viewport img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.work-v2-twin-marker{position:absolute;transform:translate(-50%,-50%);width:19px;height:19px;border-radius:50%;border:3px solid #fff;background:#36b862;box-shadow:0 0 0 6px #4fe7826a,0 0 15px #d1fff3}.work-v2-unavailable{position:absolute;inset:0;display:grid;place-items:center;background:#1b2b24a3;color:#fff;font-weight:700}.work-v2-twin-caption{display:flex;align-items:center;gap:7px;min-height:32px;margin:4px 14px 8px;padding-top:5px;border-top:1px solid #edf1ed;color:#526b58;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work-v2-live-dot{width:6px;height:6px;background:#5abf75;border-radius:50%;flex:none}.work-v2-observe{display:grid;grid-column:2;grid-row:1;grid-template-rows:minmax(0,.52fr) minmax(0,.48fr);gap:10px;min-height:0}.work-v2-eye,.work-v2-level{display:flex;flex-direction:column}.work-v2-eye-frame{position:relative;flex:1;min-height:90px;margin:0 14px 12px;border-radius:10px;overflow:hidden;background:#030b07}.work-v2-eye-frame img{display:block;width:100%;height:100%;object-fit:cover}.work-v2-eye-frame.frame-offset img{transform:translate(9px,-5px) scale(1.06)}.work-v2-eye-frame.frame-near img{filter:contrast(1.2)}.work-v2-eye-frame.frame-unrecognized img{filter:blur(7px) brightness(.6)}.work-v2-eye-frame span{position:absolute;bottom:7px;left:8px;padding:3px 7px;border-radius:5px;background:#e9f7e7d9;color:#194e31;font-size:10px;font-weight:700}.work-v2-line-label{display:flex;align-items:center;justify-content:space-between;margin:0 14px 9px;font-size:11px;color:#54705d;gap:8px}.work-v2-line-label select{padding:3px 8px;font-size:11px;max-width:160px}.work-v2-level-body{display:flex;align-items:center;justify-content:center;gap:22px;flex:1;min-height:0;padding:0 12px 10px}.work-v2-level-dial{width:min(145px,19vh);height:min(145px,19vh);min-width:92px;min-height:92px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 38% 35%,#f8fff4,#dcefe3 56%,#95bfa6 88%,#699778);border:5px solid #f8fcf5;box-shadow:0 0 0 2px #8aa994,inset 0 5px 12px #38654640,0 7px 16px #29493322}.work-v2-level-ring{position:relative;width:89%;height:89%;border:1px solid #8cb9a2;border-radius:50%;background:repeating-conic-gradient(from 0deg,#80aa90 0deg 1deg,transparent 1deg 15deg);box-shadow:inset 0 0 0 7px #e9f4e8cc,inset 0 0 0 8px #83ad94}.work-v2-level-ring:before{content:"";position:absolute;inset:17%;border:1px solid #9abda5;border-radius:50%;background:#e7f4e7b8}.work-v2-level-axis{position:absolute;z-index:1;background:#8db29a;opacity:.7}.work-v2-level-axis.axis-x{left:13%;right:13%;height:1px;top:50%}.work-v2-level-axis.axis-y{top:13%;bottom:13%;width:1px;left:50%}.work-v2-level-center{position:absolute;left:50%;top:50%;width:11px;height:11px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid #5c896b;background:#f8fff6;z-index:2}.work-v2-level-bubble{position:absolute;left:calc(50% - 13px);top:calc(50% - 13px);z-index:3;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 28%,#c9ffdf 0,#5bc980 37%,#278c56 72%,#176d42);border:2px solid #effff1;box-shadow:0 3px 7px #1d563e55,inset 0 -3px 5px #236e45aa;transition:transform .65s cubic-bezier(.22,.8,.25,1)}.work-v2-level-readings{display:flex;gap:15px}.work-v2-level-readings>div{display:flex;flex-direction:column;gap:3px}.work-v2-level-readings small{font-size:10px;color:#879f8f}.work-v2-level-readings strong{font-size:16px;color:#28583b;font-variant-numeric:tabular-nums}.work-v2-notebook{grid-column:3;grid-row:1/3;min-height:0;overflow:auto;display:flex;flex-direction:column;padding:17px 22px 14px;background:repeating-linear-gradient(180deg,#fbf8ec 0 29px,#d9d7c74d 30px,#fbf8ec 31px);border:1px solid #d7d5c3;border-radius:5px 15px 11px 5px;box-shadow:inset 7px 0 #e9dcc6,5px 7px 17px #8b95722b;position:relative}.work-v2-notebook:before{content:"";position:absolute;left:18px;top:0;bottom:0;border-left:1px solid #e5b7ab70}.work-v2-paper-top,.work-v2-paper-bottom{display:flex;justify-content:space-between;gap:8px;color:#b29f78;font-size:9px;letter-spacing:.08em;margin-left:12px}.work-v2-notebook h2{margin:13px 0 4px 12px;font-family:Georgia,Songti SC,serif;font-size:25px;color:#38513d;font-weight:700}.work-v2-paper-rule{height:2px;background:#cab382;margin:0 0 14px 12px;width:62px}.work-v2-note-section{margin:0 0 18px 13px}.work-v2-note-section small{display:block;color:#a18454;font-size:10px;letter-spacing:.08em;font-weight:800}.work-v2-note-section p{font-size:14px;line-height:1.6;margin:7px 0;color:#3d4f40}.work-v2-note-section textarea{margin-top:6px;display:block;width:100%;min-height:100px;flex:1;resize:vertical;border:0;background:transparent!important;font-size:14px;line-height:30px;color:#3d4f40;padding:0;box-shadow:none!important}.work-v2-note-section:has(textarea){flex:1}.work-v2-paper-bottom{margin-top:auto;padding-top:15px;border-top:1px solid #d9d0b8}.work-v2-measure{grid-column:1/3;grid-row:2;min-height:132px;display:grid;grid-template-columns:.84fr 1.15fr .84fr;align-items:stretch}.work-v2-measure>div{display:flex;flex-direction:column;padding:15px 20px;min-width:0}.work-v2-measure>div+div{border-left:1px solid #e8eee8}.work-v2-measure small{font-size:11px;color:#78917e}.work-v2-measure em{font-style:normal;color:#a4772a;background:#fff4df;padding:2px 5px;border-radius:4px;margin-left:5px}.work-v2-measure-read strong{font-size:33px;color:#1c5737;font-variant-numeric:tabular-nums;line-height:1.25;margin-top:4px}.work-v2-measure-read strong span{font-size:18px}.work-v2-measure-read p,.work-v2-measure-formula span{font-size:10px;color:#8a9b8c;margin:5px 0 0}.work-v2-measure-formula strong{font-size:19px;color:#274d38;line-height:1.25;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work-v2-measure-result strong{font-size:27px;color:#266f44;font-variant-numeric:tabular-nums;line-height:1.25;margin-top:4px}.work-v2-measure-result button{margin-top:auto;align-self:flex-start;border:0;border-radius:7px;background:#1b6940;color:#fff;padding:7px 12px;font-size:11px;font-weight:700}.work-v2-measure-result button:disabled{opacity:.5}.work-v2-bottom{display:flex;gap:18px;justify-content:flex-end;padding:0 5px}.work-v2-secondary{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:2px}.work-v2-secondary .measurement-panel{border:0}.work-v2-debug{background:#193d2b;color:#f2f7ec;padding:16px;border-radius:10px;display:grid;gap:12px}.work-v2-debug h2{font-size:16px;margin:0}.work-v2-debug>div{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.work-v2-debug label{display:flex;align-items:center;gap:6px;font-size:12px}.work-v2-debug input,.work-v2-debug select{padding:5px}.work-v2-debug button{border:1px solid #aecbb5;border-radius:5px;background:#f2f8f0;color:#24583a;padding:6px 10px}.work-v2-debug small{font-size:10px;color:#b3ccba}.work-v2-correct{max-width:410px}.work-v2-correct h2{font-size:22px;color:#225a38;margin:0 0 8px}.work-v2-correct p{font-size:13px;color:#657568;line-height:1.5}.work-v2-correct select{width:100%;padding:10px}.work-v2-correct>div{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.work-v2-correct button{padding:8px 14px;border:1px solid #99b9a3;border-radius:5px;background:#fff;color:#24633c}.work-v2-correct button:last-child{background:#236b43;color:#fff}@media(min-width:1200px)and (min-height:720px){.workspace-v2{height:calc(100vh - 72px);overflow:hidden}.work-v2-grid{overflow:hidden}.work-v2-twin-viewport{width:min(100%,43vh,435px)}}@media(min-width:1200px)and (min-height:720px){.work-v2-grid{flex:0 0 auto;height:min(calc(100vh - 267px),669px);grid-template-rows:minmax(0,1fr) 134px}.work-v2-twin-viewport{flex:0 0 auto;width:min(100%,calc(100vh - 500px),435px);height:auto;aspect-ratio:1}.work-v2-observe{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}.work-v2-eye-frame{flex:0 0 auto;width:min(calc(100% - 28px),330px);height:auto;aspect-ratio:1;min-height:0;margin:auto}.work-v2-level-body{flex-direction:column;justify-content:center;gap:10px;padding:0 0 12px}.work-v2-level-window{width:min(calc(100% - 28px),330px);aspect-ratio:1;flex:none;display:grid;place-items:center;margin:0 auto;border-radius:10px;border:1px solid #dce8de;background:radial-gradient(circle at 50% 40%,#f8fcf7,#e9f2e9 75%,#e1ede3)}.work-v2-level-dial{width:min(76%,205px);height:auto;min-width:0;min-height:0;aspect-ratio:1}.work-v2-level-readings{justify-content:center;gap:22px}}@media(max-width:1199px){.work-v2-grid{grid-template-columns:minmax(290px,1fr) minmax(320px,1fr);grid-template-rows:auto auto auto}.work-v2-notebook{grid-column:2;grid-row:2/4;min-height:400px}.work-v2-measure{grid-column:1;grid-row:3;display:flex;flex-direction:column}.work-v2-observe{grid-column:2;grid-row:1}.work-v2-twin{grid-row:1/3}.work-v2-twin-viewport{width:min(100%,45vw,410px)}}@media(max-width:760px){.workspace-v2{padding:12px}.work-v2-head{align-items:flex-start}.work-v2-title{display:block}.work-v2-title h1{font-size:21px;margin:3px 0}.work-v2-kicker{font-size:9px}.work-v2-head-actions{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.work-v2-stagebar{gap:10px;padding:9px}.work-v2-stage-name strong{font-size:13px}.work-v2-stage-name small,.work-v2-stage-name>span{display:none}.work-v2-grid{display:flex;flex-direction:column;overflow:visible}.work-v2-twin-viewport{width:min(100%,70vw,400px)}.work-v2-observe{display:flex;flex-direction:column}.work-v2-eye-frame{height:200px;flex:none}.work-v2-level-body{min-height:170px}.work-v2-measure{display:grid;grid-template-columns:1fr 1fr;min-height:0}.work-v2-measure>div{padding:12px}.work-v2-measure-read{grid-column:1}.work-v2-measure-formula{grid-column:2}.work-v2-measure-result{grid-column:1/3;border-left:0!important;border-top:1px solid #e8eee8;display:flex!important;flex-direction:row!important;align-items:center;gap:12px}.work-v2-measure-result button{margin:0 0 0 auto}.work-v2-notebook{min-height:320px}.work-v2-bottom{justify-content:flex-start}.work-v2-stage-steps span{width:24px;height:24px}}@media(max-width:480px){.work-v2-head-actions .buddy-guide-toggle{font-size:10px;padding:5px}.work-v2-report-link{font-size:10px}.work-v2-stagebar{flex-wrap:wrap}.work-v2-stagebar>.work-v2-text-link{margin-left:0}.work-v2-measure-formula strong{font-size:14px}.work-v2-measure-read strong{font-size:27px}}:root{font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;--green:#235f43;--green-dark:#194d38;--green-strong:#20734d;--mint:#e5eee7;--mint-2:#f2f6f2;--text:#20372e;--muted:#64796e;--line:#d3dfd6;--radius:7px;background:#f3f6f3;color:var(--text)}body{background:#f3f6f3}button,input,select,textarea{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #39865c;outline-offset:2px}button{transition:background-color .16s,border-color .16s,color .16s,transform .16s}.button{border-color:#b8cbbd;font-size:13px}.button-primary{border-color:var(--green);background:var(--green)}.button-primary:hover:not(:disabled){background:#174c35}.button-soft{background:#eef4ee;border-color:#dce8de}.button-text{color:#285c41}.status{border-radius:3px;font-weight:650;letter-spacing:.01em}.panel{border:1px solid #d8e2da;border-radius:9px;box-shadow:0 1px 4px #193b2a09}.section-title{font-size:17px;color:#254a36;letter-spacing:.01em}.section-title>span:first-child{border-left:0;padding:0}.section-title>span:first-child:before{content:"";display:inline-block;vertical-align:middle;width:3px;height:17px;background:#6caa7d;margin-right:10px;border-radius:2px}.page-heading h1,.login-layout h1,.login-form h2{color:#1c4934;letter-spacing:-.025em}.page-heading h1:after,.login-layout h1:after,.login-form h2:after{height:2px;width:42px;background:#89af86;margin-top:12px}.page-heading p{font-size:14px;line-height:1.6}.notice{border-radius:5px;line-height:1.5}.global-header,.global-header-light{background:#fbfdfb;color:#234635;border-bottom:1px solid #d6e0d8}.brand strong{font-size:clamp(17px,1.33vw,22px);font-weight:740}.brand-mark,.global-header-light .brand-mark{color:#3e8057;font-size:28px}.global-header nav{gap:2px}.global-header nav button{border-radius:0;padding:25px 13px 21px;border-bottom:3px solid transparent;font-size:13px}.global-header nav button:hover{color:#1c663e;background:#f1f6f1}.global-header nav button.active,.global-header-light nav button.active{background:none;color:#195b38;border-bottom-color:#2b7650;font-weight:750}.header-right .status{font-size:11px}.header-right .button{font-size:12px}.login-layout{grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);background:#f8faf8}.login-visual{background:#e9f0e9;border-right:1px solid #d4e1d5;padding:clamp(30px,4vw,70px);display:flex;flex-direction:column}.login-visual h1{font-size:clamp(32px,3.5vw,54px);max-width:9em;line-height:1.15;margin-bottom:13px}.login-visual>p{font-size:16px;color:#4d6a58}.login-visual img{width:min(88%,680px);height:clamp(310px,54vh,610px);object-fit:cover;object-position:center 54%;margin:28px 0 0;border:1px solid #cad8ce;border-radius:3px;box-shadow:12px 14px #dbe6dc}.login-caption{position:static;width:auto;text-align:left;display:flex;align-items:center;gap:12px;margin-top:24px;color:#315843;font-size:13px;line-height:1.4}.login-caption span{font-weight:760}.login-caption b{font-weight:450;color:#6e8875}.login-form{width:min(100%,660px);max-width:none;align-self:center;padding:clamp(30px,4vw,70px)}.login-form h2{font-size:34px}.login-form>p{font-size:14px}.login-form form{margin-top:31px}.login-form .section-title{margin-top:25px}.login-form .form-field{margin:10px 0}.login-form .form-field input,.login-form .form-field select{background:#fff;border-color:#ccd9ce;border-radius:6px}.login-form .start-button{margin-top:26px;height:48px;font-size:15px;letter-spacing:.04em}.history-box{border-color:#d6e0d7}.history-row{border-color:#e1e8e2}.intro-page{background:#f4f7f4;padding:22px clamp(20px,2.3vw,40px) 24px}.intro-top{grid-template-columns:230px 1fr;border-bottom:1px solid #d4e0d7}.intro-top h1{font-size:26px;color:#1f4b36}.intro-steps{display:flex;justify-content:flex-end;gap:22px}.intro-steps button{border:0;border-bottom:2px solid transparent;min-height:46px;background:transparent;color:#748579;font-size:14px;padding:8px 4px}.intro-steps button.active{background:transparent;color:#1d6341;border-bottom-color:#34885b}.intro-steps button.done{background:transparent;color:#506c59}.intro-steps b{width:22px;height:22px;background:#e7eee8;color:#456951;font-size:11px}.intro-steps button.active b{background:#2e7850;color:#fff}.intro-heading{padding:19px 2px 15px}.intro-heading strong{font-size:21px;color:#264a35}.intro-heading span{font-size:13px;border-color:#bccfc1;color:#6a7d6d}.intro-content{grid-template-columns:minmax(0,2.15fr) minmax(280px,.85fr);gap:14px}.intro-canvas{border:1px solid #d9e2da;border-radius:9px;background:#fff;padding:13px}.intro-canvas>.notice{font-size:12px;background:#f2f7f2;color:#486b53;border-left:3px solid #9bbb9e}.parts-photo{background:#dfe7e0;border-radius:4px}.hotspot{border:2px solid #fff;background:#246a46;box-shadow:0 0 0 2px #fff9}.hotspot.selected{background:#b88235;box-shadow:0 0 0 4px #e8bd7699}.hotspot span{background:#fbfdf9;border:1px solid #bbd1c0;color:#1c5638}.intro-notebook{background:repeating-linear-gradient(#fcfbf4 0 30px,#e7e5d8 31px,#fcfbf4 32px);border:1px solid #deddd0;border-radius:3px;padding:22px 24px;box-shadow:5px 7px 15px #2d4a3020}.intro-notebook h3{background:transparent;border-bottom:1px solid #c8ccbc;padding:4px 0 9px;font-family:Songti SC,serif;font-size:24px;color:#294837}.intro-notebook p{font-size:14px;line-height:1.75}.intro-notebook .section-title{background:none;font-size:13px;color:#697e68;margin-top:20px}.intro-notebook .section-title>span:first-child:before{height:12px;background:#b6c6aa}.intro-footer{border-color:#d7e2d9}.module-flow{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;min-height:190px;border:1px solid #d6e2d9;border-radius:7px;overflow:hidden}.module-flow button{border:0;border-right:1px solid #dce6dd;border-radius:0;background:#f8faf7;gap:10px}.module-flow button:last-child{border-right:0}.module-flow button.selected{background:#e8f2e9;box-shadow:inset 0 3px #3d885b}.module-flow b,.evidence-cards b{background:#3b7b52}.module-flow strong,.evidence-cards strong{font-size:15px}.module-flow small,.evidence-cards small{font-size:12px;color:#5e7663}.intro-samples figure{border:1px solid #d7e2d8;border-radius:4px}.intro-samples figcaption{background:#f8fbf7e8;color:#355940}.evidence-flow{border:0;padding:0}.evidence-flow h3{background:none;color:#35543e;padding:0;font-size:15px}.evidence-cards{gap:0;border:1px solid #d7e3da;border-radius:7px;overflow:hidden}.evidence-cards button{border:0;border-right:1px solid #dce6dd;border-radius:0;background:#f8faf7;min-height:185px}.evidence-cards button:last-child{border:0}.evidence-cards button.selected{background:#e9f3e9;box-shadow:inset 0 3px #3d885b}.evidence-flow .timeline{border-color:#abc5ae;margin:28px 10px 22px}.intro-footer .button{min-width:100px}.preparation-page{background:#f4f7f4}.prep-grid{gap:18px;grid-template-columns:minmax(0,1.55fr) minmax(360px,.9fr)}.prep-grid .panel{min-height:0}.prep-grid>.panel:first-child,.prep-grid>.panel{box-shadow:none}.prep-grid>section:first-child{background:#fbfdfb}.device-list{margin-top:15px}.device-row{border:0;border-bottom:1px solid #e0e8e1;border-radius:0;margin:0;padding:16px 4px;grid-template-columns:38px 125px minmax(110px,1fr) auto auto;gap:12px}.device-row:last-child{border-bottom:0}.device-row strong{font-size:15px;color:#294d38}.device-row>span:nth-of-type(1){font-size:12px;line-height:1.45;color:#687e6e}.device-icon{width:34px;height:34px;border-radius:50%;font-size:19px;background:#e7f0e8;color:#2a7650}.device-row .button{font-size:11px}.disclosure{border:0;border-top:1px solid #e1e8e2;margin-top:14px;padding:14px 4px;color:#58735d;font-size:12px}.prep-side{background:#edf4ef!important;border-color:#cddfcf!important}.prep-side>.muted{font-size:13px;line-height:1.6}.calibration-row{background:#fff;border-color:#d6e2d8;border-radius:8px;margin:12px 0;padding:17px 15px}.calibration-row strong{color:#224e37}.calibration-row small{font-size:11px}.scenario-control{display:block;border-color:#d7e3d8;margin-top:17px;padding-top:12px}.scenario-control summary{cursor:pointer;color:#5e7662;font-size:12px}.scenario-control select{display:block;width:100%;margin-top:10px}.scenario-control small{display:block;margin-top:6px;font-size:11px}.prep-actions{border-color:#d0ded1}.workspace-v2{background:#eef3ef}.work-v2-title h1{font-size:24px}.work-v2-source{font-size:10px;border-radius:3px;padding:4px 7px}.work-v2-stagebar{border-radius:8px;border-color:#d5e1d8;box-shadow:0 1px 3px #244a3308}.work-v2-stage-steps span{border-radius:4px;width:27px;height:27px}.work-v2-stage-steps span.is-current{box-shadow:inset 0 0 0 1px #135131}.work-v2-card{border-radius:9px;border-color:#d6e1d8;box-shadow:0 1px 3px #244a3309}.work-v2-card-head{min-height:58px;padding:11px 15px 10px;align-items:center}.work-v2-card-head h2{font-size:15px;font-weight:700}.work-v2-card-head>span{font-size:10px;color:#839389}.work-v2-twin{background:#fbfdfb}.work-v2-twin-viewport{border:4px solid #293b32;border-radius:5px;background:#303a33;box-shadow:0 2px 8px #1c2d2370}.work-v2-twin-caption{border:0;margin:2px 14px 5px;color:#526c59;font-size:11px}.work-v2-eye{background:#fbfdfb}.work-v2-eye-frame{border:6px solid #24372d;border-radius:6px;background:#030b07;box-shadow:0 3px 8px #14271a3d}.work-v2-eye-frame img{object-fit:cover}.work-v2-level{background:#fbfdfb}.work-v2-level-window{border:1px solid #d1dfd4;border-radius:6px;background:#ecf2ec;box-shadow:inset 0 2px 7px #31533d16}.work-v2-level-dial{box-shadow:0 0 0 1px #8aa994,inset 0 5px 12px #38654640,0 5px 11px #29493320}.work-v2-level-readings strong{font-variant-numeric:tabular-nums;font-size:17px}.work-v2-measure{background:#f8fbf8}.work-v2-measure>div+div{border-color:#dce6de}.work-v2-measure-read strong,.work-v2-measure-result strong{font-variant-numeric:tabular-nums;font-weight:680;letter-spacing:-.04em}.work-v2-measure-formula strong{font-family:Georgia,Songti SC,serif;font-size:21px;font-weight:500}.work-v2-measure-result button{border-radius:4px}.work-v2-bottom .work-v2-text-link{font-size:11px;color:#607b69}.work-v2-notebook{background:repeating-linear-gradient(180deg,#f8f6eb 0 29px,#d9dccb 30px,#f8f6eb 31px);border-color:#d9d7c4;border-radius:3px 10px 10px 3px;box-shadow:inset 6px 0 #dcd9c4,3px 4px 9px #2c4b3420}.work-v2-notebook:before{border-color:#d8a9a360}.work-v2-notebook h2{font-size:25px;color:#2b4a35}.work-v2-paper-top{font-size:10px;color:#807f69;letter-spacing:0}.work-v2-note-section small{color:#7a7d60}.work-v2-note-section p{font-size:13px}.work-v2-note-section textarea{line-height:30px;color:#2e4535}.work-v2-paper-bottom{color:#898c78}.buddy-guidance-target{outline-color:#ba9b53!important;box-shadow:0 0 0 5px #e6cd8459!important}@media(min-width:1200px)and (min-height:720px){.work-v2-eye-frame{margin:12px auto 0;flex:none}.work-v2-level-body{justify-content:flex-start;gap:12px;padding:0}.work-v2-level-window{margin:12px auto 0}.work-v2-level-readings{margin-top:0}}.report-page{background:#f4f7f4}.report-meta{background:#edf3ee;border:0;border-top:2px solid #83ad8c;border-radius:0;padding:13px 18px}.report-meta span b{font-size:11px;color:#6a806e;font-weight:600}.report-grid{gap:18px;grid-template-columns:minmax(0,1.65fr) minmax(310px,.75fr)}.report-grid .panel{border-radius:8px;margin-bottom:14px}.report-progress{background:transparent;border:0;box-shadow:none;padding:3px 0 12px}.report-progress .section-title{margin-bottom:8px}.report-progress .stage-track button{font-size:12px}.report-grid p.muted{font-size:12px;line-height:1.5}.report-grid table{font-variant-numeric:tabular-nums}.report-grid th,.report-grid td{border:0;border-bottom:1px solid #e0e8e2;padding:10px 9px}.report-grid th{background:#eef4ee;color:#3d5e46;font-size:11px}.report-grid tbody tr:hover{background:#f7faf7}.report-grid .formula-summary{background:#f4f8f3;border:0;padding:13px;border-radius:4px;flex-wrap:wrap}.result-list{background:#f6f9f5;border-left:3px solid #75a582}.report-timeline div{border-left-color:#9ab99f;border-bottom-color:#e3eae3}.evaluation-row{border-color:#e1e9e1}.report-actions .button{min-height:39px}.buddy-global-chat{background:#f9fbf7;border-color:#cbdccc;border-radius:12px;box-shadow:0 16px 44px #19382636}.buddy-global-chat-head{background:#e8f2e8;border-bottom:1px solid #d5e5d6}.buddy-global-chat-head strong{color:#214b36}.buddy-global-chat .ai-body{padding:15px}.buddy-global-chat .ai-boundary{color:#6b806e;font-size:12px;margin:0 0 12px}.chat-advanced{margin:0 0 12px;padding:0 0 10px;border-bottom:1px solid #e0e9e0}.chat-advanced summary{cursor:pointer;color:#718575;font-size:11px}.chat-advanced .ai-mode{margin-top:10px}.buddy-global-chat .chat-log{min-height:170px;max-height:290px;padding:4px 2px}.buddy-global-chat .chat-message{border:0;border-radius:10px;background:#edf3ec;padding:9px 11px;line-height:1.55;margin:6px 28px 6px 0}.buddy-global-chat .chat-user{background:#dcebdc;margin:6px 0 6px 30px}.buddy-global-chat .chat-message small{color:#66806b}.buddy-global-chat .suggestions{gap:6px;margin:12px 0}.buddy-global-chat .suggestions .button{background:#f4f8f2;border-color:#d8e5d8;border-radius:16px;color:#43644a;padding:5px 9px;min-height:27px}.buddy-global-chat .chat-form{gap:7px}.buddy-global-chat .chat-form input{border-radius:6px;background:#fff}.buddy-global-chat .chat-form .button{border-radius:6px}.buddy-global-chat .ai-body>.button-text{margin-top:5px;font-size:11px;color:#8a9c8e}@media(max-width:850px){.global-header nav button{padding:9px 12px;border-bottom-width:2px}.login-layout{grid-template-columns:1fr}.login-visual{padding:26px}.login-visual img{width:100%;height:320px}.login-form{width:100%}.intro-content,.prep-grid,.report-grid{grid-template-columns:1fr}.intro-notebook{min-height:220px}.prep-grid .panel{min-height:0}}@media(max-width:600px){.intro-steps{gap:4px;justify-content:space-between}.intro-steps button{font-size:11px}.intro-steps b{margin-right:3px}.intro-heading span{border:0;padding-left:0}.login-visual h1{font-size:31px}.device-row{grid-template-columns:34px 1fr auto}.device-row>span:nth-of-type(1){grid-column:2/-1}.device-row>.button{grid-column:2/-1}.work-v2-eye-frame{width:min(calc(100% - 28px),300px);aspect-ratio:1;height:auto;margin:10px auto}.work-v2-level-window{width:min(calc(100% - 28px),300px);aspect-ratio:1;margin:10px auto}.work-v2-level-body{flex-direction:column}.report-meta{gap:9px}}@media(prefers-reduced-motion:reduce){button{transition:none}}@media(min-width:1100px){.prep-grid .panel{min-height:max(670px,calc(100vh - 230px))}.prep-grid>section:first-child{display:flex;flex-direction:column}.prep-grid .device-list{flex:1;display:grid;grid-template-rows:repeat(4,minmax(0,1fr));align-items:stretch}.prep-grid .device-row{margin:0}.prep-grid .disclosure{margin-top:auto}}.report-notes{min-height:130px}.report-notes>p{font-size:14px;color:#3e5746}.report-log{border-top:1px solid #e0e9e1;margin-top:18px;padding-top:12px}.report-log summary{cursor:pointer;font-size:12px;color:#56725d}.report-log .report-timeline{margin-top:12px;max-height:300px;overflow:auto}.evidence-flow .evidence-cards button{min-height:255px}.evidence-flow>.notice{margin-top:18px}.work-v2-level-window{display:grid;place-items:center}@media(max-width:760px){.buddy-global-workspace .buddy-global-position{width:64px;height:64px}}.guest-entry{display:block;width:100%;margin-top:10px;padding:11px 14px;border:1px solid #9db9a5;border-radius:8px;background:#f2f7f2;color:#285c3e;font:inherit;font-weight:600;cursor:pointer}.guest-entry:hover,.guest-entry:focus-visible{background:#e5f1e8;border-color:#568a65}.report-shell{min-height:calc(100vh - 72px);padding:20px 24px 52px;background:#e8ece8;color:#202c24}.report-toolbar{max-width:980px;margin:0 auto 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.report-toolbar>div{display:flex;align-items:center;gap:10px}.report-toolbar strong{font-size:17px;color:#234d36}.report-toolbar span{font-size:12px;color:#697d6d}.report-toolbar button,.report-help button{border:1px solid #aebfb0;background:#fff;color:#2b6141;padding:8px 12px;border-radius:5px;font-size:12px}.report-toolbar .report-print{background:#235f43;color:#fff;border-color:#235f43}.report-document{width:min(100%,880px);margin:auto;background:#fff;box-shadow:0 5px 26px #203c2926;padding:52px 68px 48px;font-family:Songti SC,"Noto Serif CJK SC",serif;font-size:14px;line-height:1.85;overflow-wrap:anywhere}.report-document-head{text-align:center;margin:0 0 28px}.report-document-head p{font-size:16px;letter-spacing:.3em;margin:0 0 12px;color:#425a45}.report-document-head h1{font-size:27px;line-height:1.4;margin:0 0 10px;font-weight:700}.report-document-tag{display:inline-block;font-family:PingFang SC,sans-serif;font-size:11px;color:#9b6b24;border:1px solid #e6d4b8;padding:2px 9px}.report-identity{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #718775;border-bottom:1px solid #718775;margin-bottom:28px}.report-identity>div{padding:8px 9px;border-bottom:1px solid #e2e8e2;min-width:0}.report-identity>div:nth-last-child(-n+3){border-bottom:0}.report-identity small{display:block;font-family:PingFang SC,sans-serif;font-size:10px;color:#758676}.report-identity strong{font-size:13px;font-weight:500}.report-section{margin:0 0 26px;break-inside:auto}.report-section h2{font-size:17px;margin:0 0 9px;color:#244634;border-bottom:1px solid #bacbbe;padding-bottom:5px;break-after:avoid}.report-section p{margin:7px 0}.report-section li{padding-left:3px}.report-section ol,.report-section ul{margin:5px 0;padding-left:25px}.report-origin{font-family:PingFang SC,sans-serif;font-size:11px;color:#687d6e;line-height:1.6}.report-equation{text-align:center;font-family:Georgia,Songti SC,serif;font-size:20px;letter-spacing:.02em;background:#f5f8f5;border-left:2px solid #7dab86;padding:12px;margin:15px 0}.report-variables{columns:2;column-gap:20px;font-size:12px}.report-facts{background:#f6f8f5;padding:8px 12px;border:1px solid #e2e9e2}.report-facts p{margin:2px 0}.report-missing{color:#966b31}.report-edit{display:block;margin:12px 0;break-inside:avoid}.report-edit>span{display:block;color:#2c4936;font-weight:700;margin-bottom:5px}.report-edit small{font-family:PingFang SC,sans-serif;font-size:10px;color:#7f937f;font-weight:400;margin-left:9px}.report-edit textarea{display:block;width:100%;min-height:72px;resize:vertical;border:1px solid #cfdacf;border-radius:2px;background:repeating-linear-gradient(#fff 0 29px,#e2e8e2 30px,#fff 31px);font-family:inherit;font-size:13px;line-height:30px;padding:2px 8px;color:#283b2d}.report-process{margin-top:10px;font-family:PingFang SC,sans-serif;font-size:11px;color:#58705e}.report-process summary{cursor:pointer}.report-process ol{max-height:220px;overflow:auto}.report-table-scroll{overflow-x:auto;margin:10px 0 16px}.report-document table{width:100%;border-collapse:collapse;table-layout:auto;font-family:PingFang SC,sans-serif;font-size:10px;line-height:1.45}.report-document th,.report-document td{border:1px solid #aab9ab;padding:6px 5px;text-align:left;vertical-align:top;word-break:break-word}.report-document th{background:#edf2ed;color:#254430}.report-document td small{color:#687b6a}.report-empty{text-align:center!important;padding:18px!important;color:#8a713e}.report-calculation{border-bottom:1px solid #e0e7e1;padding:9px 0;break-inside:avoid}.report-calculation strong{margin-right:12px}.report-calculation>span{color:#788c78;font-family:PingFang SC,sans-serif;font-size:11px}.report-calculation p{margin:2px 0}.report-answer{font-weight:700;color:#215739;font-size:17px}.report-mean{background:#edf4ed;padding:8px 10px}.report-help{display:flex;gap:8px;margin:8px 0}.report-hint{padding:8px 10px;background:#f3f7f3;font-size:12px}.report-assessment{margin-top:8px}.report-document-footer{border-top:1px solid #c9d5ca;margin-top:30px;padding-top:9px;display:flex;justify-content:space-between;gap:12px;font-family:PingFang SC,sans-serif;font-size:10px;color:#7b8c7d}@media(max-width:700px){.report-shell{padding:10px 8px 28px}.report-toolbar{padding:0 6px;flex-wrap:wrap}.report-document{padding:25px 19px}.report-identity{grid-template-columns:repeat(2,minmax(0,1fr))}.report-identity>div:nth-last-child(3){border-bottom:1px solid #e2e8e2}.report-variables{columns:1}.report-document-footer{display:block}.report-toolbar span{display:none}}@page{size:A4;margin:18mm 17mm}@media print{html,body,#root,.page,.page-report{width:auto!important;min-height:0!important;height:auto!important;overflow:visible!important;background:#fff!important}.global-header,.buddy-global,.toast,.report-toolbar{display:none!important}.report-shell{padding:0!important;min-height:0!important;background:#fff!important}.report-document{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;box-shadow:none!important;font-size:11pt!important;line-height:1.5!important;overflow:visible!important}.report-document-head{margin-bottom:16px}.report-section{margin-bottom:18px}.report-section h2{font-size:13pt;break-after:avoid}.report-section p,.report-section li{font-size:10.5pt}.report-origin{font-size:8pt!important}.report-document table{font-size:7.5pt!important;page-break-inside:auto}.report-document tr{break-inside:avoid}.report-document thead{display:table-header-group}.report-equation{background:#fff!important;border-left:1px solid #777}.report-edit textarea{min-height:0;height:auto;resize:none;overflow:visible;border:0;border-bottom:1px solid #aaa;border-radius:0;background:#fff;white-space:pre-wrap;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-edit textarea::placeholder{color:#999}.report-process:not([open]){display:none}.report-help,.report-hint{display:none}.report-calculation,.report-edit,.report-identity{break-inside:avoid}.report-document-tag{border-color:#aaa}.report-document-footer{font-size:8pt}}.report-print-field,.report-process-print{display:none;white-space:pre-wrap}@media print{.report-edit textarea{display:none}.report-print-field{display:block;min-height:25px;border-bottom:1px solid #ccc;white-space:pre-wrap}.report-process{display:none!important}.report-process-print{display:block;white-space:normal;font-size:9pt;color:#4b5b4d}.report-process-print ol{margin:4px 0 0}}
