.letter-garden{--ink:#284e46;--mint:#dcebdc;max-width:1000px;margin:0 auto;padding:26px 20px 36px;color:var(--ink);font-family:system-ui,sans-serif}.letter-garden *{box-sizing:border-box}.letter-garden h1{font-size:clamp(27px,5vw,42px);margin:8px 0}.lg-eyebrow{letter-spacing:.18em;font-size:11px;font-weight:800;color:#7a7657}.lg-intro{line-height:1.8;font-size:16px}.lg-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0}.letter-garden button,.letter-garden select{font:700 15px system-ui;min-height:46px;border:1px solid #cbd9ce;border-radius:15px;background:#fffdf6;color:var(--ink);padding:10px 15px;cursor:pointer}.letter-garden button[aria-pressed=true]{background:#356857;color:white;border-color:#356857}.letter-garden button:focus-visible,.letter-garden canvas:focus-visible{outline:3px solid #b76835;outline-offset:4px}.letter-garden button:disabled{cursor:default}.lg-controls{background:#eef3e8;border-radius:20px;padding:10px 16px}.lg-controls label{font-size:14px}.lg-status{min-height:50px;margin:12px 0;padding:12px 16px;line-height:1.6;background:#e4eee5;border-radius:15px;font-weight:650}.lg-stage{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(#f8efdc,#f7f5dc 67%,#dfe9ca 67%,#d9e4c4);min-height:265px;display:grid;place-items:center;border:1px solid #e5dcc3}.lg-stage:before,.lg-stage:after{content:'';position:absolute;width:130px;height:80px;border-radius:50%;background:#bdcea5;bottom:-30px;left:-25px;transform:rotate(-20deg)}.lg-stage:after{left:auto;right:-30px;background:#ccd6b3}.lg-stage .lg-picture{position:relative;width:220px;height:205px;object-fit:contain;z-index:1;filter:drop-shadow(0 12px 5px #65764c20)}.lg-count{position:absolute;left:18px;top:15px;font-size:12px;letter-spacing:.06em;color:#727755}.lg-stage .lg-name{position:absolute;bottom:12px;margin:0;font-size:18px;z-index:2;font-weight:750;background:#fffdf8e8;padding:5px 20px;border-radius:25px}.lg-board{background:#fffcf5;border:1px solid #e6dfcd;border-radius:24px;padding:20px;margin-top:15px;text-align:center}.lg-model{font-size:clamp(24px,5vw,38px);letter-spacing:.13em;margin:3px 0 16px;min-height:40px}.lg-slots,.lg-tiles{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}.letter-garden .lg-slot,.letter-garden .lg-tile{width:66px;height:72px;padding:0;font-size:32px;border-radius:17px;touch-action:none;user-select:none}.letter-garden .lg-slot{border:2px dashed #a9bca7;background:#f2f6eb;color:#718c73}.lg-slot .lg-hint{opacity:.42}.letter-garden .lg-slot.filled{border:2px solid #78a38c;background:#dcebdd;color:#285342}.lg-tiles{margin:20px 0 8px;padding:18px 8px;background:#eee1c8;border-radius:20px;box-shadow:inset 0 -4px 0 #c8b79755}.letter-garden .lg-tile{background:#fff9e9;border:1px solid #d9c9a5;box-shadow:0 5px 0 #c8b48e;color:#4a5644}.letter-garden .lg-tile[aria-pressed=true]{background:#f5d697;color:#334e43;outline:3px solid #a16d31}.letter-garden .lg-tile:disabled{opacity:.25;box-shadow:none}.lg-tip{font-size:14px;line-height:1.7;color:#5f7366;margin:12px 0 0}.lg-ghost{position:fixed;z-index:9999;pointer-events:none;transform:translate(-50%,-50%) rotate(-5deg);width:66px;height:72px;display:grid;place-items:center;font:700 32px system-ui;background:#ffe4a9;color:#284e46;border:2px solid #bb9253;border-radius:17px;box-shadow:0 10px 20px #243a3429}.lg-complete{margin:18px 0;padding:20px;background:#e0efdf;border-radius:22px;text-align:center}.lg-complete h2{margin:0 0 12px;font-size:25px}.letter-garden .lg-primary{background:#356857;color:white;border:0;min-width:180px;font-size:18px;box-shadow:0 4px 0 #214b3e}.lg-complete[hidden],.letter-garden [hidden]{display:none!important}.lg-settings{margin:18px 0}.lg-settings summary,.lg-album summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:700}.lg-album{margin-top:22px;background:#f3eedf;border-radius:22px;padding:8px 20px}.lg-album-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:14px 0}.lg-sticker{border-radius:16px;background:#fffdf7;padding:10px;text-align:center;font-size:13px}.lg-sticker img{display:block;width:100%;height:75px;object-fit:contain;margin-bottom:5px}.lg-unknown{height:75px;display:grid;place-items:center;font-size:30px;color:#a39c86}.lg-save{font-size:13px;color:#62736c}.lg-reset-confirm{padding:15px;background:#fff9eb;border:1px solid #d6bba0;border-radius:14px}.lg-trace canvas{max-width:100%;width:310px;height:auto;border-radius:20px;border:1px solid #c2d4c4;background:#fffdf6;touch-action:none}.lg-trace-meter{max-width:310px;margin:10px auto;height:10px;border-radius:9px;background:#e5e9dc;overflow:hidden}.lg-trace-meter span{display:block;height:100%;background:#548776;transition:width .15s}.lg-match-target{font-size:74px;margin:10px}.lg-match-choices{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.lg-match-choices button{font-size:34px;min-width:65px;min-height:72px}.lg-progress{font-size:13px;color:#63746b}.lg-motion-hop{animation:lg-hop 1.25s ease-in-out 2}.lg-motion-wave{animation:lg-wave 1.5s ease-in-out 2}.lg-motion-fly{animation:lg-fly 2.6s ease-in-out}.lg-motion-roll{animation:lg-roll 2s ease-in-out}.lg-confetti{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 28%,#e4b152 0 5px,transparent 6px),radial-gradient(circle at 77% 16%,#df9b86 0 6px,transparent 7px),radial-gradient(circle at 87% 60%,#98b791 0 5px,transparent 6px),radial-gradient(circle at 22% 70%,#eecb72 0 5px,transparent 6px);animation:lg-spark 1.5s ease-out}.lg-small{font-size:13px;line-height:1.7}.lg-select-word{max-width:100%}.audio-panel{margin:8px auto;padding:12px;max-width:960px;line-height:1.6;color:#52694f}.lg-stage button.lg-replay{position:absolute;right:12px;top:12px;z-index:3;font-size:13px;padding:8px 12px}
@keyframes lg-hop{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-35px) rotate(-7deg)}65%{transform:translateY(-8px) rotate(7deg)}}@keyframes lg-wave{0%,100%{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}@keyframes lg-fly{0%,100%{transform:translateX(0)}30%{transform:translate(-80px,-20px) rotate(-10deg)}70%{transform:translate(80px,-35px) rotate(10deg)}}@keyframes lg-roll{0%,100%{transform:rotate(0)}30%{transform:translateX(-45px) rotate(-18deg)}70%{transform:translateX(45px) rotate(18deg)}}@keyframes lg-spark{from{opacity:0;transform:scale(.8)}30%{opacity:1}to{opacity:0;transform:scale(1.1)}}
@media(max-width:600px){.letter-garden{padding:18px 12px}.lg-stage{min-height:220px}.lg-stage .lg-picture{width:170px;height:165px}.lg-board{padding:15px 10px}.letter-garden .lg-slot,.letter-garden .lg-tile{width:49px;height:57px;font-size:27px;border-radius:13px}.lg-slots,.lg-tiles{gap:7px}.lg-row{gap:6px}.letter-garden button{font-size:13px;padding:9px 12px}.lg-album-grid{grid-template-columns:repeat(3,1fr)}.lg-model{letter-spacing:.07em}.lg-stage .lg-name{font-size:16px}}
@media(prefers-reduced-motion:reduce){.lg-picture,.lg-confetti{animation:none!important}.lg-trace-meter span{transition:none}}
.letter-garden #game{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px;align-items:stretch}.letter-garden #game>.lg-board{margin-top:0}.letter-garden #game>.lg-board:only-child,.letter-garden #game>.lg-complete{grid-column:1/-1}.letter-garden .lg-stage{min-height:300px}.letter-garden .lg-stage .lg-picture{width:260px;height:250px;max-width:85%}.letter-garden .lg-intro{margin:8px 0 12px}.letter-garden .lg-settings{margin:0}.letter-garden .lg-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.letter-garden .lg-controls>.lg-row{margin:5px 0}.letter-garden .lg-settings[open]{width:100%}
@media(max-width:600px){.letter-garden #game{grid-template-columns:1fr;gap:10px}.letter-garden .lg-stage{min-height:170px}.letter-garden .lg-stage .lg-picture{width:155px;height:150px}.letter-garden .lg-controls{gap:0;padding:8px 12px}.letter-garden h1{font-size:26px}.letter-garden .lg-intro{font-size:14px}.letter-garden .lg-status{font-size:14px;margin:8px 0;padding:9px 12px;min-height:42px}.letter-garden #activityBar{display:grid;grid-template-columns:1fr 1fr;margin:8px 0}.letter-garden .lg-settings summary{padding:6px 0;min-height:36px;font-size:13px}.letter-garden .lg-tiles{margin-top:12px}.letter-garden .lg-model{margin-bottom:10px;min-height:30px}}
