:root{--bg:#101113;--surface:#17181a;--surface-raised:#1d1f22;--border:#2c2e32;--divider:#242629;--text:#f2f2f0;--text-muted:#9a9c9e;--text-secondary:#c9cbcd;--border-strong:#3a3d42;--control-mark:#4a4d52;--needs-answer:#6e7174;--select-fill:#2a2e1e;--select-border:#5c6535;--tap-min:48px;--accent:#c4e84d;--accent-hover:#d6f573;--on-accent:#101113;--map-gym:#e8e9ea;--map-origin:#c4e84d;--radius:6px;--radius-md:8px;--radius-pill:999px;--sheet-radius:20px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}button,summary{-webkit-user-select:none;user-select:none}body{font-family:var(--font-latin,system-ui), var(--font-thai,system-ui), sans-serif;color:var(--text);background:var(--bg);margin:0}body:has(.landing){isolation:isolate;position:relative;overflow-x:clip}body:has(.landing):before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(to bottom, transparent 72%, var(--bg) 100%), linear-gradient(132deg, transparent 0 67%, color-mix(in srgb, var(--border-strong) 36%, transparent) 67.15% 67.3%, transparent 67.45%), radial-gradient(circle at 88% 43%, transparent 0 13%, color-mix(in srgb, var(--border-strong) 54%, transparent) 13.2% 13.45%, transparent 13.7% 25%, color-mix(in srgb, var(--border) 48%, transparent) 25.2% 25.45%, transparent 25.7% 39%, color-mix(in srgb, var(--divider) 42%, transparent) 39.2% 39.45%, transparent 39.7%), radial-gradient(ellipse at 84% 44%, color-mix(in srgb, var(--surface-raised) 88%, transparent), transparent 60%);transform-origin:88% 43%;height:min(720px,100svh - 64px);animation:hero-atmosphere 18s var(--ease-in-out) infinite alternate;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;position:absolute;top:64px;left:0;right:0}@keyframes hero-atmosphere{0%{opacity:.84;transform:translateY(-4px)}to{opacity:1;transform:translateY(8px)}}a{color:inherit;text-decoration:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.header{background:var(--surface);border-bottom:1px solid var(--divider);height:64px}.header[data-pinned]{z-index:10;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:16px;max-width:520px;height:100%;margin:0 auto;padding:0 20px;display:flex}.header[data-door] .header-inner{max-width:452px;padding:0 16px}.brand{letter-spacing:-.02em;font-size:17px;font-weight:700}.site-header>.brand,.header-inner>.brand,.site-footer a{min-width:var(--tap-min);min-height:var(--tap-min);align-items:center;display:inline-flex}.header-inner>.brand{flex:none;gap:6px}.back-chevron{width:16px;height:16px;color:var(--text-secondary);flex:none}.site-header{z-index:10;border-bottom:1px solid var(--divider);background:var(--surface);height:64px;position:sticky;top:0}.site-header-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1040px;height:100%;margin:0 auto;padding:0 16px;display:flex}body:has(.page) .site-header-inner{max-width:none}.site-menu-button{min-width:var(--tap-min);min-height:var(--tap-min);color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0 4px;font-size:14px;display:flex}.brand:focus-visible,.site-menu-button:focus-visible,.site-nav-link:focus-visible,.coming-soon-trigger:focus-visible,.site-footer a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site-nav{align-items:center;gap:20px;display:none}.site-nav[data-open=true]{border-bottom:1px solid var(--divider);background:var(--bg);flex-direction:column;align-items:flex-start;gap:0;padding:8px 16px 16px;display:flex;position:absolute;top:64px;left:0;right:0}.site-nav-link{min-width:var(--tap-min);min-height:var(--tap-min);align-items:center;font-size:14px;display:flex}.site-nav-aside{color:var(--text-muted)}.site-nav-aside:hover{color:var(--text)}@media (min-width:1024px){.site-menu-button{display:none}.site-nav{display:flex}.site-nav-aside{padding-left:20px;position:relative}.site-nav-aside:before{content:"";background:var(--divider);width:1px;height:20px;position:absolute;top:50%;left:0;translate:0 -50%}}.site-footer{padding:24px 0 max(24px, env(safe-area-inset-bottom));border-top:1px solid var(--divider);color:var(--text-muted);font-size:14px}.site-footer-inner{flex-direction:column;gap:16px;max-width:1040px;margin:0 auto;padding:0 16px;display:flex}.site-footer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.site-footer-nav,.site-footer-channels,.site-footer-legal,.site-footer-legal-nav{flex-wrap:wrap;gap:20px;margin:0;padding:0;list-style:none;display:flex}.site-footer .brand{color:var(--text)}.site-footer-nav a,.site-footer-channels a,.site-footer-legal-nav a{color:var(--text-secondary)}.site-footer-nav a:hover,.site-footer-channels a:hover,.site-footer-legal-nav a:hover{color:var(--text)}.site-footer-legal{flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:16px;padding-top:16px;font-size:13px}.site-footer-legal-nav{align-items:center;gap:16px}@media (max-width:600px){.site-footer-row,.site-footer-legal{flex-direction:column;align-items:flex-start;gap:8px}}.page{height:calc(100dvh - 64px);display:grid}.stage{min-height:0;position:relative}.stage .map{position:absolute;inset:0}.filter-bar{z-index:2;scrollbar-width:none;gap:8px;padding:0 12px;display:flex;position:absolute;top:10px;left:0;right:0;overflow-x:auto}.filter-bar>*{flex:none}.filter-open{min-height:var(--tap-min);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text);font:inherit;cursor:pointer;align-items:center;gap:7px;padding:9px 14px;font-size:13px;font-weight:500;display:flex;box-shadow:0 4px 16px #0006}.filter-open-count{border-radius:var(--radius-pill);background:var(--select-border);color:var(--text);padding:1px 7px;font-size:11px;font-weight:600}.chip{min-height:var(--tap-min);padding:calc((var(--tap-min) - 37px) / 2) 0;border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text-secondary);font:inherit;cursor:pointer;background-clip:content-box;border:none;align-items:center;font-size:13px;display:inline-flex}.chip-fill{border:1px solid var(--border);border-radius:var(--radius-pill);align-items:center;gap:6px;padding:9px 14px;display:inline-flex}.chip[data-on=true]{background-color:var(--select-fill);color:var(--text);font-weight:600}.chip[data-on=true] .chip-fill{border-color:var(--select-border)}.chip:focus-visible,.filter-sheet-done:focus-visible,.filter-open:focus-visible,.near-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip.chosen .chip-fill{box-shadow:0 4px 16px #0006}.chip.chosen .chip-fill svg{color:var(--text-muted)}.chips{flex-wrap:wrap;gap:0 6px;display:flex}.filter-sheet{z-index:11;--foot-gap:24px;max-height:none;padding:12px 16px var(--foot-gap);background:var(--surface);border-top:none;border-radius:0;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.filter-sheet-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.filter-sheet-close{width:var(--tap-min);height:var(--tap-min);margin:calc(var(--tap-min) / -4) calc(var(--tap-min) / -4) calc(var(--tap-min) / -4) 0;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.filter-sheet-close:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.filter-group{margin-bottom:16px}.filter-group b{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:600;display:block}.filter-sheet-body{flex:1;min-height:0;overflow-y:auto}.filter-sheet-foot{background:var(--surface);border-top:1px solid var(--divider);color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;font-size:13px;display:flex}.filter-sheet-count[data-stale=true]{color:var(--text-muted)}.filter-sheet-done{min-height:var(--tap-min);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text);font:inherit;cursor:pointer;padding:9px 14px;font-size:13px;font-weight:600}.link-button{min-height:var(--tap-min);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;padding:4px 0;font-size:13px;display:inline-flex}.link-button:disabled{color:var(--border-strong);cursor:default}.near{z-index:2;flex-direction:column;align-items:flex-end;gap:8px;transition:bottom .18s ease-out;display:flex;position:absolute;bottom:40px;right:12px}.stage:has(.map-card-dock:not([data-closing=true])) .near{bottom:calc(40px + var(--card-height,0px) + 28px)}.near-button{min-height:var(--tap-min);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text);font:inherit;cursor:pointer;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;display:inline-flex;box-shadow:0 4px 16px #0006}.near-button.ghost{border-color:var(--border);background:var(--surface);color:var(--text-secondary);box-shadow:none;padding:8px 14px}.near-hint{z-index:2;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);width:max-content;max-width:calc(100% - 24px);color:var(--text);text-align:center;padding:11px 18px;font-size:14px;position:absolute;top:77px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}.sheet{z-index:3;background:var(--surface);flex-direction:column;display:none;position:absolute;bottom:0;left:0}.sheet-head{align-items:center;gap:10px;padding:12px 16px;font-size:14px;display:flex}.sheet-order{color:var(--text-muted);margin-left:auto;font-size:13px}.list,.empty{flex:1;min-height:0;overflow-y:auto}.list{flex-direction:column;gap:8px;padding:0 8px 8px;display:flex}.card{border-radius:var(--radius);background:var(--surface-raised);border:1px solid #0000;flex-direction:column;gap:4px;padding:16px;display:flex;position:relative}.card:hover{border-color:var(--border-strong)}.card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.card h2{margin:0;font-size:16px;font-weight:500;line-height:1.35}.card-distance{color:var(--text-secondary);white-space:nowrap;flex:none;font-size:13px}.card-facts{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.4}.card-disciplines{color:var(--text);margin:0;font-size:13px;line-height:1.4}.card-signs{color:var(--text-muted);margin:4px 0 0;font-size:13px;line-height:1.4}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:32px 24px;display:flex}.empty b{font-size:16px;font-weight:500}.empty p{max-width:280px;color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.empty .link-button{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text);margin-top:8px;padding:8px 24px;font-weight:500}.maplibregl-ctrl-attrib,.maplibregl-ctrl-group{color:var(--text-muted)!important;background:#17181ad9!important}.maplibregl-ctrl-attrib a{color:var(--text-muted)!important}.map-pin{border:2px solid var(--bg);background:var(--map-gym);cursor:pointer;border-radius:50%;width:12px;height:12px;padding:0;display:block;position:relative}.map-pin:before{content:"";width:var(--tap-min);height:var(--tap-min);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-plate{border:1px solid var(--border);max-width:108px;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#101113e0;border-radius:4px;margin-top:5px;padding:5px 8px;font-size:11px;font-weight:500;line-height:1;position:absolute;top:100%;left:50%;overflow:hidden;transform:translate(-50%)}.map-pin.is-selected{background:var(--map-origin);width:16px;height:16px;box-shadow:0 0 0 2px var(--map-origin)}.map-pin.is-selected .map-plate{background:var(--map-origin);border-color:var(--map-origin);color:var(--bg)}@media (min-width:1024px){.sheet{border-right:1px solid var(--border);width:400px;display:flex;top:0}.sheet-head{border-bottom:1px solid var(--divider)}.filter-bar{padding:0;left:416px;right:312px}.filter-open,.chip,.filter-sheet-done,.link-button{min-height:0}.chip{padding:0}.near-button.ghost{min-height:0}.filter-open-icon{display:none}.near{top:16px;bottom:auto;right:16px}.stage:has(.map-card-dock:not([data-closing=true])) .near{bottom:auto}.near-hint{border-radius:var(--radius);color:var(--text-secondary);box-shadow:none;padding:8px 12px;font-size:13px;top:16px;left:auto;right:16px;transform:none}.stage:has(.near-hint) .near{top:59px}.filter-sheet-close{display:none}.filter-sheet{z-index:5;--foot-gap:12px;border:1px solid var(--border-strong);border-radius:var(--radius);width:420px;max-height:calc(100% - 90px);position:absolute;inset:74px auto auto 416px;box-shadow:0 0 0 100vmax #0b0c0db8}.filter-sheet:before{content:"";z-index:-1;position:fixed;inset:0}.map .maplibregl-ctrl-bottom-left{left:408px}.map-pin,.map-pin.is-selected,.map-pin:before{width:14px;height:14px}.map-plate,.map-card-dock,.map-card-dock.map-empty{display:none}}.map-card-dock{z-index:4;border-radius:var(--radius);position:absolute;bottom:40px;left:12px;right:12px;box-shadow:0 8px 28px #00000080}.map-card{padding-right:var(--tap-min)}.map-card-close{width:var(--tap-min);height:var(--tap-min);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0}.map-card-close:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.map-card-anim{opacity:1;transition:transform .18s ease-out,opacity .18s ease-out;transform:translateY(0)}@starting-style{.map-card-anim{opacity:0;transform:translateY(140px)}}.map-card-anim[data-closing=true]{opacity:0;pointer-events:none;transform:translateY(140px)}.map-empty{border-radius:var(--radius);background:var(--surface-raised);flex-direction:column;align-items:flex-start;gap:8px;padding:16px;display:flex}.map-empty p{color:var(--text-muted);text-wrap:pretty;margin:0;font-size:13px;line-height:1.5}.map-empty .link-button{min-height:var(--tap-min);align-items:center;display:inline-flex}.cabinet{max-width:520px;margin:0 auto;padding-bottom:40px}.header-side{align-items:center;gap:12px;min-width:0;display:flex}.header-email{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);font-size:13px;overflow:hidden}.header-side button{min-height:var(--tap-min);color:var(--text-secondary);font:inherit;white-space:nowrap;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:4px;cursor:pointer;background:0 0;border:none;border-radius:0;flex:none;align-items:center;padding:0;font-size:13px;display:inline-flex}.header-side button:hover{color:var(--text);text-decoration-color:currentColor}.cabinet-body{padding:22px 20px 0}.cabinet h1{letter-spacing:-.02em;text-wrap:pretty;margin:0 0 8px;font-size:22px;font-weight:700;line-height:1.2}.heading-count{letter-spacing:0;color:var(--text-muted);font-size:15px;font-weight:500}.cabinet h2{margin:0 0 6px;font-size:15px;font-weight:600}.cabinet .lead{color:var(--text-secondary);text-wrap:pretty;margin:0;font-size:15px;line-height:1.45}.cabinet .hint{color:var(--text-muted);text-wrap:pretty;margin:0;font-size:13px;line-height:1.45}.cabinet hr{background:var(--divider);border:none;height:1px;margin:20px 0}.gym-cards{flex-direction:column;gap:10px;margin-top:16px;display:flex}.gym-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:12px;padding:15px 16px;display:flex}.cabinet .cabinet-section-title{margin-top:32px}.soon-teaser{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-top:16px;padding:15px 16px;position:relative;overflow:hidden}.cabinet-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:12px;margin-top:16px;padding:15px 16px;display:flex}.cabinet-card-title{font-size:16px;font-weight:600}.cabinet-card .draft-form{margin:4px 0 8px}.cabinet-card>.listing-views{align-self:flex-start}.teaser-blur{filter:blur(3px);opacity:.55;-webkit-user-select:none;user-select:none;flex-direction:column;gap:12px;display:flex}.poster-blur{filter:blur(2px);opacity:.9;margin:-15px -16px}.poster-track{width:max-content;padding:15px 0;animation:24s linear infinite poster-scroll;display:flex}.event-card{box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);flex:none;gap:10px;width:220px;height:108px;margin-right:10px;padding:0 10px 0 0;display:flex;overflow:hidden}.poster{box-sizing:border-box;color:#fff;flex:none;align-items:flex-end;width:78px;padding:8px;display:flex}.poster b{text-transform:uppercase;font-size:12px;font-weight:800;line-height:1.05}.event-info{flex-direction:column;justify-content:center;gap:3px;min-width:0;display:flex}.event-info>b{white-space:nowrap;font-size:14px;font-weight:600}.event-info>small,.event-date small{color:var(--text-muted);white-space:nowrap;font-size:11px}.event-date{align-items:baseline;gap:4px;margin-bottom:2px;display:flex}.event-date b{font-size:20px;font-weight:700;line-height:1}@keyframes poster-scroll{to{transform:translate(-50%)}}.stats-figures{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stats-figures span{flex-direction:column;gap:4px;display:flex}.stats-figures small{color:var(--text-muted);font-size:12px}.stats-figures b{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.stats-chart{width:100%;height:52px}.stats-bar{fill:var(--surface-raised);stroke:var(--border-strong);transform-box:fill-box;transform-origin:bottom;animation:.6s cubic-bezier(.2,.8,.2,1) both stats-grow}.stats-line{fill:none;stroke:var(--text-secondary);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:400;stroke-dashoffset:400px;animation:1.4s ease-out .3s forwards stats-draw}@keyframes stats-grow{0%{transform:scaleY(0)}}@keyframes stats-draw{to{stroke-dashoffset:0}}.soon-teaser .soon-tag{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg);color:var(--text);padding:6px 16px;font-size:14px;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (prefers-reduced-motion:reduce){.poster-track,.stats-bar,.stats-line{stroke-dashoffset:0;animation:none}}.gym-card:hover{border-color:#3a3d42}.gym-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.gym-card-title{flex-direction:column;gap:4px;min-width:0;display:flex}.gym-card-title b{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;overflow:hidden}.gym-card-status,.gym-card-note{color:var(--text-muted);text-wrap:pretty;font-size:13px;line-height:1.4}.chevron{color:var(--text-muted);flex:none}.progress-block{flex-direction:column;gap:7px;display:flex}.progress{background:var(--divider);border-radius:2px;height:4px;display:block;overflow:hidden}.progress span{background:var(--text-secondary);height:100%;display:block}.progress-row{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.continue{color:var(--text);border-bottom:1px solid var(--border);font-weight:600}.gym-card-done{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.gym-card-done svg{color:var(--accent);flex:none}.draft-form{flex-direction:column;gap:16px;margin-top:16px;display:flex}.draft-form label{color:var(--text-muted);flex-direction:column;gap:7px;font-size:13px;display:flex}.draft-form input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);height:50px;color:var(--text);font:inherit;padding:0 14px;font-size:15px}.draft-form input::placeholder{color:#5e6165}.draft-form button{border-radius:var(--radius-pill);background:var(--accent);height:52px;color:var(--on-accent);font:inherit;cursor:pointer;border:none;font-size:16px;font-weight:700}.draft-form .cta-note{margin:-8px 0 0}.parts{flex-wrap:wrap;gap:7px;margin:0 0 9px;display:flex}.part{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-secondary);padding:7px 12px;font-size:14px}.card-page .cabinet-body{flex-direction:column;gap:8px;padding:16px;display:flex}.card-page{padding-bottom:32px}.card-page .claim-note{color:var(--text-muted);text-wrap:pretty;margin:0;padding:4px 16px 12px;font-size:13px;line-height:20px}body:has(.card-page) .header-inner{padding-inline:16px}.card-page .section,.card-page .section[open]{padding-inline:16px}.card-top{z-index:4;background:var(--surface);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:16px;padding:16px;display:grid;position:sticky;top:0}.card-top h1{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:20px;font-weight:700;overflow:hidden}.listing-identity{flex-direction:column;gap:4px;min-width:0;display:flex}.card-page [hidden]{display:none}.card-top[data-opening] .save-state{visibility:hidden;height:20px;overflow:hidden}.listing-views{min-height:var(--tap-min);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);font:inherit;cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:8px 12px;font-size:14px;font-weight:500;display:inline-flex}.listing-views:hover{border-color:var(--text-muted);background:var(--surface-raised)}.listing-views:active{border-color:var(--select-border);background:var(--select-fill)}.listing-views:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.listing-views:disabled{cursor:wait;opacity:.6}.save-state{min-height:20px;color:var(--text-muted);font-size:13px;line-height:20px}.save-state[data-failed],.save-state[data-noted]{color:var(--text)}.card-page .cabinet-notice{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg);color:var(--text);text-align:left;text-wrap:pretty;overflow-wrap:anywhere;align-self:stretch;margin:0;padding:12px 14px;font-size:14px;line-height:21px}[data-sonner-toaster].listing-toaster{width:min(440px,100vw - 32px)}[data-sonner-toast][data-styled].listing-toast{border-radius:var(--radius-md);width:100%;box-shadow:none;gap:10px;max-height:calc(100svh - 32px);padding:16px 52px 16px 16px;overflow-y:auto}[data-sonner-toast].listing-toast [data-title]{font-weight:400}[data-sonner-toast].listing-toast [data-close-button].listing-toast-close{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius);color:var(--text);background:0 0;border:0;top:0;left:auto;right:0;transform:none}[data-sonner-toast][data-styled=true]:hover [data-close-button].listing-toast-close:hover{background:var(--surface)}[data-sonner-toast] .listing-toast-close:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.readiness{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:16px 0;padding:15px 16px}.readiness b{font-size:15px}.section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 18px;scroll-margin-top:120px;transition:transform .12s,border-color .12s}.section[open]{border-color:var(--border-strong);padding:14px 18px 18px}.section:has(summary:active){border-color:var(--select-border);transform:scale(.985)}.section:has(summary:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.section>summary{min-height:var(--tap-min);cursor:pointer;align-items:center;gap:14px;list-style:none;display:flex}.section>summary::-webkit-details-marker{display:none}.section-mark{border:1px solid var(--border-strong);border-radius:var(--radius-pill);width:18px;height:18px;color:var(--text);flex:none;justify-content:center;align-items:center;font-size:11px;line-height:1;display:flex}.section-mark[data-done=true]{background:var(--select-fill);border-color:var(--select-border)}.section-title{flex:0 auto;font-size:16px;font-weight:400}.section[open] .section-title{font-weight:600}.section-note{text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);flex:auto;font-size:13px;overflow:hidden}.card-form{flex-direction:column;gap:8px;display:flex}.section-body{flex-direction:column;gap:14px;padding:14px 0 0;animation:.18s section-in;display:flex}.section-body:has(>.hint:first-child){padding-top:6px}@keyframes section-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.section{transition:none}.section:has(summary:active){transform:none}.section-body{animation:none}.map-card-anim,.near{transition:none}}.section-body label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.section-body input[type=text],.section-body input[type=number],.section-body input[type=url],.section-body select,.section-body textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-width:100%;height:48px;color:var(--text);font:inherit;padding:0 14px;font-size:15px}.section-body input:disabled{opacity:.45;cursor:not-allowed}.section-body input:invalid{border-color:var(--needs-answer);border-style:dashed}.section-body input:focus-visible,.section-body select:focus-visible,.section-body textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.section-body select{appearance:none;padding-right:40px}.section-body label:has(>select){position:relative}.section-body label:has(>select):after{content:"";background:var(--text-muted);pointer-events:none;width:12px;height:12px;position:absolute;bottom:18px;right:14px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.section-body textarea{field-sizing:content;resize:vertical;height:auto;min-height:200px;max-height:60vh;padding:12px 14px;line-height:1.5}.info-button{box-sizing:content-box;background:var(--border-strong) padding-box;width:18px;height:18px;color:var(--text);cursor:pointer;border:7px solid #0000;border-radius:50%;place-items:center;margin:-7px;padding:0;font:italic 600 11px/1 serif;display:inline-grid}.answer-question.with-info{align-items:center;gap:6px;display:flex}.info-button:focus-visible{outline:2px solid var(--accent);outline-offset:-5px}.price-answer:has(input:disabled){opacity:.4;pointer-events:none}.price-answer:has(input:disabled) .answer-tag{visibility:hidden}.info-popover{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-raised);max-width:min(340px,100vw - 32px);color:var(--text-secondary);text-wrap:pretty;padding:16px;font-size:14px;line-height:1.45}.info-popover strong{color:var(--text);font-weight:600}.info-popover::backdrop{background:#0006}.pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.pills{clear:both;flex-wrap:wrap;gap:8px;display:flex}.answer>.pair{clear:both}.pill-option{min-height:var(--tap-min);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;align-items:center;padding:10px 20px;display:flex;color:var(--text-secondary)!important;flex-direction:row!important;font-size:16px!important}.pill-option:has(input:checked){background:var(--select-fill);border-color:var(--select-border);font-weight:600;color:var(--text)!important}.pill-option input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.pill-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.answers{flex-direction:column;gap:16px;display:flex}.answer{border:none;margin:0;padding:0}.answers.boxed>.answer{border:1px solid var(--border);border-radius:var(--radius);padding:16px}.answer legend{float:left;align-items:baseline;gap:8px;width:100%;margin-bottom:12px;padding:0;display:flex}.answer-question{color:var(--text);flex:1;font-size:16px;line-height:1.4}.answer-tag{white-space:nowrap;color:var(--text-muted);font-size:13px}.answer[data-highlight] .answer-tag{color:var(--text-secondary)}.answer-options{clear:both;gap:10px;display:flex}.answer-option{min-height:var(--tap-min);border:1px dashed var(--border-strong);border-radius:var(--radius);cursor:pointer;flex:1;justify-content:center;align-items:center;padding:10px 14px;display:flex;color:var(--text-muted)!important;flex-direction:row!important;gap:9px!important;font-size:16px!important}.answer:where(:has(input:checked:not([value=""]))) .answer-option{background:var(--surface-raised)}.answer[data-highlight] .answer-option{border-color:var(--text-muted);color:var(--text-secondary)!important}.answer:where(:has(input:checked:not([value=""]))) .answer-option{border-style:solid;border-color:var(--border)}.answer-option:has(input:checked){background:var(--select-fill);border-color:var(--select-border);font-weight:600;color:var(--text)!important}.answer-option input,.choice input,.clear-answer input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}:is(.answer-option:has(input:focus-visible),.choice:has(input:focus-visible),.clear-answer:has(input:focus-visible)){outline:2px solid var(--accent);outline-offset:2px}.choices{flex-direction:column;gap:8px;display:flex}.choices>.hint{clear:both}.section-body .choice{min-height:var(--tap-min);border:1px dashed var(--border-strong);border-radius:var(--radius);cursor:pointer;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.choices:where(:has(input:checked:not([value=""]))) .choice{border-style:solid;border-color:var(--border);background:var(--surface-raised)}.section-body .choice:has(input:checked){border-color:var(--select-border);background:var(--select-fill)}.choice b{color:var(--text-secondary);font-size:16px;font-weight:500}.choice:has(input:checked) b{color:var(--text);font-weight:600}.choice b+span{color:var(--text-muted);font-size:13px;line-height:1.45}.section-body .clear-answer{white-space:nowrap;color:var(--text-secondary);text-underline-offset:3px;cursor:pointer;flex-direction:row;align-items:center;margin:-11px 0;padding:11px 0;font-size:13px;text-decoration:underline;display:flex}:is(.answer:has(.clear-answer input:checked):not(:has(.clear-answer input:focus-visible)) .clear-answer,.answer:not(:has(.clear-answer input:checked)) .optional-tag,.answer:has(.clear-answer input:focus-visible) .optional-tag){display:none}.channels{flex-direction:column;gap:14px;display:flex}.section-body .channel-field{cursor:pointer;grid-template-columns:auto minmax(72px,auto) minmax(0,1fr);align-items:center;gap:10px;display:grid}.channel-field+.channel-field{border-top:1px solid var(--divider);padding-top:10px}.channel-field b{color:var(--text);font-size:14px;font-weight:600}.channel-field input[type=radio]{width:18px;height:18px;accent-color:var(--accent);flex:none}.channel-field input[type=radio]:disabled{opacity:.3}.channel-field:has(input[type=radio]:disabled) b{color:var(--text-muted)}.channel-website{border-top:1px solid var(--divider);padding-top:14px}.photo-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.photo img{object-fit:cover;border-radius:var(--radius);width:100%;height:110px}.photo button,.upload button,.section-body form button{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;padding:9px 14px;font-size:13px}.upload input[type=file]{min-width:0;max-width:100%;font:inherit;color:var(--text-muted);font-size:13px}.upload input[type=file]::file-selector-button{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;margin-right:10px;padding:9px 14px;font-size:13px}.upload-state{color:var(--text-muted);font-size:13px}.upload{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.section-body form button.primary{border-radius:var(--radius-pill);background:var(--accent);width:100%;height:52px;color:var(--on-accent);border:none;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.gym{flex-direction:column;max-width:520px;min-height:calc(100dvh - 64px);margin:0 auto;display:flex}.gym-hero{aspect-ratio:4/3;background:var(--surface-raised);max-height:70dvh;position:relative}@media (min-width:560px){.gym-hero{border-radius:10px;margin:16px 16px 0;overflow:hidden}}.hero-strip:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.hero-strip{scroll-snap-type:x mandatory;scrollbar-width:none;height:100%;display:flex;overflow-x:auto}.hero-strip::-webkit-scrollbar{display:none}.hero-strip img{object-fit:cover;scroll-snap-align:start;flex:none;width:100%;height:100%}.hero-dots{gap:4px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.hero-dot{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--text) 55%, transparent);width:6px;height:6px}.gym-body{flex-direction:column;gap:16px;padding:0 16px 24px;display:flex;position:relative}.gym-body:first-child,.gym-hero+.gym-body{padding-top:16px}.summary-card{border:1px solid var(--border-strong);background:var(--surface-raised);border-radius:10px;padding:16px;display:block}.payment{color:var(--text-muted);margin:8px 0 0;font-size:14px}.gym h1{letter-spacing:-.02em;text-wrap:pretty;margin:0;font-size:25px;font-weight:600;line-height:1.15}.thai-name{color:var(--text-muted);margin:4px 0 0;font-size:14px}.address{max-width:100%;color:var(--text-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:8px;margin-top:10px;padding:0;font-size:13px;line-height:1.45;display:flex}.address svg{color:var(--text-muted);flex:none;margin-top:2px}.address span{-webkit-line-clamp:2;-webkit-user-select:text;user-select:text;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.address-copied{color:var(--text-muted);flex:none;font-size:12px}.address-copied:empty{position:absolute}.address-feedback:empty{margin:0}.address-feedback,.address-manual{color:var(--text-secondary);margin:8px 0 0;font-size:14px}.address-manual{display:block}.address-manual textarea{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text);font:inherit;resize:none;border-radius:4px;margin-top:4px;padding:8px;font-size:16px;display:block}.headline-figures{white-space:nowrap;align-items:center;gap:12px;margin:14px 0 0;font-size:20px;font-weight:700;display:flex}.headline-figures i{background:var(--border);width:1px;height:16px}.disciplines{flex-wrap:wrap;gap:6px;margin:12px 0 0;display:flex}.discipline{border:1px solid var(--border-strong);color:var(--text-secondary);border-radius:4px;padding:6px 11px;font-size:14px}.facts{border:1px solid var(--border-strong);background:var(--surface-raised);border-radius:10px;flex-direction:column;gap:20px;padding:16px;display:flex}.fact-group{flex-direction:column;gap:12px;display:flex}.access{align-items:center;gap:12px;display:flex}.access-icon{border-radius:var(--radius);background:var(--surface);width:44px;height:44px;color:var(--text-secondary);flex:none;justify-content:center;align-items:center;display:flex}.access-icon svg{width:20px;height:20px}.access p{flex-direction:column;gap:2px;margin:0;display:flex}.access b{font-size:17px;font-weight:600;line-height:1.3}.access span{color:var(--text-muted);font-size:14px;line-height:1.4}.fact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.fact{border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:6px;min-width:0;padding:12px;display:flex}.fact-label{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.fact-label svg{flex:none}.fact-value{color:var(--text);overflow-wrap:anywhere;font-size:15px;font-weight:600;line-height:1.3}.gym-description{border:1px solid var(--border-strong);background:var(--surface-raised);border-radius:10px;padding:16px}.fact-group h2,.gym-description h2{letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px;font-size:11px;font-weight:600}.fact-group h2{margin:0}.gym-description p{color:var(--text-secondary);white-space:pre-line;text-wrap:pretty;margin:0;font-size:15px;line-height:1.6}.freshness{color:var(--text-muted);align-items:flex-start;gap:8px;margin:0;font-size:13px;line-height:1.5;display:flex}.freshness svg{flex:none;margin-top:3px}.static-map{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);height:150px;position:relative;overflow:hidden}.static-map-canvas{height:100%}.static-map-pin{border:2px solid var(--bg);background:var(--map-origin);width:14px;height:14px;box-shadow:0 0 0 2px var(--map-origin);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.static-map-link{align-items:flex-start;padding:10px;display:flex;position:absolute;inset:0}.static-map-link:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.static-map-link-label{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--bg) 82%, transparent);color:var(--text);align-items:center;gap:6px;padding:7px 11px;font-size:12px;display:inline-flex}.cta-dock{background:linear-gradient(180deg, #10111300 0%, var(--bg) 26%);margin-top:auto;padding:26px 16px 22px;position:sticky;bottom:0}.cta{border-radius:var(--radius-pill);background:var(--accent);height:48px;color:var(--on-accent);cursor:pointer;justify-content:center;align-items:center;font-size:16px;font-weight:600;list-style:none;display:flex}.cta::-webkit-details-marker{display:none}.no-contacts{margin:24px 16px 0}.cta-note{color:var(--text-muted);text-align:center;margin:8px 0 0;font-size:12px;line-height:1.45}.contact-sheet[open]{z-index:20;border-radius:var(--sheet-radius) var(--sheet-radius) 0 0;background:var(--surface);border-top:1px solid var(--border);flex-direction:column;max-height:80dvh;padding-top:14px;display:flex;box-shadow:0 0 0 100vmax #0b0c0db8}.contact-sheet[open]:before{content:"";z-index:-1;position:fixed;inset:0}.contact-sheet[open] .cta{border:1px solid var(--border);height:48px;color:var(--text-secondary);background:0 0;flex:none;order:3;margin-top:10px;font-weight:500}.when-open,.contact-sheet[open] .when-closed{display:none}.contact-sheet[open] .when-open{display:inline}.contact-sheet[open] .sheet-body{overflow-y:auto}.sheet-body{flex-direction:column;gap:8px;padding-bottom:8px;display:flex}.sheet-body b{font-size:19px;font-weight:600}.sheet-body p{color:var(--text-muted);text-wrap:pretty;margin:0 0 6px;font-size:13px;line-height:1.5}.channel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);flex-direction:column;gap:2px;padding:10px 16px;display:flex}.channel[data-plain]{-webkit-user-select:text;user-select:text;cursor:text}.channel-value{min-width:0;color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:flex}.channel-value svg{flex:none}.channel-name{font-size:15px;font-weight:600}.channel-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cta-dock .cta:focus-visible{outline:2px solid var(--text);outline-offset:-4px}.contact-sheet[open] .cta:focus-visible{outline-color:var(--accent)}.address-manual textarea:focus-visible,.address:focus-visible,.channel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cta-dock .cta,.channel,.address span{transition:background-color .14s,border-color .14s,color .14s}.cta-dock .cta:active{transform:scale(.99)}@media (hover:hover) and (pointer:fine){.cta-dock .cta:hover{background:var(--accent-hover)}.contact-sheet[open] .cta:hover{border-color:var(--text-secondary);background:var(--surface-raised)}.channel:hover{border-color:var(--border-strong);background:var(--surface)}.address:hover span{color:var(--text-secondary)}}@media (prefers-reduced-motion:reduce){.cta-dock .cta:active{transform:none}}.profile{max-width:720px;margin:0 auto;padding:16px}.profile .gallery{gap:8px;display:flex;overflow-x:auto}.profile .gallery img{border-radius:var(--radius);height:180px}.profile dl{grid-template-columns:220px 1fr;gap:6px 12px;margin:16px 0;font-size:14px;display:grid}.profile dt{color:var(--text-muted)}.profile dd{margin:0}.contacts summary{border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent);cursor:pointer;padding:10px 14px;font-weight:600;list-style:none}.contacts ul{margin:10px 0 0;padding:0;list-style:none}.contacts li{border-bottom:1px solid var(--divider);padding:8px 0;font-size:14px}.group{align-items:center;gap:6px;display:flex}.group b{color:var(--text-muted);font-size:12px;font-weight:600}.stack{flex-direction:column;align-items:flex-start;gap:8px;max-width:520px;display:flex}.stack input[type=text],.stack input[type=email],.stack input[type=password],.stack input[type=number],.stack textarea,.stack select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);width:100%;color:var(--text);font:inherit;padding:7px 9px}.stack textarea{min-height:80px}.stack label{font-size:14px;display:block}.stack h2,.profile h2{margin:18px 0 4px;font-size:15px}.stack button,.profile button{border-radius:var(--radius);background:var(--accent);color:var(--on-accent);font:inherit;cursor:pointer;border:none;padding:8px 14px;font-weight:600}.stack button:hover,.profile button:hover{background:var(--accent-hover)}.checklist{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:16px 0;padding:10px 14px;font-size:14px}.checklist ul{margin:6px 0 0;padding-left:20px}.stale{background:var(--surface-raised);border:1px solid var(--accent);color:var(--accent);border-radius:4px;padding:2px 6px;font-size:12px;display:inline-block}.landing{max-width:1040px;margin:0 auto;padding:0 16px}.hero{flex-direction:column;align-items:flex-start;gap:24px;padding:56px 0 80px;display:flex}.hero-title{letter-spacing:-.04em;text-wrap:balance;max-width:14ch;margin:0;font-size:32px;font-weight:600;line-height:40px}.hero-title,.hero-lead{animation:hero-enter .5s var(--ease-out) backwards}.hero-lead{animation-delay:60ms}.hero-cta{animation:hero-cta-enter .5s var(--ease-out) backwards;animation-delay:.12s}@keyframes hero-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-cta-enter{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}.hero-lead,.step-text,.invite-text{max-width:60ch;color:var(--text-secondary);text-wrap:pretty;margin:0;font-size:16px;line-height:24px}.hero-cta,.invite-cta{height:auto;min-height:56px;transition:border-color .14s ease, background-color .14s ease, transform .16s var(--ease-out);padding:12px 32px;line-height:24px}.invite-cta{border:1px solid var(--border-strong);color:var(--text);background:0 0}.hero-cta:active,.invite-cta:active{transform:scale(.97)}.hero-cta:focus-visible{outline:2px solid var(--text);outline-offset:3px}.invite-cta:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.section-heading{color:var(--text);letter-spacing:-.02em;margin:0;font-size:24px;font-weight:600;line-height:32px}.steps,.invite{flex-direction:column;align-items:flex-start;gap:24px;padding:0 0 72px;display:flex}.step-list{align-self:stretch;gap:48px;margin:0;padding:0;list-style:none;display:grid}.step{grid-template-columns:24px 1fr;align-items:start;column-gap:12px;display:grid}.step-number{color:var(--text-muted);letter-spacing:-.03em;font-variant-numeric:tabular-nums;grid-row:1/span 2;font-size:24px;font-weight:500;line-height:32px}.step-title{margin:0 0 8px;font-size:18px;font-weight:600;line-height:24px}@media (min-width:1024px){.hero{grid-template-columns:repeat(12,1fr);align-content:center;column-gap:24px;min-height:min(720px,100svh - 64px);padding:80px 0 112px;display:grid}.hero-title{grid-column:1/11;max-width:18ch}.hero-lead{grid-column:1/7}.hero-cta{grid-column:8/11;justify-self:start}.steps,.invite{grid-template-columns:160px 1fr;align-items:start;gap:24px 48px;padding-bottom:128px;display:grid}.invite-text{grid-area:1/2}.invite-cta{grid-area:2/2;justify-self:start}.section-heading{color:var(--text-muted);margin:8px 0 0}.step-list{grid-template-columns:repeat(3,1fr);gap:32px}.step{display:block}.step-number{margin-bottom:40px;font-size:32px;line-height:40px}}@media (hover:hover) and (pointer:fine){.hero-cta:hover{background:var(--accent-hover)}.invite-cta:hover{border-color:var(--text-secondary);background:var(--surface-raised)}}@media (prefers-reduced-motion:reduce){body:has(.landing):before{opacity:1;animation:none;transform:none}.hero-title,.hero-lead,.hero-cta{animation:.2s backwards hero-fade}.hero-cta:active,.invite-cta:active{transform:none}}@keyframes hero-fade{0%{opacity:0}to{opacity:1}}.auth{place-items:center;min-height:calc(100dvh - 64px);padding:24px 16px;display:grid}.auth-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:16px;width:100%;max-width:420px;padding:24px;display:flex}.auth-title{margin:0;font-size:24px;font-weight:600;line-height:32px}.auth-tabs{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg);grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.auth-tabs a{border-radius:var(--radius-pill);min-height:40px;color:var(--text-muted);border:1px solid #0000;justify-content:center;align-items:center;padding:8px 12px;font-size:14px;font-weight:500;display:flex}.auth-tabs a[aria-current=page]{border-color:var(--select-border);background:var(--select-fill);color:var(--text);font-weight:600}.auth-tabs a:focus-visible,.auth-link:focus-visible,.auth-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-note{border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--text);margin:0;padding:12px 14px;font-size:14px;line-height:20px}.auth-lead{color:var(--text-secondary);margin:0;font-size:14px;line-height:20px}.auth-form{flex-direction:column;gap:16px;margin:0;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-label{color:var(--text-muted);font-size:13px}.auth-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);min-height:50px;color:var(--text);font:inherit;padding:12px 14px;font-size:16px}.auth-input::placeholder{color:#5e6165}.auth-input:focus-visible{outline:2px solid var(--accent);outline-offset:-1px;border-color:#0000}.auth-hint{color:var(--text-muted);font-size:12px;line-height:16px}.auth-consent{color:var(--text-secondary);align-items:flex-start;gap:10px;font-size:13px;line-height:18px;display:flex}.auth-consent input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:0}.auth-consent a{color:var(--text)}.auth-submit{border-radius:var(--radius-pill);background:var(--accent);min-height:52px;color:var(--on-accent);font:inherit;text-align:center;cursor:pointer;border:none;justify-content:center;align-items:center;padding:14px 20px;font-size:16px;font-weight:700;transition:background .12s ease-out;display:flex}.auth-submit:hover{background:var(--accent-hover)}.auth-submit:active{transform:translateY(1px)}.auth-submit:focus-visible{outline:2px solid var(--text);outline-offset:2px}@media (prefers-reduced-motion:reduce){.auth-submit{transition:none}.auth-submit:active{transform:none}}.auth-link,.auth-back{min-height:var(--tap-min);color:var(--text-secondary);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);align-self:flex-start;align-items:center;font-size:14px;display:inline-flex}.auth-link:hover,.auth-back:hover{color:var(--text);-webkit-text-decoration-color:var(--text-secondary);text-decoration-color:var(--text-secondary)}.auth-back{color:var(--text-muted);text-decoration-skip-ink:auto;gap:4px;margin-top:-8px}.auth-back .back-chevron{color:inherit}.legal-page{max-width:72ch;color:var(--text-secondary);margin:0 auto;padding:56px 24px 88px;font-size:16px;line-height:1.7}.legal-page h1{color:var(--text);letter-spacing:-.025em;margin:0 0 8px;font-size:clamp(32px,6vw,44px);line-height:1.15}.legal-page h2{color:var(--text);margin:40px 0 12px;scroll-margin-top:88px;font-size:22px;line-height:1.3}.legal-page p{margin:0 0 16px}.legal-page li+li{margin-top:8px}.legal-page ul{padding-left:24px}.legal-date{color:var(--text-muted);font-size:14px}.legal-page a,.privacy-banner a{text-underline-offset:4px;text-decoration:underline}.legal-page code{overflow-wrap:anywhere;font-size:.9em}.legal-page a:hover{color:var(--accent)}.privacy-banner{z-index:30;right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));width:min(520px, calc(100% - 32px - env(safe-area-inset-left) - env(safe-area-inset-right)));max-height:calc(100dvh - 96px - env(safe-area-inset-bottom));border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);flex-direction:column;padding:24px;font-size:14px;line-height:1.6;display:flex;position:fixed}.privacy-banner-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.privacy-banner h2{color:var(--text);letter-spacing:-.02em;margin:0;font-size:24px;font-weight:600;line-height:1.2}.privacy-close{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;margin-right:-12px;padding:0;display:inline-flex}.privacy-close:hover{color:var(--text);background:var(--surface-raised)}.privacy-close:active{background:var(--border)}.privacy-banner-copy{overscroll-behavior:contain;min-height:0;margin:-6px;padding:6px;overflow-y:auto}.privacy-banner p{margin:0 0 4px}.privacy-banner a{min-height:var(--tap-min);color:var(--text-secondary);align-items:center;display:inline-flex}.privacy-banner a:hover{color:var(--text)}.privacy-choices{border-top:1px solid var(--divider);flex-shrink:0;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:8px;padding-top:16px;display:grid}.privacy-choices button{min-height:var(--tap-min);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--text);font:inherit;cursor:pointer;padding:10px 12px;font-weight:500}.privacy-choices button:hover{border-color:var(--text-secondary);background:var(--border)}.privacy-choices button:active{background:var(--border-strong)}.privacy-banner :focus-visible,.legal-page a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (max-height:420px){.privacy-banner{display:block;overflow-y:auto}.privacy-banner-copy{overflow:visible}}@media (max-width:480px){.privacy-banner{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));width:calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));padding:20px}.privacy-banner h2{font-size:22px}.privacy-choices{grid-template-columns:minmax(0,1fr);gap:8px}.legal-page{padding-top:36px}}.coming-soon-trigger{min-width:var(--tap-min);min-height:var(--tap-min);color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:14px;display:inline-flex}.coming-soon-dialog{border:1px solid var(--border);border-radius:var(--sheet-radius);background:var(--surface-raised);width:min(360px,100vw - 32px);color:var(--text);opacity:0;transition:opacity .16s var(--ease-out), transform .22s var(--ease-out), overlay .22s allow-discrete, display .22s allow-discrete;margin:auto;padding:28px 24px 20px;transform:translateY(10px)scale(.97);box-shadow:0 24px 60px #0000008c}.coming-soon-dialog[open]{opacity:1;transform:none}@starting-style{.coming-soon-dialog[open]{opacity:0;transform:translateY(10px)scale(.97)}}.coming-soon-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .16s var(--ease-out), overlay .22s allow-discrete, display .22s allow-discrete;background:#08090aad}.coming-soon-dialog[open]::backdrop{opacity:1}@starting-style{.coming-soon-dialog[open]::backdrop{opacity:0}}.coming-soon-title{letter-spacing:-.02em;margin:0;font-size:25px;font-weight:600;line-height:1.15}.coming-soon-text{color:var(--text-secondary);text-wrap:pretty;margin:10px 0 0;font-size:15px;line-height:1.45}.coming-soon-actions{align-items:center;gap:4px;margin-top:24px;display:flex}.coming-soon-cta{min-height:var(--tap-min);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg);color:var(--text);flex:1;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:inline-flex}.coming-soon-cta:hover{border-color:var(--control-mark);background:var(--surface)}.coming-soon-close{min-height:var(--tap-min);border-radius:var(--radius-pill);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0 16px;font-size:15px;display:inline-flex}.coming-soon-close:hover{color:var(--text)}.coming-soon-cta:focus-visible,.coming-soon-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.coming-soon-dialog,.coming-soon-dialog::backdrop{transition:none}.coming-soon-dialog{transform:none}}.blog{max-width:1040px;margin:0 auto;padding:56px 16px 96px}.blog ::selection{background:var(--select-fill);color:var(--text)}.blog-head,.post-head{max-width:680px;margin-bottom:48px}.blog-title,.post-title{color:var(--text);letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:clamp(36px,7vw,56px);font-weight:600;line-height:1.05}.post-title{font-size:clamp(32px,5.5vw,48px);line-height:1.1}.blog-lead,.post-lead{color:var(--text-secondary);text-wrap:pretty;margin:20px 0 0;font-size:18px;line-height:28px}.blog-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0;font-size:14px;line-height:20px}.post-head .blog-meta{margin-top:20px}.blog-empty{border-top:1px solid var(--divider);color:var(--text-muted);margin:0;padding:32px 0;font-size:16px}.blog-list{border-top:1px solid var(--divider);max-width:680px;margin:0;padding:0;list-style:none}.blog-item{border-bottom:1px solid var(--divider)}.blog-item-link{color:inherit;gap:8px;padding:28px 0;text-decoration:none;display:grid}.blog-item-title{color:var(--text);letter-spacing:-.02em;text-wrap:balance;transition:color .16s var(--ease-out);margin:0;font-size:22px;font-weight:600;line-height:28px}.blog-item-text{color:var(--text-secondary);text-wrap:pretty;margin:0;font-size:16px;line-height:24px}.blog-item-link .blog-meta{margin-top:4px}.blog-item-link:hover .blog-item-title{color:var(--accent)}.blog-item-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius)}.post-body{max-width:680px;color:var(--text-secondary);font-size:18px;line-height:30px}.post-body>*{margin:0 0 20px}.post-body h2{color:var(--text);letter-spacing:-.025em;text-wrap:balance;margin:48px 0 16px;font-size:26px;font-weight:600;line-height:32px}.post-body h3{color:var(--text);margin:32px 0 12px;font-size:20px;font-weight:600;line-height:28px}.post-body strong{color:var(--text);font-weight:600}.post-body ul,.post-body ol{padding-left:24px}.post-body li+li{margin-top:8px}.post-body li::marker{color:var(--accent)}.post-body a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--select-border);text-decoration-color:var(--select-border);text-underline-offset:4px;transition:text-decoration-color .16s var(--ease-out);text-decoration-thickness:1px}.post-body a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.post-body a:focus-visible,.post-end-more:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.post-body blockquote{border-left:1px solid var(--border-strong);color:var(--text);padding-left:20px}.post-body hr{background:var(--divider);border:0;height:1px;margin:40px 0}.post-end{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);max-width:680px;margin-top:64px;padding:32px}.post-end-title{color:var(--text);letter-spacing:-.02em;margin:0;font-size:22px;font-weight:600;line-height:28px}.post-end-text{color:var(--text-secondary);text-wrap:pretty;margin:8px 0 24px;font-size:16px;line-height:24px}.post-end-actions{flex-wrap:wrap;align-items:center;gap:16px 24px;display:flex}.post-end-cta{padding:0 24px}.post-end-more{color:var(--text-secondary);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:4px;font-size:16px}.post-end-more:hover{color:var(--text)}@media (max-width:640px){.blog{padding-top:36px}.post-body{font-size:17px;line-height:28px}.post-end{padding:24px 20px}}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/44ed10da57ebfb0e-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/73263b2957b73100-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/ab664c0e419cc841-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/6fca7e74603dd412-s.3bjsqkuy1d2v8.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/c1b11b726b36a5e5-s.0xluf1kzv7x5w.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/48eea41d8317494f-s.p.45487z7p3r8wm.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/44ed10da57ebfb0e-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/73263b2957b73100-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/ab664c0e419cc841-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/6fca7e74603dd412-s.3bjsqkuy1d2v8.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/c1b11b726b36a5e5-s.0xluf1kzv7x5w.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/48eea41d8317494f-s.p.45487z7p3r8wm.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/44ed10da57ebfb0e-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/73263b2957b73100-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/ab664c0e419cc841-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/6fca7e74603dd412-s.3bjsqkuy1d2v8.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/c1b11b726b36a5e5-s.0xluf1kzv7x5w.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/48eea41d8317494f-s.p.45487z7p3r8wm.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:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.bNpd4W_className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.bNpd4W_variable{--font-latin:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/ce92d22f98cba196-s.p.1hx5ub3m4e03a.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/bc75617546bfc27e-s.43ie5mg9jzk6i.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/293c566c2e1d69ac-s.1_02jizf7_zt7.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/ce92d22f98cba196-s.p.1hx5ub3m4e03a.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/bc75617546bfc27e-s.43ie5mg9jzk6i.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/293c566c2e1d69ac-s.1_02jizf7_zt7.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%}._9rjcEa_className{font-family:Noto Sans Thai,Noto Sans Thai Fallback;font-style:normal}._9rjcEa_variable{--font-thai:"Noto Sans Thai", "Noto Sans Thai Fallback"}
