:root{color-scheme:light;--border: #d8dde5;--bg: #f4f6f9;--card: #ffffff;--text: #1f2430;--muted: #6b7280;--accent: #1f5eff;--danger: #b42318;--danger-bg: #fdecea;--ok: #067647}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Microsoft YaHei,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text)}.page{max-width:720px;margin:0 auto;padding:24px 16px 48px}.page-header h1{margin:0;font-size:20px}.subtitle{margin:4px 0 12px;color:var(--muted);font-size:13px}.tabs{display:flex;gap:8px}.tab{border:1px solid var(--border);background:var(--card);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:14px}.tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.banner{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:16px;padding:10px 12px;border:1px solid #f0b4ae;border-radius:6px;background:var(--danger-bg);color:var(--danger);font-size:14px}.banner-close{border:none;background:transparent;color:inherit;cursor:pointer;font-size:13px}.panel{margin-top:16px}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:16px}.card h2{margin:0 0 12px;font-size:16px}.muted{color:var(--muted)}.principal{font-size:15px;margin:0 0 8px}.attributes{margin:8px 0 12px;border-top:1px dashed var(--border);padding-top:8px}.attributes dt{font-size:12px;color:var(--muted);margin-top:8px}.attributes dd{margin:2px 0 0;font-size:14px;word-break:break-all}.actions{display:flex;gap:8px;margin-top:12px}button{border:1px solid var(--border);background:var(--card);color:var(--text);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button:disabled{opacity:.6;cursor:default}.hint{font-size:13px;color:var(--muted)}.hint code{background:#eef1f5;padding:1px 4px;border-radius:4px}.manual-form{display:flex;gap:8px;margin-top:12px}.manual-form input{flex:1;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px}.inline-error{color:var(--danger);font-size:14px;margin:10px 0 0}.outcome-ok{color:var(--ok);font-size:14px;margin:10px 0 0}.mode-line{margin:14px 0 0;padding-top:10px;border-top:1px dashed var(--border);font-size:12px;color:var(--muted)}.fallback{margin-top:16px;padding-top:12px;border-top:1px dashed var(--border)}.fallback summary{cursor:pointer;font-size:13px;color:var(--muted)}.fallback .actions{margin-top:10px}.fallback-status{font-size:13px;color:var(--text);margin:10px 0 0}
