:root{--paper:#f8f6f1;--ink:#1d2a2c;--muted:#758078;--line:#dedbd2;--panel:#fffdf8;--panel-strong:#f0f2ec;--accent:#637569;--accent-strong:#34493f;--gold:#b08b5c;--blue:#526f80;--rose:#8a5961;--shadow:0 18px 48px rgba(44,48,42,0.08)}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body,html{min-height:100%}body{margin:0}button,input,select,textarea{font:inherit}.app-shell{grid-template-columns:minmax(300px,390px) minmax(0,1fr)}.app-shell,.auth-gate{display:grid;min-height:100vh}.auth-gate{place-items:center;background:linear-gradient(180deg,rgba(255,253,248,.86),rgba(248,246,241,.94)),var(--paper);padding:28px}.auth-card{display:grid;width:min(640px,100%);justify-items:center;grid-gap:14px;gap:14px}.auth-brand-image{display:block;width:min(100%,560px);aspect-ratio:2400/900;border:1px solid rgba(176,139,92,.22);border-radius:8px;background:#fbf7ef;box-shadow:0 18px 48px rgba(52,73,63,.1);object-fit:cover;object-position:center}.auth-card h1{font-size:2rem;text-align:center}.auth-intro{max-width:540px;color:var(--muted);line-height:1.55;text-align:center}.auth-action{width:min(320px,100%)}.auth-error{max-width:540px;color:var(--rose);font-size:.9rem;line-height:1.45}.control-panel{display:flex;flex-direction:column;gap:24px;border-right:1px solid var(--line);background:linear-gradient(180deg,#fffdfa 0,var(--panel) 48%,#f9f6ef 100%);padding:28px}.brand-block{display:grid;grid-gap:8px;gap:8px}.brand-image{display:block;width:100%;aspect-ratio:2400/900;border:1px solid rgba(176,139,92,.22);border-radius:8px;background:#fbf7ef;box-shadow:0 14px 30px rgba(52,73,63,.08);object-fit:cover;object-position:center}.eyebrow{margin:0;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:1.72rem;line-height:1.1}h2{margin-bottom:12px}h2,h3{font-size:1rem}h3{margin-bottom:8px}.study-form{display:grid;grid-gap:16px;gap:16px}.field{display:grid;grid-gap:7px;gap:7px}.field span{color:var(--muted);font-size:.82rem;font-weight:700}.field-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fffefa;color:var(--ink);padding:11px 12px}textarea{min-height:112px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid rgba(99,117,105,.24);border-color:var(--accent)}.action-menus,.button-row{display:grid;grid-gap:8px;gap:8px}.button-row{grid-template-columns:1fr}.action-menus{grid-template-columns:1fr 1fr;gap:8px}button{min-height:38px;border:1px solid transparent;border-radius:8px;cursor:pointer;font-weight:700}button:disabled{cursor:not-allowed;opacity:.62}.primary-action{background:var(--accent);color:#fff}.action-menu{position:relative}.menu-trigger{width:100%}.menu-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:20;display:grid;width:max-content;min-width:140px;grid-gap:4px;gap:4px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow);padding:6px}.menu-popover[hidden]{display:none}.menu-popover button{min-height:30px;border-radius:6px;background:#fff;color:var(--ink);padding:5px 8px;text-align:left;font-size:.8rem}.menu-popover button:hover{background:var(--panel-strong)}.primary-action:hover{background:var(--accent-strong)}.generation-status{display:grid;grid-gap:3px;gap:3px;border:1px solid rgba(99,117,105,.18);border-radius:8px;background:rgba(99,117,105,.08);padding:9px 10px}.generation-status strong{color:var(--accent-strong);font-size:.82rem}.generation-status span{color:var(--muted);font-size:.76rem;line-height:1.35}.account-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0}.account-strip div{display:grid;min-width:0;grid-gap:2px;gap:2px}.account-strip strong{overflow:hidden;color:var(--ink);font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.account-strip span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.admin-badge{border:1px solid rgba(176,139,92,.32);border-radius:999px;background:rgba(176,139,92,.12);color:#7a5d39!important;padding:4px 8px;white-space:nowrap}.compact-action{min-height:32px;padding:6px 10px}.secondary-action{border-color:var(--line);background:var(--panel-strong);color:var(--ink)}.secondary-action:hover{border-color:#bfd0c8;background:#e4ece8}.metadata-panel{border-top:1px solid var(--line);padding-top:20px}.metadata-panel dl{display:grid;grid-gap:9px 12px;gap:9px 12px;margin:0;font-size:.9rem}.metadata-row{display:grid;grid-template-columns:110px minmax(0,1fr);grid-gap:12px;gap:12px}.metadata-panel dt{color:var(--muted);font-weight:700}.metadata-panel dd{margin:0;overflow-wrap:anywhere}.workspace-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);background:rgba(255,253,248,.82);padding:14px 18px 0}.tab-button{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-bottom:0;border-radius:8px 8px 0 0;background:transparent;color:var(--muted);padding:10px 14px}.tab-button span{display:inline-grid;min-width:20px;min-height:20px;place-items:center;border-radius:999px;background:rgba(99,117,105,.12);color:var(--accent-strong);font-size:.72rem}.tab-button.active{border-color:var(--line);background:var(--paper);color:var(--ink)}.tab-panel{display:none;min-height:0;overflow:auto;padding:28px}.tab-panel.active{display:block}.markdown-preview{max-width:980px;color:var(--ink)}.markdown-preview h1{margin-bottom:18px}.markdown-preview h2{margin-top:28px;border-bottom:1px solid var(--line);padding-bottom:8px;font-size:1.18rem}.markdown-preview h3{margin-top:22px;color:var(--accent-strong)}.markdown-preview li,.markdown-preview p{line-height:1.62}.markdown-preview table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.92rem}.markdown-preview td,.markdown-preview th{border:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}.markdown-preview th{background:var(--panel-strong)}.markdown-preview blockquote{margin:14px 0;border-left:4px solid var(--gold);background:rgba(176,139,92,.1);padding:12px 16px}.wikilink-token{color:var(--accent-strong);font-weight:700}.markdown-preview .source-notes-heading{margin-top:34px;border-bottom:0;color:var(--muted);font-size:.82rem;text-transform:uppercase}.markdown-preview .source-notes-list,.markdown-preview .source-notes-text{color:var(--muted);font-size:.82rem}.markdown-preview .source-notes-list li{line-height:1.45}.note-editor{min-height:calc(100vh - 112px);border:1px solid var(--line);border-radius:8px;background:#fffefa;box-shadow:var(--shadow);padding:24px;line-height:1.55;outline:none}.note-editor:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(99,117,105,.16),var(--shadow)}.editor-note{max-width:820px;margin-bottom:12px;color:var(--muted);font-size:.9rem}.entity-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px;max-width:1100px}.entity-layout section{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:16px}.memory-header{max-width:760px;margin-bottom:16px}.memory-header h2{margin-bottom:6px;font-size:1.2rem}.memory-header p{color:var(--muted);line-height:1.5}.memory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;max-width:980px;margin:0;padding-left:0;list-style:none}.memory-list li{display:grid;grid-gap:6px;gap:6px}.memory-empty{color:var(--muted);font-size:.9rem}.memory-item{width:100%;min-height:86px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.78);color:var(--ink);padding:12px;text-align:left}.memory-item.active{border-color:rgba(99,117,105,.52);background:rgba(99,117,105,.12)}.memory-item span,.memory-item strong{display:block}.memory-item strong{margin-bottom:5px;font-size:.95rem}.memory-item span{font-weight:600;line-height:1.4}.memory-item span,.text-action{color:var(--muted);font-size:.78rem}.text-action{justify-self:start;min-height:auto;border:0;border-radius:0;background:transparent;padding:0;font-weight:700}.text-action:hover{color:var(--accent-strong)}.destination-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;max-width:980px}.destination-card{display:grid;grid-gap:10px;gap:10px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.78);padding:16px}.destination-card div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.destination-card h3{margin:0}.destination-card span{border-radius:999px;background:rgba(99,117,105,.12);color:var(--accent-strong);padding:4px 8px;font-size:.72rem;font-weight:800;text-transform:uppercase}.destination-card p{margin:0;color:var(--muted);line-height:1.5}.ai-panel{display:grid;grid-gap:18px;gap:18px;max-width:980px}.ai-status-card{display:grid;grid-gap:8px;gap:8px;border:1px solid rgba(99,117,105,.22);border-radius:8px;background:rgba(99,117,105,.09);padding:16px}.ai-status-card div{display:grid;grid-gap:4px;gap:4px}.ai-status-card span{color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.ai-status-card strong{color:var(--accent-strong);font-size:1rem}.ai-status-card p{margin:0;color:var(--muted);line-height:1.5}.ai-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.ai-provider-card{display:grid;min-height:92px;grid-gap:6px;gap:6px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.82);color:var(--ink);padding:16px;text-align:left}.ai-provider-card.active{border-color:rgba(99,117,105,.54);background:rgba(99,117,105,.12)}.ai-provider-card strong{font-size:1.05rem}.ai-provider-card span{color:var(--muted);font-size:.82rem;font-weight:700}.ai-connection-section{border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.78);padding:16px}.ai-step-list{display:grid;grid-gap:16px;gap:16px}.ai-step-list article{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:12px;gap:12px;border-top:1px solid var(--line);padding-top:16px}.ai-step-list article:first-child{border-top:0;padding-top:0}.ai-step-list article>span{display:grid;width:30px;height:30px;place-items:center;border-radius:999px;background:var(--accent);color:#fff;font-size:.86rem;font-weight:800}.ai-step-list h3{margin-bottom:4px}.ai-step-list p{margin-bottom:12px;color:var(--muted);line-height:1.5}.ai-action-row{display:flex;flex-wrap:wrap;gap:8px}.secondary-link-action,.text-link-action{display:inline-flex;min-height:32px;align-items:center;border-radius:8px;padding:6px 10px;font-size:.86rem;font-weight:800;text-decoration:none}.secondary-link-action{border:1px solid var(--line);background:var(--panel-strong);color:var(--ink)}.secondary-link-action:hover{border-color:#bfd0c8;background:#e4ece8}.text-link-action{color:var(--accent-strong)}.admin-panel{display:grid;grid-gap:18px;gap:18px;max-width:1100px}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.admin-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.admin-header h2{margin-bottom:6px;font-size:1.2rem}.admin-error,.admin-header p{margin:0;color:var(--muted);line-height:1.5}.admin-error{color:var(--rose);font-weight:700}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.admin-metrics article,.admin-section{border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.78);padding:16px}.admin-metrics span{display:block;margin-bottom:6px;color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.admin-metrics strong{font-size:1.65rem}.admin-section h3{margin-bottom:10px}.admin-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);grid-gap:12px;gap:12px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.admin-wide-field{grid-column:1/-1}.admin-activity-list,.admin-status-list,.admin-toggle-list{display:grid;grid-gap:10px;gap:10px}.admin-toggle{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start;border:1px solid var(--line);border-radius:8px;background:#fffefa;padding:10px}.admin-toggle input{width:18px;height:18px;margin-top:2px}.admin-activity-list article,.admin-status-list div,.admin-toggle span{display:grid;grid-gap:3px;gap:3px}.admin-activity-list p,.admin-activity-list span,.admin-status-list span,.admin-toggle small{margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}.admin-activity-list article,.admin-status-list div{border-top:1px solid var(--line);padding-top:10px}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table td,.admin-table th{border-top:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}.admin-table th{color:var(--muted);font-size:.76rem;text-transform:uppercase}.admin-table td span,.admin-table td strong{display:block}.admin-table td span{color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}.link-list,.plain-list{display:grid;grid-gap:8px;gap:8px;margin:0;padding-left:0;list-style:none}.link-list li,.plain-list li{line-height:1.45}.pill-group{display:flex;flex-wrap:wrap;gap:8px}.pill{border:1px solid var(--line);border-radius:999px;background:var(--panel-strong);padding:6px 10px;color:var(--ink);font-size:.84rem}.entity-chip{width:100%;min-height:34px;border:1px solid rgba(99,117,105,.24);background:rgba(99,117,105,.1);color:var(--accent-strong);text-align:left;padding:7px 10px}.entity-chip:hover{border-color:rgba(99,117,105,.42);background:rgba(99,117,105,.16)}.pill.tag{border-color:rgba(99,117,105,.3);background:rgba(99,117,105,.12);color:var(--accent-strong)}.pill.theme{border-color:rgba(45,95,143,.25);background:rgba(45,95,143,.09);color:var(--blue)}.toast{position:fixed;right:18px;bottom:18px;max-width:min(360px,calc(100vw - 36px));border-radius:8px;background:var(--ink);color:#fff;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);transition:opacity .16s ease,transform .16s ease;padding:12px 14px;pointer-events:none}.toast.visible{opacity:1;transform:translateY(0)}@media (max-width:920px){.app-shell{grid-template-columns:1fr;min-height:auto}.control-panel{border-right:0;border-bottom:1px solid var(--line);padding:20px}.brand-block{grid-template-columns:minmax(120px,220px) minmax(0,1fr);align-items:center;gap:14px}.brand-image{grid-row:span 2}.brand-block h1{font-size:1.45rem}.study-form{grid-template-columns:minmax(220px,1.15fr) minmax(260px,1fr);align-items:end}.study-form .action-menus,.study-form .button-row,.study-form .field:first-child,.study-form .generation-status{grid-column:auto}.entity-layout{grid-template-columns:1fr 1fr}.memory-list{grid-template-columns:1fr}}@media (max-width:620px){body{font-size:15px}.control-panel,.tab-panel{padding:14px}.control-panel{gap:16px}.brand-block{grid-template-columns:1fr;gap:6px}.brand-image{width:100%;max-width:320px;grid-row:auto}.brand-block h1{font-size:1.28rem}.action-menus,.button-row,.entity-layout,.field-grid,.generation-status,.study-form{grid-template-columns:1fr}.menu-popover{position:static;width:100%;margin-top:6px;box-shadow:none}input,select,textarea{padding:10px 11px}.tabs{position:-webkit-sticky;position:sticky;top:0;z-index:10;overflow-x:auto;background:#fffdf8;box-shadow:0 1px 0 var(--line);padding-left:12px;padding-top:10px}.tab-button{min-height:34px;padding:8px 11px;white-space:nowrap}.markdown-preview{max-width:none}.markdown-preview h1{font-size:1.35rem}.markdown-preview h2{margin-top:22px;font-size:1.05rem}.markdown-preview table{display:block;overflow-x:auto;white-space:nowrap}.note-editor{min-height:60vh;padding:16px}.metadata-row{grid-template-columns:96px minmax(0,1fr);font-size:.84rem;gap:6px 10px}.metadata-panel{padding-top:14px}.metadata-panel h2{margin-bottom:8px}.memory-item{min-height:74px}.ai-provider-grid,.destination-grid{grid-template-columns:1fr}.account-strip,.admin-header{align-items:stretch;flex-direction:column}.admin-form-grid,.admin-grid,.admin-metrics{grid-template-columns:1fr}}@media print{body.printing-note #aiTab,body.printing-note #destinationsTab,body.printing-note #entitiesTab,body.printing-note #memoryTab,body.printing-note #studyTab,body.printing-note .control-panel,body.printing-note .editor-note,body.printing-note .tabs,body.printing-note .toast{display:none!important}body.printing-note .app-shell,body.printing-note .workspace-panel{display:block;min-height:auto}body.printing-note #exportTab{display:block!important;padding:0;overflow:visible}body.printing-note .note-editor{min-height:auto;border:0;box-shadow:none;background:#fff;padding:0}}