/* Only the NH-U01 controls differ from the reused shell. */
body{background:var(--bg);color:var(--text)}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}
.entry-button,#auth button,#recovery button,#operation button{border:1px solid var(--line);border-radius:10px;background:var(--panel-2);color:var(--text);padding:9px 12px}
#auth{width:min(360px,100%);margin:10vh auto;padding:24px;overflow:auto;max-height:80dvh}
#auth h1{font-size:24px;margin:0 0 30px}#auth label{display:block;margin:18px 0 8px}
#auth input{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text)}
#auth button{margin-top:20px}#pair-check{display:block;font:600 28px ui-monospace,monospace;letter-spacing:.15em}
#thread-menu{overflow:auto}#sessions{flex:1}.instance-label,#catalog-state{color:var(--muted);font-size:13px;padding:4px 10px;margin:0}
#instance{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px;max-width:100%}
.target-label{font:12px/1.5 ui-monospace,monospace;color:var(--muted);overflow-wrap:anywhere;padding:4px 10px}
#operation,#requests,#recovery{padding:8px 10px;font-size:13px;color:var(--muted);overflow-wrap:anywhere}
#operation button{margin-left:8px}#recovery select{max-width:60%;background:var(--panel);color:var(--text)}
.native-request{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:10px 12px;margin:6px 0;color:var(--text)}
.native-request-title{margin:0 0 4px;font-weight:600;font-size:13px}
.native-request-detail{margin:0 0 6px;white-space:pre-wrap;overflow-wrap:anywhere}
.native-request-command{margin:0 0 8px;padding:8px;background:var(--panel-2);border-radius:8px;white-space:pre-wrap;overflow-x:auto;font:12px/1.5 ui-monospace,monospace}
.native-request-choices{display:flex;flex-wrap:wrap;gap:8px}
.native-request-choice{min-height:36px;padding:6px 14px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2);color:var(--text);font-size:13px;cursor:pointer}
.native-request-choice:hover{border-color:var(--accent)}
#text{min-height:48px;max-height:25dvh;resize:vertical;width:100%;border:0;background:transparent;color:var(--text);padding:8px;line-height:1.5}#composer{min-height:66px;grid-template-columns:minmax(0,1fr) auto auto}#send{flex-shrink:0}
#stop{flex-shrink:0;min-width:44px;min-height:44px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:10px;font-size:14px;line-height:1}#stop[hidden]{display:none}#stop:disabled{opacity:.5}
#thread-button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:none;border:0;color:var(--text);text-align:left;max-width:100%}#runtime{font-size:12px;font-weight:400;color:var(--muted)}#thread-name{max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#create{min-height:44px;width:100%;border:0;background:var(--panel-2);color:var(--text);border-radius:10px;padding:10px 12px;text-align:left}
.bubble{white-space:pre-wrap;overflow-wrap:anywhere}.empty{color:var(--muted);text-align:center;padding-top:24px}
#error{position:fixed;top:68px;left:50%;transform:translateX(-50%);z-index:200;width:max-content;max-width:calc(100vw - 32px);max-height:25dvh;overflow:auto;background:var(--panel);color:#a43226;border:1px solid var(--line);padding:12px 16px;border-radius:12px;white-space:pre-wrap}
#runtime{max-width:65vw;overflow-wrap:anywhere}.session-open small{font-size:12px;color:var(--muted)}
@media(min-width:900px){body .app{padding-left:280px}body #thread-menu{display:flex;flex-direction:column;gap:6px;position:fixed;top:0;bottom:0;left:0;width:280px;padding:18px 10px;background:var(--bg);border-right:1px solid var(--line);z-index:30}body .thread,body .composer-shell{padding-left:max(20px,calc((100vw - 280px - 800px)/2));padding-right:max(20px,calc((100vw - 280px - 800px)/2))}}
@media(max-width:899px){#thread-menu-scrim{position:fixed;inset:64px 0 0;background:#0004;border:0;z-index:50}#thread-menu{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:10px}#runtime{max-width:70vw}}
:focus-visible{outline:2px solid var(--iris-control-accent);outline-offset:3px}
#settings-layer{position:fixed;inset:0;z-index:120;background:#0005;display:grid;place-items:center;padding:16px}
#settings-panel{width:min(460px,100%);max-height:85dvh;overflow:auto;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text)}
#settings-values{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 18px;margin:24px 0}#settings-values dt,#settings-state{color:var(--muted)}#settings-values dd{margin:0;overflow-wrap:anywhere}
.top-actions{display:flex;gap:6px;flex-shrink:0}#owner-recovery{margin-top:30px;font-size:14px;line-height:1.6}#owner-recovery p{color:var(--muted)}
.top-actions .entry-button{white-space:nowrap;flex-shrink:0;padding:5px 10px}.topbar>.title{min-width:0;flex:1;transform:none}
.topbar>.top-actions{flex:0 0 auto;width:auto;max-width:none;height:auto;padding:0;margin:0;overflow:visible;contain:none;transform:none}
#owner-layer{position:fixed;inset:0;z-index:120;background:#0005;display:grid;place-items:center;padding:16px}
#owner-panel{width:min(460px,100%);max-height:85dvh;overflow:auto;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text)}
.owner-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.owner-title h2{font-size:18px;margin:0}.owner-title button{font-size:24px;border:0;background:none;color:inherit}
.owner-actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}#owner-panel button:not(#owner-close),#owner-panel input{border:1px solid var(--line);border-radius:9px;padding:10px;background:var(--panel-2);color:inherit}
#owner-code{display:block;font:600 28px ui-monospace,monospace;letter-spacing:.1em;overflow-wrap:anywhere}#owner-state{font-size:13px;color:var(--muted)}.pair-card{border-top:1px solid var(--line);padding:14px 0}.pair-card p{overflow-wrap:anywhere;margin:0 0 10px}.pair-card input{width:100%;margin-bottom:8px}.pair-card label{display:block;margin-bottom:6px;font-size:14px}
/* Attached file reference chips. */
.attach-chips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0}
.attach-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);padding:4px 8px;font:600 12px/ui-monospace,monospace;color:var(--accent)}
.attach-x{font-size:14px;line-height:1;border:0;background:none;color:var(--muted);cursor:pointer;padding:0 2px}.attach-x:hover{color:var(--text)}
.md-text>p:first-child{margin-top:0}.md-text>p:last-child{margin-bottom:0}
.md-list{margin:4px 0;padding-left:20px}.md-list span{display:block;line-height:1.5;margin:2px 0}
.md-code{margin:8px 0;overflow-x:auto;font-size:13px}.md-code code{padding:10px 12px;display:block;white-space:pre-wrap;overflow-wrap:break-word}
.message strong,.message b{font-weight:700}.message em,.message i{font-style:italic}.message code:not(.md-code code){background:var(--panel-2);padding:1px 5px;border-radius:4px;font-size:0.9em}
.message pre.md-code{background:var(--panel-2);border-radius:8px;border:1px solid var(--line)}
.msg-copy{flex-shrink:0;background:none;border:0;color:var(--muted);cursor:pointer;padding:4px;font-size:13px;line-height:1;opacity:.6}
.msg-copy:hover{color:var(--text);opacity:1}.msg-copy[disabled]{opacity:.3;cursor:default}

/* Brand text keeps the former wordmark box and current typography. */
.iris-wordmark{display:grid;place-items:center;width:66px;height:56px;font-size:24px;font-weight:600;letter-spacing:-.04em}
