:root{font-family:ui-rounded,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;color:#253353;background:#fffaf3;font-synthesis:none;--border: #ded8cf;--coral: #f56d64}*{box-sizing:border-box}body{margin:0}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;background:none;border:0;min-height:44px}button:disabled{cursor:default;opacity:.45}button:not(:disabled):hover{filter:brightness(.96)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #27999b;outline-offset:4px}a{color:inherit;text-decoration:none}header{max-width:1500px;margin:auto;padding:24px 36px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:34px;font-weight:900;letter-spacing:1px;display:flex;align-items:center;gap:10px}nav{display:flex;gap:20px}nav button{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:650;padding:4px 12px}nav button+button{border-left:1px solid var(--border);padding-left:24px}.rays{width:22px;height:32px;display:inline-block;position:relative;transform:rotate(15deg);margin-left:8px}.rays:before,.rays:after{content:"";position:absolute;background:#ffd15b;border-radius:4px;width:7px;height:17px;top:0;left:0}.rays:after{transform:rotate(55deg);left:15px;top:13px}main{max-width:1430px;margin:auto;padding:0 30px}.intro{text-align:center;margin:8px 0 26px}.intro h1{font-size:clamp(28px,4.1vw,54px);font-weight:850;letter-spacing:1px;margin:0 0 13px;line-height:1.35}.intro h1 span{position:relative;white-space:nowrap}.intro h1 span:after{content:"";height:6px;background:#ffd15b;position:absolute;left:0;right:18px;bottom:-7px;border-radius:100%;transform:rotate(2deg)}.intro p{font-size:17px;letter-spacing:2px;color:#79808e;margin:18px 0 0}.studio{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:22px;align-items:start}.canvas-frame{position:relative;border:1.5px solid #d6d0c7;border-radius:18px;background:#fff;overflow:hidden}canvas{display:block;width:100%;aspect-ratio:1;touch-action:none;cursor:crosshair}.canvas-hint{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#a8adb5;pointer-events:none}.canvas-hint p{font-size:19px;letter-spacing:2px;margin:18px 0 8px}.canvas-hint span{font-size:13px}.toolbar{margin-top:10px;padding:12px 14px;border:1.5px solid var(--border);border-radius:17px;background:#fffefa;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px}.colors{display:flex;gap:8px;align-items:center}.swatch{width:38px;height:38px;min-height:38px;border:4px solid #fffefa;outline:2px solid transparent;border-radius:50%;background:var(--color)}.swatch[aria-pressed=true]{outline-color:var(--color)}.tools{display:flex;align-items:center;gap:12px;flex:1;justify-content:flex-end}.brush{font-size:12px;display:flex;align-items:center;gap:8px;white-space:nowrap}input[type=range]{width:74px;accent-color:#253353;min-height:44px}.tool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:44px;font-size:11px}.tool[aria-pressed=true]{background:#e0f2ef;border-radius:9px}.tool svg{width:22px;height:22px}.canvas-bottom{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#7f8390;padding:5px 2px;gap:8px}.canvas-bottom>div{display:flex;gap:12px}.canvas-bottom button{display:flex;align-items:center;gap:5px;font-size:11px;padding:0}.magic-panel{border:1.5px solid var(--border);border-radius:18px;padding:22px;background:#fffdf9}.magic-panel h2{margin:0;font-size:27px;font-weight:850;line-height:1.3;display:flex;align-items:center}.magic-panel>p{color:#7c8190;font-size:13px;line-height:1.8;margin:10px 0 14px}.mascot{display:block;width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:14px}.styles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 20px}.styles button{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:8px;border:1.5px solid #eadcc5;border-radius:12px;padding:12px 2px;font-size:13px;font-weight:700;background:#fff1d2}.styles .clay{background:#e5f3ef;border-color:#c6e1da}.styles .fantasy{background:#fff0e9;border-color:#eed8ce}.styles button[aria-pressed=true]{border:2px solid #269da0;box-shadow:0 0 0 2px #269da018}.idea-label{display:block;font-size:13px;font-weight:650;margin-bottom:8px}.idea-label span{color:#9295a0;font-weight:400;margin-left:8px}.textarea-wrap{position:relative}textarea{resize:vertical;min-height:87px;width:100%;border:1.5px solid var(--border);border-radius:11px;padding:12px 12px 26px;background:#fff;font-size:13px;color:#253353}textarea::placeholder{color:#a2a5ac}.textarea-wrap>span{position:absolute;bottom:10px;right:12px;font-size:11px;color:#969aa4;pointer-events:none}.primary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:54px;border-radius:14px;background:var(--coral);color:#fff;font-size:17px;font-weight:750;margin-top:16px;padding:12px}.primary:disabled{opacity:1;background:#ebb5ad;color:#fff}.magic-panel .generation-hint{font-size:11px;text-align:center;margin:10px 0 17px;min-height:20px}.connectivity{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #e7e0d7;padding-top:15px;color:#697287;font-size:11px}.connectivity span{display:flex;align-items:center;gap:6px}footer{max-width:1430px;margin:16px auto 0;padding:0 30px;display:flex;align-items:center;gap:28px}footer span{flex:1;height:1px;background:#d3cec7}footer a{font-size:12px;color:#64708a;padding:12px 0}.privacy{font-size:10px;line-height:1.7;text-align:center;color:#858895;padding:0 24px 20px;margin:0}.notice{background:#edf4ed;padding:12px 16px;border:1px solid #c6d9c9;border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;font-size:14px;line-height:1.6}.notice button{flex-shrink:0}.result{width:100%;border-radius:12px;display:block}.secondary{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:12px;width:100%;margin-top:12px;font-size:14px}.small{text-align:center}.update-ready{color:#12807d}.breathing{animation:breathe 2.5s ease-in-out infinite}@keyframes breathe{50%{opacity:.65}}@media(min-width:1300px){.studio{grid-template-columns:minmax(0,1fr) 410px}.magic-panel{padding:24px}.magic-panel h2{font-size:30px}.mascot{aspect-ratio:1.65}.styles button{padding:15px 2px}.toolbar{padding:14px 18px}.swatch{width:43px;height:43px}.colors{gap:9px}}@media(max-width:1000px)and (min-width:701px){.studio{grid-template-columns:minmax(0,1fr) 290px;gap:14px}.magic-panel{padding:15px}.magic-panel h2{font-size:22px}.magic-panel .rays{display:none}.magic-panel>p{font-size:11px}.styles button{font-size:11px}.connectivity{flex-direction:column}.colors{width:100%;justify-content:space-between}.tools{justify-content:space-between}.canvas-bottom{flex-direction:column;align-items:flex-start}}@media(max-width:700px){header{padding:16px 18px}.brand{font-size:25px;gap:2px}.brand .rays{transform:scale(.7);margin-left:0}nav{gap:0}nav button{font-size:11px;padding:3px 6px;gap:4px}nav button+button{padding-left:8px}nav svg{width:16px}main{padding:0 14px}.intro{margin:8px 0 20px}.intro h1{font-size:29px;letter-spacing:0}.intro p{font-size:13px;letter-spacing:1px;margin-top:14px}.studio{grid-template-columns:1fr;gap:14px}.canvas-frame{border-radius:15px}.canvas-hint p{font-size:15px}.canvas-hint span{font-size:11px}.toolbar{padding:12px 10px;gap:10px}.colors{width:100%;justify-content:space-between;gap:3px}.swatch{width:34px;height:34px;min-height:34px;border-width:3px}.tools{justify-content:space-between}.brush{font-size:12px;gap:12px}.brush input{width:95px}.tool{flex-direction:row;gap:5px;font-size:12px}.canvas-bottom{font-size:10px}.canvas-bottom>div{gap:8px}.magic-panel{padding:18px}.magic-panel h2{font-size:25px}.mascot{aspect-ratio:2.25}.styles{margin-bottom:16px}.styles button{min-height:78px}.primary{min-height:56px}.connectivity{font-size:11px}footer{padding:0 18px;gap:15px;margin-top:14px}.privacy{font-size:10px}.notice{font-size:12px}.result-panel .result{max-height:65vh;object-fit:contain}.canvas-bottom button{font-size:10px}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}@supports (padding: max(0px)){body{padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}main,footer{max-width:1180px}header{max-width:1250px}.intro{margin-top:0}.intro h1{font-size:clamp(28px,3.5vw,48px)}@media(min-width:1001px){.studio{grid-template-columns:minmax(0,1fr) 370px}.magic-panel{padding:20px}.magic-panel h2{font-size:27px}.styles button{padding:12px 2px}.swatch{width:38px;height:38px}.colors{gap:7px}.tools{flex-basis:100%;justify-content:space-between}.toolbar{padding:12px 16px}}@media(min-width:701px)and (max-width:900px){main{max-width:720px}.studio{grid-template-columns:1fr}.magic-panel{padding:22px}.magic-panel h2{font-size:28px}.magic-panel>p{font-size:14px}.mascot{aspect-ratio:2.5}.styles button{font-size:15px}.connectivity,.canvas-bottom{flex-direction:row}.colors{width:auto}.tools{flex-basis:100%}}@media(min-width:1001px){main,footer{max-width:1120px}.tools{flex-basis:auto}.swatch{width:36px;height:44px;min-height:44px;border-radius:50%;background:radial-gradient(circle,var(--color) 56%,transparent 59%);border:0}.swatch[aria-pressed=true]{outline-offset:-3px}}@media(max-width:400px){.colors{display:grid;grid-template-columns:repeat(8,1fr);gap:0}.swatch{width:100%;height:44px;min-height:44px;border:0;background:radial-gradient(circle,var(--color) 47%,transparent 50%)}.swatch[aria-pressed=true]{outline-offset:-3px}}.swatch{position:relative;background:none;border:0;outline:none}.swatch:before{content:"";position:absolute;width:30px;height:30px;border-radius:50%;background:var(--color);top:50%;left:50%;transform:translate(-50%,-50%)}.swatch[aria-pressed=true]{outline:none}.swatch[aria-pressed=true]:after{content:"";position:absolute;width:36px;height:36px;border:2px solid var(--color);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.swatch:focus-visible{outline:3px solid #27999b;outline-offset:2px}
