:root{font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#293f33;background:#fcfaf4;--line:#e1dfd0;--green:#355d49;--green-soft:#eaf0e1;--gold:#bd9049;--cream:#fffdfa}*{box-sizing:border-box}body{margin:0;background:#fcfaf4}img{display:block}.layout{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:100vh}aside{padding:24px 20px;background:#fff;border-right:1px solid var(--line)}main{padding:26px;min-width:0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.5px;color:#716b5d}h1{font:28px/1.2 Georgia,serif;margin:12px 0 10px}h2{display:flex;align-items:center;gap:8px;font-size:13px;margin:0 0 14px}h2 img{width:16px;height:16px}.topline h2{font:28px Georgia,serif;margin:8px 0 22px}.intro,details p,.helper-copy{font-size:13px;line-height:1.6;color:#716b5d}section{border-bottom:1px solid var(--line);padding:20px 0}label{display:block;font-size:12px;margin:12px 0 6px}input,button,select{font:inherit;color:inherit}button,select,input[type=number]{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px;min-height:40px}button{cursor:pointer;font-size:12px;font-weight:600}button:hover{background:#f7efda}button[aria-pressed=true],.subject-card.is-active,.style-option.is-selected{background:var(--green);color:#fff;border-color:var(--green)}button:disabled{opacity:.4;cursor:default}select{width:100%;font-size:12px}input[type=number]{display:block;width:100%;margin-top:6px}input[type=color]{display:block;width:48px;height:36px;padding:2px;background:white;border:1px solid var(--line);border-radius:8px;margin-top:6px}input[type=range]{width:100%;accent-color:var(--green)}input[type=checkbox]{accent-color:var(--green)}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex;align-items:center;gap:7px;line-height:1.5}.presets{display:flex;gap:6px;margin-bottom:12px}.presets button{flex:1;padding:8px 4px}.upload{border:1px dashed #809a7e;border-radius:14px;padding:16px 12px;background:#f4f7ef;line-height:1.5}.upload-line{display:flex;align-items:center;gap:8px;font-weight:600}.upload-line img{width:18px;height:18px}.upload input{display:block;width:100%;font-size:11px;margin-top:10px}.hint{font-size:11px;line-height:1.6;color:#716b5d}

/* Carbon-like switchers */
.carbon-switch,.tool-switch{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-bottom:14px;border:1px solid #7a9586;border-radius:12px;overflow:hidden;background:#fff}.switch-btn{min-height:44px;border:0;border-right:1px solid #7a9586;border-radius:0;background:#fff;font-size:14px;font-weight:650}.switch-btn:last-child{border-right:0}.switch-btn:hover{background:#f7f3e8;color:#355d49}.switch-btn.is-active,.switch-btn[aria-selected=true]{background:var(--green);color:#fff}

.sample-picker{margin-top:14px}.sample-carousel{position:relative;padding:0 44px}.sample-stage{width:100%;padding:0;border-radius:18px;overflow:hidden;background:#fffaf1;border:1px solid #d7d2bf}.sample-stage:hover{background:#fffaf1}.sample-stage img{width:100%;height:210px;object-fit:cover;background:#f5f2e8}.sample-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:999px;padding:0;background:rgba(252,250,244,.95);border:1px solid #d7d2bf;box-shadow:0 4px 14px rgba(41,63,51,.08)}.sample-nav:hover{background:#fff}.sample-nav img{width:18px;height:18px;margin:auto}.sample-nav#samplePrev{left:0}.sample-nav#sampleNext{right:0}.sample-count{position:absolute;left:54px;bottom:10px;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.95);font-size:11px;font-weight:700;color:#355d49;box-shadow:0 2px 8px rgba(41,63,51,.08)}.sample-caption{padding:12px 4px 2px;text-align:center;font-size:13px;font-weight:700}.subject-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.subject-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px;border-radius:14px;text-align:left;background:#fff}.subject-card strong{font-size:13px}.subject-card span{font-size:18px;font-weight:700;line-height:1.1}.subject-card small{font-size:11px;line-height:1.4;color:inherit;opacity:.9}.tool-panel[hidden]{display:none!important}.accordion-label{margin-bottom:8px}.style-accordion,.artist-secret{border:1px solid var(--line);border-radius:16px;background:#fbfaf5;overflow:hidden}.style-accordion summary,.artist-secret summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;cursor:pointer}.style-accordion summary::-webkit-details-marker,.artist-secret summary::-webkit-details-marker{display:none}.style-summary-title{font-size:11px;letter-spacing:.4px;color:#716b5d;text-transform:uppercase}.style-accordion strong{font-size:13px}.accordion-chevron{width:10px;height:10px;border-right:2px solid #537863;border-bottom:2px solid #537863;transform:rotate(45deg);transition:transform .2s ease;margin-left:auto;flex:0 0 auto}.style-accordion[open] .accordion-chevron,.artist-secret[open] .accordion-chevron{transform:rotate(225deg);margin-top:6px}.style-options{display:grid;gap:8px;padding:0 14px 14px}.style-option{text-align:left;justify-content:flex-start}.kid-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.kid-steps div{padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfaf5}.kid-steps strong{display:block;font-size:12px;margin-bottom:4px}.kid-steps span{display:block;font-size:11px;line-height:1.5;color:#716b5d}.artist-secret{margin-top:20px}.artist-secret summary img{width:16px;height:16px}.artist-secret div{padding:0 14px 14px}.topline{display:flex;justify-content:space-between;gap:12px}.draw-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:20px}.draw-tools label{display:flex;align-items:center;gap:6px;margin:0 4px}.draw-tools input[type=color]{margin:0;width:32px}.draw-tools input[type=range]{width:70px}.boards{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}figure{margin:0;min-width:0}figcaption{display:flex;flex-direction:column;gap:5px;margin:0 0 12px;font-size:13px}figcaption span{font-size:11px;color:#716b5d}.paper{position:relative;background:white;border:1px solid #d8d6c7;box-shadow:0 6px 25px #293f3308}canvas{display:block;width:100%;height:auto}#practice{touch-action:none;cursor:crosshair}#placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#716b5d;font:20px/1.8 Georgia,serif;padding:20px}#placeholder small{font:12px/1.8 -apple-system,sans-serif}#placeholder[hidden],[hidden]{display:none!important}#status{font-size:12px;line-height:1.6;padding:8px 0}.exports{display:flex;flex-wrap:wrap;gap:8px}.exports button:first-child{background:var(--green);color:white}output{float:right;color:#716b5d;font-size:11px}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid var(--gold);outline-offset:3px}#printSheet{display:none}@media(max-width:1100px){.layout{grid-template-columns:300px minmax(0,1fr)}main{padding:20px}.boards{grid-template-columns:1fr}.sample-stage img{height:190px}}@media(max-width:760px){.layout{display:block}aside{border-right:0;border-bottom:1px solid var(--line)}main{padding:16px}.boards{gap:24px}.subject-grid,.kid-steps{grid-template-columns:1fr}.pair{grid-template-columns:1fr 1fr}}@media(max-width:480px){.pair{grid-template-columns:1fr}.presets{flex-wrap:wrap}.sample-carousel{padding:0 40px}.sample-stage img{height:180px}}@media print{.layout{display:none}#printSheet{display:block;color:#000}#printSheet h1{font-size:20px}#printSheet p{font-size:12px}#printSheet>div{display:flex;gap:4%;align-items:flex-start}#printSheet img{width:48%;max-height:230mm;object-fit:contain}@page{size:landscape;margin:12mm}}
button{display:inline-flex;align-items:center;justify-content:center;gap:6px}button img{width:18px;height:18px}.reverse-icon{transform:scaleX(-1)}button[aria-pressed=true] img,.exports button:first-child img,.subject-card.is-active img,.style-option.is-selected img{filter:brightness(0) invert(1)}

/* v28 · Carbon-inspired Number Input (40 px medium, two-segment minus/plus control).
   Accessible labels and native keyboard Up/Down are preserved. */
.carbon-number-field {min-width:0;}
.carbon-number-field > label {display:block;margin:12px 0 6px;font-size:12px;line-height:1.35;}
.carbon-number {display:flex;align-items:stretch;width:100%;height:40px;min-width:0;
  background:#f4f4f4;border:0;border-bottom:1px solid #8d8d8d;border-radius:0;transition:box-shadow .12s;}
.carbon-number:hover {background:#e8e8e8;border-bottom-color:#525252;}
.carbon-number:focus-within {outline:2px solid #355d49;outline-offset:0;border-bottom-color:transparent;}
.carbon-number input[type=number] {appearance:textfield;-moz-appearance:textfield;display:block;
  flex:1 1 auto;width:1px;min-width:0;height:40px;min-height:0;margin:0;padding:0 7px 0 10px;
  border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;
  border-radius:0;font-size:14px;font-weight:500;color:#262626;}
.carbon-number input[type=number]:focus,.carbon-number input[type=number]:focus-visible {
  border:0!important;outline:0!important;box-shadow:none!important;}
.carbon-number input[type=number]::-webkit-outer-spin-button,
.carbon-number input[type=number]::-webkit-inner-spin-button {-webkit-appearance:none;margin:0;}
.carbon-number-actions {display:flex;flex:0 0 auto;align-items:stretch;}
.carbon-number .carbon-stepper {width:32px;min-width:32px;height:39px;min-height:39px;padding:0;
  display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:0;
  border-left:1px solid #d6d6d6;background:transparent;color:#254d3d;cursor:pointer;}
.carbon-number .carbon-stepper img {display:block;width:15px;height:15px;object-fit:contain;}
.carbon-number .carbon-stepper:hover:not(:disabled) {background:#dcdcdc;}
.carbon-number .carbon-stepper:focus-visible {outline:2px solid #355d49;outline-offset:-3px;z-index:1;}
.carbon-number .carbon-stepper:disabled {opacity:.25;cursor:not-allowed;background:transparent;}
@media (max-width:420px) {
 .carbon-number-pair {grid-template-columns:1fr 1fr;gap:10px;}
 .carbon-number .carbon-stepper {width:32px;min-width:32px;}
}


/* v29: Carbon-inspired, single-picture file uploader (all processing stays offline) */
.carbon-file-uploader{min-width:0}
.carbon-file-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  padding:18px 12px;border:2px dashed #8da499;background:#f4f7f2;text-align:center;min-height:170px;
  transition:background-color .15s,border-color .15s;}
.carbon-file-drop:hover{border-color:#355d49;background:#eff4ee}
.carbon-file-drop.is-dragging{border:3px solid #355d49;background:#e3eee6;padding:17px 11px}
.carbon-file-art{width:24px;height:24px;object-fit:contain}
.carbon-file-drop>strong{font-size:13px;font-weight:650}
.carbon-drop-or{font-size:11px;color:#666;margin:-3px 0}
.carbon-file-browse{height:40px;min-height:40px;width:auto;padding:0 16px;display:inline-flex;align-items:center;gap:8px;
  background:#355d49;border:1px solid #355d49;color:#fff;border-radius:0;font-size:13px;font-weight:650}
.carbon-file-browse:hover{background:#244b37;color:#fff;border-color:#244b37}
.carbon-file-browse img{filter:brightness(0) invert(1);width:16px;height:16px}
.carbon-file-browse:focus-visible{outline:2px solid #355d49;outline-offset:3px}
.carbon-file-formats{font-size:11px;line-height:1.5;color:#66746b}
.carbon-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.carbon-file-item{display:flex;align-items:center;gap:9px;min-height:48px;padding:9px 10px;background:#f4f4f4;
  border-bottom:1px solid #8d8d8d;color:#293f33;min-width:0}
.carbon-file-item-icon{flex:0 0 20px;width:20px;height:20px}
.carbon-file-details{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.carbon-file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:650}
.carbon-file-remove{flex:0 0 36px;width:36px;height:36px;min-height:36px;border:0;border-radius:0;background:transparent;padding:7px}
.carbon-file-remove:hover{background:#e5e5e5}
.carbon-file-remove img{width:20px;height:20px}
.carbon-file-error{margin:8px 0 0;padding:9px 10px;background:#fff1f1;border-left:3px solid #da1e28;color:#a2191f;font-size:12px;line-height:1.5}
.carbon-file-drop[hidden],.carbon-file-item[hidden],.carbon-file-error[hidden]{display:none!important}


/* v31 · Carbon-inspired inline success/error notifications. Feedback is separate from file rows. */
.carbon-inline-notice{position:relative;display:flex;gap:11px;align-items:flex-start;min-width:0;margin:10px 0 5px;padding:12px 8px 12px 12px;background:#eaf0e1;border-left:3px solid #355d49;color:#293f33;font-size:12px;line-height:1.45;}
.carbon-inline-notice[data-kind="error"]{background:#fff1f1;border-left-color:#da1e28;}
.carbon-inline-notice[hidden]{display:none!important;}
.carbon-inline-notice-icon{width:20px;height:20px;flex:0 0 20px;object-fit:contain;margin-top:1px;}
.carbon-inline-notice-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;overflow-wrap:anywhere;}
.carbon-inline-notice-text strong{font-size:13px;font-weight:700;line-height:1.3;}
.carbon-inline-notice-text span{font-size:11px;line-height:1.45;}
.carbon-inline-notice-close{display:flex;flex:0 0 28px;align-items:center;justify-content:center;min-height:28px;width:28px;height:28px;padding:4px;margin:-4px -3px 0 0;border:0;border-radius:0;background:transparent;cursor:pointer;}
.carbon-inline-notice-close img{width:17px;height:17px;}
.carbon-inline-notice-close:hover{background:rgba(0,0,0,.075);}
.carbon-inline-notice-close:focus-visible{outline:2px solid #355d49;outline-offset:1px;}


/* v34 · Forest Carbon-inspired sliders, same native values as drawing engine. */
.grid-carbon-slider{min-width:0;margin:13px 0 17px;max-width:100%}
.grid-carbon-slider-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.grid-carbon-slider-head label{font-size:12px;font-weight:650;margin:0;color:#293f33}
.grid-carbon-slider-head output{float:none;margin:0;color:#786d5a;font-size:11px}
.grid-carbon-slider-row{display:flex;align-items:center;gap:9px;min-width:0}
.grid-carbon-slider input[type=range]{-webkit-appearance:none;appearance:none;min-width:0;flex:1 1 100px;
  height:26px;padding:0;margin:0;background:transparent;cursor:pointer;accent-color:#355d49}
.grid-carbon-slider input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:6px;
  background:linear-gradient(90deg,#355d49 0%,#355d49 var(--carbon-progress,0%),#cbdacd var(--carbon-progress,0%),#cbdacd 100%)}
.grid-carbon-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;
  width:17px;height:17px;margin-top:-6.5px;border:2px solid #fff;border-radius:50%;background:#355d49;box-shadow:0 0 0 1px #355d49}
.grid-carbon-slider input[type=range]::-moz-range-track{height:4px;border-radius:6px;
  background:linear-gradient(90deg,#355d49 0%,#355d49 var(--carbon-progress,0%),#cbdacd var(--carbon-progress,0%),#cbdacd 100%)}
.grid-carbon-slider input[type=range]::-moz-range-thumb{width:13px;height:13px;border:2px solid #fff;border-radius:50%;background:#355d49;box-shadow:0 0 0 1px #355d49}
.grid-carbon-number{display:flex;align-items:center;min-height:35px;width:70px;flex:0 0 70px;
  border-bottom:1px solid #789381;background:#f3f6f1;padding:0 5px 0 8px}
.grid-carbon-number input[type=number]{appearance:textfield;-moz-appearance:textfield;border:0;border-radius:0;
  outline-offset:-2px;background:transparent;min-width:0;width:100%;height:34px;min-height:34px;padding:0;margin:0;
  color:#293f33;font-size:12px;font-weight:650}
.grid-carbon-number input::-webkit-inner-spin-button,.grid-carbon-number input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.grid-carbon-number span{color:#678271;font-size:10px;flex:none;padding-left:4px}
.grid-carbon-slider-ends{display:flex;justify-content:space-between;color:#758275;font-size:10px;line-height:1.1;margin-top:4px;margin-right:80px}
.grid-carbon-slider--toolbar{display:flex;align-items:center;gap:8px;margin:0;flex:0 0 auto}
.grid-carbon-slider--toolbar>label{margin:0;font-size:12px;font-weight:500}
.grid-carbon-slider--toolbar .grid-carbon-slider-row{width:160px;gap:7px}
.grid-carbon-slider--toolbar .grid-carbon-number{width:57px;flex-basis:57px;min-height:31px}
.grid-carbon-slider--toolbar .grid-carbon-number input{height:31px;min-height:31px}
@media(max-width:680px){.grid-carbon-slider--toolbar .grid-carbon-slider-row{width:138px}.grid-carbon-slider--toolbar .grid-carbon-number{width:53px;flex-basis:53px}}

/* v36: Align ONLY labels above and below Mila's existing carousel. */
.sample-picker > label{display:block;text-align:center;}
.sample-picker + .hint{text-align:center;}

/* v40: grid exporting is accessed from the shared Drawing Garden header. */
.embedded-in-garden .exports{display:none!important}
