@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sora-latin-400-normal-CRt88UEn.woff2)format("woff2"),url(/assets/sora-latin-400-normal-OW7qkl5a.woff)format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sora-latin-600-normal-Cdg4DaK0.woff2)format("woff2"),url(/assets/sora-latin-600-normal-1_7fyUAY.woff)format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sora-latin-700-normal-9waGdLWo.woff2)format("woff2"),url(/assets/sora-latin-700-normal-BKPfQAnC.woff)format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/sora-latin-800-normal-2tKLL3qT.woff2)format("woff2"),url(/assets/sora-latin-800-normal-c3Huklug.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff)format("woff")}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-thai-thai-400-normal-Bt1rR4gi.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-thai-400-normal-DKc8V4lk.woff)format("woff")}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-thai-thai-500-normal-BrMc1XKn.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-thai-500-normal-BoHUoq0p.woff)format("woff")}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-thai-thai-600-normal-DvfsyWAn.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-thai-600-normal-BOwfviun.woff)format("woff")}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-thai-thai-700-normal-0moayseG.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-thai-700-normal-Bo0ALcDh.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}:root{--egg-50:#effaf5;--egg-100:#d8f5e8;--egg-200:#b2ead1;--egg-300:#88ddb8;--egg-400:#62d3a4;--egg-500:#43cb93;--egg-600:#2db07b;--egg-700:#1f8f63;--egg-800:#17704e;--egg-900:#0f5139;--white:#fff;--ink-50:#f8f8f9;--ink-100:#f1f1f3;--ink-200:#e3e3e7;--ink-300:#c8c8ce;--ink-400:#9a9aa2;--ink-500:#6e6e77;--ink-600:#4c4c54;--ink-700:#3c566c;--ink-800:#2b4861;--ink-900:#1f3a52;--fg-1:var(--ink-900);--fg-2:var(--ink-600);--fg-3:var(--ink-400);--fg-on-yellow:var(--ink-900);--fg-on-dark:var(--white);--fg-inverse:var(--white);--bg-page:var(--white);--bg-subtle:var(--ink-50);--bg-muted:var(--ink-100);--bg-dark:var(--ink-900);--bg-dark-2:var(--ink-800);--bg-brand:var(--egg-500);--bg-brand-subtle:var(--egg-50);--border-subtle:var(--ink-200);--border-default:var(--ink-300);--border-strong:var(--ink-900);--border-brand:var(--egg-500);--success:#0f7a5a;--success-bg:#e6f5ef;--warning:#b26a00;--warning-bg:#fff3df;--danger:#c03a26;--danger-bg:#fceae6;--info:#2e8bc0;--info-bg:#e6f2f9;--ext:#6b3fa0;--ext-bg:#efe8f8;--appt:var(--egg-800);--appt-tile:var(--egg-500);--appt-tile-ink:var(--ink-900);--appt-bg:var(--egg-50);--appt-line:var(--egg-200);--appt-on:var(--ink-900);--appt-dot:var(--egg-800);--appt-pill:var(--egg-100);--appt-pill-pad:2px 10px;--line-green:#06c755;--line-ink:#0b2415;--viz-1:#ffc60b;--viz-2:#111114;--viz-3:#2e8bc0;--viz-4:#14916b;--viz-5:#e0644b;--viz-6:#7b61ff;--viz-7:#f5a623;--font-display:"Sora", "IBM Plex Sans Thai", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:"IBM Plex Sans", "IBM Plex Sans Thai", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--w-regular:400;--w-medium:500;--w-semibold:600;--w-bold:700;--w-extra:800;--fs-display:64px;--fs-h1:48px;--fs-h2:36px;--fs-h3:28px;--fs-h4:22px;--fs-h5:18px;--fs-body-lg:18px;--fs-body:16px;--fs-body-sm:14px;--fs-caption:13px;--fs-overline:12px;--lh-tight:1.08;--lh-snug:1.2;--lh-normal:1.4;--lh-relaxed:1.6;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:32px;--radius-pill:999px;--shadow-sm:0 1px 2px #1111140f, 0 1px 1px #1111140a;--shadow-md:0 4px 16px #11111414;--shadow-lg:0 12px 32px #1111141a;--shadow-xl:0 24px 56px #11111424;--shadow-brand:0 8px 24px rgba(var(--glow),.35);--ease-out:cubic-bezier(.22,.61,.36,1);--ease-in-out:cubic-bezier(.65,.05,.36,1);--dur-fast:.14s;--dur-base:.22s;--dur-slow:.36s;--glow:67,203,147;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sab-bar:max(8px,calc(env(safe-area-inset-bottom,0px) - 12px));--ease-sheet:cubic-bezier(.32,.72,0,1);--ease-spring:cubic-bezier(.34,1.56,.64,1)}*{-webkit-tap-highlight-color:transparent;box-sizing:border-box}html{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{background:var(--ink-100);-webkit-font-smoothing:antialiased;height:100%;font-family:var(--font-body);color:var(--ink-900);overscroll-behavior:none;margin:0}body{overflow-wrap:break-word}.med-name{-webkit-hyphens:auto;hyphens:auto;min-width:0}body{overflow:hidden}#root{height:100%}a{color:var(--ink-900)}button{font-family:var(--font-body);touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}button:focus-visible,input:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:3px solid var(--ink-900);outline-offset:2px;box-shadow:0 0 0 2px var(--white)}input,select,textarea{font-family:var(--font-body);font-size:16px}input::placeholder{color:var(--ink-400)}button{transition:transform .26s var(--ease-spring),background-color var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast),box-shadow var(--dur-base),opacity var(--dur-fast),filter var(--dur-fast)}button:active:not(:disabled){filter:brightness(.96);transition-duration:70ms;transform:scale(.96)}.press{transition:transform .26s var(--ease-spring),background-color var(--dur-base),border-color var(--dur-base)}.press:active{transition-duration:90ms;transform:scale(.98)}nav [aria-current=page] svg{animation:hop .36s var(--ease-spring)}.egg-btn:hover{filter:brightness(1.03)}.scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;overflow:hidden auto}.noscrollbar{scrollbar-width:none}.noscrollbar::-webkit-scrollbar{display:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-frame{flex-direction:column;width:100%;max-width:480px;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}@media (width>=600px){.app-frame{box-shadow:var(--shadow-xl)}}@media (width>=1024px){.app-shell{max-width:none;box-shadow:none}.desk{background:var(--ink-50);flex:1;grid-template-columns:272px minmax(0,1fr);min-height:0;display:grid}.desk-side{background:var(--white);border-right:1px solid var(--ink-200);flex-direction:column;min-height:0;padding:24px 16px 20px;display:flex;overflow-y:auto}.desk-main{flex-direction:column;min-width:0;min-height:0;display:flex}.desk-head{flex-wrap:wrap;flex:none;align-items:flex-end;gap:12px 16px;width:100%;max-width:820px;margin:0 auto;padding:36px 40px 14px;display:flex}.desk-head h1{margin-top:4px!important;font-size:32px!important}.desk-body{flex-direction:column;gap:18px;width:100%;max-width:820px;margin:0 auto;padding:8px 40px 56px;display:flex}.desk-page{flex-direction:column;flex:1;width:100%;max-width:820px;min-height:0;margin:0 auto;padding:20px 20px 0;display:flex}.side-row:hover:not([aria-current=page]):not([aria-selected=true]){background:var(--ink-100)!important}.sheet{width:min(560px,100% - 48px);height:fit-content;margin:auto;max-height:86%!important;animation:dialogIn .26s var(--ease-sheet)!important;border-radius:24px!important;padding:24px 28px!important;inset:0!important}.sheet[data-leaving]{animation:.18s ease-in forwards dialogOut!important}.sheet-grip{display:none!important}.split{flex:1;grid-template-columns:minmax(420px,1.05fr) minmax(480px,1fr);min-height:0;display:grid}.split-brand{background:var(--ink-900);color:#fff;flex-direction:column;padding:48px 56px 64px;display:flex;position:relative;overflow:hidden}.split-main{background:var(--white);min-height:0;display:flex;overflow-y:auto}.split-col{flex-direction:column;width:100%;max-width:520px;min-height:100%;margin:0 auto;padding:40px 0 24px;display:flex}.split .onb-deco{display:none!important}.split .onb-welcome{display:block!important}.split .onb1{justify-content:center}}@keyframes dialogIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:none}}@keyframes dialogOut{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes ring{0%,to{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(4deg)}}@keyframes halo{0%{opacity:.7;transform:scale(.8)}to{opacity:0;transform:scale(1.6)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,16px)scale(.96)}to{opacity:1;transform:translate(-50%)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,10px)scale(.97)}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheetDown{0%{transform:translateY(var(--drag,0px))}to{transform:translateY(100%)}}@keyframes fadeOut{0%{opacity:var(--fade,1)}to{opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes hop{0%{transform:scale(1)}40%{transform:scale(1.18)translateY(-2px)}to{transform:scale(1)}}@keyframes pop{0%{transform:scale(.7)}55%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes draw{0%{stroke-dashoffset:24px}to{stroke-dashoffset:0}}@keyframes glow{0%{box-shadow:0 0 0 0 rgba(var(--glow),.55)}to{box-shadow:0 0 0 18px rgba(var(--glow),0)}}.pop{animation:pop .38s var(--ease-spring)}@keyframes cardIn{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}.card-in{animation:cardIn .42s var(--ease-sheet)}.pop path{stroke-dasharray:24;stroke-dashoffset:24px;animation:draw .3s .1s var(--ease-out) forwards}.celebrate{animation:pop .52s var(--ease-spring),glow .9s .12s var(--ease-out)}.celebrate path{stroke-dasharray:24;stroke-dashoffset:24px;animation:draw .38s .2s var(--ease-out) forwards}.app-frame{view-transition-name:frame}::view-transition-group(frame){animation-duration:.42s;animation-timing-function:var(--ease-sheet)}html[data-nav=tab]::view-transition-old(frame){animation-duration:.2s}html[data-nav=tab]::view-transition-new(frame){animation-duration:.2s}html[data-nav=push]::view-transition-old(frame){mix-blend-mode:normal;animation-duration:.42s;animation-timing-function:var(--ease-sheet);animation-fill-mode:both}html[data-nav=push]::view-transition-new(frame){mix-blend-mode:normal;animation-duration:.42s;animation-timing-function:var(--ease-sheet);animation-fill-mode:both}html[data-nav=pop]::view-transition-old(frame){mix-blend-mode:normal;animation-duration:.42s;animation-timing-function:var(--ease-sheet);animation-fill-mode:both}html[data-nav=pop]::view-transition-new(frame){mix-blend-mode:normal;animation-duration:.42s;animation-timing-function:var(--ease-sheet);animation-fill-mode:both}html[data-nav=push]::view-transition-old(frame){animation-name:vtBehind}html[data-nav=push]::view-transition-new(frame){animation-name:vtFromRight}html[data-nav=pop]::view-transition-old(frame){z-index:1;animation-name:vtToRight}html[data-nav=pop]::view-transition-new(frame){animation-name:vtFromBehind}@keyframes vtFromRight{0%{transform:translate(100%)}to{transform:none}}@keyframes vtBehind{0%{transform:none}to{filter:brightness(.9);transform:translate(-28%)}}@keyframes vtToRight{0%{transform:none}to{transform:translate(100%)}}@keyframes vtFromBehind{0%{filter:brightness(.9);transform:translate(-28%)}to{transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media print{html,body,#root,.app-frame{max-width:none!important;height:auto!important;box-shadow:none!important;background:#fff!important;overflow:visible!important}.app-frame>:not(.print-area){display:none!important}.print-area{position:static!important;inset:auto!important}.print-scroll{flex:none!important;overflow:visible!important}.no-print{display:none!important}}@media (width<=1023.98px){.sched-col{display:contents}}@media (width>=1024px){.sched-head{width:100%;max-width:1100px;margin:0 auto;padding:30px 32px 10px!important}.sched-head h1{font-size:32px!important}.sched-stack{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;width:100%;max-width:1100px;margin:0 auto;gap:18px!important;padding:8px 32px 40px!important;display:grid!important}.sched-col{flex-direction:column;gap:14px;min-width:0;display:flex}.sched-bar{padding:12px 0 calc(12px + var(--sab-bar))!important}.sched-save{width:100%;max-width:1100px;margin:0 auto;padding:0 32px}}
