@font-face{font-family:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/sarabun-thai-400-normal.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/sarabun-latin-400-normal.woff2)format("woff2");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}@font-face{font-family:Sarabun;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/sarabun-thai-600-normal.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/sarabun-latin-600-normal.woff2)format("woff2");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}@font-face{font-family:Sarabun;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sarabun-thai-700-normal.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sarabun-latin-700-normal.woff2)format("woff2");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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ground:#e9e7e0;--paper:#faf9f6;--surface:#fff;--ink:#22262b;--ink-2:#5e646c;--ink-3:#949a9f;--rule:#e6e4dc;--rule-2:#d2cfc5;--rule5:#bdb7a7;--zebra:#22262b08;--absent:#c0392b;--absent-bg:#fbe9e6;--act:#2f5d8a;--act-bg:#eaf0f6;--shadow:#22262b21}*{box-sizing:border-box}html,body{height:100%}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;overscroll-behavior:contain;margin:0;font-family:Sarabun,Thonburi,-apple-system,Sukhumvit Set,Noto Sans Thai,BlinkMacSystemFont,system-ui,sans-serif;font-size:16px;line-height:1.5}button{touch-action:manipulation}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.page{max-width:560px;padding:calc(20px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom));flex-direction:column;min-height:100%;margin:0 auto;display:flex}.topbar{flex:none;align-items:center;padding:4px 0 16px;display:flex}.back{appearance:none;color:var(--act);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 4px 6px 0;font-family:inherit;font-size:15px;text-decoration:none;display:inline-flex}.back:focus-visible{outline:2px solid var(--act);outline-offset:2px;border-radius:6px}.homehead{padding:6px 0 20px}.homehead h2{letter-spacing:-.015em;margin:0;font-size:26px;font-weight:700}.homehead p{color:var(--ink-2);margin:3px 0 0;font-size:14px}.stack{flex-direction:column;gap:12px;display:flex}.subj{appearance:none;font:inherit;cursor:pointer;text-align:left;background:var(--c);color:#fff;width:100%;box-shadow:0 3px 10px -3px var(--sh);border:0;border-radius:18px;padding:20px 20px 21px;font-family:inherit;text-decoration:none;display:block}.subj:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.subj .code{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:31px;font-weight:800;line-height:1.05;display:block}.subj .nm{margin-top:5px;font-size:19px;font-weight:600;display:block}.subj .meta{opacity:.82;margin-top:5px;font-size:13.5px;font-weight:500;display:block}.room{appearance:none;font:inherit;cursor:pointer;background:var(--c);text-align:left;color:#fff;box-shadow:0 3px 10px -3px var(--sh);border:0;border-radius:16px;padding:16px 15px;font-family:inherit;text-decoration:none;display:block}.room:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.room .dot{background:#ffffff8c;border-radius:99px;width:26px;height:6px;margin-bottom:10px;display:block}.room b{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:27px;font-weight:800;line-height:1;display:block}.room small{opacity:.82;margin-top:5px;font-size:12.5px;font-weight:500;display:block}.rec{flex-direction:column;height:100dvh;min-height:0;display:flex}.rmain{flex-direction:column;flex:auto;min-height:0;display:flex}.rechead{background:var(--surface);flex:none}.rechead .bar{background:var(--c);height:5px}.rechead .who{align-items:baseline;gap:9px;padding:10px 18px 9px;display:flex}.rechead .who b{color:var(--c);font-size:18px;font-weight:700}.rechead .who span{color:var(--ink-2);font-size:13px}.dstrip{background:var(--surface);border-bottom:1px solid var(--rule);scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:none;gap:8px;padding:11px 18px 13px;display:flex;position:relative;overflow-x:auto}.dstrip::-webkit-scrollbar{height:0}.dchip{appearance:none;font:inherit;cursor:pointer;scroll-snap-align:center;background:var(--dw);color:#fff;text-align:center;opacity:.42;min-width:80px;box-shadow:0 2px 7px -3px var(--sh);border:0;border-radius:13px;flex:none;padding:8px 11px;font-family:inherit}.dchip:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.dchip .wd{opacity:.8;font-size:11.5px;font-weight:700;display:block}.dchip .dd{letter-spacing:-.015em;white-space:nowrap;margin-top:1px;font-size:16.5px;font-weight:800;display:block}.dchip .st{opacity:.75;margin-top:4px;font-size:9.5px;font-weight:700;display:block}.dchip[aria-pressed=true],.dchip.today{opacity:1;box-shadow:0 0 0 2.5px var(--ink), 0 4px 11px -4px var(--sh);transform:scale(1.04)}.dchip[aria-pressed=true]:after,.dchip.today:after{content:"";border-left:8px solid #0000;border-right:8px solid #0000;border-bottom:8px solid var(--surface);position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}.dchip .now{display:none}.dchip[aria-pressed=true] .now{letter-spacing:.03em;justify-content:center;align-items:center;gap:4px;margin-top:3px;font-size:9.5px;font-weight:800;display:flex}.dchip[aria-pressed=true] .st{display:none}.dchip.future{outline-offset:-4px;outline:1.5px dashed #ffffffbf}.dchip.closed{opacity:.4}.dchip.closed .dd{text-decoration:line-through}.dtoday{background:var(--surface);color:var(--ink-2);border-bottom:1px solid var(--rule);flex:none;align-items:center;gap:10px;padding:0 18px 9px;font-size:12.5px;display:flex}.dtoday b{color:var(--ink);font-weight:600}.dtoday .line{flex:1;min-width:0}.jump{appearance:none;font:inherit;cursor:pointer;background:var(--act-bg);color:var(--act);white-space:nowrap;border:1px solid #c9d8e8;border-radius:999px;flex:none;padding:4px 11px;font-family:inherit;font-size:12px;font-weight:700}.jump:focus-visible{outline:2px solid var(--act);outline-offset:2px}.jump[hidden]{display:none}.rosterhint{color:var(--ink-2);background:var(--act-bg);border-bottom:1px solid var(--rule);flex:none;margin:0;padding:8px 18px;font-size:12.5px}.rosterhint.was-saved{background:var(--absent-bg);color:#8c3327}.rosterhint.is-closed{background:var(--rule);color:var(--ink-2)}.periodactions{background:var(--surface);border-bottom:1px solid var(--rule);flex:none;gap:8px;padding:8px 18px;display:flex}.rosterwrap{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.roster{margin:0;padding:0;list-style:none}.roster.roster-closed{opacity:.5}.roster li{border-bottom:1px solid var(--rule)}.roster li.rule5{border-bottom:1.5px solid var(--rule5)}.stu{appearance:none;width:100%;font:inherit;cursor:pointer;color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:13px;padding:8px 18px;font-family:inherit;display:flex}.stu:focus-visible{outline:2px solid var(--act);outline-offset:-2px}.stu .no{font-variant-numeric:tabular-nums;text-align:right;min-width:26px;color:var(--ink-3);font-size:15px;font-weight:700}.stu .nm{flex:1;font-size:15.5px;line-height:1.25}.stu .box{border:1.5px solid var(--rule-2);color:#0000;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;font-size:16px;font-weight:800;display:grid}.roster li:nth-child(2n) .stu:not([aria-pressed=true]){background:var(--zebra)}.stu[aria-pressed=true]{background:var(--absent-bg)}.stu[aria-pressed=true] .no{color:var(--absent)}.stu[aria-pressed=true] .nm{font-weight:600}.stu[aria-pressed=true] .box{background:var(--absent);border-color:var(--absent);color:#fff}.btn{appearance:none;font:inherit;cursor:pointer;background:var(--c,var(--act));color:#fff;white-space:nowrap;border:0;border-radius:11px;padding:13px 22px;font-family:inherit;font-size:16px;font-weight:600}.btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.btn:disabled{background:var(--rule-2);color:#fff;cursor:default}.btn.wide{text-align:center;width:100%}.btn.ghost{background:var(--act-bg);color:var(--act)}.savecard{border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;font-size:13.5px;display:flex}.savecard.saving{background:var(--act-bg);color:var(--act)}.savecard.success{color:#1e6b34;background:#e9f4ec}.savecard.error{background:var(--absent-bg);color:#8c3327}.savecard .head{align-items:center;gap:8px;font-size:14.5px;font-weight:700;display:flex}.savecard .names{color:inherit;opacity:.92;font-size:13.5px;line-height:1.7}.savecard .names .n{gap:9px;display:flex}.savecard .names .n span:first-child{font-variant-numeric:tabular-nums;min-width:22px;font-weight:700}.spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex:none;width:15px;height:15px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dside{display:none}@media (min-width:1024px){body{background:var(--paper);overflow:hidden}.page{max-width:640px;padding-top:48px;padding-bottom:48px}.rec{background:var(--paper);border:0;border-radius:0;grid-template-columns:252px minmax(0,1fr);gap:0;width:100%;max-width:none;height:100dvh;min-height:0;margin:0;display:grid;overflow:hidden}.dside{border-right:1px solid var(--rule);background:var(--surface);flex-direction:column;min-height:0;display:flex}.dbrand{border-bottom:1px solid var(--rule);align-items:center;gap:10px;padding:16px 18px 14px;display:flex}.dbrand .ic{background:linear-gradient(#22688f,#123f63);border-radius:9px;flex:none;place-items:center;width:32px;height:32px;display:grid}.dbrand .ic svg{width:20px;height:20px}.dbrand b{font-size:16px;font-weight:700}.dnav{flex:1;padding:14px 12px 18px;overflow-y:auto}.dgroup{margin-bottom:18px}.dgroup h4{letter-spacing:.06em;color:var(--dgc);margin:0 0 8px;padding:0 6px;font-size:11.5px;font-weight:800}.dgroup h4 span{color:var(--ink-3);letter-spacing:0;margin-top:1px;font-size:11px;font-weight:600;display:block}.dnav .r{appearance:none;font:inherit;cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;padding:8px 10px;font-family:inherit;font-size:14.5px;text-decoration:none;display:flex}.dnav .r:hover{background:var(--tint)}.dnav .r:focus-visible{outline:2px solid var(--c);outline-offset:-2px}.dnav .r i{background:var(--c);border-radius:50%;flex:none;width:9px;height:9px}.dnav .r b{font-variant-numeric:tabular-nums;font-weight:600}.dnav .r small{color:var(--ink-3);margin-left:auto;font-size:12px}.dnav .r[aria-current=true]{background:var(--c);color:#fff}.dnav .r[aria-current=true] i{background:#ffffffb3}.dnav .r[aria-current=true] small{color:#fffc}.dnav .r[aria-current=true] b{font-weight:800}.rec .rechead .who{padding:15px 22px 0}.rec .rechead .who .cnt{display:none}.rechead .dtoolbar{flex:none;align-items:center;gap:12px;padding:10px 22px 14px;display:flex}.rechead .dtoolbar .savecard{flex:1;margin:0}.rechead .dtoolbar .btn{flex:none;margin-left:auto}.dtablewrap{background:var(--surface);flex:auto;min-height:0;overflow:auto}.dtable{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}.dtable .corner,.dtable .rowhead{z-index:1;background:var(--surface);text-align:left;white-space:nowrap;border-right:1px solid var(--rule-2);border-bottom:1px solid var(--rule);padding:7px 16px;position:sticky;left:0}.dtable .corner{z-index:3;letter-spacing:.05em;color:var(--ink-3);text-transform:uppercase;min-width:210px;font-size:11.5px;font-weight:800;top:0}.dtable .rowhead{font-size:14.5px;font-weight:600}.dtable .rowhead .no{color:var(--ink-3);margin-right:9px;font-weight:700}.dtable thead th.dcol{z-index:2;background:var(--surface);border-bottom:1px solid var(--rule);vertical-align:bottom;padding:7px 5px;position:sticky;top:0}.dtable thead th.dcol .dchip{box-sizing:border-box;width:88px;min-width:88px;max-width:88px}.dtable thead th.dcol .dchip .st{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dtable thead th.dcol .dchip.today{transform:none}.dtable tbody tr:nth-child(2n) .rowhead,.dtable tbody tr:nth-child(2n) td{background:linear-gradient(var(--zebra), var(--zebra)), var(--surface)}.dtable tbody tr.g5 .rowhead,.dtable tbody tr.g5 td{border-bottom:1.5px solid var(--rule5)}.dtable td{border-bottom:1px solid var(--rule);text-align:center;padding:3px 5px}.dtable .dcell{appearance:none;cursor:pointer;border:1.5px solid var(--rule-2);background:var(--surface);color:#0000;border-radius:8px;width:30px;height:30px;font-size:15px;font-weight:800}.dtable .dcell:focus-visible{outline:2px solid var(--act);outline-offset:1px}.dtable .dcell[aria-pressed=true]{background:var(--absent);border-color:var(--absent);color:#fff}.dtable .dcell:disabled{opacity:.35;cursor:default}.dtable thead th.dcol.closed .dchip{opacity:.4}.dtable thead th.dcol.closed .dchip .dd{text-decoration:line-through}.dtable td.closed{background:var(--rule)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dcolmenu-panel{z-index:1000;background:var(--surface);border:1px solid var(--rule-2);box-shadow:0 12px 28px -8px var(--shadow);border-radius:10px;flex-direction:column;gap:2px;min-width:200px;padding:6px;display:flex;position:fixed;transform:translate(-50%)}.dcolmenu-panel button{appearance:none;font:inherit;text-align:left;cursor:pointer;color:var(--ink);white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:9px 11px;font-family:inherit;font-size:13.5px}.dcolmenu-panel button:hover{background:var(--act-bg)}.dcolmenu-panel button:disabled{opacity:.5;cursor:default;background:0 0}}.rechead .who .cnt{color:var(--ink-2);white-space:nowrap;margin-left:auto;font-size:13px}.rechead .who .cnt b{color:var(--absent);font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}.savestatus{padding:10px 18px 0}.savestatus .savecard{margin:0}@media (max-width:1023px){.rec .rosterwrap{padding-bottom:env(safe-area-inset-bottom)}}@media (min-width:1024px){.savestatus{padding:12px 22px 0}.rec .rechead{border-bottom:1px solid var(--rule);align-items:center;gap:16px;padding:0 22px;display:flex}.rec .rechead .bar{position:absolute;top:0;left:0;right:0}.rec .rechead{position:relative}.rec .rechead .who{flex:none;align-items:baseline;gap:9px;padding:14px 0;display:flex}.rec .rechead .dtoolbar{align-items:center;gap:12px;margin-left:auto;padding:10px 0;display:flex}.rec .rechead .dtoolbar .savecard{margin:0;padding:7px 12px}.dtable thead th.dcol,.dtable tbody td{border-right:1px solid var(--rule)}.dtable thead th.dcol.monthstart,.dtable tbody td.monthstart{border-left:1.5px solid var(--rule5)}.dtable tbody td.closed{background-image:repeating-linear-gradient(45deg, transparent 0 6px, var(--zebra) 6px 12px)}}@media (max-width:1023px){.stu,.dchip,.btn,.jump,.subj,.room,.back,.gbtn{transition:transform .12s,background-color .15s,opacity .15s,box-shadow .15s}.subj:active,.room:active{box-shadow:0 1px 4px -2px var(--sh);transform:scale(.97)}.back:active,.gbtn:active{transform:scale(.96)}.stu:active{transform:scale(.985)}.btn:active,.jump:active{transform:scale(.94)}.dchip:active{transform:scale(.96)}.dchip[aria-pressed=true]:active{transform:scale(1)}.stu .box{transition:transform .14s cubic-bezier(.34,1.56,.64,1),background-color .14s,border-color .14s}.stu[aria-pressed=true] .box{animation:.22s cubic-bezier(.34,1.56,.64,1) markpop}@keyframes markpop{0%{transform:scale(.6)}60%{transform:scale(1.12)}to{transform:scale(1)}}.stu{transition:transform .12s,background-color .18s}}@media (prefers-reduced-motion:reduce){.stu,.dchip,.btn,.jump,.subj,.room,.back,.gbtn,.stu .box{transition:none!important;animation:none!important}}.loginpage{min-height:100dvh;padding:24px calc(24px + env(safe-area-inset-left));background:var(--paper);place-items:center;display:grid}.loginpage .login{text-align:center;width:100%;max-width:360px}.loginpage .gbtn{text-decoration:none}.loginerror{background:var(--absent-bg);color:#8c3327;text-align:left;border:1px solid #efcfc9;border-radius:11px;margin:0 0 16px;padding:10px 14px;font-size:14px;line-height:1.5}@media (min-width:1024px){.btn.editmode{background:var(--act-bg);color:var(--act);border:1.5px solid #c9d8e8}.btn.editmode.on{color:#fff;background:#1e6b34;border-color:#1e6b34}.dtable .dcell:disabled{cursor:default;opacity:.55}.dtable .dcell[aria-pressed=true]:disabled{opacity:.8}.rec .rechead.editing{box-shadow:inset 0 -3px #1e6b34}}:root{--k-gold:#e6cf9c;--k-ink:#1f2328;--k-ink-2:#4e555d;--k-ink-3:#7b828a;--k-rule:#e3e0d7;--k-absent:#b3261e;--k-warn-bg:#fff1d6;--k-warn-ink:#5c3a00;--k-warn-bd:#c98a1b;--k-navy:#284b6e;--k-navy-2:#3a6690;--k-ok:#3a7a62;--k-ok-ink:#1e5440;--k-ok-bg:#eef6f1}.kpage{min-height:100dvh;color:var(--k-ink);background-color:#0000;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22150%22%20height%3D%22150%22%20viewBox%3D%220%200%20150%20150%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%232C6C99%22%20stroke-width%3D%222.6%22%20opacity%3D%22.07%22%3E%3Cg%20transform%3D%22translate(38%2052)%20scale(.42)%22%3E%3Cpath%20d%3D%22M-3%200%20C-17%201%20-29%20-6%20-34%20-17%20C-22%20-15%20-11%20-9%20-3%200Z%22%2F%3E%3Cpath%20d%3D%22M3%200%20C17%201%2029%20-6%2034%20-17%20C22%20-15%2011%20-9%203%200Z%22%2F%3E%3Cpath%20d%3D%22M-2%20-1%20C-15%20-6%20-23%20-19%20-24%20-34%20C-14%20-27%20-6%20-17%20-2%20-1Z%22%2F%3E%3Cpath%20d%3D%22M2%20-1%20C15%20-6%2023%20-19%2024%20-34%20C14%20-27%206%20-17%202%20-1Z%22%2F%3E%3Cpath%20d%3D%22M0%20-1%20C-10%20-13%20-10%20-31%200%20-44%20C10%20-31%2010%20-13%200%20-1Z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(112%20124)%20scale(.3)%22%3E%3Cpath%20d%3D%22M-3%200%20C-17%201%20-29%20-6%20-34%20-17%20C-22%20-15%20-11%20-9%20-3%200Z%22%2F%3E%3Cpath%20d%3D%22M3%200%20C17%201%2029%20-6%2034%20-17%20C22%20-15%2011%20-9%203%200Z%22%2F%3E%3Cpath%20d%3D%22M-2%20-1%20C-15%20-6%20-23%20-19%20-24%20-34%20C-14%20-27%20-6%20-17%20-2%20-1Z%22%2F%3E%3Cpath%20d%3D%22M2%20-1%20C15%20-6%2023%20-19%2024%20-34%20C14%20-27%206%20-17%202%20-1Z%22%2F%3E%3Cpath%20d%3D%22M0%20-1%20C-10%20-13%20-10%20-31%200%20-44%20C10%20-31%2010%20-13%200%20-1Z%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E"),linear-gradient(#ddecf6 0%,#eef4f7 45%,#f8f6ef 100%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.kband{color:#fff;padding:calc(16px + env(safe-area-inset-top)) 24px 22px;background:linear-gradient(150deg,#33608b 0%,#223f5e 100%);position:relative}.kband:after{content:"";background:color-mix(in srgb, var(--k-gold) 70%, transparent);height:1px;position:absolute;bottom:5px;left:0;right:0}.kband .kback{color:var(--k-gold);min-height:44px;padding:4px 14px 6px 0;font-size:19px;font-weight:600;line-height:1.8;text-decoration:none;display:inline-block}.kband .kback:active{opacity:.55}.kband .kback{position:relative}.kbackwait{white-space:nowrap;color:#f3e6c8;opacity:0;pointer-events:none;margin-left:6px;font-size:16px;font-weight:600;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.kbackwait.on{opacity:1;transition:opacity .15s .1s}.kband h1{margin:0;font-size:36px;font-weight:700;line-height:1.4}.kband p{color:#f3e6c8;margin:0;font-size:19px;line-height:1.45}.kbody{max-width:560px;padding:20px 18px calc(28px + env(safe-area-inset-bottom));margin:0 auto}.kstack{flex-direction:column;gap:14px;display:flex}.ksect{margin:0 0 10px;font-size:23px;font-weight:700;line-height:1.4}.kstack+.ksect{margin-top:26px}.kcard{--c1:color-mix(in oklab, var(--c) 62%, #5f6670);--deep:color-mix(in oklab, var(--c) 52%, #1d2128);isolation:isolate;color:#fff;background:linear-gradient(150deg, var(--c1) 0%, var(--deep) 100%);min-height:104px;box-shadow:0 8px 18px -8px color-mix(in srgb, var(--deep) 70%, transparent);border-radius:18px;flex-direction:column;justify-content:center;gap:2px;padding:22px 24px 16px;text-decoration:none;transition:transform .12s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.kcard:after{content:"";pointer-events:none;border:1px solid color-mix(in srgb, var(--k-gold) 45%, transparent);border-radius:13px;position:absolute;inset:5px}.kcard:active{filter:brightness(.82);transform:scale(.96)}.kcard:focus-visible{outline:3px solid var(--k-ink);outline-offset:3px}.kwm{z-index:-1;pointer-events:none;width:100%;height:100%;color:var(--k-gold);opacity:.13;position:absolute;inset:0}.knm{font-size:38px;font-weight:700;line-height:1.4}.kl2{font-size:19px;font-weight:600;line-height:1.4}.kdue{align-items:center;gap:10px;display:inline-flex}.kdue i{background:var(--k-gold);color:#2b2410;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:20px;font-style:normal;font-weight:700;display:grid}.krec{color:var(--k-ink);background:#fff}.krec .kband{flex:none;padding-bottom:18px}.krec .kband h1{font-size:34px}.kempty{color:var(--k-ink-2);padding:20px;font-size:18px}.kwarn{background:var(--k-warn-bg);color:var(--k-warn-ink);border-top:4px solid var(--k-warn-bd);border-bottom:2px solid var(--k-warn-bd);flex:none;align-items:center;gap:10px;padding:12px 16px;display:flex}.kwarn.closed{color:#3b3f45;background:#eceae4;border-color:#8e918f}.kwarn .wi{font-size:28px;line-height:1}.kwarn div{flex:1;min-width:0;line-height:1.35}.kwarn b{font-size:20px;display:block}.kwarn span{font-size:17px;display:block}.kwarn .back2{background:var(--k-warn-ink);color:#fff;border:0;border-radius:12px;flex:none;min-height:48px;padding:8px 14px;font-family:inherit;font-size:17px;font-weight:700}.kwarn.closed .back2{background:#3b3f45}.kdate{border-bottom:1px solid var(--k-rule);background:#f4f7fa;flex:none;align-items:center;gap:10px;padding:12px 14px;display:flex}.kdate .nav{height:60px;color:var(--k-navy);background:#fff;border:1.5px solid #9db1c6;border-radius:14px;flex:0 0 60px;padding:0 0 4px;font-family:inherit;font-size:34px;font-weight:700;line-height:1}.kdate .nav:disabled{opacity:.35}.kdate .nav:active:not(:disabled){transform:scale(.94)}.kdate .dt{text-align:center;flex:1;min-width:0;line-height:1.3}.kdate .lab{color:var(--k-ink-2);font-size:17px;font-weight:600;display:block}.kdate .dt b{font-size:27px;font-weight:700;display:block}.kdate .dt b.strike{text-decoration:line-through;text-decoration-thickness:2px}.kdate .slot{color:var(--k-navy);font-size:20px;font-weight:600;display:block}.kdate.past{background:var(--k-warn-bg)}.kdate.past .lab{color:var(--k-warn-ink)}.kdate.past .nav{border-color:var(--k-warn-bd)}.kdate.closed{background:#eceae4}.kscroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.kresult{border:2px solid;border-radius:16px;margin:14px 16px 4px;padding:14px 16px}.kresult .dh{align-items:center;gap:10px;font-size:22px;font-weight:700;line-height:1.35;display:flex}.kresult .dh i{color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:20px;font-style:normal;display:grid}.kresult.saving{color:var(--k-navy);background:#eaf0f6;border-color:#9db1c6}.kresult.done{border-color:var(--k-ok);background:var(--k-ok-bg);color:var(--k-ok-ink)}.kresult.done .dh i{background:var(--k-ok)}.kresult.error{border-color:var(--k-absent);color:#8c1f18;background:#fbe9e6}.kresult.error .dh i{background:var(--k-absent)}.kresult.error p{margin:6px 0 0;font-size:19px;line-height:1.45}.kresult ul{color:var(--k-ink);margin:8px 0 0;padding:0;list-style:none}.kresult li{padding:3px 0;font-size:20px}.kresult li span{min-width:34px;color:var(--k-ink-3);font-weight:600;display:inline-block}.kacts{gap:10px;padding:14px 16px 6px;display:flex;position:relative}.kacts button{font-family:inherit}.kacts .allp{border:1.5px solid var(--k-ok);background:var(--k-ok-bg);min-height:58px;color:var(--k-ok-ink);border-radius:14px;flex:1;font-size:20px;font-weight:700}.kacts .more{min-height:58px;color:var(--k-ink-2);background:#fff;border:1.5px solid #b9bfc6;border-radius:14px;padding:0 14px;font-size:18px;font-weight:600}.kacts button:disabled{opacity:.5}.kacts .allp:active:not(:disabled),.kacts .more:active:not(:disabled){transform:scale(.96)}.kmenu-cover{z-index:4;position:fixed;inset:0}.kmenu{z-index:5;background:#fff;border:1px solid #c9cdd2;border-radius:14px;padding:6px;position:absolute;top:76px;right:16px;box-shadow:0 12px 30px -10px #00000059}.kmenu button{text-align:left;width:270px;min-height:64px;color:var(--k-ink);background:0 0;border:0;border-radius:10px;padding:12px;font-size:20px;font-weight:700;line-height:1.35;display:block}.kmenu button:active{background:#f1efea}.kmenu small{color:var(--k-ink-2);font-size:17px;font-weight:400;display:block}.khint{color:var(--k-ink-2);margin:0;padding:6px 18px 10px;font-size:17px}.kroster{border-top:1px solid var(--k-rule);margin:0;padding:0 0 8px;list-style:none}.kroster li{border-bottom:1px solid var(--k-rule)}.kroster.closed{opacity:.5}.kstu{text-align:left;width:100%;min-height:64px;color:var(--k-ink);background:#fff;border:0;align-items:center;gap:14px;padding:10px 18px;font-family:inherit;transition:background-color .15s,transform .12s;display:flex}.kstu:active:not(:disabled){transform:scale(.985)}.kstu .no{text-align:right;min-width:30px;color:var(--k-ink-3);font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.kstu .sn{flex:1;min-width:0;font-size:20px;line-height:1.35}.kstu .box{border:2px solid #b9b4a8;border-radius:10px;flex:none;width:38px;height:38px}.kroster li:nth-child(2n) .kstu{background:#f7f4ec}.kroster li.rule5{border-bottom:2px solid #bfb59e}.kroster li .kstu[aria-pressed=true]{box-shadow:inset 5px 0 0 var(--k-absent);background:#fbdcd6}.kstu[aria-pressed=true] .sn{font-weight:700}.kstu[aria-pressed=true] .no{color:var(--k-absent)}.kstu .mark{background:var(--k-absent);color:#fff;border-radius:10px;flex:none;align-items:center;gap:6px;padding:5px 12px 5px 6px;font-size:18px;font-weight:700;animation:.22s cubic-bezier(.34,1.56,.64,1) markpop;display:inline-flex}.kstu .mark i{width:28px;height:28px;color:var(--k-absent);background:#fff;border-radius:7px;place-items:center;font-style:normal;display:grid}.ksave{padding:12px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--k-rule);background:#fafaf8;flex:none;align-items:center;gap:12px;display:flex}.ksave .count{color:var(--k-ink-2);flex:1;font-size:19px}.ksave .count b{color:var(--k-absent);font-variant-numeric:tabular-nums;font-size:26px}.kbtn{color:#fff;white-space:nowrap;background:linear-gradient(180deg, var(--k-navy-2), var(--k-navy));min-height:58px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--k-gold) 60%, transparent), 0 6px 14px -8px var(--k-navy);border:0;border-radius:14px;padding:12px 34px;font-family:inherit;font-size:21px;font-weight:700}.kbtn.danger{background:var(--k-absent)}.kbtn:disabled{box-shadow:none;background:#b8bcc2}.kbtn:active:not(:disabled){transform:scale(.95)}.kdim{z-index:50;background:#141a228c;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.kdlg{text-align:center;width:100%;max-width:420px;color:var(--k-ink);border-top:6px solid var(--k-navy);background:#fff;border-radius:22px;padding:26px 22px 22px;box-shadow:0 20px 50px -10px #00000080}.kdlg h4{margin:0;font-size:26px;font-weight:700;line-height:1.4}.kdlg p{color:var(--k-ink-2);margin:8px 0 20px;font-size:20px;line-height:1.5}.kdlg p b{color:var(--k-ink)}.kdlg .dbtn{gap:12px;display:flex}.kdlg .dbtn button{border-radius:16px;flex:1;min-height:64px;font-family:inherit;font-size:22px;font-weight:700}.kdlg .dbtn .no{color:var(--k-ink);background:#fff;border:2px solid #9aa2aa}.kdlg .dbtn .yes{color:#fff;background:linear-gradient(180deg, var(--k-navy-2), var(--k-navy));border:0}@media (prefers-reduced-motion:reduce){.kcard,.kstu,.kstu .mark{transition:none!important;animation:none!important}}.kwarn .back2:disabled{opacity:.5}.kpend{color:#3e2f0a;background:#fbf3df;border-bottom:1px solid #e2cf9e;flex:none;align-items:center;gap:10px;padding:10px 14px 10px 16px;font-size:17px;line-height:1.35;display:flex}.kpend i{background:var(--k-gold);color:#2b2410;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:20px;font-style:normal;font-weight:700;display:grid}.kpend span{flex:1;min-width:0}.kpend button{color:#fff;background:var(--k-navy);border:0;border-radius:12px;flex:none;min-height:48px;padding:6px 12px;font-family:inherit;font-size:17px;font-weight:700}.kpend button:disabled{opacity:.5}.krec.two .kband{padding-top:calc(6px + env(safe-area-inset-top));padding-bottom:12px}.krec.two .kband .kback{min-height:40px;padding-bottom:0;line-height:1.5}.krec.two .kband h1{font-size:30px;line-height:1.3}.krec.two .kwarn{border-top-width:3px;padding:6px 14px}.krec.two .kwarn div span{display:none}.krec.two .kwarn .back2{min-height:44px}.krec.two .kpend{padding:6px 14px}.krec.two .kpend button{min-height:44px}.krec.two .kdate{padding:8px 14px}.krec.two .kdate .lab{display:none}.kcard.kskel{--c:#8e99a6;min-height:104px;animation:1.2s ease-in-out infinite kpulse}.kskel-date{border-bottom:1px solid var(--k-rule);background:#f4f2ec;height:96px;margin:0}.kskel-row{align-items:center;gap:14px;min-height:64px;padding:10px 18px;display:flex}.kskel-row i{background:#ece9e1;border-radius:6px;width:30px;height:18px}.kskel-row b{background:#ece9e1;border-radius:6px;flex:1;height:20px;animation:1.2s ease-in-out infinite kpulse}@keyframes kpulse{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.kcard.kskel,.kskel-row b,.kskel-d{animation:none}}button.kback{cursor:pointer;text-align:left;background:0 0;border:0;margin:0;font-family:inherit}.kskel-d{display:none}@media (min-width:1024px){.kskel-m{display:none}.kskel-d{background:var(--paper);animation:1.2s ease-in-out infinite kpulse;display:block}}.kpage.ksplit{flex-direction:column;min-height:100dvh;display:flex}.ksplit .kband{flex:none}.ksplit .kbody{width:100%;padding:18px 18px calc(18px + env(safe-area-inset-bottom));flex:auto;display:flex}.ksplit .kstack{flex:auto;gap:16px}.ksplit .kcard{border-radius:22px;flex:1 1 0;gap:6px;min-height:min-content;padding:28px 30px}.ksplit .kcard:after{border-radius:16px;inset:7px}.ksplit .knm{font-size:48px;line-height:1.35}.ksplit .kl2{font-size:21px}.kopen:not(.on){display:none}.kopen{z-index:2;color:#fff;letter-spacing:.5px;border-radius:inherit;pointer-events:none;background:#14181eb8;justify-content:center;align-items:center;font-size:30px;font-weight:700;line-height:1.4;display:flex;position:absolute;inset:0}.ktt{--cols:34px repeat(var(--nslot,8), minmax(0, 1fr));letter-spacing:-.3px;flex-direction:column;gap:1px;margin-top:8px;font-size:14px;line-height:1.25;display:flex}.ktt-ruler{grid-template-columns:var(--cols);letter-spacing:0;color:#f3e6c8;text-align:center;gap:0 1px;margin:0 -4px 2px;padding:0 4px;font-size:12px;display:grid}.ktt-ruler span{border-bottom:1px solid color-mix(in srgb, var(--k-gold) 45%, transparent);padding-bottom:1px}.ktt-ruler span:first-child{grid-column:2/span 4;margin-right:4px}.ktt-ruler span:last-child{grid-column:6/-1;margin-left:4px}.ktt-r{grid-template-columns:var(--cols);border-radius:10px;align-items:start;gap:0 1px;margin:0 -4px;padding:3px 4px;display:grid}.ktt-d{color:#f3e6c8;grid-area:1/1;font-size:16px;font-weight:700;line-height:1.3}.ktt-d em{letter-spacing:0;text-align:center;background:var(--k-gold);color:#2b2410;border-radius:999px;margin:2px 2px 0 0;font-size:11px;font-style:normal;font-weight:700;line-height:1.5;display:block}.ktt-s{text-align:center;white-space:nowrap;flex-direction:column;grid-row:1;align-items:center;gap:1px;display:flex}.ktt-s i{border:1px solid color-mix(in srgb, var(--k-gold) 60%, transparent);background:#ffffff38;border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;font-style:normal;font-weight:700;line-height:1;display:grid}.ktt-r.is-today{background:#ffffff2e;font-weight:700}.ktt-r.is-today .ktt-s i{background:var(--k-gold);color:#2b2410;border-color:#0000}.ksplit .kcard:has(.ktt){gap:2px;padding:20px 24px 18px}.ksplit .kcard:has(.ktt) .knm{font-size:40px;line-height:1.3}.ksplit .kcard:has(.ktt) .kl2{font-size:19px}@media (max-width:359px){.ksplit .kcard:has(.ktt){padding-left:16px;padding-right:16px}.ktt{letter-spacing:-.4px;--cols:30px repeat(var(--nslot,8), minmax(0, 1fr));font-size:12px}.ktt-s i{width:18px;height:18px;font-size:11px}}.ksplit .kcard.kskel{min-height:104px}@media (min-width:1024px){.khomeskel{visibility:hidden}}
