/* Product shell: navigation, work and account utilities are separate layers. */
body{background:var(--vm-color-surface)}
body[data-session="loading"] .shell,body[data-session="signed-out"] .shell{display:none}
body:not([data-session="loading"]) #session-loading{display:none}
#session-loading{min-height:100dvh;display:grid;place-content:center;color:var(--action)}
.brand-symbol{width:28px;height:28px;flex:none;color:var(--action)}
.entry-header{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:28px 36px;gap:20px}
.entry-brand,.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;letter-spacing:-.025em;font-weight:650;font-size:18px}
.entry-preferences{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--muted);font-size:13px;padding:10px;border-radius:6px;min-height:44px}
.entry-preferences svg,.icon-button svg,.nav-item svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.signin-panel{max-width:none;width:100%;margin:0;padding:104px 24px 64px;border:0;border-radius:0;box-shadow:none;min-height:100dvh;background:var(--vm-color-surface);display:grid;place-items:center}
.signin-content{width:min(100%,340px);text-align:center;transform:translateY(-28px)}
.signin-mark{margin:0 auto 24px;width:52px;height:52px;border:1px solid var(--line);border-radius:13px;display:grid;place-items:center;background:var(--paper)}
.signin-mark svg{width:34px;height:34px}
.signin-content h1{font-size:25px;line-height:1.25;letter-spacing:-.035em;font-weight:600;margin:0 0 28px;text-wrap:balance}
.signin-content .button{display:flex;margin:0;width:100%;min-height:44px;font-size:14px;text-decoration:none;justify-content:center;box-shadow:none}
#signin-context{font-size:13px;line-height:1.6;color:var(--muted);margin:18px 0 0}
#signin-context:empty{display:none}
.shell{grid-template-columns:216px minmax(0,1fr);min-height:100dvh}
.sidebar{position:sticky;top:0;height:100dvh;padding:23px 12px;background:var(--paper);color:var(--ink);border-right:1px solid var(--line);gap:25px}
.sidebar .brand{margin:0 10px;font-size:18px;color:var(--ink)}
.sidebar a,.sidebar button{color:var(--ink)}
.sidebar nav{display:grid;gap:4px}
.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:6px;color:var(--muted);font-size:13px;line-height:1.4;margin:0;min-height:44px;letter-spacing:0}
.nav-item span{font-size:inherit;line-height:inherit}
.nav-item.active{background:var(--vm-color-surface-muted);color:var(--ink);font-weight:600}
.sidebar a:focus-visible,.sidebar button:focus-visible{outline-color:var(--vm-color-focus)}
.shell main{padding:0;min-width:0;background:var(--vm-color-surface)}
.topbar.page-heading{height:72px;min-height:72px;padding:0 30px;margin:0;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);background:var(--vm-color-surface);position:relative;z-index:5}
.topbar h1{font:600 17px/1.4 var(--vm-font-ui);letter-spacing:-.02em;margin:0;min-width:0;flex:1}
.header-actions{display:flex;align-items:center;gap:12px;flex:none}
.button{font-size:13px;letter-spacing:0;min-height:38px;padding:8px 13px;border-radius:6px;box-shadow:none;font-weight:550}
.button.primary{box-shadow:none}
.button.quiet{background:transparent;border:1px solid var(--line);color:var(--ink)}
.icon-button{width:36px;height:36px;display:grid;place-items:center;border:0;background:transparent;color:var(--muted);border-radius:6px;font-size:24px;flex:none}
.icon-button:hover,.entry-preferences:hover{background:var(--paper)}
#nav-toggle{display:none}
.account-control{position:relative}
#account-menu-trigger{border:0;background:transparent;display:flex;align-items:center;gap:8px;min-height:40px;padding:4px;border-radius:6px;color:var(--ink);font-size:13px}
#account-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.avatar{background:var(--vm-color-surface-muted);color:var(--ink);border:1px solid var(--line);width:29px;height:29px;border-radius:50%;font-size:12px;display:grid;place-items:center}
.chevron{color:var(--muted);padding:0 2px}
.account-menu{position:absolute;right:0;top:calc(100% + 10px);width:220px;padding:6px;border:1px solid var(--line);border-radius:9px;background:var(--vm-color-surface);box-shadow:0 8px 28px rgb(0 0 0 / .12);z-index:25;display:grid}
.account-menu button,.account-menu a{background:none;border:0;text-decoration:none;text-align:left;width:100%;padding:10px 11px;min-height:40px;border-radius:5px;font-size:13px;line-height:1.4;color:var(--ink)}
.account-menu button:hover,.account-menu a:hover{background:var(--paper)}
#signout-button{border-top:1px solid var(--line);border-radius:0;margin-top:4px}
.workspace-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 30px;background:var(--paper);border-bottom:1px solid var(--line)}
.workspace-notice p{font-size:13px;line-height:1.5;margin:0}
body[data-workspace-state="ready"] .workspace-notice{display:none}
.mind-navigation{padding:0 30px;min-height:56px;border-bottom:1px solid var(--line);margin:0;display:flex;align-items:center}
.workspace-tabs{gap:22px;border:0;background:transparent;border-radius:0;padding:0;min-height:56px;align-items:stretch}
.workspace-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--muted);padding:15px 0;font-size:13px;box-shadow:none}
.workspace-tabs button.selected{border-bottom-color:var(--action);background:none;color:var(--ink);box-shadow:none}
.mind-tab-dot{display:none}
.workspace-grid{grid-template-columns:300px minmax(0,1fr);gap:0;align-items:start;padding:0;margin:0}
.capture-column{padding:26px 22px;min-width:0;border-right:1px solid var(--line);min-height:calc(100dvh - 128px)}
.explore-column{padding:26px 28px;min-width:0}
.card{border:0;box-shadow:none;border-radius:0;background:transparent}
.capture-card,.history-card{padding:0}
.section-heading{margin:0 0 20px}
.section-heading h2,.capture-card h2,.history-card h2{font-size:14px;line-height:1.4;font-weight:600;letter-spacing:-.01em}
label{font-size:12px;font-weight:500;letter-spacing:0;margin:15px 0 7px;color:var(--muted)}
input,textarea,select{font-size:14px;border-radius:6px;background:var(--vm-color-surface);color:var(--ink);border:1px solid var(--vm-color-border-control);padding:10px 11px;min-height:40px}
textarea{min-height:160px;line-height:1.6;resize:vertical}
.source-explanation{font-size:12px;line-height:1.5;color:var(--muted);margin:10px 0 16px}
.capture-note:empty{display:none}
.history-card{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.history-card .section-heading{margin-bottom:12px}
.count{font-size:11px;min-width:20px;height:20px;background:var(--paper);color:var(--muted);border:0}
.history-entry{border:0;border-radius:6px;padding:0;margin:3px -8px}
.history-entry.active{background:var(--paper);border:0}
.history-open{padding:11px 8px}
.history-open strong{font-size:13px;font-weight:550;line-height:1.5}
.history-open small{font-size:11px;color:var(--muted);margin-top:4px}
.history-delete{font-size:18px;min-width:32px;color:var(--muted)}
.map-heading{padding:0 0 18px;min-height:52px;align-items:center}
.map-heading h2{font-size:18px;font-weight:600;letter-spacing:-.025em;line-height:1.4;margin:0}
.eyebrow:empty,#result-mode:empty{display:none}
.eyebrow{font-size:10px;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}
.map-toolbar{padding:0 0 16px;border:0}
.segmented{border:1px solid var(--line);background:var(--paper);padding:2px;border-radius:6px}
.segmented button{font-size:12px;padding:7px 10px;border-radius:4px;min-height:32px}
.segmented button.selected{box-shadow:0 1px 3px rgb(0 0 0 / .08);color:var(--ink)}
.canvas-wrap{border:1px solid var(--line);border-radius:8px;overflow:hidden;min-height:360px;background-color:var(--paper);background-image:none}
#graph{height:400px}
.empty-state{height:360px;padding:32px;gap:8px;max-width:420px;margin:auto}
.empty-state h3{font-size:17px;font-weight:550;letter-spacing:-.02em;margin:0}
.empty-state p{font-size:13px;line-height:1.6;margin:0;color:var(--muted)}
.empty-symbol,.empty-hint{display:none}
.canvas-wrap:has(#graph[hidden]) .zoom-controls{display:none}
.map-footnote{padding:11px 0;font-size:11px;line-height:1.5;gap:12px}
.map-legend{font-size:10px;left:15px;bottom:16px;flex-wrap:wrap;max-width:calc(100% - 130px)}
.zoom-controls button{height:34px;width:34px}
.status-banner{border-radius:6px;font-size:13px;padding:10px 12px;margin-bottom:14px;border:0}
.evidence-card{padding:24px 0;margin-top:12px;border-top:1px solid var(--line)}
.evidence-card h2{font-size:16px;font-weight:600;margin:0}
.evidence-card .section-heading{margin-bottom:10px}
.assertion{border:1px solid var(--line);border-radius:7px;padding:18px;margin:14px 0;background:var(--vm-color-surface)}
.assertion h3{font-size:14px;line-height:1.6}
.quote{padding:12px 14px;border-left:2px solid var(--action);background:var(--paper);margin:14px 0 8px}
.quote blockquote{font-size:15px;line-height:1.65}
.quote figcaption,.source-detail,.detail-grid,.provenance,.muted{font-size:12px;line-height:1.6}
.tag{font-size:11px;padding:3px 6px}
.limitations{font-size:12px;line-height:1.6;padding:10px 12px}
.processing-panel,.mind-membership{margin:14px 0;border:1px solid var(--line);border-radius:7px;padding:18px}
.personal-mind-panel{padding:0}
dialog{color:var(--ink);background:var(--vm-color-surface);border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:0 18px 70px rgb(0 0 0 / .2);max-height:calc(100dvh - 40px);overflow:auto}
dialog::backdrop{background:rgb(0 0 0 / .3)}
.preferences-dialog{width:min(460px,calc(100vw - 32px))}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}
.dialog-heading h2{font-size:18px;line-height:1.4;letter-spacing:-.025em;margin:0;font-weight:600}
.display-preferences{display:grid;justify-content:stretch;width:100%;gap:0;padding:0;border:0}
.display-preferences label{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 0;margin:0;font-size:13px;border-bottom:1px solid var(--line)}
.display-preferences select{width:160px;min-height:40px;font-size:13px}
.workspace-choice{display:block;padding:18px 0 0;margin:0;border:0;background:none}
.workspace-choice label{font-size:13px;letter-spacing:0;margin:0 0 8px;color:var(--ink)}
.workspace-choice select{width:100%}
.workspace-description{margin-top:10px;font-size:12px;line-height:1.6}
.tools-dialog{width:min(760px,calc(100vw - 32px));padding:28px}
.tools-close{position:absolute;top:14px;right:14px;z-index:2}
.tools-dialog .settings-panel,.tools-dialog .audio-panel{padding:0;margin:0;border:0;box-shadow:none;background:none}
.tools-dialog h2{font-size:20px;padding-right:36px;margin-top:0}
.tools-dialog .settings-header{padding-right:28px}
.nav-dismiss{display:none}
@media(min-width:1600px){.workspace-grid{grid-template-columns:320px minmax(0,1fr)}.explore-column{padding:30px 40px}.capture-column{padding:30px 26px}}
@media(max-width:1100px){.shell{grid-template-columns:180px minmax(0,1fr)}.sidebar .brand{font-size:16px;gap:6px}.sidebar .brand-symbol{width:24px}.workspace-grid{grid-template-columns:270px minmax(0,1fr)}.topbar.page-heading{padding:0 20px}.explore-column{padding:22px 20px}.capture-column{padding:22px 18px}#account-name{display:none}.header-actions{gap:8px}}
@media(max-width:800px){.shell{display:block}.sidebar{display:none;position:fixed;inset:0 auto 0 0;width:240px;z-index:40;height:100dvh}.navigation-open .sidebar{display:flex}.navigation-open .nav-dismiss{display:block;position:fixed;inset:0;background:rgb(0 0 0 / .3);border:0;z-index:35}.topbar.page-heading{height:64px;min-height:64px;padding:0 16px;gap:10px}#nav-toggle{display:grid}.topbar h1{font-size:15px}.header-actions{gap:8px}#new-memo{font-size:12px;padding:7px 10px;min-height:36px}#import-audio{font-size:12px;padding:7px 9px;min-height:36px}.mind-navigation{padding:0 20px}.workspace-grid{grid-template-columns:260px minmax(0,1fr)}.entry-header{padding:20px}.entry-brand{font-size:17px}}
@media(max-width:600px){.workspace-grid{display:flex;flex-direction:column}.capture-column{width:100%;padding:24px 20px;min-height:0;border-right:0;border-bottom:1px solid var(--line)}.explore-column{width:100%;padding:24px 20px}.history-card{margin-top:24px;padding-top:20px}.history-list{max-height:220px;overflow:auto}.capture-card textarea{min-height:120px}.map-toolbar{gap:8px;flex-wrap:wrap}.canvas-wrap,#graph{height:340px;min-height:340px}.empty-state{height:340px}.detail-grid{grid-template-columns:1fr}.header-actions .chevron{display:none}.topbar.page-heading{gap:6px}#new-memo>span:first-child{display:inline}.account-menu{right:0;max-width:calc(100vw - 32px)}.display-preferences label{gap:12px}.display-preferences select{width:145px}.tools-dialog{padding:22px}.signin-content{transform:none}.signin-panel{padding:96px 24px 48px}.entry-header{padding:16px}.entry-preferences{font-size:12px}.entry-brand{font-size:16px}.workspace-notice{padding:12px 20px}.map-footnote{font-size:11px}.tools-dialog .detail-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

@media(max-width:600px){.header-actions{gap:5px}.topbar.page-heading{padding-inline:12px;gap:8px}.topbar h1{font-size:14px}#new-memo{font-size:0;padding:7px 10px}#new-memo span[aria-hidden]{font-size:20px}#account-name,.chevron{display:none}#import-audio{max-width:90px;font-size:11px;line-height:1.2}}

.topbar.page-heading{flex-wrap:nowrap}.topbar.page-heading>.header-actions{flex:0 0 auto;min-width:0}.capture-column{display:block}.history-entry{margin-inline:0}.history-open{overflow:hidden}.history-list{overflow-x:hidden}.button.primary{gap:6px}.topbar h1{color:var(--ink)}

.signin-panel .entry-brand{display:flex;margin:0}.map-legend #edge-legend{display:inline}.map-legend{max-width:calc(100% - 30px);bottom:56px}

/* Empty maps keep room for the memo and its next action. */
.map-card.is-empty .canvas-wrap{height:180px;min-height:180px}
.map-card.is-empty .empty-state{height:180px;min-height:0;padding:24px}
