/* Palette and semantic roles copied from UnderstandStock's application.css
   and themes/light-palette.css. Keep the prototype aligned with that source. */
@font-face{font-family:Inter;src:url("/fonts/Inter-Regular.ttf") format('truetype');font-weight:100 500;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url("/fonts/Inter-Bold.ttf") format('truetype');font-weight:550 900;font-style:normal;font-display:swap}
:root{--font-sans:Inter,ui-sans-serif,system-ui,sans-serif;--ink:hsl(190 50% 8%);--secondary:hsl(190 50% 20%);--muted:hsl(190 50% 36%);--faint:hsl(190 50% 44%);--paper:#fff;--canvas:#fff;--panel:#f2fafa;--rail:#f2fafa;--well:hsl(190 30% 92%);--line:hsl(190 30% 88%);--strong-line:hsl(190 50% 70%);--selected:hsl(190 100% 85%);--hover:hsl(190 100% 92%);--accent:#0d9488;--green:#03820e;--green-dark:#026c0b;--sage:#eaf5f5;--sand:#fffaeb;--clay:#fef0e9;--lavender:#f0edfa;--shadow:#002b3312;--link:#0d9488;font-family:var(--font-sans);font-size:14px;color:var(--ink);background:var(--canvas);color-scheme:light}
:root.dark{--ink:hsl(190 25% 98%);--secondary:hsl(190 30% 88%);--muted:hsl(190 50% 70%);--faint:hsl(190 50% 35%);--paper:hsl(190 50% 5%);--canvas:hsl(190 100% 7%);--panel:hsl(190 50% 4%);--rail:hsl(190 100% 7%);--well:hsl(190 50% 7%);--line:hsl(190 50% 15%);--strong-line:hsl(190 50% 22%);--selected:hsl(190 100% 22%);--hover:hsl(190 100% 15%);--accent:#33cead;--sage:#0c2b2e;--sand:#30280f;--clay:#2d1e18;--lavender:#232036;--shadow:#0006;--link:#2dd4bf;color-scheme:dark}
body{font-family:var(--font-sans);color:var(--ink);background:var(--canvas)}::selection{background:var(--selected)}
.brand-symbol{font-family:var(--font-sans);letter-spacing:0;width:28px;height:35px;display:block;background:currentColor;mask:url("/mark.svg") center/contain no-repeat;color:var(--ink)}
.brand-symbol span{display:none}.expanded .brand-symbol{display:block;width:23px;height:29px;margin-right:9px}.expanded .wordmark{font-size:20px;letter-spacing:-.7px;font-weight:600}.wordmark>span{color:var(--link);font-weight:400}.brand{color:var(--ink)}
.welcome-mark{color:var(--link)}.welcome-mark svg{stroke:currentColor;transform:none}.welcome-mark .brand-symbol{width:34px;height:42px;color:var(--green)}
.app-rail{background:var(--rail)}.home-main,.surface-area{background:var(--canvas)}.workspace-header,.surface-tabs,.surface-toolbar,.conversation-pane{background:var(--canvas)}.inspector{background:var(--panel)}
.home-content h1{font-family:var(--font-sans);font-size:38px;letter-spacing:-1.1px;font-weight:600;line-height:1.2}.home-subtitle{font-size:15px;color:var(--secondary)}.home-content>.eyebrow{color:var(--link);font-size:10px}.home-footnote{font-style:normal;color:var(--muted)}
.rail-new,.home-composer,.chat-composer,.field-label input,.field-label textarea,.surface-menu,.modal{background:var(--paper)}.rail-new:hover,.rail-item:hover,.rail-workspace:hover{background:var(--hover)}.rail-item.current{background:var(--selected);color:var(--ink)}
.send-button,.primary{background:var(--green);color:#fff}.send-button:hover,.primary:hover{background:var(--green-dark);color:#fff}.profile>span{background:var(--well);color:var(--secondary)}
.add-surface-button,.secondary{background:var(--well);color:var(--ink);border-color:var(--line)}.add-surface-button:hover,.secondary:hover{background:var(--hover)}
.prototype-badge{color:var(--muted)}.prototype-badge>span,.simulation-note>span{background:var(--accent)}.workspace-card{background:var(--paper)}.workspace-card:hover{background:var(--panel);border-color:var(--strong-line)}
.workspace-avatar,.workspace-dot{background:var(--well);color:var(--link)}.surface-tab.active{background:var(--well);color:var(--ink);border-bottom-color:#4fb157}.surface-tab:hover{background:var(--hover)}
.tiptap{font-family:var(--font-sans);font-size:15px;line-height:1.85;color:var(--secondary)}.tiptap h1{font-family:var(--font-sans);font-size:36px;line-height:1.2;font-weight:600;letter-spacing:-1.2px;color:var(--ink)}.tiptap h2{font-size:21px;font-weight:600;line-height:1.35;color:var(--ink);margin:28px 0 19px}.tiptap h3{font-size:18px;color:var(--ink)}.tiptap li::marker{color:var(--muted)}.tiptap a{color:var(--link)}
.document-sheet{border:0;box-shadow:none;background:var(--canvas);padding-top:33px;max-width:1200px}.document-wrap{padding-top:12px}.document-bottom{color:var(--muted)}.editor-formatbar{background:var(--canvas);backdrop-filter:none}.editor-formatbar button:hover,.editor-formatbar button.on{background:var(--hover);color:var(--ink)}
.insight-card p{font-family:var(--font-sans);font-size:16px;line-height:1.7;color:var(--secondary)}.insight-eyebrow{color:var(--link);font-size:11px;font-weight:500}.insight-card{border:1px solid var(--line);border-radius:6px}.insight-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.assistant-mark{font-size:0;width:18px;height:22px;background:var(--accent);mask:url("/mark.svg") center/contain no-repeat}.message-label{color:var(--secondary)}.message-text,.message.user .message-text{color:var(--secondary)}.message{font-size:13px}.message-surface{background:var(--well);color:var(--link)}
.suggestions button:hover,.starter-chips button:hover{background:var(--hover)}.surface-menu>button:hover{background:var(--hover)}.menu-icon{color:var(--link)}.surface-menu strong{color:var(--ink)}
.surface-title-input{font-family:var(--font-sans);font-size:30px;font-weight:600;letter-spacing:-.8px;color:var(--ink)}.surface-heading p{color:var(--secondary)}.scene-card{background:var(--paper)}.scene-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.scene-caption h3{color:var(--ink);font-size:14px;font-weight:600}.scene-caption p{color:var(--secondary);font-size:12px}.scene-line{font-family:var(--font-sans);color:var(--secondary);font-size:13px}.scene-number,.scene-duration{background:#fffdf0cc;color:#334a35}.scene-edit{color:var(--ink)}
.tone-picker .tone-swatch.selected{outline-color:var(--accent)}.tone-swatch svg{color:var(--ink)}.visual-picker button.selected{background:var(--selected);color:var(--ink)}.inspector-preview,.inspector-tip,.static-field{background:var(--well);color:var(--secondary)}
.outline-row:hover,.outline-row:focus-within{background:var(--well)}.outline-text,.outline-node[style='--depth:0']>.outline-row>.outline-text{color:var(--secondary);font-size:14px}.outline-node[style='--depth:0']>.outline-row>.outline-text{font-weight:600;color:var(--ink)}.outline-row.completed .outline-text{color:var(--muted)}.outline-bullet>span{background:var(--accent)}.outline-bullet:hover>span{outline-color:var(--selected)}.item-check.checked{color:#4fb157}.progress-track>span{background:#4fb157}.project-quote{font-family:var(--font-sans);font-style:normal;color:var(--muted);font-size:12px}
.empty-surface h2,.modal h2{font-family:var(--font-sans);font-weight:600;color:var(--ink);font-size:30px}.empty-illustration>div{color:var(--link);background:var(--well)}.empty-illustration>div:nth-child(2){background:var(--selected)}.empty-illustration>div:nth-child(3){background:var(--panel)}
.text-button{color:var(--link)}.danger-text{color:#c57565}.toast{background:var(--well);color:var(--ink);border:1px solid var(--strong-line)}.toast.error{background:#823f38;color:#fff}.modal-backdrop{background:#001e2488}.modal p{color:var(--secondary)}.about-grid strong{color:var(--ink)}.modal-icon{background:var(--well);color:var(--link)}.theme-toggle{margin:0 auto}.expanded .theme-toggle{margin:0}
@media(max-width:1150px){.home-content h1{font-size:34px}.tiptap h1{font-size:31px}.tiptap h2{font-size:19px}.tiptap{font-size:14px}}
@media(max-width:700px){.expanded .brand-symbol{margin:0;width:26px;height:32px}.home-content h1{font-size:29px}.home-subtitle{font-size:13px}.tiptap h1{font-size:29px}.tiptap h2{font-size:18px}.outline-text{font-size:12px}.surface-title-input{font-size:26px}}
.mobile-chat-tab{display:none}@media(max-width:700px){.mobile-chat-tab{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;white-space:nowrap;border-right:1px solid var(--line);padding:0 10px 0 4px}.mobile-chat-tab svg{width:12px;height:12px}}
@media(min-width:701px){.app-rail.expanded{width:256px;padding-left:18px;padding-right:18px}.expanded .brand{gap:0}.expanded .brand-symbol{flex:none}.expanded .wordmark{font-size:20px;white-space:nowrap}.expanded .rail-new{white-space:nowrap}.expanded .rail-new span{white-space:nowrap}}
/* Surface navigation owns surface actions; the document has one format bar. */
.surface-tab-group{display:flex;align-items:stretch;flex:none;min-width:0}
.surface-tab-group.active{background:var(--well);border-bottom:2px solid #4fb157}
.surface-tab-group.active .surface-tab{border-bottom:0;background:transparent}
.surface-tab-options{display:flex;align-items:center;justify-content:center;align-self:center;width:25px;height:28px;margin-right:5px;border-radius:4px;color:var(--muted)}
.surface-tab-options svg{width:14px;height:14px}
.surface-tab-options:hover,.surface-tab-options[aria-expanded=true]{background:var(--hover);color:var(--ink)}
.surface-options-menu{position:fixed;z-index:35;width:200px;border:1px solid var(--line);border-radius:7px;background:var(--paper);padding:5px;box-shadow:0 8px 24px var(--shadow)}
.surface-options-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 9px;border-radius:4px;text-align:left;font-size:12px;color:var(--secondary)}
.surface-options-menu button:hover,.surface-options-menu button:focus-visible{background:var(--hover);color:var(--ink)}
.surface-options-menu svg{width:14px;height:14px}
.surface-options-menu [role="separator"]{height:1px;background:var(--line);margin:5px 4px}
.surface-options-menu .surface-remove{color:#c57565}
.surface-options-menu .surface-remove:hover,.surface-options-menu .surface-remove:focus-visible{color:#e29485}
.remove-surface-dialog{width:440px;max-width:calc(100vw - 48px);padding:30px}.remove-surface-dialog h2{font-size:24px;margin:0 0 20px}.remove-surface-dialog .modal-icon{margin-bottom:20px;color:#c57565}.remove-surface-summary{display:flex;align-items:center;gap:10px;padding:13px;background:var(--well);border:1px solid var(--line);border-radius:6px;margin-bottom:18px;font-size:14px;overflow-wrap:anywhere}.remove-surface-summary span{min-width:0}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:24px}.modal-actions .primary{margin-top:0}.danger-button{background:#a5483b;color:#fff}.danger-button:hover{background:#8b3d32}
@media(min-width:701px) and (max-width:920px){.inspector{top:113px}}

/* Workspace title uses a quieter hierarchy, with theme-appropriate contrast. */
.workspace-header .workspace-identity{flex:1;min-width:0}.workspace-header .header-actions{flex:none}
.workspace-identity input#workspace-title{font-size:18px;font-weight:400;color:var(--secondary);field-sizing:content;width:auto;min-width:0;max-width:100%;letter-spacing:-.3px}


/* Center the collapsed conversation control alongside the surface tabs. */
.surface-tabs #show-chat{align-self:center}

.surfaces-hidden .surface-area{display:none}.surfaces-hidden .conversation-pane{display:flex;width:100%;max-width:none;min-width:0;border-right:0}.surfaces-hidden .conversation-heading,.surfaces-hidden .messages,.surfaces-hidden .chat-bottom{width:100%;max-width:820px;margin-left:auto;margin-right:auto}.surfaces-hidden .conversation-heading{flex-shrink:0}.surface-menu{position:fixed;top:112px;right:24px}

.conversation-pane{position:relative}.workspace-body:not(.surfaces-hidden) .conversation-pane{width:var(--conversation-width,305px)}
#conversation-resize{position:absolute;right:-4px;top:0;bottom:0;width:8px;z-index:15;cursor:col-resize;touch-action:none;outline:none}
#conversation-resize::after{content:"";position:absolute;left:3px;top:0;bottom:0;width:2px;background:transparent;transition:background .12s}
#conversation-resize:hover::after,#conversation-resize:focus-visible::after,#conversation-resize.dragging::after{background:var(--link)}
.surfaces-hidden #conversation-resize,.chat-hidden #conversation-resize{display:none}.resizing-conversation,.resizing-conversation *{cursor:col-resize!important;user-select:none!important}

.scroll-on-hover {
  scrollbar-gutter: stable;
  scrollbar-width: thin;                                /* Firefox */
  scrollbar-color: transparent transparent;             /* Firefox: invisible thumb + track */
}
.scroll-on-hover:hover,
.scroll-on-hover:focus-within {
  scrollbar-color: rgba(153, 173, 173, 0.45) transparent;  /* Firefox: reveal thumb */
}
.scroll-on-hover::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.scroll-on-hover::-webkit-scrollbar-track {
  background: transparent;
}
.scroll-on-hover::-webkit-scrollbar-thumb {
  background-color: transparent;
  border-radius: 4px;
}
.scroll-on-hover:hover::-webkit-scrollbar-thumb,
.scroll-on-hover:focus-within::-webkit-scrollbar-thumb {
  background-color: rgba(153, 173, 173, 0.45);
}
.scroll-on-hover::-webkit-scrollbar-thumb:hover {
  background-color: rgba(153, 173, 173, 0.65);
}
.dark .workspace-identity input#workspace-title{color:#a8cccc}

/* Keep the header and conversation content on the same desktop inset. */
.workspace-main{--workspace-inset:23px}
.workspace-header{padding-left:var(--workspace-inset)}
.conversation-heading{padding-left:var(--workspace-inset)}
.workspace-body:not(.surfaces-hidden) .messages{padding-left:var(--workspace-inset)}
.surfaces-hidden .conversation-heading{padding-left:34px}
@media(max-width:1150px){.workspace-main{--workspace-inset:16px}}

/* One reading size for normal workspace content, independent of panel width. */
:root{--workspace-body-size:15px}
.workspace-main .message-text,
.workspace-main .chat-composer textarea,
.workspace-main .tiptap,
.workspace-main .insight-card p,
.workspace-main .surface-heading p,
.workspace-main .scene-caption>p,
.workspace-main .scene-line,
.workspace-main .outline-text,
.workspace-main .outline-note{font-size:var(--workspace-body-size)}
.workspace-main .outline-node[style='--depth:0']>.outline-row>.outline-text{font-size:var(--workspace-body-size)}

.notifications-main{height:100dvh;overflow:auto;flex:1;min-width:0;background:var(--canvas)}.notifications-content{max-width:900px;margin:0 auto;padding:52px 42px}.notifications-header .eyebrow{color:var(--link)}.notifications-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:15px 0}.notifications-title h1{font-size:32px;letter-spacing:-1px;margin:0;font-weight:600}.notifications-header>p{font-size:15px;color:var(--secondary);margin-bottom:30px}.notification-filters{display:flex;gap:24px;border-bottom:1px solid var(--line)}.notification-filters button{padding:12px 0;font-size:13px;color:var(--muted);border-bottom:2px solid transparent}.notification-filters button[aria-pressed=true]{border-color:var(--accent);color:var(--ink)}.notification-filters span{margin-left:6px;font-size:11px;padding:2px 6px;border-radius:10px;background:var(--well)}.notification-row{display:flex;gap:17px;padding:25px 18px;border-bottom:1px solid var(--line)}.notification-row.unread{background:var(--well)}.notification-icon{flex:none;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--link)}.notification-body{flex:1;min-width:0}.notification-meta{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:11px;line-height:1.6}.notification-meta>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.notification-meta time{white-space:nowrap}.notification-body h2{font-size:16px;font-weight:600;margin:8px 0}.notification-body p{font-size:15px;line-height:1.7;color:var(--secondary);margin:0 0 8px;white-space:pre-line}.notification-read{flex:none}.notification-row.unread .notification-read{color:var(--link)}.notification-empty{text-align:center;padding:70px 20px;color:var(--secondary)}.notification-empty>svg{width:30px;height:30px;color:var(--muted);margin-bottom:16px}.notification-empty h2{font-size:21px}.notification-empty p,.notification-footnote{font-size:13px;color:var(--muted)}.notification-footnote{margin-top:22px}

/* User bubbles distinguish speakers without visible sender labels. */
.message.user .message-text{background:var(--sage);border:1px solid var(--line);border-radius:12px;padding:12px 16px;overflow-wrap:anywhere}
.conversation-switcher{display:flex;align-items:center;gap:7px;flex:1;min-width:0}.conversation-switcher>svg{flex:none}.conversation-current-title{font:inherit;color:var(--secondary);background:transparent;border:1px solid transparent;border-radius:4px;min-width:0;width:100%;padding:7px 3px;text-overflow:ellipsis}.conversation-current-title:hover{background:var(--well)}.conversation-current-title:focus{background:var(--well);border-color:var(--strong-line);outline:none}.conversation-heading{gap:5px}.conversation-heading>.icon-button{flex:none}.conversation-empty{padding:25px 0;color:var(--secondary)}.conversation-empty h3{font-size:18px;font-weight:500}.conversation-empty p{font-size:15px;line-height:1.8}
#conversation-select[aria-expanded=true]{background:var(--hover);color:var(--ink)}
.conversation-menu{position:fixed;z-index:40;display:flex;flex-direction:column;padding:6px;border:1px solid var(--strong-line);border-radius:9px;background:var(--paper);box-shadow:0 12px 35px var(--shadow)}
.conversation-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px 12px;font-size:12px;font-weight:500;color:var(--secondary);flex:none}.conversation-menu-heading>span:last-child{font-size:11px;font-weight:400;color:var(--muted)}
.conversation-menu-list{overflow-y:auto;min-height:0}.conversation-menu-item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:12px 11px;border-radius:6px;text-align:left;color:var(--secondary)}.conversation-menu-item[aria-checked=true]{background:var(--well)}.conversation-menu-item:hover{background:var(--hover)}.conversation-menu-item:focus-visible{outline:1px solid var(--link);outline-offset:-1px;background:var(--hover)}.conversation-menu-copy{flex:1;min-width:0}.conversation-menu-name{display:block;font-size:13px;font-weight:500;color:var(--ink);line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-menu-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:5px;font-size:11px;font-weight:400;line-height:1.6;color:var(--muted)}.conversation-menu-meta time{white-space:nowrap}.conversation-menu-item>svg{width:15px;height:15px;flex:none;margin-top:2px;color:var(--link)}

.composer-context{display:flex;min-width:0;margin-bottom:12px}.context-pill{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 9px;border:1px solid var(--strong-line);border-radius:999px;background:var(--well);color:var(--secondary);font-size:11px;line-height:1.4}.context-pill svg{width:13px;height:13px;flex:none}.context-pill>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-composer .composer-bottom{justify-content:flex-end}

/* Notebook objects share the existing editor and inspector; the menu is portal-mounted. */
.notebook-insert-menu{position:fixed;z-index:40;width:304px;padding:6px;background:var(--paper);border:1px solid var(--strong-line);border-radius:9px;box-shadow:0 12px 35px var(--shadow)}
.insert-menu-heading{font-size:9px;letter-spacing:1.5px;color:var(--muted);padding:10px 10px 8px}
.notebook-insert-menu button{display:flex;gap:12px;align-items:center;width:100%;padding:12px 10px;text-align:left;border-radius:5px;color:var(--ink)}
.notebook-insert-menu button:hover,.notebook-insert-menu button:focus-visible{background:var(--hover);outline:none}
.insert-type-icon{display:grid;place-items:center;width:33px;height:33px;flex:none;background:var(--well);border:1px solid var(--line);border-radius:6px;color:var(--link)}
.notebook-insert-menu strong{display:block;font-size:13px;font-weight:500}.notebook-insert-menu small{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:3px}.insert-object>svg:last-child{width:12px;height:12px}
.notebook-object{border:1px solid var(--strong-line);border-radius:8px;padding:18px;margin:26px 0;background:var(--paper);cursor:pointer;outline:none}
.notebook-object.selected,.notebook-object:focus-visible{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.notebook-object-heading{display:flex;align-items:center;gap:8px;margin-bottom:15px;font-size:12px;color:var(--link)}.notebook-object-heading>span{flex:1;min-width:0;overflow-wrap:anywhere}.notebook-object-heading svg{width:15px;height:15px}.notebook-object-heading>svg:last-child{width:12px;color:var(--muted)}
.notebook-table-scroll{overflow-x:auto}.notebook-object table{border-collapse:collapse;width:100%;font-size:var(--workspace-body-size);line-height:1.6}.notebook-object th,.notebook-object td{padding:10px 12px;border:1px solid var(--line);text-align:left;min-width:140px;overflow-wrap:break-word}.notebook-object th{font-weight:500;background:var(--well);color:var(--ink)}
.notebook-checklist{display:flex;flex-direction:column;gap:12px}.notebook-check-item{display:flex;align-items:baseline;gap:10px;font-size:var(--workspace-body-size);line-height:1.6;cursor:pointer}.notebook-check-item input{flex:none;accent-color:var(--accent);cursor:pointer}.notebook-check-item.done>span{text-decoration:line-through;color:var(--muted)}.notebook-check-item>span{overflow-wrap:anywhere}
.notebook-object figure{margin:0}.notebook-object img{display:block;max-width:100%;max-height:480px;object-fit:contain;margin:auto;border-radius:4px}.notebook-object figcaption{font-size:var(--workspace-body-size);color:var(--secondary);margin-top:12px;line-height:1.6}.notebook-image-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:160px;gap:8px;border:1px dashed var(--strong-line);border-radius:5px;background:var(--well)}.notebook-image-empty>svg{width:28px;height:28px;color:var(--muted)}.notebook-image-empty strong{font-weight:500;font-size:15px}.notebook-image-empty span{font-size:12px;color:var(--muted)}
.object-checklist-editor>div{display:flex;align-items:center;gap:6px;margin-bottom:8px}.object-checklist-editor input[type=text]{width:100%;min-width:0;font-size:13px;border:1px solid var(--line);padding:9px;background:var(--paper);border-radius:4px}.object-checklist-editor input[type=checkbox]{accent-color:var(--accent)}

.notebook-object th,.notebook-object td{padding:0;min-width:140px;vertical-align:top}.notebook-cell{display:block;width:100%;border:0;border-radius:0;background:transparent;padding:10px 12px;font-family:inherit;font-size:var(--workspace-body-size);line-height:1.6;resize:none;overflow:hidden;cursor:text;color:var(--secondary)}.notebook-object th .notebook-cell{font-weight:500;color:var(--ink)}.notebook-cell:focus{outline:1px solid var(--accent);outline-offset:-1px;background:var(--well)}.notebook-object table.compact .notebook-cell{padding:5px 8px}.notebook-object:focus-within{border-color:var(--accent)}.object-property-toggle{display:flex;gap:9px;align-items:center;font-size:13px;color:var(--secondary);margin:0}.object-property-toggle input{accent-color:var(--accent)}.object-dimensions>div{display:flex;align-items:center;gap:4px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.object-dimensions span{flex:1;color:var(--secondary)}
.tiptap.plain-notebook>p:first-child,.tiptap.notebook-empty>p:first-child{font-size:var(--workspace-body-size);letter-spacing:normal;color:var(--secondary);margin-bottom:17px}
.tiptap.notebook-empty{position:relative;cursor:text}.tiptap.notebook-empty::before{content:attr(data-placeholder);position:absolute;inset:0 auto auto 0;pointer-events:none;font-size:var(--workspace-body-size);line-height:1.85;letter-spacing:normal;color:var(--muted)}
.project-empty .outline{padding:24px 0 30px}.project-empty-hint{font-size:var(--workspace-body-size);line-height:1.8;color:var(--muted);margin-bottom:20px}.project-empty .add-item{border:1px solid var(--strong-line);border-radius:6px;padding:11px 14px;color:var(--link);font-size:13px}.project-empty .add-item:hover{background:var(--hover)}

/* The workspace library uses the same card palette in either layout. */
.workspace-library{height:100dvh;overflow:auto;flex:1;min-width:0;background:var(--canvas)}
.workspace-library-content{max-width:1280px;margin:0 auto;padding:42px 36px}
.workspace-library-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}
.workspace-library-header h1{font-size:28px;font-weight:600;letter-spacing:-.8px;margin:0 0 10px}
.workspace-library-header p{font-size:13px;color:var(--muted);margin:0;line-height:1.6}
.workspace-library-actions{display:flex;align-items:center;gap:16px;flex:none}.workspace-library-actions .secondary{font-size:12px}
.workspace-view-toggle{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}
.workspace-view-toggle button{display:grid;place-items:center;width:32px;height:30px;border-radius:4px;color:var(--muted)}
.workspace-view-toggle button[aria-pressed=true]{background:var(--hover);color:var(--ink)}.workspace-view-toggle button:hover{color:var(--ink)}
.workspace-library-items.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.workspace-library-card{position:relative;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:22px;color:var(--ink)}
.workspace-library-card:hover{border-color:var(--strong-line);background:var(--well)}
.workspace-library-card .workspace-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;margin-bottom:20px;background:var(--sage);color:var(--link)}
.workspace-library-copy{min-width:0}.workspace-library-copy h2{font-size:16px;line-height:1.5;font-weight:500;margin:0 0 8px;overflow-wrap:anywhere}
.workspace-library-copy p{font-size:15px;line-height:1.7;color:var(--secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 24px}
.workspace-library-meta{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:11px;line-height:1.6;border-top:1px solid var(--line);padding-top:15px}
.workspace-library-arrow{position:absolute;right:22px;top:28px;width:15px;color:var(--link)}
.workspace-library-items.list{display:flex;flex-direction:column;gap:12px}
.workspace-library-items.list .workspace-library-card{display:flex;align-items:center;gap:20px;padding:20px 24px}
.workspace-library-items.list .workspace-avatar{margin:0;flex:none}
.workspace-library-items.list .workspace-library-copy{flex:1}.workspace-library-items.list .workspace-library-copy p{margin-bottom:12px;-webkit-line-clamp:1}
.workspace-library-items.list .workspace-library-meta{border:0;padding:0;justify-content:flex-start;gap:20px}
.workspace-library-items.list .workspace-library-arrow{position:static;flex:none}

.workspace-library-items.grid .workspace-library-card{display:flex;flex-direction:column;align-items:flex-start}.workspace-library-items.grid .workspace-library-copy{display:flex;flex-direction:column;flex:1;width:100%}.workspace-library-items.grid .workspace-library-meta{margin-top:auto}

.authentication-page { min-height: 100vh; display: grid; place-items: center; padding: 40px; }
.authentication-card { width: min(100%, 420px); }
.authentication-card .brand { display: flex; align-items: center; gap: 12px; margin-bottom: 48px; }
.authentication-card h1 { font-size: 30px; margin: 0 0 12px; }
.authentication-card p { color: var(--secondary); line-height: 1.6; }
.authentication-card form { display: grid; gap: 10px; margin-top: 28px; }
.authentication-card label { font-size: 14px; margin-top: 10px; }
.authentication-card input { width: 100%; padding: 13px 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); color: var(--ink); }
.authentication-card input:focus { outline: 2px solid var(--accent); outline-offset: 2px; }
.authentication-card input[type="submit"] { margin-top: 18px; background: var(--green); color: white; cursor: pointer; }
.authentication-error { padding: 12px 16px; border: 1px solid #9c5555; border-radius: 8px; color: #f2bdbd; line-height: 1.5; }
.authentication-note { font-size: 13px; margin-top: 24px; }
.authentication-notice { padding: 12px 16px; border: 1px solid var(--accent); border-radius: 8px; color: var(--secondary); line-height: 1.5; }
.authentication-note a { color: var(--link); }
.account-settings-card { width: min(100%, 640px); padding: 24px 0; }
.settings-section { margin: 28px 0; border-top: 1px solid var(--line); padding-top: 24px; }
.settings-section h2 { font-size: 20px; }
.authentication-card select { padding: 13px 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); color: var(--ink); font: inherit; }
.settings-list { padding: 0; list-style: none; }
.settings-list li { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.settings-list li div { min-width: 0; overflow-wrap: anywhere; }
.settings-list small { display: block; color: var(--muted); margin-top: 6px; }
.settings-list form { margin: 0; }
.settings-list li>span { color: var(--secondary); font-size: 13px; }
.account-list input[type="submit"] { text-align: left; background: var(--well); color: var(--ink); margin-top: 0; }
.account-list input[type="submit"]:disabled { color: var(--muted); cursor: default; }
