@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sarabun-thai-400-normal-C2DaJlKK.woff2)format("woff2"),url(/assets/sarabun-thai-400-normal-CH-UbWgg.woff)format("woff")}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sarabun-thai-700-normal-CbuDipM3.woff2)format("woff2"),url(/assets/sarabun-thai-700-normal-CP2-p8e-.woff)format("woff")}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sarabun-latin-400-normal-URPBxl-K.woff2)format("woff2"),url(/assets/sarabun-latin-400-normal-DmguIS-7.woff)format("woff")}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sarabun-latin-700-normal-DQKyWxHq.woff2)format("woff2"),url(/assets/sarabun-latin-700-normal-DUuqj4Ju.woff)format("woff")}:root{--bg:#1d1820;--panel:#2a2230;--panel2:#352c3d;--ink:#fff6d6;--muted:#bdb0c8;--accent:#e8a05a;--good:#86c96a;--bad:#e0675a;--blue:#6aa7e0;--line:#4a3e55;--cream:#fff6d6;--dark:#2a1f2e;--safe-b:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);overscroll-behavior:none;margin:0;font-family:Sarabun,Noto Sans Thai,Tlwg Typist,sans-serif;font-size:16px;line-height:1.5}body{-webkit-tap-highlight-color:transparent;overflow:hidden}button,input{font-family:inherit;font-size:inherit;color:inherit}[hidden]{display:none!important}#app{flex-direction:row;display:flex;position:fixed;inset:0}#stage{flex:auto;min-width:0;min-height:0;position:relative}#game{position:absolute;inset:0}#game canvas{image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none;display:block}#lesson{background:var(--panel);border-left:3px solid var(--line);flex-direction:column;flex:0 0 min(440px,38vw);min-width:360px;min-height:0;display:flex}.btn{background:var(--panel2);color:var(--ink);cursor:pointer;border:2px solid #000;border-radius:8px;padding:8px 14px;font-weight:700;transition:transform 50ms;box-shadow:0 3px #000}.btn:active{transform:translateY(2px);box-shadow:0 1px #000}.btn.primary{background:var(--accent);color:#2a1f2e}.btn.good{background:var(--good);color:#1a2a14}.btn.small{border-radius:6px;padding:4px 10px;font-size:14px;box-shadow:0 2px #000}.btn.ghost{background:#1d1820bf}.btn.round{border-radius:50%;width:52px;height:52px;padding:0;font-size:24px}.btn:disabled{opacity:.5;cursor:default}.btn:focus-visible,input:focus-visible,#dpad button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}#login{z-index:20;background:radial-gradient(circle at 50% 30%, #3b2f47 0, var(--bg) 70%);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}#login-form{background:var(--panel);border:3px solid #000;border-radius:14px;width:min(460px,100%);margin:auto;padding:22px 22px 18px;box-shadow:0 6px #000}#login h1{letter-spacing:.5px;color:var(--accent);text-shadow:0 3px #000;align-items:center;gap:10px;margin:0;font-size:34px;display:flex}.logo-px{background:conic-gradient(from 90deg at 50% 50%, #c4503c 0 25%, #fff6d6 0 50%, #86c96a 0 75%, #6aa7e0 0);width:28px;height:28px;image-rendering:pixelated;border:3px solid #000}#login .sub{color:var(--muted);margin:2px 0 14px}#login label{margin:10px 0 0;font-weight:700;display:block}#login input[type=text]{background:var(--cream);color:#2a1f2e;border:2px solid #000;border-radius:8px;width:100%;margin-top:4px;padding:10px 12px;font-size:18px;font-weight:700;display:block}#login input::placeholder{color:#8a7d92;font-weight:400}fieldset{border:0;margin:12px 0 0;padding:0}legend{margin-bottom:4px;padding:0;font-weight:700}#levels{flex-wrap:wrap;gap:6px;display:flex}#levels .grp{flex-wrap:wrap;align-items:center;gap:6px;width:100%;display:flex}#levels .grp>span{color:var(--muted);flex:0 0 56px;font-size:13px}.chip{background:var(--panel2);cursor:pointer;border:2px solid #000;border-radius:8px;min-width:52px;padding:6px 12px;font-weight:700;box-shadow:0 2px #000}.chip[aria-pressed=true]{background:var(--accent);color:#2a1f2e}#avatars{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.av{aspect-ratio:1;cursor:pointer;image-rendering:pixelated;background-color:#5a7f6a;background-repeat:no-repeat;border:2px solid #000;border-radius:8px;padding:0;box-shadow:0 2px #000}.av[aria-pressed=true]{outline:4px solid var(--accent);outline-offset:1px;background-color:#7aa98a}#login-err{color:#ff9c8f;min-height:1.5em;margin:8px 0 0;font-weight:700}#go{width:100%;margin-top:4px;padding:12px;font-size:20px}.privacy{color:var(--muted);text-align:center;margin:12px 0 0;font-size:13px}#hud{pointer-events:none;position:absolute;inset:0}#hud>*{pointer-events:auto}#hud-top{pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute;top:8px;left:8px;right:8px}#hud-top>*{pointer-events:auto}#who,#where{background:#1d1820d1;border:2px solid #000;border-radius:8px;align-items:baseline;gap:8px;min-width:0;padding:3px 10px;display:flex}#who b{color:#ffe27a;text-overflow:ellipsis;white-space:nowrap;max-width:9em;overflow:hidden}#who-sub{color:var(--muted);white-space:nowrap;font-size:14px}#where{margin-left:auto}#where-area{white-space:nowrap;font-weight:700}#friends{color:#9be7ff;white-space:nowrap}#toast{background:var(--cream);color:#2a1f2e;text-align:center;opacity:0;border:3px solid #000;border-radius:10px;max-width:min(92%,520px);padding:8px 14px;font-weight:700;transition:opacity .2s,transform .2s;position:absolute;top:56px;left:50%;transform:translate(-50%)translateY(-8px);box-shadow:0 4px #000;pointer-events:none!important}#toast.show{opacity:1;transform:translate(-50%)}#lesson-toggle{position:absolute;top:48px;right:8px}#say-bar{right:12px;bottom:calc(12px + var(--safe-b));flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute}#say-panel{background:var(--panel);border:3px solid #000;border-radius:12px;width:min(300px,100vw - 24px);padding:8px;box-shadow:0 4px #000}#say-panel .emotes{grid-template-columns:repeat(8,1fr);gap:4px;margin-bottom:8px;display:grid}#say-panel .emotes button{background:var(--panel2);cursor:pointer;border:2px solid #000;border-radius:8px;padding:2px 0;font-size:22px;line-height:1.3}#say-panel .phrases{grid-template-columns:1fr 1fr;gap:6px;display:grid}#say-panel .phrases button{background:var(--cream);color:#2a1f2e;cursor:pointer;border:2px solid #000;border-radius:8px;padding:6px 8px;font-size:14px;font-weight:700}#dpad{left:14px;bottom:calc(14px + var(--safe-b));touch-action:none;-webkit-user-select:none;user-select:none;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:4px;width:156px;height:156px;display:none;position:absolute}#dpad button{color:var(--ink);touch-action:none;-webkit-user-select:none;user-select:none;background:#352c3dd1;border:2px solid #000;border-radius:10px;padding:0;font-size:24px}#dpad button:active,#dpad button.on{background:var(--accent);color:#2a1f2e}#dpad [data-d=u]{grid-area:1/2}#dpad [data-d=l]{grid-area:2/1}#dpad [data-d=r]{grid-area:2/3}#dpad [data-d=d]{grid-area:3/2}@media (pointer:coarse),(width<=820px){#dpad{display:grid}}.lp-head{background:var(--panel2);border-bottom:3px solid var(--line);align-items:center;gap:10px;padding:10px 12px;display:flex}.lp-head .face{background:var(--cream);border:2px solid #000;border-radius:50%;flex:none;justify-content:center;align-items:center;width:44px;height:44px;font-size:26px;display:flex}.lp-head .t{flex:1;min-width:0}.lp-head .t b{font-size:17px;line-height:1.25;display:block}.lp-head .t span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.lp-head button{flex:none}.lp-prog{background:var(--panel);border-bottom:2px solid var(--line);align-items:center;gap:6px;padding:8px 12px;display:flex}.lp-prog i{background:#1d1820;border:2px solid #000;border-radius:5px;flex:1;height:10px}.lp-prog i.done{background:var(--good)}.lp-prog i.cur{background:var(--accent)}.lp-prog span{color:var(--muted);white-space:nowrap;font-size:13px}.lp-body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;gap:10px;min-height:0;padding:12px;display:flex;position:relative;overflow-y:auto}.card{background:var(--panel2);border:2px solid #000;border-radius:10px;padding:10px 12px}.card h3{color:var(--accent);margin:0 0 4px;font-size:16px}.card p{color:#e8dff0;margin:0}.q{background:var(--cream);color:#2a1f2e;z-index:2;border:3px solid #000;border-radius:12px;padding:12px 14px;position:sticky;top:0;box-shadow:0 4px #000}.q .hintline{color:#7a6a52;margin-top:2px;font-size:13px}.q small{color:#7a6a52;margin-bottom:2px;font-weight:700;display:block}.q .prompt{word-break:break-word;text-wrap:balance;font-size:24px;font-weight:700;line-height:1.6}.nw{white-space:nowrap}.frac{vertical-align:middle;text-align:center;flex-direction:column;margin:0 3px;font-size:.9em;line-height:1.1;display:inline-flex}.frac>span:first-child{border-bottom:2px solid;padding:0 3px}.msg{align-items:flex-start;gap:8px;max-width:100%;display:flex}.msg .face{background:var(--cream);border:2px solid #000;border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex}.msg .bub{color:#2a1f2e;white-space:pre-line;overflow-wrap:anywhere;background:#fff;border:2px solid #000;border-radius:4px 12px 12px;padding:7px 11px}.msg.me{flex-direction:row-reverse}.msg.me .bub{background:var(--blue);color:#10202e;border-radius:12px 4px 12px 12px;font-weight:700}.msg.ok .bub{background:#d6f2c8}.msg.no .bub{background:#ffe0d8}.msg .tag{opacity:.75;margin-bottom:1px;font-size:12px;font-weight:700;display:block}.typing .bub{align-items:center;gap:4px;padding:10px 12px;display:flex}.typing .bub b{background:#7a6a82;border-radius:50%;width:7px;height:7px;animation:1s infinite bl}.typing .bub b:nth-child(2){animation-delay:.15s}.typing .bub b:nth-child(3){animation-delay:.3s}@keyframes bl{0%,60%,to{opacity:.25}30%{opacity:1}}.lp-foot{padding:8px 12px calc(10px + var(--safe-b));background:var(--panel);border-top:3px solid var(--line);flex-direction:column;gap:8px;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips .chip{min-width:0;padding:4px 10px;font-size:14px}.row{gap:8px;display:flex}.row input{background:var(--cream);color:#2a1f2e;border:2px solid #000;border-radius:8px;flex:1;min-width:0;padding:10px 12px;font-size:18px;font-weight:700}.row .btn{flex:none}.done-card{text-align:center;background:linear-gradient(#3d5a3a,#2f4a2e);border-color:#000}.done-card h3{color:#ffe27a;font-size:20px}@media (width<=820px){#app{flex-direction:column}#lesson{border-left:0;border-top:3px solid var(--line);flex:0 0 58%;min-width:0}#app.lesson-collapsed #lesson{display:none}.q .prompt{font-size:22px;line-height:1.5}.q .hintline{display:none}.q{padding:8px 12px}#say-bar{bottom:calc(12px + var(--safe-b))}#who b{max-width:6em}.lp-head{padding:6px 10px}.lp-head .face{width:36px;height:36px;font-size:22px}#app:not(.no-lesson) #dpad{width:132px;height:132px}}@media (width>=821px){#lesson-toggle{display:none!important}}.av{place-items:center;display:grid}.av .spr{background:url(/assets/characters.png) 0 var(--y) no-repeat;width:16px;height:16px;transform:scale(var(--s,3));image-rendering:pixelated}#hall-guide{flex-wrap:wrap;justify-content:center;gap:6px;display:flex;position:absolute;top:46px;left:8px;right:8px;pointer-events:none!important}#hall-guide span{color:#3a2412;white-space:nowrap;background:#f3d08af5;border:2px solid #000;border-radius:8px;padding:1px 9px;font-size:13px;font-weight:700}#hall-guide span.mine{background:var(--accent);outline:2px solid #fff}#say-bar{z-index:6}#dpad{z-index:3}#toast{z-index:8}#hud-cap{pointer-events:none;gap:6px;display:flex;position:absolute;top:46px;left:8px}#hud-cap>*{pointer-events:auto}#cap-chip.full{color:#ffb3a8;border-color:#7a2a20}#cap-chip.mine{background:var(--accent);color:#2a1f2e}#seat-banner{color:#3a2a10;text-align:center;background:#ffd97a;border:3px solid #000;border-radius:10px;max-width:min(94%,560px);padding:6px 14px;font-weight:700;position:absolute;top:84px;left:50%;transform:translate(-50%);box-shadow:0 4px #000}.modal{z-index:30;background:#0f0a149e;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal .sheet{background:var(--panel);text-align:center;border:3px solid #000;border-radius:14px;width:min(460px,100%);max-height:calc(100dvh - 24px);margin:auto;padding:18px 18px 16px;overflow-y:auto;box-shadow:0 6px #000}.modal .big{font-size:52px;line-height:1.1}.modal h2{color:var(--accent);margin:4px 0 6px;font-size:24px}.modal h3{color:var(--accent);text-align:left;margin:14px 0 6px;font-size:16px}.modal .lead{margin:6px 0;font-size:19px}.modal .num{color:#ffe27a;padding:0 6px;font-size:40px}.modal .sub{color:var(--muted);margin:4px 0;font-size:14px}.modal .acts{flex-direction:column;gap:10px;margin-top:14px;display:flex}.modal .acts .btn{min-height:48px;font-size:18px}.modal .btn.huge{min-height:64px;font-size:24px}.modal .bar{background:#1d1820;border:2px solid #000;border-radius:7px;height:14px;margin:10px 0 0;overflow:hidden}.modal .bar i{background:var(--good);height:100%;transition:width 1s linear;display:block}.sheet.book{text-align:left}.sheet.book .shead{justify-content:space-between;align-items:center;gap:8px;display:flex}.sheet.book .shead h2{margin:0}.sheet.book .msg-line{color:#ffe27a;min-height:1.5em;margin:4px 0;font-weight:700}@media (width<=820px){#hud-cap{top:44px}#seat-banner{font-size:14px;top:80px}}.sheet.book .room-line{color:#e8dff0;margin:6px 0 2px}.sheet.book h3{margin:12px 0 6px}.warnline{color:#ffd0c8;background:#5a2a24;border:2px solid #000;border-radius:8px;margin:8px 0;padding:6px 10px;font-weight:700}.mybooking{background:#3d5a3a;border:2px solid #000;border-radius:10px;flex-direction:column;margin:8px 0;padding:8px 12px;display:flex}.mybooking span{color:#cfe8c0;font-size:13px}.mybooking b{color:#ffe27a;font-size:20px}.mybooking small{color:#cfe8c0}.plist{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.period{background:var(--cream);color:#2a1f2e;border:2px solid #000;border-radius:10px;grid-template-columns:64px 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid;box-shadow:0 3px #000}.period.next{outline:3px solid var(--accent);outline-offset:1px}.period.mine{background:#d6f2c8}.period.isfull{color:#5a4e62;background:#d8d0dd}.period .pt{flex-direction:column;line-height:1.1;display:flex}.period .pt b{font-size:21px}.period .pt small{color:#7a6a52;font-weight:700}.period .pi{flex-direction:column;gap:2px;min-width:0;display:flex}.period .pi>b{font-size:15px;line-height:1.3}.period .seats{color:#5a4e3a;font-size:13px}.period .seats b{color:#2a6a2a;font-size:15px}.period.isfull .seats b{color:#8a2a20}.nexttag{background:var(--accent);border:2px solid #000;border-radius:6px;align-self:flex-start;padding:0 6px;font-size:11px;font-weight:700}.meter{background:#e8dcc0;border:1px solid #000;border-radius:4px;height:7px;display:block;overflow:hidden}.meter i{background:#e0675a;height:100%;display:block}.period .pa{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.period .tag{white-space:nowrap;font-size:13px;font-weight:700}.period .tag.ok{color:#2a6a2a}.period .tag.full{color:#8a2a20}.sheet.book .rules{margin-top:12px}.nextp{background:var(--panel2);border:2px solid #000;border-radius:10px;flex-direction:column;align-items:center;margin:10px 0 0;padding:8px;display:flex}.nextp small{color:var(--muted)}.nextp b{color:#ffe27a;font-size:22px}.nextp span{font-weight:700}@media (width<=520px){.period{grid-template-columns:54px 1fr}.period .pa{flex-direction:row;grid-column:1/-1;justify-content:flex-end;align-items:center}.period .pt b{font-size:19px}}.live-bar{background:var(--panel);border-bottom:2px solid var(--line);padding:6px 12px 4px}.live-bar .lb-row{flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:15px;display:flex}.live-bar .lb-row b{color:#ffe27a}.live-bar .cnt{font-size:18px}.live-bar .lp-prog{background:0 0;border:0;padding:4px 0 2px}.goals{color:#e8dff0;font-size:14px}.goals summary{cursor:pointer;color:var(--muted)}.goals ul{margin:4px 0 2px;padding-left:4px;list-style:none}.goals li.done{color:#bfe8a8}.feed{flex-direction:column;gap:10px;display:flex}.board{color:#f4f8ec;background:#2f4a37;border:4px solid #6b4a2a;border-radius:10px;padding:8px 12px 10px;box-shadow:0 3px #000,inset 0 0 24px #00000040}.board .b-top{color:#cfe3c8;margin-bottom:2px;font-size:13px;font-weight:700}.board .beat-say{margin:4px 0;line-height:1.55}.board .beat-real,.board .beat-do{color:#ffe9a8;margin:4px 0;font-size:14px}.board .prompt,.mc-prompt{background:var(--cream);color:#2a1f2e;text-align:center;text-wrap:balance;border:3px solid #000;border-radius:10px;margin-top:6px;padding:4px 12px;font-size:22px;font-weight:700;line-height:1.6}.board.info{background:#3a3346;border-color:#4a3e55}.show{flex-direction:column;align-items:center;margin:6px 0;display:flex}.show.compare{flex-flow:wrap;justify-content:center;gap:10px}.show figcaption{color:#ffe27a;margin-top:2px;font-size:14px;font-weight:700}.tool{max-width:100%}svg.tool.strip{width:min(300px,100%);height:auto}svg.tool.circle{width:110px;height:110px}svg.tool.line{width:min(320px,100%);height:auto}svg.tool.wall{width:min(330px,100%);height:auto}svg.tool rect,svg.tool path,svg.tool circle{fill:#fff6d6;stroke:#2a1f2e;stroke-width:2px}svg.tool .on{fill:#e8a05a}svg.tool.fold .on{fill:#9fd0ef}svg.tool.line line{stroke:#f4f8ec;stroke-width:3px}svg.tool.line text{fill:#f4f8ec;text-anchor:middle;font:700 13px Sarabun,sans-serif}svg.tool.line .pin{fill:#e0675a;stroke:#000}svg.tool.line .hit{fill:#ffffff14;stroke:none;cursor:pointer}svg.tool.wall text{fill:#f4f8ec;font:700 12px Sarabun,sans-serif}svg.tool.wall rect.live{cursor:pointer;stroke-width:2.5px}svg.tool.live rect,svg.tool.live path{cursor:pointer}.tool.set{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.tool.set .grp{border:2px dashed #ffffff59;border-radius:8px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.tool.set .it{background:0 0;border:2px solid #0000;border-radius:8px;padding:0 2px;font-size:24px;line-height:1.2}.tool.set .it.on{background:#e8a05a40;border-color:#e8a05a}.tool.bars{flex-direction:column;gap:6px;width:min(320px,100%);display:flex}.tool.bars .bar{align-items:center;gap:0;display:flex}.tool.bars .bar>span{color:#2a1f2e;background:#fff6d6;border:2px solid #2a1f2e;flex:1;place-items:center;min-height:28px;margin-left:-2px;font-size:13px;font-weight:700;display:grid}.tool.bars .bar>span.on{background:#e8a05a}.tool.bars .bar em{color:#ffe27a;white-space:nowrap;margin-left:8px;font-style:normal;font-weight:700}.tool.bars .brace{text-align:center;color:#ffe27a;font-weight:700}.msg .bub .beats{background:#2f4a37;border-radius:8px;margin-top:6px;padding:4px}.msg .bub .beats .show figcaption{color:#ffe27a}.msg.room .bub{background:#e6f0e2}.msg.room.summary .bub{background:#fff3c4}.msg.room.close .bub{background:#ffe6b0}.msg.mine .tag{color:#5a3a7a}.msg.mine.note .bub{background:#efe6f5}.msg.mine.reteach .bub{background:#e2ecff}.msg.mine.pass .bub{background:#d6f2c8}.msg.mine.notyet .bub{background:#fff0d0}.msg.mine.teach .bub{background:#eef6ea}.praise{color:#d6f2c8;background:#2f4a2e;border:2px solid #000;border-radius:999px;align-self:center;padding:2px 12px;font-size:14px;font-weight:700}.lp-foot.mycard{flex-shrink:0;gap:6px;max-height:58%;overflow-y:auto}.lp-foot.mycard>*{flex-shrink:0}.mc-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.mc-head b{color:var(--accent)}.mc-head span{color:var(--muted);font-size:13px}.mc-prompt{text-align:left;margin-top:0;font-size:20px}.mc-ans{flex-direction:column;align-items:stretch;gap:6px;display:flex}.mc-ans.nudge{animation:.3s shake}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.ans input[type=text]{background:var(--cream);color:#2a1f2e;border:2px solid #000;border-radius:8px;width:100%;padding:10px 12px;font-size:18px;font-weight:700}.ans .opts{flex-wrap:wrap;gap:6px;display:flex}.ans .opts.row3{justify-content:center}.opt{background:var(--cream);color:#2a1f2e;cursor:pointer;border:2px solid #000;border-radius:10px;min-height:44px;padding:6px 12px;font-size:17px;font-weight:700;box-shadow:0 2px #000}.opt[aria-pressed=true]{background:var(--accent)}.opt b{color:#6a3a1c;margin-right:4px}.opt.sym{min-width:64px;font-size:24px}.opt.ghost{background:var(--panel2);color:var(--ink)}.opt:disabled{opacity:.45}.cmp{justify-content:center;align-items:center;gap:14px;font-size:24px;font-weight:700;display:flex}.cmp .slot{border:3px dashed var(--accent);text-align:center;color:#ffe27a;border-radius:8px;min-width:44px}.fillline{font-size:20px;font-weight:700;line-height:2.2}.fillline input{text-align:center;margin:0 4px;display:inline-block;width:64px!important;padding:4px 6px!important}.picked{flex-wrap:wrap;align-items:center;gap:4px;min-height:36px;display:flex}.picked i{color:var(--muted);font-style:normal}.split{justify-content:center;align-items:center;gap:8px;display:flex}.split b{text-align:center;min-width:1.5em;font-size:20px}.ans .note,.mc-acts .note{color:var(--muted);text-align:center;margin:0;font-size:13px}.ans>.note:first-child{margin-bottom:8px;line-height:1.6}.mc-acts{justify-content:space-between;align-items:center;gap:8px;display:flex}.mc-acts .btn{min-width:96px}.retry{color:#ffd0c8;margin:0;font-size:14px;font-weight:700}.behind{color:#d6f2c8;background:#3d5a3a;border-radius:8px;margin:0;padding:4px 8px;font-size:14px}.wait-line,.done-line{text-align:center;margin:4px 0;font-size:16px}.wait-line b{color:#ffe27a}.done-line{color:#ffe27a;font-size:18px;font-weight:700}.lp-foot .acts{justify-content:center;gap:8px;display:flex}.sheet.book .how{color:#cfe8c0}@media (width<=820px){.mc-prompt,.board .prompt{font-size:18px}.live-bar .lb-row{font-size:14px}.goals{display:none}.lp-foot.mycard{max-height:62%}}.typing .bub{flex-wrap:wrap}.think-label{color:#5a4a62;margin-left:6px;font-size:15px;font-weight:700}#lesson.thinking .lp-head .face,.typing .face{animation:.7s ease-in-out infinite bob}@keyframes bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-3px)rotate(-6deg)}}.msg.streaming .txt:after{content:"▍";color:#7a6a82;margin-left:1px;animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.typing .face,#lesson.thinking .lp-head .face{animation:none}}@media (width<=820px){#hall-guide{top:82px}#book-btn .lbl{display:none}#hud-cap{right:92px}#book-btn{flex:none}#cap-chip{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}#app:not(.no-lesson) #lesson{flex-basis:68%}#lesson .lp-head .sub-line{display:none}#lesson .lp-head{padding:4px 10px}.lp-foot.mycard{max-height:54%}.mc-prompt{padding:2px 10px;font-size:17px}}.sheet.book{width:min(620px,100%)}.sheet.book .days{scrollbar-width:thin;gap:6px;margin:6px 0 2px;padding:4px 1px 8px;display:flex;overflow-x:auto}.sheet.book .days .chip{white-space:nowrap;flex:none}.slots{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;display:grid}.slot{background:var(--cream);color:#2a1f2e;cursor:pointer;border:2px solid #000;border-radius:8px;flex-direction:column;align-items:center;gap:0;padding:6px 2px 5px;font-family:inherit;line-height:1.15;display:flex;box-shadow:0 2px #000}.slot b{font-size:17px}.slot small{color:#5a6a3a;white-space:nowrap;font-size:12px;font-weight:700}.slot.friends{background:#ffe9b0}.slot.friends small{color:#8a5a10}.slot.full{color:#6a5e72;background:#d8d0dd}.slot.full small{color:#8a2a20}.slot.mine{outline:3px solid var(--good);background:#bfe8a8}.slot.sel{outline:3px solid var(--blue);outline-offset:1px;transform:translateY(-1px)}.slot.live{opacity:.55}.slot:disabled{cursor:default}.slot.soon{opacity:.6;background:#e6dfe9}.slot.soon small{color:#6a5e72}.hours-note{color:#3a2a10;background:#fff1c2;border:2px solid #000;border-radius:8px;margin:6px 0 4px;padding:8px 12px;font-size:15px;font-weight:700;box-shadow:0 2px #000}.confirm{background:var(--panel2);z-index:2;border:2px solid #000;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:6px 0 4px;padding:8px 10px;display:flex;position:sticky;top:-18px;box-shadow:0 3px #000}.confirm>span{flex:260px}.confirm>span b{color:#ffe27a;font-size:17px}.confirm.full{background:#4a2c30;flex-direction:column;align-items:stretch}.confirm.full>span{flex:none}.sheet.book .msg-line:empty{display:none}.confirm.full>b{color:#ffd0c8}.confirm.full .btn{align-self:flex-start}.mybooking .btn{align-self:flex-start;margin-top:6px}.closedroom{text-align:center;background:var(--panel2);border:2px solid #000;border-radius:10px;margin-top:10px;padding:14px}.closedroom .big{font-size:44px}.closedroom b{color:var(--accent);font-size:19px}@media (width<=520px){.slots{grid-template-columns:repeat(4,1fr)}.slot b{font-size:16px}}.ask-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ask-row input{background:var(--cream);color:#2a1f2e;border:2px solid #000;border-radius:8px;flex:200px;min-width:0;padding:8px 10px;font-size:16px;font-weight:700}.ask-row small{color:var(--muted);flex-basis:100%;font-size:12px}.entry .lead{font-size:18px}.entry .howto{background:var(--panel2);border:2px solid #000;border-radius:10px;margin:8px 0;padding:10px 12px}.entry .howto p{margin:4px 0 0}.entry .kidcard{background:var(--panel2);border:2px solid #000;border-radius:10px;align-items:center;gap:12px;margin:8px 0 12px;padding:10px 12px;display:flex}.entry .kidcard b{font-size:22px;display:block}.entry .kidcard small{color:var(--muted)}.entry .spr.big{background:url(/assets/characters.png) 0 var(--y) no-repeat;width:16px;height:16px;image-rendering:pixelated;flex:none;margin:16px;transform:scale(3)}.entry .btn.huge{width:100%;min-height:58px;font-size:22px}.entry .entry-parent{border-top:2px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:14px;padding-top:12px;display:flex}.entry .entry-parent .btn{text-decoration:none}.entry .link{color:var(--muted);font-size:14px}#login-err{color:#ffb4a8;min-height:1.2em;font-weight:700}.creditline{color:#d9f5c8;background:#2b3b2a;border-radius:8px;margin:6px 0;padding:6px 10px;font-size:13px}.creditline.none{color:#ffd6d6;background:#4a2d2d}.confirm.scholar{background:#3a2f55;border:1px solid #ffd24a}.vbtn{vertical-align:middle;color:#2a1f2e;cursor:pointer;background:#ffe27a;border:2px solid #000;border-radius:999px;justify-content:center;align-items:center;min-width:32px;min-height:32px;margin-left:6px;padding:0 6px;font-size:16px;line-height:1;display:inline-flex;box-shadow:0 2px #000}.vbtn:hover{background:#fff0a8}.vbtn:active{box-shadow:none;transform:translateY(2px)}.vbtn.playing{background:#8fe3a1;animation:1s ease-in-out infinite vpulse}.vbtn.loading{opacity:.55;cursor:progress}.vbtn.ai{background:#d7e8ff}.board .b-top .vbtn,.board .prompt .vbtn,.mc-prompt .vbtn{min-width:30px;min-height:30px;font-size:15px}.lp-head .vmute{white-space:nowrap;margin-left:auto}@keyframes vpulse{50%{transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.vbtn.playing{animation:none}}@media (width<=820px){.vbtn{min-width:36px;min-height:36px}.lp-head .vmute{padding:4px 8px;font-size:13px}}.cpic{--fg:#2a1f2e;--mut:#6b5a70;--on:#e8a05a;--off:#fffdf3;--acc:#2f6f4f;--warn:#c0392b;--line:#d9ccb0;--card:#fffdf3;--bg:#fff6d6;background:var(--cream);color:#2a1f2e;border:3px solid #000;border-radius:10px;max-width:100%;padding:6px 8px;font-family:Sarabun,sans-serif;overflow-x:auto;box-shadow:0 2px #000}.cpic .pic{width:100%;max-width:300px;height:auto;margin:2px auto;display:block}.cpic .pic.sq{max-width:110px}.cpic .pics{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.cpic .pics>div{text-align:center;font-size:13px}.cpic .pic rect,.cpic .pic path,.cpic .pic circle,.cpic .pic polygon{stroke:var(--fg);stroke-width:1px}.cpic .on{fill:var(--on)}.cpic .off{fill:var(--off)}.cpic .ax{stroke:var(--fg)}.cpic .lab,.cpic .tk{fill:var(--fg);text-anchor:middle;font-family:Sarabun,sans-serif;font-size:11px}.cpic .end{text-anchor:end}.cpic .tooltxt,.cpic .muted{color:var(--mut);font-size:13px}.cpic pre.ldiv{margin:4px 0;font:16px/1.25 ui-monospace,monospace}.cpic .pz{color:var(--warn)}.cpic hr.split{border:0;border-top:2px dashed var(--mut);margin:3px 0}.cpic .rest{border:1px dashed var(--mut);border-radius:6px;padding:0 4px}.cpic .chart{border-collapse:collapse;margin:4px auto}.cpic .chart .sp{width:22px;display:inline-block}.cpic .tally{letter-spacing:1px;font-family:monospace}.cpic .vchart{justify-content:center;align-items:flex-end;gap:10px;margin:4px 0;display:flex}.cpic .vcol{text-align:center}.cpic .vstack{flex-direction:column-reverse;font-size:18px;line-height:22px;display:flex}.cpic .vlab{font-size:13px}.cpic .chart th{text-align:left;padding:2px 8px 2px 0;font-size:14px;font-weight:400}.cpic .chart td{font-size:18px}.cpic .cbar{background:var(--on);vertical-align:middle;height:14px;display:inline-block}.cpic .colsum{border-collapse:collapse;margin:4px auto;font-family:monospace;font-size:20px}.cpic .colsum td{text-align:center;width:22px}.cpic .colsum .op{color:var(--mut)}.cpic .colsum .line td{border-top:2px solid var(--fg)}.cpic .colsum .carry{color:var(--mut);font-size:12px}.cpic .setpic{text-align:center;margin:2px 0;font-size:22px;line-height:1.3}.cpic .setpic .grp{border:1px dashed var(--mut);border-radius:10px;margin:2px;padding:2px 4px;display:inline-block}.cpic .setpic .sel{background:var(--on);border-radius:6px}.cpic .coin{border:2px solid var(--on);text-align:center;border-radius:50%;min-width:28px;height:28px;margin:1px;font-size:12px;line-height:24px;display:inline-block}.cpic .coin.note{border-radius:4px;min-width:40px}.cpic table{margin:2px auto}.cpic td,.cpic th{color:var(--fg)}.show .cpic{margin:2px auto}.rd{display:inline-block;position:relative}.rd:after{content:"";background:currentColor;border-radius:50%;width:.2em;height:.2em;margin-left:-.1em;position:absolute;top:-.08em;left:50%}.mc-pic{flex-direction:column;align-items:center;gap:2px;display:flex}.mc-pic .show{margin:0}.mc-pic .pic-cap{color:#ffe27a;font-size:13px;font-weight:700}.ans .opts.pics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.opt.pic{flex-direction:column;align-items:center;gap:4px;padding:6px;display:flex}.opt.pic .ofig{width:100%}.opt.pic .ofig .cpic{box-shadow:none;border-width:2px;padding:2px}.opt.pic[aria-pressed=true] .cpic{outline:4px solid var(--accent)}.ans .trow{align-items:center;gap:6px;display:flex}.ans .trow input{flex:1}.ans .unit{color:var(--ink);white-space:nowrap;font-weight:700}.ans .ptrow{color:var(--ink);align-items:center;gap:6px;font-size:24px;font-weight:700;display:flex}.ans .ptrow input{text-align:center;flex:1;width:6.5em}.ans .nsrow{flex-wrap:wrap;gap:6px;display:flex}.ans .nsrow input{flex:120px}.ans .nsacts{flex-wrap:wrap;gap:6px;display:flex}.kpad{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.kp{background:var(--panel2);min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;border:2px solid #000;border-radius:10px;padding:4px 10px;font:700 19px Sarabun,sans-serif;box-shadow:0 2px #000}.kp:active{box-shadow:none;transform:translateY(2px)}.ans .pvline{text-align:left;color:var(--ink);min-height:1.2em}.ans .pvline .pv{color:#ffe27a;font-size:18px}.fillline input.blank.wide{width:8.5em}.tw{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.tw .note{color:var(--muted);text-align:center;margin:0;font-size:14px}.tbtn{background:var(--cream);color:#2a1f2e;cursor:pointer;border:2px solid #000;border-radius:10px;min-width:44px;min-height:44px;padding:4px 12px;font:700 17px Sarabun,sans-serif;box-shadow:0 2px #000}.tbtn:active{box-shadow:none;transform:translateY(2px)}.tbtn:disabled{opacity:.4;cursor:default}.tbtn.on,.tbtn[aria-pressed=true]{background:var(--accent)}.tbtns{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.tstep{align-items:center;gap:6px;display:flex}.tstep .tl{text-align:right;min-width:5em;color:var(--ink);font-weight:700}.tstep .tv{text-align:center;color:#ffe27a;min-width:2.2em;font-size:20px}body.harness{background:var(--bg);overflow:auto}.harness-wrap{max-width:760px;margin:0 auto;padding:10px}.harness-title{color:var(--muted);margin:4px 0;font-size:13px}.harness-card{border-radius:10px;max-height:none!important}.lp-head .lp-hide{flex:none;margin-left:6px;display:none}@media (width<=820px){#app.in-room #hud-cap,#app.in-room:not(.lesson-collapsed) #lesson-toggle{display:none}#app.in-room .lp-head .lp-hide{display:inline-flex}#app.in-room.lesson-collapsed #lesson-toggle{top:auto;bottom:calc(14px + var(--safe-b));z-index:7;left:50%;right:auto;transform:translate(-50%)}#app.in-room #hud-top{background:#1d1820eb;border-bottom:2px solid #000;margin:-8px -8px 0;padding:6px 8px}#toast{padding:6px 10px;font-size:14px;top:50px}}.lp-head .t b .ai-tag{color:inherit;font-size:inherit;white-space:normal;display:inline;overflow:visible}@media (width<=420px){.lp-head .t b .ai-tag{display:none}}.cpic svg.pic{max-height:260px}@media (width<=820px){.cpic svg.pic{max-height:210px}.mc-pic .cpic svg.pic{max-height:180px}}.flagbtn{vertical-align:middle;min-height:32px;font:inherit;cursor:pointer;opacity:.7;background:0 0;border:1px dashed #9a8aa3;border-radius:6px;align-items:center;margin-left:6px;padding:0 6px;font-size:14px;line-height:1;display:inline-flex}.flagbtn:hover{opacity:1;background:#fff0ec}.flagbtn.sent{opacity:1;color:#2f7a3a;cursor:default;border-style:solid}#login-form{position:relative}.lang-switch{flex:none;align-items:stretch;display:inline-flex}.lang-switch .btn.small{border-radius:0;min-width:0;padding:2px 8px;font-size:13px;line-height:1.4;box-shadow:0 2px #000}.lang-switch .btn.small:first-child{border-radius:6px 0 0 6px}.lang-switch .btn.small:last-child{border-radius:0 6px 6px 0;margin-left:-2px}.lang-switch .btn.small.on{background:var(--accent);color:#2a1f2e}.entry-lang{position:absolute;top:14px;right:14px}.hud-lang .btn.small{padding:2px 6px;font-size:12px}@media (width<=420px){.entry-lang{top:10px;right:10px}#login h1{margin-top:22px}.hud-lang .btn.small{padding:1px 5px;font-size:11px}}.cpic .coin small{margin-top:-3px;font-size:8px;line-height:1;display:block}html[lang=en] .cpic .coin{vertical-align:middle;min-width:34px;height:34px;padding-top:2px;line-height:20px}#demo-badge{z-index:9;color:#5a3b00;opacity:.92;background:#fff6d6;border:2px solid #000;border-radius:8px;padding:2px 8px;font:700 11px/1.5 Sarabun,sans-serif;text-decoration:none;position:fixed;bottom:6px;left:6px;box-shadow:0 2px #000}@media (width<=820px){body:has(#app.in-room) #demo-badge{display:none}}.tc-paper{box-sizing:border-box;flex-wrap:wrap;justify-content:center;gap:6px;width:100%;max-width:560px;padding:6px;display:flex}.tc-svg{width:100%;height:auto;margin:0 auto;display:block}.tc-svg .tc-tk{font-size:13px;font-weight:700}.tc-line{max-width:540px}.tc-ruler{max-width:560px}.tc-dial{max-width:220px}.tc-jug{max-width:210px}.tc-thermo{max-width:150px}.tc-clock{max-width:236px}.tc-svg .off,.tc-svg .on{stroke:#2a1f2e}.tc-break{flex-basis:100%;height:0}.tc-svg .tc-pin{fill:#e0675a;stroke:#2a1f2e;stroke-width:1.5px}.tc-svg .tc-pinline{stroke:#e0675a;stroke-width:2.5px}.tc-svg .tc-ribbon{stroke:#3b7dd8;stroke-width:7px;stroke-linecap:round}.tc-svg .tc-ribbon-end{fill:#3b7dd8}.tc-svg .tc-obj{font-size:16px}.tc-svg .tc-wood{fill:#fbe7b5;stroke:#2a1f2e;stroke-width:1.5px}.tc-svg .tc-needle{stroke:#c0392b;stroke-width:4px;stroke-linecap:round}.tc-svg .tc-hub{fill:#2a1f2e}.tc-svg .tc-water{fill:#8ec9ef;stroke:none}.tc-svg .tc-waterline{stroke:#1f6fb2;stroke-width:3px}.tc-svg .tc-ray{stroke:#c0392b;stroke-width:6px}.tc-svg .tc-rayhead{fill:#c0392b}.tc-svg .tc-pt-on{fill:#c0392b;stroke:#c0392b;stroke-width:3px}.tc-svg .tc-pt-off{fill:#fffdf3;stroke:#c0392b;stroke-width:3px}.tc-svg .tc-pt-un{fill:#fffdf3;stroke:#c0392b;stroke-width:2px;stroke-dasharray:3 3}.tc-svg .tc-hand-h{stroke:#2a1f2e;stroke-width:9px;stroke-linecap:round}.tc-svg .tc-hand-m{stroke:#2a1f2e;stroke-width:5px;stroke-linecap:round}.tc-svg .tc-clocknum{font-size:20px;font-weight:800}.tc-clockbtns .tbtn{min-width:58px}.tc-frames{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.tc-frame{background:#fff6d6;border:3px solid #000;grid-template-columns:repeat(5,48px);gap:0;display:grid;box-shadow:0 2px #000}.tc-cell{cursor:pointer;background:#fffdf3;border:1.5px solid #2a1f2e;place-items:center;width:48px;height:48px;padding:0;font-size:26px;display:grid}.tc-cell .tc-dot{background:#e8a05a;border:2px solid #2a1f2e;border-radius:50%;width:30px;height:30px;display:block}.tc-b10{flex-direction:column;gap:6px;width:100%;max-width:560px;display:flex}.tc-b10row{color:#2a1f2e;background:#fff6d6;border:3px solid #000;border-radius:10px;padding:4px 6px;box-shadow:0 2px #000}.tc-b10head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;display:flex}.tc-b10head b{font-size:15px}.tc-b10head .tbtns{gap:4px}.tc-b10head .tbtn{padding:2px 8px;font-size:15px}.tc-b10tray{flex-wrap:wrap;align-items:flex-end;gap:3px;min-height:30px;padding:4px 0 0;display:flex}.tc-pcb{cursor:pointer;background:0 0;border:0;padding:0;line-height:0}.tc-pc-u{width:20px;height:20px}.tc-pc-r{width:12px;height:62px}.tc-pc-f{width:44px;height:44px}.tc-pc-c{width:46px;height:46px}[data-kind=ten_thousands] .tc-pc-r{width:14px;height:62px}[data-kind=ones] .tc-pcb{padding:1px}.tc-empty{color:#6b5a70;font-size:14px;font-style:normal}.tw .tc-empty{color:var(--muted)}.tc-paper .tc-empty,.tc-b10row .tc-empty,.tc-tray .tc-empty{color:#6b5a70}.tc-wallet{flex-direction:column;align-items:center;gap:6px;display:flex}.tc-mrow{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.tc-m{color:#2a1f2e;cursor:pointer;border:2px solid #2a1f2e;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:48px;min-height:48px;padding:0 4px;font:800 15px/1 Sarabun,sans-serif;display:inline-flex;box-shadow:0 2px #000}.tc-m b{font-size:16px}.tc-m small{font-size:10px;font-weight:700}.tc-coin{border-radius:50%;width:48px}.tc-note{border-radius:6px;min-width:60px;height:40px;min-height:44px}.tc-m0_25,.tc-m0_5{background:#e9b973}.tc-m1,.tc-m2,.tc-m5{background:#e3e3e3}.tc-m10{background:radial-gradient(circle,#e9c46a 52%,#d9d9d9 54%)}.tc-m20{background:#9ad18b}.tc-m50{background:#8fc1ec}.tc-m100{background:#f2958a}.tc-m500{background:#c9a6e8}.tc-m1000{background:#d8c3a5}.tc-tray{box-sizing:border-box;background:#fff6d6;border:3px dashed #2a1f2e;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;width:100%;max-width:560px;min-height:64px;padding:8px;display:flex}.tc-pile{flex-wrap:wrap;justify-content:center;gap:2px;display:inline-flex}.tc-m.tc-small{min-width:44px;min-height:44px;box-shadow:none}.tc-coin.tc-small{width:44px;height:44px}.tc-note.tc-small{height:44px}.tc-arraypaper{align-items:center;min-height:60px}.tc-array{margin:0 auto}.tc-steps{flex-wrap:wrap;justify-content:center;gap:6px 14px;display:flex}.tc-steps .tstep .tl{min-width:4.5em}.tc-pool{box-sizing:border-box;background:#fff6d60f;border-radius:10px;gap:2px;max-width:440px;padding:6px}.tc-pool.tc-ten{grid-template-columns:repeat(10,minmax(0,1fr));width:100%;display:grid}.tc-pool.tc-ten .tc-it{min-width:0;padding:0;font-size:22px}.tc-pool.tc-row{width:100%;display:grid}.tc-pool.tc-row .tc-it{min-width:0;padding:0;font-size:22px}.tc-pool .tc-it,.tc-plbody .tc-it{min-width:40px;min-height:40px;color:inherit;cursor:pointer;font-size:24px}.tc-br{flex-basis:100%;height:0}.tc-plates{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}.tc-plate{box-sizing:border-box;color:#2a1f2e;cursor:pointer;background:#fff6d6;border:3px dashed #2a1f2e;border-radius:16px;flex:0 auto;min-width:100px;max-width:160px;padding:3px 4px 4px}.tc-plate.on{border-style:solid;border-color:#e8a05a;box-shadow:0 0 0 3px #e8a05a}.tc-plhead{justify-content:space-between;align-items:center;gap:3px;font-size:13px;font-weight:700;display:flex}.tc-plhead .tbtn{min-width:40px;min-height:40px;padding:0 6px;font-size:16px}.tc-plbody{flex-wrap:wrap;justify-content:center;gap:0;min-height:40px;display:flex}.tc-plbody .tc-it{background:0 0;border:0;min-width:32px;min-height:36px;padding:0;font-size:20px}.tc-shpaper{max-width:560px}.tc-wholes{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}.tc-strip{touch-action:none;max-width:520px}.tc-circle{width:140px;max-width:140px}.tc-circle.sm{width:104px}.tc-wall{max-width:520px}.tc-svg .tc-sh{fill:#fffdf3;stroke:#2a1f2e;stroke-width:2px;cursor:pointer}.tc-svg .tc-sh.on{fill:#e8a05a}.tc-svg .tc-wallrow{stroke:#2a1f2e;stroke-width:1px}.tc-svg .tc-walllab{font-size:13px;font-weight:700}.tc-svg .tc-walllab.live{fill:#c0392b;font-size:15px}.tc-pvpaper{justify-content:flex-start;overflow-x:auto}.tc-pv{border-collapse:collapse;margin:0 auto}.tc-pv th{border:1px solid #2a1f2e;min-width:30px;padding:2px 3px;font-size:12px;font-weight:700;line-height:1.15}.tc-pv td{text-align:center;border:1px solid #2a1f2e;min-width:30px;height:44px;padding:0 2px;font:800 24px Sarabun,sans-serif}.tc-pv .tc-unit{border-right:4px solid #2a1f2e}.tc-pv td.tc-strip{background:#e8a05a}.tc-pv td.tc-zero{color:#9b8ba0}.tc-chartpaper{flex-direction:column;align-items:center}.tc-pchart{border-collapse:collapse;margin:0 auto}.tc-pchart th{text-align:left;white-space:nowrap;border-right:2px solid #2a1f2e;padding:4px 8px 4px 0;font-size:14px;font-weight:700}.tc-pchart td{min-height:30px;padding:2px 4px;font-size:22px;line-height:30px}.tc-pchart tr+tr th,.tc-pchart tr+tr td{border-top:1px dashed #b9a98f}.tc-pic{text-align:center;vertical-align:bottom;width:1.15em;display:inline-block}.tc-pic.tc-halfleft{text-align:left;white-space:nowrap;width:.575em;overflow:hidden}.tc-vchart{justify-content:center;align-items:flex-end;gap:14px;display:flex}.tc-vcol{text-align:center}.tc-vstack{flex-direction:column-reverse;min-height:28px;font-size:22px;line-height:28px;display:flex}.tc-pic.tc-halftop{width:auto;height:14px;line-height:28px;display:block;overflow:hidden}.tc-vlab{border-top:2px solid #2a1f2e;font-size:13px}.tc-key{margin-top:2px}.tc-rowctl{flex-direction:column;gap:4px;width:100%;max-width:560px;display:flex}.tc-ctlrow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.tc-ctllab{color:var(--ink);font-size:15px;font-weight:700}.tc-ctlrow .tbtns{gap:4px}.tc-svg .tc-axnum{font-size:11px}.tc-svg .tc-bartop{fill:#c0392b}.tc-bar{touch-action:none}.tw .geo-paper{box-sizing:border-box;width:100%;padding:6px;overflow:hidden}.tw .geo-paper svg{-webkit-user-select:none;user-select:none;width:100%;height:auto;margin:0 auto;display:block;max-width:none!important}.tw .geo-paper svg text{pointer-events:none}.tw .note .cnt{color:var(--muted);font-size:13px}.tw .note b.live{color:#ffe27a;font-size:17px}.tw .gsvg.ggrid rect{stroke:#2a1f2e;stroke-width:1.5px;cursor:pointer}.tw .gsvg.ggrid rect.off{fill:#fffdf3}.tw .gsvg.ggrid rect.on{fill:#e8a05a}.tw .gsvg.ggrid rect.lk{fill:#c9773a;cursor:default}.tw .gsvg.ggrid rect.pv{stroke:#c0392b;stroke-width:2.5px;stroke-dasharray:5 3}.tw .gsvg.ggrid.pick rect.bg{fill:#fffdf3;stroke-opacity:.35;cursor:default}.tw .gsvg.ggrid.pick rect.net{fill:#f6d6ae}.tw .gsvg rect.pk,.tw .gsvg.ggrid.pick rect.net.pk{fill:#e8a05a;stroke:#c0392b;stroke-width:4px}.tw .gsvg .gface{fill:#2a1f2e;text-anchor:middle;font:700 18px Sarabun,sans-serif}.tw .gsvg .gaxis{stroke:#2f6f4f;stroke-width:3.5px;stroke-dasharray:9 6;pointer-events:none}.tw .gsvg.gnet rect{fill:#f6d6ae;stroke:#2a1f2e;stroke-width:1.5px;stroke-dasharray:5 3;cursor:pointer}.tw .gsvg.gnet .gface{font-size:13px}.tw .gsvg.gnet rect.pk{fill:#e8a05a;stroke:#c0392b;stroke-width:4px;stroke-dasharray:none}.tw-plane .geo-paper svg{cursor:crosshair}.tw .geo-paper svg .kp{fill:#e8a05a;stroke:#2a1f2e;stroke-width:2px}.tw .gsvg.gcon{cursor:pointer;background:#fffdf3;border-radius:6px}.tw .gsvg.gcon .cgs{stroke:#2a1f2e;stroke-width:2.2px;stroke-linecap:round}.tw .gsvg.gcon .cgc{fill:none;stroke:#2a1f2e;stroke-width:1.8px}.tw .gsvg.gcon .ckc{fill:none;stroke:#6b5a70;stroke-width:1.3px;stroke-opacity:.8}.tw .gsvg.gcon .ckl{stroke:#2f5f9f;stroke-width:1.6px}.tw .gsvg.gcon .ckl.ans{stroke:#e8a05a;stroke-width:4px}.tw .gsvg.gcon .crad{stroke:#2f6f4f;stroke-width:3px;stroke-dasharray:6 4}.tw .gsvg.gcon .cgp{fill:#2a1f2e}.tw .gsvg.gcon .ccp{fill:#fffdf3;stroke:#2a1f2e;stroke-width:1.6px}.tw .gsvg.gcon .csel{fill:none;stroke:#2f6f4f;stroke-width:3px}.tw .gsvg.gcon .cans{fill:#e8a05a;fill-opacity:.55;stroke:#c0392b;stroke-width:2.5px}.tw .gsvg.gcon .cname{fill:#2a1f2e;text-anchor:middle;paint-order:stroke;stroke:#fffdf3;stroke-width:3px;font:700 14px Sarabun,sans-serif}.tw-construct .tbtns .tbtn[hidden]{display:none}.tw .gsvg.gpro .pdisc{fill:#e8a05a;fill-opacity:.16;stroke:#2a1f2e;stroke-width:1.2px}.tw .gsvg.gpro .ptk{stroke:#2a1f2e;stroke-width:.6px}.tw .gsvg.gpro .ptk.big{stroke-width:1.2px}.tw .gsvg.gpro .pbase{stroke:#2a1f2e;stroke-width:1px;stroke-opacity:.5}.tw .gsvg.gpro .pin,.tw .gsvg.gpro .pout{fill:#2a1f2e;text-anchor:middle;font:600 9.5px Sarabun,sans-serif}.tw .gsvg.gpro .pout{fill:#6b5a70}.tw .gsvg.gpro .parm{stroke:#2a1f2e;stroke-width:3.5px;stroke-linecap:round}.tw .gsvg.gpro .parm2{stroke:#d9822b;stroke-width:3.5px;stroke-linecap:round}.tw .gsvg.gpro .phandle{fill:#e8a05a;stroke:#2a1f2e;stroke-width:2px;cursor:grab}.tw .gsvg.gpro .pvx{fill:#2a1f2e}.tw-protractor .geo-paper svg{touch-action:none}.tw .geo-paper svg .fhit{stroke:#0000;stroke-width:26px;stroke-linecap:round;cursor:pointer;pointer-events:stroke}.tw .geo-paper svg .fon{stroke:#e8a05a;stroke-width:9px;stroke-linecap:round;stroke-opacity:.9}.tw .geo-paper svg circle.fdrag{fill:#e8a05a;fill-opacity:.35;stroke:#c0392b;stroke-width:2px;cursor:grab}.tw .geo-paper svg .mneedle{stroke:#c0392b;stroke-width:2px}.tw .geo-paper svg .mhead{fill:#c0392b;stroke:#2a1f2e;stroke-width:.8px}.tw .geo-paper svg circle.mgrip{fill:#c0392b;fill-opacity:.25;stroke:#c0392b;stroke-width:1.5px;cursor:grab}.tw-map .tbtns .tbtn{padding:4px 10px}.tw-map .geo-paper svg{overflow:visible}.tw .ad-lbl{color:#bdb0c8;align-self:center;font-size:14px;font-weight:700}.tw .ad-hint{color:#6b5a70;text-align:center;margin:10px 4px;font-size:14px}.tw .ad-tt{fill:#2a1f2e;text-anchor:middle;pointer-events:none;font-family:Sarabun,sans-serif;font-weight:700}.tw svg.ad-svg{width:100%;max-width:420px;height:auto;margin:0 auto;display:block}.tw .ad-plot{width:100%;max-width:440px}.tw .ad-ax{stroke:#2a1f2e;stroke-width:1.4px}.tw .ad-col{fill:#0000;cursor:pointer}.tw .tbtn .ad-ctr,.tw .ad-ctr{text-align:center;vertical-align:middle;border:1px solid #2a1f2e;border-radius:50%;width:22px;height:22px;margin:0 1px;font-weight:700;line-height:20px;display:inline-block}.tw .ad-ws{flex-direction:column;align-items:flex-start;gap:6px;width:100%;min-height:72px;display:flex}.tw .ad-trow{flex-wrap:wrap;align-items:flex-end;gap:4px;display:flex}.ad-tile{box-sizing:border-box;color:#2a1f2e;cursor:pointer;background:#e8a05a;border:1.5px solid #2a1f2e;border-radius:3px;justify-content:center;align-items:center;padding:0;font:700 13px Sarabun,sans-serif;display:inline-flex}.ad-tile.neg{color:#fff;background:#e06666}.ad-tile i{pointer-events:none;font-style:normal}.ad-k-L2{width:56px;height:56px}.ad-k-L{width:22px;height:56px}.ad-k-1{width:22px;height:22px}.ad-k-M2{width:40px;height:40px}.ad-k-M{width:22px;height:40px}.ad-k-LM{width:56px;height:40px}.ad-mini{vertical-align:middle;display:inline-flex}.ad-mini .ad-tile{transform-origin:50%;zoom:.55;cursor:inherit;font-size:18px}.ad-sw{vertical-align:-2px;border:1.5px solid #2a1f2e;border-radius:3px;width:16px;height:16px;margin-right:5px;display:inline-block}.tw .ad-fr{text-align:center;width:100%}.tw svg.ad-frame{touch-action:none;height:auto;max-height:420px;margin:0 auto;display:block}.ad-frame .ad-edge-t{stroke:#2a1f2e;stroke-width:1px;cursor:pointer}.ad-frame .ad-cell{fill:#fffdf3;stroke:#6b5a70;stroke-width:1px;stroke-dasharray:3 2;cursor:pointer}.ad-frame .ad-cell.on{stroke:#2a1f2e;stroke-dasharray:none}.ad-frame .ad-slot-h{fill:none;stroke:#6b5a70;stroke-dasharray:4 3}.tw .ad-edges{flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.tw .ad-edge{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.tw .ad-edge>b{color:#fff6d6;text-align:right;min-width:4.5em;font-size:15px}.ad-ico{vertical-align:middle;width:26px;height:26px}.tw .ad-pans{grid-template-columns:1fr 1fr;gap:6px;width:100%;max-width:440px;display:grid}.tw .ad-pan{border:2px solid #4a3e55;border-radius:10px;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:6px 2px;display:flex}.tw .ad-pan>b{color:#ffe27a}.tw .ad-prow{align-items:center;gap:3px;display:flex}.tw .ad-prow .tv{text-align:center;color:#ffe27a;min-width:1.5em;font-size:19px}.tw .ad-prow .tbtn{padding:4px 6px}.tw .ad-pl{justify-content:center;width:24px;display:inline-flex}.tw .ad-pl .ad-ico{width:24px;height:24px}.tw .ad-share{color:#bdb0c8;align-items:center;font-size:14px}.tw .ad-share .tv{text-align:center;color:#ffe27a;min-width:1.4em;font-size:19px}.tw .ad-st{text-align:center;width:100%}.tw svg.ad-sticks{height:auto;margin:0 auto;display:block}.ad-sticks .ad-stk{cursor:pointer}.ad-sticks .hit{stroke:#0000;stroke-width:18px;stroke-linecap:round}.ad-sticks .ghost{stroke:#6b5a70;stroke-width:2px;stroke-dasharray:4 4;stroke-linecap:round;pointer-events:none}.ad-sticks .wood{stroke:#c9a46a;stroke-width:6px;stroke-linecap:round;pointer-events:none}.ad-sticks .head{fill:#d33;pointer-events:none}.tw .ad-tree{text-align:center;width:100%}.tw svg.ad-ftree{height:auto;margin:0 auto;display:block}.ad-ftree .ad-br{stroke:#2a1f2e;stroke-width:2px}.ad-ftree .ad-node{cursor:pointer}.ad-ftree .ad-node circle{fill:#fffdf3;stroke:#2a1f2e;stroke-width:2px}.ad-ftree .ad-node.sel circle{fill:#e8a05a;stroke-width:3px}.tw .ad-split{color:#fff6d6;align-items:center;gap:8px;font-size:18px;display:flex}.tw .ad-split b{color:#ffe27a;font-size:22px}.tw .ad-split .tbtn{min-width:64px;font-size:20px}.tw .ad-pad{grid-template-columns:repeat(6,48px);justify-content:center;gap:6px;display:grid}.tw .ad-pad .tbtn{padding:4px 0;font-size:19px}.tw .ad-pad .tbtn[data-act=split]{grid-column:span 6}.tw .ad-mach{flex-direction:column;gap:2px;width:100%;display:flex}.tw .ad-mrow{justify-content:center;align-items:center;gap:2px;display:flex}.tw .ad-ar{color:#2a1f2e;text-align:center;min-width:14px;font-style:normal;font-weight:700}.tw .ad-ar.back{color:#c0392b}.tw .ad-end{background:#fffdf3;border:2px solid #2a1f2e;border-radius:50%;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 4px;font:italic 700 16px Sarabun,sans-serif;display:inline-flex}.tw .ad-step,.tw .ad-slot{color:#2a1f2e;white-space:nowrap;background:#fffdf3;border:2px solid #2f6f4f;border-radius:6px;flex:1 1 0;justify-content:center;align-items:center;min-width:44px;max-width:92px;min-height:44px;padding:0 2px;font:700 17px Sarabun,sans-serif;display:inline-flex}.tw .ad-slot{cursor:pointer;border:2px dashed #c0392b}.tw .ad-slot.full{background:#ffe9cf;border-style:solid;border-color:#2a1f2e}.tw .ad-slot[aria-pressed=true]{outline:3px solid #e8a05a}.tw .ad-backlbl{text-align:right;color:#c0392b;margin-top:6px;font-size:12px;font-weight:700}.tw .ad-card{touch-action:none;min-width:60px}.ad-ghost{z-index:1000;pointer-events:none;color:#2a1f2e;background:#e8a05a;border:2px solid #000;border-radius:8px;padding:6px 12px;font:700 18px Sarabun,sans-serif;position:fixed;transform:translate(-50%,-60%);box-shadow:0 4px #000}.ad-svg .ad-dot{fill:#2f6f4f;pointer-events:none}.ad-svg .ad-grid{stroke:#2a1f2e;stroke-opacity:.15}.ad-svg .ad-bar{fill:#e8a05a;stroke:#2a1f2e;stroke-width:1px;pointer-events:none}.ad-svg .ad-selcol{fill:#e8a05a;fill-opacity:.14;stroke:#e8a05a;stroke-dasharray:4 3}.ad-svg .ad-wh{stroke:#2a1f2e;stroke-width:1.8px}.ad-svg .ad-wh.med{stroke-width:3px}.ad-svg .ad-boxr{fill:#2f6f4f;fill-opacity:.25;stroke:#2a1f2e;stroke-width:1.6px}.ad-svg .ad-knob line{stroke:#6b5a70;stroke-dasharray:2 2}.ad-svg .ad-knob circle{fill:#fffdf3;stroke:#2a1f2e;stroke-width:1.5px}.ad-svg .ad-knob.sel line{stroke:#e8a05a;stroke-width:2px;stroke-dasharray:none}.ad-svg .ad-knob.sel circle{fill:#e8a05a}.tw .ad-plot svg.ad-svg{touch-action:none}.tw .ad-five .tbtn{min-width:54px;padding:4px 6px;font-size:15px}.tw .ad-stemt{flex-direction:column;gap:4px;width:100%;max-width:360px;display:flex}.tw .ad-sh{color:#6b5a70;grid-template-columns:56px 1fr;font-weight:700;display:grid}.tw .ad-sh span:first-child{text-align:right;padding-right:10px}.tw .ad-srow{text-align:left;color:#2a1f2e;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;grid-template-columns:56px 1fr;align-items:center;min-height:44px;padding:0;display:grid}.tw .ad-srow b{text-align:right;border-right:3px solid #2a1f2e;padding-right:10px;font:700 20px/40px ui-monospace,monospace}.tw .ad-srow span{letter-spacing:.1em;padding-left:10px;font:20px ui-monospace,monospace}.tw .ad-srow[aria-pressed=true]{background:#e8a05a2e;border-color:#e8a05a}.tw .ad-caret{vertical-align:-3px;background:#c0392b;width:2px;height:20px;margin-left:3px;animation:1s steps(2,end) infinite ad-blink;display:inline-block}@keyframes ad-blink{50%{opacity:0}}.tw .ad-key{color:#6b5a70;text-align:center;font-size:13px}.tw .ad-cubepic{width:100%}.tw .ad-cubepic .cpic{text-align:center}.tw .ad-plan{justify-content:center;gap:4px;display:grid}.tw .ad-pc{color:#2a1f2e;cursor:pointer;background:#fffdf3;border:2px solid #000;border-radius:6px;min-height:44px;font:700 18px Sarabun,sans-serif;box-shadow:0 2px #000}.tw .ad-pc.on{background:#e8a05a}.tw .ad-pc.lock{background-image:repeating-linear-gradient(45deg,#0000 0 6px,#2a1f2e24 6px 8px)}.tw .ad-front{color:#bdb0c8;font-size:13px}.ad-svg .ad-cube{fill:#e8a05a;stroke:#2a1f2e;stroke-width:1.2px;pointer-events:none}.ad-svg .ad-cube.held{fill:#ffe27a;stroke-width:2px}.tw .ad-cuts{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;width:100%;display:grid}.tw .ad-cut{display:flex}.tw .ad-cut .cpic{flex:1}.tw .ad-cut{cursor:pointer;background:0 0;border:3px solid #0000;border-radius:12px;padding:4px}.tw .ad-cut .cpic{pointer-events:none;padding:4px}.tw .ad-cut .cpic svg.pic{max-width:110px}.tw .ad-cut[aria-pressed=true]{background:#e8a05a40;border-color:#e8a05a}.ad-svg .ad-sand{fill:#e2bf73;stroke:none}.ad-svg .ad-sandtop{fill:#c99a4c;stroke:#2a1f2e;stroke-width:1.2px}.ad-svg .ad-ln{fill:none;stroke:#2a1f2e;stroke-width:1.8px;stroke-linejoin:round}.ad-svg .ad-ln.ds{stroke-dasharray:4 3;stroke-width:1.2px;stroke-opacity:.7}.ad-svg .ad-arrow{fill:none;stroke:#2a1f2e;stroke-width:2px}.tw .tbtn[data-act^=col\:][aria-pressed=true]{background:#ffe27a}.ad-svg.draft .ad-boxr,.ad-svg.draft .ad-wh{stroke-dasharray:4 3;stroke-opacity:.55}.ad-svg.draft .ad-boxr{fill-opacity:.1}.ad-mini .ad-k-1{zoom:.8}.tw .ad-pl{background:#fff6d6;border-radius:6px;padding:2px 0}.tw-balance .cpic .pics{flex-direction:column;align-items:center}.tw-balance .cpic .pics>div{width:100%}
