:root{color-scheme:light;--ink: #1c1b19;--muted: #5c574f;--line: #d7d0c4;--amber: #c8922a;font-family:DM Sans,system-ui,sans-serif;--wc0: #2e86de;--wc1: #e67e22;--wc2: #27ae60;--wc3: #8e44ad;--wc4: #c0a000;--wc5: #e84393}*,*:before,*:after{box-sizing:border-box}body{margin:0;height:100vh;height:100dvh;overflow:hidden;background:#b08855;isolation:isolate;display:flex;flex-direction:column}.cardboard-base,.cardboard-layer,.cardboard-vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}.cardboard-base{background:radial-gradient(ellipse at 30% 20%,#c9a274,#b08855,#97703f 70%,#7c5a2f);z-index:-3}.cardboard-ridges{background-image:repeating-linear-gradient(to bottom,rgba(60,35,15,.06) 0px,rgba(60,35,15,.06) 1px,rgba(255,230,190,.04) 1px,rgba(255,230,190,.04) 2px,transparent 2px,transparent 7px);opacity:.7;z-index:-2}.cardboard-vignette{background:radial-gradient(ellipse at center,transparent 50%,rgba(40,25,10,.35) 100%);z-index:-1}.kiosk-page{max-width:640px;margin:0 auto;padding:16px 16px 0;display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;overflow-y:auto;width:100%}@media(min-width:760px){.kiosk-page{max-width:1100px;padding:20px 24px 0;gap:22px}}.kiosk-header{width:100%;background:#1a1008;border-bottom:2px solid rgba(255,255,255,.08);position:relative;z-index:50}.header-inner{max-width:1100px;margin:0 auto;padding:8px 24px 10px 20px;display:flex;align-items:center;justify-content:center;gap:16px}.header-text{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:0}.header-line1{margin:0;font-size:clamp(.72rem,2vw,.9rem);font-weight:600;font-style:italic;color:#ffffffa6;line-height:1.2;letter-spacing:.01em;text-align:center}.header-knife-left{width:26px;flex-shrink:0;transform:rotate(-28deg) translateY(-3px)}.header-knife-right{width:58px;flex-shrink:0;transform:rotate(20deg) translateY(4px)}.drag-hint-row{display:flex;align-items:center;justify-content:center;gap:10px;margin:4px 0 12px}.drag-hint-row .drag-hint{margin:0}.lang-toggle{flex-shrink:0;background:#1a1008;border:2px solid rgba(255,255,255,.3);border-radius:999px;padding:9px 20px;cursor:pointer;font-family:DM Sans,system-ui,sans-serif;font-size:.88rem;font-weight:700;letter-spacing:.04em;color:#fff;box-shadow:0 4px 18px #00000073;transition:background .18s,border-color .18s,transform .1s;-webkit-user-select:none;user-select:none;white-space:nowrap}.lang-toggle:hover{background:#2e2010;border-color:#fff9}.lang-toggle:active{transform:scale(.95)}.lang-toggle-arrow{opacity:.6;font-size:.8em}.header-line2{margin:0;text-align:center;font-size:clamp(1rem,3vw,1.35rem);font-weight:800;color:#f5c842;text-shadow:0 1px 8px rgba(0,0,0,.55),0 0 20px rgba(245,200,66,.2);letter-spacing:-.01em;line-height:1.2}.knife{flex-shrink:0;filter:drop-shadow(0 0 6px rgba(255,255,255,.7)) drop-shadow(0 0 14px rgba(255,255,255,.35)) drop-shadow(0 3px 8px rgba(0,0,0,.5))}.word-targets-panel{width:100%;display:flex;flex-direction:column;gap:8px}.word-targets-heading{margin:0;font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff6;text-align:center}.word-targets-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.word-target{border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;align-items:center;gap:2px;background:#00000038;border:2px dashed rgba(255,255,255,.18);opacity:.55;transition:opacity .4s ease,background .4s ease,border-color .4s ease;text-align:center}.target-text{display:flex;flex-direction:column;gap:1px;min-width:0}@media(min-width:760px){.word-targets-list{display:flex;flex-direction:column;gap:6px}.word-target{flex-direction:row;align-items:center;gap:10px;text-align:left;padding:8px 12px}.target-text{display:flex;flex-direction:column;gap:1px;min-width:0}}.word-target.target-found{opacity:1;border-style:solid;border-color:transparent}.word-target-0.target-found{background:#2e86de}.word-target-1.target-found{background:#e67e22}.word-target-2.target-found{background:#27ae60}.word-target-3.target-found{background:#8e44ad}.word-target-4.target-found{background:#c0a000}.word-target-5.target-found{background:#e84393}.word-target-6.target-found{background:#16a085}.word-target-7.target-found{background:#c0392b}.target-syll{font-family:Noto Sans Canadian Aboriginal,system-ui,sans-serif;font-size:1.05rem;font-weight:700;color:#fff;line-height:1.1;flex-shrink:0}.target-roman{font-size:.72rem;color:#ffffffe6;font-weight:600}.target-gloss{font-size:.65rem;color:#fff9;font-style:italic;display:none}.word-target.target-found .target-gloss{display:inline;color:#ffffffd9}.body-columns{display:flex;flex-direction:column;gap:20px}@media(min-width:760px){.body-columns{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start}}.game-col{display:flex;flex-direction:column;gap:4px;min-width:0}.rive-col{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:0;min-height:0}@media(min-width:760px){.rive-col{justify-content:flex-start;padding-top:calc(3rem + 14px)}}.game-area{position:relative;display:flex;flex-direction:column;gap:2px}.board-wrap{background:#b8821e;border-radius:20px;padding:12px;box-shadow:0 2px #ffffff1f inset,0 -3px #0003 inset,0 12px 32px #0000004d}.grid-wrap{position:relative}.grid{display:grid;grid-template-columns:repeat(var(--cols, 8),minmax(0,1fr));gap:7px;-webkit-user-select:none;user-select:none;touch-action:none}.current-word{min-height:3rem;display:flex;align-items:center;justify-content:center;font-family:Noto Sans Canadian Aboriginal,system-ui,sans-serif;font-size:clamp(1.2rem,5vw,1.6rem);font-weight:700;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.35);text-align:center;padding:4px 0 6px;letter-spacing:.04em}.feedback{min-height:2em;padding:6px 4px 2px;color:#ffffffe6;font-size:.88rem;line-height:1.45;text-align:center}.feedback strong{color:#a8f0c8}.feedback .err{color:#ffa0a0}.feedback .hint-earn{color:#ffd780;font-size:.8em}.feedback .congrats{color:#a8f0c8;font-size:1rem}.game-bottom-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 2px 4px}@media(min-width:760px){.game-bottom-bar{padding:16px 2px 4px}}.hint-btn{flex:0 0 auto;background:#fff;color:var(--ink);border:2px solid var(--line);white-space:nowrap}.hint-btn:not(:disabled):hover{filter:brightness(.96)}.hint-badge{background:#2e86de;color:#fff;border-radius:999px;font-size:.75rem;padding:1px 7px;margin-left:4px;display:none}.hint-badge:not(:empty){display:inline-block}.hint-badge.cooldown{background:#a08060}.score-display{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:1px;background:#00000038;border-radius:10px;padding:5px 14px;transition:background .4s ease}.score-label{font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff9}.score-value{font-size:1.25rem;font-weight:800;line-height:1;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.4);font-variant-numeric:tabular-nums;transition:color .4s ease}.score-display.score-hot{background:#2e86de40}.score-display.score-hot .score-value{color:#7dd3fc}.score-display.score-warm{background:#c8922a40}.score-display.score-warm .score-value{color:#fcd34d}.score-display.score-cool{background:#c8392b33}.score-display.score-cool .score-value{color:#fca5a5}.score-display.score-final{box-shadow:0 0 0 2px #ffd70080}.score-display.score-bump .score-value{animation:scoreBump .4s cubic-bezier(.34,1.56,.64,1)}@keyframes scoreBump{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}.pts-earn{font-size:.8em;font-weight:700;color:#a8f0c8;opacity:.9}.progress-line{flex:1 1 auto;margin:0;font-size:.88rem;font-weight:700;color:#fff;text-align:right;text-shadow:0 1px 4px rgba(0,0,0,.3);white-space:nowrap}.drag-hint{margin:4px 0 12px;font-size:.84rem;font-weight:600;color:#ffffffe6;text-align:center;letter-spacing:.02em;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:6px 20px;align-self:center}.btn{border:none;border-radius:999px;padding:9px 20px;font-weight:700;cursor:pointer;font-size:.92rem;transition:filter .12s ease,transform .08s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default}.completion-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;background:#0f0a05d9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:28px 24px;z-index:20;text-align:center;animation:overlayFadeIn .4s ease}.completion-overlay[hidden]{display:none}@keyframes overlayFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.completion-title{margin:0;font-size:clamp(1.6rem,5vw,2.2rem);font-weight:800;font-style:italic;color:#fff;text-shadow:0 3px 14px rgba(0,0,0,.5);letter-spacing:-.01em}.completion-subtitle{margin:0;font-size:clamp(.95rem,2.8vw,1.15rem);font-weight:600;color:#fff0c8e6}.completion-score-display{display:flex;flex-direction:column;align-items:center;gap:2px;background:#ffffff14;border-radius:14px;padding:10px 28px;min-width:140px}.completion-score-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff8c}.completion-score-value{font-size:2.4rem;font-weight:800;line-height:1;color:#a8f0c8;font-variant-numeric:tabular-nums}.restart-btn{background:#fff;color:var(--ink);border:none;padding:12px 32px;font-size:1rem;font-weight:700;border-radius:999px;margin-top:4px;box-shadow:0 4px 18px #0000004d}.restart-btn:hover{filter:brightness(.94)}.restart-btn:active{transform:translateY(1px)}.cell{position:relative;border:none;border-radius:12px;padding:6px 4px;text-align:center;background:var(--tile-bg, #e8e0d4);aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;touch-action:none;cursor:pointer;box-shadow:0 0 0 1.5px #ffffff47 inset,0 5px 0 var(--tile-shadow, #b8a898),0 7px 14px #0003;transition:transform .08s ease,box-shadow .08s ease,filter .08s ease}.cell.filler{--tile-bg: #2a2520;--tile-shadow: #110e0b;cursor:default;pointer-events:none}.cell.filler .syll,.cell.filler .roman{display:none}.found-w0{--tile-bg: #2e86de;--tile-shadow: #1a5fa8}.found-w1{--tile-bg: #e67e22;--tile-shadow: #a85510}.found-w2{--tile-bg: #27ae60;--tile-shadow: #157840}.found-w3{--tile-bg: #8e44ad;--tile-shadow: #622880}.found-w4{--tile-bg: #c0a000;--tile-shadow: #887000}.found-w5{--tile-bg: #e84393;--tile-shadow: #b01860}.found-w6{--tile-bg: #16a085;--tile-shadow: #0a6b59}.found-w7{--tile-bg: #c0392b;--tile-shadow: #8a1a10}.cell .syll{font-family:Noto Sans Canadian Aboriginal,system-ui,sans-serif;font-size:clamp(1.3rem,3.1vw,1.85rem);font-weight:700;line-height:1.1;color:#000000b8}.cell .roman{font-size:clamp(.75rem,1.65vw,1rem);letter-spacing:.02em;color:#00000080;word-break:break-all;line-height:1.1;max-width:100%}.cell.in-path{transform:translateY(3px);box-shadow:0 0 0 1.5px #ffffff47 inset,0 2px 0 var(--tile-shadow, #b8a898),0 3px 6px #0000002e;filter:brightness(1.15)}.cell.invalid-flash{animation:popRed .45s ease}.cell.hint-flash{animation:popBlue .5s ease}@keyframes popRed{0%,to{box-shadow:0 0 #9f123900,0 5px 0 var(--tile-shadow),0 7px 14px #0003}40%{box-shadow:0 0 0 7px #9f12394d,0 5px 0 var(--tile-shadow),0 7px 14px #0003}}@keyframes popBlue{0%,to{box-shadow:0 0 #2e86de00,0 5px 0 var(--tile-shadow),0 7px 14px #0003}40%{box-shadow:0 0 0 7px #2e86de59,0 5px 0 var(--tile-shadow),0 7px 14px #0003}}.hint-beacon-w0{--tile-bg: #2e86de;--tile-shadow: #1a5fa8}.hint-beacon-w1{--tile-bg: #e67e22;--tile-shadow: #a85510}.hint-beacon-w2{--tile-bg: #27ae60;--tile-shadow: #157840}.hint-beacon-w3{--tile-bg: #8e44ad;--tile-shadow: #622880}.hint-beacon-w4{--tile-bg: #c0a000;--tile-shadow: #887000}.hint-beacon-w5{--tile-bg: #e84393;--tile-shadow: #b01860}.hint-beacon-w6{--tile-bg: #16a085;--tile-shadow: #0a6b59}.hint-beacon-w7{--tile-bg: #c0392b;--tile-shadow: #8a1a10}.cell.hint-beacon .syll,.cell.hint-beacon .roman{color:#fffffff2}@keyframes hintBeaconIn{0%{transform:scale(1) translateY(0);filter:brightness(1)}28%{transform:scale(1.22) translateY(-7px);filter:brightness(1.45);box-shadow:0 0 0 1.5px #ffffff8c inset,0 4px 0 var(--tile-shadow, #b8a898),0 0 0 9px #ffffff38,0 14px 28px #00000059}65%{transform:scale(1.07) translateY(-2px);filter:brightness(1.15)}to{transform:scale(1) translateY(0);filter:brightness(1)}}@keyframes hintBeaconOut{0%{transform:scale(1);opacity:1;filter:brightness(1)}30%{transform:scale(1.06);opacity:.9}to{transform:scale(.82);opacity:0;filter:brightness(.7)}}.cell.hint-beacon{animation:hintBeaconIn .62s cubic-bezier(.34,1.56,.64,1) forwards}.cell.hint-beacon-exit{animation:hintBeaconOut .42s ease-in forwards}.cell.demo-path{transform:translateY(2px);filter:brightness(1.12);box-shadow:0 0 0 2px #ffffff8c inset,0 2px 0 var(--tile-shadow, #b8a898),0 3px 8px #00000026;transition:none}.cell.jiggle{animation:jiggle 1.4s ease}@keyframes jiggle{0%,to{transform:translateY(0) rotate(0)}10%{transform:translateY(-3px) rotate(-3deg)}25%{transform:translateY(-2px) rotate(3deg)}40%{transform:translateY(-3px) rotate(-2deg)}55%{transform:translateY(-2px) rotate(2deg)}70%{transform:translateY(-1px) rotate(-1.5deg)}85%{transform:translateY(-1px) rotate(1deg)}}.path-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;overflow:visible}.kiosk-footer{width:100%;background:#1a1008;margin-top:0;border-top:2px solid rgba(255,255,255,.07);flex-shrink:0}.footer-inner{max-width:1100px;margin:0 auto;padding:10px 20px max(12px,calc(8px + env(safe-area-inset-bottom,0px)));display:flex;flex-direction:row;align-items:center;gap:16px}.footer-collab{flex:1;margin:0;font-size:.78rem;color:#ffebbebf;line-height:1.5;text-align:center}.footer-collab strong{color:#ffdc82f2;font-weight:700}.footer-left{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex:0 0 auto}.footer-logos{display:flex;align-items:center;gap:12px}.footer-logo-ai{height:36px;opacity:.92}.footer-logo-sirivik{height:46px;background:#fff;border-radius:8px;padding:4px 6px}.footer-art{margin:0;color:#ffffff80;font-size:.72rem;font-style:italic}.footer-qr{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:5px}.qr-img{width:72px;height:72px;border-radius:8px;background:#fff;padding:3px;display:block}.qr-text{margin:0;color:#fff;font-size:.75rem;font-weight:700;text-align:center;max-width:110px;line-height:1.25}.word-popup{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:300;pointer-events:none}.word-popup img{max-width:min(320px,62vw);max-height:min(320px,62vh);border-radius:20px;box-shadow:0 0 0 4px #ffffff2e,0 16px 56px #0000008c;object-fit:contain}@keyframes wordPopIn{0%{transform:scale(.25) rotate(-10deg);opacity:0}55%{transform:scale(1.14) rotate(4deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes wordPopJiggle{0%,to{transform:translateY(0) rotate(0)}10%{transform:translateY(-6px) rotate(-4deg)}25%{transform:translateY(-4px) rotate(4deg)}40%{transform:translateY(-6px) rotate(-3deg)}55%{transform:translateY(-4px) rotate(3deg)}70%{transform:translateY(-2px) rotate(-2deg)}85%{transform:translateY(-2px) rotate(1.5deg)}}@keyframes wordPopOut{0%{transform:scale(1);opacity:1}to{transform:scale(.75) rotate(6deg);opacity:0}}.word-popup-in img{animation:wordPopIn .52s cubic-bezier(.34,1.56,.64,1) forwards}.word-popup-jiggle img{animation:wordPopJiggle 1.4s ease}.word-popup-out img{animation:wordPopOut .48s ease-in forwards}@media(max-width:480px){.header-inner{padding:3px 10px 4px;gap:8px}.header-text{gap:1px}.header-line1{font-size:.6rem;letter-spacing:0}.header-line2{font-size:clamp(.82rem,4vw,1rem)}.header-knife-left{width:18px;transform:rotate(-28deg) translateY(-2px)}.header-knife-right{width:36px;transform:rotate(20deg) translateY(2px)}.kiosk-page{padding:8px 12px 0;gap:6px}.cell .syll{font-size:clamp(1.45rem,6.5vmin,2.1rem)}.cell .roman{font-size:clamp(.75rem,3vmin,1rem)}.board-wrap{padding:8px;border-radius:16px}.grid{gap:5px}.drag-hint{font-size:.75rem;padding:4px 14px;margin:1px 0 8px}.current-word{min-height:1.8rem;font-size:clamp(1rem,5.5vmin,1.3rem);padding:0 0 3px}.feedback{min-height:1.5em;padding:4px 4px 2px;font-size:.82rem}.game-bottom-bar{gap:7px;padding:8px 2px 4px}.progress-line{font-size:.78rem}.footer-inner{padding:6px 12px 8px;gap:10px}.footer-logo-ai{height:22px}.footer-logo-sirivik{height:28px}.qr-img{width:44px;height:44px}.footer-collab{font-size:.68rem;line-height:1.35}.qr-text{font-size:.65rem;max-width:80px}}@media(min-width:760px)and (max-aspect-ratio:2/3){.kiosk-page{max-width:min(680px,90vw);padding:20px 32px 0;gap:16px;overflow-y:hidden}.body-columns{display:flex;flex-direction:column;gap:14px;align-items:stretch}.rive-col{padding-top:0}.word-targets-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.word-target{flex-direction:row;align-items:center;gap:10px;text-align:left;padding:8px 12px}.target-gloss{display:none}.word-target.target-found .target-gloss{display:inline;color:#ffffffe6}.target-syll{font-size:1.15rem}.board-wrap{padding:12px;border-radius:22px}.grid{gap:8px}.cell .syll{font-size:clamp(1.6rem,5vmin,2.4rem)}.cell .roman{font-size:clamp(.75rem,1.8vmin,1rem)}.current-word{font-size:clamp(1.4rem,3.5vw,2rem);min-height:3rem}.drag-hint{font-size:.9rem;padding:7px 22px;margin:2px 0 10px}.game-bottom-bar{padding:12px 2px 4px}.word-targets-heading{font-size:.72rem}}@media(min-width:760px)and (min-aspect-ratio:4/3){.header-inner{padding:6px 24px 8px 20px}.kiosk-page{padding:12px 24px 0;gap:12px;overflow-y:auto}.game-col{max-width:calc(100vh - 250px);max-width:calc(100dvh - 250px)}.current-word{min-height:2.2rem;padding:2px 0 4px}.drag-hint{font-size:.78rem;padding:5px 18px;margin:2px 0 8px}.board-wrap{padding:8px;border-radius:16px}.grid{gap:5px}.cell .syll{font-size:clamp(1rem,3vmin,1.6rem)}.cell .roman{font-size:clamp(.6rem,1.4vmin,.9rem)}.feedback{min-height:1.5em;font-size:.82rem;padding:4px 4px 2px}.game-bottom-bar{padding:8px 2px 2px}.footer-inner{padding:7px 20px max(10px,calc(6px + env(safe-area-inset-bottom,0px)));gap:12px}.footer-logo-ai{height:26px}.footer-logo-sirivik{height:32px}.qr-img{width:50px;height:50px}.footer-collab{font-size:.72rem}}
