:root{--brand-primary:#2563eb;--brand-primary-soft:#eef4ff;--bg-app:#f4f5fa;--bg-surface:#fff;--text-primary:#303030;--text-secondary:#4b5563;--border-default:#e5e7eb;--status-success:#166534;--status-success-soft:#e9f8ee;--status-warning:#92400e;--status-warning-soft:#fef3c7;--status-error:#b42318;--status-error-soft:#fee4e2}*{box-sizing:border-box}body{margin:0;background:var(--bg-app);color:var(--text-primary);font:16px/1.65 PingFang TC,Microsoft JhengHei,system-ui,sans-serif}main{max-width:1120px;margin:0 auto;padding:48px 24px 80px}header{margin-bottom:28px}h1{font-size:32px;margin:8px 0}h2{font-size:22px;margin:0 0 20px}h3{font-size:18px;margin:0}h4{margin:12px 0 6px}p{margin:6px 0 12px}.eyebrow{font-size:13px;letter-spacing:.1em;color:var(--brand-primary)}.muted,header p{color:var(--text-secondary)}button,input{font:inherit}button{border:1px solid var(--border-default);border-radius:9px;background:var(--bg-surface);color:var(--brand-primary);padding:10px 16px;cursor:pointer;min-height:44px}button:hover{background:var(--brand-primary-soft)}button:disabled{opacity:.6;cursor:wait}button.primary{background:var(--brand-primary);color:white;border-color:var(--brand-primary)}:focus-visible{outline:3px solid var(--brand-primary);outline-offset:3px}.panel{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:12px;padding:24px;margin:20px 0}.search{max-width:720px;margin-top:0}.search label{display:block;font-weight:600;margin-bottom:8px}.search-row{display:flex;gap:12px}input{min-width:0;flex:1 1;width:100%;border:1px solid #9ca3af;border-radius:9px;padding:12px;background:var(--bg-surface);color:var(--text-primary)}.empty{padding:48px 0;color:var(--text-secondary)}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.result{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:22px;gap:20px}.result strong{display:block;color:var(--text-primary);font-size:18px}.result small{display:block;color:var(--text-secondary);font-size:14px}.result span:last-child{flex-shrink:0}.identity{margin:28px 0}.identity h2{margin-bottom:8px}.identity h2 span{font-size:16px;color:var(--brand-primary);display:inline-block;margin-left:12px}.row,nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}article{padding:22px 0;border-top:1px solid var(--border-default)}article:last-of-type{padding-bottom:6px}.badge{display:inline-block;border-radius:6px;padding:3px 10px;font-size:14px;white-space:normal}.success{background:var(--status-success-soft);color:var(--status-success)}.warning{background:var(--status-warning-soft);color:var(--status-warning)}.neutral{background:var(--brand-primary-soft);color:#1d4ed8}.summary{background:var(--bg-app);padding:14px 16px;border-radius:8px;margin:16px 0}.summary span+span{margin-left:12px}.summary p:last-child{margin-bottom:0}ul{padding:0;list-style:none}.session{padding:14px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border-default)}.session p{font-size:14px;margin:4px 0}.pager,.session p{color:var(--text-secondary)}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;margin-top:16px}.error{padding:18px;background:var(--status-error-soft);color:var(--status-error);border-radius:8px}.skeleton{padding:30px 0;color:var(--text-secondary)}dialog{position:fixed;inset:0 0 0 auto;margin:0;width:560px;max-width:100%;height:100dvh;max-height:100dvh;border:0;padding:28px;overflow-y:auto;box-shadow:-8px 0 40px #0002;color:var(--text-primary);background:var(--bg-surface)}dialog::backdrop{background:#11182780}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.drawer-header h2{flex:1 1}.drawer-header button{flex-shrink:0}.answer{padding:20px 0;border-top:1px solid var(--border-default)}dt{font-weight:600}dd{margin:8px 0 0;white-space:pre-wrap}a{color:var(--brand-primary)}.identity,.result,dd,dt,h2,h3,li,p{overflow-wrap:anywhere}@media (max-width:767px){main{padding:28px 16px 56px}h1{font-size:27px}.panel{padding:20px}.search-row{flex-direction:column}.result-grid{grid-template-columns:1fr}.session{flex-direction:column;gap:8px}.row{align-items:flex-start}.identity h2 span{display:block;margin:6px 0 0}dialog{padding:24px 20px;width:100%}.summary span+span{display:block;margin:8px 0 0}.result{padding:18px}}