@font-face{font-family:Kanit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/876b05e81fb36bf6-s.p.3-cnw-vwwbh1_.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Kanit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5128e7653d6f3744-s.1858_xfzcanvy.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Kanit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/07bc3d3e69c8b6e8-s.0h71b1gd0-8_7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Kanit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/118b6ed7ac256a99-s.p.3btzg3pbxiu1o.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:Kanit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a244653d74e7372f-s.p.3zj8sbbtpwle6.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Kanit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7ff43f20b4a94066-s.2oiv5hw7w39w8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Kanit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d5ac005905e340fc-s.24ikpou2wpz2l.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Kanit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c750adf2ddf22b70-s.p.1j3epi4sx1jkp.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:Kanit;font-style:normal;font-weight:800;font-display:swap;src:url(../media/5cd84bccd140a27e-s.p.3qn7s-j_rzsfw.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Kanit;font-style:normal;font-weight:800;font-display:swap;src:url(../media/76724868bba90169-s.29fxwetao4wg9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Kanit;font-style:normal;font-weight:800;font-display:swap;src:url(../media/affb3a7a977decf3-s.1l6j2miq2xkli.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Kanit;font-style:normal;font-weight:800;font-display:swap;src:url(../media/5db3af44c16866f3-s.p.2mye7a10bd_rx.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:Kanit Fallback;src:local(Arial);ascent-override:108.49%;descent-override:38.96%;line-gap-override:0.0%;size-adjust:101.39%}.kanit_8933c712-module___Z0JZW__className{font-family:Kanit,Kanit Fallback;font-style:normal}.kanit_8933c712-module___Z0JZW__variable{--font-kanit:"Kanit", "Kanit Fallback"}
@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/bfd813093b8ca1bb-s.p.3ok2djvs6w93k.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/acc5f86302586f33-s.1ttn5ge0anb6a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Noto Sans Thai;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/f304c3cf3765fb5f-s.p.0h0-3wqrkgcb1.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:Noto Sans Thai;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/bfd813093b8ca1bb-s.p.3ok2djvs6w93k.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/acc5f86302586f33-s.1ttn5ge0anb6a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Noto Sans Thai;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/f304c3cf3765fb5f-s.p.0h0-3wqrkgcb1.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:Noto Sans Thai;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/bfd813093b8ca1bb-s.p.3ok2djvs6w93k.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/acc5f86302586f33-s.1ttn5ge0anb6a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Noto Sans Thai;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/f304c3cf3765fb5f-s.p.0h0-3wqrkgcb1.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:Noto Sans Thai Fallback;src:local(Arial);ascent-override:99.79%;descent-override:42.32%;line-gap-override:0.0%;size-adjust:106.33%}.noto_sans_thai_8847b1d9-module__XsywMW__className{font-family:Noto Sans Thai,Noto Sans Thai Fallback;font-style:normal}.noto_sans_thai_8847b1d9-module__XsywMW__variable{--font-noto-sans-thai:"Noto Sans Thai", "Noto Sans Thai Fallback"}
@font-face{font-family:Share Tech Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c9bd7381a27f2960-s.p.217_69px1-ccy.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:Share Tech Mono Fallback;src:local(Arial);ascent-override:73.06%;descent-override:19.98%;line-gap-override:0.0%;size-adjust:121.13%}.share_tech_mono_5186f682-module__FY-dna__className{font-family:Share Tech Mono,Share Tech Mono Fallback;font-style:normal;font-weight:400}.share_tech_mono_5186f682-module__FY-dna__variable{--font-share-tech-mono:"Share Tech Mono", "Share Tech Mono Fallback"}
@font-face{font-family:Chango;font-style:normal;font-weight:400;font-display:swap;src:url(../media/15b2686ebb36c529-s.00jx4o1fzdsz6.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Chango;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ff350d686d479b80-s.p.1lsectbo--ugs.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:Chango Fallback;src:local(Arial);ascent-override:64.66%;descent-override:14.04%;line-gap-override:0.0%;size-adjust:153.88%}.chango_d20d5cfb-module__MRnGDa__className{font-family:Chango,Chango Fallback;font-style:normal;font-weight:400}.chango_d20d5cfb-module__MRnGDa__variable{--font-chango:"Chango", "Chango Fallback"}
:root{--font-display:var(--font-kanit), sans-serif;--font-body:var(--font-noto-sans-thai), sans-serif;--font-mono:var(--font-share-tech-mono), monospace;--bg-base:#fbf6ea;--bg-deep:#f3ebd3;--surface-1:#fff;--surface-2:#fdf7ec;--surface-3:#f3ebd3;--surface:#fff;--border:#7a4a282e;--border-strong:#7a4a2857;--text:#2a1a12;--text-muted:#6a5140;--text-dim:#7a6350;--accent:#ff7a1a;--accent-bright:#ff9a4d;--accent-deep:#a8320f;--accent-glow:#ff7a1a59;--accent-2:#17bedb;--accent-2-deep:#0a6e7e;--success:#0f6b45;--warning:#8a5000;--danger:#b3123b;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:24px;--r-pill:999px;--sh-card:0 12px 32px -16px #783e1438;--sh-raised:0 20px 50px -20px #783e144d;--sh-glow:0 0 0 4px var(--accent-glow);--sh-glow-lg:0 10px 30px -8px var(--accent-glow);--dur-fast:.12s;--dur:.2s;--dur-slow:.32s;--ease:cubic-bezier(.2, .7, .2, 1)}.workspace-page{background:var(--bg-base);max-width:1040px;min-height:100vh;color:var(--text);margin:0 auto;padding:clamp(1rem,4vw,3rem)}.workspace-page header{margin-bottom:1.5rem}.workspace-subnav{background:var(--bg-base);flex-wrap:wrap;gap:.5rem;max-width:1040px;margin:0 auto;padding:clamp(1rem,4vw,3rem) clamp(1rem,4vw,3rem) 0;font-size:.85rem;display:flex}.workspace-subnav a{color:var(--accent-deep);text-decoration:none}.workspace-subnav a:hover,.workspace-subnav a:focus-visible{color:var(--accent-bright)}.workspace-menu{background:var(--bg-base);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:1040px;margin:0 auto;padding:clamp(1rem,4vw,3rem) clamp(1rem,4vw,3rem) 0;display:grid}.workspace-menu-item{border:1px solid var(--border-strong);border-radius:var(--r-lg);min-height:6.5rem;color:var(--text);box-shadow:var(--sh-card);transition:transform var(--dur) var(--ease), border-color var(--dur) var(--ease), background var(--dur) var(--ease);flex-direction:column;justify-content:center;gap:.3rem;padding:1.1rem 1.25rem;text-decoration:none;display:flex}.workspace-menu-item:hover{border-color:var(--accent-deep);background:var(--surface-2);transform:translateY(-2px)}.workspace-menu-item:focus-visible{outline:3px solid var(--accent-bright);outline-offset:3px}.workspace-menu-item-primary{background:linear-gradient(135deg, #ff7a1a29, var(--surface-1))}.workspace-menu-item-secondary{background:linear-gradient(135deg, #17bedb2e, var(--surface-1))}.workspace-menu-label{font:700 1.15rem var(--font-display)}.workspace-menu-description{color:var(--text-muted);font-size:.9rem}.theme-picker{border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface-1);gap:.75rem;padding:1rem;display:grid}.theme-picker legend{color:var(--text);padding:0 .35rem;font-weight:800}.theme-picker-hint{color:var(--text-muted);font-size:.9rem}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:.55rem;max-height:25rem;padding:.15rem;display:grid;overflow:auto}.theme-option{text-align:left;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);min-height:5.25rem;color:var(--text);font:inherit;cursor:pointer;gap:.2rem;padding:.65rem;display:grid}.theme-option:hover,.theme-option-selected{border-color:var(--accent-deep);box-shadow:0 0 0 2px var(--accent-glow)}.theme-option strong{font-size:.86rem}.theme-option small{color:var(--text-muted);font-size:.72rem}.theme-swatches{gap:.25rem;display:flex}.theme-swatches i{border:1px solid #2a1a1238;border-radius:50%;width:1.1rem;height:1.1rem}.theme-palette-bar{gap:0;width:100%}.theme-palette-bar i{border-color:#0000;border-radius:0;flex:1;width:auto;height:1.35rem}.theme-palette-bar i:first-child{border-radius:.3rem 0 0 .3rem}.theme-palette-bar i:last-child{border-radius:0 .3rem .3rem 0}.theme-custom-fields{gap:.55rem;display:grid}.theme-custom-fields p{color:var(--text-muted);margin:0;font-size:.85rem}.theme-token-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:.55rem;display:grid}.theme-token-grid label{color:var(--text-muted);justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.theme-preview{border-radius:var(--r-lg);color:var(--text);background:var(--bg-base);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);gap:.8rem;padding:1rem;display:grid}.theme-preview-top{font:700 .75rem var(--font-mono);letter-spacing:.12em;justify-content:space-between;align-items:center;display:flex}.theme-preview-pill{color:#2a1a12;background:var(--accent-bright);border-radius:999px;padding:.2rem .5rem;font-size:.65rem}.theme-preview-card{border-radius:var(--r-md);background:var(--surface-1);gap:.2rem;padding:1rem;display:grid}.theme-preview-card small{color:var(--text-muted);letter-spacing:.12em;font-size:.65rem}.theme-preview-card strong{font:700 1.35rem var(--font-display)}.theme-preview-card span{color:var(--text-muted);font-size:.8rem}.theme-preview-card button{border-radius:var(--r-md);color:#2a1a12;background:var(--accent);font:inherit;cursor:pointer;border:0;justify-self:start;margin-top:.55rem;padding:.45rem .8rem}.theme-preview-bars{grid-template-columns:repeat(4,1fr);gap:.35rem;display:grid}.theme-preview-bars i{background:var(--accent);border-radius:99px;height:.35rem}.theme-preview-bars i:nth-child(2){background:var(--accent-bright)}.theme-preview-bars i:nth-child(3){background:var(--accent-deep)}.theme-preview-bars i:nth-child(4){background:var(--surface-3)}.theme-custom-fields input{width:2.5rem;height:2rem;padding:0}.workspace-kicker{color:var(--accent-deep);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;font-weight:800}.workspace-card,.workspace-alert,.workspace-notice,.workspace-message{border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface-1);box-shadow:var(--sh-card);margin:1rem 0;padding:1.25rem}.workspace-alert{background:#b3123b0f;border-color:#b3123b66}.workspace-notice{background:#17bedb1f;border-color:#0a6e7e66}.workspace-message{background:#0f6b4512;border-color:#0f6b4566}.workspace-form,.workspace-card form{gap:1rem;display:grid}.workspace-form label,.workspace-card label{color:var(--text-muted);gap:.4rem;font-weight:700;display:grid}.workspace-form input,.workspace-form textarea,.workspace-card input,.workspace-card textarea,.workspace-card select{font:inherit;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-1);color:var(--text);padding:.7rem}.workspace-form input:focus,.workspace-form textarea:focus,.workspace-form select:focus,.workspace-card input:focus,.workspace-card textarea:focus,.workspace-card select:focus{border-color:var(--accent-deep);box-shadow:0 0 0 2px var(--accent-glow);outline:none}.workspace-list{gap:.6rem;margin-top:1rem;display:grid}.workspace-list button,.workspace-list a{text-align:left;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);font:inherit;color:inherit;transition:border-color var(--dur) var(--ease);flex-direction:column;padding:1rem;text-decoration:none;display:flex}.workspace-list button:hover,.workspace-list a:hover{border-color:var(--border-strong)}.workspace-list button:focus-visible,.workspace-card button:focus-visible,.workspace-list a:focus-visible{outline:3px solid var(--accent-deep);outline-offset:2px}.admin-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}@media (max-width:600px){.admin-row{flex-direction:column;align-items:flex-start}.workspace-page{padding:1rem}.workspace-menu{grid-template-columns:1fr;padding:1rem 1rem 0}}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-base);width:100%;min-height:100%;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;scroll-behavior:smooth;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:15px;line-height:1.55}.theme-root{background:var(--bg-base);min-height:100vh;color:var(--text);transition:background-color .25s,color .25s}.auth-panel{color:var(--text);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--r-lg);gap:.8rem;padding:1.25rem;display:grid}.auth-panel label{color:var(--text);gap:.35rem;display:grid}.auth-panel input{width:100%;color:var(--text);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:.75rem}.auth-panel input::placeholder{color:var(--text-dim)}.auth-button{color:#2a1a12;background:var(--accent);border:1px solid var(--accent-bright);border-radius:var(--r-md);font:600 1rem var(--font-body);cursor:pointer;padding:.75rem 1rem}.auth-button:hover:not(:disabled){background:var(--accent-bright)}.auth-button:disabled{color:var(--text-dim);background:var(--surface-2);border-color:var(--border);cursor:not-allowed}.auth-button-line{color:#fff;background:#0f6b45;border-color:#2e9b6c}.auth-button-secondary{color:var(--text);background:var(--surface-1);border-color:var(--border-strong)}.auth-status{color:var(--text);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:1rem}.auth-status-pending{color:#6b3f00;border-color:var(--warning);background:#ff9a4d2e}.auth-status-rejected,.auth-error{color:var(--danger);border-color:var(--danger);background:#b3123b12}.auth-callback{background:var(--bg-base);min-height:100vh;color:var(--text);place-items:center;padding:1rem;display:grid}.auth-identities{color:var(--text-muted)}.auth-page{width:min(100% - 2rem,34rem);min-height:calc(100vh - 4rem);color:var(--text);background:var(--bg-base);align-content:center;margin:0 auto;display:grid}.role-navigation{z-index:30;min-height:4rem;color:var(--text);border-bottom:1px solid var(--border-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbf6eaeb;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem clamp(1rem,3vw,2.5rem);display:flex;position:sticky;top:0}.role-navigation-brand{color:var(--accent-deep);font:700 1.25rem var(--font-heading);text-decoration:none}.role-tabs{scrollbar-width:thin;justify-content:flex-end;align-items:center;gap:.5rem;min-width:0;display:flex;overflow-x:auto}.role-tab,.role-login-link{color:var(--text-muted);white-space:nowrap;border:1px solid #0000;border-radius:999px;flex:none;padding:.58rem .9rem;text-decoration:none}.role-tab:hover,.role-tab:focus-visible{color:var(--text);border-color:var(--border-strong);background:var(--surface-1)}.role-tab[aria-current=page],.role-login-link{color:#2a1a12;background:var(--accent-bright);border-color:var(--accent-deep);font-weight:700}.role-tab:focus-visible,.role-login-link:focus-visible,.role-navigation-brand:focus-visible{outline:3px solid var(--accent-deep);outline-offset:3px}.role-navigation-loading{color:var(--text-muted);white-space:nowrap}.organizer-entry{align-content:start;gap:.75rem;padding-top:clamp(3rem,8vw,7rem)}@media (max-width:44rem){.role-navigation{flex-direction:column;align-items:flex-start;gap:.45rem}.role-tabs{justify-content:flex-start;width:100%;padding-bottom:.2rem}}a:not([class]){color:var(--accent-deep);text-underline-offset:2px;text-decoration:underline}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:#7a4a2838;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#7a4a2866}:focus-visible{box-shadow:var(--sh-glow);outline:none}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important;transform:none!important}}.bg-glow{z-index:-1;background:radial-gradient(circle at 10% 20%, #ff7a1a1a 0%, transparent 50%), radial-gradient(circle at 90% 80%, #17bedb1a 0%, transparent 50%), var(--bg-base);pointer-events:none;position:fixed;inset:0}.app-container{max-width:1200px;min-height:100vh;margin:0 auto;padding:2rem 1rem 8rem}.stepper{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;margin:2rem 0;display:flex}.step{color:var(--text-muted);transition:color var(--dur) var(--ease);align-items:center;gap:.5rem;font-weight:500;display:flex}.step.active{color:var(--text);font-weight:600}.step-num{background:var(--surface-1);border:1px solid var(--border);width:28px;height:28px;font-size:.85rem;font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.step.active .step-num{background:var(--accent);border-color:var(--accent-deep);color:#2a1a12;box-shadow:var(--sh-glow)}.step-line{background:var(--border);width:48px;height:1px}.booking-grid{grid-template-columns:1fr;gap:2rem;display:grid}@media (min-width:1024px){.booking-grid{grid-template-columns:2.8fr 1.2fr}}.glass-panel{-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-card);transition:border-color var(--dur) var(--ease), transform var(--dur) var(--ease);background:#ffffffc7}.glass-panel.interactive:hover{border-color:var(--border-strong);transform:translateY(-2px)}.sidebar{flex-direction:column;gap:1.5rem;display:flex}.widget{padding:1.5rem}.widget-title{font-family:var(--font-display);justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:1.2rem;font-weight:600;display:flex}.btn{font-family:var(--font-body);cursor:pointer;transition:all var(--dur-fast) var(--ease);border:none;justify-content:center;align-items:center;gap:.5rem;font-weight:600;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:linear-gradient(180deg, var(--accent) 0%, var(--accent-deep) 100%);color:#2a1a12;border-radius:var(--r-md);box-shadow:var(--sh-glow-lg)}.btn-primary:hover:not(:disabled){background:var(--accent-bright);box-shadow:0 12px 35px -8px var(--accent-glow)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-secondary{border:1px solid var(--border-strong);color:var(--text);border-radius:var(--r-md);background:0 0}.btn-secondary:hover{background:var(--surface-2)}.btn-md{padding:12px 20px;font-size:.95rem}.btn-lg{padding:14px 22px;font-size:1rem}.btn-sm{border-radius:var(--r-sm);padding:8px 12px;font-size:.85rem}.navbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:100;background:#fbf6eadb;justify-content:space-between;align-items:center;gap:.75rem;padding:1.2rem 2rem;display:flex;position:sticky;top:0}.nav-logo,.user-menu{flex:none}.nav-logo{transition:opacity var(--dur) var(--ease);align-items:center;gap:.5rem;text-decoration:none;display:flex}.nav-logo:hover{opacity:.85}.nav-logo-chip{border-radius:var(--r-pill);background:var(--surface-1);border:1px solid var(--border);box-shadow:var(--sh-card);align-items:center;padding:.25rem .6rem;display:inline-flex}.nav-logo-img{object-fit:contain;width:auto;height:40px}.nav-menu{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;flex:auto;align-items:center;gap:1.5rem;min-width:0;margin:0;padding:0 .25rem;list-style:none;display:flex;overflow:auto hidden}.nav-menu::-webkit-scrollbar{display:none}.nav-menu>li{scroll-snap-align:start}.nav-link{color:var(--text-muted);transition:color var(--dur) var(--ease);cursor:pointer;white-space:nowrap;padding:.3rem 0;font-weight:500;text-decoration:none;display:inline-block}.nav-link:hover,.nav-link.active{color:var(--accent-deep)}.nav-link:focus-visible{outline:2px solid var(--accent-2-deep);outline-offset:3px;border-radius:var(--r-sm)}@media (max-width:640px){.navbar{gap:.5rem;padding:.7rem .75rem}.nav-logo-img{height:36px}.nav-logo-chip{padding:.2rem .45rem}.nav-menu{gap:1rem}.nav-link{font-size:.92rem}}.user-menu{display:flex;position:relative}.user-menu-button{border-radius:var(--r-pill);width:38px;height:38px;color:var(--text-muted);background:var(--surface-1);border:1px solid var(--border);cursor:pointer;transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease), background var(--dur) var(--ease);justify-content:center;align-items:center;display:flex}.user-menu-button:hover,.user-menu-button[aria-expanded=true]{color:var(--accent-deep);border-color:var(--border-strong);background:var(--surface-2)}.user-menu-button:focus-visible{box-shadow:var(--sh-glow);outline:none}.user-menu-loading{border-radius:var(--r-pill);border:1px solid var(--border);opacity:.5;width:38px;height:38px;display:inline-block}.user-menu-panel{z-index:110;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-md);min-width:200px;box-shadow:var(--sh-raised);gap:.15rem;padding:.4rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0}.user-menu-panel a{border-radius:var(--r-sm);color:var(--text);white-space:nowrap;padding:.6rem .7rem;font-size:.9rem;text-decoration:none}.user-menu-panel a:hover,.user-menu-panel a:focus-visible,.user-menu-panel a[aria-current=page]{background:var(--surface-3);color:var(--accent-deep);outline:none}.hero-card{border-radius:var(--r-xl);height:480px;box-shadow:var(--sh-raised);background-position:50%;background-size:cover;flex-direction:column;justify-content:flex-end;margin:2rem 0;padding:3rem;display:flex;position:relative;overflow:hidden}.hero-overlay{z-index:1;background:linear-gradient(#0000 0%,#2a1a1273 40%,#2a1a12eb 100%);position:absolute;inset:0}.hero-content{z-index:2;color:#fdf7ec;max-width:600px;position:relative}.hero-eyebrow{font-family:var(--font-mono);color:#ffb877;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem;display:block}.hero-title{font-family:var(--font-display);color:#fff8ea;margin-bottom:1rem;font-size:2.8rem;font-weight:700;line-height:1.1}.hero-desc{color:#fdf7ecd9;margin-bottom:1.5rem;font-size:1.05rem}.events-section{padding:3rem 0}.events-title{font-family:var(--font-display);margin-bottom:1.5rem;font-size:1.8rem;font-weight:600}.events-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;display:grid}.event-card{border-radius:var(--r-lg);flex-direction:column;height:100%;display:flex;overflow:hidden}.event-card-img{background-position:50%;background-size:cover;height:200px;position:relative}.event-card-overlay{background:linear-gradient(to top, var(--bg-base) 0%, #fbf6ea00 100%);position:absolute;inset:0}.event-card-body{flex-direction:column;flex-grow:1;justify-content:space-between;padding:1.5rem;display:flex}.event-card-title{font-family:var(--font-display);margin-bottom:.5rem;font-size:1.4rem;font-weight:600}.event-card-desc{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem}.event-meta{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.event-meta-item{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.event-meta-item strong{font-family:var(--font-mono);color:var(--warning)}.layout-container{width:100%;overflow:auto}.seating-svg{width:100%;height:auto;display:block}.table-node{cursor:pointer;outline:none}.table-node .table-shape{transition:all var(--dur) var(--ease);stroke-width:2px}.table-node .table-label{font-family:var(--font-mono);text-anchor:middle;dominant-baseline:central;fill:var(--text);pointer-events:none;font-size:13px;font-weight:700}.table-node.available .table-shape{fill:#ff7a1a1a;stroke:#a8320f8c}.table-node.available:hover .table-shape{fill:#ff7a1a38;stroke:var(--accent-deep);stroke-width:3px}.table-node.selected .table-shape{fill:var(--accent);stroke:var(--accent-deep);stroke-width:3px;filter:drop-shadow(0 0 8px var(--accent-glow))}.table-node.held .table-shape{fill:#ff9a4d3d;stroke:var(--warning);cursor:not-allowed}.table-node.occupied .table-shape{fill:var(--surface-2);stroke:var(--text-dim);opacity:.55;cursor:not-allowed}.table-node.occupied .table-label{fill:var(--text-dim)}.legend{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-bottom:1.5rem;font-size:.85rem;display:flex}.legend-item{align-items:center;gap:.5rem;display:flex}.legend-dot{border-radius:50%;width:12px;height:12px}.legend-dot.available{border:1px solid var(--accent-deep);background:#ff7a1a2e}.legend-dot.selected{background:var(--accent);border:1px solid var(--accent-deep)}.legend-dot.held{border:1px solid var(--warning);background:#ff9a4d4d}.legend-dot.occupied{background:var(--surface-2);border:1px solid var(--text-dim);opacity:.7}.sticky-cart-bar{-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border);z-index:90;background:#fbf6eae6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 2rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 40px #783e142e}.cart-info{align-items:center;gap:1.5rem;display:flex}.cart-total-price{font-family:var(--font-display);color:var(--text);font-size:1.6rem;font-weight:700}.cart-line-items{flex-direction:column;display:flex}.cart-line-item{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:.9rem 0;display:flex}.cart-line-item:first-child{padding-top:0}.cart-line-item:last-child{border-bottom:none}.cart-line-item-info{flex-direction:column;gap:.25rem;min-width:0;display:flex}.cart-line-item-name{font-family:var(--font-display);color:var(--text);font-size:1.1rem;font-weight:700}.cart-line-item-meta{font-family:var(--font-mono);color:var(--text-muted);font-size:.8rem}.cart-line-item-price{font-family:var(--font-mono);color:var(--warning);white-space:nowrap;flex-shrink:0;align-items:center;gap:.75rem;font-size:1.15rem;font-weight:700;display:flex}.cart-line-item-remove{cursor:pointer;color:var(--danger);font-size:1.2rem;font-weight:700;line-height:1}.cart-line-item-remove:hover{opacity:.75}.cart-actions{align-items:center;gap:1rem;display:flex}.countdown-timer{font-family:var(--font-mono);color:var(--warning);border-radius:var(--r-sm);background:#ff9a4d29;border:1px solid #a8320f73;align-items:center;gap:.4rem;padding:6px 12px;font-size:1rem;display:flex}.countdown-timer.critical{color:var(--danger);background:#b3123b14;border-color:#b3123b59;animation:1s infinite alternate pulse}@keyframes pulse{0%{opacity:.7}to{opacity:1}}.status-banner{border-radius:var(--r-md);border:1px solid;align-items:center;gap:.6rem;padding:.85rem 1rem;font-size:.88rem;display:flex}.status-banner-error{color:var(--danger);background:#b3123b12;border-color:#b3123b59}.status-banner-success{color:var(--success);background:#0f6b4512;border-color:#0f6b4552}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-muted);margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.form-control{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--text);font-family:var(--font-body);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:.8rem 1.1rem;font-size:.95rem}.form-control:focus{border-color:var(--accent-deep);background:var(--surface-1);box-shadow:0 0 0 2px var(--accent-glow);outline:none}.form-error{color:var(--danger);margin-top:.4rem;font-size:.8rem}.guests-stepper{align-items:center;gap:.5rem;display:flex}.stepper-btn{background:var(--surface-3);border:1px solid var(--border);color:var(--text);border-radius:var(--r-sm);cursor:pointer;width:38px;height:38px;transition:background var(--dur-fast);justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex}.stepper-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.stepper-val{font-family:var(--font-mono);text-align:center;width:40px;font-size:1.1rem}.stepper-input{font-family:var(--font-mono);text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);width:48px;color:var(--text);-moz-appearance:textfield;padding:8px 4px;font-size:1.1rem}.stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper-input:focus{border-color:var(--accent-deep);box-shadow:0 0 0 2px var(--accent-glow);outline:none}.stepper-input:disabled{opacity:.5}.promptpay-card{flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;display:flex}.promptpay-header-img{object-fit:contain;height:32px}.qr-container{border-radius:var(--r-md);box-shadow:var(--sh-raised);background:#fff;justify-content:center;align-items:center;padding:1.2rem;display:flex;position:relative}.qr-badge{background:var(--warning);color:#fff;font-size:.65rem;font-family:var(--font-mono);border-radius:4px;padding:2px 6px;font-weight:700;position:absolute;top:8px;right:8px}.ticket-wrapper{justify-content:center;margin:2rem 0;display:flex}.ticket-card{border-radius:var(--r-xl);background:linear-gradient(180deg, var(--surface-1) 0%, var(--bg-deep) 100%);border:1px solid var(--border);width:100%;max-width:450px;box-shadow:var(--sh-raised);position:relative}.ticket-radial-glow{pointer-events:none;background:radial-gradient(circle at 50% 0,#ff7a1a33 0%,#0000 70%);height:120px;position:absolute;top:0;left:0;right:0}.ticket-header{text-align:center;padding:2rem 2rem 1.5rem;position:relative}.ticket-eyebrow{font-family:var(--font-mono);color:var(--accent-deep);letter-spacing:.15em;text-transform:uppercase;font-size:.75rem}.ticket-title{font-family:var(--font-display);margin-top:.5rem;font-size:1.6rem;font-weight:700}.ticket-divider{justify-content:space-between;align-items:center;height:24px;margin:0;display:flex;position:relative}.ticket-punch{background:var(--bg-base);z-index:5;border-radius:50%;width:24px;height:24px;position:absolute}.ticket-punch-l{border-right:1px solid var(--border);left:-12px}.ticket-punch-r{border-left:1px solid var(--border);right:-12px}.ticket-dash{border-bottom:2px dashed var(--border-strong);width:100%}.ticket-body{flex-direction:column;gap:1.5rem;padding:1.5rem 2rem 2rem;display:flex}.ticket-qr-container{flex-direction:column;align-items:center;gap:.5rem;display:flex}.ticket-qr-box{border-radius:var(--r-md);background:#fff;justify-content:center;align-items:center;padding:1rem;display:flex}.ticket-code{font-family:var(--font-mono);color:var(--accent-deep);text-align:center;letter-spacing:.05em;font-size:1.4rem;font-weight:700}.ticket-line-badge{color:var(--success);border-radius:var(--r-md);background:#0f6b4514;border:1px solid #0f6b454d;justify-content:center;align-items:center;gap:.5rem;padding:8px 12px;font-size:.85rem;font-weight:600;display:flex}.search-container{max-width:600px;margin:3rem auto;padding:2.5rem}.search-results{flex-direction:column;gap:2rem;margin-top:2rem;display:flex}.static-section{margin:2rem 0;padding:4rem 2rem}.static-title{font-family:var(--font-display);text-align:center;margin-bottom:1.5rem;font-size:2.2rem;font-weight:700}.static-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:2.5rem;display:grid}.live-pill{border:1px solid var(--success);color:var(--success);font-family:var(--font-mono);border-radius:var(--r-sm);align-items:center;gap:.4rem;padding:4px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.live-dot{background:var(--success);border-radius:50%;width:6px;height:6px;animation:1.2s infinite alternate pulse-live}@keyframes pulse-live{0%{opacity:.3}to{opacity:1}}.eyebrow-container{text-align:center;margin-bottom:1rem}.eyebrow{font-family:var(--font-mono);color:var(--accent-deep);letter-spacing:.15em;text-transform:uppercase;font-size:.8rem}.page-title{font-family:var(--font-display);text-align:center;margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.page-subtitle{color:var(--text-muted);text-align:center;margin-bottom:3rem;font-size:1.05rem}.account-page{max-width:1080px;color:var(--text);margin:0 auto;padding:clamp(2rem,6vw,5rem) 1rem}.account-page>header{margin-bottom:1.5rem}.account-kicker{color:var(--accent-deep);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:800}.account-tabs{border-bottom:1px solid var(--border);gap:.4rem;margin-bottom:1.5rem;display:flex;overflow-x:auto}.account-tabs button{color:var(--text-muted);white-space:nowrap;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:.8rem 1rem}.account-tabs button[aria-selected=true]{color:var(--text);border-color:var(--accent-deep)}.account-tabs button:focus-visible{outline:3px solid var(--accent-deep);outline-offset:2px}.account-panel{gap:1rem;display:grid}.account-ticket{border:1px solid var(--border);background:var(--surface);border-radius:16px;justify-content:space-between;gap:1.5rem;padding:1.25rem;display:flex}.account-qr{text-align:center;justify-items:center;gap:.4rem;max-width:180px;font-size:.72rem;display:grid}.account-qr img{background:#fff;padding:5px}.account-empty,.account-message{border:1px solid var(--border);border-radius:12px;padding:1rem}.account-panel form{gap:1rem;max-width:520px;display:grid}.account-panel label{gap:.4rem;display:grid}.account-panel input{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);border-radius:8px;padding:.7rem}@media (max-width:620px){.account-ticket{flex-direction:column}.account-qr{justify-self:center}}
