/* Shared application controls and density. See docs/UI-STANDARD.md. */
:root{--ui-caption:12px;--ui-control:13px;--ui-body:14px;--ui-heading:18px;--ui-icon:16px;--ui-hit:36px;--ui-radius:8px;--ui-hover:#191a1b;--ui-danger:#efb098;--ui-danger-hover:#2a1916;--room-title:var(--ui-heading)}
.ui-icon{width:var(--ui-icon);height:var(--ui-icon);flex:none;vertical-align:middle}
body .icon-button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--ui-hit);height:var(--ui-hit);min-width:var(--ui-hit);min-height:var(--ui-hit);padding:0;border:0;border-radius:var(--ui-radius);background:transparent;color:var(--room-muted);cursor:pointer;font:inherit;text-decoration:none;transition:background 120ms,color 120ms}
body .icon-button svg{width:var(--ui-icon);height:var(--ui-icon);flex:none}
body .icon-button:hover{background:var(--ui-hover);color:var(--room-ink)}
body .icon-button.is-destructive:hover{color:var(--ui-danger);background:var(--ui-danger-hover)}
body .icon-button:focus-visible{outline:2px solid var(--room-gold);outline-offset:2px}
body .icon-button:disabled{opacity:.4;cursor:not-allowed;background:transparent}
body .destructive-action{display:inline-flex;align-items:center;gap:8px;color:var(--ui-danger)}
body .destructive-action svg{width:var(--ui-icon);height:var(--ui-icon);flex:none}
#modal .modal-head h2,#modal.import-dialog .modal-head h2{font-size:var(--ui-heading)!important;font-weight:500}
:is(#modal,.focus-room) :is(.primary,.secondary,.text-button){font-size:var(--ui-control)}
:is(#modal,.focus-room) :is(.primary,.secondary){min-height:36px;padding:8px 14px;border-radius:var(--ui-radius)}
#world-tools .group-dropdown>summary,#world-tools .account-menu-name{font-size:var(--ui-caption)}
#world-tools .account-menu summary{gap:8px}
#world-tools .account-avatar{width:28px;height:28px;font-size:12px}
.world-header .wordmark .brand-name{font-size:20px;letter-spacing:3px}
.garden-core .mission-heading h1{font-size:clamp(22px,1.75vw,28px);line-height:1.65;max-width:18em}
.garden-core:not(.welcome-core) .root-question h1,.garden-core.depth-focus .root-question h1{font-size:clamp(21px,1.6vw,25px);line-height:1.65}
.orbit-node .orbit-title{font-size:16px;line-height:1.75}
.orbit-node .orbit-category{font-size:11px;letter-spacing:.5px}
.orbit-node .orbit-dimension:empty{display:none}
.orbit-node .orbit-remove{right:-8px;top:4px;opacity:0}
.orbit-node:hover .orbit-remove,.orbit-node:focus-within .orbit-remove{opacity:1}
.garden-core .mission-core-controls{margin-top:20px}
.garden-core .mission-entry{font-size:var(--ui-control);min-height:36px;padding:8px;gap:10px}
.garden-core .mission-entry svg{width:18px;height:18px}
.focus-room[data-view=index]{width:min(1060px,calc(100% - 64px));height:min(760px,calc(var(--visible-height) - 64px))}
.focus-room[data-view=index] .panel-header{padding:22px 32px 12px!important;align-items:flex-start;border-bottom:0}
.focus-room[data-view=index] #room-title{font-size:var(--ui-heading)!important;line-height:1.6!important;font-weight:500;margin:6px 0 0!important;max-height:none;overflow:visible}
.focus-room[data-view=index] .room-heading{min-width:0;flex:1}
.focus-room[data-view=index] .room-controls{flex:none}
.focus-room .room-controls .icon-button{margin:0}
.focus-room[data-view=index] .room-breadcrumb{margin-bottom:8px}
/* The same quiet selected tab treatment is used in each workspace and import frame. */
.mission-tabs,.focus-room .question-tabs,#modal.import-dialog .import-tabs{display:flex;align-items:center;gap:8px;border-bottom:0;background:transparent}
.mission-tabs{padding:4px 32px 16px}
.mission-tabs button,.focus-room .question-tabs .question-tab,#modal.import-dialog .import-tabs button{min-height:36px;padding:8px 14px;border:0;border-radius:var(--ui-radius);background:transparent;color:var(--room-muted);font-size:var(--ui-control);line-height:20px;white-space:nowrap;text-decoration:none}
.mission-tabs button[aria-current=page],.focus-room .question-tabs .question-tab.active,#modal.import-dialog .import-tabs button.active{background:var(--ui-hover);color:var(--room-gold);border:0}
.mission-tabs button:hover,.focus-room .question-tabs .question-tab:hover,#modal.import-dialog .import-tabs button:hover{color:var(--room-ink)}
.focus-room .question-tab.active:after{display:none}
.mission-details{padding-top:8px}
.mission-background{margin-bottom:28px}
.mission-section-heading{min-height:36px;margin-bottom:8px}
.focus-room .mission-section-heading :is(h3,label){font-size:var(--ui-control)!important;font-weight:500}
.mission-background textarea{min-height:120px;padding:14px 16px;border-radius:var(--ui-radius);font-family:var(--room-font)}
.source-document{grid-template-columns:20px minmax(0,1fr) 108px;gap:12px;padding:14px 0}
.source-document-main>header{min-height:36px}
.source-document-main>header h4{font-size:var(--ui-body)!important;min-height:36px;padding:6px 0;font-weight:400}
.source-document-icon{min-height:36px}
.source-document-actions{gap:0}
.source-document-meta{padding:0;font-size:var(--ui-caption);gap:4px 14px}
.mission-materials .source-document:first-child{border-top:0}
.mission-no-materials{border:0;padding:16px 0;color:var(--room-muted)}
.mission-questions{padding:8px 0 0}
.mission-question-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.mission-question-actions{display:flex;align-items:center;gap:8px;flex:none}
.mission-question-actions .primary{display:inline-flex;align-items:center;gap:8px}
.mission-question-actions .generation-icon{width:18px;height:18px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.question-basis{padding:8px 0;min-height:36px;border:0;background:none;color:var(--room-muted);font-size:var(--ui-caption);text-align:left}
.question-basis:hover{color:var(--room-gold)}
.question-count{font-size:var(--ui-caption);font-weight:400;color:var(--room-muted);margin-left:6px}
.mission-question-row{display:flex;align-items:flex-start;gap:16px;padding:16px 0;border-bottom:1px solid var(--room-rule)}
.mission-question-main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:4px 16px;min-width:0;flex:1;padding:4px 0}
.question-axis-tag{font-size:11px;line-height:1.6;color:var(--axis-color,var(--room-muted));white-space:nowrap;font-weight:400}
.mission-question-title{display:block;padding:0;min-height:0;background:none;border:0;color:var(--room-ink);text-align:left;font:400 var(--ui-body)/1.75 var(--room-font);overflow-wrap:anywhere}
.mission-question-title:hover{color:var(--room-gold)}
.mission-question-dimension{grid-column:2;color:var(--room-muted);font-size:var(--ui-caption);line-height:1.6}
.mission-question-tools{display:flex;align-items:center;gap:0;flex:none}
.mission-question-empty{padding:40px 0;text-align:center;font-size:var(--ui-body);color:var(--room-muted)}
.mission-question-drafts{margin:0 0 28px}
.mission-candidate{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0;padding:4px 0}
.mission-candidate input{flex:none;margin-top:5px;accent-color:var(--room-gold)}
.mission-candidate>span{display:grid;gap:6px;min-width:0}
.mission-candidate strong{font-size:var(--ui-body);line-height:1.75;font-weight:400;color:var(--room-ink);overflow-wrap:anywhere}
.mission-candidate small{font-size:var(--ui-caption);color:var(--room-muted)}
.mission-question-drafts .map-save{padding:16px 0 0;border:0;text-align:right}
.mission-tree .tree-toolbar{height:44px;padding:0 24px}
.mission-tree .tree-node{border:0;background:transparent;border-radius:var(--ui-radius)}
.mission-tree .tree-label{border-radius:var(--ui-radius)}
.mission-tree .tree-label:hover{background:var(--ui-hover)}
.mission-tree .tree-label strong{font-size:var(--ui-control)}
.mission-tree .tree-mission .tree-label strong{font-size:15px;font-weight:400}
.mission-tree .tree-axis .tree-label strong{font-size:var(--ui-body)}
.mission-tree .tree-fold{background:transparent;color:var(--room-muted);min-width:32px;min-height:32px}
.mission-tree .tree-fold:hover{background:var(--ui-hover);color:var(--room-gold)}
.focus-room .decision-item footer>div{display:flex;gap:0}
@media(hover:none){.orbit-node .orbit-remove{opacity:1}}
@media(max-width:760px){
 .world-header .wordmark .brand-name{font-size:18px;letter-spacing:2px}
 .garden-core .mission-heading h1{font-size:22px;line-height:1.7}
 .garden-core:not(.welcome-core) .root-question h1,.garden-core.depth-focus .root-question h1{font-size:21px}
 .orbit-node .orbit-title{font-size:15px}
 .orbit-node .orbit-remove{opacity:1;right:0}
 .focus-room[data-view=index]{width:calc(100% - 16px);height:calc(var(--visible-height) - 16px)}
 .focus-room[data-view=index] .panel-header{padding:16px 16px 8px!important;gap:8px}
 .focus-room[data-view=index] #room-title{font-size:16px!important}
 .mission-tabs{padding:4px 16px 12px}
 .focus-room .mission-background textarea{font-size:16px}
 .source-document{grid-template-columns:20px minmax(0,1fr);gap:8px}
 .source-document-actions{grid-column:2;justify-content:flex-end}
 .mission-question-toolbar{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:20px}
 .mission-question-actions{align-self:stretch;justify-content:flex-end}
 .mission-question-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;padding:12px 0}
 .mission-question-main{display:contents}
 .mission-question-main>.question-axis-tag{grid-column:1;grid-row:1;align-self:center}
 .mission-question-title,.mission-question-dimension{grid-column:1/-1}
 .mission-question-drafts .mission-question-row{display:flex;gap:8px}
 .mission-candidate{flex-basis:calc(100% - 80px)}
 .mission-question-tools{grid-column:2;grid-row:1;margin-top:0}
 #modal.import-dialog .import-tabs{gap:4px}
 #modal.import-dialog .import-tabs button{padding:8px 10px;font-size:12px}
 .mission-tree .tree-toolbar{padding:0 12px}
}
@media(prefers-reduced-motion:reduce){body .icon-button{transition:none}}
