/* Arc Studio 5: construction-first library and one mobile sheet behaviour. */
.library-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding-inline:6px}
.library-tabs button{font-size:11px;line-height:15px;min-width:0;gap:6px;white-space:normal;min-height:70px}
.builder-shells{display:grid;grid-template-columns:1fr;gap:8px}
.builder-module{display:grid;grid-template-columns:62px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;min-height:84px;padding:9px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);text-align:left;transition:background .15s,border-color .15s}
.builder-module:hover{background:var(--surface-alt);border-color:#adb6c4}
.builder-module.active{border-color:var(--brand);background:var(--brand-soft)}
.builder-module strong{display:block;font-size:13px;line-height:19px;font-weight:600;color:var(--text)}
.builder-module small{display:block;font-size:11px;line-height:17px;color:var(--text-secondary);margin-top:3px}
.builder-module-visual{width:62px;display:block;background:var(--surface-alt);border-radius:8px;overflow:hidden}
.builder-module-visual svg{display:block;width:100%;height:54px}
.builder-secondary{display:grid;gap:6px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}
.builder-secondary .button{font-size:12px;min-height:44px}
.empty-state{width:min(380px,calc(100% - 40px));background:#ffffffed;padding:24px 22px;border:1px solid var(--border);border-radius:20px;box-shadow:0 8px 35px #17212f0b;pointer-events:auto}
.empty-state strong{display:block;font-size:23px;line-height:30px}
.empty-state p{margin:10px 0 20px}
.empty-state>.button{width:100%;margin-top:8px;font-size:13px;min-height:44px}
.builder-start-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.builder-start-actions .button{width:100%;min-height:46px;padding-inline:8px}
.starter-card .template-render{aspect-ratio:1.6;min-height:120px}
.starter-card .template-info{min-height:136px;display:flex;flex-direction:column}
.starter-card .template-info small{flex:1}
.starter-card .template-bottom{font-size:11px}
.showcase-photos{display:flex;gap:12px;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:12px}
.showcase-photos img{flex:0 0 85%;width:85%;height:340px;object-fit:contain;background:var(--surface-alt);border-radius:12px;scroll-snap-align:center}
.showcase-photos img:only-child{width:100%;flex-basis:100%}
.showcase-description{white-space:pre-line;line-height:1.65}
.showcase-detail>svg{max-height:280px;width:100%}
#toggle-lock.active{color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px #d5afbf}
.view-lock-notice{position:absolute;bottom:82px;left:50%;transform:translateX(-50%);max-width:calc(100% - 24px);display:flex;align-items:center;justify-content:center;gap:8px;z-index:6;background:#fff;border:1px solid #d5afbf;border-radius:10px;color:var(--brand);font-size:12px;line-height:18px;padding:4px 8px 4px 12px;box-shadow:var(--shadow-float);white-space:nowrap}
.view-lock-notice svg{width:16px;height:16px;flex:none}
.view-lock-notice button{color:var(--brand);text-decoration:underline;min-height:40px;padding:6px}
.view-locked #plan,.view-locked #plan [data-id]{cursor:grab}
@media(min-width:1200px) and (max-width:1439px){.library-tabs button{font-size:10px;line-height:14px}.builder-module{grid-template-columns:48px minmax(0,1fr) 16px;gap:7px;padding-inline:8px}.builder-module-visual{width:48px}.grid-tools .technical-toggle span:last-child{display:none}.view-controls{gap:6px;left:12px;right:12px}.zoom-tools .icon-button,.grid-tools .icon-button{width:34px;min-width:34px}}
@media(max-width:1199px){
 .panel-scrim{display:block;position:fixed;inset:var(--workspace-top,112px) 0 calc(var(--nav-h) + var(--safe-bottom));z-index:50;background:rgba(32,36,44,.20);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
 .panel-scrim[hidden]{display:none!important}
 .library.sheet-open,.inspector.sheet-open{z-index:60}
 .library-tabs button{font-size:12px;min-height:62px}
 .builder-module{min-height:84px;grid-template-columns:72px minmax(0,1fr) 20px;padding:10px 12px}
 .builder-module-visual{width:72px}
 .builder-module strong{font-size:14px;line-height:20px}
 .builder-module small{font-size:12px;line-height:17px}
 .library-content .library-heading h3{margin-bottom:10px}
 .library-content>.description{margin-top:4px}
 .grid-tools #toggle-grid,.grid-tools #toggle-dims{display:flex}
 .grid-tools .technical-toggle{width:44px;min-width:44px;height:44px;padding:8px}
 .grid-tools .technical-toggle span:last-child{display:none}
 .grid-tools .icon-button,.zoom-tools .icon-button{width:44px;min-width:44px;height:44px}
 .grid-tools .technical-toggle svg{width:20px;height:20px}
 .view-controls{flex-wrap:wrap;justify-content:space-between}
 .zoom-tools #zoom-label{width:40px}
 .zoom-tools .separator{display:none}
}
@media(max-width:550px){
 .view-controls{left:10px;right:10px;bottom:10px;align-items:flex-end;gap:8px}
 .grid-tools{margin-left:auto;order:0}
 .zoom-tools{margin-right:calc(100% - 180px);order:1}
 .selection-actions,.view-lock-notice{bottom:128px}
 .plan-signature{bottom:71px;max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .empty-state{padding:20px 16px;top:43%;width:min(360px,calc(100% - 30px));max-height:calc(100% - 156px);overflow:auto}
 .empty-state strong{font-size:21px;line-height:28px}
 .empty-state p{font-size:13px;line-height:20px;margin:8px 0 16px}
 .templates-grid{grid-template-columns:1fr}
 .starter-card{display:grid;grid-template-columns:110px minmax(0,1fr)}
 .starter-card .template-render{height:100%;min-height:140px;aspect-ratio:auto;border-radius:0}
 .starter-card .template-info{min-height:144px;padding:14px 12px}
 .starter-card .template-info strong{font-size:14px;line-height:20px}
 .starter-card .template-info small{font-size:12px;line-height:17px}
 .starter-card .template-bottom span:last-child{display:none}
 .showcase-photos img{height:230px}
}
@media(max-height:550px) and (max-width:1199px){
 .view-controls{flex-wrap:nowrap}
 .zoom-tools{margin:0;order:0}.grid-tools{order:1}
 .view-lock-notice{bottom:70px}.view-lock-notice button{min-height:32px}
 .empty-state{top:45%;padding:10px 14px;max-height:calc(100% - 75px);overflow:auto;max-width:380px}
 .empty-state strong{font-size:17px;line-height:23px}.empty-state p{margin:4px 0 8px;font-size:12px;line-height:17px}
 .library-tabs button{flex-direction:column;font-size:10px;min-height:56px}
}
@media(prefers-reduced-motion:reduce){.builder-module{transition:none}}
/* Notices must not intercept camera controls; their explicit actions remain usable. */
.toasts .toast{pointer-events:none}.toasts .toast button,.toasts .toast a{pointer-events:auto}

.builder-more-modules{grid-column:1/-1;margin:8px 0}.builder-more-modules summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:600}.builder-more-modules>.builder-shells{margin:8px 0}
