:root{--workshop-paper:#f4e8d4;--paper-glow:#f8ecd8;--paper-shadow:#ead3b2;--warm-surface:#fffbf2;--warm-page:#fff8ea;--soft-panel:#fff4df;--block-ink:#2b1c11;--text-ink:#22180f;--field-ink:#24170f;--table-umber:#5f3a22;--burnt-umber:#8b4528;--stamp-orange:#d76635;--press-green:#263f2f;--error-clay:#832a1f;--focus-ring:#d766355c;--shadow-stamp:8px 8px 0 var(--block-ink);--shadow-page:0 18px 52px #2b1c112e;--ease-out:cubic-bezier(.25, 1, .5, 1);color:var(--text-ink);background:var(--workshop-paper);font-synthesis:none;text-rendering:optimizelegibility;font-family:Avenir Next,Inter,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--workshop-paper);min-width:320px}body{background:radial-gradient(circle at 18% 0%, #fffbf2db, transparent 30rem), linear-gradient(135deg, var(--paper-glow) 0%, var(--workshop-paper) 48%, var(--paper-shadow) 100%);min-width:320px;min-height:100vh;margin:0}button,textarea{font:inherit}button{cursor:pointer}button:disabled,textarea:disabled{cursor:not-allowed;opacity:.58}button:focus,textarea:focus,summary:focus{outline:none}button:focus-visible,textarea:focus-visible,summary:focus-visible{outline:4px solid var(--focus-ring);outline-offset:4px}.magic-workshop{width:min(1500px,100%);min-height:100vh;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));margin:0 auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.identity-rail{color:var(--block-ink);justify-content:space-between;align-items:center;gap:16px;margin:0 auto 24px;display:flex}.identity-brand,.identity-pill{align-items:center;gap:12px;min-height:44px;font-weight:900;display:inline-flex}.identity-brand{letter-spacing:-.045em;font-size:1.18rem}.mini-stamp{border:2px solid var(--block-ink);background:var(--stamp-orange);width:38px;height:38px;color:var(--warm-page);box-shadow:3px 3px 0 var(--block-ink);letter-spacing:.04em;border-radius:10px;place-items:center;font-size:.78rem;display:grid;transform:rotate(-3deg)}.identity-pill{color:var(--table-umber);background:#fff8eab3;border:1.5px solid #2b1c119e;border-radius:999px;padding:6px 14px;font-size:.88rem;font-weight:700}.identity-dot{background:var(--press-green);border-radius:999px;width:8px;height:8px}.workbench{grid-template-areas:"tools""workpiece";align-items:start;gap:clamp(18px,3.5vw,28px);display:grid}.state-result .workbench{grid-template-areas:"workpiece""tools"}.panel-kicker{color:var(--burnt-umber);letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;font-size:.74rem;font-weight:900}h2,p{text-wrap:pretty}.tool-intro{margin:0}.tool-intro-title{color:var(--block-ink);letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(1.65rem,4vw,2rem);font-weight:900;line-height:1.05}.tool-intro-body{max-width:36ch;color:var(--table-umber);margin:10px 0 0;font-size:1.02rem;font-weight:500;line-height:1.4}.workpiece-area{grid-area:workpiece;place-items:center;min-width:0;display:grid}.workpiece{isolation:isolate;width:100%;position:relative}.paper-stack{z-index:-1;background:#fff8ea8c;border:1.5px solid #2b1c1124;border-radius:16px;position:absolute;inset:14px -10px -10px 14px;transform:rotate(1.2deg)}.page-preview{aspect-ratio:8.5/11;width:100%;max-width:560px;box-shadow:var(--shadow-page);background:#fffefa;border:2px solid #2b1c116b;border-radius:16px;margin:0 auto;display:grid;position:relative;overflow:hidden}.page-preview img{object-fit:contain;width:100%;height:100%;display:block}.blank-proof{min-height:100%;color:var(--table-umber);text-align:center;place-items:center;padding:clamp(28px,7vw,64px);display:grid}.idle-proof{color:#2b1c1157;justify-items:center;gap:18px;display:grid}.idle-block{color:#2b1c1152;width:clamp(108px,20vw,148px);height:auto}.idle-block-face{fill:#d766350f;stroke:currentColor;stroke-width:4px}.idle-block-grain{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;opacity:.45}.idle-block-cut{fill:var(--workshop-paper);stroke:currentColor;stroke-width:3px;stroke-linejoin:round}.idle-caption{color:#2b1c1180;max-width:22ch;margin:0;font-size:.95rem;font-weight:600;line-height:1.3}.page-actions{border:2px solid var(--block-ink);box-shadow:4px 4px 0 var(--block-ink);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fff8eaf5;border-radius:999px;gap:6px;padding:6px;display:flex;position:absolute;bottom:clamp(10px,2.2vw,18px);left:50%;transform:translate(-50%)}.page-action{min-height:38px;color:var(--block-ink);letter-spacing:-.005em;white-space:nowrap;cursor:pointer;transition:background-color .13s var(--ease-out), color .13s var(--ease-out);background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 12px 0 10px;font-size:.84rem;font-weight:700;display:inline-flex}.page-action:hover{background:var(--paper-glow)}.page-action:focus-visible{outline-offset:1px;outline:3px solid #d7663573}.page-action:active{background:var(--paper-shadow)}.page-action-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}@media (width<=560px){.page-actions{gap:2px;padding:4px}.page-action{gap:0;min-width:44px;min-height:44px;padding:0 10px}.page-action-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-action-icon{width:20px;height:20px}}.workpiece-caption{border:2px solid var(--block-ink);background:var(--soft-panel);width:max-content;max-width:calc(100% - 24px);color:var(--block-ink);box-shadow:4px 4px 0 var(--block-ink);z-index:2;border-radius:999px;margin:-22px auto 0;padding:10px 16px;font-size:.94rem;font-weight:950;position:relative}.tool-panel{grid-area:tools;gap:18px;min-width:0;display:grid}.create-panel,.status-panel,.debug-details{border:2px solid var(--block-ink);background:var(--warm-surface);box-shadow:var(--shadow-stamp);border-radius:22px}.create-panel{gap:14px;padding:clamp(18px,3.4vw,24px);display:grid}.create-panel label{color:var(--block-ink);letter-spacing:.01em;font-size:.92rem;font-weight:800}.prompt-field{border:2px solid var(--block-ink);width:100%;min-height:88px;color:var(--field-ink);resize:vertical;background:#fffefa;border-radius:14px;padding:14px 16px;font-size:1.18rem;font-weight:600;line-height:1.25}.prompt-field::placeholder{color:#2b1c115c;font-weight:500}.prompt-field:focus-visible{border-color:var(--stamp-orange);box-shadow:0 0 0 4px #d7663538}.primary-button,.prompt-slip{border:2px solid var(--block-ink);color:var(--block-ink);transition:transform .13s var(--ease-out), box-shadow .13s var(--ease-out), background-color .13s var(--ease-out);font-weight:800}.primary-button{background:var(--press-green);color:#fff8ea;letter-spacing:-.01em;min-height:56px;box-shadow:5px 5px 0 var(--block-ink);border-width:2px;border-radius:14px;padding:0 24px;font-size:1.05rem;font-weight:800}.primary-button:disabled{color:#fff8eac7;background:#263f2f8c;box-shadow:3px 3px #2b1c118c}.prompt-slip{background:var(--warm-page);box-shadow:3px 3px 0 var(--block-ink)}.primary-button:not(:disabled):active,.prompt-slip:not(:disabled):active{box-shadow:1px 1px 0 var(--block-ink);transform:translate(2px,2px)}@media (hover:hover){.primary-button:not(:disabled):hover{background:#2f4e3a}.prompt-slip:not(:disabled):hover{background:var(--paper-glow)}}.complexity-slider{gap:8px;padding:14px 4px 4px;display:grid}.complexity-slider.is-disabled{opacity:.55;pointer-events:none}.complexity-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.complexity-label{color:var(--block-ink);font-size:.92rem;font-weight:800}.complexity-current{color:var(--burnt-umber);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;font-weight:800}.complexity-range{appearance:none;background:0 0;width:100%;height:22px;margin:0}.complexity-range:focus-visible{outline:none}.complexity-range::-webkit-slider-runnable-track{border:2px solid var(--block-ink);background:var(--warm-page);border-radius:999px;height:8px}.complexity-range::-moz-range-track{border:2px solid var(--block-ink);background:var(--warm-page);border-radius:999px;height:8px}.complexity-range::-webkit-slider-thumb{appearance:none;border:2px solid var(--block-ink);background:var(--stamp-orange);width:26px;height:26px;box-shadow:3px 3px 0 var(--block-ink);cursor:pointer;border-radius:999px;margin-top:-11px}.complexity-range::-moz-range-thumb{border:2px solid var(--block-ink);background:var(--stamp-orange);width:26px;height:26px;box-shadow:3px 3px 0 var(--block-ink);cursor:pointer;border-radius:999px}.complexity-range:focus-visible::-webkit-slider-thumb{box-shadow:3px 3px 0 var(--block-ink), 0 0 0 4px #d7663552}.complexity-range:focus-visible::-moz-range-thumb{box-shadow:3px 3px 0 var(--block-ink), 0 0 0 4px #d7663552}.complexity-range::-webkit-slider-thumb:active{box-shadow:1px 1px 0 var(--block-ink);transform:translate(2px,2px)}.complexity-ticks{grid-template-columns:repeat(4,1fr);gap:4px;padding:0 2px;display:grid}.complexity-tick{color:var(--table-umber);text-align:center;-webkit-user-select:none;user-select:none;font-size:.74rem;font-weight:700;line-height:1.15}.complexity-tick:first-child{text-align:left}.complexity-tick:last-child{text-align:right}.complexity-tick.is-active{color:var(--block-ink)}.complexity-help{color:var(--table-umber);margin:4px 0 0;font-size:.86rem;font-style:italic;line-height:1.3}.preview-note{color:var(--table-umber);background:#fff4dfd1;border:2px dashed #2b1c116b;border-radius:16px;margin:2px 0 0;padding:12px 14px;font-size:.92rem;font-weight:750;line-height:1.32}.prompt-slips{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.prompt-slip{border-radius:999px;min-height:36px;padding:0 14px;font-size:.88rem;font-weight:700}.status-panel,.debug-details{padding:clamp(16px,4vw,24px)}.status-panel h2{color:var(--block-ink);letter-spacing:-.06em;text-wrap:balance;margin:0;font-size:clamp(1.65rem,7vw,2.7rem);line-height:.92}.status-panel p{color:var(--table-umber);margin:10px 0 0;line-height:1.36}.loading-status{background:var(--soft-panel)}.error-panel{border-color:var(--error-clay);background:#fff0e5}.error-panel h2,.error-panel .panel-kicker{color:var(--error-clay)}.debug-details{color:var(--table-umber);background:#f6ead7d1;order:99;font-size:.9rem}.debug-details summary{cursor:pointer;color:var(--block-ink);font-weight:950}.debug-details p{overflow-wrap:anywhere}.press-illustration{width:min(100%,360px);color:var(--block-ink);place-items:center;display:grid}.press-illustration svg{width:min(100%,320px);overflow:visible}.press-base,.press-bed,.press-frame,.paper-in-press{fill:var(--warm-page);stroke:var(--block-ink);stroke-width:8px;stroke-linejoin:round}.press-base,.press-bed{fill:#b96e3a}.paper-in-press{fill:#fffefa;animation:paper-reveal 2.6s var(--ease-out) infinite;transform-origin:50% 78%}.press-post,.press-handle,.roller,.print-lines{fill:none;stroke:var(--block-ink);stroke-width:9px;stroke-linecap:round;stroke-linejoin:round}.press-wheel{fill:var(--stamp-orange);stroke:var(--block-ink);stroke-width:8px;transform-origin:180px 83px;animation:2.6s linear infinite wheel-turn}.roller{stroke-width:16px;animation:roller-press 2.6s var(--ease-out) infinite;transform-origin:50%}.print-lines{stroke-width:5px;opacity:0;animation:print-appear 2.6s var(--ease-out) infinite}@keyframes wheel-turn{to{transform:rotate(360deg)}}@keyframes roller-press{0%,to{transform:translateY(0)}48%,62%{transform:translateY(38px)}}@keyframes paper-reveal{0%,40%{transform:translateY(18px)}70%,to{transform:translateY(0)}}@keyframes print-appear{0%,45%{opacity:0;stroke-dasharray:20 140;stroke-dashoffset:80px}75%,to{opacity:1;stroke-dasharray:140 0;stroke-dashoffset:0}}@media (width>=820px){.magic-workshop{padding:clamp(20px,3vw,44px)}.workbench,.state-result .workbench{grid-template-columns:minmax(420px,1.1fr) minmax(360px,.65fr);grid-template-areas:"workpiece tools";align-items:start;gap:clamp(24px,4vw,48px)}.tool-panel{align-self:start;position:sticky;top:clamp(20px,3vw,44px)}}@media (width>=1200px){.workbench,.state-result .workbench{grid-template-columns:minmax(520px,1fr) minmax(380px,.5fr);gap:56px}}@media (width<=520px){.identity-pill{padding:6px 12px;font-size:.82rem}.identity-brand{font-size:1.05rem}.page-preview{border-radius:12px}.review-actions{gap:10px}}@media (width<=380px){.identity-brand span:last-child{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media print{@page{size:letter portrait;margin:0}body{background:#fff}.identity-rail,.tool-panel,.paper-stack,.workpiece-caption,.page-actions{display:none!important}.magic-workshop,.workbench,.workpiece-area,.workpiece,.page-preview{width:8.5in;max-width:none;height:11in;min-height:0;box-shadow:none;background:#fff;border:0;border-radius:0;margin:0;padding:0;display:block}.page-preview img{width:8.5in;height:11in}}
