@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/db9bfcd87f1d73a3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4e2312c98e240c05-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/feed52454563c595-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f83e5507ec3854fa-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8934311971e59087-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/bfdf244a9384e8b2-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b10e9fa1144bb4fb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d13ab8ed065835e4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d8c0f620f258dcc1-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5fcb63deed33aab6-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e595057e1ab84c19-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/861fabf8a4ffc042-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Thai Fallback;src:local("Arial");ascent-override:110.31%;descent-override:52.78%;line-gap-override:0.00%;size-adjust:101.17%}.__className_6cf037{font-family:IBM Plex Sans Thai,IBM Plex Sans Thai Fallback;font-style:normal}.__variable_6cf037{--font-plex-thai:"IBM Plex Sans Thai","IBM Plex Sans Thai Fallback"}@font-face{font-family:Prompt;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/3d2d27a4cad47329-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Prompt;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/70c6212c0873ede2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Prompt;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/1ce1ffaf105af326-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Prompt;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4642fe567cc45cd6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Prompt;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/381ef99eada06d71-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Prompt;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/efb1d0d3266e2361-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Prompt;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/cdca6fff670edd4c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Prompt;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d536ec48f0acd73b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Prompt;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/55190bc973e13381-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Prompt;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/5084e176e02368e5-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Prompt;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8d0ffaba4bd77024-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Prompt;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/cc9a5f10ece852e7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Prompt Fallback;src:local("Arial");ascent-override:97.38%;descent-override:37.70%;line-gap-override:0.00%;size-adjust:111.93%}.__className_057e15{font-family:Prompt,Prompt Fallback;font-style:normal}.__variable_057e15{--font-prompt:"Prompt","Prompt Fallback"}@layer base{:root{--brand-primary:#7c3aed;--brand-secondary:#f55a48;--brand-highlight:#efc726}}:root{color-scheme:light;--primary:var(--brand-primary);--primary-deep:color-mix(in oklab,var(--brand-primary) 82%,black);--primary-subtle:color-mix(in srgb,var(--brand-primary) 10%,transparent);--accent-soft:color-mix(in oklab,var(--brand-primary) 8%,white);--shell-strip:linear-gradient(90deg,var(--brand-primary),color-mix(in oklab,var(--brand-primary) 55%,var(--brand-secondary)) 45%,var(--brand-secondary) 80%,var(--brand-highlight));--shell-active:linear-gradient(135deg,var(--brand-primary) 0%,color-mix(in oklab,var(--brand-primary) 72%,var(--brand-secondary)) 100%);--shell-active-glow:color-mix(in srgb,var(--brand-primary) 65%,transparent);--shell-canvas:radial-gradient(900px 420px at 80% -8%,color-mix(in srgb,var(--brand-primary) 8%,transparent),transparent 65%),color-mix(in oklab,var(--brand-primary) 5%,#f8fafc);--shell-side:radial-gradient(420px 300px at 0% 0%,color-mix(in srgb,var(--brand-primary) 14%,transparent),transparent 70%),linear-gradient(180deg,color-mix(in oklab,var(--brand-primary) 9%,white) 0%,color-mix(in oklab,var(--brand-primary) 4%,white) 60%,white 100%);--shell-line:color-mix(in oklab,var(--brand-primary) 16%,white);--shell-ink:color-mix(in oklab,var(--brand-primary) 28%,#262635);--shell-ink-soft:color-mix(in oklab,var(--brand-primary) 45%,#9ca3af);--shell-group:color-mix(in oklab,var(--brand-primary) 70%,#475569);--shell-hover:color-mix(in srgb,var(--brand-primary) 8%,transparent);--header-bg:rgb(255 255 255/0.86);--fold-bg:#fff;--menu-bg:#fff;--row-hover:#f8fafc;--here-bg:var(--accent-soft);--toggle-bg:color-mix(in oklab,var(--brand-primary) 7%,white);--toggle-on:#fff;--surface:#fff;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--warn-bg:#fff6e5;--warn-text:#7a4b00}html[data-mode=dark]{color-scheme:dark;--gray-950:color-mix(in oklab,var(--brand-primary) 8%,#050409);--gray-900:color-mix(in oklab,var(--brand-primary) 10%,#0e0c16);--primary:color-mix(in oklab,var(--brand-primary) 85%,white);--primary-deep:color-mix(in oklab,var(--brand-primary) 65%,white);--primary-subtle:color-mix(in srgb,var(--brand-primary) 16%,transparent);--shell-canvas:radial-gradient(900px 420px at 80% -8%,color-mix(in srgb,var(--brand-primary) 20%,transparent),transparent 65%),radial-gradient(700px 380px at 10% 110%,color-mix(in srgb,var(--brand-secondary) 10%,transparent),transparent 60%),var(--gray-950);--shell-side:radial-gradient(420px 320px at 0% 0%,color-mix(in srgb,var(--brand-primary) 35%,transparent),transparent 70%),linear-gradient(180deg,color-mix(in oklab,var(--brand-primary) 20%,#07060b) 0%,color-mix(in oklab,var(--brand-primary) 12%,#07060b) 55%,var(--gray-950) 100%);--shell-line:color-mix(in srgb,var(--brand-primary) 22%,transparent);--shell-ink:color-mix(in oklab,var(--brand-primary) 16%,#e5e7eb);--shell-group:color-mix(in oklab,var(--brand-primary) 40%,#cbd5e1);--shell-hover:rgb(255 255 255/0.05);--header-bg:color-mix(in srgb,var(--gray-950) 82%,transparent);--fold-bg:rgb(255 255 255/0.05);--menu-bg:var(--gray-900);--row-hover:rgb(255 255 255/0.04);--here-bg:var(--primary-subtle);--toggle-bg:color-mix(in srgb,var(--brand-primary) 15%,transparent);--toggle-on:color-mix(in oklab,var(--brand-primary) 22%,#1a1626);--surface:var(--gray-900);--text:#eef0f6;--muted:#a0a9b8;--line:color-mix(in oklab,var(--brand-primary) 16%,#312c3d);--warn-bg:#3a2c12;--warn-text:#f5d08a}*{box-sizing:border-box}body{margin:0;background:var(--shell-canvas);background-attachment:fixed;color:var(--text);font-family:var(--font-plex-thai),ui-sans-serif,system-ui,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2{font-family:var(--font-prompt),var(--font-plex-thai),sans-serif}a{text-decoration:none}a,button{color:inherit}button{border:0;background:none;font:inherit;padding:0;cursor:pointer}.shell{display:flex;min-height:100dvh}.shell-main{display:flex;flex:1 1;flex-direction:column;min-width:0}.shell-content{flex:1 1;min-width:0}.side-nav{display:flex;flex-direction:column;background:var(--shell-side);border-right:1px solid var(--shell-line)}.side-nav-rail{position:-webkit-sticky;position:sticky;top:0;display:none;flex-shrink:0;width:240px;height:100dvh;transition:width .3s cubic-bezier(.4,0,.2,1)}.side-nav-narrow{width:80px}@media (min-width:1024px){.side-nav-rail{display:flex}}@media (prefers-reduced-motion:reduce){.side-nav-rail{transition:none}}.side-nav-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:8px;height:64px;padding:0 12px 0 16px}.side-nav-header-narrow{justify-content:center;padding:0 8px}.side-nav-fold-row{display:flex;flex-shrink:0;justify-content:center;padding-bottom:8px}.logo{display:flex;align-items:center;gap:10px;min-width:0}.logo-mark{flex-shrink:0;width:40px;height:40px;object-fit:contain}.logo-fallback{display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));color:#fff;font-weight:600}.logo-text{min-width:0;line-height:1.15}.logo-wordmark{overflow:hidden;background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary));-webkit-background-clip:text;background-clip:text;color:transparent;font-size:18px;font-weight:700;letter-spacing:.025em;text-overflow:ellipsis;text-transform:uppercase}.logo-subtitle,.logo-wordmark{display:block;white-space:nowrap}.logo-subtitle{color:var(--shell-group);font-size:11px;font-weight:600;letter-spacing:.05em}.shell-nav-fold{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--shell-line);border-radius:6px;background:var(--fold-bg);color:var(--shell-ink-soft);transition:color .15s,background-color .15s}.shell-nav-fold-narrow{width:36px;height:36px}.shell-nav-fold:hover{background:var(--accent-soft);color:var(--primary)}html[data-mode=dark] .shell-nav-fold:hover{background:var(--shell-hover);color:#fff}.side-nav-scroll{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 12px 16px;scrollbar-width:thin}.shell-nav-title{margin:8px 0 6px;padding:0 10px;color:var(--shell-group);font-size:11px;font-weight:600;letter-spacing:.04em}.shell-nav-list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.shell-nav-row{display:flex;align-items:center;gap:10px;height:40px;padding:0 10px;border-radius:12px;color:var(--shell-ink);font-size:14px;font-weight:500}.shell-nav-row svg{color:var(--shell-ink-soft);flex-shrink:0}.shell-nav-row-narrow{justify-content:center;padding:0}.shell-nav-row:not(.shell-nav-row-active):hover{background:var(--shell-hover);color:var(--primary)}.shell-nav-row-active{background:var(--shell-active);box-shadow:0 8px 20px -8px var(--shell-active-glow),inset 0 1px 0 rgb(255 255 255/.18);color:#fff;font-weight:600}.shell-nav-row-active svg{color:#fff}.side-nav-footer{flex-shrink:0;padding:8px 12px 12px}.side-nav-footer-narrow{padding-inline:8px}.app-switcher-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border-radius:16px;background:radial-gradient(160px 90px at 100% 0,color-mix(in srgb,var(--brand-secondary) 45%,transparent),transparent 70%),linear-gradient(135deg,color-mix(in oklab,var(--brand-primary) 82%,black),var(--brand-primary) 55%,color-mix(in oklab,var(--brand-primary) 72%,var(--brand-secondary)));box-shadow:0 12px 28px -12px var(--shell-active-glow);color:#fff;transition:filter .15s}.app-switcher-btn:hover{filter:brightness(1.1)}.app-switcher-btn-narrow{justify-content:center;padding:8px}.app-switcher-icon{display:grid;flex-shrink:0;place-items:center;width:36px;height:36px;border-radius:12px;background:linear-gradient(145deg,color-mix(in oklab,var(--brand-primary) 30%,#13101c),#13101c);box-shadow:inset 0 0 0 1px rgb(255 255 255/.1)}.app-switcher-icon-on-brand{background:linear-gradient(145deg,rgb(7 6 11/.7),rgb(7 6 11/.45))}.app-switcher-text{flex:1 1;min-width:0;line-height:1.25;text-align:left}.app-switcher-name{display:block;font-size:14px;font-weight:600}.app-switcher-hint{display:block;color:rgb(255 255 255/.8);font-size:11px}.app-switcher-caret{flex-shrink:0;color:rgb(255 255 255/.8)}.app-switcher-menu{position:fixed;bottom:84px;left:12px;z-index:50;width:300px;max-width:calc(100vw - 24px);overflow:hidden;border:1px solid var(--shell-line);border-radius:16px;background:var(--menu-bg);box-shadow:0 24px 48px -16px rgb(15 23 42/.25)}.app-switcher-menu-narrow{bottom:12px;left:88px}.app-switcher-menu-head{padding:14px 16px 10px;background:radial-gradient(260px 120px at 0 0,color-mix(in srgb,var(--brand-primary) 14%,transparent),transparent 70%)}.app-switcher-menu-title{font-size:14px;font-weight:600}.app-switcher-menu-sub{margin-top:2px;color:var(--muted);font-size:11px}.app-switcher-menu-list{max-height:55vh;overflow-y:auto;padding:8px;border-top:1px solid var(--shell-line)}.app-switcher-row{display:flex;align-items:center;gap:12px;padding:8px;border-radius:12px;transition:background-color .15s}.app-switcher-row:hover{background:var(--row-hover)}.app-switcher-row-here,.app-switcher-row-here:hover{background:var(--here-bg)}.app-switcher-row-name{display:block;font-size:14px;font-weight:500}.app-switcher-row-desc{display:block;color:var(--muted);font-size:11px}.app-switcher-check{flex-shrink:0;color:var(--primary)}.app-switcher-img{width:60%;height:60%;object-fit:contain}.app-switcher-menu-group{padding:10px 8px 4px;color:var(--primary-deep);font-size:11px;font-weight:600}.app-switcher-menu-group-first{padding-top:2px}.app-switcher-note{padding:6px 8px;color:var(--muted);font-size:12px}.app-switcher-more{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-top:1px solid var(--shell-line);color:var(--primary-deep);font-size:12px;font-weight:500;transition:background-color .15s}.app-switcher-more:hover{background:var(--here-bg)}.header{position:-webkit-sticky;position:sticky;top:0;z-index:31;background:var(--header-bg);border-bottom:1px solid var(--shell-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--shell-strip);pointer-events:none}.header-wrapper{justify-content:space-between;height:64px;padding-inline:20px}.header-action,.header-wrapper{display:flex;align-items:center}.header-action{gap:8px}.header-menu-btn{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:var(--shell-ink-soft)}.header-menu-btn:hover{background:var(--shell-hover);color:var(--primary)}@media (min-width:1024px){.header-logo,.header-menu-btn{display:none}}.mode-toggle{display:flex;flex-shrink:0;gap:2px;padding:2px;border:1px solid var(--shell-line);border-radius:9999px;background:var(--toggle-bg)}.mode-toggle-btn{display:grid;place-items:center;width:32px;height:32px;border-radius:9999px;color:var(--shell-ink-soft);transition:color .15s,background-color .15s}.mode-toggle-btn:hover{color:var(--primary-deep)}.mode-toggle-btn[aria-pressed=true]{background:var(--toggle-on);box-shadow:0 1px 3px rgb(15 23 42/.12);color:var(--primary-deep)}.drawer{position:fixed;inset:0;z-index:40}.drawer-backdrop{position:absolute;inset:0;width:100%;background:rgb(0 0 0/.4)}.drawer-panel{position:absolute;inset:0 auto 0 0;width:288px;max-width:85vw;background-color:var(--surface);box-shadow:0 20px 40px rgb(15 23 42/.3)}@media (min-width:1024px){.drawer{display:none}}.page{max-width:1120px;margin:0 auto;padding:24px 16px 64px}@media (min-width:640px){.page{padding:32px 24px 64px}}h1{margin:0 0 8px;font-size:28px;font-weight:600}.note{margin:0;color:var(--muted);font-size:14px}.next{display:flex;flex-direction:column;gap:2px;margin-top:24px;padding:20px 24px;border-radius:16px;background:var(--shell-active);box-shadow:0 12px 28px -12px var(--shell-active-glow);color:#fff}.next-label{font-size:14px}.next strong{font-family:var(--font-prompt),var(--font-plex-thai),sans-serif;font-size:24px;font-weight:600}.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.years{display:flex;gap:8px}.years a{padding:6px 14px;border:1px solid var(--shell-line);border-radius:9999px;background:var(--surface);font-size:14px}.years a:hover{color:var(--primary)}.years a[aria-current=page]{border-color:transparent;background:var(--shell-active);color:#fff}.views{padding:3px;border:1px solid var(--shell-line);background:var(--surface)}.views,.views a{display:inline-flex;border-radius:9999px}.views a{align-items:center;gap:6px;padding:5px 14px;color:var(--muted);font-size:14px}.views a:hover{color:var(--primary)}.views a[aria-current=page]{background:var(--shell-active);color:#fff}.cal{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px;text-align:center}.cal th{padding:4px 0;color:var(--muted);font-size:11px;font-weight:500}.cal td{height:30px;padding:0;border-radius:8px}.cal-weekend{color:var(--muted)}.cal-holiday{background:var(--shell-active);color:#fff;font-weight:600;cursor:help}.cal-today{box-shadow:inset 0 0 0 2px var(--primary)}.month-list-compact{margin-top:8px!important}.month-list-compact li{padding:4px 0;font-size:13px}.month-list-compact .day{flex-basis:24px;font-size:14px}.month-list-compact .weekday{display:none}.warning{margin:16px 0 0;padding:12px 16px;border-radius:8px;background:var(--warn-bg);color:var(--warn-text);font-size:14px}.months{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));grid-auto-rows:1fr;grid-gap:16px;gap:16px;margin-top:24px}.month{display:flex;flex-direction:column;padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 1px 2px rgb(15 23 42/.04),0 1px 3px rgb(15 23 42/.06)}.month-head{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.month h2{margin:0;font-size:18px;font-weight:600}.month-empty{margin:8px 0 0;color:var(--muted);font-size:13px}.month-add{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--shell-line);border-radius:9px;color:var(--primary);transition:background-color .15s}.month-add:hover,.month-add[aria-expanded=true]{background:var(--here-bg)}.month-add-form{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:4px}.month-add-form input{height:36px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:inherit;font:inherit;font-size:14px}.month-add-form input:focus-visible{border-color:var(--primary);outline:2px solid var(--primary-subtle)}.month-add-actions{display:flex;gap:8px}.month:has(>.month-head .month-add-form)>:is(ul,.cal,.month-empty){display:none}.month ul{margin:0;padding:0;list-style:none}.month li{display:flex;gap:12px;padding:8px 0}.month li+li{border-top:1px solid var(--line)}.month li{position:relative;align-items:flex-start}.month li.past :is(.day,.title,.weekday){opacity:.55}.month li .detail{flex:1 1}.row-actions{position:absolute;top:6px;right:0;display:flex;gap:2px;padding-left:8px;background:var(--surface);box-shadow:-12px 0 12px -4px var(--surface);opacity:0;transition:opacity .15s}.month li:hover .row-actions,.row-actions:focus-within{opacity:1}@media (hover:none){.row-actions{opacity:1}}.row-action{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;color:var(--muted)}.row-action:hover{background:var(--here-bg);color:var(--primary)}.row-action-danger:hover{color:#dc2626}.row-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:13px}.btn-danger{background:#dc2626;color:#fff}.btn-danger:disabled{opacity:.5}.holiday-row-editing{display:block!important}.holiday-row-editing .month-add-form{margin-top:0}.day{flex:0 0 32px;color:var(--primary);font-size:22px;font-weight:600;line-height:1.2;text-align:right}.detail{display:flex;flex-direction:column;min-width:0}.title{font-weight:500}.weekday{color:var(--muted);font-size:13px}.panel{padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 1px 2px rgb(15 23 42/.04),0 1px 3px rgb(15 23 42/.06)}.panel h2{margin:0;font-size:18px;font-weight:600}.balance-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));grid-gap:16px;gap:16px;margin-top:24px}.balance{display:flex;flex-direction:column}.balance h3{margin:0;font-size:16px;font-weight:600}.balance-hint{margin:auto 0 0;padding-top:8px;color:var(--muted);font-size:12px;font-weight:400}.field .balance-hint{padding-top:0}.leave-group{margin-top:28px}.leave-group .balance-grid{margin-top:12px}.leave-group-title{margin:16px 0 0;color:var(--primary-deep);font-size:14px;font-weight:600}.balance-value{margin:8px 0 0;color:var(--muted);font-size:36px;font-weight:600;line-height:1.2}.empty{margin-top:16px;padding-block:40px;text-align:center}.empty .note{margin-top:4px}.form-section{margin-top:16px}.person-add{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.person-add,.person-empty{margin-top:12px}.person-list{margin:12px 0 0;padding:0;list-style:none}.person{padding:12px 0;border-top:1px solid var(--line)}.person-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.person-toggle{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.person-email{font-weight:500}.save-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}.field select{height:40px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:inherit;font:inherit;font-size:14px}.quota-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));grid-gap:16px;gap:16px;margin-top:12px}.field{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:500}.field-grow{flex:1 1 220px}.field input{width:100%;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-weight:400}.field input:focus-visible{border-color:var(--primary);outline:2px solid var(--primary-subtle)}.field-error{margin:8px 0 0;color:#dc2626;font-size:13px}html[data-mode=dark] .field-error{color:#fca5a5}.btn{height:40px;padding:0 16px;border-radius:10px;font-size:14px;font-weight:500}.btn-primary{background:var(--shell-active);color:#fff}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{border:1px solid var(--shell-line);background:var(--surface);color:var(--primary-deep)}.btn-secondary:hover{background:var(--here-bg)}.btn-link{color:var(--muted);font-size:13px}.btn-link:hover{color:#dc2626}.btn-small{display:inline-flex;align-items:center;height:34px;padding:0 14px;font-size:13px;text-decoration:none}.user-area{gap:12px;min-width:0}.user-name{max-width:180px;overflow:hidden;color:var(--shell-ink-soft);font-size:14px;text-overflow:ellipsis;white-space:nowrap}@media (max-width:640px){.user-name{display:none}}.source-note{margin-top:8px}