:root{--ink: #1c1915;--muted: #6b645b;--paper: #f6f1e8;--card: #fffdf8;--line: #e4d9c8;--amber: #b86e00;--amber-deep: #8a5200;--gold: #f6c56b;--ok: #1f6b45;--bad: #8d2b2b;--side: #221e19;--font: "Segoe UI", "Helvetica Neue", sans-serif;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.5}a{color:var(--amber-deep)}code{font-size:.92em}h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:-.01em}h1{font-size:1.85rem;margin:0 0 8px}h2{font-size:1.2rem;margin:22px 0 10px}.shell{display:flex;flex-direction:column;min-height:100%}.top{display:flex;gap:16px;align-items:center;padding:10px 18px;background:var(--side);color:#f6f1e7}.top .brand{color:var(--gold);font-family:var(--serif);font-size:1.25rem;font-weight:700;text-decoration:none}.top nav{display:flex;gap:4px;flex:1;flex-wrap:wrap}.top nav a{position:relative;color:#f6f1e7;text-decoration:none;padding:8px 10px 10px;border-radius:8px;transition:color .15s ease,background .15s ease}.top nav a:hover{background:#f6c56b1a}.top nav a.active{color:var(--gold)}.top nav a.active:after{content:"";position:absolute;left:10px;right:10px;bottom:4px;height:2px;border-radius:2px;background:var(--gold);transform-origin:left;animation:underline .2s ease}.stage{flex:1;min-width:0;min-height:0;overflow:auto}main{max-width:760px;margin:0 auto;padding:32px 28px 72px}main.wide{max-width:1180px}main.chat{max-width:none;height:calc(100vh - 54px);margin:0;padding:0;display:flex;flex-direction:row;overflow:hidden}.chats{width:260px;flex:none;display:flex;flex-direction:column;gap:4px;padding:14px 10px;border-right:1px solid var(--line);background:#fbf7f0;overflow:auto}.chat-empty{margin:8px 10px}button.new-chat{margin:0 4px 8px}.chat-row{display:flex;align-items:stretch;gap:4px}button.chat-open{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:1;min-width:0;text-align:left;background:transparent;color:var(--ink);border-radius:10px;padding:8px 10px;transition:background .15s ease}button.chat-open span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.chat-open time{color:var(--muted);font-size:.75rem}button.chat-open:hover,.chat-row.active button.chat-open{background:#f3e2c4}button.chat-delete{align-self:center;padding:4px 8px;font-size:.75rem}.chat-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.lede,.help,.muted{color:var(--muted)}.lede{max-width:62ch;font-size:1.02rem}.narrow{max-width:440px;margin:12vh auto}.page-loading{padding:48px 20px;text-align:center}.meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.92rem}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px 14px;margin:16px 0;box-shadow:0 1px #221e1908}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}label{display:block;margin:12px 0;font-size:.92rem}input[type=file]{display:none}input,select,textarea{display:block;width:100%;margin-top:4px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;color:var(--ink)}textarea{min-height:110px;resize:vertical}textarea.tall{min-height:220px}label.check{display:flex;gap:8px;align-items:center}label.check input{width:auto;margin:0}button,a.button{display:inline-block;background:var(--amber);color:#fff;border:0;border-radius:10px;padding:9px 16px;font:inherit;cursor:pointer;text-decoration:none}button:hover,a.button:hover{background:var(--amber-deep)}button.danger{background:transparent;color:var(--bad);border:1px solid #e4c2c2}button.danger:hover{background:#f8ecec}button:disabled{opacity:.65;cursor:wait}button.link{background:none;border:0;color:var(--gold);padding:0}button.link:hover{background:none;color:#fff}button.link:disabled{opacity:.6}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.row-actions,.inline{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.grid button,.grid .row-actions,.grid .check{grid-column:1 / -1}.pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.spec-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr) auto;gap:8px;align-items:end;margin:8px 0}.spec-row button{margin-bottom:1px}.device-list{display:grid;gap:8px}a.device-row{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:inherit;text-decoration:none}a.device-row strong{display:block;color:var(--ink)}a.device-row.active{border-color:var(--amber);background:#fff8ec}a.device-row p{margin:4px 0 0}.thread{flex:1;overflow:auto;padding:36px 8vw 12px}.welcome{max-width:34rem;margin:12vh auto 0;text-align:center}.welcome p{color:var(--muted);font-size:1.05rem}.turn{display:grid;gap:12px;margin:0 auto 28px;max-width:760px;animation:rise .22s ease}.bubble{justify-self:end;max-width:min(36rem,86%);margin:0;padding:12px 16px;background:#f3e2c4;border-radius:16px 16px 4px;font-size:1.1rem;line-height:1.55}.bubble p{margin:0;white-space:pre-wrap}.shots{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}.bubble .shots{margin-bottom:8px}.shots img,.drafts img{display:block;max-width:220px;max-height:160px;border-radius:12px;object-fit:cover}.drafts{display:flex;gap:8px;max-width:760px;margin:0 auto 8px}.drafts figure{position:relative;margin:0}.drafts button{position:absolute;top:4px;right:4px;width:22px;height:22px;padding:0;border-radius:999px;background:#1c1915b8;color:#fff;line-height:1}.reply{max-width:42rem}.dock{flex:none;border-top:1px solid var(--line);background:#f6f1e8f5;padding:8px 8vw 12px}.dock-note{margin:0 auto 6px;max-width:760px}.conn-pills{flex-wrap:nowrap;overflow-x:auto;margin:0 auto 8px;max-width:760px;padding-bottom:2px}.lesson-card{max-width:760px;margin:0 auto 10px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.lesson-card h2{margin-top:0}.dock-actions{max-width:760px;margin:0 auto 6px;display:flex;justify-content:flex-end}.composer-bar{display:flex;align-items:flex-end;gap:8px;max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px 8px 6px 12px}.composer-bar .actor{width:6.5rem;flex:none;margin:0;border:0;background:transparent;padding:8px 0}.composer-bar textarea{flex:1;min-width:8rem;border:0;margin:0;resize:none;min-height:3rem;max-height:10rem;padding:8px 0;background:transparent;font-size:1.1rem;line-height:1.55;field-sizing:content}.composer-bar button{height:36px;flex:none}button.quiet{background:transparent;color:var(--amber-deep);border:1px solid var(--line)}button.quiet:hover{background:#f6f1e7}.lookup{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:0 0 8px}button.lookup-toggle{width:100%;display:flex;gap:10px;align-items:center;text-align:left;background:transparent;color:var(--ink);border-radius:12px;padding:9px 12px}button.lookup-toggle:hover{background:#f7f1e6}.chevron{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:6px solid var(--amber);flex:none}.lookup.open .chevron{transform:rotate(90deg);transform-origin:30% 50%}.lookup-body{padding:0 14px 10px 28px;animation:rise .16s ease}.trail{margin:0 0 10px}.result,.step{white-space:pre-wrap;background:#221e19;color:#f6f1e7;padding:14px;border-radius:12px;overflow-x:auto}.step{margin:6px 0 10px;font-size:.86rem}.step-text{white-space:pre-wrap;margin:8px 0}.step-text a{word-break:break-all}.answer{font-family:var(--serif);font-size:1.08rem;line-height:1.65;max-width:42rem}.answer.streaming{min-height:1.4em}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p,.markdown ul,.markdown ol{margin:0 0 12px}.markdown ul,.markdown ol{padding-left:1.25rem}.markdown code{background:#f3efe6;padding:1px 5px;border-radius:4px;font-family:ui-monospace,Consolas,monospace;font-size:.88em}.markdown pre{white-space:pre-wrap;background:#221e19;color:#f6f1e7;padding:12px;border-radius:10px;overflow-x:auto}.markdown pre code{background:none;color:inherit;padding:0;border-radius:0;font-size:.92em}.caret{display:inline-block;width:2px;height:1em;margin-left:2px;background:var(--amber);vertical-align:text-bottom;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.args{display:flex;flex-wrap:wrap;gap:6px 16px;margin:8px 0}.args div{display:flex;gap:6px}.args dt{color:var(--muted)}.args dd{margin:0}.pills{display:flex;gap:8px;flex-wrap:wrap}.pills.conn-pills{flex-wrap:nowrap;overflow-x:auto}.pill{border-radius:999px;padding:3px 9px;font-size:.75rem;display:inline-block;white-space:nowrap}.pill.on{background:#e5f4eb;color:var(--ok)}.pill.off{background:#f3e6e6;color:var(--bad)}.working{font-weight:650;color:var(--amber-deep)}.table-wrap{overflow:auto;max-height:calc(100vh - 210px);border:1px solid var(--line);border-radius:12px;background:var(--card)}table.data{width:100%;border-collapse:collapse}table.data th,table.data td{text-align:left;vertical-align:top;padding:10px 14px;border-bottom:1px solid var(--line);overflow-wrap:break-word}table.data thead th{position:sticky;top:0;background:#fbf7f0;z-index:1;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow-wrap:normal}table.history-table{table-layout:fixed}table.history-table .when{width:12rem;white-space:nowrap;overflow-wrap:normal}table.history-table .who{width:5.5rem;white-space:nowrap;overflow-wrap:normal}table.history-table .channel{width:6.5rem;white-space:nowrap;overflow-wrap:normal}table.history-table .connections{width:28%}table.history-table .actions{width:5.5rem;white-space:nowrap;overflow-wrap:normal}table.history-table .pills{min-width:0}table.data tr.blocked td{color:var(--muted)}.clip{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.error{color:var(--bad)}.notice,.test-result.ok{color:var(--ok)}.test-result.bad{color:var(--bad)}.group-row{display:flex;justify-content:space-between;gap:16px;align-items:center}.loading{display:grid;gap:8px;max-width:420px;margin:12px 0}.skeleton{display:block;height:14px;border-radius:6px;background:linear-gradient(90deg,#efe8dc,#f7f3eb,#efe8dc);background-size:200% 100%;animation:sheen 1.2s infinite}.skeleton.short{width:55%}.method{font-size:.75rem;font-weight:700;border-radius:6px;padding:2px 6px}.method.get{background:#e5f4eb;color:var(--ok)}.method.post{background:#f8ead3;color:var(--amber-deep)}.method.put,.method.patch{background:#e7eef8;color:#1d4e89}.method.delete{background:#f3e6e6;color:var(--bad)}@keyframes sheen{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes underline{0%{transform:scaleX(.2);opacity:0}to{transform:scaleX(1);opacity:1}}@media(prefers-reduced-motion:reduce){.turn,.lookup-body,.caret,.top nav a,.top nav a.active:after,button.chat-open{animation:none;transition:none}}@media(max-width:800px){.top{flex-wrap:wrap}.top nav{flex-wrap:nowrap;overflow-x:auto}.top nav a{white-space:nowrap}main.chat{flex-direction:column;height:auto;min-height:calc(100vh - 108px)}.chats{width:auto;flex-direction:row;border-right:0;border-bottom:1px solid var(--line)}.chat-row{width:auto}button.chat-open span{max-width:10rem}.thread{padding:20px 16px 8px}.dock{padding:8px 16px 12px}.composer-bar{flex-wrap:wrap}.grid,.pair,.spec-row{grid-template-columns:1fr}table.history-table .when{width:9.5rem}}
