*,*:before,*:after{box-sizing:border-box}:root,[data-theme=light]{color-scheme:light;--bg: #f4f1ea;--fg: #1c1917;--surface: #fffdf8;--border: #e4ddd0;--muted: #57534e;--muted-2: #78716c;--accent: #0f4c3a;--accent-hover: #0b3a2c;--accent-soft: #d9efe4;--input-bg: #fff;--input-border: #d6d0c4;--input-disabled-bg: #f5f2ea;--input-disabled-fg: #a8a29e;--hint: #b45309;--error: #9f1239;--error-bg: #fff1f2;--error-border: #fecdd3;--warning-bg: #fffbeb;--warning-border: #fde68a;--code-bg: #1c1917;--code-fg: #f5f0e6;--btn-bg: #0f4c3a;--btn-fg: #fff;--btn-hover: #0b3a2c;--btn-disabled: #a8a29e}[data-theme=dark]{color-scheme:dark;--bg: #16130f;--fg: #eee8de;--surface: #221e18;--border: #3c362c;--muted: #c4b7a6;--muted-2: #a39686;--accent: #8fceb8;--accent-hover: #b3e0d0;--accent-soft: #1c3a30;--input-bg: #2a251f;--input-border: #4a4338;--input-disabled-bg: #1b1814;--input-disabled-fg: #6f675c;--hint: #e0b04a;--error: #f48b9a;--error-bg: #3a1c22;--error-border: #7a2a38;--warning-bg: #332910;--warning-border: #7a641c;--code-bg: #0e0c0a;--code-fg: #f5f0e6;--btn-bg: #3d7a64;--btn-fg: #f3eee6;--btn-hover: #4a8f75;--btn-disabled: #5c574f}html,body{background:var(--bg);color:var(--fg)}body{margin:0;min-height:100svh;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang TC,Noto Sans TC,Microsoft JhengHei,sans-serif}#app,.shell{min-height:100svh}a{color:inherit}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border)}.topbar-end{display:flex;align-items:center;gap:1rem}.brand{font-weight:700;text-decoration:none;letter-spacing:.02em}.nav{display:flex;gap:1rem;font-size:.92rem}.nav a{text-decoration:none;color:var(--muted)}.nav a.router-link-active{color:var(--accent);font-weight:600}.theme-switch{display:inline-flex;flex-shrink:0;align-items:center;gap:.4rem;padding:.15rem;font:inherit;color:var(--muted-2);background:transparent;border:0;border-radius:999px;cursor:pointer}.theme-switch-icon{display:flex;width:1.05rem;height:1.05rem}.theme-switch-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.theme-switch-moon svg{fill:currentColor;stroke:none}.theme-switch[aria-checked=false] .theme-switch-sun,.theme-switch[aria-checked=true] .theme-switch-moon{color:var(--accent)}.theme-switch-track{position:relative;width:36px;height:20px;border-radius:999px;background:var(--input-disabled-bg);border:1px solid var(--border)}.theme-switch[aria-checked=true] .theme-switch-track{background:var(--accent-soft);border-color:var(--accent)}.theme-switch-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--fg);transition:transform .18s ease}.theme-switch[aria-checked=true] .theme-switch-thumb{transform:translate(16px)}.theme-switch:hover .theme-switch-track{border-color:var(--muted)}.theme-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.theme-switch-thumb{transition:none}}.page{max-width:52rem;margin:0 auto;padding:2rem 1.25rem 3rem}.page-narrow{max-width:34rem}.eyebrow{margin:0 0 .4rem;color:var(--accent);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1{margin:0 0 .5rem;font-size:1.7rem;line-height:1.25}.lede,.subtitle{margin:0 0 1.5rem;color:var(--muted);font-size:.95rem;line-height:1.6}.meta-inline{color:var(--muted-2)}.tool-grid{display:grid;gap:1rem}.tool-card{display:block;padding:1.15rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;text-decoration:none}.tool-card h2{margin:.35rem 0 .4rem;font-size:1.2rem}.tool-card p{margin:0;color:var(--muted);line-height:1.55}.tool-status{display:inline-block;padding:.12rem .45rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.75rem;font-weight:700}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field-label{font-weight:700;font-size:.9rem}.app-select{position:relative;z-index:1}.app-select[data-open=true]{z-index:4}.app-select-trigger{display:flex;align-items:center;gap:.5rem;width:100%;padding:.55rem .65rem;font:inherit;color:var(--fg);text-align:left;border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg);cursor:pointer}.app-select-trigger:hover:not(:disabled){border-color:var(--muted)}.app-select-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-select[data-open=true] .app-select-trigger{border-color:var(--accent)}.app-select-trigger:disabled{background:var(--input-disabled-bg);color:var(--input-disabled-fg);cursor:not-allowed}.app-select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-select-value[data-placeholder=true]{color:var(--muted-2)}.app-select-trigger:disabled .app-select-value{color:inherit}.app-select-chevron{flex-shrink:0;width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;color:var(--muted-2);transition:transform .18s ease}.app-select[data-open=true] .app-select-chevron{transform:rotate(180deg)}.app-select-trigger:disabled .app-select-chevron{color:var(--input-disabled-fg)}.app-select-panel{position:absolute;left:0;right:0;z-index:5;max-height:16.5rem;overflow:auto;padding:.3rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px color-mix(in srgb,var(--fg) 12%,transparent)}.app-select-panel[data-placement=bottom]{top:calc(100% + 4px)}.app-select-panel[data-placement=top]{bottom:calc(100% + 4px)}.app-select-group-label{position:sticky;top:-.3rem;z-index:1;margin:0 -.3rem;padding:.4rem .85rem .28rem;color:var(--muted);font-size:.8rem;font-weight:600;letter-spacing:.04em;background:var(--surface)}.app-select-option:not([data-empty])+.app-select-group-label{margin-top:.2rem;padding-top:.55rem;border-top:1px solid var(--border)}.app-select-option{padding:.48rem .55rem;border-radius:6px;line-height:1.45;cursor:pointer}.app-select-group-label~.app-select-option{padding-left:1.15rem}.app-select-option[aria-selected=true]{color:var(--accent);font-weight:600}.app-select-option[data-active=true]{background:var(--accent-soft)}@media(prefers-reduced-motion:reduce){.app-select-chevron{transition:none}}.field-hint{color:var(--hint);font-size:.85rem}.preview,.stat,.catalog-group,.issue-list{margin:1.15rem 0;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:10px}.preview-title,.issue-list h2{margin:0 0 .6rem;font-size:.95rem}.problem-title{margin:.1rem 0 .2rem;font-size:2rem;line-height:1.2}.etiology-heading{margin:1.25rem 0 .5rem;font-size:1.3rem;line-height:1.3}.sign-category{margin:1.15rem 0 .45rem;font-size:1.14rem;line-height:1.35;color:var(--accent)}.preview pre,.raw-json{margin:0;font-family:inherit;font-size:.95rem;line-height:1.6;white-space:pre-wrap}.primary-btn{width:100%;padding:.7rem 1rem;font:inherit;font-weight:700;color:var(--btn-fg);background:var(--btn-bg);border:none;border-radius:8px;cursor:pointer}.primary-btn:hover:not(:disabled){background:var(--btn-hover)}.primary-btn:disabled{background:var(--btn-disabled);cursor:not-allowed}.copy-btn{position:relative}.copy-btn-face{display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.copy-btn-check{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.copy-btn-check path{stroke-dasharray:28;stroke-dashoffset:28;animation:copy-check-draw .42s .06s ease forwards}.copy-btn[data-copied]{animation:copy-pop .48s cubic-bezier(.22,1.4,.36,1)}.copy-btn[data-copied] .copy-btn-face{animation:copy-label-in .32s ease}.copy-btn[data-copied]:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,transparent 32%,color-mix(in srgb,var(--btn-fg) 32%,transparent) 48%,transparent 64%);background-size:220% 100%;background-position:120% 0;animation:copy-shine .62s ease-out}@keyframes copy-pop{0%{transform:scale(1)}30%{transform:scale(.94)}62%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes copy-label-in{0%{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes copy-check-draw{to{stroke-dashoffset:0}}@keyframes copy-shine{to{background-position:-40% 0}}@media(prefers-reduced-motion:reduce){.copy-btn[data-copied],.copy-btn[data-copied] .copy-btn-face,.copy-btn[data-copied]:after,.copy-btn-check path{animation:none}.copy-btn-check path{stroke-dashoffset:0}}.text-btn{margin-top:1rem;padding:0;border:0;background:none;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline}.disclaimer,.runtime-note,.publish-message,.muted{color:var(--muted-2);font-size:.85rem;line-height:1.55}.disclaimer{margin-top:1.5rem}.error{color:var(--error)}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.stat{margin:0}.stat strong{display:block;font-size:1.4rem}.issue-list[data-level=error]{border-color:var(--error-border);background:var(--error-bg)}.issue-list[data-level=warning]{border-color:var(--warning-border);background:var(--warning-bg)}.issue-list ul,.problem-list{margin:0;padding-left:1.1rem}.problem-list li,.issue-list li{margin:.35rem 0}.raw-json{max-height:28rem;overflow:auto;margin-top:.75rem;padding:.9rem;background:var(--code-bg);color:var(--code-fg);border-radius:8px;font-size:.8rem}.definition{margin:.75rem 0 0;font-family:inherit;white-space:pre-wrap;line-height:1.6}.plain-list,.detail-list{margin:0;padding-left:1.2rem}.plain-list li{margin:.4rem 0}.detail-list{margin-top:.25rem;color:var(--muted)}.json-heading{margin:1.5rem 0 0;font-size:.95rem}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84em}@media(min-width:720px){.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
