:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}html,body{width:auto!important;height:auto!important;position:static!important;overflow:visible!important}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;width:1126px;max-width:100%;margin:0 auto}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app-header{border-bottom:1px solid var(--border);padding:0 20px}@media (width>=1024px){.app-header{padding:0 32px}}.app-header-inner{justify-content:space-between;align-items:center;gap:8px;height:52px;display:flex}.app-logo{color:var(--text-h);letter-spacing:-.1px;flex-shrink:0;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.app-logo svg{color:var(--accent);width:18px;height:18px}.app-tabs{gap:2px;display:flex}.app-tab{color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:5px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,color .15s}.app-tab:hover{background:var(--code-bg);color:var(--text-h)}.app-tab-active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.app-badge{color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);letter-spacing:.2px;border-radius:20px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:500}.app-main{text-align:left;padding:16px}@media (width>=640px){.app-main{padding:24px 20px}}@media (width>=1024px){.app-main{padding:32px}}.face-mode-toggle{border:1px solid var(--border);border-radius:8px;gap:0;width:100%;margin-bottom:16px;display:flex;overflow:hidden}@media (width>=480px){.face-mode-toggle{width:auto;display:inline-flex}}.face-mode-btn{background:var(--code-bg);color:var(--text);cursor:pointer;border:none;flex:1;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,color .15s}@media (width>=480px){.face-mode-btn{flex:none;padding:8px 20px}}.face-mode-btn+.face-mode-btn{border-left:1px solid var(--border)}.face-mode-btn:hover:not(.face-mode-btn-active),.face-mode-btn-active{background:var(--accent-bg);color:var(--accent)}.response-root{flex-direction:column;gap:12px;margin-top:20px;display:flex}.response-section{border:1px solid var(--border);border-radius:8px;overflow:hidden}.response-section-header{letter-spacing:.06em;text-transform:uppercase;color:var(--text);background:var(--code-bg);border-bottom:1px solid var(--border);padding:10px 16px;font-size:12px;font-weight:600}.response-section-body{color:var(--text-h);padding:14px 16px;font-size:13px;line-height:1.6}.container-chips{flex-wrap:wrap;gap:6px;display:flex}.container-chip{border:1px solid var(--border);background:var(--code-bg);color:var(--text-h);border-radius:4px;padding:2px 10px;font-size:12px;font-weight:600}.container-chip-ocr{color:#15803d;background:#dcfce7;border-color:#86efac}@media (prefers-color-scheme:dark){.container-chip-ocr{color:#4ade80;background:#4ade801f;border-color:#4ade804d}}.response-kv{grid-template-columns:max-content 1fr;gap:4px 16px;font-size:13px;display:grid}.response-key{color:var(--text);white-space:nowrap}.response-val{color:var(--text-h);font-weight:600}.response-val-pass{color:#15803d}.response-val-fail{color:#dc2626}.response-val-skip{color:var(--text);font-weight:400}@media (prefers-color-scheme:dark){.response-val-pass{color:#4ade80}.response-val-fail{color:#f87171}}.response-hint{color:var(--text);margin-top:6px;font-size:11px}.response-warn{color:#b45309;margin-top:8px;font-size:12px}.response-raw{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:0}.response-raw summary{letter-spacing:.06em;text-transform:uppercase;color:var(--text);background:var(--code-bg);border-bottom:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;padding:10px 16px;font-size:12px;font-weight:600;list-style:none;display:flex}.response-raw summary:after{content:"▸";font-size:10px;transition:transform .2s}.response-raw[open] summary:after{transform:rotate(90deg)}.response-raw pre{font-size:12px;font-family:var(--mono);white-space:pre-wrap;word-break:break-all;color:var(--text-h);background:var(--bg);margin:0;padding:14px 16px;line-height:1.6}.doc-api-tester{border:1px solid var(--border);border-radius:8px;margin-top:32px;overflow:hidden}.dat-presets{background:var(--bg);border-bottom:1px solid var(--border);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;padding:12px;display:grid}.dat-preset-btn{border:1px solid var(--border);background:var(--code-bg);color:var(--text-h);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;width:100%;padding:10px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:flex}.dat-preset-btn:hover:not(:disabled){background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.dat-preset-btn:disabled{opacity:.55;cursor:not-allowed}.dat-preset-btn-active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.dat-preset-icon{font-size:15px;line-height:1}.dat-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dat-image-preview{border-bottom:1px solid var(--border);background:var(--bg);align-items:center;gap:14px;padding:14px 16px;display:flex}.dat-image-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text);white-space:nowrap;font-size:11px;font-weight:600}.dat-image{border:1px solid var(--border);object-fit:contain;border-radius:6px;max-width:min(160px,40vw);max-height:100px}.ds-root{--ds-text:var(--text,#6b6375);--ds-text-h:var(--text-h,#08060d);--ds-bg:var(--bg,#fff);--ds-border:var(--border,#e5e4e7);--ds-code-bg:var(--code-bg,#f4f3ec);--ds-accent:var(--accent,#aa3bff);--ds-accent-bg:var(--accent-bg,#aa3bff1a);--ds-accent-bdr:var(--accent-border,#aa3bff80);--ds-mono:var(--mono,ui-monospace, Consolas, monospace)}.ds-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.ds-label{color:var(--ds-text-h);white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.ds-select{border:1px solid var(--ds-border);background:var(--ds-bg);color:var(--ds-text-h);cursor:pointer;border-radius:6px;outline:none;padding:6px 10px;font-family:inherit;font-size:13px;transition:border-color .2s}.ds-select:focus{border-color:var(--ds-accent)}.ds-service{color:var(--ds-text);align-items:center;gap:4px;margin-left:auto;font-size:11px;display:flex;overflow:hidden}.ds-service code{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-family:var(--ds-mono);background:var(--ds-code-bg);color:var(--ds-text-h);border-radius:4px;padding:2px 6px;font-size:11px;overflow:hidden}@media (width>=640px){.ds-service code{max-width:none}}.ds-badge{letter-spacing:.1px;border:1px solid #0000;border-radius:20px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.ds-badge:before{content:"";opacity:.7;background:currentColor;border-radius:50%;width:6px;height:6px}.ds-badge-idle{color:var(--ds-text);background:var(--ds-code-bg);border-color:var(--ds-border)}.ds-badge-initializing{color:#b45309;background:#fef3c7;border-color:#fde68a}.ds-badge-ready{color:#15803d;background:#dcfce7;border-color:#86efac}.ds-badge-processing{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.ds-badge-done{color:#15803d;background:#dcfce7;border-color:#86efac}.ds-badge-error{color:#dc2626;background:#fef2f2;border-color:#fca5a5}@media (prefers-color-scheme:dark){.ds-badge-initializing{color:#fbbf24;background:#fbbf2426;border-color:#fbbf244d}.ds-badge-ready,.ds-badge-done{color:#4ade80;background:#4ade801f;border-color:#4ade804d}.ds-badge-processing{color:#60a5fa;background:#60a5fa1f;border-color:#60a5fa4d}.ds-badge-error{color:#f87171;background:#f871711f;border-color:#f871714d}}.ds-error{background:color-mix(in srgb, #ef4444 10%, var(--ds-bg));color:#ef4444;border:1px solid #ef44444d;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:13px;line-height:1.5}.ds-qr-banner{background:var(--ds-accent-bg);border:1px solid var(--ds-accent-bdr);color:var(--ds-text-h);border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:13px;line-height:1.6}.ds-qr-banner a{color:var(--ds-accent);word-break:break-all}.ds-viewport{border:1px solid var(--ds-border);background:var(--ds-code-bg);border-radius:10px;justify-content:center;align-items:center;height:75vw;min-height:320px;max-height:560px;display:flex;position:relative;overflow:clip}.fc-root{--fc-text:var(--text,#6b6375);--fc-text-h:var(--text-h,#08060d);--fc-bg:var(--bg,#fff);--fc-border:var(--border,#e5e4e7);--fc-code-bg:var(--code-bg,#f4f3ec);--fc-accent:var(--accent,#aa3bff);--fc-accent-bg:var(--accent-bg,#aa3bff1a);--fc-accent-bdr:var(--accent-border,#aa3bff80);--fc-mono:var(--mono,ui-monospace, Consolas, monospace);flex-direction:column;gap:16px;display:flex}.fc-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fc-title{color:var(--fc-text-h);font-size:13px;font-weight:600}.fc-service{color:var(--fc-text);align-items:center;gap:4px;margin-left:auto;font-size:11px;display:flex;overflow:hidden}.fc-service code{font-family:var(--fc-mono);background:var(--fc-code-bg);color:var(--fc-text-h);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;max-width:160px;padding:2px 6px;font-size:11px;overflow:hidden}@media (width>=640px){.fc-service code{max-width:none}}.fc-badge{letter-spacing:.1px;border:1px solid #0000;border-radius:20px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.fc-badge:before{content:"";opacity:.7;background:currentColor;border-radius:50%;width:6px;height:6px}.fc-badge-idle{color:var(--fc-text);background:var(--fc-code-bg);border-color:var(--fc-border)}.fc-badge-ready,.fc-badge-done{color:#15803d;background:#dcfce7;border-color:#86efac}.fc-badge-error{color:#dc2626;background:#fef2f2;border-color:#fca5a5}@media (prefers-color-scheme:dark){.fc-badge-ready,.fc-badge-done{color:#4ade80;background:#4ade801f;border-color:#4ade804d}.fc-badge-error{color:#f87171;background:#f871711f;border-color:#f871714d}}.fc-error{background:color-mix(in srgb, #ef4444 10%, var(--fc-bg));color:#ef4444;border:1px solid #ef44444d;border-radius:8px;padding:12px 16px;font-size:13px;line-height:1.5}.fc-viewport{border:1px solid var(--fc-border);background:var(--fc-code-bg);border-radius:10px;justify-content:center;align-items:center;height:75vw;min-height:320px;max-height:560px;display:flex;position:relative;overflow:clip}.fl-root{--fl-text:var(--text,#6b6375);--fl-text-h:var(--text-h,#08060d);--fl-bg:var(--bg,#fff);--fl-border:var(--border,#e5e4e7);--fl-code-bg:var(--code-bg,#f4f3ec);--fl-accent:var(--accent,#aa3bff);--fl-accent-bg:var(--accent-bg,#aa3bff1a);--fl-accent-bdr:var(--accent-border,#aa3bff80);--fl-mono:var(--mono,ui-monospace, Consolas, monospace);flex-direction:column;gap:16px;display:flex}.fl-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fl-title{color:var(--fl-text-h);font-size:13px;font-weight:600}.fl-label{color:var(--fl-text-h);align-items:center;gap:8px;margin-left:auto;font-size:13px;font-weight:600;display:flex}.fl-select{border:1px solid var(--fl-border);background:var(--fl-bg);color:var(--fl-text-h);cursor:pointer;border-radius:6px;outline:none;padding:6px 10px;font-family:inherit;font-size:13px;transition:border-color .2s}.fl-select:focus{border-color:var(--fl-accent)}.fl-service{color:var(--fl-text);align-items:center;gap:4px;font-size:11px;display:flex}.fl-service code{font-family:var(--fl-mono);background:var(--fl-code-bg);color:var(--fl-text-h);border-radius:4px;padding:2px 6px;font-size:11px}.fl-badge{letter-spacing:.1px;border:1px solid #0000;border-radius:20px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.fl-badge:before{content:"";opacity:.7;background:currentColor;border-radius:50%;width:6px;height:6px}.fl-badge-idle{color:var(--fl-text);background:var(--fl-code-bg);border-color:var(--fl-border)}.fl-badge-ready,.fl-badge-done{color:#15803d;background:#dcfce7;border-color:#86efac}.fl-badge-error{color:#dc2626;background:#fef2f2;border-color:#fca5a5}@media (prefers-color-scheme:dark){.fl-badge-ready,.fl-badge-done{color:#4ade80;background:#4ade801f;border-color:#4ade804d}.fl-badge-error{color:#f87171;background:#f871711f;border-color:#f871714d}}.fl-error{background:color-mix(in srgb, #ef4444 10%, var(--fl-bg));color:#ef4444;border:1px solid #ef44444d;border-radius:8px;padding:12px 16px;font-size:13px;line-height:1.5}.fl-viewport{border:1px solid var(--fl-border);background:var(--fl-code-bg);border-radius:10px;justify-content:center;align-items:center;height:75vw;min-height:320px;max-height:560px;display:flex;position:relative;overflow:clip}.fat-root{--fat-text:var(--text,#6b6375);--fat-text-h:var(--text-h,#08060d);--fat-bg:var(--bg,#fff);--fat-border:var(--border,#e5e4e7);--fat-code-bg:var(--code-bg,#f4f3ec);--fat-accent:var(--accent,#aa3bff);--fat-accent-bg:var(--accent-bg,#aa3bff1a);--fat-accent-bdr:var(--accent-border,#aa3bff80);--fat-mono:var(--mono,ui-monospace, Consolas, monospace);border:1px solid var(--fat-border);border-radius:8px;margin-top:32px;overflow:hidden}.fat-source-row{border-bottom:1px solid var(--fat-border);background:var(--fat-bg);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:12px;display:grid}.fat-source-group{align-items:center;gap:10px;min-width:0;display:flex}.fat-source-sep{color:var(--fat-text);text-align:center;flex-shrink:0;font-size:16px}.fat-thumb{object-fit:cover;border:1px solid var(--fat-border);border-radius:8px;flex-shrink:0;width:64px;height:64px}.fat-thumb-empty{border:1px dashed var(--fat-border);width:64px;height:64px;color:var(--fat-text);text-align:center;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;line-height:1.4;display:flex}.fat-source-actions{flex-direction:column;gap:6px;display:flex}.fat-source-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--fat-text);font-size:11px;font-weight:600}.fat-upload-btn{border:1px solid var(--fat-border);background:var(--fat-code-bg);color:var(--fat-text-h);cursor:pointer;border-radius:6px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:background .15s,border-color .15s}.fat-upload-btn:hover{background:var(--fat-accent-bg);border-color:var(--fat-accent-bdr);color:var(--fat-accent)}.fat-actions{border-bottom:1px solid var(--fat-border);background:var(--fat-bg);grid-template-columns:repeat(auto-fill,minmax(130px,1fr));align-items:center;gap:8px;padding:12px;display:grid}.fat-section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--fat-text);white-space:nowrap;grid-column:1/-1;margin-top:4px;font-size:11px;font-weight:700}.fat-section-label:first-child{margin-top:0}.fat-preset-btn{border:1px solid var(--fat-border);background:var(--fat-code-bg);color:var(--fat-text-h);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;width:100%;padding:10px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:flex}.fat-preset-btn:hover:not(:disabled){background:var(--fat-accent-bg);border-color:var(--fat-accent-bdr);color:var(--fat-accent)}.fat-preset-btn:disabled{opacity:.55;cursor:not-allowed}.fat-preset-btn-active{background:var(--fat-accent-bg);border-color:var(--fat-accent-bdr);color:var(--fat-accent)}.fat-preset-icon{font-size:15px;line-height:1}.fat-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.7s linear infinite fat-spin}@keyframes fat-spin{to{transform:rotate(360deg)}}.fat-results{flex-direction:column;gap:12px;margin-top:12px;display:flex}.fat-face-card{border:1px solid var(--fat-border);border-radius:8px;overflow:hidden}.fat-face-card-header{letter-spacing:.06em;text-transform:uppercase;color:var(--fat-text);background:var(--fat-code-bg);border-bottom:1px solid var(--fat-border);padding:8px 14px;font-size:12px;font-weight:600}.fat-face-card-body{align-items:flex-start;gap:14px;padding:12px 14px;display:flex}.fat-crop{object-fit:cover;border:1px solid var(--fat-border);border-radius:6px;flex-shrink:0;width:80px;height:80px}.fat-kv{grid-template-columns:max-content 1fr;gap:4px 12px;font-size:13px;display:grid}.fat-key{color:var(--fat-text);white-space:nowrap}.fat-val{color:var(--fat-text-h);font-weight:600}.fat-val-pass{color:#15803d;font-weight:700}.fat-val-fail{color:#dc2626;font-weight:700}@media (prefers-color-scheme:dark){.fat-val-pass{color:#4ade80}.fat-val-fail{color:#f87171}}.fat-chip{border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.fat-chip-label{opacity:.7;margin-right:2px;font-weight:400}.fat-chip-pass{color:#15803d;background:#dcfce7;border:1px solid #86efac}.fat-chip-fail{color:#dc2626;background:#fef2f2;border:1px solid #fca5a5}.fat-chip-neutral{background:var(--fat-code-bg);border:1px solid var(--fat-border);color:var(--fat-text-h)}@media (prefers-color-scheme:dark){.fat-chip-pass{color:#4ade80;background:#4ade801f;border-color:#4ade804d}.fat-chip-fail{color:#f87171;background:#f871711f;border-color:#f871714d}}.fat-empty{color:var(--fat-text);padding:8px 0;font-size:13px}.fat-error{background:color-mix(in srgb, #ef4444 10%, var(--fat-bg));color:#ef4444;border:1px solid #ef44444d;border-radius:8px;margin:0 16px 16px;padding:12px 16px;font-size:13px;line-height:1.5}.fat-raw{border:1px solid var(--fat-border);border-radius:8px;margin-top:12px;overflow:hidden}.fat-raw summary{letter-spacing:.06em;text-transform:uppercase;color:var(--fat-text);background:var(--fat-code-bg);border-bottom:1px solid var(--fat-border);cursor:pointer;justify-content:space-between;align-items:center;padding:10px 16px;font-size:12px;font-weight:600;list-style:none;display:flex}.fat-raw summary:after{content:"▸";font-size:10px;transition:transform .2s}.fat-raw[open] summary:after{transform:rotate(90deg)}.fat-raw pre{font-size:12px;font-family:var(--fat-mono);white-space:pre-wrap;word-break:break-all;color:var(--fat-text-h);background:var(--fat-bg);margin:0;padding:14px 16px;line-height:1.6}
