:root{font-family:SF Pro Text,PingFang SC,Helvetica Neue,Arial,sans-serif;color:#121212;background:#f5f6f8}*{box-sizing:border-box}body{margin:0}.app-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{border-right:1px solid #ddd;background:#fff;padding:16px}.sidebar h1{margin:0 0 16px;font-size:20px}.sidebar nav{display:flex;flex-direction:column;gap:8px}.nav-link{color:#333;text-decoration:none;padding:8px 10px;border-radius:8px}.nav-link.active,.nav-link:hover{background:#eceef4}.page-content{padding:20px}.page{max-width:1000px;margin:0 auto}.page-header h2{margin:0}.page-header p{margin:6px 0 16px;color:#666}.chat-output{min-height:320px;max-height:520px;overflow:auto;border:1px solid #ddd;border-radius:10px;background:#fff;padding:12px}.message{border:1px solid #ececec;border-radius:8px;padding:10px;margin-bottom:10px}.message.user{border-color:#bad6ff;background:#f2f7ff}.message.assistant{border-color:#d9e9d1;background:#f5fbf1}.message pre{margin:0;white-space:pre-wrap;font-family:ui-monospace,Menlo,Consolas,monospace}.meta{font-size:12px;color:#666;margin-bottom:6px}.chat-form{margin-top:12px;display:grid;gap:10px}textarea,input{width:100%;border:1px solid #ccc;border-radius:8px;padding:10px;font-size:14px}.actions,.providers-header{display:flex;gap:10px;align-items:center}button{border:1px solid #ccc;border-radius:8px;background:#fff;padding:8px 12px;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.card{border:1px solid #ddd;border-radius:10px;padding:12px;background:#fff}.list-item{border-top:1px dashed #ddd;padding:8px 0}.list-item:first-child{border-top:none}.settings-form{display:grid;gap:10px;max-width:520px}.providers{margin-top:20px;border:1px solid #ddd;border-radius:10px;padding:12px;background:#fff}.placeholder{color:#888}.error{color:#b20000}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid #ddd}.card-grid{grid-template-columns:1fr}}
