:root{color-scheme:light;--green:#78853c;--cream:#d2c6b7;--ink:#111}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--green);font-family:Arial,"Microsoft JhengHei",sans-serif}
body{overflow:hidden}
#content{height:100svh;position:relative;visibility:hidden}
#content.ready{visibility:visible}
.proposal{width:100%;height:100%;object-fit:cover;display:block}
.preview-tools{position:absolute;bottom:24px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:white;font-size:11px;letter-spacing:.14em;text-shadow:0 1px 6px #0006}
button{border:1px solid #ffffff80;background:#ffffffdf;color:#26321b;border-radius:100px;padding:12px 20px;cursor:pointer;font:inherit;letter-spacing:.08em;backdrop-filter:blur(12px)}
button:hover{background:#fff}button:focus-visible{outline:3px solid #111;outline-offset:5px}button span{margin-left:12px;font-size:17px}
.loader{position:fixed;inset:0;z-index:10;overflow:hidden;isolation:isolate}
.loader[hidden]{display:none}
.curtain{position:absolute;width:100%;height:100%;inset:0;fill:var(--green)}
.mascot{position:absolute;width:min(14.06vw,27.54svh);height:auto;left:50%;top:50%;transform:translate(-50%,-50%);overflow:visible}
.face,.features,.ear,.wordmark,.accents,.word-cha,.word-happy,.word-plus{opacity:0}
.word-cha{transform-origin:163px 240px}.word-happy{transform-origin:197px 240px}
.wordmark{transform-origin:194px 242px}.word-plus{transform-origin:180px 240px}
.mouth{stroke-dasharray:1;stroke-dashoffset:1;fill-opacity:0}
.face{stroke-dasharray:1;stroke-dashoffset:1;fill-opacity:0;stroke-linecap:round}
.eyes-happy,.head-ink{opacity:0}
.ear-left{transform-origin:160px 39px}.ear-right{transform-origin:290px 67px}
#character{transform-origin:180px 180px}
@media(max-width:600px){.proposal{object-position:62% center}.preview-tools{left:18px;right:18px;bottom:20px;font-size:9px;letter-spacing:.04em}.preview-tools>span{max-width:135px;line-height:1.8}button{padding:11px 15px}}

.face,.mouth{stroke:none}
.trace-mouth,.trace-top,.trace-bottom{stroke-dasharray:1;stroke-dashoffset:1}
.letter-write{stroke-dasharray:1;stroke-dashoffset:1}
