:root{--bg: #f4f1ea;--ink: #1c2430;--muted: #667084;--line: #e2d9cc;--accent: #0f5f63;--gold: #d9a441;--danger: #9b2c2c;font-family:Avenir Next,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}.page{max-width:960px;margin:0 auto;padding:20px 20px 48px;display:grid;gap:16px}header{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center}.brand{display:flex;gap:10px;align-items:center;margin-right:auto}.mark{width:34px;height:34px;display:grid;place-items:center;background:var(--gold);color:#16323a;font-weight:700}.sub{font-size:12px;color:var(--muted)}.header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.context{margin:0;padding:8px 10px;background:#fff;border:1px solid var(--line);font-size:13px;color:var(--muted)}.toolbar{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:end}.tabs{display:flex;gap:6px}.tab{background:#fff;color:var(--ink);border:1px solid var(--line);padding:8px 14px}.tab.active{background:var(--accent);color:#f4f1ea;border-color:var(--accent)}.model-field{margin-left:auto;min-width:min(320px,100%)}label{display:grid;gap:4px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}label.field{margin:10px 0}select,input,textarea,button{font:inherit;color:inherit}select,input,textarea{background:#fff;border:1px solid var(--line);padding:8px 10px;text-transform:none;letter-spacing:0;font-size:14px;width:100%}textarea{resize:vertical}.card{background:#fffdf8;border:1px solid var(--line);padding:16px}.card h2{margin:0 0 8px;font-size:1rem}.empty-card{max-width:520px}.hint,.meta{color:var(--muted);font-size:13px;line-height:1.45}.hint code{font-size:12px}.meta{margin:8px 0 0}.error{color:var(--danger);margin:0;line-height:1.45}.empty{color:var(--muted);margin:0}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;justify-content:flex-end}button{background:var(--accent);color:#f4f1ea;border:0;padding:8px 16px;cursor:pointer}button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}button:disabled{opacity:.5}.layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:16px;align-items:start}.panel{display:grid;gap:12px}.memory-hint{margin:0 0 8px;font-size:12px;color:var(--muted);word-break:break-all}.chat-log{display:grid;gap:10px;min-height:220px;max-height:420px;overflow:auto;padding-bottom:8px}.bubble span{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.bubble p{margin:0;white-space:pre-wrap;line-height:1.45}.bubble.user p{background:#eef6f4;padding:10px 12px}.bubble.assistant p{background:#fff;border:1px solid var(--line);padding:10px 12px}.composer textarea{margin-top:8px}.reply{margin:0;padding:12px;background:#fff;border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.45;max-height:420px;overflow:auto}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#16323a59;display:grid;place-items:center;padding:24px;z-index:10}.modal-card{width:min(640px,100%);max-height:90vh;overflow:auto}.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.page.wide{max-width:1180px}.api-guide{display:grid;gap:16px}.api-strip .hint{margin:0 0 12px}.api-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;margin:0}.api-chips div{min-width:0}.api-chips dt{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.api-chips dd{margin:2px 0 0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-note{margin-left:6px;color:var(--muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.catalog-block{margin-top:12px}.catalog-label{margin:0 0 6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.chip-list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.chip-list li{background:#fff;border:1px solid var(--line);padding:4px 8px;font-size:12px;display:flex;gap:6px;align-items:baseline}.chip-list li.on{border-color:var(--accent);background:#eef6f4}.chip-list code{color:var(--muted);font-size:11px}.api-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:start}.api-nav{position:sticky;top:12px;padding:12px}.api-nav h2{margin:12px 0 4px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.api-nav h2:first-child{margin-top:0}.api-op{width:100%;display:flex;gap:8px;align-items:baseline;text-align:left;background:transparent;color:inherit;border:0;padding:7px 8px;margin:0}.api-op.active{background:#eef6f4}.verb{font-size:10px;font-weight:700;letter-spacing:.04em;min-width:46px}.verb.get{color:var(--accent)}.verb.post{color:#2c6e49}.verb.delete{color:var(--danger)}.api-path{display:flex;gap:8px;align-items:center;margin:0 0 8px}.badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;color:#fff}.badge.get{background:var(--accent)}.badge.post{background:#2c6e49}.badge.delete{background:var(--danger)}.api-detail h2{margin-bottom:4px}.api-detail h3{margin:18px 0 8px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.api-table{width:100%;border-collapse:collapse;font-size:13px}.api-table th,.api-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}.api-table th{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600}.need{font-size:11px;letter-spacing:.04em;text-transform:uppercase}.need.required{color:var(--danger)}.need.locked{color:#8a6d1f}.need.optional{color:var(--muted)}.try-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0}.try-out{margin:12px 0 0;padding:12px;background:#16323a;color:#e8efe8;overflow:auto;font-size:12px;line-height:1.45;max-height:420px;white-space:pre-wrap;word-break:break-word}.sdk-note{margin-top:20px}@media (max-width: 900px){.layout,.config-grid,.api-shell,.api-chips,.try-grid{grid-template-columns:1fr}.model-field{margin-left:0;width:100%}.api-nav{position:static}}
