body{background:radial-gradient(ellipse at 30% 5%,#25392b 0,transparent 65%),#111b15} .cut-shell{max-width:1360px;margin:auto;padding:0 32px}.cut-header{min-height:77px;border-bottom:1px solid #3c4b3f;display:flex;align-items:center;gap:18px}.cut-brand{display:flex;align-items:center;font-size:19px;font-weight:900;letter-spacing:.04em;gap:9px}.cut-brand img{width:33px}.cut-brand>span{color:#e5c67a;margin-left:-7px}.edition{font-size:9px;letter-spacing:.15em;color:#9cb098}.cut-header nav{display:flex;gap:6px;margin-left:auto}.cut-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:29px 0 24px}.cut-heading h1{font-size:clamp(30px,3.3vw,47px);line-height:1.08;letter-spacing:-.055em;margin:9px 0 10px}.cut-heading h1>span{color:#d8c37e}.cut-heading p{font-size:13px;color:#b0c1ab;margin:0}.cut-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cut-meta>span{font-size:12px;color:#e5ca86;padding:10px 12px;border:1px solid #695b39;border-radius:20px;white-space:nowrap}.cut-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px;align-items:start}.cutter-card{background:linear-gradient(140deg,#25372b,#1c2b21);border:1px solid #52654b;border-radius:20px;overflow:hidden;box-shadow:0 22px 70px #0003}.puzzle-heading{display:flex;align-items:center;padding:17px 22px;gap:14px;border-bottom:1px solid #455940}.puzzle-heading>span{font-size:10px;letter-spacing:.11em;color:#dacb90;white-space:nowrap}.puzzle-heading h2{font-size:14px;margin:0;line-height:1.4;font-weight:650}.puzzle-heading>b{margin-left:auto;white-space:nowrap;font-size:11px;color:#b9c8af;font-weight:500}.workbench{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:13px;padding:20px 22px 10px;background-image:radial-gradient(#40543b 1px,transparent 1px);background-size:16px 16px}.sheet-stage{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-x:auto;padding:5px 0}.sheet-svg{width:100%;max-width:440px;height:auto;max-height:440px;overflow:visible;display:block;touch-action:manipulation;user-select:none}.sheet-svg [data-pos]{cursor:crosshair}.sheet-svg [data-pos]:focus-visible{outline:none;filter:brightness(1.35)}.sheet-svg text{pointer-events:none;font-family:inherit}.board-legend{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;font-size:10px;color:#b7c6ad;margin:15px 0 2px}.paper-dot{display:inline-block;width:9px;height:9px;background:#cbb994;margin-right:4px;border-radius:2px}.tool-rail{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center}.tool-rail section{width:100%;padding:14px 8px;background:#15221bcc;border:1px solid #485f42;border-radius:12px}.mini-label{font-size:9px;letter-spacing:.11em;font-weight:750;color:#a9bda0;line-height:1.6}.large-shape{height:65px;display:flex;justify-content:center;align-items:center;margin:11px 0 6px}.large-shape svg{max-height:65px;width:70px}.large-shape .empty-result{font-size:30px;color:#82927c}.tool-rail small{font-size:10px;color:#a8bea0}.tool-rail .next-tool{border-style:dashed}.tool-rail .next-tool.legal{border-style:solid;border-color:#b7d98f;background:#283b25}.rail-arrow{font-size:18px;color:#a4c092;line-height:1}.tool-rail section.target-box{margin-top:7px;border:0;background:transparent;padding:7px}.target-shape{height:42px;margin-top:7px}.target-shape svg{height:40px;max-width:80px}.cut-controls{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:8px 22px 0}.position-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.arrow-button{width:44px;padding:8px;min-width:44px}.rotate-button{font-size:12px;min-width:92px}.cut-action{min-width:170px;min-height:48px;letter-spacing:.08em;font-size:13px;border-radius:11px}.cut-status{font-size:12px;line-height:1.5;color:#e4b8a0;min-height:42px;padding:10px 22px 6px}.cut-status.legal{color:#bfcea9}.queue-title{border-top:1px solid #44573e;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 22px 10px}.queue-title>span:last-child{font-size:10px;color:#8fa283;white-space:nowrap}.sheet-queue{display:flex;gap:8px;padding:0 22px 15px;overflow-x:auto;scrollbar-width:thin}.sheet-queue button{position:relative;flex:1;min-width:70px;max-width:110px;background:#19281d;min-height:91px;padding:8px 9px;display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid #4b5d41}.sheet-queue button>span{align-self:flex-start;font-size:10px;color:#b9c9ad}.sheet-queue svg{width:55px;height:51px}.sheet-queue .past{opacity:.5}.sheet-queue .current{border:2px solid #cbe39e;background:#2b4025;padding:7px 8px}.sheet-queue button>small{position:absolute;top:6px;right:7px;font-size:8px;color:#d8eca9}.bottom-tools{display:flex;align-items:center;gap:7px;padding:12px 22px;background:#17231a;border-top:1px solid #42543b}.bottom-tools button{font-size:11px;min-height:43px;padding:9px 11px}.bottom-tools>span{margin-left:auto;font-size:10px;color:#94aa87;text-align:right}.cut-aside{display:grid;gap:14px}.cut-aside>section{border-radius:16px;border:1px solid #3f5239;padding:22px;background:#19271ed9}.planning-card h2{font-size:24px;line-height:1.18;letter-spacing:-.03em;margin:13px 0 15px;color:#e9e8d6}.cut-aside p{font-size:12px;line-height:1.8;color:#aebda5;margin:10px 0}.three-rules{display:grid;gap:11px;border-top:1px solid #3f5338;padding-top:17px;margin-top:17px}.three-rules>span{display:flex;align-items:center;gap:11px;font-size:11px;color:#c5d3b9}.three-rules b{display:grid;place-items:center;width:25px;height:25px;border-radius:5px;background:#35462c;color:#d8ecb1;font-size:18px}.three-rules>span:nth-child(2) b{background:#62463b;color:#ffd8bb}.history-list{display:grid;gap:8px;max-height:260px;overflow:auto;padding:3px}.history-list button{display:flex;gap:13px;align-items:center;justify-content:space-between;padding:8px;min-height:52px;background:#142117}.history-list svg{width:37px;height:37px}.history-list span{font-size:11px;color:#b7caa4}.campaign-count{font-size:36px;font-weight:700;letter-spacing:-.05em;margin-top:12px;color:#deebc7}.campaign-count>span{font-size:19px;font-weight:400;color:#849a77;margin-left:6px}.cut-footer{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#8da180;margin:25px 0 30px}.lesson{display:flex;align-items:center;gap:17px;padding:18px 22px;margin-bottom:20px;background:#34432a;border:1px solid #b8bd79;border-radius:16px;max-width:1046px}.lesson h2{font-size:19px;margin:5px 0 6px;letter-spacing:-.02em}.lesson p{font-size:12px;line-height:1.65;margin:0;color:#d2dcba;max-width:740px}.lesson-number{display:grid;place-items:center;border:1px solid #999e65;border-radius:12px;width:49px;height:49px;flex:none;font-size:13px;color:#efdfa3}.lesson .small{margin-left:auto;align-self:flex-start}.lesson-target{border:2px solid #f3d87d!important;box-shadow:0 0 0 3px #ead68b22}.chain-win{padding:22px;display:flex;align-items:center;gap:15px;background:#34482b;border-block:1px solid #a5bb78}.chain-win>span{font-size:25px;background:#c4e794;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;color:#273a1c;flex:none}.chain-win h2{font-size:20px;letter-spacing:-.03em;margin:6px 0}.chain-win p{font-size:11px;line-height:1.6;color:#c5d7b1;margin:0}.chain-win .primary{margin-left:auto;min-width:150px;font-size:12px;flex:none}.cut-hint{padding:17px 22px;background:#2f4028;border-top:1px solid #6c8856}.cut-hint p{font-size:12px;line-height:1.7;margin:0 0 10px}.cut-hint button{font-size:12px}.cut-modal{width:min(760px,100%)}.inspect-board{display:grid;place-items:center;margin:10px 0 20px}.inspect-board svg{max-width:400px;max-height:380px}.inspect-goal{display:flex;align-items:center;justify-content:center;gap:20px;font-size:12px;color:#d8d5a7}.inspect-goal svg{width:55px;height:55px}.chain-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.chain-levels button{display:grid;grid-template-columns:30px 1fr;gap:8px;padding:14px;background:#17261c;align-items:center}.chain-levels button>b{font-size:15px;color:#e6cf94}.chain-levels button svg{height:45px;max-width:65px;justify-self:end}.chain-levels button span{grid-column:1/-1;font-size:11px;font-weight:650;text-align:left}.chain-levels button small{grid-column:1/-1;font-size:9px;color:#a4b794;text-align:left}.cut-modal input{width:100%;background:#142318;border:1px solid #6f855b;padding:14px;border-radius:10px;font:inherit;color:#e9eedb;margin:10px 0 18px}.ego-entry{padding:20px;border:1px solid #b4a366;border-radius:12px;margin:15px 0;background:#2a3822}.ego-entry>span{font-size:10px;color:#d3c187}.ego-entry strong{display:block;margin-top:10px;font-size:23px}.ego-entry b{float:right;color:#e6cd7d}
@media(min-width:1500px){.cut-shell{padding-top:12px}.sheet-svg{max-width:480px;max-height:480px}}@media(max-width:1000px){.cut-shell{padding:0 20px}.cut-layout{grid-template-columns:minmax(0,1fr) 220px;gap:16px}.workbench{grid-template-columns:minmax(0,1fr) 106px;gap:10px;padding:16px 15px 8px}.cut-aside>section{padding:18px}.planning-card h2{font-size:21px}.cut-action{min-width:135px}.cut-controls{padding:8px 15px 0}.puzzle-heading{padding:14px 15px;gap:9px}.puzzle-heading h2{font-size:12px}.queue-title,.sheet-queue,.bottom-tools{padding-inline:15px}.tool-rail .mini-label{font-size:8px}.large-shape{height:54px}.large-shape svg{max-height:54px;max-width:63px}.tool-rail section{padding:11px 5px}.edition{display:none}.bottom-tools>span{display:none}}
@media(max-width:760px){.cut-shell{padding:0 13px}.cut-header{min-height:64px;gap:7px}.cut-brand{font-size:14px;gap:6px}.cut-brand img{width:28px}.cut-header nav{gap:4px}.cut-header nav button{font-size:10px;padding:7px 8px;min-height:40px}.cut-heading{padding:23px 0 20px;display:block}.cut-heading h1{font-size:34px;max-width:360px}.cut-heading p{font-size:12px;line-height:1.6}.cut-meta{justify-content:flex-start;margin-top:14px;gap:7px}.cut-meta button{font-size:11px}.cut-meta>span{margin-left:auto;font-size:11px;padding:7px 10px}.cut-layout{grid-template-columns:1fr}.cut-aside{grid-template-columns:1fr 1fr;gap:11px}.planning-card{grid-column:1/-1}.planning-card h2 br{display:none}.planning-card h2{font-size:20px}.planning-card .three-rules{grid-template-columns:repeat(3,1fr);gap:6px}.three-rules>span{flex-direction:column;align-items:flex-start;gap:7px}.cut-aside>section{padding:17px}.cut-aside p{font-size:11px}.lesson{padding:15px 13px;gap:10px;align-items:flex-start;margin-bottom:15px}.lesson-number{width:35px;height:35px;font-size:11px;border-radius:9px}.lesson .eyebrow{font-size:9px}.lesson h2{font-size:17px;line-height:1.2}.lesson p{font-size:11px;line-height:1.7}.lesson .small{font-size:10px;min-height:36px;padding:6px 8px}.workbench{grid-template-columns:minmax(0,1fr) 88px;padding:11px 10px 6px;gap:8px}.tool-rail{gap:5px}.tool-rail section{padding:9px 4px;border-radius:9px}.tool-rail .mini-label{font-size:7px;letter-spacing:.06em}.large-shape{height:42px;margin:7px 0 4px}.large-shape svg{height:42px;max-width:49px}.tool-rail small{font-size:8px}.target-shape,.target-shape svg{height:32px}.rail-arrow{font-size:14px}.board-legend{font-size:8px;gap:7px;margin:9px 0 0}.sheet-svg{min-width:calc(var(--cols)*32px);max-height:385px}.sheet-stage{align-items:safe center;scrollbar-width:thin}.cut-controls{padding:10px 11px 0;gap:8px;flex-wrap:wrap}.position-controls{gap:4px;flex:1}.rotate-button{min-width:72px;font-size:11px;padding:9px 10px}.arrow-button{width:40px;min-width:40px;min-height:44px}.cut-action{min-width:100%;min-height:48px;margin-top:3px}.cut-status{font-size:11px;padding:10px 12px;min-height:49px}.puzzle-heading{padding:13px 12px;flex-wrap:wrap;gap:6px 10px}.puzzle-heading h2{font-size:12px}.puzzle-heading>span{font-size:9px}.puzzle-heading>b{font-size:10px}.queue-title{padding:12px 12px 9px}.queue-title>span:first-child{font-size:8px}.queue-title>span:last-child{display:none}.sheet-queue{gap:6px;padding:0 12px 12px}.sheet-queue button{min-width:66px;min-height:86px;padding:7px;flex:none;width:66px}.sheet-queue svg{width:48px;height:48px}.sheet-queue .current{padding:6px}.bottom-tools{padding:11px 12px;gap:5px}.bottom-tools button{font-size:10px;padding:8px 10px;flex:1}.chain-win{padding:16px 13px;gap:10px;flex-wrap:wrap}.chain-win h2{font-size:19px}.chain-win>div{max-width:calc(100% - 55px)}.chain-win .primary{width:100%;margin-top:7px}.cut-footer{font-size:9px;flex-wrap:wrap;margin:20px 0 26px}.chain-levels{grid-template-columns:repeat(2,1fr);gap:8px}.chain-levels button{padding:11px}.cut-modal{padding:18px}.cut-hint{padding:14px}.cut-hint p{font-size:11px}.history-list{max-height:185px}.history-list button{gap:6px}.history-list svg{width:28px;height:28px}}
@media(max-width:760px){.workbench{grid-template-columns:1fr;padding:12px}.tool-rail{order:-1;flex-direction:row;gap:7px;align-items:stretch}.tool-rail section{flex:1;width:auto;padding:8px 5px}.tool-rail .large-shape{height:33px;margin:6px 0 4px}.tool-rail .large-shape svg{height:33px;max-width:47px}.tool-rail .rail-arrow{align-self:center;transform:rotate(-90deg)}.tool-rail section.target-box{flex:0 0 75px;margin:0;display:flex;flex-direction:column;justify-content:center}.tool-rail .target-shape{height:33px;margin-top:8px}.sheet-svg{min-width:calc(var(--cols)*36px);max-height:370px;max-width:370px}.sheet-stage{padding:4px 0 0}.board-legend{font-size:9px;margin-top:12px}.cut-controls{position:sticky;bottom:0;z-index:2;background:#1e3023;padding-bottom:10px;border-top:1px solid #41563b}.arrow-button{width:44px;min-width:44px}}
.cut-aside>section.cut-heckler{display:flex;align-items:center;gap:11px;padding:15px}.cut-heckler img{width:63px;height:76px;object-fit:contain;flex:none}.cut-heckler p{font-size:11px;font-style:italic;color:#dfcf9a;line-height:1.7;margin:7px 0 0}.cut-heckler .eyebrow{font-size:9px}@media(max-width:760px){.cut-aside>section.cut-heckler{grid-column:1/-1}.cut-heckler img{width:56px;height:64px}}
.cut-shell [hidden]{display:none!important}.lesson-handoff{display:flex;flex-direction:column;gap:8px;margin-left:auto;flex:none}.lesson-handoff .primary{margin:0;min-width:160px}.tutorial-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tutorial-options button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:10px;padding:20px;background:#213420;min-height:175px}.tutorial-options strong{font-size:19px;line-height:1.2;letter-spacing:-.02em}.tutorial-options small{font-size:12px;font-weight:400;line-height:1.7;color:#b8caae}@media(max-width:760px){.lesson-handoff{width:100%;margin-top:8px}.lesson-handoff .primary{width:100%;margin:0}.lesson-handoff .small{min-height:42px}.tutorial-options{grid-template-columns:1fr}.tutorial-options button{min-height:140px;padding:17px}}
/* Board coordinates, canvas size and surrounding slots stay fixed during play. */
.workbench{align-items:start}.sheet-stage{justify-content:flex-start;align-items:safe center;overflow-anchor:none}.sheet-svg{max-height:none;width:100%;min-width:0;max-width:440px;flex:none}.tool-rail small{white-space:nowrap;display:block;min-height:14px;line-height:14px}.tool-rail .mini-label{display:block;min-height:2.8em}.board-legend{min-height:17px}.lesson{height:155px;min-height:155px;align-items:flex-start}.lesson>div:not(.lesson-number){min-width:0;max-height:100%;overflow-y:auto}.cutter-card{overflow-anchor:none}.cut-status{height:48px;min-height:48px;overflow:auto}@media(max-width:760px){.sheet-svg{width:max(100%,calc(var(--cols)*32px));min-width:0;max-width:440px;max-height:none}.lesson{height:220px;min-height:220px}.cut-status{height:62px;min-height:62px}}@media(max-width:380px){.lesson{height:248px;min-height:248px}}

/* Actual lost piece, never a ghost of the solution. */
.mistake-comparison{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px;background:#17251c;border-radius:12px}.mistake-comparison figure{margin:0;flex:1;min-width:0;text-align:center}.mistake-comparison svg{display:block;width:72px;height:72px;margin:auto}.mistake-comparison figcaption{font-size:12px;line-height:1.35;margin-top:6px}.sheet-queue button.mistake-sheet{outline:3px solid #edb198;outline-offset:-3px}.run-result{font-size:14px;line-height:1.6;padding:8px 12px;border-left:3px solid #c8e49d;color:#e1edce}.cut-feedback .sheet-svg{animation:cut-settle .18s ease-out}.cut-result .result-heckler{animation:cut-settle .28s ease-out}@keyframes cut-settle{from{transform:translateY(-4px);opacity:.7}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.cut-feedback .sheet-svg,.cut-result .result-heckler{animation:none}}.reduced .cut-feedback .sheet-svg,.reduced .cut-result .result-heckler{animation:none}
/* Mastery is earned by one actual unassisted run, independently of difficulty. */
.mastery-heading{display:flex;align-items:center;gap:16px}.mastery-heading svg{width:64px;height:56px}.mastery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:8px;margin:16px 0}.mastery-grid button{min-width:0;min-height:54px;display:flex;justify-content:space-around;align-items:center}.mastery-grid span{color:#ead38e}.finale-strip{display:flex;align-items:center;gap:6px;overflow-x:auto;padding:12px 0;max-width:100%}.finale-strip svg{width:36px;height:42px;flex:0 0 36px}.finale-strip span{flex:0 0 auto}.finale-moment{text-align:center}.finale-moment>img{width:clamp(96px,22vh,180px);height:auto}.finale-moment .finale-strip{justify-content:safe center}.finale-moment .finish-actions{display:flex;flex-wrap:wrap;gap:8px}.finale-moment .finish-actions button{flex:1}.mastery-heading+progress, .cut-modal progress{width:100%}
@media(prefers-reduced-motion:no-preference){.finale-moment>img{animation:finale-bow .65s ease-out both}.cut-feedback .sheet-stage{animation:cut-settle .18s ease-out}.finale-strip svg:last-child{animation:finale-glow .7s ease-out both}}
@keyframes finale-bow{0%{transform:translateY(-10px) rotate(-8deg);opacity:.3}65%{transform:translateY(3px) rotate(3deg)}100%{transform:none;opacity:1}}
@keyframes finale-glow{from{filter:drop-shadow(0 0 12px #ead38e)}to{filter:none}}
@keyframes cut-settle{from{transform:scale(.985);opacity:.7}to{transform:none;opacity:1}}

.reduced .finale-moment>img,.reduced .finale-strip svg{animation:none!important}

.daily-shapes{display:flex;align-items:center;gap:5px}.daily-shapes svg{width:38px;max-height:54px}.mastery-grid button{padding:8px}
