:root{--th-emerald:#073b2f;--th-forest:#0b241d;--th-forest-2:#0f2e25;--th-lime:#b9f45a;--th-jade:#16a878;--th-jade-ink:#0e6b50;--th-ivory:#f4f0e6;--th-ivory-2:#ebe5d6;--th-silver:#bfc8c4;--th-graphite:#17211e;--th-gold:#c6a45b;--th-gold-ink:#85651f;--background:var(--th-ivory);--surface:#fffdf8;--surface-muted:#efe9dc;--surface-sunken:#e9e2d2;--border:rgba(7,59,47,0.13);--border-strong:rgba(7,59,47,0.26);--text-primary:var(--th-graphite);--text-secondary:#4b5852;--accent:var(--th-jade-ink);--accent-strong:var(--th-emerald);--accent-fill:var(--th-jade);--signal:var(--th-lime);--success:#12704f;--warning:#8a6116;--danger:#a8322a;--low-confidence:#8a6116;--font-body-stack:var(--font-jakarta),var(--font-ibm-plex-sans-thai),"Plus Jakarta Sans","IBM Plex Sans Thai",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:var(--font-grotesk),var(--font-ibm-plex-sans-thai),"Space Grotesk","IBM Plex Sans Thai",ui-sans-serif,system-ui,sans-serif;--font-mono:var(--font-plex-mono),ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;--font-thai-stack:var(--font-ibm-plex-sans-thai),"IBM Plex Sans Thai",ui-sans-serif,system-ui,sans-serif;--font-sans:var(--font-body-stack);--leading:1.6;--radius-sm:6px;--radius:10px;--radius-lg:16px;--notch:14px;--shadow-soft:0 1px 0 rgba(7,59,47,0.04),0 6px 18px -8px rgba(11,36,29,0.14);--shadow-lift:0 2px 0 rgba(7,59,47,0.05),0 18px 34px -16px rgba(11,36,29,0.32);--motion-ease:cubic-bezier(0.2,0.8,0.2,1);--motion-spring:cubic-bezier(0.2,0.9,0.18,1.08);--lai-light:url(/brand/lai-lattice-light.svg);--lai-dark:url(/brand/lai-lattice-dark.svg);--lai-band:url(/brand/lai-band.svg);--wb-shell:#f8f6ef;--wb-line:#b4bfba;--wb-panel:var(--th-jade);--wb-deep:#0d5a45;--wb-visor:var(--th-forest);--wb-glow:var(--th-lime);--wb-gold:var(--th-gold);--wb-ink:#2c3a35;--wb-shadow:rgba(11,36,29,0.14)}html{--font-jakarta:"Plus Jakarta Sans";--font-grotesk:"Space Grotesk";--font-plex-mono:"IBM Plex Mono";--font-ibm-plex-sans-thai:"IBM Plex Sans Thai"}html[lang=th]{--font-sans:var(--font-thai-stack);--font-display:var(--font-thai-stack);--leading:1.75}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--background);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:var(--leading);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--th-lime);color:var(--th-forest)}a{color:var(--accent);text-decoration:none;text-underline-offset:3px;transition:color .16s ease,opacity .16s ease}a:hover{color:var(--accent-strong)}li a:hover,p a:hover,td a:hover{text-decoration:underline}code,kbd,pre,samp{font-family:var(--font-mono)}button,input,select,textarea{font:inherit;transition:border-color .18s var(--motion-ease),box-shadow .18s var(--motion-ease),transform .18s var(--motion-ease),background-color .18s var(--motion-ease),color .18s ease,opacity .18s ease}:focus-visible{outline:2px solid var(--accent-fill);outline-offset:2px}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(180deg,rgba(7,59,47,0) 0,rgba(7,59,47,.55) 100%),var(--lai-dark) 0 0 /56px 56px,var(--th-forest);color:#e9f3ee;padding:20px 14px 16px;position:-webkit-sticky;position:sticky;top:0;height:100vh;border-right:1px solid rgba(198,164,91,.18);display:flex;flex-direction:column;isolation:isolate}.sidebar:after{content:"";position:absolute;top:0;right:-1px;width:1px;height:100%;background:linear-gradient(180deg,transparent,var(--th-gold) 20%,var(--th-gold) 80%,transparent);opacity:.45;pointer-events:none}.sidebar-scroll{flex:1 1;overflow-y:auto;margin:0 -6px;padding:0 6px;scrollbar-width:thin;scrollbar-color:rgba(198,164,91,.35) transparent}.sidebar-foot{padding-top:12px;border-top:1px solid rgba(198,164,91,.16);margin-top:10px}.brand{font-family:var(--font-display);font-size:16px;font-weight:700;margin-bottom:18px;color:var(--th-gold)}.nav{display:grid;grid-gap:2px;gap:2px}.nav a{align-items:center;border-radius:var(--radius-sm);color:#c9dcd3;display:flex;gap:11px;min-height:38px;padding:8px 12px;position:relative;font-weight:550;font-size:13.5px;transition:background-color .18s var(--motion-ease),color .18s ease,transform .18s var(--motion-ease)}.nav a svg{flex-shrink:0;opacity:.8;transition:opacity .16s ease,color .16s ease}.nav a:hover{background:rgba(185,244,90,.06);color:#ffffff;transform:translateX(2px)}.nav a:hover svg{opacity:1}.nav a:focus-visible{outline:2px solid var(--th-lime);outline-offset:-2px}.nav a.active{background:linear-gradient(90deg,rgba(22,168,120,.28),rgba(22,168,120,.06));color:#ffffff;font-weight:700;box-shadow:inset 0 0 0 1px rgba(185,244,90,.14)}.nav a.active svg{color:var(--th-lime);opacity:1}.nav a.active:before{content:"";position:absolute;left:-8px;top:50%;width:8px;height:8px;background:var(--th-lime);transform:translateY(-50%) rotate(45deg);box-shadow:0 0 12px rgba(185,244,90,.6)}.main{min-width:0;padding:26px 32px 40px}.main:has(>.lab){padding:22px}.motion-page{animation:page-enter .38s var(--motion-ease) both}.topline{align-items:flex-end;display:flex;gap:16px 24px;justify-content:space-between;flex-wrap:wrap;margin-bottom:22px;padding:4px 0 18px;position:relative}.topline:after{bottom:0;height:10px;background:var(--lai-band) left center /40px 10px repeat-x;-webkit-mask:linear-gradient(90deg,#000,#000 140px,transparent 340px);mask:linear-gradient(90deg,#000,#000 140px,transparent 340px)}.topline:after,.topline:before{content:"";position:absolute;left:0;right:0}.topline:before{bottom:4.5px;height:1px;background:linear-gradient(90deg,transparent 0,transparent 330px,var(--border-strong) 330px,transparent)}.topline>div:first-child{min-width:0;max-width:820px}.topline .muted{margin:4px 0 0;max-width:72ch}.eyebrow,.kicker{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--th-gold-ink);margin:0 0 6px;display:inline-flex;align-items:center;gap:8px}.kicker:before{content:"";width:7px;height:7px;background:var(--th-jade);transform:rotate(45deg);flex-shrink:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2}h1{font-size:clamp(26px,2.3vw,34px);letter-spacing:-.02em;margin:0 0 6px}h1,h2{color:var(--heading-ink,var(--th-forest))}h2{font-size:17px;letter-spacing:-.01em;margin:0 0 12px}h3{color:var(--heading-ink,var(--th-forest))}html[lang=th] h1,html[lang=th] h2,html[lang=th] h3{letter-spacing:0;line-height:1.4}.muted{color:var(--text-secondary)}.grid{grid-gap:14px;grid-template-columns:repeat(4,minmax(150px,1fr))}.grid,.two{display:grid;gap:14px}.two{grid-gap:14px;grid-template-columns:minmax(0,1fr) 340px}.cards{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.map-layout{display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,1fr) 320px}.card,.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-soft);position:relative;transition:transform .22s var(--motion-ease),box-shadow .22s var(--motion-ease),border-color .22s var(--motion-ease)}.card:before,.panel:before{content:"";position:absolute;top:-1px;left:-1px;width:14px;height:14px;border-top:2px solid var(--corner-mark,var(--th-jade));border-left:2px solid var(--corner-mark,var(--th-jade));border-top-left-radius:var(--radius);opacity:0;transition:opacity .22s ease;pointer-events:none}.card:hover,.panel:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lift)}.card:hover:before,.panel:hover:before{opacity:1}.card:hover{transform:translateY(-3px)}.card>h2:first-child,.panel>h2:first-child{display:flex;align-items:center;gap:9px}.panel>h2:first-child:before{content:"";width:7px;height:7px;background:var(--h2-mark,var(--th-gold));transform:rotate(45deg);flex-shrink:0}.motion-panel{transition:transform .22s var(--motion-ease),box-shadow .22s var(--motion-ease),border-color .22s var(--motion-ease)}.motion-panel:hover{transform:translateY(-2px)}.motion-pop{animation:motion-pop .26s var(--motion-ease) both}.motion-fade{animation:motion-fade .28s ease-out both}.motion-sweep{position:relative;overflow:hidden}.motion-sweep:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.2) 50%,transparent);transform:translateX(-110%);transition:transform .42s ease;pointer-events:none}.motion-sweep:hover:after{transform:translateX(110%)}@keyframes motion-pop{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes motion-fade{0%{opacity:0}to{opacity:1}}.stat{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--th-forest);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15}.stat-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;display:flex;gap:14px;align-items:flex-start;box-shadow:var(--shadow-soft);position:relative;overflow:hidden;transition:transform .22s var(--motion-ease),box-shadow .22s var(--motion-ease),border-color .22s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);border-color:var(--border-strong)}.metric-card p{margin:0;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);font-weight:500;line-height:1.4}.metric-card strong{display:block;font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.03em;color:var(--th-forest);margin-top:2px;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metric-card small{display:block;font-size:11.5px;color:var(--text-secondary);margin-top:4px}.metric-icon{color:var(--th-lime);background:var(--th-emerald);width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(185,244,90,.18)}.bar-list{display:flex;flex-direction:column;gap:12px}.bar-row-head{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:5px}.bar-row-head strong{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--th-forest);white-space:nowrap}.bar-track{height:8px;background:var(--surface-muted);border-radius:2px;overflow:hidden;position:relative}.bar-track.thin{height:6px}.bar-fill{height:100%;background:linear-gradient(90deg,var(--th-emerald),var(--th-jade));border-radius:2px;position:relative;transform-origin:left;animation:bar-grow .7s var(--motion-ease) both}.bar-fill:after{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;background:var(--th-lime)}.bar-fill.ok{background:var(--th-jade)}.bar-fill.warn{background:var(--th-gold)}.bar-fill.low{background:#c98a5a}.bar-fill.low:after,.bar-fill.ok:after,.bar-fill.warn:after{display:none}@keyframes bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.button,button{background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;color:var(--accent-strong);font-weight:650;font-size:13.5px;cursor:pointer;display:inline-flex;gap:7px;align-items:center;justify-content:center;min-height:40px;padding:8px 18px;position:relative;overflow:hidden;line-height:1.3;transition:transform .18s var(--motion-spring),box-shadow .18s var(--motion-ease),border-color .18s ease,background-color .18s ease,color .18s ease}.button:after,button:not(.MuiButtonBase-root):after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent,rgba(255,255,255,.26) 45%,transparent 70%);pointer-events:none;transform:translateX(-120%);transition:transform .52s var(--motion-ease)}.button:hover,button:hover{transform:translateY(-1px);box-shadow:0 8px 18px -8px rgba(7,59,47,.35);border-color:var(--accent-fill);color:var(--accent-strong)}.button:hover:after,button:not(.MuiButtonBase-root):hover:after{transform:translateX(120%)}.button:active,button:active{transform:translateY(0) scale(.98)}.button:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-fill);outline-offset:2px}.button.primary,button.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#ffffff}.button.primary:hover,button.primary:hover{background:var(--btn-primary-hover,var(--th-forest));border-color:var(--btn-primary-hover,var(--th-forest));color:var(--btn-primary-hover-ink,var(--th-lime))}.button.signal{background:var(--th-lime);border-color:var(--th-lime);color:var(--th-forest)}.button.signal:hover{background:#c9fb72;color:var(--th-forest);border-color:#c9fb72}button:disabled,button:disabled:hover{cursor:not-allowed;opacity:.6;transform:none;box-shadow:none}input,select,textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);min-height:40px;padding:8px 12px;max-width:100%}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.5 6 8.5l4-4' fill='none' stroke='%230e6b50' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}textarea{min-height:80px;line-height:1.5}input::placeholder,textarea::placeholder{color:#7e8a84}input:hover,select:hover,textarea:hover{border-color:rgba(14,107,80,.5)}input:focus,select:focus,textarea:focus{border-color:var(--accent-fill);box-shadow:0 0 0 4px var(--focus-halo,rgba(22,168,120,.14));outline:none}input[type=checkbox],input[type=radio]{min-height:0;accent-color:var(--th-jade)}.form{display:grid;grid-gap:12px;gap:12px;max-width:780px}.form label{display:grid;grid-gap:5px;gap:5px;font-weight:600;font-size:13px;color:var(--th-forest)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;box-shadow:var(--shadow-soft);max-width:100%}table{border-collapse:collapse;min-width:880px;width:100%}td,th{border-bottom:1px solid var(--border);padding:10px 12px;text-align:left;vertical-align:top}th{background:var(--table-head-bg,var(--th-forest));color:var(--table-head-ink,#d6e6de);font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;position:-webkit-sticky;position:sticky;top:0;border-bottom:2px solid var(--table-head-rule,var(--th-gold))}tbody tr{transition:background-color .16s ease}tbody tr:nth-child(2n){background:rgba(239,233,220,.4)}tbody tr:hover{background:rgba(22,168,120,.07)}tbody tr:last-child td{border-bottom:0}.badge{background:var(--surface-muted);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);display:inline-block;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.02em;line-height:1.5;padding:2px 8px}.badge.ok{background:#e3f4ec;border-color:rgba(22,168,120,.45);color:#0c5a43}.badge.warn{background:#f8efd9;border-color:rgba(198,164,91,.6);color:#6f5212}.badge.danger{background:#f8e4e1;border-color:rgba(168,50,42,.4);color:var(--danger)}.notice{background:#f8f1df;border:1px solid rgba(198,164,91,.45);border-left:3px solid var(--th-gold);border-radius:var(--radius-sm);margin:10px 0;padding:11px 14px;font-size:13.5px;animation:notice-enter .26s var(--motion-ease) both}.notice.ok{background:#e6f5ee;border-color:rgba(22,168,120,.4);border-left-color:var(--th-jade)}.notice.danger{background:#f9e7e4;border-color:rgba(168,50,42,.3);border-left-color:var(--danger)}.notice.warn{background:#f8f1df}.empty{padding:24px}.empty,.empty-state{color:var(--text-secondary);text-align:center}.empty-state{display:grid;justify-items:center;grid-gap:8px;gap:8px;padding:28px 16px}.empty-state strong{font-family:var(--font-display);color:var(--th-forest);font-size:16px}.robot-viewer-frame{width:100%;height:100%;overflow:hidden;position:relative}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:60px;background:var(--th-forest);color:#eef7f2;align-items:center;justify-content:space-between;padding:0 16px;z-index:1000;border-bottom:1px solid rgba(198,164,91,.3)}.mobile-brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}.mobile-logo-img{flex-shrink:0}.mobile-title{font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.06em;color:#ffffff;text-transform:uppercase;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-title b{color:var(--th-lime);font-weight:700}.mobile-profile{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(198,164,91,.5);color:var(--th-gold);transition:background-color .2s ease}.mobile-profile:hover{background:rgba(198,164,91,.12);color:var(--th-gold)}.mobile-tab-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom, 0px));background:var(--th-forest);border-top:1px solid rgba(198,164,91,.3);justify-content:space-around;align-items:stretch;z-index:1000;padding-bottom:env(safe-area-inset-bottom,0)}.tab-item{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 1;min-width:0;text-decoration:none;color:#9fbcb0;position:relative;transition:color .18s ease,background-color .18s ease}.tab-item:before{content:"";position:absolute;top:-1px;left:50%;width:22px;height:3px;background:var(--th-lime);border-radius:0 0 3px 3px;transform:translateX(-50%) scaleX(0);transition:transform .22s var(--motion-ease)}.tab-item.active:before{transform:translateX(-50%) scaleX(1)}.tab-item.active,.tab-item:hover{color:#ffffff}.tab-item.active .tab-icon{color:var(--th-lime)}.tab-icon{color:inherit;transition:color .2s ease,transform .18s var(--motion-spring)}.tab-item.active .tab-icon{transform:translateY(-1px)}.tab-label{font-size:10px;font-weight:650;margin-top:4px;letter-spacing:.02em;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2px}.data-pull-fab{bottom:24px;position:fixed;right:24px;z-index:1100;width:56px;height:56px;padding:0;border-radius:16px;background:var(--th-emerald)!important;color:var(--th-lime)!important;border:1px solid rgba(185,244,90,.35);display:flex;align-items:center;justify-content:center;cursor:pointer;transform:rotate(0deg);box-shadow:0 14px 30px -10px rgba(7,59,47,.55);animation:fab-enter .42s var(--motion-spring) both;transition:transform .18s var(--motion-spring),box-shadow .18s ease,background-color .18s ease}.data-pull-fab:hover{background:var(--th-forest)!important;color:var(--th-lime)!important;transform:translateY(-3px);box-shadow:0 18px 34px -10px rgba(7,59,47,.6)}.data-pull-fab:active{transform:translateY(0) scale(.96)}.lang-selector{display:flex;background:rgba(0,0,0,.22);border:1px solid rgba(198,164,91,.28);border-radius:999px;padding:3px;gap:2px;transition:opacity .3s ease}.lang-selector.loading{opacity:.65}.lang-selector button{flex:1 1;background:transparent;border:none;border-radius:999px;color:#a9c4b8;font-size:11.5px;font-weight:700;letter-spacing:.06em;padding:5px 8px;min-height:32px;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;box-shadow:none}.lang-selector button:after{display:none}.lang-selector button:hover{color:#ffffff;background:rgba(255,255,255,.06);transform:none;box-shadow:none}.lang-selector button.active{background:var(--th-lime);color:var(--th-forest)}.lang-selector button:disabled{cursor:progress;opacity:.6}.lang-selector button .flag{font-size:14px;line-height:1}.brand-logo-container{margin:0 6px 20px;display:block;width:auto}.brand-lockup{display:flex;align-items:center;gap:11px;color:#ffffff;text-decoration:none}.brand-lockup:hover{color:#ffffff}.brand-lockup .atlas-logo{transition:transform .26s var(--motion-ease),filter .26s ease}.brand-lockup:hover .atlas-logo{transform:translateY(-1px);filter:drop-shadow(0 6px 14px rgba(185,244,90,.18))}.brand-sub{display:block;margin-top:12px;padding-top:10px;border-top:1px dashed rgba(198,164,91,.3);font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(198,164,91,.85)}.brand-logo{width:100%;max-width:180px;height:auto;object-fit:contain}.card-banner{margin:-20px -20px 16px;height:150px;overflow:hidden;border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;border-bottom:1px solid var(--border);position:relative}.card-banner img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--motion-ease)}.card:hover .card-banner img{transform:scale(1.05)}.source-thumbnail-empty{background:var(--lai-dark) center /56px 56px,linear-gradient(135deg,var(--th-forest),var(--th-emerald));color:rgba(233,243,238,.75);font-family:var(--font-mono);font-size:10.5px;font-weight:500;height:100%;letter-spacing:.14em;text-transform:uppercase;width:100%}.modal-backdrop,.source-thumbnail-empty{align-items:center;display:flex;justify-content:center}.modal-backdrop{position:fixed;inset:0;background:rgba(5,18,14,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;padding:16px;animation:modal-fadeIn .25s ease-out}.modal-container{background:var(--lai-dark) 0 0 /56px 56px,linear-gradient(160deg,var(--th-emerald),var(--th-forest) 70%);border:1px solid rgba(198,164,91,.35);border-radius:var(--radius-lg);width:100%;max-width:460px;max-height:calc(100vh - 32px);overflow-y:auto;padding:24px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);animation:modal-slideUp .3s var(--motion-ease);color:#ffffff}.modal-container h2{font-size:20px;margin:0 0 16px;color:#ffffff;display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(198,164,91,.25);padding-bottom:12px}.modal-container .form label{color:#b9d0c5;font-family:var(--font-mono);font-size:10.5px;font-weight:500;margin-bottom:4px;text-transform:uppercase;letter-spacing:.1em}.modal-container .form input,.modal-container .form select{background-color:rgba(0,0,0,.25);border:1px solid rgba(185,244,90,.22);color:#ffffff;font-size:14px;width:100%}.modal-container .form input:focus,.modal-container .form select:focus{border-color:var(--th-lime);box-shadow:0 0 0 3px rgba(185,244,90,.15)}.modal-container .form select option{color:var(--text-primary)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;border-top:1px solid rgba(198,164,91,.25);padding-top:16px}.modal-actions button{font-size:13px;min-height:40px}.modal-actions button[type=button]{background:transparent;border:1px solid rgba(255,255,255,.25);color:#d4e4dc}.modal-actions button[type=button]:hover{background:rgba(255,255,255,.06);color:#ffffff}.modal-actions button[type=submit]{background:var(--th-lime);border:1px solid var(--th-lime);color:var(--th-forest)}.modal-actions button[type=submit]:hover{background:#c9fb72;color:var(--th-forest)}.modal-actions button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.animate-spin{animation:modal-spin 1s linear infinite}@keyframes modal-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes modal-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modal-slideUp{0%{transform:translateY(12px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes notice-enter{0%{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:translateX(0)}}@keyframes fab-enter{0%{opacity:0;transform:translateY(14px) scale(.86)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:1100px){.main{padding:22px 22px 36px}}@media (max-width:860px){.app-shell{display:block;padding-top:60px;padding-bottom:calc(72px + env(safe-area-inset-bottom, 0px))}.sidebar{display:none!important}.mobile-header,.mobile-tab-nav{display:flex}.main,.main:has(>.lab){padding:16px}.data-pull-fab{bottom:calc(84px + env(safe-area-inset-bottom, 0px));right:16px}.grid,.map-layout,.two{grid-template-columns:1fr}.topline{display:block}.topline .toolbar{margin-top:12px}h1{font-size:24px}.card,.panel{padding:16px}.card-banner{margin:-16px -16px 14px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}.db-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;grid-gap:12px;gap:12px;align-items:end;margin-bottom:16px}.db-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--th-forest)}.db-preview{padding:14px}.db-preview-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.db-preview-head h2{margin:0;font-size:13px;font-family:var(--font-mono);font-weight:500;text-transform:uppercase;letter-spacing:.08em}.db-preview-head h2 code{color:var(--accent);text-transform:none}.db-table{box-shadow:none;border-radius:var(--radius-sm)}.db-table table{font-family:var(--font-mono);font-size:11px;white-space:nowrap}.db-table td,.db-table th{border-right:1px solid var(--border);padding:6px 9px}.db-table th{font-size:10px;letter-spacing:.06em;text-transform:none}.db-table td.is-null{color:#8c9690}.db-table td.is-redacted{color:var(--th-gold-ink);background:repeating-linear-gradient(135deg,rgba(198,164,91,.08) 0 6px,transparent 6px 12px)}.db-table td.empty{text-align:center;padding:20px;font-family:var(--font-body-stack);white-space:normal}@media (max-width:768px){.db-form{grid-template-columns:1fr}.db-form .query-btn{width:100%}}.dash-grid{align-items:start;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));grid-gap:16px;gap:16px;margin-top:12px}.dash-grid--conf{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.dash-section-title{margin-top:30px;font-size:20px;display:flex;align-items:center;gap:10px}.dash-section-title:before{content:"";width:4px;height:20px;background:var(--th-jade);border-radius:2px}.bar-list--tight{gap:10px;margin-top:10px}.bar-row-head--sm{font-size:12px}.bar-row-head span{min-width:0;overflow-wrap:anywhere}td.num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.lab{--accent-fill:var(--lab-cyan);--focus-halo:rgba(95,130,69,0.18);--btn-primary-hover:var(--lab-ink);--btn-primary-hover-ink:#ffffff;--heading-ink:var(--text-primary);--table-head-bg:var(--lab-navy);--table-head-ink:#dbe7f1;--table-head-rule:var(--lab-cyan);--corner-mark:var(--lab-cyan);--h2-mark:var(--lab-cyan);--wb-panel:var(--ll-data-passport,#5f8245);--wb-deep:var(--lab-navy);--wb-glow:var(--ll-green,#b5c99a)}.lab select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.5 6 8.5l4-4' fill='none' stroke='%23173a6b' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E")}.lab tbody tr:nth-child(2n){background:rgba(233,237,242,.5)}.lab tbody tr:hover{background:var(--lab-tint)}form label{min-width:0}form label>input:not([type=checkbox]):not([type=radio]),form label>select{width:100%;min-width:0}.playground{display:grid;grid-gap:16px;gap:16px;min-width:0}.playground>*{min-width:0}.playground-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));grid-gap:12px;gap:12px}.playground-controls>div{min-width:0;display:grid;grid-gap:5px;gap:5px}.playground-controls .muted{font-size:12px;font-weight:600;color:var(--th-forest)}html[lang=th] :is(.kicker,.eyebrow,.ov-eyebrow,.ov-label,.metric-card p,.ov-annot,.terminal-header h3,.brand-sub,.splash-brand,.ov-tile-index,.db-preview-head h2){font-family:var(--font-thai-stack);letter-spacing:0;text-transform:none}