/* Shared editorial rhythm. UI stays sans-serif; writing gets the editorial face. */
:root{--oq-ink:#26262b;--oq-muted:#777780;--oq-line:#ececef;--oq-surface:#fafafa}
.board-context #boardContextName{cursor:text}.board-context #boardContextName[hidden]{display:none}
#renameActiveCanvas{border:0;background:transparent;color:#777780;padding:6px;border-radius:6px;cursor:pointer}
#canvasNameInput{font:inherit;color:inherit;border:0;border-bottom:1px solid #aaa;background:transparent;max-width:260px;min-width:80px;padding:4px;outline:none}
.editorial-stage #boardContextName{cursor:text}
.canvas-empty span{line-height:1.7}
body{color:var(--oq-ink)}
header.header{border-bottom:1px solid var(--oq-line);box-shadow:none}
header.header .search,header.header .search:focus-within{border-radius:16px;background:#f7f7f8}
.header-filters .filters button{font-weight:500;letter-spacing:-.01em}
.context-title-toggle{font:12px -apple-system,BlinkMacSystemFont,sans-serif;border:0;border-radius:7px;background:transparent;color:var(--oq-muted);padding:7px 10px;cursor:pointer;white-space:nowrap}
.context-title-toggle[aria-pressed=true]{background:#f0f0f2;color:var(--oq-ink)}
.oq-card-title{font:500 12px/18px -apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.012em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#55555e;text-align:left;pointer-events:none;opacity:0}
.grid .block:has(>.oq-card-title),.library-cards .block:has(>.oq-card-title){padding-top:25px;position:relative}
.grid .block>.oq-card-title,.library-cards .block>.oq-card-title{position:absolute;top:0;left:2px;right:2px}
[data-context-titles=on] .block>.context-title,.block:hover>.oq-card-title,.block:focus-visible>.oq-card-title,.block:focus-within>.oq-card-title,.block.selected>.oq-card-title{opacity:1}
.grid>.block{margin-bottom:26px;animation:none!important;transition:none!important}
.block .block-shell{border-radius:9px!important;border-color:transparent;box-shadow:none}
.block .block-inner{border-radius:8px}
.block img{object-position:top center}
.grid .text-block,.library-cards .text-block{font:400 25px/1.42 var(--editorial,Georgia);background:#f7f7f8;border:0;padding:24px;color:#33333b;letter-spacing:-.015em}
.library-section h2{font-family:var(--editorial,Georgia);font-weight:400;letter-spacing:-.025em}
.library-favorite{top:34px!important}
.canvas-view #canvasSurface{background:#fafafa;background-image:none}
.canvas-view .dot-grid{opacity:.16}
.canvas-view .canvas-block{contain:layout style;overflow:visible;filter:none;box-shadow:0 2px 8px #16161b06}
.canvas-block>.oq-card-title{position:absolute;left:2px;right:2px;top:-24px;line-height:20px;font-size:12px}
#canvasSurface[data-distant] .canvas-block>.oq-card-title{opacity:0!important}
.canvas-view .canvas-block.selected{outline:1.5px solid #777783;outline-offset:4px;box-shadow:none}
.canvas-view .canvas-block.canvas-note{box-shadow:none}
.canvas-view .board{border:1px solid #ddddE3;background:#ffffff80;box-shadow:none;backdrop-filter:none;border-radius:14px}
.canvas-view .board-title strong{font:400 24px/1.2 var(--editorial,Georgia);letter-spacing:-.025em}
.canvas-view .board-title small,.canvas-view .board-title em{background:transparent;color:#888890;box-shadow:none;border:0}
.canvas-view .canvas-file-card{background:#f1f1f4}
.canvas-view #canvasTools{background:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;gap:8px}
.canvas-view #canvasTools button{border-radius:7px;box-shadow:none;font-weight:500}
.canvas-view #canvasTools button span{font-size:12px;letter-spacing:0}
.canvas-view .canvas-orientation{background:#ffffffc9;border:0;box-shadow:none;font-size:11px;color:#777780}
.canvas-view .shelf-card{border:0;background:transparent;box-shadow:none;border-radius:8px;padding:5px}
.canvas-view .shelf-card:hover{background:#f2f2f4}
.canvas-view .shelf-card strong{font:500 12px/1.4 -apple-system,BlinkMacSystemFont,sans-serif;color:#55555f}
.canvas-view .shelf-card em{display:none}
.canvas-view .shelf-card-visual{border-radius:6px;background:#f5f5f7}
.canvas-view .shelf-card-visual img{object-position:top}
.canvas-view .panel-heading h2{font:400 28px/1.1 var(--editorial,Georgia)}
#focusDialog .focus-content{background:#fafafa}
#focusDialog .focus-card aside{border-left-color:var(--oq-line)}
#focusDialog #focusTitle{font:400 25px/1.24 var(--editorial,Georgia);letter-spacing:-.025em}
.preview-source-action{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 12px;border:1px solid var(--oq-line);background:#fafafa;border-radius:8px;font:12px -apple-system,BlinkMacSystemFont,sans-serif;color:#45454e;cursor:pointer}
.preview-source-action:hover{background:#f1f1f4}
.oq-source-browser{position:fixed;inset:0;width:calc(100vw - 40px);height:calc(100dvh - 40px);max-width:1600px;max-height:none;padding:0;margin:auto;border:1px solid #e6e6eb;border-radius:14px;background:#fff;box-shadow:0 24px 100px #0003;overflow:hidden}
.oq-source-browser[open]{display:flex;flex-direction:column}
.oq-source-browser::backdrop{background:#15151a66;backdrop-filter:blur(5px)}
.oq-source-browser header{display:flex;align-items:center;gap:20px;min-height:58px;padding:10px 18px;flex:none;border-bottom:1px solid var(--oq-line)}
.oq-source-browser button,.oq-source-browser a{font:12px/1.5 -apple-system,BlinkMacSystemFont,sans-serif;color:#45454f;white-space:nowrap;text-decoration:none}
.oq-source-browser button{padding:8px 10px;background:#f3f3f5;border:0;border-radius:7px;cursor:pointer}
.source-address{flex:1;text-align:center;font:12px/1.5 -apple-system,BlinkMacSystemFont,sans-serif;color:#777780;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oq-source-browser p{font:11px/1.5 -apple-system,BlinkMacSystemFont,sans-serif;color:#777780;padding:9px 18px;margin:0;background:#fafafa;flex:none}
.oq-source-browser p a{text-decoration:underline;font:inherit}
.oq-source-browser iframe{border:0;display:block;flex:1;width:100%;min-height:0;background:#fff}
@media(max-width:700px){.oq-source-browser{width:100vw;height:100dvh;border:0;border-radius:0}.oq-source-browser header{padding:10px;gap:8px}.source-address{display:none}.oq-source-browser header>a{margin-left:auto}.context-title-toggle{padding:7px}.oq-card-title{font-size:11px}}
@media(hover:none){.image-title{opacity:1}}
/* One working row: title, view switch, and horizontally scrollable actions. */
.canvas-view #boardPanel .board-panel-header{display:flex!important;flex-wrap:nowrap;height:58px!important;min-height:58px;padding:0 14px!important;gap:12px!important;grid-template:none;border-bottom:1px solid var(--oq-line)}
.canvas-view #boardPanel .board-context{display:flex;align-items:center;gap:4px;flex:0 1 180px;min-width:90px;grid-area:auto}
.canvas-view #boardPanel .board-context strong{display:block;min-width:0;max-width:none;flex:1;font:400 19px/1.3 var(--editorial,Georgia);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.canvas-view #boardPanel #boardContextName[hidden]{display:none}
.canvas-view #boardPanel #canvasNameInput{width:100%;min-width:0;max-width:none;font:400 19px/1.3 var(--editorial,Georgia)}
.canvas-view #renameActiveCanvas{flex:none}
.canvas-view #canvasStageSwitch{grid-area:auto;flex:none;margin:0;padding:3px;background:#f4f4f6;border-radius:9px}
.canvas-view #canvasStageSwitch button{height:30px;font-size:11px;padding:0 10px;white-space:nowrap}
.canvas-view #canvasTools{grid-area:auto;flex:1 1 0;width:auto!important;min-width:110px;margin-left:auto;justify-content:flex-start!important}
.canvas-view #canvasTools>*,.canvas-view .editorial-actions>*{flex-shrink:0}
.canvas-view #canvasTools .tool-divider{flex-shrink:0}
.canvas-view .editorial-actions{min-width:0;flex:1;overflow-x:auto;scrollbar-width:none;justify-content:flex-start}
.canvas-view .panel-heading{height:58px;padding:0 12px;gap:8px;background:#fff;border-bottom-color:var(--oq-line)}
.canvas-view .panel-heading .panel-search{position:static;margin:0;min-width:0;flex:1;background:#f7f7f9;border:0;border-radius:9px}
.canvas-view .panel-heading .panel-collapse{flex:none;background:transparent}
.canvas-view .all-collapsed .panel-heading .panel-search{display:none}
@media(max-width:790px){.canvas-view #boardPanel .board-panel-header{padding:0 8px!important;gap:6px!important}.canvas-view #boardPanel .board-context{min-width:70px;flex-basis:115px}.canvas-view #boardPanel .board-context strong,.canvas-view #boardPanel #canvasNameInput{font-size:16px}.canvas-view #canvasStageSwitch button{font-size:10px;padding:0 7px}.canvas-view #renameActiveCanvas{display:none}.canvas-view #canvasTools{min-width:70px}.canvas-view .editorial-actions>span{display:none}}
/* Keep panel rules continuous: only the shelf body scrolls, not its header. */
body[data-mode="canvas"] .canvas-workspace{gap:0;background:#fff}
.canvas-view #canvasLibraryPanel{display:flex;flex-direction:column;overflow:hidden;scrollbar-gutter:auto;border-right:1px solid var(--oq-line)}
.canvas-view #canvasLibraryPanel>.panel-heading{position:relative;flex:0 0 58px;height:58px;min-height:58px;width:100%;border-bottom:1px solid var(--oq-line)}
.canvas-library-content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-top:8px}
.canvas-view .all-collapsed #canvasLibraryPanel>.panel-heading{height:58px;padding:0;align-items:center;border-bottom:1px solid var(--oq-line)}
.canvas-view .saved-canvas-row{display:flex;align-items:center;gap:3px;min-width:0}
.canvas-view .saved-canvas-row .saved-board-card{flex:1;min-width:0;grid-template-columns:32px minmax(0,1fr)}
.canvas-view .delete-saved-canvas{flex:none;width:28px;height:30px;padding:6px;border:0;border-radius:7px;background:transparent;color:#94949d;display:grid;place-items:center}
.canvas-view .delete-saved-canvas:hover,.canvas-view .delete-saved-canvas:focus-visible{background:#f5ebeb;color:#9d3029}
.delete-saved-canvas svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.canvas-view #canvasTools #deleteView{display:inline-flex!important}
#canvasDeleteDialog form{background:#fff;border-radius:16px}
#canvasDeleteDialog #canvasConfirmDelete{background:#9d3029;color:#fff;border-color:#9d3029}
#canvasDeleteError{color:#9d3029;font-size:12px}
/* The canvas chooser belongs to its name; creation and editing stay labeled. */
.canvas-view #boardPanel .board-context{flex-basis:185px;gap:6px}
.canvas-title-picker{position:relative;display:grid;place-items:center;flex:none;width:26px;height:30px;border-radius:7px;color:#777780}
.canvas-title-picker:hover,.canvas-title-picker:focus-within{background:#f1f1f4;color:#26262b}
.canvas-title-picker>svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.canvas-title-picker select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.editorial-stage .canvas-title-picker{display:none}
.canvas-view #canvasTools .view-picker{display:flex!important;gap:2px}
.canvas-view #canvasTools .view-picker button{width:auto!important;flex:none}
.canvas-view #canvasTools button span{display:inline!important}
.canvas-view #canvasTools{gap:5px;padding:0!important}
.canvas-view #canvasTools button,.canvas-view .canvas-commit-actions button,.canvas-view #canvasContextBar button{height:34px!important;padding:0 9px!important;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:500 12px/1 -apple-system,BlinkMacSystemFont,sans-serif;border:0;border-radius:7px;background:transparent;color:#666670;white-space:nowrap;box-shadow:none}
.canvas-view #canvasTools button svg,.canvas-view .canvas-commit-actions button svg,.canvas-view #canvasContextBar button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;flex:none}
.canvas-view #canvasTools button:hover,.canvas-view .canvas-commit-actions button:hover,.canvas-view #canvasContextBar button:hover{background:#f1f1f4!important;color:#26262b}
.canvas-commit-actions{display:flex;align-items:center;gap:5px;flex:none;padding-left:8px;border-left:1px solid var(--oq-line)}
.editorial-stage .canvas-commit-actions{display:none}
.canvas-view .canvas-commit-actions #saveView{color:#777780;background:transparent!important;min-width:67px}
.canvas-view .canvas-commit-actions #saveView:disabled{opacity:.65;cursor:wait}
.canvas-view .canvas-commit-actions #openBoardStudio{color:#26262b;background:#f0f0f3;font-weight:600}
.canvas-view #canvasContextBar{gap:3px}
@media(max-width:790px){.canvas-view #boardPanel .board-context{flex-basis:105px;min-width:65px}.canvas-view #boardPanel .board-panel-header{gap:5px!important}.canvas-commit-actions{padding-left:4px;gap:0}.canvas-view .canvas-commit-actions button{padding:0 6px!important}.canvas-view #canvasTools{min-width:35px}}
