*{box-sizing:border-box}body{margin:0;background:#0a0e17;color:#e2e8f0;font-family:system-ui}main{height:100vh;display:flex;flex-direction:column}header,nav{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;border-bottom:1px solid #283349;background:#111827}h1{font-size:20px;margin:0}small,nav span{color:#94a3b8}form{max-width:540px;margin:10vh auto;padding:28px;background:#111827;border:1px solid #283349;border-radius:12px}input,select,button{font:inherit;padding:9px;border-radius:6px;border:1px solid #475569;background:#182234;color:inherit}input{display:block;width:100%;margin:8px 0 20px}button{cursor:pointer;background:#6445bc}button:disabled{opacity:.5}select{min-width:240px;margin-left:12px}iframe{width:100%;flex:1;border:0;min-height:0}.notice{padding:32px}[role=alert]{color:#fca5a5}.source-credit{padding:10px 22px;line-height:1.5}.source-credit a{color:#93c5fd}.chat-panel .agent-chart{display:block;flex:none;width:100%;height:360px;min-height:180px;background:#fff;border-radius:6px}.chat-panel{max-height:calc(100dvh - 32px)}.selection-toolbar{max-width:1280px;margin:0 auto 20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sample-selection{display:flex;align-items:center;gap:8px;padding:10px 2px;font-size:14px}.sample-selection input{width:auto;margin:0;accent-color:#a78bfa}.sample-grid li{display:flex;flex-direction:column}.chat-panel{position:fixed;right:16px;bottom:16px;z-index:20;height:min(720px,calc(100dvh - 90px));max-width:calc(100vw - 32px);min-width:min(320px,calc(100vw - 32px));min-height:340px;background:#111827;border:1px solid #64748b;border-radius:12px;box-shadow:0 10px 40px #0009;display:flex;flex-direction:column;overflow:hidden;resize:both}.chat-heading{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;flex-shrink:0}.chat-heading h2{margin:0;font-size:18px}.chat-scope{padding:8px 16px;border-block:1px solid #334155;max-height:150px;overflow:auto;flex-shrink:0}.chat-scope ul{margin:8px 0;padding-left:20px}.chat-messages{padding:16px;overflow:auto;flex:1;min-height:80px}.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere}.chat-message{padding:12px;border-radius:8px;background:#1e293b;margin-bottom:12px}.chat-message.user{border-left:3px solid #a78bfa}.chat-form{margin:0;padding:12px 16px;border:0;border-top:1px solid #334155;border-radius:0;max-width:none;width:100%;flex-shrink:0}.chat-form textarea{width:100%;height:70px;background:#0a0e17;color:inherit;border:1px solid #64748b;border-radius:6px;font:inherit;padding:8px;resize:vertical;max-height:160px}.chat-actions{display:flex;gap:8px;margin-top:8px}.chat-error{padding:8px 16px;margin:0;max-height:100px;overflow:auto}.sample-list{padding:28px 22px;overflow:auto;flex:1}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 auto 24px;max-width:1280px}.list-heading h2{margin:0 0 8px}.list-heading p{margin:0;color:#94a3b8}.list-heading>span{white-space:nowrap;color:#94a3b8}.sample-grid{list-style:none;padding:0;margin:0 auto;max-width:1280px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.sample-card{height:100%;display:block;text-decoration:none;color:inherit;border:1px solid #334155;border-radius:12px;overflow:hidden;background:#111827}.sample-card:hover{border-color:#a78bfa;background:#182234}.sample-card:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #c4b5fd;outline-offset:3px}.sample-thumbnail{height:210px;background:#05080e;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:14px}.sample-thumbnail img{width:100%;height:100%;object-fit:contain}.sample-card-body{padding:18px}.sample-card h3{font-size:16px;line-height:1.5;margin:0 0 12px;overflow-wrap:anywhere}.sample-card-body>span,.viewer-nav a{color:#c4b5fd}.viewer-nav{justify-content:flex-start;gap:24px}.viewer-nav a{white-space:nowrap}.viewer-nav h2{font-size:16px;margin:0}.source-credit{overflow-wrap:anywhere}@media(max-width:600px){header,nav{padding:12px 16px}.sample-list{padding:24px 16px}.list-heading{align-items:flex-start}.sample-grid{grid-template-columns:1fr}.viewer-nav{align-items:flex-start;flex-direction:column;gap:10px}form{margin:32px 16px}header h1{font-size:18px}}
