/* App shortcuts stay compact; the remote browser remains the main surface. */
#browser-pane,#browser-pane:fullscreen{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(240px,1fr)}
#browser-pane>#browser-apps{grid-row:1;grid-column:1}
#browser-pane>#browser-bar{grid-row:2;grid-column:1}
#browser-pane>#browser-live-notices{grid-row:3;grid-column:1}
#browser-pane>#browser-shot{grid-row:4;grid-column:1}
#browser-apps{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;padding:5px 8px;border-bottom:1px solid var(--line);background:var(--panel)}
#browser-app-primary{display:flex;align-items:center;gap:2px;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scroll-padding:2px}
#browser-apps button,#browser-app-more-trigger{min-width:44px;min-height:44px;box-sizing:border-box;font:inherit;font-size:12px;color:var(--text);background:transparent;border:1px solid transparent;border-radius:7px;cursor:pointer}
#browser-app-primary button{display:grid;place-items:center;flex:0 0 44px;padding:9px}
#browser-app-primary img{display:block;width:24px;height:24px;object-fit:contain}
#browser-apps button:hover,#browser-app-more-trigger:hover,#browser-app-more[open]>summary{background:var(--panel2);border-color:var(--line)}
#browser-apps button:focus-visible,#browser-app-more-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
#browser-apps button:disabled,#browser-app-more-trigger[aria-disabled="true"]{opacity:.55;cursor:wait}
#browser-app-more{min-width:0}
#browser-app-more-trigger{display:flex;align-items:center;justify-content:center;gap:7px;padding:8px;list-style:none;white-space:nowrap}
#browser-app-more-trigger::-webkit-details-marker{display:none}
#browser-app-more-trigger::after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
#browser-app-more[open]>summary::after{transform:rotate(225deg) translate(-1px,-1px)}
#browser-app-menu{position:absolute;top:calc(100% + 5px);right:8px;z-index:35;width:min(280px,calc(100% - 16px));max-height:55dvh;box-sizing:border-box;padding:6px;overflow-y:auto;overscroll-behavior:contain;background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:0 10px 28px #0003}
#browser-app-more:not([open])>#browser-app-menu{display:none}
#browser-app-menu [role="group"]+ [role="group"]{margin-top:5px;padding-top:5px;border-top:1px solid var(--line)}
#browser-app-menu h3{margin:0;padding:9px 10px 5px;color:var(--muted);font:inherit;font-size:11px;font-weight:650}
#browser-app-menu button{display:block;width:100%;text-align:left;padding:10px}
#browser-app-status{grid-column:1 / -1;margin:0;padding:0 3px 3px;color:var(--muted);font-size:11px;line-height:1.4;overflow-wrap:anywhere}
#browser-app-status[data-failed="true"]{color:var(--err)}
#browser-app-status[hidden]{display:none}
#browser-app-menu [hidden],#browser-bookmark-dialog [hidden]{display:none!important}
#browser-bookmark-list-status{margin:0;padding:5px 10px 9px;color:var(--muted);font-size:11px;line-height:1.45;overflow-wrap:anywhere}
#browser-bookmark-list-status[data-failed="true"],#browser-bookmark-editor-status[data-failed="true"]{color:var(--err)}
#browser-app-menu #browser-bookmark-add{font-weight:600}
#browser-bookmark-list .browser-bookmark-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:3px;min-width:0}
#browser-app-menu .browser-bookmark-row>button{min-width:0}
#browser-app-menu .browser-bookmark-row>.browser-bookmark-edit{width:44px;min-width:44px;padding:8px 4px;text-align:center;font-size:11px;color:var(--muted)}
.browser-bookmark-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;line-height:1.35}
.browser-bookmark-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px;line-height:1.4;font-weight:400;margin-top:3px}
#browser-bookmark-dialog{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:22px;box-sizing:border-box;overflow-y:auto;background:var(--panel);color:var(--text);border-color:var(--line)}
#browser-bookmark-dialog .dialog-heading{gap:12px;align-items:start;margin-bottom:12px}
#browser-bookmark-dialog h2{font-size:20px;line-height:1.3;margin:5px 0}
#browser-bookmark-dialog label{display:block;margin:14px 0 6px;color:var(--text);font-size:12px}
#browser-bookmark-dialog input{display:block;width:100%;min-width:0;min-height:44px;box-sizing:border-box;padding:10px 12px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;color:var(--text);font:inherit;font-size:16px}
#browser-bookmark-dialog :is(input,button):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#browser-bookmark-dialog button{min-height:44px;font:inherit;font-size:12px;padding:10px 13px}
#browser-bookmark-dialog .ghost{color:var(--text);border-color:var(--line);background:transparent}
#browser-bookmark-dialog .dialog-close{min-width:44px;padding:8px;font-size:20px}
#browser-bookmark-editor-status:empty{display:none}
#browser-bookmark-dialog .browser-bookmark-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
#browser-bookmark-remove{margin-left:auto}
#browser-bookmark-remove-confirm{margin-top:16px;padding:12px;background:var(--panel2);border:1px solid var(--line);border-radius:8px}
#browser-bookmark-remove-confirm p{margin:0;font-size:13px}
#browser-bookmark-remove-confirm .browser-bookmark-actions{margin-top:10px}
#browser-bookmark-dialog #browser-bookmark-delete{background:var(--err);color:var(--bg)}
#browser-bookmark-dialog button:disabled{opacity:.5;cursor:wait}
@media(max-width:380px){#browser-bookmark-dialog{padding:16px}#browser-bookmark-remove{margin-left:0}}
/* Larger catalogs unfold inside the menu instead of consuming browser space. */
#browser-apps [hidden],.browser-feature-dialog [hidden],#browser-media-review [hidden]{display:none!important}
#browser-app-menu #browser-suite-customize{font-weight:650;border-color:var(--line);margin-bottom:5px}
#browser-app-suite-list{border-top:1px solid var(--line);margin-top:6px;padding-top:5px}
.browser-suite+.browser-suite{border-top:1px solid var(--line)}
#browser-app-menu .browser-suite>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;box-sizing:border-box;padding:10px;font-size:12px;font-weight:600;line-height:1.4;cursor:pointer;list-style:none;border-radius:6px}
.browser-suite>summary::-webkit-details-marker{display:none}
.browser-suite>summary::after{content:"";flex:0 0 5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 4px 3px 0}
.browser-suite[open]>summary::after{transform:rotate(225deg);margin-bottom:-3px}
.browser-suite>summary:hover{background:var(--panel2)}
.browser-suite>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.browser-suite-links{padding:0 0 5px 9px}
.browser-suite:not([open])>.browser-suite-links{display:none}
#browser-app-menu .browser-suite-links button{font-weight:400;font-size:12px;overflow-wrap:anywhere}
.browser-suite-help{color:var(--muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere;margin:8px 0}
#browser-app-menu .browser-suite-help{padding:0 10px;font-size:11px}
#browser-suite-load-status[data-failed="true"],#browser-suite-status[data-failed="true"],#browser-media-status[data-failed="true"]{color:var(--err)}
.browser-feature-dialog{width:min(460px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;overflow-y:auto;padding:22px;background:var(--panel);color:var(--text);border-color:var(--line)}
.browser-feature-dialog .dialog-heading{gap:12px;align-items:start;margin-bottom:8px}
.browser-feature-dialog h2{font-size:20px;line-height:1.3;margin:5px 0}
.browser-feature-dialog button{min-height:44px;font:inherit;font-size:12px;padding:10px 13px}
.browser-feature-dialog .dialog-close{min-width:44px;padding:8px;font-size:20px}
.browser-feature-dialog .ghost{background:transparent;color:var(--text);border-color:var(--line)}
.browser-feature-dialog :is(button,input):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.browser-feature-dialog button:disabled{opacity:.55;cursor:wait}
.browser-dialog-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
#browser-suite-choices{border:0;margin:14px 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:0}
#browser-suite-choices label{display:flex;align-items:center;gap:12px;min-height:44px;padding:7px 5px;box-sizing:border-box;border-bottom:1px solid var(--line);font-size:13px;line-height:1.4;cursor:pointer}
#browser-suite-choices label:last-child{border-bottom:0}
#browser-suite-choices input{width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--accent);flex:0 0 18px}
#browser-suite-status:empty{display:none}
#browser-media-review{margin-top:8px;padding:8px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#browser-media-review>summary{min-height:44px;display:list-item;align-content:center;font-size:13px;font-weight:600;cursor:pointer}
#browser-media-review label{display:block;margin:12px 0 6px;font-size:12px;line-height:1.4}
#browser-media-review input{display:block;width:100%;min-width:0;min-height:44px;box-sizing:border-box;padding:10px;font:inherit;font-size:16px;color:var(--text);background:var(--panel2);border:1px solid var(--line);border-radius:7px}
#browser-media-review :is(input,button,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.browser-media-actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
#browser-media-review .browser-media-actions button{min-height:44px;padding:10px;font-size:12px;flex:1 1 auto}
#browser-media-results section{padding:12px 0;border-top:1px solid var(--line)}
#browser-media-results h3{font-size:12px;margin:0 0 7px;color:var(--muted);font-weight:650}
#browser-media-results p{margin:0;font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:380px){.browser-feature-dialog{padding:16px}}

.browser-idle-setting { display:grid;gap:6px;padding:10px 0;border-top:1px solid var(--line); }
.browser-idle-setting select { width:100%;min-height:44px;font:inherit; }
#browser-live-notices { min-width:0; }
#browser-idle-warning { display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:6px 8px;background:var(--panel);border-top:1px solid var(--line);font-size:12px; }
#browser-idle-warning[hidden] { display:none!important; }
#browser-idle-stay { min-height:44px; }
/* In-flow attention preserves the browser's single-column layout. */
#browser-human-handoff[hidden],#browser-human-handoff [hidden]{display:none!important}
#browser-human-handoff{min-width:0;margin:6px 8px;padding:12px;border:1px solid var(--warn);border-left-width:3px;border-radius:7px;background:var(--panel);color:var(--text);font-size:12px;line-height:1.5}
.browser-human-copy{display:flex;flex-wrap:wrap;gap:2px 12px;min-width:0}
#browser-human-heading{color:var(--warn);font-size:13px}
#browser-human-reason{overflow-wrap:anywhere}
#browser-human-help{flex-basis:100%;margin:4px 0 8px;color:var(--muted)}
.browser-human-actions{display:flex;flex-wrap:wrap;gap:8px}
.browser-human-actions button{min-height:44px;padding:9px 12px;font:inherit;font-weight:600;white-space:normal}
.browser-human-actions .ghost{color:var(--text);background:transparent;border-color:var(--line)}
.browser-human-actions button:focus-visible,.browser-human-chat button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.browser-human-actions button:disabled{opacity:.55;cursor:not-allowed}
#browser-human-status{margin:8px 0 0;overflow-wrap:anywhere;color:var(--muted)}
#browser-human-status:empty{display:none}
#browser-human-status[data-failed="true"]{color:var(--err)}
.browser-human-chat{border-left:3px solid var(--warn);padding:4px 12px;margin-top:10px;font-size:12px;line-height:1.5}
.browser-human-chat p{margin:0 0 8px}.browser-human-chat button{min-height:44px}
.work-entry[data-status="needs_human"]{border-left-color:var(--warn)}
@media(max-width:600px){#browser-human-handoff{margin:6px 4px;padding:10px}.browser-human-actions{gap:6px}.browser-human-actions button{flex:1 1 100%;width:100%}}
