@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;color:#263c32;background:#f5f3ec;font-synthesis:none;--forest: #315b47;--forest-dark: #234638;--forest-soft: #e9efe7;--ink: #263c32;--muted: #778178;--line: #e4e6dc;--paper: #fffef9;--ochre: #c98b4c}*{box-sizing:border-box}body{margin:0;min-width:340px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #c98b4c66;outline-offset:3px}svg{width:1.25rem;height:1.25rem;flex:0 0 auto}.site-header{height:76px;padding:0 max(28px,calc((100vw - 1480px)/2));display:flex;align-items:center;justify-content:space-between;background:#fffefa;border-bottom:1px solid #e7e8de}.brand{display:flex;align-items:center;gap:11px;color:var(--forest);text-decoration:none}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:#e8efe5;border-radius:12px}.brand-mark svg{width:30px;height:30px}.brand strong{display:block;font-size:16px;letter-spacing:.06em}.brand small{display:block;margin-top:2px;font-size:8px;font-weight:700;letter-spacing:.18em;color:#89928a}.header-actions{display:flex;align-items:center;gap:22px}.course-tag{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b766d}.status-dot,.live-dot{width:7px;height:7px;border-radius:50%;background:#6f9a67;box-shadow:0 0 0 4px #6f9a6717}.print-button{border:1px solid #dce1d7;background:#fff;color:#405348;border-radius:9px;padding:9px 13px;display:flex;align-items:center;gap:7px;cursor:pointer;font-size:12px;font-weight:600;transition:.2s}.print-button:hover{background:var(--forest-soft);border-color:#bac9b9}.page-shell{max-width:1480px;margin:0 auto;padding:32px 28px 20px}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:26px}.eyebrow,.section-kicker{margin:0 0 8px;color:#839077;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.intro h1{margin:0;font-size:clamp(28px,3vw,38px);line-height:1.25;letter-spacing:.04em;font-weight:700;color:#294737}.intro-copy{margin:8px 0 0;font-size:14px;color:#7b8279}.project-facts{display:flex;align-items:center;padding-bottom:3px}.project-facts>div{padding:0 24px;border-left:1px solid #dcdfd4}.project-facts>div:last-child{padding-right:0}.project-facts span{display:block;font-size:10px;color:#92988f;margin-bottom:5px}.project-facts strong{font-size:13px;font-weight:600;white-space:nowrap}.project-facts small{font-size:10px;font-weight:500;color:#879087}.workspace{display:grid;grid-template-columns:230px minmax(440px,1fr) 288px;gap:16px;align-items:stretch}.card{background:var(--paper);border:1px solid #e4e5dc;border-radius:16px;box-shadow:0 4px 20px #354b3910;overflow:hidden}.steps-panel{padding:21px 17px 17px;display:flex;flex-direction:column}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:0 5px}.panel-heading h2,.cutting-heading h2{font-size:16px;margin:0;letter-spacing:.02em}.panel-heading .section-kicker{font-size:8px;margin-bottom:5px}.step-fraction{font-size:11px;font-weight:600;color:#6a7e6b;background:#eef2e9;border-radius:20px;padding:5px 8px}.progress-track{height:3px;margin:16px 5px 14px;border-radius:4px;background:#e8ebe3;overflow:hidden}.progress-track span{display:block;width:16.66%;height:100%;background:#648367;border-radius:inherit;transition:width .35s ease}.step-list{list-style:none;margin:0;padding:0;position:relative}.step-list li{position:relative}.step-list li:not(:last-child):after{content:"";position:absolute;width:1px;height:17px;background:#dfe4d9;left:23px;bottom:-5px;z-index:0}.step-list button{width:100%;border:0;background:transparent;display:flex;gap:11px;align-items:center;text-align:left;padding:11px 9px;border-radius:10px;cursor:pointer;color:#7e887f;transition:background .2s,color .2s;position:relative;z-index:1}.step-list button:hover{background:#f3f5ef}.step-list button.active{background:#eaf0e5;color:var(--forest)}.step-number{width:29px;height:29px;flex:0 0 29px;display:grid;place-items:center;border:1px solid #dce2d7;border-radius:50%;background:#fffef9;font-size:10px;font-weight:600}.step-list button.active .step-number{color:#fff;background:var(--forest);border-color:var(--forest);box-shadow:0 0 0 4px #315b4710}.step-list button.complete .step-number{color:#52705a;background:#e4ecdf;border-color:#cdd9c7}.step-list strong{display:block;font-size:12px;font-weight:600;line-height:1.4}.step-list small{display:block;font-size:9px;margin-top:3px;color:#9a9f98;white-space:nowrap}.step-list button.active small{color:#7a8b7b}.mini-note{display:flex;gap:9px;margin-top:auto;padding:15px 5px 0;border-top:1px solid #e8e9e1;color:#92927f}.mini-note svg{color:#b39864;width:18px;height:18px;margin-top:2px}.mini-note p{font-size:9px;line-height:1.75;margin:0}.mini-note strong{display:block;color:#7a745f;font-size:10px;margin-bottom:2px}.viewer-card{min-width:0;display:flex;flex-direction:column}.viewer-header{height:49px;flex:0 0 49px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-bottom:1px solid #e2e6dd;background:#fdfdf8;font-size:10px;color:#7e897e}.viewer-header>div{display:flex;align-items:center;gap:8px}.viewer-header strong{color:#43594a;font-size:11px}.live-dot{width:6px;height:6px}.viewer-divider{width:1px;height:12px;background:#dce1d8;margin:0 3px}.scale-badge{background:#eef1e9;padding:4px 7px;border-radius:5px;font-size:9px}#scene-container{position:relative;flex:1;min-height:475px;background:radial-gradient(circle at 45% 30%,#f1f4eb,#e8eee3 60%,#dfe8dc);overflow:hidden}#scene-container canvas{display:block;width:100%;height:100%;touch-action:none}.scene-loading{position:absolute;inset:0;z-index:10;background:#e9efe4;display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;color:#6f7f6f;transition:opacity .3s}.scene-loading.hidden{opacity:0;pointer-events:none}.scene-loading span{width:16px;height:16px;border:2px solid #b7c5b1;border-top-color:#45684d;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.scene-caption{position:absolute;top:20px;left:21px;pointer-events:none;z-index:2}.scene-caption span{display:block;color:#87967e;font-size:9px;letter-spacing:.15em;font-weight:700;margin-bottom:5px}.scene-caption strong{font-size:13px;color:#52644f;font-weight:600}.orbit-hint{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;color:#778776;background:#fbfcf3c9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #ffffff9e;border-radius:20px;padding:7px 11px;font-size:9px;white-space:nowrap;pointer-events:none}.orbit-hint svg{width:14px;height:14px}.dimension-label{color:#345541;background:#fffdf2ed;border:1px solid #b8c7b1;border-radius:6px;padding:5px 7px;font-size:9px;font-weight:600;white-space:nowrap;box-shadow:0 2px 8px #304b3512;pointer-events:none}.dimension-label:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#4e7054;left:50%;bottom:-11px}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;min-height:45px;padding:0 14px;border-top:1px solid #e1e5db;border-bottom:1px solid #e1e5db}.tool-buttons{display:flex;gap:3px}.tool-buttons button{border:0;background:transparent;color:#818a80;display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:6px;font-size:9px;cursor:pointer}.tool-buttons button:hover{background:#f0f3ec;color:#3f5e46}.tool-buttons button.selected{color:#3d6248;background:#eaf0e5}.tool-buttons svg{width:14px;height:14px}.model-note{font-size:8px;color:#a1a69e}.step-navigation{display:flex;align-items:center;gap:12px;padding:13px;min-height:67px}.step-navigation button{border-radius:8px;height:37px;display:flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;font-size:10px;font-weight:600;transition:.2s}.step-navigation button:disabled{opacity:.4;cursor:not-allowed}.step-navigation svg{width:14px;height:14px}.nav-secondary{width:85px;flex:0 0 85px;border:1px solid #dde2d8;background:#fff;color:#647367}.nav-primary{border:1px solid var(--forest);background:var(--forest);color:#fff;padding:0 13px;white-space:nowrap}.nav-primary:hover{background:#234b38}.navigation-copy{min-width:0;flex:1}.navigation-copy small{display:block;font-size:8px;color:#9aa097;margin-bottom:3px}.navigation-copy strong{display:block;font-size:10px;color:#55675a;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guide-panel{padding:22px 20px 18px}.guide-topline{display:flex;align-items:center;justify-content:space-between}.guide-topline>span:first-child{color:#668066;font-size:9px;font-weight:700;letter-spacing:.12em}.difficulty{font-size:8px;color:#9a865d;background:#f5efe1;border-radius:10px;padding:4px 7px}.guide-panel h2{font-size:19px;margin:13px 0 9px;color:#2d4b39}.guide-description{min-height:54px;font-size:11px;line-height:1.75;color:#7c857c;margin:0}.guide-section{margin-top:19px}.guide-section h3{display:flex;align-items:center;gap:7px;margin:0 0 11px;font-size:11px;font-weight:600;color:#4f6253}.section-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:6px;background:#eef2e9;color:#69816a}.section-icon svg{width:14px;height:14px}.dimension-table-head,.dimension-row{display:grid;grid-template-columns:1fr 1.25fr;gap:8px;align-items:center}.dimension-table-head{color:#a0a49b;font-size:8px;padding:0 8px 6px}.dimension-row{padding:8px;border-top:1px solid #ecece4;font-size:9px}.dimension-row span:first-child{color:#707b71}.dimension-row span:last-child{color:#405c48;font-weight:600;text-align:right}.dimension-row small{font-size:8px;color:#92998f;font-weight:400;margin-left:3px}.unit-note{font-size:8px;color:#a0a49a;margin:7px 0 0}.color-list{display:flex;gap:8px;flex-wrap:wrap}.color-item{display:flex;align-items:center;gap:5px;font-size:8px;color:#6f796f}.color-swatch{width:21px;height:21px;border-radius:50%;background:var(--swatch);border:2px solid white;box-shadow:0 0 0 1px #dfe3d8}.teacher-tip{margin-top:20px;padding:11px 12px;background:#f6f2e7;border-left:2px solid #ccb178;border-radius:0 7px 7px 0}.tip-label{color:#a38a58;font-size:8px;font-weight:700;letter-spacing:.08em}.teacher-tip p{color:#817c6c;font-size:9px;line-height:1.75;margin:4px 0 0}.cutting-card{margin-top:18px;padding:24px 25px 18px}.cutting-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.cutting-heading .section-kicker{font-size:8px;margin-bottom:5px}.cutting-heading h2{font-size:17px}.cutting-heading p:last-child{font-size:10px;color:#8a9188;margin:7px 0 0}.total-pieces{white-space:nowrap;border-radius:20px;padding:8px 13px;background:#edf2e8;color:#7b8979;font-size:10px}.total-pieces strong{color:#426149;font-size:14px}.cutting-table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:10px}th{text-align:left;font-size:9px;color:#92998f;font-weight:500;background:#f4f5ef;padding:10px 13px}th:first-child{border-radius:7px 0 0 7px}th:last-child{border-radius:0 7px 7px 0}td{padding:10px 13px;border-bottom:1px solid #eeeee7;color:#6f7b70;white-space:nowrap}td:first-child{color:#96a18f;font-weight:600}td:nth-child(2){color:#405647;font-weight:500}td:nth-child(3){color:#3f5947;font-weight:600}td:last-child{display:flex;align-items:center;gap:6px}.table-dot{width:8px;height:8px;border-radius:50%;background:var(--dot)}.materials-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:15px}.materials-row span{font-size:9px;color:#7d877c;background:#f4f5ef;border-radius:5px;padding:5px 8px}.materials-row .materials-label{background:transparent;padding-left:0;color:#4f6353;font-weight:600}.page-footer{display:flex;justify-content:space-between;padding:19px 4px 0;color:#9ba097;font-size:9px}@media(min-width:1400px){#scene-container{min-height:510px}.workspace{grid-template-columns:242px minmax(500px,1fr) 302px}.guide-panel{padding:24px 22px}.step-list button{padding-top:12px;padding-bottom:12px}}@media(max-width:1150px){.workspace{grid-template-columns:210px minmax(430px,1fr)}.guide-panel{grid-column:1 / -1;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}.guide-panel>.guide-topline,.guide-panel>h2,.guide-panel>.guide-description{grid-column:1}.guide-panel>h2{margin:0}.guide-description{min-height:0}.guide-section{margin-top:0}.dimensions-section{grid-column:2;grid-row:1 / 5}.color-section{grid-column:3;grid-row:1 / 3}.teacher-tip{grid-column:3;grid-row:3 / 5;margin-top:0}.project-facts>div{padding:0 15px}}@media(max-width:820px){.site-header{padding:0 18px}.course-tag{display:none}.page-shell{padding:25px 16px 18px}.intro{align-items:flex-start}.project-facts>div:first-child{border:0}.project-facts>div:last-child{display:none}.workspace{grid-template-columns:1fr}.steps-panel{padding:16px}.step-list{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.step-list li:after{display:none}.step-list button{padding:9px 7px}.step-list small{display:none}.step-list strong{font-size:10px}.mini-note{margin-top:12px;padding-top:10px}.mini-note p{line-height:1.5}.mini-note strong{display:inline;margin-right:6px}#scene-container{min-height:460px}.guide-panel{grid-column:auto}.cutting-card{padding:20px 18px 15px}}@media(max-width:560px){.site-header{height:66px}.brand-mark{width:36px;height:36px}.brand strong{font-size:14px}.print-button{padding:8px 10px;font-size:10px}.intro{display:block}.project-facts{margin-top:18px}.project-facts>div{padding:0 18px}.project-facts>div:first-child{padding-left:0}.step-list{grid-template-columns:repeat(2,1fr)}.step-list button{gap:7px}#scene-container{min-height:390px}.scale-badge,.model-note{display:none}.viewer-toolbar{justify-content:center}.step-navigation{gap:8px;padding:10px}.navigation-copy{display:none}.nav-secondary,.nav-primary{flex:1;width:auto}.guide-panel{display:block}.guide-panel>h2{margin:12px 0 8px}.guide-section{margin-top:19px}.teacher-tip{margin-top:18px}.cutting-heading{align-items:flex-start}.total-pieces{display:none}.page-footer{display:block;line-height:1.8}.page-footer span{display:block}}.cutting-card{display:none}.cutting-card.visible{display:block}.tool-buttons button:disabled{opacity:.35;cursor:not-allowed}@media(min-width:821px){.site-header{height:64px}.page-shell{padding-top:18px}.intro{margin-bottom:16px}.intro h1{font-size:32px}.intro-copy{margin-top:5px}.eyebrow{margin-bottom:5px}#scene-container{flex:none;min-height:300px;height:clamp(300px,calc(100vh - 395px),480px)}.viewer-header{height:43px;flex-basis:43px}.viewer-toolbar{min-height:41px}.step-navigation{min-height:58px;padding:10px 13px}.steps-panel{padding-top:17px}.step-list button{padding-top:8px;padding-bottom:8px}.mini-note{padding-top:10px}.guide-panel{padding-top:18px;padding-bottom:15px}.guide-section,.teacher-tip{margin-top:14px}}@media(max-width:560px){.header-actions{gap:6px}.print-button{padding:8px}.tool-buttons button{padding:6px 5px;font-size:8px}.orbit-hint{font-size:8px}}@media print{body{background:#fff}.site-header,.intro,.workspace,.page-footer{display:none}.page-shell{padding:0;max-width:none}.cutting-card{display:block;margin:0;border:0;box-shadow:none;padding:10px}.cutting-card:before{content:"二层森林小屋 · 纸板制作单";display:block;font-size:24px;font-weight:700;color:#315b47;margin-bottom:20px}table{font-size:11px}td,th{padding:9px}.cutting-table-wrap{overflow:visible}}
