:root{color:#463b2c;font-synthesis:none;--green:#416858;--cream:#fff8e8;background:#f6efdf;font-family:BIZ UDPGothic,Yu Gothic,Hiragino Kaku Gothic ProN,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(at 10% 0,#fffaf0 0%,#0000 55%),repeating-linear-gradient(0deg,#68512803 0 1px,#0000 1px 4px);min-width:280px;margin:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible{outline-offset:4px;outline:3px solid #27685a}[hidden]{display:none!important}.bakery{max-width:1000px;margin:0 auto;padding:28px 40px 16px}.masthead{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.eyebrow,.small-label{letter-spacing:.18em;color:#7b715f;margin:0;font:700 10px/1.5 system-ui,sans-serif}h1{letter-spacing:.09em;margin:7px 0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(25px,3.5vw,36px);font-weight:800;line-height:1.4}.title-loaf{vertical-align:middle;color:#fff1ca;background:#d59956;border-radius:15px 15px 9px 9px;place-items:center;width:47px;height:30px;margin-left:16px;font:34px/.8 Georgia,serif;display:inline-grid;transform:rotate(-12deg);box-shadow:inset -3px -4px #85552229}.subtitle{letter-spacing:.08em;color:#746b59;margin:0;font-size:12px}.help-button{color:#72654f;background:0 0;border:1px solid #c4b7a0;border-radius:50%;width:44px;height:44px}.workbench{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);align-items:center;gap:36px;display:grid}.tray-column{min-width:0}.tray-heading{justify-content:space-between;align-items:center;margin:0 7px 13px;display:flex}.tray-heading h2{letter-spacing:.08em;margin:3px 0 0;font-size:16px}.tray-shell{background:linear-gradient(140deg,#a6ada6,#87958c 50%,#a4a99c);border:1px solid #7c8b81;border-radius:25px;padding:16px 16px 0;box-shadow:inset 1px 2px #f8fff469,inset -2px -3px 1px #4c61565c,0 12px 25px #5f593c22}.tray-rim{background:#7b877a;border-radius:14px;padding:7px;box-shadow:inset 2px 3px 6px #35473c65,0 1px #d3d8c3}.board{isolation:isolate;aspect-ratio:1;background:#cbd0ba;border-radius:8px;grid-template:repeat(4,minmax(0,1fr))/repeat(4,minmax(0,1fr));padding:1px;display:grid;position:relative;overflow:visible}.cell{z-index:0;border:1px dashed #7c896a60;border-radius:4px;margin:1px;transition:background-color .15s}.cell.preview{background:repeating-linear-gradient(135deg,#567e5e5e 0 6px,#b6d4ab8a 6px 12px);border:2px dashed #386444;box-shadow:inset 0 0 0 2px #e0edd370}.dough{z-index:1;grid-template:repeat(var(--rows), minmax(0, 1fr)) / repeat(var(--cols), minmax(0, 1fr));background:#e9c58c;border:0;border-radius:17px;min-width:0;min-height:0;margin:3px;padding:0;transition:box-shadow .15s;display:grid;position:relative;box-shadow:0 3px 3px #4c422535}.bun{background:radial-gradient(at 35% 18%,#fff6d9,#f2d5a1 55%,#d7aa6d);border-radius:16px;place-items:center;min-width:0;min-height:0;display:grid;position:relative;box-shadow:inset 2px 2px 3px #fffdf184,inset -2px -3px 4px #9e683d45}.bun:before,.bun:after{content:"";background:#b18a543d;border-bottom:1px solid #fff9dfaa;border-radius:50%;width:33%;height:7%;position:absolute;top:19%;left:24%;transform:rotate(-32deg)}.bun:after{width:26%;top:28%;left:48%}.dough:not(.expanded){border-radius:40%;margin:10%}.dough:not(.expanded) .bun{background:radial-gradient(at 40% 20%,#fffbea,#f5dfb6 65%,#d2b285);border-radius:40%}.dough:not(:disabled):hover{box-shadow:0 4px 5px #5e492946,0 0 0 2px #fff7d49e}.dough.chosen{z-index:2;outline:3px solid var(--green);outline-offset:3px}.dough-letter{color:#745431;font:700 14px/1 system-ui,sans-serif;position:absolute;bottom:12%;right:15%}.dough.expanded .dough-letter{opacity:.8}.dough.expanded{animation:.26s ease-out puff}.board.baked .bun{background:radial-gradient(at 35% 20%,#f6c369,#d98d36 68%,#a8622a);animation:.85s ease-out both toast}.board.baked .dough:not(.expanded){border-radius:17px;margin:3px}.board.baked .dough:not(.expanded) .bun{border-radius:16px}.board.baked .dough-letter{opacity:0}.board.baked .bun:before,.board.baked .bun:after{background:#fff0b280;border-color:#a767285e}.tray-mark{text-align:center;color:#344b3d9e;letter-spacing:.15em;height:22px;font:700 7px/22px system-ui,sans-serif;display:block}.tray-foot{color:#645d4a;justify-content:space-between;align-items:center;gap:8px;padding:13px 4px;font-size:11px;display:flex}#remaining{font-weight:700}.legend{align-items:center;gap:6px;font-size:10px;display:flex}.legend i{background:#9bb889;border:1px dashed #416858;width:10px;height:10px}.recipe-panel{background:#fffcf39e;border:1px solid #d4c6a775;border-radius:6px 6px 22px;padding:28px 25px 21px;box-shadow:3px 5px #bfae8220}.recipe-label{color:#8c734c}.selection{margin:0 0 12px;font-size:14px;font-weight:700}.tray-badge{color:#7f7156;border:1px solid #baae92;border-radius:20px;padding:6px 10px;font-size:11px}.gesture-title{margin:18px 0 12px;font:700 22px/1.5 Yu Mincho,serif}#gesture-instruction{border-bottom:1px dashed #c6b797;margin:0 0 22px;padding-bottom:22px;font-size:12px;line-height:1.9}.dough{touch-action:none;-webkit-user-select:none;user-select:none}.dough:not(:disabled){cursor:grab}.dough.dragging{cursor:grabbing}.bun{pointer-events:none}.preview-caption{white-space:pre-line;text-align:center;color:#7a6d56;min-height:38px;margin:14px 0 10px;font-size:11px;line-height:1.7}.primary{background:var(--green);color:#fffcf0;letter-spacing:.05em;border:1px solid #2d5542;border-radius:10px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:48px;font-size:14px;font-weight:700;display:flex;box-shadow:0 3px #284d3b}.primary:disabled{color:#626c57;background:#d4d5c2;border-color:#c1c4af;box-shadow:0 3px #b4bba5}.primary:not(:disabled):hover{background:#305541}.message{color:#73634b;min-height:38px;margin:17px 0 10px;font-size:11px;line-height:1.7}.utility-row{gap:10px;margin-bottom:20px;display:flex}.utility-row button{background:0 0;border:1px solid #c6b99e;border-radius:8px;flex:1;min-height:44px;font-size:12px}.utility-row button:disabled{opacity:.4}.recipe-note{color:#81735c;margin:15px 0 0;font-size:10px;line-height:1.9}.result{text-align:center;padding:11px 0 4px}.stamp{color:#9b602c;letter-spacing:.05em;border:3px double #af794c;border-radius:50%;place-items:center;width:80px;height:80px;font-size:16px;display:inline-grid;transform:rotate(-12deg)}.result h3{margin:18px 0 8px;font:700 21px/1.5 Yu Mincho,serif}.result p{margin:0 0 24px;font-size:11px;line-height:1.8}footer{color:#8f8066;letter-spacing:.08em;justify-content:space-between;padding:16px 4px 0;font-size:9px;display:flex}footer b{margin-left:12px;font-weight:400}dialog{color:#463b2c;background:#fff8e8;border:1px solid #b8aa8b;border-radius:20px;width:calc(100% - 40px);max-width:420px;max-height:85dvh;padding:0;overflow:auto;box-shadow:0 20px 80px #1f2e2380}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#293e357d}.help-content{padding:30px}.help-content h2{font-family:Yu Mincho,serif}.help-content p:not(.small-label){font-size:13px;line-height:1.9}.help-content .primary{margin-top:24px}@keyframes puff{0%{transform:scale(.96)}to{transform:scale(1)}}@keyframes toast{0%{filter:brightness(1.35)saturate(.55)}to{filter:brightness()saturate()}}@media (min-width:761px) and (max-height:780px){.bakery{max-width:920px;padding-top:16px}.masthead{margin-bottom:14px}.recipe-panel{padding:20px}.primary{font-size:12px}.message{margin-top:16px}}@media (max-width:760px){.bakery{max-width:440px;padding:18px 18px 15px}.masthead{margin-bottom:20px}.eyebrow{font-size:8px}h1{letter-spacing:.02em;font-size:26px}.title-loaf{display:none}.subtitle{font-size:10px}.help-button{flex-shrink:0;margin-left:6px}.workbench{flex-direction:column;align-items:stretch;gap:6px;display:flex}.tray-heading{margin-bottom:10px}.tray-heading h2{font-size:14px}.tray-shell{border-radius:22px;padding:12px 12px 0}.tray-rim{padding:5px}.tray-mark{height:18px;font-size:6px;line-height:18px}.tray-foot{padding:11px 3px}.recipe-panel{padding:14px 15px 12px}.recipe-label{display:none}.utility-row{margin-bottom:12px}.gesture-title{margin:0 0 6px;font-size:18px}#gesture-instruction{margin-bottom:10px;padding-bottom:10px;font-size:11px;line-height:1.7}.selection{margin-bottom:8px;font-size:12px}.preview-caption{min-height:24px;margin:0 0 8px;font-size:10px}.primary{gap:3px;font-size:12px}.message{min-height:34px;margin:12px 0 9px;font-size:10px}.recipe-note{margin-top:10px;font-size:9px}.bun{border-radius:13px}.dough-letter{font-size:12px}.result{padding:4px 0}.stamp{width:56px;height:56px;font-size:12px}.result h3{margin-top:8px}.result p{margin-bottom:14px}}@media (max-width:350px){.bakery{padding:15px 10px}h1{font-size:23px}.recipe-panel{padding:13px 10px}.primary{letter-spacing:0}.legend{font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
