:root{--brand-navy:#212f3f;--brand-teal:#13d4b9;--brand-cyan:#35cde1;--brand-blue:#287fbd;--brand-slate:#99b7ce;--brand-gradient:linear-gradient(90deg, #13d4b9, #138bb3 55%, #287fbd);--text:#475569;--text-h:var(--brand-navy);--bg:#f4f7fa;--surface:#fff;--surface-2:#eef3f7;--border:#dbe3ea;--accent:#0d7499;--ok:#15803d;--warn:#b45309;--error:#dc2626;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font:16px/1.5 system-ui,Segoe UI,Roboto,Noto Sans Thai,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#b6c6d6;--text-h:#fff;--bg:#18222e;--surface:var(--brand-navy);--surface-2:#1b2734;--border:#2f3f52;--accent:var(--brand-cyan);--ok:#22c55e;--warn:#f59e0b;--error:#f87171}}body{min-height:100svh;margin:0}a{color:var(--accent)}code{overflow-wrap:anywhere;font-family:ui-monospace,Consolas,monospace;font-size:.875em}h1{color:var(--text-h);margin:0 0 .75rem;font-size:clamp(2rem,6vw,2.75rem);line-height:1.1}.lead{margin:0 0 2rem;font-size:1.125rem}.landing{min-height:100svh;color:var(--brand-slate);background:var(--brand-navy);flex-direction:column;display:flex}.landing:before{content:"";background:var(--brand-gradient);height:4px}.hero{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.hero__logo{margin:0;line-height:0}.hero__logo img{width:min(560px,100%);height:auto}.hero__lead{color:#dbe7f0;margin:1.75rem 0 0;font-size:clamp(1.0625rem,2.5vw,1.25rem)}.landing a{color:var(--brand-cyan)}.landing a:hover{color:var(--brand-teal)}.landing__footer{text-align:center;padding:1.25rem 1rem;font-size:.8125rem}.topbar{border-bottom:3px solid;border-image:var(--brand-gradient) 1;background:var(--brand-navy)}.topbar__inner{align-items:center;gap:1rem;max-width:56rem;margin:0 auto;padding:.625rem 1rem;display:flex}.brand{align-items:center;gap:.625rem;text-decoration:none;display:inline-flex}.brand img{width:auto;height:36px;display:block}.brand__name{letter-spacing:-.01em;color:#fff;font-size:1.25rem;font-weight:700}.brand__name span{color:var(--brand-teal);background:linear-gradient(90deg, #0eadb9, var(--brand-teal));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.topbar__section{color:var(--brand-slate);margin-left:auto;font-size:.875rem}.page{max-width:40rem;margin:0 auto;padding:2.5rem 1rem 4rem}.page--wide{max-width:56rem}.test-form{flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1.5rem;display:flex}.test-form label{flex-direction:column;flex:18rem;gap:.375rem;font-size:.875rem;display:flex}.test-form input,.test-form button{font:inherit;border-radius:.5rem;padding:.5rem .875rem;font-size:1rem}.test-form input{border:1px solid var(--border);color:var(--text-h);background:var(--surface)}.test-form button{color:var(--brand-navy);background:linear-gradient(135deg, var(--brand-teal), var(--brand-cyan));cursor:pointer;border:0;font-weight:600}.test-form button:hover{filter:brightness(1.06)}.test-form input:focus-visible,.test-form button:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:2px}.test-form button:disabled{opacity:.6;cursor:progress}.summary{margin:0 0 1rem;font-weight:600}.summary--ok{color:var(--ok)}.summary--error{color:var(--error)}.alert{border:1px solid var(--error);background:var(--surface);border-radius:.5rem;margin:0 0 1rem;padding:.75rem 1rem;font-size:.9375rem}.alert p,.alert ul{margin:.25rem 0 0}.alert ul{padding-left:1.25rem}.alert .alert__title{color:var(--error);margin:0;font-weight:600}.results{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.result{border:1px solid var(--border);border-left:4px solid var(--ok);background:var(--surface);border-radius:.5rem;padding:.75rem 1rem}.result--error{border-left-color:var(--error)}.result__head{flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;display:flex}.result__badge{color:var(--ok);font-size:.75rem;font-weight:700}.result--error .result__badge{color:var(--error)}.result__name{color:var(--text-h);font-weight:600}.result__meta{font-size:.8125rem}.result__hint{color:var(--warn);margin:.5rem 0 0;font-size:.875rem}.result details{margin-top:.5rem;font-size:.8125rem}.result pre{background:var(--surface-2);border-radius:.375rem;margin:.5rem 0 0;padding:.75rem;overflow-x:auto}
