@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#24382d;background:#f6f7f4;font-size:16px;--green:#244b37;--line:#e0e5dd;--muted:#6a766c;--wood:#cba574;--soft:#edf2e9}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #bd7e36;outline-offset:3px}button{color:inherit}a{color:inherit}input::-webkit-inner-spin-button{opacity:.4}button:disabled{cursor:default;opacity:.45}[hidden]{display:none!important}.topbar{height:90px;border-bottom:1px solid var(--line);display:flex;align-items:center;background:#fff}.topbar-content{width:100%;max-width:1440px;margin:auto;padding:0 4vw;display:flex;align-items:center}.brand{text-decoration:none;font:800 29px Manrope,sans-serif;display:flex;align-items:center;gap:12px}.brand-icon{display:block;flex:none;height:38px;width:38px}.brand-caption{font:600 11px 'DM Sans',sans-serif;letter-spacing:1.5px;max-width:90px;line-height:1.5;border-left:1px solid var(--line);margin-left:9px;padding-left:21px}.header-note{font-size:14px;color:var(--muted)}main{max-width:1440px;margin:auto;padding:38px 4vw 0}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.7px;color:#627661;margin:0 0 11px}h1{font:750 clamp(30px,3vw,40px)/1.16 Manrope,sans-serif;letter-spacing:-1.3px;margin:0 0 10px}.intro>div>p:last-child{margin:0;color:var(--muted);font-size:15px}.quiet{display:flex;align-items:center;justify-content:center;gap:11px;background:#fff;border:1px solid var(--line);padding:11px 15px;border-radius:7px;font-size:14px;font-weight:600}.quiet:hover{background:var(--soft)}.workspace{display:grid;grid-template-columns:330px minmax(0,1fr);gap:24px;align-items:start}.controls{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.control-section{padding:24px;border-bottom:1px solid var(--line)}.control-section.last{border:0}h2{font:700 19px Manrope,sans-serif;margin:0;letter-spacing:-.45px}.control-section h2{display:flex;align-items:center;gap:12px;font-size:17px;margin-bottom:22px}.step{font:650 11px 'DM Sans',sans-serif;display:grid;place-items:center;width:26px;height:26px;border:1px solid #d8e2d3;border-radius:50%;color:#657960}.shape-options{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:21px}.shape{background:#fff;border:1px solid var(--line);border-radius:7px;padding:11px 2px 8px;font-size:12px;display:flex;flex-direction:column;align-items:center;gap:7px}.shape svg{width:38px;height:29px;fill:none;stroke:#81917b;stroke-width:3;stroke-linejoin:round}.shape.active{border-color:#466f46;background:#eef4e9;color:var(--green)}.shape.active svg{stroke:#3e663f;fill:#dce8d4}.shape:hover{background:var(--soft)}label{display:block;font-size:14px;font-weight:550;line-height:1.5}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.number-field{margin-top:7px;display:flex;align-items:center;border:1px solid #d7ded2;border-radius:6px;background:#fff;overflow:hidden}.number-field input{min-width:0;width:100%;padding:10px 0 10px 12px;border:0;outline:0;background:transparent;color:#22362b;font-size:16px}.number-field:focus-within{outline:2px solid #7f9b69;outline-offset:1px}.number-field span{padding:0 10px;color:#7f877d;font-size:13px}.field-help{font-size:12px;line-height:1.6;color:var(--muted);margin:10px 0 0}.orientation-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.orientation{display:flex;gap:11px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:7px;background:#fff;padding:12px 6px;text-align:left}.orientation.active{background:#eef4e9;border-color:#466f46}.orientation strong{display:block;font-size:13px;font-weight:600}.orientation small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.cross-section{display:block;background:#cda97a;border:1px solid #a17b4e;box-shadow:inset 3px 0 #e4c698}.cross-section.edge{height:30px;width:16px}.cross-section.flat{height:16px;width:30px}select{background:#fff;border:1px solid #d7ded2;border-radius:6px;padding:11px 12px;color:inherit;width:100%;margin-top:7px;font-size:15px}.kerf-label{margin-top:19px;position:relative}.label-note{color:var(--muted);font-size:12px;font-weight:400;margin-left:5px}.small{width:100%}.results{min-width:0}.preview-panel,.cut-panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:25px 27px 0}.panel-heading .eyebrow{margin-bottom:8px;font-size:10px}.view-toggle{display:flex;background:#f1f3ee;border-radius:6px;padding:3px}.view-toggle button{background:transparent;border:0;border-radius:4px;font-size:12px;padding:8px 11px;white-space:nowrap;color:var(--muted)}.view-toggle button.active{background:white;box-shadow:0 1px 4px #1e331817;color:#2b4632;font-weight:600}.preview{height:340px;padding:0 22px;background:radial-gradient(ellipse at 50% 65%,#eaf0e5 0,white 65%);display:flex;align-items:center;justify-content:center}.preview svg{width:100%;height:100%;overflow:visible}.preview-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 26px;border-top:1px solid #edf0e9;font-size:12px;color:var(--muted)}.course-control{font-size:12px;display:flex;align-items:center;gap:8px;font-weight:400;white-space:nowrap}.course-control select{width:58px;padding:4px 6px;font-size:12px;margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin:20px 0;border:1px solid var(--line);border-radius:10px;background:#edf2e9;padding:20px 0}.stats>div{padding:0 20px;border-right:1px solid #d7e0d1}.stats>div:last-child{border:0}.stats span{font-size:12px;color:#50664c;display:block}.stats strong{display:block;font:700 30px/1.1 Manrope,sans-serif;letter-spacing:-1px;margin:8px 0}.stats small{font-size:11px;color:var(--muted)}.cut-panel .panel-heading{padding-bottom:20px}.print-button{border:0;background:#f3f5ef;padding:10px 12px;font-size:12px}.print-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4}.cut-tabs{display:flex;border-bottom:1px solid var(--line);padding:0 26px;gap:25px}.cut-tabs button{padding:12px 0;border:0;background:none;font-size:14px;color:var(--muted);border-bottom:2px solid transparent}.cut-tabs button.active{border-color:var(--green);color:var(--green);font-weight:600}.cut-tabs span{margin-left:5px;background:#edf0e9;border-radius:4px;padding:2px 5px;font-size:11px}.cut-intro{padding:0 26px;margin:19px 0;font-size:13px;color:var(--muted);line-height:1.6}#cut-layout{padding:0 26px 22px}.stock-row{display:grid;grid-template-columns:71px minmax(0,1fr) 84px;gap:12px;align-items:center;margin:15px 0}.stock-label{font-size:12px;font-weight:550;white-space:nowrap}.stock-bar{display:flex;height:34px;background:repeating-linear-gradient(135deg,#f2f1ec,#f2f1ec 5px,#e6e5df 5px,#e6e5df 6px);border:1px solid #d3b78c;border-radius:4px;overflow:hidden}.cut-piece{flex-shrink:0;display:flex;justify-content:center;align-items:center;background:#ddc299;color:#5f462d;font-size:12px;font-weight:600;border-right:1px solid #98764d;position:relative;min-width:0}.cut-piece:nth-child(even){background:#cba775}.cut-piece .piece-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 3px}.offcut-label{text-align:right;font-size:11px;color:var(--muted)}.more{width:100%;background:#f4f6ef;border:1px solid var(--line);border-radius:6px;padding:9px;font-size:13px}#cut-list{padding:0 26px 24px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-size:12px;color:var(--muted);font-weight:500;background:#f5f7f1}td,th{padding:11px 12px;border-bottom:1px solid #e5e9df}td:first-child{font-weight:600}.plan-note{margin:0 26px 24px;border-top:1px solid var(--line);padding-top:17px;display:flex;gap:10px;color:var(--muted);font-size:12px;line-height:1.6}.plan-note>span{font-size:17px;color:#587047}.plan-note strong{font-weight:600;color:#4e6148}.plan-note p{margin:5px 0}footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:30px 0;font-size:11px;color:#8b9485}.footer-brand{font:700 18px Manrope,sans-serif;color:#51624a}.draw-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:3px;margin:12px 0}.grid-cell{aspect-ratio:1;border:1px solid #cfdac5;background:#f5f7ef;border-radius:3px;padding:0}.grid-cell.selected{background:#c5d9b6;border-color:#6e9258}.text-button{border:0;background:transparent;font-size:12px;text-decoration:underline;padding:4px 0;color:#667b5c}#error{margin:20px 26px 5px;border:1px solid #dab291;background:#fff4ea;color:#874921;padding:12px 15px;border-radius:7px;font-size:14px;line-height:1.5}.dim-text{font-family:'DM Sans',sans-serif;font-size:14px;fill:#667660}.side-label{font-family:'DM Sans',sans-serif;font-size:13px;fill:#fff;font-weight:600}.dimension{stroke:#9caa93;stroke-width:1;fill:none}.print-meta{display:none}
.save-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:8px 24px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 24px;margin-bottom:24px}.save-description h2{font-size:17px}.save-description .field-help{margin-top:6px}.save-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px}.save-controls label{min-width:0}.save-controls select{font-size:14px}.save-name{display:block;width:100%;min-width:0;margin-top:7px;padding:11px 12px;background:#fff;border:1px solid #d7ded2;border-radius:6px;color:inherit;font-size:14px}.save-name::placeholder{color:var(--muted)}.save-actions{display:flex;gap:8px}.save-actions .quiet{min-height:43px}.save-primary{background:var(--green);border-color:var(--green);color:#fff}.save-primary:hover{background:#346347}.save-detail{grid-column:1/-1;margin:0}.save-status{grid-column:1/-1;font-size:13px;color:var(--green);line-height:1.6;margin:0}.save-status:empty{display:none}.save-error{color:#874921}
@media(max-width:800px){.save-panel{padding:20px}.save-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.save-actions{grid-column:1/-1}.save-description{margin-bottom:4px}}
@media(max-width:540px){.save-controls{display:grid;grid-template-columns:1fr}.save-actions .quiet{flex:1}.save-panel{padding:18px}}
.cut-piece{border:0;border-right:1px solid #98764d;border-radius:0;padding:0}.cut-piece:hover,.cut-piece.is-highlighted{background:#ffd481;color:#553b16;box-shadow:inset 0 0 0 2px #9a5b10}.cut-piece:focus-visible{outline:3px solid #9a5b10;outline-offset:-3px}.cut-hover-help{margin:0 26px 16px;font-size:13px;color:var(--muted);line-height:1.6}.preview-panel{position:relative}.piece-detail{position:absolute;left:0;right:0;bottom:0;min-height:48px;display:flex;align-items:center;margin:0;padding:10px 26px;background:#fff3d6;border-top:1px solid #edcf8d;color:#795018;font-size:13px;line-height:1.5}.piece-peek{position:fixed;top:16px;right:16px;width:min(340px,calc(100vw - 32px));z-index:20;pointer-events:none;background:#fff;border:1px solid #dfc184;border-radius:12px;box-shadow:0 8px 30px #24382d26;overflow:hidden}.piece-peek svg{display:block;width:100%;height:auto}.piece-peek p{margin:0;padding:10px 14px;background:#fff3d6;color:#795018;font-size:13px;line-height:1.5}@media(max-width:540px){.cut-hover-help{margin-left:18px;margin-right:18px}.piece-peek{width:260px}}@media print{.save-panel,.piece-peek,.piece-detail,.cut-hover-help{display:none!important}.cut-piece.is-highlighted,.cut-piece:hover{background:#ddc299;box-shadow:none}}
.cost-label{margin-top:20px}.cost-error{font-size:13px;line-height:1.6;color:#874921;margin:10px 0 0}.cost-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 16px;align-items:center;padding:18px 24px;margin:0 0 20px;background:#fff;border:1px solid var(--line);border-radius:10px}.cost-summary h2{font-size:15px}.cost-summary strong{font:700 28px/1.2 Manrope,sans-serif;text-align:right;overflow-wrap:anywhere}.cost-summary p{grid-column:1/-1;margin:0;color:var(--muted);font-size:13px;line-height:1.6}@media(max-width:540px){.cost-summary{padding:17px 20px}.cost-summary strong{font-size:25px}}@media print{.cost-summary{break-inside:avoid;padding:10px 0;border:0}.cost-summary strong{font-size:23px}}
.intro-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px;margin-left:auto}.units-toggle{display:flex;background:#e9eee5;border:1px solid var(--line);border-radius:7px;padding:3px;white-space:nowrap}.units-toggle button{border:0;border-radius:4px;background:transparent;color:var(--muted);padding:8px 12px;font-size:13px}.units-toggle button.active{background:#fff;color:var(--green);font-weight:600;box-shadow:0 1px 4px #1e331817}.units-help{font-size:13px;line-height:1.6;color:var(--muted);margin:-12px 0 24px;max-width:750px}.measurement-fields.imperial{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:7px}.measurement-fields.imperial input{font-size:14px;padding-left:8px}.measurement-fields.imperial .number-field span{padding:0 7px}.number-field input[aria-invalid="true"]{color:#874921}@media(max-width:540px){.intro{flex-wrap:wrap}.intro-actions{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.intro .intro-actions .quiet{margin-top:0}.units-toggle button{padding:8px 11px}.units-help{margin-top:-10px}.measurement-fields.imperial input{font-size:15px}}@media print{.intro-actions,.units-help{display:none!important}}
@media(min-width:1500px){main,.topbar-content{padding-left:40px;padding-right:40px}.preview{height:385px}}
@media(max-width:1100px){.workspace{grid-template-columns:300px minmax(0,1fr);gap:18px}.control-section{padding:20px}.panel-heading{padding-left:20px;padding-right:20px}.panel-heading h2{font-size:17px}.stats>div{padding:0 12px}.stats strong{font-size:25px}.preview-footer{padding:12px 20px}.stock-row{grid-template-columns:64px minmax(0,1fr) 67px;gap:8px}}
@media(max-width:800px){.topbar{height:74px}.topbar-content{padding:0 20px}.header-note{display:none}main{padding:27px 20px 0}.intro{margin-bottom:25px;gap:15px}.intro>div>p:last-child{font-size:14px}.intro .quiet{font-size:12px;white-space:nowrap}.workspace{grid-template-columns:1fr}.controls{display:grid;grid-template-columns:1fr 1fr}.control-section:first-child{grid-row:span 2;border-right:1px solid var(--line);border-bottom:0}.control-section:last-child{border-top:0}.control-section{padding:20px}.preview{height:360px}.panel-heading h2{font-size:20px}.results{min-width:0}.stats>div{padding:0 18px}.stats strong{font-size:28px}}
@media(max-width:540px){.brand{font-size:24px;gap:9px}.brand-caption{padding-left:13px;font-size:10px;margin-left:5px}.intro{align-items:flex-start}h1{font-size:30px;max-width:230px}.intro .quiet{padding:8px;font-size:11px;margin-top:25px}.intro .quiet span{display:none}.eyebrow{font-size:10px}.controls{display:block}.control-section:first-child{border-right:0;border-bottom:1px solid var(--line)}.control-section{padding:20px 22px}.shape-options{gap:9px}.shape{font-size:13px}.shape svg{width:42px}.orientation strong{font-size:14px}.orientation small{font-size:12px}.results .panel-heading{align-items:flex-start;gap:7px;padding:21px 18px 0}.panel-heading h2{font-size:17px}.view-toggle button{font-size:11px;padding:7px 8px}.preview{height:290px;padding:0 10px}.preview-footer{padding:12px 18px}.stats{grid-template-columns:1fr 1fr;padding:0}.stats>div{padding:17px 20px}.stats>div:nth-child(2){border-right:0}.stats>div:nth-child(-n+2){border-bottom:1px solid #d7e0d1}.stats strong{font-size:30px}.stats span{font-size:13px}.stats small{font-size:12px}.cut-panel .panel-heading{padding-bottom:18px}.print-button{font-size:11px;padding:8px}.cut-tabs{padding:0 18px}.cut-intro{padding:0 18px}#cut-layout{padding:0 18px 15px}.stock-row{grid-template-columns:1fr auto;gap:6px}.stock-label{grid-column:1}.offcut-label{grid-column:2;grid-row:1}.stock-bar{grid-column:1/3;grid-row:2}.cut-piece{font-size:12px}#cut-list{padding:0 18px 18px}.plan-note{margin:0 18px 20px}footer{flex-wrap:wrap;font-size:10px}}
@media print{body{background:#fff;font-size:12px}.topbar,.controls,.intro .quiet,.print-button,.view-toggle,.cut-tabs,footer,.more{display:none!important}main{max-width:none;padding:0}.intro{margin-bottom:10px}.intro .eyebrow{display:none}h1{font-size:24px}.workspace{display:block}.preview{height:250px}.preview-panel,.cut-panel{border:0}.panel-heading{padding:10px 0}.stats{margin:10px 0;padding:10px 0}.stats strong{font-size:23px}.preview-footer{padding:8px 0}.course-control{display:none}.cut-panel h2{font-size:18px}.cut-intro{padding:0}.stock-row{break-inside:avoid;grid-template-columns:71px minmax(0,1fr) 84px}.stock-label{grid-column:1}.stock-bar{grid-column:2;grid-row:auto;print-color-adjust:exact;-webkit-print-color-adjust:exact}.offcut-label{grid-column:3;grid-row:auto}#cut-layout,#cut-list{padding:0}#cut-layout{display:block!important}#cut-list{display:block!important}table{margin:14px 0}.plan-note{margin:10px 0;break-inside:avoid}.preview svg,.stats{print-color-adjust:exact;-webkit-print-color-adjust:exact}tr{break-inside:avoid}}
.controls.imperial-units #standard-dimensions .field-row{grid-template-columns:1fr}
.piece-id-text{font-family:'DM Sans',sans-serif;font-weight:700;fill:#fff;pointer-events:none}.cut-piece .piece-label{display:flex;flex-direction:column;align-items:center;max-width:100%;line-height:1.2}.cut-piece .piece-label strong{font-size:13px}.cut-piece .piece-length{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:400}.stock-cuts{grid-column:2;display:flex;flex-wrap:wrap;gap:5px 14px;color:var(--muted);font-size:12px;line-height:1.5}.stock-cuts strong{color:var(--green)}.stock-row{row-gap:5px}.cut-marks{display:flex;flex-wrap:wrap;gap:5px}.cut-marks span{padding:3px 6px;border:1px solid #cdd9c5;border-radius:4px;background:#eef3e9;color:var(--green);font-size:12px;font-weight:700}.piece-label-help{margin:0 26px 16px;color:#50664c;font-size:13px;line-height:1.6}.print-layer-plans{display:none}.assembly-layer svg{display:block;width:100%;height:auto}.assembly-layer h3{font-size:15px;margin:18px 0 4px}@media(max-width:540px){.stock-cuts{grid-column:1/-1;grid-row:3}.piece-label-help{margin-left:18px;margin-right:18px}}@media print{.piece-label-help{margin:0 0 12px}.stock-cuts{grid-column:2;grid-row:auto}.cut-marks span{color:#000;background:#fff;border-color:#aaa}.print-layer-plans{display:block;break-before:page}.print-layer-plans h2{font-size:18px}.assembly-layer{break-inside:avoid;margin:16px 0}.assembly-layer svg{max-height:310px;print-color-adjust:exact;-webkit-print-color-adjust:exact}}

.currency-offer{margin:0 0 24px;padding:18px 20px;background:var(--soft);border:1px solid #cdd9c5;border-radius:8px}.currency-offer>p:first-child{margin:0;font-size:14px;font-weight:600}.currency-offer-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.preview-footer{flex-wrap:wrap}.course-control label{font-size:inherit;font-weight:400}.layer-step{width:34px;height:34px;padding:0;background:#fff;border:1px solid #d7ded2;border-radius:6px;color:var(--green);font-size:20px;line-height:1}.layer-step:hover:not(:disabled){background:var(--soft)}@media print{.currency-offer{display:none!important}}
 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.shape{font-size:14px}.orientation strong{font-size:14px}.orientation small{font-size:12px}.view-toggle button,.cut-tabs button,.quiet,.stock-label{font-size:14px}.preview-footer,.course-control{font-size:13px}.stats span{font-size:14px}.cut-intro{font-size:14px}.cut-tabs span{font-size:12px}.stock-bar{height:38px}.cut-piece{font-size:13px}.field-help{font-size:13px}.plan-note{font-size:13px}table{font-size:14px}th{font-size:13px}.stock-bar:focus-visible{outline:3px solid #bd7e36;outline-offset:3px}@media(max-width:1100px){.shape{font-size:12px}.view-toggle button{font-size:12px}.stats span{font-size:13px}}@media(max-width:540px){.shape{font-size:14px}.stats span{font-size:14px}.view-toggle button{font-size:12px}.print-button{font-size:12px}}

.stats{grid-template-columns:repeat(3,minmax(0,1fr));padding:0}.stats>div{padding:20px;min-width:0}.stats>div:nth-child(3n){border-right:0}.stats>div:nth-child(-n+3){border-bottom:1px solid #d7e0d1}.stats strong{overflow-wrap:anywhere}@media(max-width:540px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats>div{padding:17px 20px;border-right:1px solid #d7e0d1}.stats>div:nth-child(3n){border-right:1px solid #d7e0d1}.stats>div:nth-child(2n){border-right:0}.stats>div:nth-child(-n+4){border-bottom:1px solid #d7e0d1}}@media print{.stats{break-inside:avoid}.stats>div{padding:10px 12px}}

.soil-fields{margin-top:0}.soil-section h2 .label-note{margin-left:auto}.soil-fields input{padding-left:8px}.soil-fields .number-field span{padding:0 8px}@media(min-width:541px) and (max-width:800px){.soil-section{grid-column:1/-1}}

.global-options{display:flex;align-items:stretch;gap:8px}.global-options select{width:86px;margin:0;padding:8px;font-size:13px}.intro-actions{flex-shrink:0}@media(max-width:540px){.intro-actions{flex-wrap:wrap}.intro-actions #reset{margin-left:auto}.global-options{max-width:100%}}

#cost-breakdown{white-space:pre-line}
.shape-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.coffee-button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;background:#ffdd00;color:#282a20;font-size:14px;font-weight:700;text-decoration:none;border:1px solid #e6c700;transition:background .15s ease}.coffee-button:hover{background:#f4d300}.coffee-button:focus-visible{outline:3px solid var(--green);outline-offset:3px}

.tutorial-trigger{margin-left:auto;white-space:nowrap;display:flex;align-items:center;gap:7px}.tutorial-trigger span{color:var(--green)}
.topbar-content{gap:12px}.topbar-content .coffee-button{white-space:nowrap}
@media(max-width:700px){.topbar-content{flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.topbar-content .brand{flex:1 0 calc(100% - 12px)}.tutorial-trigger{margin-left:auto}.topbar-content .coffee-button{font-size:12px;padding:8px 12px}}
@media print{.coffee-button{display:none!important}}
.tutorial{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;overflow:hidden;color:var(--ink);pointer-events:none}
.tutorial::backdrop{background:transparent}
.tutorial-intro::backdrop{background:#132319b8}
.tutorial-spotlight{position:fixed;border:2px solid #b4d692;border-radius:14px;box-shadow:0 0 0 100vmax #132319b8,0 0 28px #b4d69288;transition:left .22s ease,top .22s ease,width .22s ease,height .22s ease;pointer-events:none}
.tutorial-card{position:fixed;box-sizing:border-box;width:min(400px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:24px;background:#fffdf7;border:1px solid #d7e0d1;border-radius:20px;box-shadow:0 24px 70px #10221855;pointer-events:auto;animation:tour-enter .22s ease-out}
.tutorial-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.tutorial-count{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#526949}.tutorial-close{border:0;background:transparent;font-size:26px;line-height:1;padding:0 4px;color:#667660;cursor:pointer}
.tutorial-progress{display:flex;gap:5px;margin:16px 0 23px}.tutorial-progress span{height:4px;flex:1;border-radius:4px;background:#e0e6da}.tutorial-progress .complete{background:#688a4d}
.tutorial-card h2{font:800 25px/1.25 Manrope,sans-serif;margin:0 0 12px;color:#253d29}.tutorial-card p{font-size:15px;line-height:1.65;margin:0 0 24px;color:#52604c}.tutorial-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.tutorial-actions>div{display:flex;gap:8px}.tutorial-actions button{padding:9px 12px;border-radius:9px;border:1px solid #d7e0d1;background:transparent;font-size:13px;font-weight:600;cursor:pointer}.tutorial-actions .tutorial-next{background:#385832;color:#fff;border-color:#385832}.tutorial-actions .tutorial-skip{border:0;padding-left:0;color:#667660;font-size:12px}.tutorial-back:disabled{opacity:.35;cursor:default}.tutorial button:focus-visible{outline:3px solid #96b47a;outline-offset:3px}
@keyframes tour-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:540px){.topbar-content{gap:10px}.brand{font-size:clamp(16px,4.4vw,24px);gap:8px}.brand-icon{width:30px;height:30px}.tutorial-trigger{padding:8px;font-size:12px}.tutorial-trigger span{display:none}.tutorial-card{padding:20px}.tutorial-card h2{font-size:22px}.tutorial-card p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.tutorial-spotlight{transition:none}.tutorial-card{animation:none}}
@media print{.tutorial-trigger,.tutorial{display:none!important}}

.plantings-control{display:flex;align-items:center}.plantings-control label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:500;cursor:pointer}.plantings-control input{width:16px;height:16px;margin:0;accent-color:var(--green)}@media print{.plantings-control{display:none!important}}
