*{box-sizing:border-box}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,"Noto Sans Thai",sans-serif;background:#f2f0e5;color:#243f37}button,select,a{font:inherit}button,select{min-height:44px;border:1px solid #c9d4c7;border-radius:12px;background:#fffdf5;color:inherit;padding:10px 14px;cursor:pointer}button:hover{filter:brightness(.96)}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #c67440;outline-offset:3px}button:disabled{opacity:.4;cursor:default}.studio{max-width:1150px;margin:auto;padding:0 28px}.top{height:88px;border-bottom:1px solid #cbd1c3;display:flex;align-items:center;justify-content:space-between;gap:12px}.back{color:inherit;text-decoration:none;font-size:13px}.wordmark{font-size:13px;letter-spacing:.2em;font-weight:800}.language select{max-width:145px;background:transparent}.layout{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(340px,1.15fr);gap:70px;align-items:center;padding:45px 0}.edition{font-size:11px;letter-spacing:.14em;color:#7e8b72}h1{font-size:clamp(32px,4.8vw,56px);line-height:1.08;letter-spacing:-.04em;margin:22px 0}p{line-height:1.65}.tagline{font-size:19px;color:#607763}.description{font-size:15px;max-width:370px}.badge{display:inline-block;font-size:12px;border:1px solid #cad5bb;padding:9px 14px;border-radius:30px;margin:15px 0}details{margin:25px 0;font-size:14px}summary{cursor:pointer;min-height:44px;padding:12px 0}details p{color:#607763}.tools{display:flex;flex-wrap:wrap;gap:7px}.tools button{font-size:11px;background:transparent;padding:8px 11px}#notice{min-height:25px;font-size:12px}.game-panel{padding:20px;background:#e6eadb;border:1px solid #d1d9c4;border-radius:26px;box-shadow:0 20px 45px #243f3710;overflow:hidden}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.panel-top button{font-size:12px;padding:8px 12px}.stats{display:flex;justify-content:space-around;margin:18px 0}.stats div{display:flex;flex-direction:column;align-items:center;gap:4px}.stats strong{font-size:24px;letter-spacing:-.04em}.stats span{font-size:10px;text-transform:uppercase;letter-spacing:.08em}.play-area{position:relative;isolation:isolate;background:#f7f6ec;border:1px solid #d0d8c1;border-radius:16px;overflow:hidden}#board{min-height:330px}.overlay{position:absolute;inset:0;background:#edf1e7e8;backdrop-filter:blur(7px);z-index:3;display:flex;align-items:center;justify-content:center;padding:18px}.overlay[hidden]{display:none}.overlay-card{text-align:center;max-width:310px}.overlay h2{font-size:27px;line-height:1.2;margin:12px 0}.overlay p{font-size:13px}.emblem{font-size:38px;color:#e58c5f}.primary{background:#294f3e;color:#fff;border:0;min-width:170px;font-weight:650;margin:8px 0}.actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.actions button{font-size:12px}#status{text-align:center;min-height:48px;padding:12px 0;font-size:12px;line-height:1.4}footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #cbd1c3;padding:24px 0;color:#7e8b72;font-size:10px;letter-spacing:.04em}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.space{background:#101d2a;color:#deecec}.space .top,.space footer{border-color:#2c3d4b}.space .game-panel{background:#172a3a;border-color:#314352}.space .play-area{background:#0f202f;border-color:#334957}.space .overlay{background:#132939eb}.space button,.space select{background:#203b49;color:#dbecec;border-color:#3b5662}.space .primary{background:#d0f078;color:#18342d}.space .description,.space .tagline,.space details p{color:#9eb8bc}.space .badge{border-color:#46565b}.space .edition,.space footer{color:#8ca4ac}.space .emblem{color:#d0f078}.space canvas{display:block;width:100%;touch-action:none;aspect-ratio:3/4}.space #board{min-height:0}
@media(max-width:740px){.studio{padding:0 16px}.top{height:68px}.wordmark{font-size:10px}.language select{max-width:125px;font-size:12px}.layout{display:flex;flex-direction:column;gap:18px;padding:22px 0}.intro{width:100%;display:grid;grid-template-columns:1fr auto;gap:0 8px}.edition{grid-column:1/-1;font-size:9px}h1{font-size:30px;margin:9px 0;grid-column:1/-1}.tagline{font-size:13px;margin:0;grid-column:1/-1}.description,.badge{display:none}details{margin:8px 0 0;grid-column:1/-1;font-size:12px}details p{margin:0 0 8px}.tools{grid-column:1/-1}.tools button{min-height:36px}#notice{display:none}.game-panel{width:100%;max-width:480px;padding:14px;border-radius:20px}.stats{margin:12px 0}.stats strong{font-size:21px}#board{min-height:280px}.overlay h2{font-size:23px}footer{font-size:9px;padding:20px 0}.space canvas{max-height:58dvh;object-fit:contain}.space #board{display:grid;place-items:center}.space canvas{width:auto;max-width:100%}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

@media(max-width:740px){.playing .edition,.playing .tagline{display:none}.playing h1{font-size:24px;margin:2px 0}.playing .layout{padding:14px 0;gap:12px}.playing .intro details{margin-top:0}.playing .intro .tools{margin-top:0}.playing .tubes{min-height:260px!important;padding-top:22px;padding-bottom:22px}.playing .space canvas{max-height:55dvh}}

*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#0b191f;color:#f7f0dc;font-family:system-ui,-apple-system,sans-serif}body{background:radial-gradient(ellipse at 50% 0,#30484c 0,transparent 65%),#0b191f}button,select,a{font:inherit;touch-action:manipulation}button{border:1px solid #e7d3a64d;border-radius:11px;background:#ffffff0d;color:inherit;cursor:pointer;min-width:44px;min-height:44px;padding:8px 14px;transition:transform .15s,background .2s,box-shadow .2s}button:active{transform:translateY(2px) scale(.96)}button:hover{background:#ffffff24}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid var(--accent,#ffca82);outline-offset:2px}.atelier{max-width:1120px;margin:auto;padding:18px 28px 24px}header{display:flex;align-items:center;gap:10px;margin-bottom:20px}header a{color:#f5e3bb;text-decoration:none;font-size:12px;letter-spacing:.12em;margin-right:auto}select{background:#18333b;color:#fff2d9;border:1px solid #9fb0a644;border-radius:9px;padding:9px;max-width:145px;min-height:44px}.heading{position:absolute;top:150px;width:240px}.eyebrow{font-size:10px;letter-spacing:.23em;color:#ddca9b}h1{font-family:Georgia,serif;font-size:40px;line-height:1.1;margin:14px 0}#description{font-size:13px;line-height:1.8;color:#d1d7cf}.cabinet{width:min(100%,450px);margin:auto;border:1px solid #b8c3a32b;border-radius:23px;padding:13px;background:linear-gradient(130deg,#52606533,#0b191fbb);box-shadow:0 22px 90px #0008}.scorebar{display:flex;justify-content:space-between;gap:6px;padding:7px 4px 12px;font-size:12px;letter-spacing:.025em;color:#e7d6b0}.stage{position:relative;overflow:hidden;border-radius:15px;box-shadow:inset 0 0 0 1px #fff4}canvas{display:block;width:100%;aspect-ratio:3/4;touch-action:none;outline:none}#overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#08192077;backdrop-filter:blur(5px);padding:20px}#overlay[hidden],#audio-panel[hidden]{display:none}#overlay article{text-align:center;width:100%;padding:22px 18px;background:linear-gradient(145deg,#193c45ed,#0d2028f5);border:1px solid #dcc48a66;border-radius:20px;box-shadow:0 10px 60px #0006;animation:entrance .35s cubic-bezier(.2,.8,.2,1)}#overlay h2{font-family:Georgia,serif;font-size:27px;margin:8px 0}#overlay p{font-size:13px;line-height:1.65;color:#d8dfd6;margin:12px 0 20px}.sigil{font-size:32px;color:var(--accent,#ffda91);text-shadow:0 0 24px #eac68b88}#primary{background:linear-gradient(145deg,#ffe1a6,var(--accent,#e4b777));color:#19343b;font-weight:800;min-width:160px;box-shadow:0 5px 0 #7e633e;padding:12px 20px;border:0}#actions{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;padding:11px 0 0}#actions button{flex:1;padding:8px 6px;font-size:13px;max-width:140px}#status{font-size:11px;line-height:1.5;color:#bdcbc5;text-align:center;margin:10px 2px 0;max-height:50px;overflow:auto}#audio-panel{position:absolute;inset:0;display:flex;flex-direction:column;gap:10px;justify-content:center;padding:35px;background:#09202af5;z-index:2}#audio-panel button{background:#ffffff12}@keyframes entrance{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}body[data-reduced=true] *{animation:none!important;transition:none!important}@media(min-width:900px){.cabinet{margin-left:340px}}@media(max-width:899px){.atelier{padding:10px 12px 20px}.heading{position:static;width:auto;text-align:center;margin:12px auto;max-width:450px}h1{font-size:27px;margin:6px 0}.heading #description{display:none}header{margin-bottom:9px}.eyebrow{font-size:9px}.cabinet{max-width:410px;padding:10px}.playing .heading{display:none}.stage{max-width:100%}canvas{max-height:calc(100dvh - 205px);object-fit:contain}#status{max-height:34px}}@media(max-height:620px) and (orientation:portrait){.playing header{margin-bottom:5px}.playing .atelier{padding-top:4px}.playing .cabinet{padding:6px}.scorebar{padding:3px 4px 6px}canvas{max-height:calc(100dvh - 177px)}#actions{padding-top:6px}#status{margin-top:5px}}@media(max-height:560px) and (orientation:landscape){.atelier{padding:5px 12px}.heading{position:absolute;left:18px;top:75px;width:170px}header{margin:0}.cabinet{width:330px;margin-left:auto;margin-right:10%;padding:5px}.scorebar{padding:2px 5px 5px}canvas{max-height:calc(100dvh - 140px)}#status{display:none}#actions{padding-top:5px}}

/* Preserve canvas geometry: CSS letterboxing must not alter pointer mapping. */
@media(max-width:899px){.stage{width:min(100%,calc((100dvh - 205px)*.75));margin:auto}canvas{max-height:none}#audio-panel{gap:5px;padding:12px;overflow:auto}#audio-panel button{flex-shrink:0}}@media(max-height:620px) and (orientation:portrait){.stage{width:min(100%,calc((100dvh - 177px)*.75))}canvas{max-height:none}}@media(max-height:560px) and (orientation:landscape){.stage{width:min(100%,calc((100dvh - 140px)*.75))}canvas{max-height:none}}
