:root{--color-bg:#F5F5F5;--color-surface-secondary:#FAFAFA;--shell-head-height:64px;--subnav-height:56px;--keyboard-inset:0px}.lobby-intro{padding:var(--space-4) 0 var(--space-6)}.lobby-card{min-height:88px;padding:var(--space-4);gap:var(--space-3)}.lobby-grid{gap:var(--space-3)}.workspace-tabs{position:sticky;top:var(--shell-head-height);z-index:8;display:flex;flex-direction:row;gap:var(--space-1);padding:var(--space-1) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-separator);max-width:100%;overflow-x:auto;scrollbar-width:none}.workspace-tabs>button{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);min-height:48px;white-space:nowrap;color:var(--color-text-secondary);border-radius:var(--radius-md);font-weight:500}.workspace-tabs>button[aria-current=page]{color:var(--color-accent-text);background:var(--color-accent-tint)}.workspace-tabs .icon{width:20px;height:20px;flex-basis:20px}.task-main{text-align:left;padding:var(--space-2) 0;display:flex;flex-direction:column;gap:var(--space-1);min-height:64px}.task-main span{display:block;overflow-wrap:anywhere}.task-due{color:var(--color-warning)}.task-today>.row{padding:var(--space-3) var(--space-2);gap:var(--space-2)}.week-agenda{display:flex;flex-direction:column;gap:var(--space-3)}.agenda-day{padding:var(--space-4);border:1px solid var(--color-separator);border-radius:var(--radius-lg);background:var(--color-surface)}.agenda-date{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.agenda-day h2{font-size:var(--type-card-size);line-height:var(--type-card-leading)}.agenda-day ul{padding:0;margin:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.agenda-day li{padding:var(--space-2) 0;border-top:1px solid var(--color-separator);overflow-wrap:anywhere}.agenda-day.is-today{border-color:var(--color-accent-selected)}.project-cards{display:grid;gap:var(--space-3)}.project-card{display:flex;align-items:center;gap:var(--space-3);text-align:left;min-height:96px}.project-card h2{font-size:var(--type-card-size);line-height:var(--type-card-leading)}.project-card .secondary{display:block;margin-top:var(--space-1)}.project-task{width:100%;text-align:left;min-height:80px}.project-task .secondary{display:block;margin-top:var(--space-2)}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);min-width:0}.form-pair>label{min-width:0}.form-pair input{min-width:0;max-width:100%}body[data-workspace=reader][data-reading=false]{background:var(--color-bg)}body[data-workspace=reader][data-reading=false] main{padding:var(--space-6) var(--space-4);max-width:900px}.literature-search{margin-bottom:var(--space-4)}.continue-reading{width:100%;display:flex;align-items:center;gap:var(--space-3);text-align:left;margin-bottom:var(--space-6);min-height:112px}.continue-reading .grow{display:flex;flex-direction:column;gap:var(--space-2)}.continue-symbol{display:grid;place-items:center;width:48px;height:64px;background:var(--color-accent-tint);color:var(--color-accent-text);border-radius:var(--radius-sm);flex-shrink:0}.literature-item{width:100%;text-align:left;min-height:88px}.literature-item .secondary{display:block;margin-top:var(--space-1)}.literature-item strong,.continue-reading strong{overflow-wrap:anywhere}.reader-back{margin:0 0 var(--space-6);padding-left:0}.reading-summary,.reading-summary p,.reading-summary strong{font-size:var(--reader-size);line-height:var(--reader-leading)}.reading-summary strong{font-weight:600}.reading-paper{overflow-wrap:anywhere}.reading-dock{bottom:var(--keyboard-inset);padding:var(--space-2) var(--space-4) calc(var(--space-2) + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--space-1)}.reader-selection-status{font-size:var(--type-caption-size);line-height:var(--type-caption-leading);color:var(--color-text-secondary);text-align:center;min-height:16px}.reader-dock-actions{display:flex;justify-content:space-around;gap:var(--space-2)}body[data-workspace=reader][data-reading=true] main{padding-bottom:calc(128px + var(--keyboard-inset) + env(safe-area-inset-bottom))}.selected-quote,.reader-note blockquote{margin:0;padding-left:var(--space-4);border-left:3px solid var(--color-accent-selected);overflow-wrap:anywhere}.reader-note{padding:var(--space-3) 0;display:flex;flex-direction:column;gap:var(--space-3);border-bottom:1px solid var(--color-separator)}.local-pdf{width:100%;height:70dvh;border:1px solid var(--color-separator);margin-top:var(--space-4)}.pdf-notice{margin-top:var(--space-4)}.reference-search-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.selection-actions{flex-wrap:wrap;margin-bottom:var(--space-4)}.link-resource{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);min-height:180px;overflow-wrap:anywhere}.reference-card.picked{outline:3px solid var(--color-accent-text);outline-offset:-3px}.source-link{display:flex;align-items:center;gap:var(--space-2);min-height:44px;overflow-wrap:anywhere}.source-link .icon{flex-shrink:0}.pos-event-context{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.pos-event-context strong{font-size:var(--type-card-size);line-height:var(--type-card-leading)}.product-grid{gap:var(--space-2)}.product{position:relative}.product img{height:112px;aspect-ratio:auto;object-fit:contain}.product-info{padding:var(--space-3)}.product-info h3{font-size:var(--type-secondary-size);line-height:var(--type-secondary-leading);font-weight:500}.product-info p{margin-top:var(--space-2)}.product-qty{position:absolute;top:var(--space-2);right:var(--space-2);min-width:24px;height:24px;padding:0 var(--space-1);display:grid;place-items:center;background:var(--color-accent-text);color:white;border-radius:var(--radius-pill);font-size:var(--type-secondary-size);font-weight:600}.checkout-dock{bottom:var(--keyboard-inset)}.planner-primary{bottom:var(--keyboard-inset)}body[data-workspace=pos] main{padding-bottom:calc(112px + var(--keyboard-inset) + env(safe-area-inset-bottom))}.cart{display:none}.pos-search{margin-bottom:var(--space-3)}.status-strip{margin-bottom:var(--space-2)}.cart-line .quantity{flex-shrink:0}.toast{bottom:calc(112px + var(--keyboard-inset) + env(safe-area-inset-bottom))}dialog{max-height:calc(var(--vv-height,100dvh) - var(--space-8) - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin-bottom:var(--keyboard-inset)}button:active,.lobby-card:active{background-color:var(--color-accent-tint)}.btn.primary:active{background:#8D2056;color:white}.boards-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.board-card{display:flex;flex-direction:column;text-align:left;gap:var(--space-2);min-height:176px;padding:var(--space-3)}.board-card-title{font-weight:600;overflow-wrap:anywhere}.board-miniature{height:96px;background:var(--color-bg);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;gap:var(--space-1);overflow:hidden;width:100%;color:var(--color-text-secondary)}.board-miniature img{width:30%;height:80%;object-fit:cover;border:1px solid var(--color-separator)}.storage-note{margin-top:var(--space-6)}body[data-board-open=true] .workspace-tabs{display:none}body[data-board-open=true] #main{padding:0;max-width:none;height:calc(var(--vv-height,100dvh) - var(--shell-head-height));display:flex;flex-direction:column;overflow:hidden}.board-titlebar{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2);background:var(--color-surface);border-bottom:1px solid var(--color-separator);flex-shrink:0;flex-wrap:wrap}.board-title{min-height:44px;text-align:left;flex:1;min-width:100px;font-size:var(--type-card-size);line-height:var(--type-card-leading);font-weight:600;overflow-wrap:anywhere}.board-titlebar #board-save-state{width:100%;order:4;padding:0 var(--space-3)}.board-workspace{flex:1;min-height:0;display:flex}.material-drawer{display:none}.canvas-column{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.canvas-surface{position:relative;flex:1;min-height:120px;background:#EEEEEE;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;overscroll-behavior:contain;outline-offset:-3px}.canvas-surface[data-mode=pan]{cursor:grab}.canvas-surface[data-mode=pan]:active{cursor:grabbing}#canvas-world{position:absolute;left:0;top:0;transform-origin:0 0;width:0;height:0}.canvas-object{position:absolute;border:2px solid transparent;outline:none;cursor:move;touch-action:none;background:var(--color-surface);border-radius:var(--radius-sm)}.canvas-object.selected{border-color:var(--color-accent-text)}.canvas-object:focus-visible{outline:3px solid var(--color-accent-text)}.canvas-object.locked{cursor:default}.canvas-object img{width:100%;height:100%;object-fit:contain;pointer-events:none;display:block}.canvas-text{display:block;width:100%;height:100%;padding:var(--space-3);font-size:24px;line-height:1.5;white-space:pre-wrap;overflow:auto;pointer-events:none;overflow-wrap:anywhere}.canvas-color{display:block;width:100%;height:100%;pointer-events:none}.canvas-link{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);font-size:15px;line-height:22px;overflow:hidden;height:100%;pointer-events:none;overflow-wrap:anywhere}.canvas-link>span:last-child{font-size:13px;color:var(--color-text-secondary)}.resize-handle{position:absolute;right:-20px;bottom:-20px;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--color-accent-text);border-radius:var(--radius-md);background:white;color:var(--color-accent-text);cursor:nwse-resize;touch-action:none}.object-lock{position:absolute;top:var(--space-1);right:var(--space-1);color:var(--color-text);background:white;border-radius:var(--radius-sm);padding:var(--space-1);pointer-events:none}.marquee{position:absolute;background:rgba(235,81,159,.12);border:1px solid var(--color-accent-text);pointer-events:none;z-index:10000}.canvas-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--color-text-secondary);pointer-events:none}.canvas-selection-toolbar{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);min-height:52px;flex-wrap:wrap;background:var(--color-surface);border-bottom:1px solid var(--color-separator);flex-shrink:0}.canvas-selection-toolbar>.secondary{margin-right:auto}.canvas-selection-toolbar .btn{padding:var(--space-2)}.canvas-controls{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-1) var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom));background:var(--color-surface);border-top:1px solid var(--color-separator);flex-shrink:0}.canvas-mode,.canvas-zoom,.canvas-history{display:flex;align-items:center;gap:0}.canvas-mode{margin-right:auto}.canvas-mode [aria-pressed=true]{background:var(--color-accent-tint);color:var(--color-accent-text)}.canvas-zoom{order:3;width:100%;justify-content:center}.canvas-zoom>span{width:48px;text-align:center}.board-add{min-width:44px;padding:var(--space-3)}.picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.picker-resource{display:flex;flex-direction:column;gap:var(--space-2);text-align:left;border:1px solid var(--color-separator);padding:var(--space-2);border-radius:var(--radius-md);min-height:100px;overflow-wrap:anywhere}.picker-resource img{width:100%;height:100px;object-fit:cover}.picker-resource span{font-size:var(--type-secondary-size)}input[type=color]{min-width:64px;min-height:48px;padding:var(--space-2)}summary{min-height:44px;padding:var(--space-3) 0;cursor:pointer}.danger{color:var(--color-danger)}
@media(min-width:700px){.lobby-card{min-height:120px}.week-agenda{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.boards-list{grid-template-columns:repeat(3,minmax(0,1fr))}.canvas-zoom{order:0;width:auto}.canvas-controls{justify-content:space-between}.board-titlebar #board-save-state{width:auto;order:0;margin-right:var(--space-3)}.picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000px){.pos-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-6);align-items:start}.cart{display:block;position:sticky;top:calc(var(--shell-head-height) + var(--subnav-height) + var(--space-4));max-height:calc(var(--vv-height,100dvh) - var(--shell-head-height) - var(--subnav-height) - var(--space-8));overflow:auto}.checkout-dock{display:none}body[data-workspace=pos] main{padding-bottom:var(--space-8)}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product img{height:120px}.material-drawer{display:flex;flex-direction:column;gap:var(--space-3);width:224px;flex-shrink:0;padding:var(--space-4);background:white;border-right:1px solid var(--color-separator);overflow:auto}.drawer-resource{display:flex;align-items:center;gap:var(--space-2);min-height:64px;text-align:left;width:100%;padding:var(--space-2) 0;border-bottom:1px solid var(--color-separator)}.drawer-resource img{width:56px;height:56px;object-fit:cover;flex-shrink:0}.drawer-resource>span{font-size:var(--type-secondary-size);line-height:var(--type-secondary-leading);overflow-wrap:anywhere}.canvas-selection-toolbar{flex-wrap:nowrap}.board-titlebar{padding:var(--space-2) var(--space-4)}body[data-board-open=true] main{height:calc(var(--vv-height,100dvh) - var(--shell-head-height))}.canvas-controls{padding:var(--space-2) var(--space-4)}.project-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.workspace-tabs{display:none}.week-agenda{grid-template-columns:repeat(2,minmax(0,1fr))}.lobby-intro{padding-top:var(--space-8)}.lobby-grid{gap:var(--space-4)}.lobby-card{min-height:136px}.reading-dock{left:208px}body[data-workspace=reference] main{padding-top:var(--space-6)}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.board-titlebar #board-save-state{font-size:var(--type-caption-size)}}
@media(min-width:1450px){.week-agenda{grid-template-columns:repeat(3,minmax(0,1fr))}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.resize-handle{transform:scale(var(--inverse-zoom,1));transform-origin:center}.canvas-mode #mode-select,.canvas-mode #mode-pan{gap:var(--space-1);padding:var(--space-2);min-width:72px;font-size:var(--type-secondary-size)}body[data-workspace=planner] .page-head h1{overflow-wrap:anywhere}
.search input:focus-visible{outline:none}@media(min-width:1280px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.canvas-column{position:relative}.canvas-selection-toolbar{position:absolute;left:var(--space-2);right:var(--space-2);top:var(--space-2);z-index:11000;border:1px solid var(--color-separator);border-radius:var(--radius-md);background:var(--color-surface)}
