/* Editor usability: same parchment, brass and stone, on every screen. */
[hidden]{display:none!important}
button,input,textarea,select{font:inherit}
button:focus-visible,summary:focus-visible{outline:2px solid #edc775;outline-offset:3px}
.workbook-menu{display:none}.workbook-actions{display:grid;gap:12px}
#footer button{background:none;color:inherit;font-size:11px;text-decoration:underline;text-underline-offset:3px}
#panel-scrim{display:none}
.mobile-properties{display:none}
.collection-switch{display:flex;gap:5px;margin:20px 0;max-width:420px;padding:5px;border:1px solid #8d795b;border-radius:12px;background:#302a21}
.collection-switch button{flex:1;min-height:44px;padding:10px 15px;border-radius:8px;color:#d9c8a5;background:none}
.collection-switch button[aria-pressed=true]{background:#bba16b;color:#2d291e;box-shadow:0 2px 5px #33271930}
.collection-switch span{font-size:11px;margin-left:6px;opacity:.75}
.collection-actions{display:flex;flex-wrap:wrap;gap:10px}.collection-actions button{min-height:44px}
.collection-list{margin:24px 0}.collection-card{min-width:0}.collection-card h2{overflow-wrap:anywhere}
.collection-empty{padding:30px 0}.collection-empty p{font:16px/1.6 var(--sans)}
.test-card h3{overflow-wrap:anywhere}.test-card>div{display:flex;flex-wrap:wrap;gap:8px}
.annotation-tool{margin-bottom:10px;border-bottom:1px solid #a18a6155;border-radius:0;min-height:44px}.annotation-tool b{font:700 24px Georgia;width:27px;color:#76582c}
.research-objects{background:none;color:#715b35;font-size:12px;text-decoration:underline;min-height:44px;padding:8px;text-align:left}
.text-note.comment-box{border:1px solid transparent;background:none;border-radius:6px;pointer-events:auto;cursor:grab;color:var(--comment);min-height:60px;user-select:none;-webkit-user-select:none}
.text-note .note-content{white-space:pre-wrap;overflow-wrap:anywhere;overflow:hidden;max-height:100%;padding:10px 12px;font:500 var(--text-size)/1.4 var(--sans);text-shadow:0 1px 4px #16140f}
.text-note:hover,.text-note.selected{border-color:#c8ae6c70;background:#24211966}.text-note.selected{outline:2px solid #e8cf92;outline-offset:3px}
.note-edit{position:absolute;right:0;top:-34px;width:36px;height:34px;border:1px solid #9f8858;border-radius:7px;background:#3e382a;color:#f5dfae;opacity:0;pointer-events:none}
.text-note:hover .note-edit,.text-note.selected .note-edit{opacity:1;pointer-events:auto}.text-note .comment-resize{opacity:0}.text-note.selected .comment-resize,.text-note:hover .comment-resize{opacity:1}
#note-content{width:100%;box-sizing:border-box;resize:vertical;min-height:160px;max-height:45dvh;padding:14px;border:1px solid #b09a71;border-radius:8px;background:#faf1d9;color:#3c3123;font:16px/1.6 var(--sans)}
#note-size,#node-caption{width:100%;padding:10px;border:1px solid #b09a71;border-radius:6px;background:#f3e5c9;color:#3c3123;min-height:44px}
.comment-colors{flex-wrap:wrap}.comment-colors button{width:36px;height:36px}
.touch-help{border-bottom:1px solid #ad956344;margin-bottom:20px;padding-bottom:12px}.touch-help p{font:14px/1.6 var(--sans);color:#756144}
.inspector-label{display:block;margin:12px 0 7px}
.book-card .component-notes{margin:8px 0}.book-card button{min-height:44px}
.page-heading p{max-width:55ch}.page-heading h1{overflow-wrap:anywhere}
@media(max-width:1100px){.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
 #panel-scrim:not([hidden]){display:block;position:absolute;inset:0;z-index:24;background:#14120e66;backdrop-filter:blur(1px)}
 #editor-view #library,#editor-view #inspector{top:0;bottom:0;width:min(350px,calc(100vw - 48px));max-height:100%;z-index:25}
 .inspector-scroll,.palette-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .search input,input:not([type=checkbox]):not([type=color]),textarea,select{font-size:16px}
 .context-title button{min-width:44px;min-height:44px}.context-search input{font-size:16px}
 .graph-context{width:min(360px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
 .context-actions button,.context-result{min-height:48px;font-size:13px}.context-actions kbd{display:none}
 .comment-colors button{width:40px;height:40px}.comment-resize{min-width:36px;min-height:36px}
 .time-unit input{font-size:18px}.modal-close{min-width:44px;min-height:44px}
}
@media(max-width:600px){
 html,body{max-width:100%;overflow-x:hidden}#site-header{padding-top:env(safe-area-inset-top);height:calc(87px + env(safe-area-inset-top));box-sizing:border-box}
 #editor-view{height:calc(100dvh - 87px - env(safe-area-inset-top));min-height:0}
 .workspace{min-height:0}.graph-area{min-height:0}#canvas{min-height:100px}
 #project-bar{height:54px;min-height:54px;padding:0 12px;gap:8px}.project-name{font-size:20px;max-width:58vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb{display:none}.project-name .local{display:none}
 .project-actions .btn:not(.workbook-menu){display:none}.workbook-menu{display:inline-grid;place-items:center;min-width:44px;min-height:44px;font-size:23px!important;padding:0!important}
 #canvas-toolbar{height:96px;min-height:96px;padding:0 7px;display:flex;flex-wrap:wrap;gap:0;align-content:center}
 .graph-label{height:44px;min-width:0;flex:0 0 100%}.graph-label>span{max-width:none;min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}.graph-label small{flex:none}
 .canvas-tools{display:flex;flex:0 0 100%;flex-wrap:nowrap;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;gap:3px;justify-content:flex-start;width:100%;height:48px;scrollbar-width:none}
 .canvas-tools .tool{flex:0 0 44px;min-width:44px;min-height:44px}.canvas-tools #redo,.canvas-tools #help,.canvas-tools #delete{display:block}
 .canvas-tools #zoom-out,.canvas-tools #zoom-in,.zoom-label{display:none}
 .mobile-properties{display:grid;place-items:center;flex:none;min-width:44px;min-height:44px}.canvas-tools [data-panel="right"],.canvas-tools #touch-tool{display:none!important}
 #touch-tool{border:1px solid #8f794e88;border-radius:8px}#touch-tool[aria-pressed=true]{background:#ad8a48;color:#211c15}
 #transport{padding:7px 8px max(7px,env(safe-area-inset-bottom));min-height:60px}#footer{display:none}
 .transport-controls .tool,.transport-options .tool,.speed-picker summary{min-width:44px;min-height:44px}.transport-clock{min-width:60px;padding-left:6px}.transport-clock strong{font-size:20px}
 .transport-options .test-control{display:none}.transport-options{gap:0}.transport-main{gap:3px}.play-control{padding:0;min-width:44px}
 #graph-tabs{height:48px;min-height:48px}.tab-close,.tab-pencil,.graph-list-button,.graph-tab-add{min-width:44px;min-height:44px}.graph-tab-wrap{max-width:260px!important}.graph-tab{min-height:40px}
 #mobile-canvas-tools{bottom:10px}.note-edit{opacity:1;pointer-events:auto;width:44px;height:38px;top:-38px}
 #mobile-canvas-tools #mobile-touch-tool{font:12px var(--sans);padding:0 12px;border-radius:24px;max-width:135px}#mobile-touch-tool[aria-pressed=true]{background:#9d7f42;color:#fff0c7}
 #book-view,#collection-view{padding:24px 16px;min-height:calc(100dvh - 87px)}.page-heading h1{font-size:34px}.page-heading p{font-size:18px}
 .book-grid,.collection-list{grid-template-columns:minmax(0,1fr)}.book-card{padding:20px}.book-card p{font-size:17px;line-height:1.6}.book-card a{display:inline-block;min-height:44px;align-content:center;font-size:13px}
 .collection-card{padding:20px}.collection-card .btn{min-height:44px}.collection-switch{max-width:none}.collection-switch button{padding:9px}
 dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 24px);margin:auto;border-radius:13px}
 dialog #modal-content{max-height:calc(100dvh - 26px);display:flex;flex-direction:column}.modal-header,.modal-footer{flex:none}.modal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px}.modal-header{padding:12px 16px}.modal-footer{padding:12px 16px;display:flex;gap:8px;flex-wrap:wrap}.modal-footer .btn{min-height:44px}.modal-header h2{font-size:24px}
 .test-cards{grid-template-columns:minmax(0,1fr)!important}.test-card{min-width:0}.test-card h3{font-size:21px}.test-wiring{overflow-x:auto}.test-steps{padding-left:22px}
 #toast{max-width:calc(100vw - 32px);white-space:normal;box-sizing:border-box;bottom:80px;font-size:13px}
 .language{min-width:44px;min-height:40px}.shortcut-list{grid-template-columns:1fr;gap:6px}.shortcut-list dd{margin-bottom:10px}
}
@media(max-height:550px) and (max-width:900px){
 #project-bar,#footer{display:none}#site-header{height:48px;display:flex}.main-nav{height:44px}
 #editor-view{height:calc(100dvh - 48px);min-height:0}#canvas-toolbar{min-height:48px;height:48px;padding:0 8px;flex-wrap:nowrap;gap:8px}
 .graph-label{width:32%;min-width:0;flex:0 0 32%;height:44px}.graph-label>span{min-width:0;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .canvas-tools{width:auto;min-width:0;flex:1;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;height:48px;scrollbar-width:none}
 .canvas-tools .tool{flex:0 0 44px;min-width:44px;min-height:44px}.brand small{display:none}.graph-area #canvas{min-height:50px}
}
@media(pointer:coarse){.pin:before{content:'';position:absolute;inset:-6px -12px}.pin{touch-action:none}.node:focus-within .node-frame{opacity:1}}
