:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f6f3;--surface:#fff;--surface-2:#f1f1ed;--surface-3:#e7e7e2;--border:#e0e0da;--border-strong:#c9c9c1;--text:#1c1c1a;--text-2:#53534d;--text-3:#83837b;--accent:#0f766e;--accent-hover:#0b5f58;--accent-soft:#e2f1ef;--accent-text:#fff;--focus:#2563eb;--ok:#157f3c;--ok-soft:#e4f3e9;--warn:#a8530a;--warn-soft:#fbefdc;--danger:#b42318;--danger-soft:#fbe8e6;--info:#1d4ed8;--info-soft:#e6edfc;--neutral:#5f5f58;--neutral-soft:#ecece7;--shadow:0 1px 2px #0000000d;--radius:8px;--radius-sm:5px;--font-ui:system-ui, -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Noto Sans Thai", "Sarabun", "Leelawadee UI", sans-serif;--font-thai:"Noto Sans Thai", "Sarabun", "Leelawadee UI", "Thonburi", "Tahoma", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--tc-0:var(--tone-0);--tc-1:var(--tone-1);--tc-2:var(--tone-2);--tc-3:var(--tone-3);--tc-4:var(--tone-4)}@media (prefers-color-scheme:dark){:root:not(:has(.app-root[data-theme=light])){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#121312;--surface:#1a1b19;--surface-2:#222320;--surface-3:#2c2d2a;--border:#2f302c;--border-strong:#42433e;--text:#ebebe7;--text-2:#b3b3ab;--text-3:#85857d;--accent:#3fb3a5;--accent-hover:#5cc6b9;--accent-soft:#163330;--accent-text:#07201d;--focus:#7aa2ff;--ok:#5fcf86;--ok-soft:#15291c;--warn:#f0b052;--warn-soft:#2f2412;--danger:#f2827a;--danger-soft:#341815;--info:#92b1fb;--info-soft:#18223a;--neutral:#b3b3ab;--neutral-soft:#2a2b28;--shadow:none;--tc-0:color-mix(in oklab, var(--tone-0) 55%, white);--tc-1:color-mix(in oklab, var(--tone-1) 60%, white);--tc-2:color-mix(in oklab, var(--tone-2) 62%, white);--tc-3:color-mix(in oklab, var(--tone-3) 62%, white);--tc-4:color-mix(in oklab, var(--tone-4) 60%, white)}}:root:has(.app-root[data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#121312;--surface:#1a1b19;--surface-2:#222320;--surface-3:#2c2d2a;--border:#2f302c;--border-strong:#42433e;--text:#ebebe7;--text-2:#b3b3ab;--text-3:#85857d;--accent:#3fb3a5;--accent-hover:#5cc6b9;--accent-soft:#163330;--accent-text:#07201d;--focus:#7aa2ff;--ok:#5fcf86;--ok-soft:#15291c;--warn:#f0b052;--warn-soft:#2f2412;--danger:#f2827a;--danger-soft:#341815;--info:#92b1fb;--info-soft:#18223a;--neutral:#b3b3ab;--neutral-soft:#2a2b28;--shadow:none;--tc-0:color-mix(in oklab, var(--tone-0) 55%, white);--tc-1:color-mix(in oklab, var(--tone-1) 60%, white);--tc-2:color-mix(in oklab, var(--tone-2) 62%, white);--tc-3:color-mix(in oklab, var(--tone-3) 62%, white);--tc-4:color-mix(in oklab, var(--tone-4) 60%, white)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}.app-root{min-height:100dvh}.app-root:lang(th){line-height:1.6}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.3}h1{font-size:20px}h2{font-size:15px}h3{font-size:14px}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}code,pre,.mono{font-family:var(--font-mono);font-size:12.5px}.muted{color:var(--text-2)}.subtle{color:var(--text-3);font-size:12.5px}.nowrap{white-space:nowrap}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stack{flex-direction:column;gap:16px;display:flex}.stack-sm{flex-direction:column;gap:8px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.page{flex-direction:column;gap:20px;max-width:1440px;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.page-header .lede{color:var(--text-2);max-width:72ch;margin-top:4px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card-flush{padding:0;overflow:hidden}.card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.card-flush>.card-header{border-bottom:1px solid var(--border);margin:0;padding:12px 16px}.section-title{color:var(--text-3);letter-spacing:.02em;font-size:12px;font-weight:600}dl.meta{grid-template-columns:max-content 1fr;gap:6px 14px;margin:0;display:grid}dl.meta dt{color:var(--text-3);padding-top:1px;font-size:12.5px}dl.meta dd{min-width:0;margin:0}.table-wrap{overflow-x:auto}table.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:8px 12px}.table th{color:var(--text-3);background:var(--surface-2);white-space:nowrap;font-size:12px;font-weight:600}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:color-mix(in oklab, var(--surface-2) 55%, transparent)}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table tr.sub-row td{background:color-mix(in oklab, var(--surface-2) 40%, transparent)}.badge{white-space:nowrap;background:var(--neutral-soft);color:var(--neutral);border-radius:999px;align-items:center;gap:5px;padding:1px 8px;font-size:12px;line-height:18px;display:inline-flex}.badge:before{content:"";opacity:.85;background:currentColor;border-radius:50%;width:6px;height:6px}.badge.plain:before{display:none}.badge.tone-ok{background:var(--ok-soft);color:var(--ok)}.badge.tone-warn{background:var(--warn-soft);color:var(--warn)}.badge.tone-danger{background:var(--danger-soft);color:var(--danger)}.badge.tone-info{background:var(--info-soft);color:var(--info)}.badge.tone-accent{background:var(--accent-soft);color:var(--accent)}.badge.pulse:before{animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.25}}.aspect-badges{flex-wrap:wrap;gap:4px;display:inline-flex}.aspect-badges .badge{padding:1px 7px}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:32px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:5px 12px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2);text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{color:var(--danger);border-color:color-mix(in oklab, var(--danger) 45%, var(--border))}.btn-danger:hover{background:var(--danger-soft)}.btn-ghost{background:0 0;border-color:#0000}.btn-sm{min-height:26px;padding:2px 9px;font-size:12.5px}.btn[aria-pressed=true],.btn[aria-current=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.segmented{border:1px solid var(--border-strong);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.segmented .btn{border:0;border-radius:0;min-height:28px}.segmented .btn+.btn{border-left:1px solid var(--border)}kbd,.kbd{border:1px solid var(--border-strong);background:var(--surface-2);min-width:18px;color:var(--text-2);font-family:var(--font-mono);text-align:center;border-bottom-width:2px;border-radius:4px;padding:0 5px;font-size:11px;line-height:16px;display:inline-block}.btn kbd{opacity:.8;margin-left:2px}.btn-primary kbd{color:inherit;border-color:color-mix(in oklab, currentColor 50%, transparent);background:0 0}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field>label,.label{color:var(--text-2);font-size:12.5px;font-weight:600}.hint{color:var(--text-3);font-size:12px}.input,.select,.textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:34px;color:var(--text);font:inherit;padding:6px 10px}.textarea{resize:vertical;min-height:64px}.input:focus,.select:focus,.textarea:focus{outline:2px solid color-mix(in oklab, var(--focus) 60%, transparent);outline-offset:0;border-color:var(--focus)}.input.thai,.textarea.thai{font-family:var(--font-thai);font-size:17px;line-height:1.7}[aria-invalid=true]{border-color:var(--danger)!important}.field-error{color:var(--danger);font-size:12px}.form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.checks{flex-wrap:wrap;gap:6px;display:flex}.check-pill{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-size:13px;display:inline-flex}.check-pill:has(input:checked){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.check-pill input{accent-color:var(--accent);margin:0}.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:flex-end;gap:16px;padding:12px 16px;display:flex}.filter-bar .field{min-width:140px}.notice{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);padding:10px 14px}.notice.tone-danger{background:var(--danger-soft);border-color:color-mix(in oklab, var(--danger) 30%, transparent);color:var(--danger)}.notice.tone-ok{background:var(--ok-soft);border-color:color-mix(in oklab, var(--ok) 30%, transparent);color:var(--ok)}.notice.tone-warn{background:var(--warn-soft);border-color:color-mix(in oklab, var(--warn) 30%, transparent);color:var(--warn)}.inline-status{font-size:12.5px}.inline-status.tone-ok{color:var(--ok)}.inline-status.tone-danger{color:var(--danger)}.empty{text-align:center;color:var(--text-3);padding:36px 16px}.empty .btn{margin-top:12px}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-2) 0%, var(--surface-3) 50%, var(--surface-2) 100%);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton,.badge.pulse:before{animation:none}}details.disclosure>summary{cursor:pointer;color:var(--text-2);font-size:12.5px;list-style:none}details.disclosure>summary::-webkit-details-marker{display:none}details.disclosure>summary:before{content:"▸ ";color:var(--text-3)}details.disclosure[open]>summary:before{content:"▾ "}pre.json{border-radius:var(--radius-sm);background:var(--surface-2);white-space:pre-wrap;word-break:break-word;max-height:260px;margin:6px 0 0;padding:8px 10px;overflow:auto}.thai{font-family:var(--font-thai);line-height:1.75}.thai-lg{font-size:34px;line-height:1.9}.thai-md{font-size:19px}.thai-sm{font-size:16px}.thai-tokens ruby{ruby-position:under;margin-right:.06em}.thai-tokens rt{font-family:var(--font-ui);letter-spacing:0;padding-top:2px;font-size:max(11px,.36em);line-height:1.4}.tone-c0{color:var(--tc-0)}.tone-c1{color:var(--tc-1)}.tone-c2{color:var(--tc-2)}.tone-c3{color:var(--tc-3)}.tone-c4{color:var(--tc-4)}.tok-mixed{background-position:0 100%;background-repeat:no-repeat;background-size:100% 3px;padding-bottom:1px}.rom-line{color:var(--text-2);letter-spacing:.01em;font-size:14px}.tone-legend{color:var(--text-3);flex-wrap:wrap;gap:4px 12px;font-size:12px;display:flex}.tone-legend span:before{content:"";vertical-align:-1px;background:currentColor;border-radius:2px;width:9px;height:9px;margin-right:5px;display:inline-block}audio{width:100%;height:34px}.media-img{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);width:100%;height:auto;display:block}
