@font-face{font-family:Anuphan;src:url(/fonts/anuphan-thai.woff2)format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Anuphan;src:url(/fonts/anuphan-latin.woff2)format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:"Anuphan", "Leelawadee UI", "Noto Sans Thai", Tahoma, system-ui, sans-serif;--bg:oklch(97.2% .006 215);--surface:oklch(99.5% .003 215);--panel:oklch(94.8% .01 213);--line:oklch(88% .012 215);--line-strong:oklch(72% .02 213);--ink:oklch(25% .035 213);--muted:oklch(44% .03 213);--accent:oklch(47% .08 206);--accent-hover:oklch(41% .08 206);--accent-soft:oklch(93% .03 206);--on-accent:oklch(99% .004 206);--hazard:oklch(60% .15 45);--note:oklch(45% .13 340);--note-soft:oklch(94% .03 340);--sys-bg:oklch(26% .04 213);--sys-ink:oklch(96% .01 210);--sys-muted:oklch(80% .025 210);--sys-ok:oklch(80% .1 165);--sys-warn:oklch(84% .13 80);--fs-xs:.8125rem;--fs-sm:.9375rem;--fs-md:1.0625rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--r-sm:6px;--r-md:10px;--r-pill:999px;--ease:cubic-bezier(.22, 1, .36, 1);--z-sticky:10;--z-sheet:30;--z-toast:40}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{font-family:var(--font);font-size:var(--fs-md);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}.tnum{font-variant-numeric:tabular-nums}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}.topbar{z-index:var(--z-sticky);background:var(--sys-bg);color:var(--sys-ink);grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;padding:.55rem 1.25rem;display:grid;position:sticky;top:0}.exercise-tag{align-items:center;gap:.75rem;min-width:0;display:flex}.tag-exercise{font-weight:700;font-size:var(--fs-sm);border-radius:var(--r-sm);background:var(--sys-warn);color:oklch(25% .05 70);white-space:nowrap;padding:.15rem .6rem}.tag-class{font-size:var(--fs-xs);color:var(--sys-muted);line-height:1.3}.clock{white-space:nowrap;justify-self:center;align-items:baseline;gap:.75rem;display:flex}.clock-time{font-size:var(--fs-xl);letter-spacing:.01em;font-weight:700}.clock-meta{font-size:var(--fs-sm);color:var(--sys-muted)}.clock-hold{font-size:var(--fs-sm);border-radius:var(--r-sm);border:1.5px solid var(--sys-warn);color:var(--sys-warn);padding:.1rem .55rem;font-weight:700}.system{font-size:var(--fs-sm);white-space:nowrap;align-items:center;gap:1rem;display:flex}.system-status{align-items:center;gap:.45rem;display:flex}.system-glyph{flex:none;width:1.15rem;height:1.15rem}.system-status.ok .system-glyph{color:var(--sys-ok)}.system-status.lost .system-glyph{color:var(--sys-warn)}.seat{color:var(--sys-muted);border-left:1px solid oklch(40% .04 213);padding-left:1rem}.seat b{color:var(--sys-ink);font-weight:600}.frozen-banner{color:oklch(30% .06 70);font-size:var(--fs-sm);background:oklch(95% .045 80);border-bottom:1px solid oklch(82% .08 80);align-items:center;gap:.6rem;padding:.55rem 1.25rem;display:flex}.frozen-banner .system-glyph{color:oklch(45% .1 70)}.app[data-link=lost] .work{filter:grayscale(.85)}.app[data-link=lost] .work :is(button,select,textarea,input){pointer-events:none}@media (width<=760px){.topbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"tag stop""status status""clock clock";gap:.35rem .75rem;padding:.5rem .85rem}.exercise-tag{grid-area:tag;gap:.5rem}.system{font-size:var(--fs-xs);display:contents}.system-status{font-size:var(--fs-xs);grid-area:status;min-width:0}.system .stop-call{grid-area:stop;justify-self:end}.clock{white-space:normal;flex-wrap:wrap;grid-area:clock;justify-self:start;gap:0 .5rem}.clock-time{font-size:var(--fs-lg)}.clock-meta{font-size:var(--fs-xs)}.seat,.sys-time{display:none}}.gatebar{grid-template-columns:1fr}.stop-call{appearance:none;cursor:pointer;border:1px solid var(--sys-warn);border-radius:var(--r-sm);min-height:2.25rem;color:var(--sys-ink);font:inherit;font-size:var(--fs-sm);white-space:nowrap;transition:background-color .15s var(--ease);background:0 0;padding:.35rem .8rem;font-weight:600}.stop-call:hover{background:oklch(34% .04 213)}.stop-call:active{background:oklch(38% .04 213)}.stop-call:focus-visible{outline:3px solid var(--sys-warn);outline-offset:2px}.stop-ask{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);width:min(30rem,100vw - 2rem);color:var(--ink);padding:1.25rem 1.25rem 1rem}.stop-ask::backdrop{background:oklch(20% .03 213/.55)}.stop-ask h2{font-size:var(--fs-lg);text-wrap:balance;margin:0 0 .5rem}.stop-ask p{margin:0 0 1rem;line-height:1.55}.stop-ask .stop-ask-offline{border-radius:var(--r-sm);color:oklch(30% .06 70);background:oklch(95% .045 80);padding:.5rem .65rem}.stop-ask .row-actions{flex-wrap:wrap;gap:.5rem;display:flex}.stop-ask .stop-confirm{background:var(--sys-bg);border-color:var(--sys-bg);color:var(--sys-ink)}.stop-band{background:var(--sys-bg);color:var(--sys-ink);border-top:3px solid var(--sys-warn);border-bottom:3px solid var(--sys-warn);gap:.35rem;padding:.65rem 1.25rem .75rem;display:grid}.stop-band-head{flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;margin:0;display:flex}.stop-band-head strong{font-size:var(--fs-lg);color:var(--sys-warn)}.stop-band-note{font-size:var(--fs-sm);color:var(--sys-muted);margin:0}.stop-control{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;display:flex}.stop-calls{font-size:var(--fs-sm);flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;display:flex}.stop-calls-label{color:var(--sys-muted)}.stop-calls ul{flex-wrap:wrap;gap:.25rem 1rem;margin:0;padding:0;list-style:none;display:flex}.stop-control .row-actions,.stop-confirm-row .row-actions{flex-wrap:wrap;gap:.4rem;margin:0;display:flex}.stop-confirm-row{flex-wrap:wrap;align-items:center;gap:.4rem .75rem;display:flex}.stop-confirm-row p{font-size:var(--fs-sm);max-width:36rem;margin:0}.stop-band .btn{min-height:2.5rem;color:var(--sys-ink);background:0 0;border:1px solid oklch(52% .04 213)}.stop-band .btn:hover{background:oklch(34% .04 213)}.stop-band .btn:focus-visible{outline:3px solid var(--sys-warn);outline-offset:2px}.stop-band .btn.stop-resume{background:var(--sys-warn);border-color:var(--sys-warn);color:oklch(22% .04 70)}.stop-said p{margin:0}.stop-said p:not(:empty){font-size:var(--fs-sm);background:var(--panel);border-bottom:1px solid var(--line);padding:.5rem 1.25rem}@media (width<=760px){.stop-call{min-height:2.75rem;font-size:var(--fs-xs);padding:.3rem .6rem}.stop-band{padding:.55rem .85rem .65rem}.stop-band-head strong{font-size:var(--fs-md)}}.system-status.fallback .system-glyph,.system-status.attention .system-glyph{color:var(--sys-warn)}.system-status.attention{white-space:normal;flex-wrap:wrap}.system-status.attention>span:not(.sys-time){flex:12rem;min-width:0}.reload-page,.sign-out-button{appearance:none;cursor:pointer;border-radius:var(--r-sm);min-height:2rem;color:var(--sys-ink);font:inherit;font-size:var(--fs-xs);white-space:nowrap;transition:background-color .15s var(--ease);background:0 0;border:1px solid oklch(52% .04 213);padding:.2rem .65rem;font-weight:600}.reload-page:hover,.sign-out-button:hover:not(:disabled){background:oklch(34% .04 213)}.reload-page:active,.sign-out-button:active:not(:disabled){background:oklch(38% .04 213)}.reload-page:focus-visible,.sign-out-button:focus-visible{outline:3px solid var(--sys-warn);outline-offset:2px}.account{align-items:center;display:flex}.sign-out{align-items:center;gap:.5rem;display:flex;position:relative}.sign-out-button{color:var(--sys-muted)}.sign-out-button[aria-expanded=true]{color:var(--sys-ink);background:oklch(34% .04 213)}.sign-out-button.confirm{border-color:var(--sys-ink);color:var(--sys-ink)}.sign-out-button:disabled{cursor:progress;border-style:dashed}.sign-out-panel,.sign-out-failed{z-index:1;border-radius:var(--r-md);background:var(--sys-bg);width:min(18rem,100vw - 1.7rem);color:var(--sys-ink);white-space:normal;border:1px solid oklch(45% .04 213);flex-direction:column;gap:.6rem;padding:.75rem .85rem;display:flex;position:absolute;top:calc(100% + .6rem);right:0;box-shadow:0 4px 8px oklch(15% .03 213/.35)}.sign-out-question{font-size:var(--fs-sm);line-height:1.45}.sign-out-actions{flex-wrap:wrap;gap:.5rem;display:flex}.sign-out-failed{font-size:var(--fs-sm);color:var(--sys-warn);line-height:1.45}@media (width<=760px){.topbar{grid-template-areas:"tag stop""status account""clock clock"}.system .account{grid-area:account;justify-self:end}}.account{gap:.5rem;position:relative}.account .consent-tool,.account .sign-out{position:static}.consent-tool{align-items:center;display:flex;position:relative}.consent-panel{width:min(24rem,100vw - 1.7rem);max-height:calc(100dvh - 9rem);overflow-y:auto}.consent-panel:focus{outline:none}.topbar:has(.sign-out-panel){z-index:var(--z-sheet)}.consent-row{border-bottom:1px solid oklch(38% .035 213);grid-template-columns:1fr auto;align-items:center;gap:.2rem .75rem;padding-bottom:.6rem;display:grid}.consent-row:last-of-type{border-bottom:0;padding-bottom:0}.consent-row-label{font-size:var(--fs-sm);font-weight:600}.consent-row-draft{border:1px solid var(--sys-warn);border-radius:var(--r-sm);color:var(--sys-warn);font-size:var(--fs-xs);margin-left:.5rem;padding:0 .4rem;font-weight:600}.consent-row-state{font-size:var(--fs-xs);color:var(--sys-muted);grid-column:1}.consent-row .sign-out-button{grid-area:1/2/span 2}.consent-panel-text{border-radius:var(--r-sm);font-size:var(--fs-sm);white-space:pre-wrap;background:oklch(22% .035 213);border:1px solid oklch(45% .04 213);padding:.6rem .7rem;line-height:1.6;display:block}.consent-panel-text:focus-visible{outline:3px solid var(--sys-warn);outline-offset:2px}.consent-panel-note{font-size:var(--fs-sm);color:var(--sys-ink)}.consent-panel-note:empty{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.sign-out-failed-text{font-size:var(--fs-sm);color:var(--sys-warn)}@media (width>=761px) and (width<=1680px){.topbar:has(.account){grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"tag clock stop""status seat account";row-gap:.4rem}.topbar:has(.account) .exercise-tag{grid-area:tag}.topbar:has(.account) .clock{grid-area:clock}.topbar:has(.account) .system{display:contents}.topbar:has(.account) .system-status{grid-area:status;min-width:0}.topbar:has(.account) .seat{white-space:nowrap;text-overflow:ellipsis;grid-area:seat;justify-self:end;max-width:100%;overflow:hidden}.topbar:has(.account) .account{grid-area:account;justify-self:end}.topbar:has(.account) .stop-call{grid-area:stop;justify-self:end}}.gate{max-width:30rem;margin:0 auto;padding:3rem 1.25rem 4rem}.gate-wide{max-width:44rem}.gate-title{font-size:var(--fs-xl);text-wrap:balance;margin:0 0 1.25rem}.gate-form{gap:1.1rem;display:grid}.gate-note{color:var(--muted);font-size:var(--fs-sm);max-width:65ch;margin:0}.gate-error{border-radius:var(--r-sm);color:oklch(42% .13 28);font-size:var(--fs-sm);background:oklch(95% .03 28);margin:0;padding:.6rem .8rem}.gate-actions{flex-wrap:wrap;gap:.6rem;display:flex}.field{gap:.35rem;display:grid}.field label{font-weight:600;font-size:var(--fs-sm)}.field input{border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);min-height:2.75rem;padding:.6rem .75rem}.field input:focus-visible{border-color:var(--accent)}.field-hint{font-size:var(--fs-xs);color:var(--muted);margin:0}.code-input{font-size:var(--fs-xl);letter-spacing:.3em;max-width:12rem}.btn{appearance:none;cursor:pointer;border-radius:var(--r-sm);font-weight:600;font-size:var(--fs-sm);border:1px solid var(--line-strong);background:var(--surface);min-height:2.75rem;color:var(--ink);transition:background-color .16s var(--ease), border-color .16s var(--ease);padding:.6rem 1.1rem}.btn:hover{background:var(--accent-soft);border-color:var(--accent)}.btn:active{background:oklch(88% .04 206)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);justify-self:start}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn:disabled{opacity:.55;cursor:progress}.consent-question{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);gap:.6rem;margin:0;padding:1rem 1.1rem 1.1rem;display:grid}.consent-question legend{padding:0 .35rem;font-weight:700}.consent-text{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--panel);border-radius:var(--r-sm);max-height:16rem;font-size:var(--fs-sm);padding:.75rem;overflow:auto}.draft-mark{font-size:var(--fs-xs);color:oklch(47% .11 62);margin:0;font-weight:700}.choice{cursor:pointer;align-items:center;gap:.6rem;min-height:2.5rem;display:flex}.choice input{width:1.15rem;height:1.15rem;accent-color:var(--accent)}
