:root{--bg-top: #f3f8ef;--bg-bottom: #dce8d8;--ink: #1d3027;--ink-sub: #425a50;--line: rgba(38, 72, 57, .24);--panel: rgba(255, 255, 255, .72);--panel-strong: rgba(255, 255, 255, .9);--ok: #147a58;--warn: #a6512c;--accent: #2a5d94;--accent-2: #2f7c67;--danger: #7f2f2f;--shadow: 0 18px 42px rgba(25, 62, 49, .14);--font-cjk-ui: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", "Roboto", "Droid Sans Fallback", "WenQuanYi Micro Hei", sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{color:var(--ink);font-family:var(--font-cjk-ui);background:radial-gradient(circle at 8% -8%,rgba(42,93,148,.22),transparent 36%),radial-gradient(circle at 92% -6%,rgba(47,124,103,.25),transparent 38%),linear-gradient(180deg,var(--bg-top),var(--bg-bottom))}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.3;background-image:linear-gradient(rgba(29,57,46,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(29,57,46,.07) 1px,transparent 1px);background-size:26px 26px;z-index:-1}h1,h2,h3{margin:0;font-family:var(--font-cjk-ui);letter-spacing:.02em}p{margin:0}.surface-lab{width:min(1180px,95vw);margin:0 auto;padding:22px 0 34px;display:grid;gap:14px}.hero,.panel{border-radius:18px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hero{padding:18px 20px;display:grid;gap:8px}.hero__eyebrow{justify-self:start;display:inline-flex;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:#174f79;padding:5px 10px;border-radius:999px;background:#b9e4ffad;border:1px solid rgba(39,105,153,.28)}.hero h1{font-size:clamp(1.5rem,2.5vw,2.2rem)}.hero__subtitle{color:var(--ink-sub)}.page-tabs{margin-top:6px;display:flex;flex-wrap:wrap;gap:8px}.tab-btn{background:linear-gradient(135deg,#4f6f8c,#3d666b);min-height:34px;padding:7px 13px}.tab-btn--active{background:linear-gradient(135deg,#1f6f9f,#2f7c67);box-shadow:0 10px 20px #194a6d33}.workspace{display:grid;gap:12px;grid-template-columns:1.18fr 1fr}.workspace--nets{grid-template-columns:.9fr 1.28fr}.panel{padding:15px;display:grid;gap:12px}.panel--nets-list,.panel--nets-detail{align-content:start}.panel__head{display:flex;justify-content:space-between;align-items:center;gap:10px}.status-pill{min-height:29px;border-radius:999px;border:1px solid rgba(38,72,57,.35);padding:4px 10px;font-size:.8rem;color:#204137;background:#e3f1ebbd;display:inline-flex;align-items:center}.status-pill--ok{color:#0f5f44;border-color:#147a5857;background:#c6f6e5d1}.status-pill--warn{color:#8a4519;border-color:#a6512c59;background:#ffe1cddb}.cube-stage{border-radius:16px;border:1px solid rgba(50,82,69,.25);background:radial-gradient(circle at 18% 10%,rgba(73,131,192,.18),transparent 40%),radial-gradient(circle at 82% 90%,rgba(58,144,116,.22),transparent 35%),var(--panel-strong);min-height:320px;display:grid;place-items:center;overflow:hidden}.cube-stage svg{width:min(96%,520px);height:auto}.cube-stage--sequence{min-height:420px;perspective:980px;overflow:hidden;cursor:grab;touch-action:none}.cube-stage--dragging{cursor:grabbing}.cube-orbit{width:min(100%,680px);transform-style:preserve-3d;transition:transform .16s ease}.cube-stage--sequence svg{width:min(100%,640px);height:auto;display:block;margin:0 auto}.face{stroke:#182e2547;stroke-width:1.3px}.face--front{fill:#fff6e1d6}.face--top{fill:#c2dfff8c}.face--left{fill:#d8e9d494}.face--right{fill:#ffddc594}.face--bottom{fill:#cae6e087}.face--back{fill:#b1c8c96b}.edge{stroke:#1d3a34;stroke-width:5.8px;stroke-linecap:round;cursor:pointer;transition:stroke .16s ease,stroke-width .16s ease,opacity .16s ease}.edge:hover{stroke:#2b6b9a}.edge--planned{stroke:var(--accent);stroke-width:6.4px}.edge--locked{stroke:#2a433d47;stroke-width:5px;opacity:.55}.edge--locked:hover{stroke:#2a433d47}.edge--active{stroke:var(--warn);stroke-width:7.2px}.edge--cut{stroke:var(--danger);stroke-dasharray:8 6;opacity:.85}.scissor-dot{fill:#fff5e4f5;stroke:#7e451ab3;stroke-width:1.5px}.scissor-icon{font-size:14px}.edge-toolbar{display:flex;flex-wrap:wrap;gap:8px}.edge-chip{border:1px solid rgba(42,93,148,.3);color:#204f77;background:#ebf8ffe6;min-height:34px;padding:7px 10px;border-radius:9px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.edge-chip:hover{transform:translateY(-1px);box-shadow:0 8px 14px #2a5d942e}.edge-chip--planned{color:#0f4f7e;border-color:#2a5d9485;background:#caeafff0}.edge-chip--cut{color:#6e2b2b;border-color:#7f2f2f66;background:#ffe1e1eb}.edge-chip:disabled{cursor:default;opacity:.65;transform:none;box-shadow:none}.button-row{display:flex;flex-wrap:wrap;gap:9px}button{border:none;min-height:36px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#1f6f9f,#2f7c67);padding:8px 14px;font-family:inherit;font-weight:700;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}.btn-muted{background:linear-gradient(135deg,#4f6f8c,#3d666b)}.btn-danger{background:linear-gradient(135deg,#8f3e3e,#7c2f2f)}.status-box{min-height:48px;border-radius:10px;padding:10px 12px;border:1px dashed rgba(38,72,57,.3);background:#ffffffa1;color:#2e4f45;display:flex;align-items:center}.metrics{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.metrics div{border-radius:10px;border:1px solid rgba(38,72,57,.22);background:#ffffffc2;padding:10px;display:grid;gap:4px}.metrics span{color:#4c625a;font-size:.82rem}.metrics strong{font-size:1.14rem}.judge{color:#355348;line-height:1.6}.spotlight-list{margin:0;padding-left:18px;display:grid;gap:8px;color:#355348}.spotlight-grid{display:grid;gap:9px}.spotlight-card{border-radius:10px;border:1px solid rgba(38,72,57,.23);background:#ffffffb8;padding:10px;display:grid;gap:6px}.spotlight-card h3{font-size:1.05rem}.spotlight-card p{color:#436257}.spotlight-badge{justify-self:start;min-height:24px;border-radius:999px;padding:3px 10px;color:#0f4f7e;border:1px solid rgba(42,93,148,.32);background:#d7ecfbc7;font-size:.75rem;display:inline-flex;align-items:center}.net-list{display:grid;gap:8px}.net-item{border:1px solid rgba(42,93,148,.26);border-radius:11px;background:#f0f8ffe0;color:var(--ink);display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:center;text-align:left;min-height:72px;padding:8px 9px;cursor:pointer}.net-item:hover{transform:translateY(-1px);box-shadow:0 10px 18px #2f5c8524}.net-item--active{border-color:#1f6f9f8a;background:#d4edffeb}.net-item__meta{display:grid;gap:4px}.net-item__meta strong{font-size:.95rem}.net-item__meta span{color:#4b655c;font-size:.8rem}.net-thumb{width:62px;height:62px;border:1px dashed rgba(33,79,116,.4);border-radius:8px;background:#fffc;position:relative;overflow:hidden}.net-thumb__cell{position:absolute;width:14px;height:14px;border-radius:3px;border:1px solid rgba(33,79,116,.35);background:#8cc4e7b3}.demo-block{display:grid;gap:9px}.demo-block h3{font-size:1.05rem}.cut-list{display:flex;flex-wrap:wrap;gap:7px}.cut-tag{min-height:30px;border-radius:999px;border:1px solid rgba(127,47,47,.35);background:#ffe4e1d6;color:#7a3730;padding:5px 11px;font-size:.82rem;display:inline-flex;align-items:center;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.cut-tag:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 14px #7f2f2f24}.cut-tag:disabled{cursor:default}.cut-tag--active{border-color:#a6512c94;background:#ffd5b3f0;color:#864014}.cut-tag--done{border-color:#147a5866;background:#d2f6e9e6;color:#0e684b}.net-stage{position:relative;border-radius:14px;border:1px solid rgba(31,72,61,.26);background:radial-gradient(circle at 50% 50%,#fffffff2,#ecf7efe6),repeating-linear-gradient(45deg,#285a4808,#285a4808 10px,#ffffff29 10px,#ffffff29 20px);min-height:290px;overflow:hidden}.net-stage--preview{display:grid;place-items:center;padding:12px}.net-stage--demo{min-height:360px}.door-stage{min-height:360px;border-radius:14px;border:1px solid rgba(31,72,61,.26);background:radial-gradient(circle at 50% 50%,#fffffff5,#e9f7f0e6),repeating-linear-gradient(45deg,#285a4808,#285a4808 10px,#ffffff29 10px,#ffffff29 20px);overflow:hidden}.door-scene{width:100%;min-height:inherit;display:grid;place-items:center;perspective:1120px}.door-world,.door-face-shell,.door-face{transform-style:preserve-3d}.door-world{position:relative;width:0;height:0;transform:rotateX(-24deg) rotateY(32deg)}.door-face-shell{position:absolute;left:0;top:0;width:0;height:0}.door-face{position:absolute;left:-36px;top:-36px;width:72px;height:72px;border-radius:11px;border:1.5px solid rgba(24,47,38,.35);box-shadow:0 8px 16px #17392d33;font-family:var(--font-cjk-ui);font-size:1.16rem;display:grid;place-items:center;backface-visibility:hidden;transition:transform .22s ease}.door-face--active{box-shadow:0 10px 18px #1f6f9f47}.door-controls{display:grid;gap:8px;padding:10px;border-radius:10px;border:1px solid rgba(38,72,57,.2);background:#ffffff9e}.view-controls{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}.view-controls p{margin:0;color:#3e5f53;font-size:.85rem}.door-controls__head{color:#2f5246;font-size:.88rem;font-weight:600}.door-angle-list{display:grid;gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}.door-angle-row{display:grid;gap:6px;padding:8px 9px;border-radius:8px;border:1px solid rgba(38,72,57,.2);background:#ffffffb3}.door-angle-row span{color:#3e5f53;font-size:.82rem}.door-angle-row input[type=range]{width:100%}.door-angle-row--disabled{opacity:.6}.net-face{position:absolute;left:calc(50% - 38px);top:calc(50% - 38px);width:76px;height:76px;border-radius:11px;border:1.5px solid rgba(24,47,38,.35);box-shadow:0 8px 16px #17392d2e;font-family:var(--font-cjk-ui);font-size:1.2rem;display:grid;place-items:center;transform-origin:center}.net-face--front{background:#fff4dc}.net-face--back{background:#dfeff7}.net-face--up{background:#ddeedc}.net-face--down{background:#fee9d7}.net-face--left{background:#e7eefb}.net-face--right{background:#e1f2eb}.flat-net-stage{position:relative;max-width:100%;border-radius:14px;border:1px solid rgba(31,72,61,.26);background:radial-gradient(circle at 50% 50%,#fffffff2,#ecf7efe6),repeating-linear-gradient(-45deg,#285a480a,#285a480a 10px,#ffffff2e 10px,#ffffff2e 20px);overflow:hidden}.flat-net-stage--compact{min-height:260px}.net-face--flat{left:0;top:0;color:var(--ink);transition:transform 80ms linear;will-change:transform}.net-final{position:relative;border-radius:14px;border:1px solid rgba(31,72,61,.26);background:radial-gradient(circle at 50% 50%,#fffffff2,#ecf7efe6),repeating-linear-gradient(-45deg,#285a480a,#285a480a 10px,#ffffff2e 10px,#ffffff2e 20px)}.final-face{position:absolute;width:56px;height:56px;border-radius:10px;border:1.5px solid rgba(24,47,38,.35);box-shadow:0 6px 10px #17392d24;display:grid;place-items:center;font-family:var(--font-cjk-ui);font-size:1.08rem}.axis-workspace{display:grid;gap:12px;grid-template-columns:.85fr 1.2fr}.panel--axis-list,.panel--axis-board{align-content:start}.axis-net-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.axis-net-card{min-height:118px;border:1px solid rgba(42,93,148,.26);border-radius:10px;background:#f0f8ffe0;color:var(--ink);display:grid;justify-items:center;gap:5px;padding:9px;text-align:center}.axis-net-card:hover{transform:translateY(-1px);box-shadow:0 10px 18px #2f5c8524}.axis-net-card--active{border-color:#1f6f9f94;background:#d4edfff0}.axis-net-card--muted{opacity:.72}.axis-net-card span{font-weight:700}.axis-net-card small{color:#4b655c}.axis-board{--axis-cell: 76px;display:grid;justify-content:center;gap:5px;min-height:350px;padding:18px;border-radius:14px;border:1px solid rgba(31,72,61,.26);background:radial-gradient(circle at 50% 50%,#fffffff5,#ecf7efe6),repeating-linear-gradient(-45deg,#285a480a,#285a480a 10px,#ffffff2e 10px,#ffffff2e 20px);overflow:auto}.axis-cell{width:var(--axis-cell);height:var(--axis-cell);border-radius:9px;border:1.5px solid rgba(24,47,38,.3);background:#ffffffdb;color:var(--ink);display:grid;place-items:center;align-content:center;gap:2px;padding:6px;box-shadow:0 7px 12px #17392d1f}.axis-cell:disabled{cursor:default;opacity:1}.axis-cell strong{font-size:1.15rem}.axis-cell span{color:#415f55;font-size:.75rem;font-weight:700;text-transform:uppercase}.axis-cell--selected{outline:3px solid rgba(20,122,88,.42);outline-offset:2px}.axis-cell--axis{border-color:#1f6f9fb8;background:#d8ecff}.axis-cell--cap{border-color:#a6672c94;background:#ffe7c7}.axis-fold{min-height:210px;display:grid;place-items:center;gap:10px;padding:14px;border-radius:14px;border:1px solid rgba(31,72,61,.22);background:#ffffff9e;overflow:hidden}.axis-belt{display:grid;grid-template-columns:repeat(4,62px);transform:perspective(560px) rotateX(54deg);transform-origin:center}.axis-belt span,.axis-cap{width:62px;height:62px;border-radius:9px;border:1.5px solid rgba(24,47,38,.32);display:grid;place-items:center;align-content:center;gap:2px;font-weight:800;box-shadow:0 8px 14px #17392d26}.axis-belt span{background:#d8ecff}.axis-belt small{color:#426071}.axis-cap{background:#ffe7c7;color:#5d4327}.cuboid-workspace{display:grid;gap:12px;grid-template-columns:.86fr 1.24fr}.panel--cuboid-left,.panel--cuboid-main{align-content:start}.cuboid-mode-row,.cuboid-net-tabs{display:flex;flex-wrap:wrap;gap:8px}.cuboid-mode,.cuboid-net-tab{min-height:34px;border-radius:9px;background:linear-gradient(135deg,#4f6f8c,#3d666b);padding:7px 11px}.cuboid-mode--active,.cuboid-net-tab--active{background:linear-gradient(135deg,#1f6f9f,#2f7c67);box-shadow:0 10px 20px #194a6d2e}.cuboid-pair-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.cuboid-face-card{min-height:78px;border-radius:8px;border:1px solid rgba(38,72,57,.24);color:var(--ink);display:grid;place-items:center;align-content:center;gap:4px;box-shadow:0 7px 12px #17392d1a}.cuboid-face-card--active{outline:3px solid rgba(31,111,159,.36);outline-offset:2px}.cuboid-face-card span,.cuboid-rect span{color:#405f54;font-size:.82rem}.cuboid-face-card--length-height,.cuboid-rect--length-height,.cuboid-net-face--length-height,.cuboid-pair-band--length-height span{background:#fff0cf}.cuboid-face-card--length-width,.cuboid-rect--length-width,.cuboid-net-face--length-width,.cuboid-pair-band--length-width span{background:#dceeff}.cuboid-face-card--width-height,.cuboid-rect--width-height,.cuboid-net-face--width-height,.cuboid-pair-band--width-height span{background:#dff2e7}.cuboid-pair-focus{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:12px;border-radius:12px;border:1px solid rgba(38,72,57,.2);background:#ffffff9e}.cuboid-rect{width:124px;height:92px;border-radius:9px;border:1.5px solid rgba(24,47,38,.32);display:grid;place-items:center;align-content:center;gap:3px;box-shadow:0 8px 14px #17392d21}.cuboid-pair-stage{min-height:420px;display:grid;place-items:center;gap:14px;padding:18px;border-radius:14px;border:1px solid rgba(31,72,61,.24);background:radial-gradient(circle at 50% 50%,#fffffff5,#ecf7efe6),repeating-linear-gradient(-45deg,#285a480a,#285a480a 10px,#ffffff2e 10px,#ffffff2e 20px)}.cuboid-pair-band{display:flex;gap:12px}.cuboid-pair-band span{min-width:116px;min-height:72px;border-radius:9px;border:1.5px solid rgba(24,47,38,.3);display:grid;place-items:center;font-weight:800;box-shadow:0 8px 14px #17392d21}.cuboid-main-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) 230px;align-items:stretch}.cuboid-net-board{position:relative;max-width:100%;border-radius:14px;border:1px solid rgba(31,72,61,.26);background:radial-gradient(circle at 50% 50%,#fffffff2,#ecf7efe6),repeating-linear-gradient(-45deg,#285a480a,#285a480a 10px,#ffffff2e 10px,#ffffff2e 20px);overflow:auto}.cuboid-net-face{position:absolute;border-radius:8px;border:2px solid rgba(28,61,50,.34);display:grid;place-items:center;align-content:center;gap:4px;box-shadow:0 8px 14px #193e3121}.cuboid-net-face span{color:#435f55;font-size:.78rem}.cuboid-fold-preview{min-height:250px;border-radius:14px;border:1px solid rgba(31,72,61,.22);background:#ffffff9e;display:grid;place-items:center;overflow:hidden}.cuboid-solid{position:relative;width:144px;height:108px;transform-style:preserve-3d;transform:rotateX(-18deg) rotateY(28deg)}.cuboid-solid__face{position:absolute;display:grid;place-items:center;border:1.5px solid rgba(24,47,38,.36);color:var(--ink);font-size:.82rem;font-weight:800}.cuboid-solid__face--front{width:144px;height:108px;background:#fff0cf}.cuboid-solid__face--top{width:144px;height:72px;background:#dceeff;transform:rotateX(90deg);transform-origin:top}.cuboid-solid__face--right{width:72px;height:108px;right:-72px;background:#dff2e7;transform:rotateY(90deg);transform-origin:left}.cuboid-check-list{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.cuboid-check{border-radius:8px;padding:9px 10px;display:grid;gap:3px;border:1px solid rgba(38,72,57,.22);background:#ffffffbd}.cuboid-check span{color:#415f55;font-size:.82rem}.cuboid-check--ok{border-color:#147a5861;background:#d7f7ebd1}.cuboid-check--bad{border-color:#7f2f2f61;background:#ffe2e2d1}@media (max-width: 980px){.workspace,.axis-workspace,.cuboid-workspace,.cuboid-main-grid{grid-template-columns:1fr}}@media (max-width: 640px){.surface-lab{width:96vw;padding-top:16px}.hero,.panel{padding:12px}.cube-stage{min-height:250px}.metrics{grid-template-columns:1fr}.net-item{grid-template-columns:62px 1fr}.net-stage--demo,.door-stage{min-height:300px}.door-angle-list{grid-template-columns:1fr}.view-controls{align-items:stretch}.view-controls .btn-muted{width:100%}.axis-net-grid{grid-template-columns:1fr}.axis-board{--axis-cell: 58px;min-height:290px;padding:12px}.axis-belt{grid-template-columns:repeat(4,50px)}.axis-belt span,.axis-cap{width:50px;height:50px}.cuboid-pair-grid,.cuboid-check-list{grid-template-columns:1fr}.cuboid-pair-stage{min-height:330px}.cuboid-pair-band{flex-direction:column;gap:8px}.cuboid-net-board{min-width:390px}.cuboid-fold-preview{min-height:210px}}
