@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;700;900&display=swap');
:root{font-family:'Zen Maru Gothic','Yu Gothic',sans-serif;background:#dfc7a4;color:#63422e;font-weight:700}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#fff2d8,transparent 50%),#ddc5a2}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #658458;outline-offset:3px}a{color:inherit;text-decoration:none}.shell{max-width:480px;margin:auto;min-height:100dvh;background:#f8eedc;box-shadow:0 0 60px #74502e20;padding:15px 15px 0}header{display:flex;align-items:center;gap:10px}header>a,header>button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #cbac86;border-radius:10px;background:#fffbf0;font-size:22px}header h1{flex:1;font-size:clamp(20px,5.8vw,28px);text-align:center;letter-spacing:-1.5px;margin:0;font-weight:900}header h1 span{display:none}.subtitle{font-size:11px;text-align:center;letter-spacing:1px;margin:10px 0 12px}.stage{position:relative;aspect-ratio:360/440;border-radius:17px;overflow:hidden;background:#b99168;box-shadow:inset 0 0 0 2px #8f6546,0 4px 0 #c7ab86;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#clay{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}.reference{position:absolute;top:15px;right:12px;width:78px;padding:5px 5px 6px;transform:rotate(5deg);background:#fff2d5;border:2px solid #e7c6a0;box-shadow:0 3px 6px #59372140;border-radius:6px}.reference:before{content:'';position:absolute;top:-10px;left:33px;height:18px;width:6px;background:#7f956b;border-radius:5px}.reference[aria-pressed=true]{border-color:#648756;background:#e5ecd8}.reference canvas{width:60px;height:72px}.reference span{display:block;font-size:8px;white-space:nowrap}.stage-label{position:absolute;top:13px;left:13px;font-size:8px;letter-spacing:1px;color:#fff6deaa;pointer-events:none}.stage-tip{position:absolute;left:10px;right:10px;bottom:12px;font-size:10px;color:#fff7e7;text-align:center;pointer-events:none;text-shadow:0 1px 4px #462817;background:#56392165;padding:7px;border-radius:20px}.tools{margin-top:12px;background:linear-gradient(120deg,#f7e2c4,#f4e5ce);border:1px solid #e3c6a0;padding:10px;border-radius:17px}.tool-row{display:flex;gap:9px}.tool{flex:1;border:2px solid #ddbd94;border-radius:13px;background:#f9e6cb;box-shadow:inset 0 2px 1px #fff8e8,0 2px 0 #d6b58d;padding:10px 3px;min-height:85px;font-size:15px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px}.tool.active{background:linear-gradient(135deg,#a8b989,#758d5c);border-color:#728153;color:#fffcef;box-shadow:inset 0 0 0 2px #e5edce80,0 2px 0 #68784e}.blob{display:block;width:28px;height:24px;border-radius:55% 48% 42% 42%;background:radial-gradient(circle at 30% 20%,#edb58a,#b66b40);box-shadow:inset -2px -3px 4px #7e3d2830,0 2px 3px #48372030}.hole{display:block;width:27px;height:27px;border-radius:50%;background:radial-gradient(circle at 55% 60%,#503220,#88613e);border:4px solid #dab184;box-shadow:0 -1px 1px #a0754a,inset 1px 2px 3px #321a0e70}.size-row{display:flex;align-items:center;gap:7px;margin-top:12px;font-size:12px}.size-row input{min-width:40px;width:100%;accent-color:#7b9165;margin:0;flex:1}.size-row label{white-space:nowrap}.size-row>span{font-size:10px;min-width:14px;color:#987552}.size-row button{font-size:10px;white-space:nowrap;border:1px solid #d0ae85;border-radius:9px;background:#fff1da;padding:8px 7px}button:disabled{opacity:.4;cursor:default}.minor-row{display:flex;align-items:center;justify-content:space-between;gap:4px;margin:12px 0 9px}.minor-row span{font-size:9px;line-height:1.5;color:#997954;min-height:26px}.minor-row button{font-size:9px;white-space:nowrap;border:0;border-bottom:1px solid #bda27f;background:none;padding:3px}.finish{width:100%;padding:13px 4px;border:2px solid #6c7e50;border-radius:26px;background:linear-gradient(#9faf7c,#7d925e);color:#fff8e7;text-shadow:0 1px 1px #48553480;font-size:20px;font-weight:900;letter-spacing:2px;box-shadow:inset 0 2px 2px #f4f8d560,0 3px 0 #62744a}.finish:active{transform:translateY(2px);box-shadow:0 1px 0 #62744a}.finish span{color:#fff3b4}.hidden{display:none!important}.gallery{padding:24px 4px 4px}.gallery-heading{display:flex;align-items:center;justify-content:space-between}.gallery h2{font-size:15px;margin:0}.gallery-heading button{font-size:10px;border:0;background:transparent;color:#8a6c47}.gallery>p,#empty{font-size:10px;color:#a58965;margin:8px 0 10px}#works{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.work{background:#f3e1c5;border:1px solid #d9ba93;border-radius:11px;overflow:hidden;padding:0 0 8px}.work img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.work strong{display:block;font-size:15px;color:#6f8154}.work span{font-size:8px;display:block}.result-scene{background:url('/haniwa-workshop.png') center 55%/cover;border-radius:16px;padding:15px 8px 18px;box-shadow:0 3px 0 #d1b18a}.result-scene h2{text-align:center;margin:0 auto 8px;padding:10px;border-radius:18px;background:#fff3dae8;font-size:24px;max-width:250px;letter-spacing:3px}.result-scene h2 span{color:#aa7c35}.compare-pair,.old-compare{display:flex;gap:6px;align-items:flex-end}.compare-pair figure,.old-compare figure{flex:1;min-width:0;margin:0;text-align:center}.compare-pair canvas,.old-compare canvas{display:block;width:100%;height:auto;filter:drop-shadow(1px 4px 2px #4d2c1540)}figcaption{display:inline-block;background:#fff2d9;border-radius:6px;padding:5px 8px;font-size:11px;box-shadow:0 2px 0 #b9946e70}.score-card{border:1px solid #e0c7a6;background:#fff5e2;border-radius:20px;padding:18px 17px 10px;margin-top:14px}.total{text-align:center;font-size:18px;display:flex;align-items:baseline;justify-content:center;gap:7px}.total strong{font-size:62px;line-height:1.1;color:#778b5d;font-weight:900;letter-spacing:-3px}.total b{font-size:28px;color:#778b5d}.score-card h3{text-align:center;font-size:14px;margin:8px 0 18px;color:#7b6544}.meter{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:12px}.meter>span{width:65px;flex:none}.meter>div{height:13px;background:#ead8bf;flex:1;border-radius:15px;overflow:hidden;box-shadow:inset 0 1px 2px #94734c20}.meter i{display:block;background:linear-gradient(#a6b78b,#7b9061);height:100%;border-radius:15px;width:0}.meter>b{font-size:11px;width:35px;text-align:right}.score-card>p{text-align:center;font-size:12px;line-height:1.8;margin:19px 0}.result-actions{display:flex;gap:8px}.result-actions button{flex:1;border:1px solid #cda981;border-radius:12px;background:#f4dfbe;padding:13px 5px;font-size:12px;box-shadow:0 2px 0 #c7a57b}.result-actions .green{background:#879a68;color:#fff7e7;border-color:#6f8152;box-shadow:0 2px 0 #617348}.new{display:block;margin:18px auto 0;background:none;border:0;font-size:11px;color:#876b47;text-decoration:underline}.score-card .storage-note{font-size:8px;color:#b09875;margin:13px 0 2px}footer{text-align:center;font-size:8px;color:#b29975;padding:20px 0 16px}dialog{width:min(92vw,420px);padding:28px 23px;border:2px solid #b99b76;border-radius:18px;background:#fbefda;color:#6a4b31}dialog::backdrop{background:#38241799;backdrop-filter:blur(4px)}dialog h2{font-size:21px;margin:10px 0 20px}dialog p{font-size:12px;line-height:1.9}.close{position:absolute;right:10px;top:7px;background:transparent;border:0;font-size:25px;color:#9b7957}.eyebrow{font-size:9px;letter-spacing:2px;color:#a48b63}dialog .small{font-size:10px;color:#9a7f5b}dialog .finish{font-size:16px;margin-top:12px}.old-compare{background:#ead4b2;border-radius:12px;padding:8px 3px 14px}#diff{text-align:center;font-weight:900;color:#738455}@media(min-width:800px){.shell{max-width:480px}}@media(max-height:760px) and (min-width:350px){.stage{aspect-ratio:360/400}.tool{min-height:71px;padding:6px 3px}.tools{margin-top:9px}.stage-tip{font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#exportDialog{max-height:90dvh;overflow:auto}#exportImage{display:block;width:100%;max-height:55dvh;object-fit:contain;border-radius:10px}#downloadImage{display:block;text-align:center;font-size:13px;letter-spacing:0;text-decoration:none}
