@layer reset,base,layout,components,features,utilities;:root{--font-family: "Inter", "Segoe UI", Arial, sans-serif;--font-sans: var(--font-family);--font-size-xs: .72rem;--font-size-sm: .82rem;--font-size-md: .92rem;--font-size-lg: 1.1rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--surface-page: #f6f6f4;--surface-header: #ffffff;--surface-sidebar: #20252a;--sidebar-text: var(--text-inverse);--sidebar-muted: var(--text-disabled);--sidebar-hover: rgba(255, 255, 255, .1);--surface-panel: #ffffff;--surface-elevated: #ffffff;--surface-input: #ffffff;--surface-hover: #ecede9;--hover: var(--surface-hover);--surface-selected: #f0f0ed;--surface-subtle: #f0f0ed;--text-primary: #252525;--text-secondary: #62645f;--text-muted: #8a8d87;--text-disabled: #aeb3b7;--text-inverse: #ffffff;--text-link: #4f554e;--text-danger: #9a5d5d;--text-success: #667b68;--text-warning: #9a8257;--border-subtle: #e7e7e3;--border-default: #dadbd6;--border-strong: #c4c7c1;--border-focus: #777c76;--accent: #5c625b;--accent-hover: #4f554e;--accent-active: #4f554e;--accent-soft: #f0f0ed;--accent-contrast: #ffffff;--accent-foreground: var(--accent-contrast);--success: #667b68;--success-soft: rgba(102, 123, 104, .12);--warning: #9a8257;--warning-soft: rgba(154, 130, 87, .12);--danger: #9a5d5d;--danger-hover: #8f1b1b;--danger-soft: rgba(154, 93, 93, .1);--info: #5e6266;--info-soft: rgba(94, 98, 102, .1);--focus-ring: 0 0 0 2px rgba(119, 124, 118, .2);--focus-ring-soft: 0 0 0 2px rgba(119, 124, 118, .16);--shadow-sm: 0 2px 8px rgba(37, 37, 37, .04);--shadow-md: 0 12px 28px rgba(37, 37, 37, .12);--shadow-lg: 0 12px 36px rgba(37, 37, 37, .14);--shadow: 0 8px 24px rgba(37, 37, 37, .08);--radius-sm: 4px;--radius-md: 7px;--radius-lg: 10px;--radius-round: 50%;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--bg-page: var(--surface-page);--bg-surface: var(--surface-panel);--bg-subtle: var(--surface-subtle);--bg: var(--surface-page);--surface: var(--surface-panel);--border: var(--border-default);--border-hover: var(--border-strong);--text: var(--text-primary);--muted: var(--text-secondary);--brand: var(--accent);--brand-strong: var(--accent-hover);--error: var(--danger)}:root.appearance-dark{--surface-page: #202124;--surface-header: #292a2d;--surface-sidebar: #1f2022;--sidebar-text: #f1f3f4;--sidebar-muted: #9aa0a6;--sidebar-hover: rgba(255, 255, 255, .1);--surface-panel: #292a2d;--surface-elevated: #303134;--surface-input: #303134;--surface-hover: #3a3b3d;--hover: var(--surface-hover);--surface-selected: #3a3b3d;--surface-subtle: #303134;--text-primary: #f1f3f4;--text-secondary: #bdc1c6;--text-muted: #9aa0a6;--text-disabled: #80868b;--text-inverse: #202124;--text-link: #c5d7c8;--border-subtle: #3c4043;--border-default: #5f6368;--border-strong: #80868b;--border-focus: #a8b5a9;--accent: #7f9bb3;--accent-hover: #91abc0;--accent-active: #a5bdd0;--accent-soft: #303b45;--accent-contrast: #202124;--accent-foreground: var(--accent-contrast);--danger: #e28b8b;--danger-hover: #f0a4a4;--danger-soft: rgba(226,139,139,.14);--success: #9fbd9f;--warning: #d8bc83;--info: #aeb8c0;--border-hover: var(--border-strong);--bg-page: var(--surface-page);--bg-surface: var(--surface-panel);--bg-subtle: var(--surface-subtle);--bg: var(--surface-page);--surface: var(--surface-panel);--border: var(--border-default);--text: var(--text-primary);--muted: var(--text-secondary);--brand: var(--accent);--brand-strong: var(--accent-hover);--error: var(--danger)}:root.appearance-sand{--surface-page: #f3eee3;--surface-header: #f8f4ea;--surface-sidebar: #eae2d2;--sidebar-text: var(--text-primary);--sidebar-muted: var(--text-secondary);--sidebar-hover: var(--surface-hover);--surface-panel: #fbf8f1;--surface-elevated: #fffdf8;--surface-input: #fffdf8;--surface-hover: #ede5d6;--hover: var(--surface-hover);--surface-selected: #e3d7c2;--surface-subtle: #f0e9dc;--text-primary: #352f27;--text-secondary: #625a4e;--text-muted: #847a6b;--text-disabled: #aaa092;--text-inverse: #fffdf8;--text-link: #756447;--border-subtle: #ded5c5;--border-default: #cfc3b0;--border-strong: #b9aa94;--border-focus: #77715f;--accent: #9a7448;--accent-hover: #805e38;--accent-active: #6e4f2e;--accent-soft: #eee2d2;--accent-contrast: #fffdf8;--accent-foreground: var(--accent-contrast);--success: #667b68;--success-soft: rgba(102, 123, 104, .12);--warning: #9a8257;--warning-soft: rgba(154, 130, 87, .12);--danger: #9a5d5d;--danger-hover: #8f1b1b;--danger-soft: rgba(154, 93, 93, .1);--info: #5e6266;--info-soft: rgba(94, 98, 102, .1);--focus-ring: 0 0 0 2px rgba(119, 113, 95, .2);--focus-ring-soft: 0 0 0 2px rgba(119, 113, 95, .16);--shadow-sm: 0 2px 8px rgba(53, 47, 39, .04);--shadow-md: 0 12px 28px rgba(53, 47, 39, .12);--shadow-lg: 0 12px 36px rgba(53, 47, 39, .14);--shadow: 0 8px 24px rgba(53, 47, 39, .08);--border-hover: var(--border-strong);--bg-page: var(--surface-page);--bg-surface: var(--surface-panel);--bg-subtle: var(--surface-subtle);--bg: var(--surface-page);--surface: var(--surface-panel);--border: var(--border-default);--text: var(--text-primary);--muted: var(--text-secondary);--brand: var(--accent);--brand-strong: var(--accent-hover);--error: var(--danger)}:root.appearance-xunta{--surface-page: #f3f7fa;--surface-header: #ffffff;--surface-sidebar: #123f5c;--sidebar-text: var(--text-inverse);--sidebar-muted: var(--text-disabled);--sidebar-hover: rgba(255, 255, 255, .1);--surface-panel: #ffffff;--surface-elevated: #ffffff;--surface-input: #ffffff;--surface-hover: #e8f1f6;--hover: var(--surface-hover);--surface-selected: #dcebf4;--surface-subtle: #edf4f8;--text-primary: #17324d;--text-secondary: #496579;--text-muted: #708697;--text-disabled: #a7b8c4;--text-inverse: #ffffff;--text-link: #005b9a;--text-danger: #a33f48;--text-success: #286b58;--text-warning: #86651f;--border-subtle: #dce7ee;--border-default: #c4d5e0;--border-strong: #9db6c7;--border-focus: #005b9a;--accent: #005b9a;--accent-hover: #004b80;--accent-active: #003b66;--accent-soft: #dcebf4;--accent-contrast: #ffffff;--accent-foreground: var(--accent-contrast);--success: #286b58;--success-soft: rgba(40, 107, 88, .12);--warning: #86651f;--warning-soft: rgba(134, 101, 31, .14);--danger: #a33f48;--danger-hover: #85323a;--danger-soft: rgba(163, 63, 72, .12);--info: #356d91;--info-soft: rgba(53, 109, 145, .12);--focus-ring: 0 0 0 2px rgba(0, 91, 154, .24);--focus-ring-soft: 0 0 0 2px rgba(0, 91, 154, .16);--shadow-sm: 0 2px 8px rgba(18, 63, 92, .06);--shadow-md: 0 12px 28px rgba(18, 63, 92, .14);--shadow-lg: 0 12px 36px rgba(18, 63, 92, .16);--shadow: 0 8px 24px rgba(18, 63, 92, .1);--border-hover: var(--border-strong);--bg-page: var(--surface-page);--bg-surface: var(--surface-panel);--bg-subtle: var(--surface-subtle);--bg: var(--surface-page);--surface: var(--surface-panel);--border: var(--border-default);--text: var(--text-primary);--muted: var(--text-secondary);--brand: var(--accent);--brand-strong: var(--accent-hover);--error: var(--danger)}@layer base{*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-sans)}button,input{font:inherit}button{border:0;border-radius:8px;padding:.8rem 1rem;background:var(--brand);color:var(--text-inverse);cursor:pointer}button:hover:not(:disabled){background:var(--brand-strong)}button:disabled{cursor:not-allowed;opacity:.65}input{width:100%;border:1px solid var(--border);border-radius:8px;padding:.78rem .9rem}.screen,.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,420px);border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:28px;box-shadow:var(--shadow)}.eyebrow{margin:0 0 8px;color:var(--brand);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}.muted{color:var(--muted)}.error{color:var(--error)}.form{display:grid;gap:16px;margin-top:24px}.form label{display:grid;gap:8px;font-weight:700}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:28px;background:var(--surface-sidebar);color:var(--text-inverse)}.sidebar .muted{color:#cbd5e1}.sidebar-link{color:var(--text-inverse);font-weight:700;text-decoration:none}.secondary-button{background:transparent;border:1px solid rgba(255,255,255,.35)}.content{padding:36px}.breadcrumbs{margin-bottom:28px;font-size:.9rem}.breadcrumbs a{color:var(--brand-strong);font-weight:700;text-decoration:none}.page-header{max-width:760px;margin-bottom:28px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.panel{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:22px}.metric{margin:0 0 8px;color:var(--accent);font-size:2.5rem;font-weight:800}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto}.content{padding:24px}.dashboard-grid{grid-template-columns:1fr}}.sidebar{position:relative}.sidebar-toggle{align-self:flex-end;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.35);background:transparent;color:var(--text-inverse);font-size:1.4rem;line-height:1}.sidebar-toggle:hover{background:#ffffff1f}.app-shell.sidebar-collapsed{grid-template-columns:84px 1fr}.sidebar.collapsed{padding:18px 14px;align-items:center}.sidebar.collapsed>div{display:none}.sidebar.collapsed .sidebar-toggle{align-self:center}.sidebar.collapsed .secondary-button{width:48px;overflow:hidden;white-space:nowrap;padding-left:0;padding-right:0;font-size:0}.sidebar.collapsed .secondary-button:after{content:"↪";font-size:1.1rem}.sidebar-toggle{position:absolute;top:28px;right:28px}.sidebar>div{padding-right:42px}.sidebar.collapsed .sidebar-toggle{position:static}.sidebar.collapsed>div{padding-right:0}.sidebar-nav{display:grid;gap:10px;margin-top:24px}.sidebar-link{display:flex;align-items:center;gap:12px;min-height:42px;padding:9px 10px;border-radius:8px}.sidebar-link:hover{background:#ffffff1a}.menu-icon{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.secondary-button{display:flex;align-items:center;justify-content:center;gap:10px}.secondary-button .menu-icon{width:18px;height:18px}.sidebar.collapsed .sidebar-link{justify-content:center;width:48px;padding-left:0;padding-right:0}.sidebar.collapsed .sidebar-link span,.sidebar.collapsed .secondary-button span{display:none}.sidebar.collapsed .secondary-button .menu-icon{width:20px;height:20px}.sidebar.collapsed>div{display:block}.sidebar.collapsed>div>.eyebrow,.sidebar.collapsed>div>.muted{display:none}.sidebar.collapsed .sidebar-nav{margin-top:0}.calendar-page{max-width:none}.calendar-page .page-header{margin-bottom:0}.calendar-frame{min-height:0;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}}@layer components{body{background:var(--bg-page);color:var(--text-primary)}button,.button-link{min-height:40px;border-radius:var(--radius-md);padding:0 var(--space-4);font-weight:600;box-shadow:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--focus-ring)}input,select,textarea{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font:inherit}input:hover,select:hover,textarea:hover{border-color:var(--border-hover)}input:focus,select:focus,textarea:focus{border-color:var(--border-focus);box-shadow:var(--focus-ring-soft);outline:none}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:0;line-height:1.2;text-align:center}.ui-button-spinner{width:1em;height:1em;animation:ui-button-spin .8s linear infinite;flex-shrink:0}@keyframes ui-button-spin{to{transform:rotate(360deg)}}.ui-button.primary-button{background:var(--accent);color:var(--accent-contrast)}.ui-button.primary-button:hover:not(:disabled),.ui-button.primary-button:active{background:var(--accent-hover)}.ui-button.secondary-button{border:1px solid var(--border-default);background:var(--surface-elevated);color:var(--text-primary)}.ui-button.secondary-button:hover:not(:disabled),.ui-button.secondary-button:active{background:var(--surface-hover)}.ui-button.danger-action{background:var(--danger);color:var(--accent-contrast)}.ui-button.danger-action:hover:not(:disabled),.ui-button.danger-action:active{background:var(--danger-hover)}.ui-button.ghost-button{background:transparent;color:var(--text-primary)}.ui-button.ghost-button:hover:not(:disabled),.ui-button.ghost-button:active{background:var(--surface-hover)}.ui-icon-button{display:inline-grid;place-items:center;width:40px;height:40px;min-width:40px;min-height:40px;flex:0 0 40px;padding:0;line-height:1}.ui-icon-button:active{background:var(--surface-selected)}.ui-icon-button>svg{display:block;width:1.1em;height:1.1em}.ui-modal-backdrop{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:auto;padding:max(var(--space-4),env(safe-area-inset-top)) max(var(--space-4),env(safe-area-inset-right)) max(var(--space-4),env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left));background:#25252547}.ui-modal{display:flex;flex-direction:column;width:min(100%,520px);max-height:calc(100dvh - (var(--space-4) * 2));overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-elevated);box-shadow:var(--shadow-lg);outline:none}.ui-modal-sm{width:min(100%,420px)}.ui-modal-lg{width:min(100%,720px)}.ui-modal>header,.ui-modal-footer{flex:0 0 auto}.ui-modal>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-subtle)}.ui-modal h2{margin:0;color:var(--text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.ui-modal-content{min-height:0;overflow:auto}.ui-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-subtle)}.ui-modal:focus-visible{box-shadow:var(--focus-ring),var(--shadow-lg)}@media(max-width:600px){.ui-modal-backdrop{padding:max(var(--space-2),env(safe-area-inset-top)) max(var(--space-2),env(safe-area-inset-right)) max(var(--space-2),env(safe-area-inset-bottom)) max(var(--space-2),env(safe-area-inset-left))}.ui-modal{max-height:calc(100dvh - (var(--space-2) * 2))}.ui-modal>header{padding-inline:var(--space-4)}.ui-modal-footer{flex-wrap:wrap;padding-inline:var(--space-4)}}.sidebar{background:var(--surface-sidebar);color:var(--sidebar-text)}.sidebar .muted{color:var(--sidebar-muted)}.sidebar-link{color:var(--sidebar-text);border-left:2px solid transparent}.sidebar-link:hover{background:var(--sidebar-hover);border-left-color:var(--accent)}.sidebar .secondary-button{color:var(--sidebar-text);border-color:var(--border-strong)}.panel,.login-card{border-color:var(--border-subtle);box-shadow:var(--shadow-sm)}.breadcrumbs{color:var(--text-secondary)}.breadcrumbs span{margin:0 4px}.calendar-frame{border-radius:0;box-shadow:none}}@layer features{.calendar-event-editor{display:grid;gap:var(--space-4)}.calendar-event-editor label{display:grid;gap:var(--space-2);color:var(--text-secondary);font-size:.86rem;font-weight:600}.calendar-event-editor input,.calendar-event-editor select,.calendar-event-editor textarea{box-sizing:border-box;width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-input);color:var(--text-primary);font:inherit}.calendar-event-editor textarea{resize:vertical}.calendar-event-editor input:focus,.calendar-event-editor select:focus,.calendar-event-editor textarea:focus{border-color:var(--border-focus);box-shadow:var(--focus-ring-soft)}.calendar-event-editor-all-day{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-2)}.calendar-event-editor-all-day input{width:auto;min-height:auto}.calendar-event-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.calendar-event-editor-error{margin:0;color:var(--danger)}@media(max-width:700px){.calendar-event-editor-grid{grid-template-columns:1fr}}}@layer layout{html,body,#root{min-height:100%}body{overflow:hidden}.app-shell,.sidebar{height:100dvh;min-height:0;overflow:hidden}.content{min-width:0;min-height:0;height:100dvh;overflow:hidden;padding:var(--space-4);display:flex;flex-direction:column}.content>.breadcrumbs{flex:0 0 auto;margin-bottom:var(--space-3)}@media(max-width:760px){body{overflow:auto}.app-shell{height:auto;min-height:100dvh;overflow:visible}.sidebar,.content{height:auto;min-height:auto;overflow:visible}}.content-page{min-width:0;min-height:0;flex:1;overflow:auto}}@layer features{.content-page .page-header{max-width:none;margin-bottom:var(--space-6)}.content-layout{display:grid;grid-template-columns:minmax(220px,.35fr) minmax(0,1fr);gap:var(--space-6);align-items:start}.content-tree,.book-structure{padding:var(--space-5)}.content-tree{position:sticky;top:0}.content-tree h2,.book-structure h2{margin-bottom:0;font-size:1.25rem;font-weight:600}.tree-list,.ordered-content,.nested-pages{margin:0;padding:0;list-style:none}.tree-list{display:grid;gap:2px}.tree-item,.book-row,.nested-pages li{display:flex;align-items:center;gap:var(--space-2);min-height:40px;border-bottom:1px solid var(--border-subtle)}.tree-item.selected,.book-row.selected{background:var(--bg-subtle)}.tree-link{flex:1;min-height:38px;padding:8px;border:0;background:transparent;color:var(--text-primary);text-align:left}.tree-link:hover{background:var(--hover)}.icon-action{min-width:30px;min-height:30px;padding:0;border:0;background:transparent;color:var(--text-muted)}.icon-action:hover{background:var(--hover);color:var(--danger)}.compact-form,.content-form{display:grid;gap:var(--space-3);margin-top:var(--space-5)}.compact-form label,.content-form label{display:grid;gap:var(--space-2);color:var(--text-secondary);font-size:.86rem;font-weight:600}.compact-form button,.inline-form button,.content-form button{justify-self:start}.inline-form{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.inline-form input{min-width:0}.book-list,.book-row .tree-link{display:grid;gap:2px}.book-row small{color:var(--text-muted);font-size:.78rem}.book-structure{margin-top:var(--space-6)}.ordered-content{counter-reset:content-order;display:grid;gap:var(--space-2)}.content-node{padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle)}.content-node-heading{display:flex;align-items:center;gap:var(--space-3)}.content-node-heading>span{min-width:68px;color:var(--text-muted);font-size:.78rem;font-weight:600;text-transform:uppercase}.content-node-heading strong{font-weight:600}.content-node-heading .icon-action{margin-left:auto}.nested-pages{display:grid;gap:2px;margin:var(--space-2) 0 0 80px}.nested-pages li{justify-content:space-between;padding-left:var(--space-3);border-left:1px solid var(--border-default)}.nested-pages a{flex:1;padding:8px 0;color:var(--text-primary);text-decoration:none}.nested-pages a:hover{color:var(--accent)}@media(max-width:860px){.content-layout{grid-template-columns:1fr}.content-tree{position:static}}@media(max-width:600px){.inline-form{flex-direction:column}.nested-pages{margin-left:var(--space-5)}}.content-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);max-width:none}.content-page-heading h1{margin-bottom:0}.page-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.secondary-action{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-default)}.secondary-action:hover:not(:disabled){background:var(--hover)}.shelf-gallery,.book-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:var(--space-4)}.shelf-card,.book-card{position:relative;display:flex;flex-direction:column;min-height:300px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:0 2px 8px #2525250a;overflow:hidden}.shelf-card:hover,.book-card:hover{border-color:var(--border-hover);box-shadow:0 4px 12px #25252512}.shelf-card-main,.book-card-main{display:flex;flex:1;flex-direction:column;width:100%;min-height:0;padding:0;background:transparent;color:var(--text-primary);text-align:left}.shelf-card-main:hover,.book-card-main:hover{background:transparent}.content-card-cover{display:block;flex:0 0 42%;min-height:126px;background-color:var(--bg-subtle);background-position:center;background-size:cover;background-repeat:no-repeat}.content-card-body{display:flex;min-width:0;flex:1;flex-direction:column;gap:var(--space-2);padding:var(--space-5);padding-bottom:calc(var(--space-5) + 30px);background:var(--bg-surface)}.content-card-body strong{display:-webkit-box;overflow:hidden;color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.content-card-body small{display:-webkit-box;overflow:hidden;color:var(--text-secondary);font-size:.82rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}.shelf-card-delete,.book-card-delete{position:absolute;right:var(--space-2);bottom:var(--space-2);z-index:1}.shelf-interior>.section-heading{margin-bottom:var(--space-5)}.modal-form{display:grid;gap:var(--space-3);padding:var(--space-6)}.modal-form label{display:grid;gap:var(--space-2);color:var(--text-secondary);font-size:.86rem;font-weight:600}.modal-form footer{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3)}@media(max-width:700px){.content-page-heading{flex-direction:column}.page-actions{width:100%}.page-actions button{flex:1}.shelf-gallery,.book-gallery{grid-template-columns:minmax(0,1fr)}.content-card-cover{min-height:110px}}.mobile-content-page .mobile-content-header{gap:var(--space-3)}@media(max-width:700px){.mobile-content-page{padding-inline:var(--space-3)}.mobile-content-header{position:sticky;z-index:4;top:calc(-1 * var(--space-4));margin-inline:calc(-1 * var(--space-3));padding:var(--space-3);background:color-mix(in srgb,var(--bg-page) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-content-header h1{font-size:1.25rem}.mobile-content-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.mobile-content-actions .edit-toggle{grid-column:1 / -1}.mobile-content-drilldown{min-width:0}.mobile-content-drilldown .book-gallery{gap:var(--space-3)}.mobile-content-drilldown .book-card{min-height:220px}.mobile-content-page .shelf-card{min-height:230px}}.drive-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);max-width:none}.drive-heading h1{margin-bottom:var(--space-2)}.drive-connect{max-width:620px}.drive-connect h2{margin-bottom:var(--space-2)}.button-link{display:inline-flex;align-items:center;text-decoration:none;background:var(--accent);color:var(--accent-foreground);font-weight:600;min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-md)}.drive-browser{padding:0;overflow:hidden}.drive-toolbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.drive-toolbar strong{font-weight:600}.drive-list{display:grid}.drive-row{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle)}.drive-row:last-child{border-bottom:0}.drive-row:hover{background:var(--hover)}.drive-file-icon{display:grid;place-items:center;width:28px;height:28px;color:var(--accent);font-size:1.2rem}.drive-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-weight:500;text-align:left;text-decoration:none}.drive-row button.drive-file-name{border:0;background:transparent;padding:0;min-height:32px}.drive-row a.drive-file-name:hover,.drive-row button.drive-file-name:hover{color:var(--accent);background:transparent}.drive-file-type{color:var(--text-muted);font-size:.8rem}.drive-download{color:var(--text-secondary);font-size:.82rem;text-decoration:none}.drive-download:hover{color:var(--accent)}@media(max-width:700px){.drive-heading{flex-direction:column}.drive-row{padding:var(--space-3)}.drive-file-type{display:none}}.links-page{max-width:none}.links-list{display:grid;gap:16px}.link-section{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.link-section-header,.link-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px}.link-section-header{background:var(--bg-subtle);border-bottom:1px solid var(--border-subtle)}.link-section-title{display:flex;align-items:center;gap:10px}.link-section-title h2{margin:0;font-size:17px;font-weight:600}.link-icon{flex:0 0 auto;color:var(--text-secondary)}.link-row{position:relative;flex-wrap:wrap;border-bottom:1px solid var(--border-subtle)}.link-row:last-child{border-bottom:0}.link-row>a{display:inline-flex;align-items:center;gap:9px;color:var(--text-primary);font-weight:500;text-decoration:none}.link-row>a:hover{text-decoration:underline}.link-actions{display:flex;align-items:center;gap:6px}.link-empty{margin:0;padding:16px 18px}.credentials-panel{width:100%;display:flex;gap:16px;flex-wrap:wrap;padding:10px 12px;margin-top:2px;background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:13px}.credentials-panel span{display:inline-flex;align-items:center;gap:6px}.credentials-panel code{font-family:inherit;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:4px;padding:3px 7px}.danger-icon{color:var(--danger)}.form-stack{display:grid;gap:14px}.form-stack label{display:grid;gap:6px;color:var(--text-secondary);font-size:13px;font-weight:600}.form-stack input,.form-stack select,.select-like{box-sizing:border-box;width:100%;height:42px;padding:0 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font:inherit}.select-like{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer}.icon-picker{display:grid;gap:10px;padding:12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface)}.icon-picker>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-height:220px;overflow:auto}.icon-choice{display:flex;align-items:center;gap:7px;min-height:38px;padding:7px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.icon-choice:hover{background:var(--hover);border-color:var(--border-subtle)}.icon-choice small{font-size:11px;overflow:hidden;text-overflow:ellipsis}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.empty-state{padding:30px;text-align:center;color:var(--text-muted);border:1px dashed var(--border-default);border-radius:var(--radius-lg)}.credentials-modal{display:grid;gap:14px}.credentials-modal>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-subtle)}.credentials-modal>div>span{display:flex;align-items:center;gap:8px}.credentials-modal code{font-family:inherit;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:4px;padding:5px 8px}.shelf-compact-heading{justify-content:flex-end;margin:0 0 8px!important;min-height:0}.shelf-heading-actions{display:flex;gap:4px}.shelf-heading-actions .icon-action{display:grid;place-items:center;width:30px;height:30px;padding:0}.shelf-heading-actions svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.content-page-heading{margin-bottom:12px!important}.content-page .breadcrumbs{margin-bottom:10px}.edit-toggle{display:inline-flex;align-items:center;gap:8px;min-height:36px;color:var(--text-secondary);font-size:13px;cursor:pointer}.edit-toggle input{position:absolute;opacity:0;pointer-events:none}.edit-toggle-track{position:relative;width:34px;height:20px;border:1px solid var(--border-default);border-radius:999px;background:var(--bg-subtle);transition:.15s}.edit-toggle-track span{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--text-muted);transition:.15s}.edit-toggle input:checked+.edit-toggle-track{background:#78947d;border-color:#687f6d;box-shadow:inset 0 0 0 1px #ffffff24}.edit-toggle input:checked+.edit-toggle-track span{left:17px;background:var(--accent-foreground)}.edit-toggle input:focus-visible+.edit-toggle-track{box-shadow:0 0 0 2px var(--border-focus)}modal-form input[type=color]{width:64px;height:40px;padding:3px;cursor:pointer}.modal-form input[type=file]{padding:8px;height:auto}.modal-form label{display:grid;gap:6px}.date-summary{width:100%;display:flex!important;align-items:center;gap:12px;margin:0 0 12px;padding:12px 14px!important;border:1px solid var(--border-subtle)!important;border-radius:var(--radius-md)!important;background:var(--bg-subtle)!important;color:var(--text-primary)!important;text-align:left;font-weight:500;box-shadow:none!important}.date-summary:hover{background:var(--hover)!important;transform:none!important}.date-summary svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.date-editor{padding:12px 0 0}.date-editor[hidden]{display:none!important}.all-day-editor{display:flex!important;align-items:center;gap:8px;margin-top:12px!important}.all-day-editor input{width:auto!important;min-height:auto!important}.calendar-modal-card .date-row .calendar-field input{width:100%!important}.calendar-modal-card .date-row .calendar-field{min-width:0}.calendar-modal-card .date-row .calendar-field input[type=time]{width:110px!important}@media(max-width:700px){.calendar-modal-card .date-row .calendar-field{grid-template-columns:minmax(0,1fr) 100px!important}}.tasks-header{max-width:none;margin-bottom:var(--space-4)}.tasks-panel{max-width:900px;padding:var(--space-5)}.tasks-toolbar{display:flex;align-items:end;gap:var(--space-3);margin-bottom:var(--space-5)}.tasks-toolbar label{display:grid;gap:var(--space-2);color:var(--text-secondary);font-size:.84rem;font-weight:600}.tasks-toolbar select{box-sizing:border-box;min-width:260px;height:40px;padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font:inherit}.tasks-error{margin-bottom:var(--space-3)}.task-group{margin-top:var(--space-5)}.task-group h2{margin:0;padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle);font-size:1rem;font-weight:600}.task-item{display:flex;align-items:center;gap:var(--space-3);min-height:46px;padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle)}.task-item>input{width:17px;height:17px;flex:0 0 auto;accent-color:var(--accent)}.task-title{min-width:0;flex:1;padding:0;border:0;background:transparent;color:var(--text-primary);text-align:left;font:inherit;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-title:hover{color:var(--accent)}.task-item time{flex:0 0 auto;color:var(--text-secondary);font-size:.82rem}.task-edit,.task-delete{min-height:32px;padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:inherit;font-size:.8rem}.task-edit:hover{background:var(--hover);color:var(--text-primary)}.task-delete:hover{background:#9a5d5d1a;color:var(--danger)}.task-item.completed .task-title{color:var(--text-muted);text-decoration:line-through}.tasks-modal{width:min(100%,520px)}.task-collapse,.task-collapse-placeholder{width:20px;min-width:20px;height:24px;min-height:24px;padding:0;border:0;background:transparent;color:var(--text-secondary);font:inherit;text-align:center}.task-collapse:hover{background:var(--hover);color:var(--text-primary)}.task-collapse-placeholder{display:inline-block}.local-tasks-header{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:var(--space-4)}.local-tasks-header h1{margin:0}.eyebrow{margin:0 0 var(--space-1);color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.local-tasks-status-filters{display:flex;flex-wrap:wrap;gap:var(--space-2);max-width:1100px;margin-bottom:var(--space-5);padding:var(--space-2)}.local-tasks-status-filters button{min-height:36px;padding:0 var(--space-3);border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-secondary);font:inherit;font-size:.88rem;cursor:pointer}.local-tasks-status-filters button:hover{background:var(--surface-hover);color:var(--text-primary)}.local-tasks-status-filters button.is-active{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.local-tasks-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:var(--space-5);max-width:1100px}.local-tasks-list,.local-task-detail{min-width:0}.local-tasks-filters{display:grid;grid-template-columns:minmax(0,1fr) 150px 150px;gap:var(--space-2);margin-bottom:var(--space-4)}.local-tasks-filters input,.local-tasks-filters select,.local-task-form input,.local-task-form select,.local-task-form textarea{box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-input);color:var(--text-primary);font:inherit}.local-task-row{display:grid;gap:4px;width:100%;padding:14px 8px;border:0;border-bottom:1px solid var(--border-subtle);background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.local-task-row:hover,.local-task-row.selected{background:var(--surface-hover)}.local-task-row span{color:var(--text-secondary);font-size:.84rem}.local-task-empty{padding:var(--space-5);color:var(--text-muted);text-align:center}.local-task-detail h2{margin:0}.local-task-detail h3{margin-top:var(--space-5);font-size:1rem}.local-task-detail-header{display:flex;justify-content:space-between;gap:var(--space-3);align-items:start}.local-task-detail dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:var(--space-5) 0;color:var(--text-secondary);font-size:.9rem}.local-task-detail dt{font-weight:600}.local-task-detail dd{margin:0;color:var(--text-primary)}.local-task-prompt{white-space:pre-wrap;overflow-wrap:anywhere}.local-task-prompt p{margin:0;color:var(--text-secondary);line-height:1.55}.local-task-form{display:grid;gap:var(--space-4)}.local-task-form label{display:grid;gap:var(--space-2);color:var(--text-secondary);font-weight:600;font-size:.88rem}.local-task-form textarea{resize:vertical}.local-task-events{display:grid;gap:var(--space-2);padding-left:20px;color:var(--text-secondary)}.local-task-events li{display:flex;justify-content:space-between;gap:12px;font-size:.85rem}.local-task-events time{white-space:nowrap}.local-task-detail-empty{display:grid;place-items:center;min-height:220px;color:var(--text-muted)}.local-task-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2)}.local-task-row-select{display:grid;flex:1;gap:4px;min-width:0;padding:6px 0;border:0;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.local-task-row-select span{color:var(--text-secondary);font-size:.84rem}.local-task-row .danger-action{flex:0 0 auto;min-height:32px;padding:0 var(--space-2);font-size:.8rem}@media(max-width:760px){.local-tasks-layout{grid-template-columns:1fr}.local-tasks-filters{grid-template-columns:1fr 1fr}.local-tasks-filters input{grid-column:1/-1}.local-tasks-header{align-items:start}.local-task-events li{display:grid;gap:2px}}.mobile-tasks-header{max-width:1100px}@media(max-width:700px){.mobile-tasks-header{position:sticky;z-index:4;top:calc(-1 * var(--space-4));margin-inline:calc(-1 * var(--space-4));padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--bg-page) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-tasks-header button{width:100%}.mobile-tasks-status-filters{position:sticky;z-index:3;top:58px;margin-inline:calc(-1 * var(--space-4));border-radius:0;overflow-x:auto;flex-wrap:nowrap;padding-inline:var(--space-4);scrollbar-width:none;background:var(--bg-surface)}.mobile-tasks-status-filters::-webkit-scrollbar{display:none}.mobile-tasks-status-filters button{flex:0 0 auto;min-height:44px}.mobile-tasks-layout{gap:var(--space-3)}.mobile-tasks-layout .local-tasks-list,.mobile-tasks-layout .local-task-detail{border-radius:var(--radius-md)}.mobile-tasks-layout .local-task-row{min-height:64px;padding:var(--space-2) var(--space-3)}.mobile-tasks-layout .local-task-row .danger-action{min-height:40px}}.local-task-detail-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.local-task-attachments ul{display:grid;gap:8px;padding:0;list-style:none}.local-task-attachments li{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.local-task-attachments li a{min-width:0;overflow-wrap:anywhere;color:var(--text-link)}.local-task-attachments li small{color:var(--text-muted)}.execution-capabilities{display:grid;gap:var(--space-2);margin:0;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-subtle)}.execution-capabilities legend{padding:0 var(--space-1);color:var(--text-primary);font-weight:700}.execution-capabilities>p{margin:0 0 var(--space-2);color:var(--text-secondary);font-size:.82rem;font-weight:400;line-height:1.45}.execution-capability{display:flex!important;align-items:flex-start;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer}.execution-capability:hover{background:var(--surface-hover)}.execution-capability input{width:18px!important;min-width:18px;margin:2px 0 0;accent-color:var(--accent)}.execution-capability span{display:grid;gap:2px}.execution-capability strong{color:var(--text-primary)}.execution-capability small{color:var(--text-secondary);font-weight:400;line-height:1.35}.execution-capability input:disabled+span{opacity:.65}.execution-capabilities-locked{color:var(--text-muted);font-weight:400}.execution-capabilities-summary{margin-top:var(--space-5)}.execution-capabilities-summary h3{margin-top:0!important}.execution-capabilities-summary ul{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.execution-capabilities-summary li{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);font-size:.88rem}.execution-capabilities-summary strong{font-weight:600}.execution-capabilities-summary .is-enabled{color:var(--accent)}.execution-capabilities-summary .is-disabled{color:var(--text-muted)}}@layer layout{.app-shell{display:flex;flex-direction:column;height:100dvh;min-height:0;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;flex:0 0 64px;width:100%;box-sizing:border-box;padding:0 var(--space-6);border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary)}.app-header-context{display:flex;align-items:center;gap:var(--space-3);min-width:0;flex:0 1 auto}.calendar-header-toolbar{display:flex;align-items:center;justify-content:center;min-width:0;flex:1;margin:0 var(--space-4);overflow:hidden}.calendar-header-toolbar .calendar-toolbar{display:flex;align-items:center;justify-content:center;gap:var(--space-8);width:100%;margin:0;min-width:0}.calendar-navigation,.calendar-view-actions,.calendar-view-switcher{display:flex;align-items:center;gap:var(--space-2);min-width:0}.calendar-navigation h2{margin:0 var(--space-2) 0 0;color:var(--text-primary);font-size:1rem;font-weight:600;white-space:nowrap}.calendar-header-toolbar .calendar-toolbar button{min-height:34px;padding:0 var(--space-2)!important;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font-size:.82rem;font-weight:600;box-shadow:none}.calendar-header-toolbar .calendar-toolbar button:hover:not(:disabled){background:var(--hover);color:var(--text-primary)}.calendar-header-toolbar .calendar-toolbar button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.calendar-header-toolbar .calendar-toolbar button[data-prev],.calendar-header-toolbar .calendar-toolbar button[data-next]{width:34px;padding:0!important;font-size:1.1rem}.calendar-view-switcher{gap:0}.calendar-view-switcher button{border-radius:0!important}.calendar-view-switcher button:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)!important}.calendar-view-switcher button:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0!important}.calendar-header-toolbar .calendar-toolbar .new-event{margin-left:var(--space-3);background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.calendar-header-toolbar .calendar-toolbar .new-event:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-foreground)}@media(max-width:700px){.calendar-header-toolbar{justify-content:flex-start;margin:0 var(--space-2)}.calendar-header-toolbar .calendar-toolbar{justify-content:flex-start;gap:var(--space-3)}.calendar-navigation h2,.calendar-view-switcher{display:none}.calendar-header-toolbar .calendar-toolbar .new-event{margin-left:0}.app-header-context{gap:var(--space-2)}}.app-section-name{font-size:.95rem;font-weight:600}.app-user{color:var(--text-secondary);font-size:.82rem}.app-body{display:flex;flex:1;min-height:0;min-width:0}.app-main.content{flex:1;min-width:0;min-height:0;height:auto;max-height:none;overflow-y:auto;overflow-x:hidden;padding:var(--space-5) var(--space-6)}.app-main.full-bleed-content{height:auto;overflow:hidden;padding:0}.contextual-sidebar{position:relative;flex:0 0 260px;min-width:0;padding:var(--space-5);border-right:1px solid var(--border-subtle);background:var(--bg-surface);overflow:auto}.contextual-sidebar.collapsed{flex-basis:48px;padding:var(--space-2)}.contextual-sidebar-header{display:flex;justify-content:flex-end;min-height:28px;margin-bottom:var(--space-2)}.contextual-sidebar-toggle{width:28px;height:28px;min-height:28px;padding:0;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary)}.app-launcher{position:relative;z-index:30}.launcher-trigger{display:grid;place-items:center;width:38px;height:38px;min-height:38px;padding:0;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary)}.launcher-trigger:hover{background:var(--hover)}.launcher-grid{display:grid;grid-template-columns:repeat(3,4px);gap:3px}.launcher-grid i{width:4px;height:4px;border-radius:50%;background:currentColor}.launcher-panel{position:absolute;top:calc(100% + 8px);left:0;width:min(320px,calc(100vw - 32px));padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:0 12px 28px #2525251f}.launcher-title{margin:var(--space-1) var(--space-2) var(--space-2);color:var(--text-secondary);font-size:.78rem;font-weight:600}.launcher-item{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:42px;padding:0 var(--space-2);border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font-weight:500;text-decoration:none}.launcher-item:hover{background:var(--hover)}.launcher-item.active{background:var(--bg-subtle);color:var(--accent);font-weight:600}.launcher-item .menu-icon{width:19px;height:19px}.launcher-logout{border:0;text-align:left}.launcher-divider{height:1px;margin:var(--space-2) 0;background:var(--border-subtle)}.mobile-back-button,.mobile-tab-bar,.mobile-sheet-backdrop{display:none}@media(max-width:700px){.app-header{flex-basis:56px;padding:0 max(var(--space-4),env(safe-area-inset-right,0px)) 0 max(var(--space-4),env(safe-area-inset-left,0px))}.app-user{display:none}.app-main.content{padding:var(--space-4)}.contextual-sidebar{position:fixed;z-index:25;top:56px;bottom:0;left:0;width:min(280px,85vw);box-shadow:8px 0 24px #2525251f}}@media(max-width:700px){.mobile-back-button{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;min-height:40px;padding:0;border:0;border-radius:var(--radius-round);background:transparent;color:var(--text-primary);font-size:2rem;line-height:1}.mobile-back-button:hover{background:var(--hover)}.app-main.content{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}.mobile-tab-bar{position:fixed;z-index:40;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;padding:var(--space-1) max(var(--space-2),env(safe-area-inset-left,0px)) max(var(--space-1),env(safe-area-inset-bottom,0px)) max(var(--space-2),env(safe-area-inset-right,0px));border-top:1px solid var(--border-subtle);background:var(--bg-surface);box-shadow:0 -6px 18px #25252514}.mobile-tab-item{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;min-width:0;min-height:56px;padding:var(--space-1);border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:.68rem;font-weight:var(--font-weight-semibold);text-decoration:none;white-space:nowrap}.mobile-tab-item:hover,.mobile-tab-item:focus-visible{background:var(--surface-selected);color:var(--text-primary)}.mobile-tab-item.is-active{color:var(--accent)}.mobile-tab-item .menu-icon{width:22px;height:22px}.mobile-more-icon{height:22px;font-size:1.35rem;line-height:.72;letter-spacing:1px}.mobile-sheet-backdrop{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;background:#2525254d}.mobile-more-sheet{width:100%;max-height:min(72dvh,560px);overflow:auto;padding:var(--space-2) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0px));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg-surface);color:var(--text-primary);box-shadow:0 -12px 32px #2525252e}.mobile-sheet-handle{width:40px;height:4px;margin:var(--space-1) auto var(--space-4);border-radius:999px;background:var(--border-strong)}.mobile-more-sheet h2{margin:0 0 var(--space-3);font-size:1rem}.mobile-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.mobile-more-grid .mobile-tab-item{min-height:64px;border:1px solid var(--border-subtle);background:var(--bg-subtle);font-size:.78rem}.mobile-sheet-close{width:100%;min-height:44px;margin-top:var(--space-4);background:var(--bg-subtle);color:var(--text-primary)}}.account-menu{position:relative;z-index:31}.account-trigger{display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:2px;border:0;border-radius:50%;background:transparent;color:var(--text-primary);cursor:pointer}.account-trigger:hover{background:var(--hover)}.account-avatar{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;overflow:hidden;border-radius:50%;background:var(--accent);color:var(--accent-foreground);font-size:.9rem;font-weight:600}.account-avatar img{display:block;width:100%;height:100%;object-fit:cover}.account-avatar-fallback{display:grid;place-items:center;width:100%;height:100%}.account-popover{position:absolute;top:calc(100% + 8px);right:0;width:min(280px,calc(100vw - 32px));padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:0 12px 28px #2525251f}.account-summary{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2)}.account-details{display:grid;min-width:0;gap:2px}.account-details strong,.account-details span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-details span{color:var(--text-secondary);font-size:.82rem}.account-divider{height:1px;margin:var(--space-2) 0;background:var(--border-subtle)}.account-logout{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:40px;padding:0 var(--space-2);border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);text-align:left}.account-logout:hover{background:var(--hover)}.account-logout .menu-icon{width:18px;height:18px}.google-login-button{display:flex;align-items:center;justify-content:center;min-height:42px;margin-bottom:14px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font-weight:600;text-decoration:none}.google-login-button:hover{background:var(--hover)}.app-breadcrumbs{display:flex;align-items:center;min-width:0;overflow:hidden;color:var(--text-secondary);font-size:.92rem}.app-breadcrumb-item{display:inline-flex;align-items:center;min-width:0;white-space:nowrap}.app-breadcrumb-item>a,.app-breadcrumb-item>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-breadcrumb-item>a{color:var(--text-secondary);text-decoration:none}.app-breadcrumb-item>a:hover{color:var(--text-primary);text-decoration:underline}.app-breadcrumb-item:last-child>span{color:var(--text-primary);font-weight:600}.app-breadcrumb-chevron{width:15px;height:15px;flex:0 0 15px;margin:0 5px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media(max-width:700px){.app-header-context{min-width:0;flex:1}.app-breadcrumbs{font-size:.84rem}.app-breadcrumb-item:not(:last-child):not(:first-child){max-width:90px}.app-breadcrumb-chevron{margin:0 2px;width:13px;height:13px;flex-basis:13px}.account-menu{flex:0 0 auto}}.app-header-account-actions{display:flex;align-items:center;gap:var(--space-2);flex:0 0 auto;margin-left:auto}.settings-menu{position:relative;z-index:31;flex:0 0 auto}.settings-trigger{display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer}.settings-trigger:hover,.settings-trigger[aria-expanded=true]{background:var(--surface-hover);color:var(--text-primary)}.settings-trigger:focus-visible{outline:none;box-shadow:var(--focus-ring)}.settings-trigger .menu-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.settings-popover{position:absolute;top:calc(100% + 8px);right:0;width:min(260px,calc(100vw - 32px));padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-elevated);color:var(--text-primary);box-shadow:var(--shadow-md)}.settings-title{display:block;padding:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.settings-section{display:grid;gap:var(--space-2);padding-top:var(--space-2)}.settings-label{padding:0 var(--space-2);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.appearance-options{display:grid;gap:2px}.appearance-option{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:36px;padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer}.appearance-option:hover,.appearance-option.is-selected{background:var(--surface-selected)}.appearance-option span{color:var(--accent);font-weight:var(--font-weight-semibold)}@media(max-width:700px){.settings-popover{right:0}}.pwa-install-prompt{position:fixed;z-index:45;right:max(var(--space-4),env(safe-area-inset-right,0px));bottom:max(var(--space-4),env(safe-area-inset-bottom,0px));left:max(var(--space-4),env(safe-area-inset-left,0px));display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:min(560px,calc(100vw - 32px));margin-inline:auto;padding:var(--space-3) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-elevated);color:var(--text-primary);box-shadow:var(--shadow-md)}.pwa-install-prompt p{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--font-size-sm)}.pwa-install-actions{display:flex;flex:0 0 auto;align-items:center;gap:var(--space-2)}.pwa-install-actions button{min-height:40px}@media(max-width:700px){.pwa-install-prompt{align-items:stretch;flex-direction:column;width:auto}.pwa-install-actions{justify-content:flex-end}}}@layer features{.book-blocks{margin-top:var(--space-6)}.book-blocks-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.book-blocks-heading h3{margin:0;font-size:1.05rem}.book-blocks-empty{color:var(--text-muted)}.book-block{min-width:0;margin-bottom:var(--space-5)}.book-block.is-editing{padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-panel)}.book-block-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.book-block-actions span{margin-right:auto;color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.book-block-actions button{min-height:30px;padding:0 var(--space-2)}.block-modal{width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}.block-wizard{display:grid;gap:var(--space-4)}.block-type-option{display:grid;gap:var(--space-1);padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-input);color:var(--text-primary);text-align:left;cursor:pointer}.block-type-option:hover{border-color:var(--accent);background:var(--surface-hover)}.block-type-option small{color:var(--text-secondary)}.block-editor-form{display:grid;gap:var(--space-3)}.block-editor-form>label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.block-editor-form textarea{width:100%;min-height:230px;box-sizing:border-box;resize:vertical}.block-editor-form>footer,.block-delete-confirm footer{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.markdown-preview-label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.markdown-collapsible{margin:0 0 var(--space-5)}.markdown-collapsible>summary{padding:var(--space-2) 0;color:var(--text-primary);font-size:1.08rem;font-weight:var(--font-weight-semibold);cursor:pointer;list-style-position:inside}.markdown-collapsible>summary::marker{color:var(--accent)}.markdown-collapsible[open]>summary{margin-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.markdown-content{min-width:0;color:var(--text-primary);line-height:1.65;overflow-wrap:anywhere}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:var(--text-primary);line-height:1.25}.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content blockquote,.markdown-content pre,.markdown-content table{margin:0 0 var(--space-4)}.markdown-content a{color:var(--text-link)}.markdown-content blockquote{padding-left:var(--space-4);border-left:3px solid var(--border-strong);color:var(--text-secondary)}.markdown-content code{padding:2px 4px;border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em}.markdown-content pre{max-width:100%;overflow-x:auto;padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-subtle)}.markdown-content pre code{padding:0;background:transparent}.markdown-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.markdown-content th,.markdown-content td{padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);text-align:left}.markdown-content hr{margin:var(--space-5) 0;border:0;border-top:1px solid var(--border-default)}.markdown-content img{max-width:100%;height:auto}@media(max-width:700px){.book-block.is-editing{padding:var(--space-3)}.book-block-actions span{width:100%}}.drive-file-selection{display:grid;gap:var(--space-2)}.drive-file-selection-current{min-width:0;padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive-file-picker{display:grid;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-subtle)}.drive-file-picker-toolbar{display:flex;align-items:center;gap:var(--space-2);min-width:0}.drive-file-picker-toolbar strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive-file-picker-toolbar .muted{margin-left:auto;white-space:nowrap}.drive-file-picker-list{display:grid;gap:var(--space-1);max-height:240px;overflow-y:auto}.drive-file-picker-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.drive-file-picker-row:hover,.drive-file-picker-row:focus-visible{border-color:var(--border-default);background:var(--surface-hover)}.drive-file-picker-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive-file-picker-row small{color:var(--text-secondary);white-space:nowrap}.markdown-editor-toolbar,.rich-text-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--border-subtle);border-bottom:0;border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--surface-subtle)}.markdown-editor-toolbar button,.rich-text-toolbar button{min-height:30px;padding:0 var(--space-2);font-size:var(--font-size-xs)}.markdown-editor-toolbar+textarea{border-radius:0 0 var(--radius-md) var(--radius-md)}.rich-text-editor{display:grid;gap:0}.rich-text-editor-content,.rich-text-content{min-width:0}.rich-text-editor-content .ProseMirror{min-height:230px;padding:var(--space-3);border:1px solid var(--border-default);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--surface-input);color:var(--text-primary);outline:none}.rich-text-editor-content .ProseMirror:focus{border-color:var(--border-focus);box-shadow:var(--focus-ring-soft)}.rich-text-editor-content .ProseMirror>:first-child,.rich-text-content .ProseMirror>:first-child{margin-top:0}.rich-text-editor-content .ProseMirror>:last-child,.rich-text-content .ProseMirror>:last-child{margin-bottom:0}.rich-text-editor-content .ProseMirror h1,.rich-text-editor-content .ProseMirror h2,.rich-text-editor-content .ProseMirror h3,.rich-text-content .ProseMirror h1,.rich-text-content .ProseMirror h2,.rich-text-content .ProseMirror h3{color:var(--text-primary);line-height:1.25}.rich-text-editor-content .ProseMirror p,.rich-text-editor-content .ProseMirror ul,.rich-text-editor-content .ProseMirror ol,.rich-text-editor-content .ProseMirror blockquote,.rich-text-content .ProseMirror p,.rich-text-content .ProseMirror ul,.rich-text-content .ProseMirror ol,.rich-text-content .ProseMirror blockquote{margin:0 0 var(--space-4)}.rich-text-editor-content .ProseMirror blockquote,.rich-text-content .ProseMirror blockquote{padding-left:var(--space-4);border-left:3px solid var(--border-strong);color:var(--text-secondary)}.rich-text-editor-content .ProseMirror code,.rich-text-content .ProseMirror code{padding:2px 4px;border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em}.rich-text-editor-content .ProseMirror pre,.rich-text-content .ProseMirror pre{overflow-x:auto;padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-subtle)}.rich-text-editor-content .ProseMirror a,.rich-text-content .ProseMirror a{color:var(--text-link)}.rich-text-editor-content .ProseMirror hr,.rich-text-content .ProseMirror hr{border:0;border-top:1px solid var(--border-default)}.rich-text-content .ProseMirror{color:var(--text-primary);line-height:1.65}.rich-text-content .ProseMirror p,.rich-text-content .ProseMirror ul,.rich-text-content .ProseMirror ol,.rich-text-content .ProseMirror blockquote,.rich-text-content .ProseMirror pre{margin:0 0 var(--space-4)}}@layer features{.sessions-panel{margin-top:var(--space-6);padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-panel)}.sessions-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.sessions-heading h2{margin:var(--space-1) 0 0;color:var(--text-primary);font-size:1.25rem}.eyebrow{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase}.sessions-count{color:var(--text-secondary);font-size:var(--font-size-sm)}.session-next{display:grid;gap:var(--space-1);margin-bottom:var(--space-4);padding:var(--space-4);border-left:3px solid var(--accent);border-radius:var(--radius-md);background:var(--surface-subtle)}.session-next span,.session-next small{color:var(--text-secondary);font-size:var(--font-size-sm)}.session-next strong{color:var(--text-primary)}.sessions-list{display:grid;gap:var(--space-2)}.session-row{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-input)}.session-row.is-open{border-color:var(--border-default)}.session-row.is-past .session-status{color:var(--text-muted)}.session-row-toggle{display:grid;grid-template-columns:24px minmax(150px,1fr) minmax(180px,1.5fr) 24px;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:0;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.session-row-toggle:hover{background:var(--surface-hover)}.session-row-toggle:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.session-status{color:var(--accent);font-size:1.1rem}.session-date,.session-date small{display:grid;gap:2px}.session-date small{color:var(--text-secondary);font-size:var(--font-size-xs)}.session-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-chevron{color:var(--text-muted);text-align:center}.session-details{display:grid;gap:var(--space-3);padding:0 var(--space-4) var(--space-4) calc(24px + var(--space-4) + var(--space-3))}.session-details-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.session-details-actions a,.session-video-link{color:var(--text-link);font-size:var(--font-size-sm)}.session-editor{display:grid;gap:var(--space-3)}.session-editor-tabs{display:flex;gap:var(--space-2)}.session-notes-editor{width:100%;min-height:250px;box-sizing:border-box;resize:vertical}.session-video-field{display:grid;gap:var(--space-2)}.session-video-status{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm)}.session-video-status.is-completed{color:var(--accent)}.session-video-status.is-failed{color:var(--text-danger, #b42318)}.session-generated-notes{display:grid;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.session-study-notes{display:grid;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-panel)}.session-study-notes-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.session-study-notes h3,.session-existing-notes h3{margin:0;color:var(--text-primary)}.session-study-notes>.markdown-block{max-width:78ch;font-size:1.02rem;line-height:1.7}.session-existing-notes{display:grid;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.session-original-transcription{padding-top:var(--space-3);border-top:1px solid var(--border-subtle);color:var(--text-secondary)}.session-original-transcription summary{color:var(--text-link);cursor:pointer;font-size:var(--font-size-sm)}.session-original-transcription .markdown-block{margin-top:var(--space-3);max-height:32rem;overflow:auto}.session-video-current{min-width:0;overflow:hidden;padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap}.session-editor-footer{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}@media(max-width:700px){.sessions-panel{padding:var(--space-3)}.session-row-toggle{grid-template-columns:22px minmax(0,1fr) 22px;gap:var(--space-2)}.session-date{grid-column:2;grid-row:1}.session-title{grid-column:2;grid-row:2}.session-chevron{grid-column:3;grid-row:1 / span 2}.session-details{padding-left:var(--space-4)}.session-study-notes{padding:var(--space-4)}.session-study-notes-heading{display:grid}}}@layer features{.master-hpc-schedule{display:grid;gap:var(--space-4);margin-top:var(--space-7);padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-panel)}.master-hpc-schedule-header{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4)}.master-hpc-schedule-header h2{margin:var(--space-1) 0 0;color:var(--text-primary);font-size:1.25rem}.master-hpc-schedule-total{color:var(--text-secondary);font-size:var(--font-size-sm);white-space:nowrap}.master-hpc-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);color:var(--text-secondary);font-size:var(--font-size-xs)}.master-hpc-legend span,.master-hpc-subject{display:inline-flex;align-items:center;gap:var(--space-2)}.master-hpc-legend i,.master-hpc-subject i{display:inline-block;width:11px;height:11px;border-radius:50%;box-shadow:inset 0 0 0 1px #1118271f}.master-hpc-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.master-hpc-month h3{margin:0 0 var(--space-2);color:var(--text-primary);font-size:var(--font-size-md);text-transform:capitalize}.master-hpc-month table{width:100%;border-collapse:collapse;color:var(--text-primary);font-size:var(--font-size-sm)}.master-hpc-month th,.master-hpc-month td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:middle}.master-hpc-month th{color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.master-hpc-subject{font-weight:var(--font-weight-medium)}.master-hpc-subject small{color:var(--text-muted);font-size:var(--font-size-xs)}@media(max-width:760px){.master-hpc-schedule{padding:var(--space-3);overflow-x:auto}.master-hpc-schedule-header{align-items:start;flex-direction:column}.master-hpc-months{grid-template-columns:minmax(640px,1fr)}}}@layer features{.schedule-page{width:100%;min-width:0;--schedule-border: var(--border-subtle);--schedule-header: #465568;--schedule-header-text: #ffffff;--schedule-time: var(--surface-subtle)}.schedule-table-wrap{width:100%;overflow-x:auto}.schedule-mobile-navigation{display:none}.schedule-week-navigation{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);color:var(--text-primary);font-weight:var(--font-weight-semibold)}.schedule-week-navigation button{min-height:40px;padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-elevated);color:var(--text-primary);font:inherit}.schedule-week-navigation button:hover{background:var(--surface-hover)}.schedule-page:has(.schedule-toolbar) .schedule-week-navigation{justify-content:center}.schedule-page:has(.schedule-toolbar) .schedule-week-navigation button{display:inline-flex;align-items:center;justify-content:center;flex:0 1 10rem;width:10rem;min-width:0;box-sizing:border-box;gap:var(--space-2);padding-inline:var(--space-2);font-size:var(--font-size-sm);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-all-day{margin-bottom:var(--space-3)}.schedule-all-day h2{margin:0 0 var(--space-2);color:var(--text-secondary);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.schedule-all-day-grid{display:grid;grid-template-columns:132px repeat(5,minmax(0,1fr));border:1px solid var(--schedule-border);border-radius:var(--radius-md);overflow:hidden}.schedule-all-day-day,.schedule-all-day-time{min-width:0;min-height:52px;padding:var(--space-2);border-right:1px solid var(--schedule-border);background:var(--surface-panel)}.schedule-all-day-day:last-child{border-right:0}.schedule-all-day-day{display:grid;align-content:start;gap:4px}.schedule-all-day-day>strong{color:var(--text-secondary);font-size:.76rem}.schedule{width:100%;min-width:920px;table-layout:fixed;border-collapse:separate;border-spacing:0;color:var(--text-primary);font-size:.86rem}.schedule-time-column{width:132px}.schedule th,.schedule td{border-right:1px solid var(--schedule-border);border-bottom:1px solid var(--schedule-border)}.schedule thead th{height:48px;padding:0 var(--space-3);background:var(--schedule-header);color:var(--schedule-header-text);font-weight:650;text-align:center}.schedule thead th:first-child{border-top-left-radius:var(--radius-md)}.schedule thead th:last-child{border-top-right-radius:var(--radius-md)}.schedule thead th:first-child,.schedule tbody th{border-left:1px solid var(--schedule-border)}.schedule tbody tr:last-child th{border-bottom-left-radius:var(--radius-md)}.schedule tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius-md)}.time-cell{min-height:70px;height:auto;padding:var(--space-2);background:var(--schedule-time);color:var(--text-secondary);font-size:.78rem;font-weight:650;text-align:center;vertical-align:middle;white-space:nowrap}.schedule-cell{min-height:70px;height:auto;padding:var(--space-2) var(--space-3);background:var(--surface-panel);text-align:center;vertical-align:middle}.schedule-cell--empty{background:var(--surface-panel)}.schedule-main{display:flex;align-items:center;justify-content:center;gap:6px;font-weight:650;line-height:1.2}.schedule-detail{display:block;margin-top:5px;color:var(--text-secondary);font-size:.77rem;line-height:1.1}.schedule-events{display:grid;gap:4px;margin-top:7px;text-align:left}.schedule-event{display:grid;width:100%;min-width:0;gap:1px;padding:4px 6px;border:0;border-left:3px solid var(--accent);border-radius:3px;background:var(--accent-soft);color:var(--text-primary);font:inherit;font-size:.72rem;line-height:1.15;text-align:left;overflow-wrap:anywhere;cursor:pointer}.schedule-event:hover,.schedule-event:focus-visible{background:var(--surface-hover);outline:2px solid var(--border-focus);outline-offset:1px}.schedule-event strong{font-weight:700}.schedule-event small{color:var(--text-secondary);font-size:.68rem}.schedule-event-location{color:var(--text-secondary);font-size:.68rem;line-height:1.15;overflow-wrap:anywhere}.schedule-activity-button{display:grid;width:fit-content;max-width:100%;min-width:0;gap:3px;margin-inline:auto;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:center;cursor:pointer}.schedule-activity-button strong{display:inline-flex;align-items:center;justify-content:center;gap:6px;overflow-wrap:anywhere}.schedule-activity-button:hover,.schedule-activity-button:focus-visible{background:transparent;outline:2px solid var(--border-focus);outline-offset:3px}.schedule-icon{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.schedule-cell--fpb2,.schedule-legend--fpb2{--schedule-activity: #dcf7d3;--schedule-activity-text: #315c37}.schedule-cell--eso-a,.schedule-legend--eso-a{--schedule-activity: #ffd3a3;--schedule-activity-text: #74461e}.schedule-cell--eso-b,.schedule-legend--eso-b{--schedule-activity: #cbe7ff;--schedule-activity-text: #245277}.schedule-cell--eso-c,.schedule-legend--eso-c{--schedule-activity: #dfc7ff;--schedule-activity-text: #563b78}.schedule-cell--guard,.schedule-legend--guard{--schedule-activity: #ffe9a8;--schedule-activity-text: #6d5715}.schedule-cell--pab,.schedule-legend--pab{--schedule-activity: #f8c4d0;--schedule-activity-text: #713b4b}.schedule-cell--tutoring,.schedule-legend--tutoring{--schedule-activity: #d7c5f1;--schedule-activity-text: #553d75}.schedule-cell--families{--schedule-activity: var(--surface-selected);--schedule-activity-text: var(--text-primary)}.schedule-cell[class*=schedule-cell--]:not(.schedule-cell--empty){background:var(--schedule-activity);color:var(--schedule-activity-text)}.schedule-break td{height:20px;border:0;background:transparent}.schedule-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4);margin-top:var(--space-4);color:var(--text-secondary);font-size:.78rem}.schedule-legend-item{display:inline-flex;align-items:center;gap:6px}.schedule-legend-item:before{width:11px;height:11px;border-radius:3px;background:var(--schedule-activity);content:""}.schedule-legend-item .schedule-icon{width:15px;height:15px;color:var(--schedule-activity-text)}.schedule-toolbar{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.schedule-toolbar h1{margin:0;color:var(--text-primary)}.schedule-toolbar p{margin:.35rem 0 0;color:var(--text-secondary);font-size:var(--font-size-sm)}.schedule-toolbar-actions,.schedule-maintenance-banner{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.schedule-year,.schedule-maintenance-banner label{display:grid;gap:4px;color:var(--text-secondary);font-size:var(--font-size-sm)}.schedule-year select,.schedule-maintenance-banner select{min-height:40px;padding:0 var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-elevated);color:var(--text-primary)}.schedule-maintenance-banner{margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid var(--border-focus);border-radius:var(--radius-md);background:var(--surface-selected);color:var(--text-primary)}.schedule-editor-form{display:grid;gap:var(--space-3)}.schedule-editor-form label{display:grid;gap:5px;color:var(--text-secondary);font-size:var(--font-size-sm)}.schedule-editor-form input,.schedule-editor-form textarea,.schedule-editor-form select{width:100%;min-height:40px;box-sizing:border-box;padding:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-elevated);color:var(--text-primary);font:inherit}.schedule-editor-form textarea{min-height:80px;resize:vertical}.schedule-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.schedule-editor-form .ui-modal-footer{justify-content:flex-end;padding:var(--space-2) 0 0}.schedule-context-menu,.schedule-location-list{display:grid;gap:var(--space-2)}.schedule-location-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle)}.schedule-location-row>span:last-child{display:flex;flex-wrap:wrap;gap:var(--space-2)}.schedule-editor-actions{margin-top:var(--space-3)}.form-error{color:var(--danger-text, #a22)}@media(max-width:760px){.schedule-toolbar{align-items:start;flex-direction:column}.schedule-toolbar-actions{width:100%;justify-content:space-between}.schedule-editor-grid{grid-template-columns:1fr}.schedule-maintenance-banner{align-items:stretch;flex-direction:column}}@media(max-width:700px){.schedule-page{padding-top:var(--space-2)}.schedule-page .sr-only{position:static;width:auto;height:auto;margin:0 0 var(--space-3);overflow:visible;clip:auto;clip-path:none;white-space:normal;font-size:1.2rem;line-height:1.2}.schedule-mobile-navigation{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.schedule-week-navigation{margin-bottom:var(--space-3)}.schedule-week-navigation button{width:40px;padding:0;font-size:0}.schedule-week-navigation button:first-child:after{content:"←";font-size:1.25rem}.schedule-week-navigation button:last-child:after{content:"→";font-size:1.25rem}.schedule-page:has(.schedule-toolbar) .schedule-week-navigation{flex-wrap:wrap;row-gap:var(--space-2)}.schedule-page:has(.schedule-toolbar) .schedule-week-navigation button{flex:1 1 calc(50% - var(--space-1));width:auto;font-size:.75rem}.schedule-page:has(.schedule-toolbar) .schedule-week-navigation button:after{content:none}.schedule-page:has(.schedule-toolbar) .schedule-week-navigation>span{order:3;flex:1 0 100%;min-width:0;font-size:var(--font-size-sm);text-align:center;white-space:nowrap}.schedule-all-day-grid{grid-template-columns:var(--schedule-mobile-time-width, 112px) minmax(0,1fr)}.schedule-all-day-day{display:none}.schedule-all-day-grid .schedule-day-0{display:grid}.schedule-all-day-grid .schedule-day-1,.schedule-all-day-grid .schedule-day-2,.schedule-all-day-grid .schedule-day-3,.schedule-all-day-grid .schedule-day-4{display:none}.schedule-page:has(.schedule[data-selected-day="1"]) .schedule-all-day-grid .schedule-day-0{display:none}.schedule-page:has(.schedule[data-selected-day="1"]) .schedule-all-day-grid .schedule-day-1{display:grid}.schedule-page:has(.schedule[data-selected-day="2"]) .schedule-all-day-grid .schedule-day-0{display:none}.schedule-page:has(.schedule[data-selected-day="2"]) .schedule-all-day-grid .schedule-day-2{display:grid}.schedule-page:has(.schedule[data-selected-day="3"]) .schedule-all-day-grid .schedule-day-0{display:none}.schedule-page:has(.schedule[data-selected-day="3"]) .schedule-all-day-grid .schedule-day-3{display:grid}.schedule-page:has(.schedule[data-selected-day="4"]) .schedule-all-day-grid .schedule-day-0{display:none}.schedule-page:has(.schedule[data-selected-day="4"]) .schedule-all-day-grid .schedule-day-4{display:grid}.schedule-navigation-button{background:var(--surface-elevated);border:1px solid var(--border-default);color:var(--text-primary);font-size:1.25rem}.schedule-navigation-button:hover:not(:disabled){background:var(--surface-hover)}.schedule-selected-day{min-width:0;color:var(--text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);text-align:center}.schedule-table-wrap{overflow-x:hidden}.schedule{display:block;width:100%;min-width:0;font-size:.78rem;--schedule-mobile-time-width: 112px}.schedule colgroup,.schedule thead,.schedule tbody{display:block}.schedule colgroup{display:none}.schedule thead tr,.schedule tbody tr:not(.schedule-break){display:grid;grid-template-columns:var(--schedule-mobile-time-width) minmax(0,1fr);width:100%}.schedule tbody tr:not(.schedule-break){align-items:stretch}.schedule .schedule-break{display:none}.schedule-time-column{width:var(--schedule-mobile-time-width)}.schedule th,.schedule td{padding-left:var(--space-2);padding-right:var(--space-2)}.schedule th,.schedule td{min-width:0;width:auto}.schedule[data-selected-day="0"] .schedule-day-1,.schedule[data-selected-day="0"] .schedule-day-2,.schedule[data-selected-day="0"] .schedule-day-3,.schedule[data-selected-day="0"] .schedule-day-4,.schedule[data-selected-day="1"] .schedule-day-0,.schedule[data-selected-day="1"] .schedule-day-2,.schedule[data-selected-day="1"] .schedule-day-3,.schedule[data-selected-day="1"] .schedule-day-4,.schedule[data-selected-day="2"] .schedule-day-0,.schedule[data-selected-day="2"] .schedule-day-1,.schedule[data-selected-day="2"] .schedule-day-3,.schedule[data-selected-day="2"] .schedule-day-4,.schedule[data-selected-day="3"] .schedule-day-0,.schedule[data-selected-day="3"] .schedule-day-1,.schedule[data-selected-day="3"] .schedule-day-2,.schedule[data-selected-day="3"] .schedule-day-4,.schedule[data-selected-day="4"] .schedule-day-0,.schedule[data-selected-day="4"] .schedule-day-1,.schedule[data-selected-day="4"] .schedule-day-2,.schedule[data-selected-day="4"] .schedule-day-3{display:none}.schedule[data-selected-day="0"] th.schedule-day-0,.schedule[data-selected-day="0"] td.schedule-day-0,.schedule[data-selected-day="1"] th.schedule-day-1,.schedule[data-selected-day="1"] td.schedule-day-1,.schedule[data-selected-day="2"] th.schedule-day-2,.schedule[data-selected-day="2"] td.schedule-day-2,.schedule[data-selected-day="3"] th.schedule-day-3,.schedule[data-selected-day="3"] td.schedule-day-3,.schedule[data-selected-day="4"] th.schedule-day-4,.schedule[data-selected-day="4"] td.schedule-day-4{display:block}.time-cell,.schedule-cell{align-self:stretch;min-height:70px;height:auto}.schedule-main>span{min-width:0;overflow-wrap:anywhere}.schedule-event{font-size:.74rem}.schedule-legend{gap:var(--space-2) var(--space-3)}}@media print{@page{size:A4 landscape;margin:8mm}.schedule-page{width:100%}.schedule{min-width:0;font-size:8.5pt}.schedule thead th{height:32px}.time-cell,.schedule-cell{min-height:47px;height:auto;padding:4px}.schedule-break td{height:10px}.schedule-legend{gap:10px 16px;margin-top:10px;font-size:7.5pt}.schedule,.schedule tr{break-inside:avoid}.schedule-cell[class*=schedule-cell--]:not(.schedule-cell--empty){print-color-adjust:exact;-webkit-print-color-adjust:exact}}}@layer features{.articles-page{max-width:1280px}.articles-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.articles-header h1,.article-reading-header h2{margin:0;color:var(--text-primary)}.articles-layout{display:grid;grid-template-columns:minmax(220px,.35fr) minmax(0,1fr);gap:var(--space-5);align-items:start}.articles-list,.article-reading-panel{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-panel)}.articles-list{display:grid;gap:1px;overflow:hidden}.article-list-item{display:grid;gap:var(--space-1);padding:var(--space-4);border:0;border-bottom:1px solid var(--border-subtle);background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.article-list-item:last-child{border-bottom:0}.article-list-item:hover,.article-list-item.is-selected{background:var(--surface-hover)}.article-list-item span{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.article-list-item strong{font-weight:var(--font-weight-semibold)}.article-reading-panel{min-width:0;padding:var(--space-6)}.article-reading-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-5);border-bottom:1px solid var(--border-subtle)}.article-actions{display:flex;gap:var(--space-2);flex:0 0 auto}.article-metadata{display:grid;gap:var(--space-3);margin:var(--space-5) 0;padding:var(--space-4);border-left:3px solid var(--accent);background:var(--surface-subtle)}.article-metadata div{display:grid;gap:var(--space-1)}.article-metadata dt{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.article-metadata dd{margin:0;color:var(--text-secondary)}.article-reading-panel .markdown-content{max-width:78ch}.article-sources{display:grid;gap:var(--space-2);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}.article-sources h3{margin:0 0 var(--space-2);color:var(--text-primary);font-size:var(--font-size-md)}.article-sources a{color:var(--text-link);overflow-wrap:anywhere}.article-form{display:grid;gap:var(--space-3)}.article-form label{display:grid;gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.article-form label .muted{font-weight:var(--font-weight-normal)}.article-form textarea{min-height:90px;resize:vertical}.article-form .article-content-input{min-height:300px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--font-size-sm)}.article-form-grid{display:grid;grid-template-columns:minmax(130px,.35fr) minmax(180px,.65fr);gap:var(--space-3)}.article-form-footer{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}@media(max-width:800px){.articles-layout{grid-template-columns:1fr}.article-reading-header{flex-direction:column}.article-form-grid{grid-template-columns:1fr}}}@layer features{.codex-monitor-detail{display:grid;gap:var(--space-3)}.codex-monitor-detail h3{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em}.codex-monitor-process{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-panel);color:var(--text-primary);text-align:left;cursor:pointer}.codex-monitor-process:hover,.codex-monitor-process:focus-visible{background:var(--surface-hover)}.codex-monitor-status{color:var(--accent);font-size:1.1rem}.codex-monitor-status.status-completed{color:var(--success)}.codex-monitor-status.status-failed,.codex-monitor-status.status-cancelled{color:var(--danger)}.codex-monitor-process-copy,.codex-monitor-process-meta{display:grid;gap:2px}.codex-monitor-process-copy span,.codex-monitor-process-meta small,.codex-monitor-muted{color:var(--text-muted);font-size:var(--font-size-sm)}.codex-monitor-provider{display:inline-flex;width:max-content;padding:2px var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.codex-monitor-provider-unavailable{border-style:dashed}.codex-monitor-process-meta{text-align:right}.codex-monitor-detail-grid{display:grid;grid-template-columns:minmax(130px,.5fr) 1fr;gap:var(--space-2) var(--space-4);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-subtle)}.codex-monitor-detail-grid span{color:var(--text-muted)}.codex-monitor-detail-grid strong{color:var(--text-primary);font-weight:var(--font-weight-medium)}.codex-monitor-detail-grid .is-warning{color:var(--warning)}.codex-monitor-detail-grid .is-ok{color:var(--success)}.codex-monitor-events{display:grid;gap:var(--space-1);max-height:220px;margin:0;padding:0;overflow-y:auto;list-style:none}.codex-monitor-events li{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--font-size-sm)}.codex-monitor-events time{color:var(--text-muted)}.codex-monitor-detail-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.codex-monitor-page-header{align-items:flex-start}.codex-monitor-refresh{color:var(--text-muted);font-size:var(--font-size-sm)}.codex-monitor-page-content{display:grid;gap:var(--space-5);width:min(100%,1100px);margin:0 auto}.codex-monitor-overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-2)}.codex-monitor-overview div{display:grid;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-panel)}.codex-monitor-overview span{color:var(--text-muted);font-size:var(--font-size-sm)}.codex-monitor-overview strong{color:var(--text-primary);font-size:1.4rem}.codex-monitor-process-section{display:grid;gap:var(--space-2)}.codex-monitor-process-section h2{margin:0;color:var(--text-primary);font-size:var(--font-size-md)}.codex-monitor-processes{display:grid;gap:var(--space-2)}.codex-monitor-process-copy>span{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.codex-monitor-process-copy .codex-monitor-status-label{color:var(--text-secondary);font-size:var(--font-size-sm)}.codex-monitor-process-copy .codex-monitor-provider{color:var(--text-primary);font-size:var(--font-size-xs)}.codex-monitor-empty{display:grid;gap:var(--space-1);padding:var(--space-6);border:1px dashed var(--border-default);border-radius:var(--radius-lg);color:var(--text-muted);text-align:center}.codex-monitor-empty strong{color:var(--text-primary)}.task-execution-progress{display:grid;gap:3px;margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--accent);background:var(--surface-subtle)}.task-execution-progress-heading{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:baseline}.task-execution-progress-heading strong{color:var(--text-primary)}.task-execution-progress-heading span,.task-execution-progress p,.task-execution-progress small{color:var(--text-secondary);font-size:var(--font-size-sm)}.task-execution-progress p{margin:0}.task-execution-progress small{color:var(--warning)}.task-execution-progress.tone-success{border-color:var(--success)}.task-execution-progress.tone-error{border-color:var(--danger)}.task-execution-progress.tone-attention{border-color:var(--warning)}.task-execution-progress.is-compact{margin:2px 0 0;padding:2px 6px;border-left-width:2px}.task-execution-progress.is-compact p,.task-execution-progress.is-compact small{font-size:var(--font-size-xs)}.codex-page{position:relative;display:flex;height:100%;min-height:0;margin:calc(var(--space-5) * -1) calc(var(--space-6) * -1);background:var(--surface-page)}.codex-sidebar{display:flex;flex:0 0 280px;flex-direction:column;gap:var(--space-2);min-width:0;padding:var(--space-4) var(--space-3);border-right:1px solid var(--border-subtle);background:var(--surface-panel);transition:flex-basis .18s ease,padding .18s ease,opacity .18s ease}.codex-sidebar:not(.is-open){display:none}.codex-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.codex-sidebar-header h2{margin:0;color:var(--text-primary);font-size:var(--font-size-md)}.codex-sidebar-close{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:1.3rem;line-height:1;cursor:pointer}.codex-sidebar-close:hover,.codex-sidebar-close:focus-visible{background:var(--surface-hover);color:var(--text-primary)}.codex-new-chat{width:100%}.codex-archive-toggle{width:100%;min-height:36px;padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer}.codex-archive-toggle:hover,.codex-archive-toggle:focus-visible{background:var(--surface-hover);color:var(--text-primary)}.codex-history-empty{margin-top:var(--space-3);padding:var(--space-3);border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--font-size-sm)}.codex-history-empty p{margin:0 0 var(--space-1);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.codex-history-empty span{display:block;line-height:1.45}.codex-history-list{display:grid;gap:2px;min-height:0;margin-top:var(--space-2);padding-right:var(--space-1);overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.codex-history-item{position:relative;display:flex;align-items:center;gap:var(--space-1);min-width:0;border-radius:var(--radius-md)}.codex-history-item.is-active{background:var(--surface-selected)}.codex-history-select{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;flex:1 1 auto;gap:2px var(--space-2);overflow:hidden;padding:var(--space-2);border:0;background:transparent;color:var(--text-secondary);text-align:left;cursor:pointer}.codex-activity-dot{position:absolute;left:1px;z-index:1;box-sizing:border-box;width:7px;height:7px;border:1px solid var(--surface-panel);border-radius:50%;pointer-events:none}.codex-activity-dot.is-running{top:5px}.codex-activity-dot.is-unread{bottom:5px}.codex-activity-dot.is-unread{background:var(--danger)}.codex-activity-dot.is-running{background:var(--success);animation:codex-activity-pulse 1.6s ease-in-out infinite}@keyframes codex-activity-pulse{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.codex-activity-dot.is-running{animation:none}}.codex-history-title{display:-webkit-box;min-width:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.35;overflow-wrap:anywhere}.codex-history-provider{color:var(--text-muted);font-size:var(--font-size-xs)}.codex-history-item.is-active .codex-history-select,.codex-history-select:hover{color:var(--text-primary)}.codex-history-actions{position:relative;display:inline-flex;flex:0 0 auto;gap:2px;padding-right:2px}.codex-history-actions .icon-action{width:1.7rem;height:1.7rem;font-size:.8rem}.codex-history-menu{position:absolute;z-index:3;top:calc(100% + 4px);right:0;display:grid;min-width:120px;padding:var(--space-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-elevated);box-shadow:var(--shadow-md)}.codex-history-menu button{padding:var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer}.codex-history-menu button:hover,.codex-history-menu button:focus-visible{background:var(--surface-hover)}.codex-rename-label{display:block;margin-bottom:var(--space-1);color:var(--text-secondary);font-size:var(--font-size-sm)}.codex-rename-input{width:100%;box-sizing:border-box;padding:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-base);color:var(--text-primary)}.codex-history-loading{margin:auto;color:var(--text-muted)}.codex-provider-choice-label{margin:0 0 var(--space-3);color:var(--text-secondary)}.codex-provider-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.codex-conversation{display:flex;min-width:0;flex:1;flex-direction:column}.codex-conversation-header{display:flex;align-items:center;justify-content:space-between;min-height:34px;padding:0 var(--space-5)}.codex-active-provider{padding:2px var(--space-2);border:1px solid var(--border-subtle);border-radius:999px;background:var(--surface-selected);color:var(--text-muted);font-size:var(--font-size-xs)}.codex-conversation-header h1{margin:0;color:var(--text-primary);font-size:1.15rem}.codex-conversation-header .eyebrow{margin:0 0 2px}.codex-history-toggle{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-panel);color:var(--text-secondary);cursor:pointer}.codex-history-toggle:hover{background:var(--surface-hover);color:var(--text-primary)}.codex-sidebar-backdrop{display:none}.codex-conversation-body{display:flex;min-height:0;flex:1;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-5) var(--space-4)}.codex-conversation-body.is-empty{justify-content:center}.codex-message-list{display:grid;align-content:start;gap:var(--space-5);width:min(100%,860px);min-height:0;flex:1;overflow-y:auto;padding:var(--space-3) var(--space-2);scrollbar-gutter:stable}.codex-message-list-shell{position:relative;display:flex;min-height:0;flex:1;width:min(100%,860px)}.codex-message-list-shell .codex-message-list{width:100%}.codex-message{max-width:min(88%,760px);color:var(--text-primary)}.codex-message-user{justify-self:end;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg);background:var(--accent-soft)}.codex-message-role{display:block;margin-bottom:var(--space-1);color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.codex-message-heading{display:flex;align-items:center;justify-content:space-between;min-height:1.7rem}.codex-message-heading .codex-message-role{margin-bottom:0}.codex-copy-response{opacity:0;transition:opacity .15s ease}.codex-message-assistant:hover .codex-copy-response,.codex-message-assistant:focus-within .codex-copy-response{opacity:1}.codex-user-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.codex-message-attachments{display:grid;gap:var(--space-2);margin-top:var(--space-2)}.codex-message-attachment{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px var(--space-2);padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-panel);color:var(--text-link);text-decoration:none}.codex-message-attachment img{grid-row:span 2;width:42px;height:42px;object-fit:cover;border-radius:var(--radius-sm)}.codex-message-attachment small{color:var(--text-muted);font-size:var(--font-size-xs)}.codex-message-assistant{width:min(100%,800px);padding:0 var(--space-2)}.codex-assistant-items{display:grid;gap:var(--space-4)}.codex-assistant-item+.codex-assistant-item{padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.codex-run-status,.codex-run-error{width:100%;margin:0;color:var(--text-secondary);font-size:var(--font-size-sm)}.codex-run-error{color:var(--danger)}.codex-empty-state{width:min(100%,600px);text-align:center}.codex-empty-mark{display:grid;place-items:center;width:46px;height:46px;margin:0 auto var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--accent-soft);color:var(--accent);font-weight:var(--font-weight-semibold)}.codex-empty-state .eyebrow{margin:0 0 var(--space-1)}.codex-empty-state h2{margin:0 0 var(--space-2);color:var(--text-primary);font-size:clamp(1.35rem,2vw,1.8rem)}.codex-empty-state p:last-child{max-width:46ch;margin:0 auto;color:var(--text-secondary);line-height:1.55}.codex-composer{position:relative;display:block;width:min(100%,860px);padding:var(--space-1) 3.25rem var(--space-1) 3.25rem;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-input);box-shadow:var(--shadow-sm)}.codex-attachment-drafts{display:grid;gap:var(--space-1);padding:var(--space-2) var(--space-2) 0}.codex-attachment-draft{display:flex;align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-panel)}.codex-attachment-draft-icon{flex:0 0 auto}.codex-attachment-draft-info{display:grid;min-width:0;flex:1;gap:2px}.codex-attachment-draft-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:var(--font-size-sm)}.codex-attachment-draft-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:var(--font-size-xs)}.codex-attachment-remove{min-height:28px;padding:0 var(--space-2);border:0;background:transparent;color:var(--text-muted);font-size:1.1rem;cursor:pointer}.codex-attachment-remove:hover{background:var(--surface-hover);color:var(--text-primary)}.codex-attach-input{display:none}.codex-attach{position:absolute;bottom:var(--space-1);left:var(--space-1);display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:1.5rem;line-height:1;cursor:pointer}.codex-attach:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.codex-composer-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.codex-composer textarea{display:block;width:100%;min-width:0;min-height:38px;max-height:180px;box-sizing:border-box;padding:var(--space-2) var(--space-3);border:0;outline:0;background:transparent;color:var(--text-primary);font:inherit;line-height:1.45;resize:none;overflow-y:auto}.codex-composer textarea::placeholder{color:var(--text-muted)}.codex-composer textarea:focus-visible{box-shadow:var(--focus-ring-soft)}.codex-send{position:absolute;right:var(--space-1);bottom:var(--space-1);display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:var(--radius-md);background:var(--accent);color:var(--accent-contrast);font-size:1.2rem;cursor:pointer}.codex-send:disabled{cursor:not-allowed;opacity:.45}.codex-markdown{min-width:0;color:var(--text-primary);line-height:1.65;overflow-wrap:anywhere}.codex-markdown>:first-child{margin-top:0}.codex-markdown>:last-child{margin-bottom:0}.codex-markdown p,.codex-markdown ul,.codex-markdown ol,.codex-markdown blockquote,.codex-markdown pre,.codex-markdown table{margin:0 0 var(--space-3)}.codex-markdown h1,.codex-markdown h2,.codex-markdown h3,.codex-markdown h4,.codex-markdown h5,.codex-markdown h6{margin:var(--space-4) 0 var(--space-2);color:var(--text-primary);line-height:1.25}.codex-markdown h1{font-size:1.45rem}.codex-markdown h2{font-size:1.25rem}.codex-markdown h3{font-size:1.1rem}.codex-markdown ul,.codex-markdown ol{padding-left:1.4rem}.codex-markdown blockquote{padding-left:var(--space-4);border-left:3px solid var(--border-strong);color:var(--text-secondary)}.codex-markdown a{color:var(--text-link)}.codex-markdown code{padding:2px 4px;border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em}.codex-markdown pre{max-width:100%;overflow-x:auto;padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-subtle)}.codex-code-block{max-width:100%;margin:0 0 var(--space-3);overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-subtle)}.codex-code-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--border-subtle);color:var(--text-muted);font-size:var(--font-size-xs)}.codex-code-header button{padding:var(--space-1) var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:inherit;cursor:pointer}.codex-code-header button:hover,.codex-code-header button:focus-visible{background:var(--surface-hover);color:var(--text-primary)}.codex-markdown .codex-code-pre{max-width:100%;margin:0;overflow-x:auto;padding:var(--space-3);border-radius:0;background:transparent}.codex-markdown .codex-code-pre code{padding:0;background:transparent;white-space:pre}.codex-markdown table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.codex-markdown th,.codex-markdown td{padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);text-align:left}.codex-markdown hr{margin:var(--space-4) 0;border:0;border-top:1px solid var(--border-default)}.codex-markdown input[type=checkbox]{margin-right:var(--space-2);accent-color:var(--accent)}.codex-jump-to-end{position:absolute;right:var(--space-3);bottom:var(--space-3);display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);border-radius:999px;background:var(--surface-elevated);color:var(--text-secondary);box-shadow:var(--shadow-sm);cursor:pointer}.codex-jump-to-end:hover,.codex-jump-to-end:focus-visible{background:var(--surface-hover);color:var(--text-primary)}.codex-drop-overlay{position:absolute;z-index:5;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border:2px dashed var(--accent);background:color-mix(in srgb,var(--surface-page) 86%,transparent);color:var(--accent);font-size:1.2rem;font-weight:var(--font-weight-semibold);pointer-events:none}@media(max-width:700px){.codex-page{position:relative;margin:calc(var(--space-4) * -1);min-height:calc(100% + var(--space-8))}.codex-sidebar{position:absolute;z-index:3;top:0;bottom:0;left:0;width:min(320px,88vw);flex-basis:auto;transform:translate(-105%);transition:transform .18s ease;box-shadow:var(--shadow-md)}.codex-sidebar.is-open{display:flex;transform:translate(0)}.codex-sidebar-backdrop{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;display:block;border:0;background:color-mix(in srgb,var(--surface-page) 35%,transparent);cursor:pointer}.codex-conversation-header{height:52px;min-height:52px;justify-content:space-between;padding:var(--space-2) var(--space-4);overflow:visible}.codex-conversation-body{padding:var(--space-2) var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom,0px))}.codex-conversation-body.is-empty{justify-content:center}.codex-message-list-shell{width:100%}.codex-message-list{width:100%;padding-inline:0}.codex-message-user{max-width:92%}.codex-copy-response{opacity:1}.codex-jump-to-end{right:var(--space-2);bottom:var(--space-2)}.codex-empty-state h2{font-size:1.35rem}.codex-provider-choices{grid-template-columns:1fr}.codex-monitor-detail-grid{grid-template-columns:1fr;gap:var(--space-1)}.codex-monitor-detail-grid strong{margin-bottom:var(--space-2)}.codex-monitor-detail-actions{flex-direction:column}.codex-monitor-page-header{display:grid;gap:var(--space-2)}.codex-monitor-page-content{gap:var(--space-4)}.codex-monitor-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.codex-monitor-overview div:last-child{grid-column:span 2}.codex-monitor-process{grid-template-columns:auto minmax(0,1fr);align-items:start}.codex-monitor-process-meta{grid-column:2;grid-template-columns:auto auto;justify-content:start;gap:var(--space-2);text-align:left}.native-mobile-codex .codex-composer{position:sticky;bottom:0;z-index:4;margin-inline:calc(var(--space-3) * -1);padding:var(--space-2) var(--space-3) max(var(--space-2),env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-subtle);background:color-mix(in srgb,var(--surface-elevated) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.native-mobile-codex .codex-composer textarea{min-height:44px;max-height:140px;padding-block:11px;font-size:16px}.native-mobile-codex .codex-send,.native-mobile-codex .codex-attach{width:44px;height:44px;min-height:44px}}}.ai-workspace-nav{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.ai-workspace-nav a{min-height:36px;padding:8px 12px;border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.ai-workspace-nav a:hover,.ai-workspace-nav a:focus-visible,.ai-workspace-nav a.is-active{background:var(--surface-hover);color:var(--text-primary)}.ai-workspace-nav a:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media(max-width:700px){.ai-workspace-nav{overflow-x:auto;margin-bottom:var(--space-3)}.ai-workspace-nav a{flex:0 0 auto}}@layer features{.agents-page{max-width:1080px;margin:0 auto}.agents-page-heading{max-width:680px;margin-bottom:var(--space-6)}.agents-page-heading h1{margin:0 0 var(--space-2);color:var(--text-primary);font-size:clamp(1.5rem,3vw,2.1rem)}.agents-page-heading p:last-child{margin:0;color:var(--text-secondary);line-height:1.55}.agents-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-4)}.agent-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-panel);box-shadow:var(--shadow-sm)}.agent-card-heading{display:flex;align-items:center;gap:var(--space-3)}.agent-card-heading h2{margin:0 0 var(--space-1);color:var(--text-primary);font-size:1.1rem}.agent-card-provider{color:var(--text-muted);font-size:var(--font-size-xs)}.agent-card>p{flex:1;margin:0;color:var(--text-secondary);line-height:1.5}.agent-card-mark{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent);font-weight:var(--font-weight-semibold)}.agents-error{color:var(--danger)}.agents-empty{color:var(--text-muted)}.agents-session-section{margin-top:var(--space-8)}.agents-session-note{color:var(--text-secondary)}.agents-session-list{display:grid;gap:var(--space-3)}.agent-session-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);width:100%;padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-panel);color:var(--text-primary);text-align:left;cursor:pointer}.agent-session-card span{color:var(--text-secondary);font-size:var(--font-size-sm);overflow-wrap:anywhere}.agent-session-detail{margin-top:var(--space-4);padding:var(--space-4);border-left:3px solid var(--accent);background:var(--surface-panel)}}@layer features{.reports-page{max-width:1100px}.reports-heading,.reports-detail-heading{max-width:none;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.reports-heading h1,.reports-detail-heading h1{margin-bottom:var(--space-2)}.reports-heading p,.reports-detail-heading p{margin:0;color:var(--text-secondary)}.reports-search{display:flex;gap:var(--space-2);margin-bottom:var(--space-5)}.reports-search input,.report-editor input,.report-editor textarea{box-sizing:border-box;width:100%;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-input);color:var(--text-primary);font:inherit}.reports-search input{min-height:42px;padding:0 var(--space-3);flex:1}.reports-list{display:grid;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-panel);overflow:hidden}.report-row{display:flex;align-items:center;gap:var(--space-4);min-width:0;padding:var(--space-4) var(--space-5);border:0;border-bottom:1px solid var(--border-subtle);background:transparent;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.report-row:last-child{border-bottom:0}.report-row:hover{background:var(--surface-hover)}.report-row-main{display:grid;gap:4px;min-width:0;flex:1}.report-row-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-row-main small,.report-row time{color:var(--text-secondary);font-size:.82rem}.report-row time{white-space:nowrap}.report-status{padding:4px 8px;border-radius:999px;font-size:.75rem}.report-status-ready{background:var(--success-soft);color:var(--success)}.report-status-draft{background:var(--warning-soft);color:var(--warning)}.report-status-failed{background:var(--danger-soft);color:var(--danger)}.reports-back{padding:0;border:0;background:transparent;color:var(--text-link);font:inherit;cursor:pointer}.reports-download{display:inline-flex;align-items:center;text-decoration:none}.report-source{margin:0 0 var(--space-4);color:var(--text-secondary)}.report-document{padding:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-panel)}.report-editor{display:grid;gap:var(--space-4);padding:var(--space-5)}.report-editor label{display:grid;gap:var(--space-2);color:var(--text-secondary);font-size:.86rem;font-weight:600}.report-editor input{min-height:42px;padding:0 var(--space-3)}.report-editor textarea{padding:var(--space-3);resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.report-editor footer{display:flex;justify-content:flex-end;gap:var(--space-2)}@media(max-width:700px){.reports-heading,.reports-detail-heading{flex-direction:column}.reports-detail-heading .page-actions{width:100%}.reports-detail-heading .page-actions>*{flex:1}.report-row{align-items:flex-start;flex-wrap:wrap;padding:var(--space-4)}.report-row time{order:3;width:100%}.report-status{margin-left:auto}.report-document{padding:var(--space-4)}.reports-search button{flex:0 0 auto}}}@layer features{.ai-documents-header{align-items:flex-start}.ai-documents-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-3);margin-bottom:var(--space-4)}.ai-documents-toolbar label{display:grid;gap:var(--space-1);color:var(--text-secondary);font-size:var(--font-size-sm)}.ai-documents-toolbar input,.ai-documents-toolbar select{min-height:40px;padding:0 var(--space-2)}.ai-documents-search{flex:1 1 260px}.ai-documents-state{padding:var(--space-6);text-align:center}.ai-documents-table{overflow-x:auto}.ai-documents-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(160px,1.3fr) 100px 180px 52px;align-items:center;gap:var(--space-3);min-width:760px;padding:var(--space-3);border-bottom:1px solid var(--border-subtle)}.ai-documents-row:last-child{border-bottom:0}.ai-documents-row-head{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.ai-document-name{display:flex;align-items:center;gap:var(--space-2);min-width:0}.ai-document-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-document-icon{display:inline-grid;place-items:center;width:36px;height:32px;flex:0 0 36px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);font-size:.65rem;font-weight:var(--font-weight-semibold)}.ai-documents-row a{color:var(--text-link)}.ai-document-download{display:inline-grid;place-items:center;width:34px;height:34px;min-width:34px;min-height:34px;padding:0;color:var(--text-primary)!important;text-decoration:none}@media(max-width:760px){.ai-documents-toolbar{align-items:stretch}.ai-documents-toolbar label,.ai-documents-toolbar button{flex:1 1 100%}}}
