:root{
  --font-cn:"Noto Serif SC",serif;
  --font-en:"Cormorant Garamond",serif;
  --bg:#f7f3ea;
  --panel:rgba(255,252,246,.72);
  --panel-solid:#fbf7ef;
  --text:#403b38;
  --soft:#746d67;
  --faint:#9b9289;
  --line:rgba(87,75,67,.16);
  --accent:#9c675e;
  --accent-soft:rgba(156,103,94,.12);
  --shadow:0 22px 70px rgba(79,61,52,.13);
  --wall:url("pink-room-photo.webp");
  --seg-track:rgba(231,221,212,.78);
  --seg-thumb:rgba(213,164,174,.72);
  --seg-thumb-shadow:0 2px 8px rgba(60,53,51,.10);
  --inbox-highlight:var(--accent);
}
:root[data-theme="harbor"]{
  --bg:#202808;
  --panel:rgba(22,31,18,.78);
  --panel-solid:#202b1c;
  --text:#eef1df;
  --soft:#bbc3a5;
  --faint:#8e9a7d;
  --line:rgba(225,235,204,.14);
  --accent:#c8a899;
  --accent-soft:rgba(200,168,153,.13);
  --shadow:0 22px 70px rgba(0,0,0,.28);
  --wall:url("chat-forest-scales-v2.webp");
  --seg-track:rgba(32,40,8,.48);
  --seg-thumb:#566343;
  --seg-thumb-shadow:0 2px 10px rgba(10,14,4,.24);
  --inbox-highlight:#d97757;
}
*{box-sizing:border-box}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html,body{margin:0;min-width:1024px;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font-cn)}
button,input,textarea{font:inherit}
button{color:inherit}
.memory-wall{position:fixed;inset:0;background:var(--wall) center/cover no-repeat;opacity:.9}
.memory-wall::after{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--bg) 56%,transparent)}
.memory-shell{position:relative;z-index:1;width:min(1280px,calc(100% - 40px));margin:0 auto;padding:32px 0 64px}
.memory-header{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:6px 12px;align-items:center;margin-bottom:20px}
.icon-button{grid-column:1;grid-row:1;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--panel);display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(18px)}
.icon-button svg{width:18px}
.memory-heading{grid-column:2;grid-row:1;text-align:center;min-width:0}
.eyebrow,.section-kicker,.card-label{font-family:var(--font-en);font-size:11px;letter-spacing:.18em;color:var(--faint)}
.memory-heading h1{font-family:var(--font-en);font-size:clamp(34px,4.5vw,52px);font-weight:500;line-height:1;margin:3px 0 0}
.connection{grid-column:2;grid-row:2;justify-self:center;display:inline-flex;align-items:center;gap:6px;margin-top:2px;padding:4px 11px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--soft);font-size:11.5px;backdrop-filter:blur(12px)}
.connection i{width:7px;height:7px;border-radius:50%;background:#c4a56a;box-shadow:0 0 0 5px rgba(196,165,106,.12)}
.connection.online i{background:#799779;box-shadow:0 0 0 5px rgba(121,151,121,.14)}
.connection.offline i{background:#b46f68;box-shadow:0 0 0 5px rgba(180,111,104,.13)}
.memory-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,420px);gap:3px;padding:3px;margin-bottom:8px;border-radius:13px;background:var(--seg-track)}
.memory-tab{min-width:0;min-height:32px;border:0;border-radius:10px;background:transparent;padding:6px 3px;color:var(--soft);font-size:12px;white-space:nowrap;cursor:pointer;transition:background .22s ease,color .22s ease,box-shadow .22s ease}
.memory-tab.active{background:var(--seg-thumb);color:var(--text);box-shadow:var(--seg-thumb-shadow);font-weight:500}
.memory-tab[data-view="inbox"]{display:none}
.memory-view{margin-top:8px}
.memory-management-panel{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;padding:12px 16px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.auto-memory-panel{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin:0}
.auto-memory-panel strong{font-size:13.5px;font-weight:500}
.auto-memory-controls{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--seg-track)}
.auto-memory-controls button{min-width:52px;min-height:26px;border:0;border-radius:999px;background:transparent;padding:3px 12px;color:var(--soft);font-size:12px;cursor:pointer;transition:background .22s ease,color .22s ease,box-shadow .22s ease}
.auto-memory-controls button.active{background:var(--seg-thumb);color:var(--text);box-shadow:var(--seg-thumb-shadow);font-weight:500}
.auto-memory-controls button:disabled{cursor:wait}
.auto-memory-status.needs-attention{position:static;width:100%;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;color:var(--soft);font-size:12px}
.auto-memory-jobs{width:100%;font-size:12px;color:var(--soft)}
.auto-memory-jobs:empty{display:none}.auto-memory-job{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid var(--line)}
.fixed-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px}
.document-list,.editor-card,.history-card{border:1px solid var(--line);background:var(--panel);border-radius:22px;box-shadow:var(--shadow);backdrop-filter:blur(22px)}
.document-list{padding:10px;height:max-content}
.document-item{width:100%;border:0;border-radius:15px;background:transparent;text-align:left;padding:14px;cursor:pointer}
.document-item.active{background:var(--accent-soft)}
.document-item strong{display:block;font-size:15px;font-weight:500;margin-bottom:5px}
.document-item span{display:block;color:var(--faint);font-family:var(--font-en);font-size:11px;letter-spacing:.08em}
.editor-card{padding:24px}
.editor-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:20px}
.editor-head h3{font-size:22px;font-weight:500;margin:5px 0 0}
.editor-head time{font-family:var(--font-en);font-size:12px;color:var(--faint);margin-top:4px}
.nearfield-current-meta{display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.nearfield-status{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:5px 9px;color:var(--soft);font-size:11px;background:var(--accent-soft)}
.nearfield-status[data-state="updated"]{color:#55745e;border-color:rgba(85,116,94,.25)}
.nearfield-status[data-state="ready"]{color:#55745e;border-color:rgba(85,116,94,.25)}
.nearfield-status[data-state="expired"]{color:#9c645b;border-color:rgba(156,100,91,.25)}
.nearfield-source{margin:-8px 0 16px;color:var(--faint);font:11.5px/1.6 var(--font-en),var(--font-cn)}
.continuity-diary-list{white-space:pre-wrap;border:1px solid var(--line);border-radius:14px;background:var(--accent-soft);padding:16px;color:var(--soft);font-size:13px;line-height:1.8;min-height:88px}
.field-label{display:block;color:var(--soft);font-size:12px;margin:14px 0 8px}
.text-input,.memory-textarea,.auth-card input{width:100%;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.28);color:var(--text);outline:none}
:root[data-theme="harbor"] .text-input,:root[data-theme="harbor"] .memory-textarea,:root[data-theme="harbor"] .auth-card input{background:rgba(0,0,0,.15)}
.text-input,.auth-card input{height:44px;padding:0 13px}
.memory-textarea{min-height:480px;padding:16px;resize:vertical;line-height:1.8;font-family:var(--font-cn);font-size:14px}
.memory-textarea:focus,.text-input:focus,.auth-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.inject-row{display:flex;align-items:center;gap:9px;margin-top:13px;color:var(--soft);font-size:12px}
.inject-row input{accent-color:var(--accent)}
.editor-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px}
.editor-buttons{display:flex;align-items:center;justify-content:flex-end;gap:9px}
.mobile-only{display:none}
.save-hint{color:var(--faint);font-size:12px}
.primary-button{border:0;border-radius:999px;background:var(--text);color:var(--panel-solid);padding:11px 20px;cursor:pointer;white-space:nowrap}
.primary-button:disabled{opacity:.5;cursor:wait}
.nearfield-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.7fr);gap:16px}
.nearfield-textarea{min-height:430px}
.history-card{padding:20px;min-width:0}
.history-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;color:var(--faint);font-size:12px}
.history-head{list-style:none;cursor:default}
.history-head::-webkit-details-marker{display:none}
.history-month{margin:18px 2px 8px;color:var(--soft);font-size:12px;letter-spacing:.08em}
.history-entry{border-top:1px solid var(--line);padding:12px 2px}
.history-entry summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;font-size:13px}
.history-entry summary::-webkit-details-marker{display:none}
.history-entry summary span:last-child{color:var(--faint);font-family:var(--font-en)}
.history-source{margin-top:8px;color:var(--faint);font:11px/1.5 var(--font-en),var(--font-cn)}
.history-entry pre{white-space:pre-wrap;word-break:break-word;margin:12px 0 2px;padding:12px;border-radius:12px;background:var(--accent-soft);color:var(--soft);font:12px/1.75 var(--font-cn);max-height:300px;overflow:auto}
.collection-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}
.toolbar-actions{display:flex;gap:9px}
.search-field{display:block;width:min(430px,45%);color:var(--soft);font-size:12px}
.search-field span{display:block;margin:0 0 7px 3px}
.search-field input{width:100%;height:42px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--text);padding:0 16px;outline:none;backdrop-filter:blur(16px)}
.search-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.secondary-button,.danger-button{border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--soft);padding:10px 17px;cursor:pointer;white-space:nowrap}
.danger-button{color:#a45e58;border-color:rgba(164,94,88,.25)}
.collection-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px}
.collection-list{height:max-content;max-height:720px;overflow:auto;border:1px solid var(--line);background:var(--panel);border-radius:22px;box-shadow:var(--shadow);backdrop-filter:blur(22px);padding:10px}
.collection-item{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:14px 13px;cursor:pointer}
.collection-item:last-child{border-bottom:0}
.collection-item.active{border-radius:14px;border-bottom-color:transparent;background:var(--accent-soft)}
.collection-item strong{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:500;margin-bottom:6px}
.collection-item strong i{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.collection-item p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0;color:var(--soft);font-size:12px;line-height:1.7}
.collection-item small{display:block;margin-top:7px;color:var(--faint);font:11px var(--font-en);letter-spacing:.04em}
.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.tag-chip{display:inline-flex;align-items:center;min-height:24px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.18);padding:3px 8px;color:var(--soft);font-size:11px}
.lexicon-layout{grid-template-columns:minmax(0,1.45fr) minmax(420px,.8fr);align-items:start}
.lexicon-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));align-content:start;gap:10px;padding:12px}
.lexicon-card-grid .collection-item{min-height:94px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.12);padding:14px;overflow:hidden}
.lexicon-card-grid .collection-item:last-child{border-bottom:1px solid var(--line)}
.lexicon-card-grid .collection-item:hover{background:rgba(255,255,255,.25)}
.lexicon-card-grid .collection-item.active{border-color:rgba(156,103,94,.35);background:var(--accent-soft);box-shadow:0 10px 28px rgba(79,61,52,.08)}
.lexicon-card-grid .collection-item strong{display:block;margin:0;font-size:15px;line-height:1.45}
.lexicon-card-grid .collection-item small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:12px;font-family:var(--font-cn);line-height:1.65;letter-spacing:0}
.lexicon-layout #lexiconEditor{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto}
.compact-textarea{min-height:92px;max-height:150px}
.editor-metadata{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.editor-metadata .field-label{margin-top:0}
.editor-danger{display:flex;align-items:center;justify-content:flex-end;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.lexicon-topic-name{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end;margin:20px 0 4px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.lexicon-topic-name .field-label{grid-column:1 / -1;margin:0}
.lexicon-topic-name .text-input{min-width:0}
.summary-api-status{display:inline-flex;align-items:center;gap:7px;margin:0 0 12px;padding:4px 11px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--soft);font-size:11.5px;backdrop-filter:blur(12px)}
.summary-api-status i{width:6px;height:6px;border-radius:50%;background:#b88771;box-shadow:0 0 0 3px rgba(184,135,113,.15)}
.summary-api-status.ready i{background:#799779;box-shadow:0 0 0 3px rgba(121,151,121,.15)}
.topic-layout{display:grid;grid-template-columns:220px 300px minmax(0,1fr);gap:14px;align-items:start}
.topic-recall{display:grid;gap:6px;margin:0 0 12px}.topic-recall>label{margin-left:4px;color:var(--faint);font-size:11.5px;letter-spacing:.04em}
.topic-recall-track{display:flex;align-items:center;gap:6px;min-width:0;padding:4px 4px 4px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.topic-recall-track input{flex:1;min-width:0;height:32px;border:0;border-radius:8px;background:transparent;padding:0;color:var(--text);outline:none;font-size:13px}
.topic-recall-track input::placeholder{color:var(--faint);font-size:12px;opacity:.85}
.topic-recall-track button{flex-shrink:0;min-width:58px;min-height:32px;height:32px;border:0;border-radius:10px;background:var(--seg-thumb);padding:0 14px;color:var(--text);box-shadow:var(--seg-thumb-shadow);font-size:12.5px;font-weight:500;cursor:pointer}
.topic-recall-track:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.topic-recall-status{font-size:12px;color:var(--soft);margin:0 0 10px}
.topic-recall-results{display:grid;gap:8px;margin:0 0 18px}
.topic-recall-result{width:100%;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:12px 14px;color:var(--text);cursor:pointer}
.topic-recall-result strong{display:block;font-size:14px;margin-bottom:4px}.topic-recall-result span{display:block;color:var(--soft);font-size:12px;line-height:1.6}
.topic-recall-result small{display:block;margin-top:5px;color:var(--accent)}
.topic-column,.topic-detail{border:1px solid var(--line);background:var(--panel);border-radius:20px;box-shadow:var(--shadow);backdrop-filter:blur(22px)}
.topic-column{padding:10px;max-height:740px;overflow:auto}
.column-head{padding:9px 10px 11px}
.topic-row,.entry-row{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:13px 11px;cursor:pointer}
.topic-new-entry{width:100%;margin:2px 0 10px}
.topic-row:last-child,.entry-row:last-child{border-bottom:0}
.topic-row.active,.entry-row.active{border-radius:13px;border-bottom-color:transparent;background:var(--accent-soft)}
.topic-row strong,.entry-row strong{display:block;font-size:14px;font-weight:500}
.topic-row span,.entry-row span{display:block;margin-top:5px;color:var(--faint);font-size:11px}
.entry-row strong{display:flex;justify-content:space-between;gap:10px;align-items:center}
.entry-row strong i{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.entry-row.missing strong i{background:transparent;border:1px solid var(--faint)}
.mini-search{display:block;padding:2px 2px 8px}
.mini-search input{width:100%;height:38px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.24);color:var(--text);padding:0 13px;outline:none}
.topic-detail{padding:23px;min-width:0;max-height:calc(100vh - 255px);overflow:auto}
.topic-detail-head{display:flex;justify-content:space-between;align-items:start;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.topic-detail-head h3{font-size:24px;font-weight:500;margin:5px 0 0}
.topic-detail-head span:last-child{color:var(--faint);font-size:12px}
.topic-section-title{display:flex;justify-content:space-between;align-items:center;margin:22px 0 10px}
.topic-section-title h4{margin:0;font-size:15px;font-weight:500}
.topic-section-title span{color:var(--faint);font-size:11px}
.summary-block,.draft-block{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.18);padding:16px;margin-bottom:11px}
.draft-block{border-color:rgba(156,103,94,.36);background:var(--accent-soft)}
.summary-block-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.summary-kind{font-family:var(--font-en);font-size:11px;letter-spacing:.14em;color:var(--faint)}
.summary-editor{width:100%;min-height:120px;border:0;background:transparent;color:var(--text);resize:vertical;outline:none;font:13px/1.75 var(--font-cn)}
.summary-links{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:10px}
.source-link{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--soft);padding:5px 9px;font-size:11px;cursor:pointer}
.summary-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.summary-actions button{padding:7px 12px;font-size:11px}
.missing-summary{border:1px dashed var(--line);border-radius:16px;padding:20px;text-align:center;color:var(--soft);font-size:12px;line-height:1.8}
.missing-actions{display:flex;justify-content:center;gap:8px;margin-top:13px}
.source-block{border-top:1px solid var(--line);padding:11px 2px}
.source-block summary{display:flex;justify-content:space-between;gap:14px;cursor:pointer;list-style:none;font-size:12px;color:var(--soft)}
.source-block summary::-webkit-details-marker{display:none}
.source-block summary span:last-child{color:var(--faint)}
.source-note{margin:10px 0 0;color:var(--faint);font-size:11px}
.source-block pre{white-space:pre-wrap;word-break:break-word;max-height:420px;overflow:auto;margin:10px 0 0;padding:13px;border-radius:12px;background:rgba(0,0,0,.035);color:var(--soft);font:12px/1.75 var(--font-cn)}
.draft-note{margin:0 0 10px;color:var(--soft);font-size:12px;line-height:1.7}
.empty-state{min-height:280px;display:grid;place-items:center;text-align:center;color:var(--faint);font-size:13px}
.empty-state.compact{min-height:100px}
.auth-layer{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:22px;background:rgba(29,24,21,.34);backdrop-filter:blur(18px)}
.auth-layer.hidden{display:none}
.auth-card{width:min(400px,100%);border:1px solid var(--line);border-radius:24px;background:var(--panel-solid);box-shadow:var(--shadow);padding:30px}
.auth-card h2{font-size:26px;font-weight:500;margin:7px 0 8px}
.auth-card p{color:var(--soft);font-size:13px;line-height:1.7;margin:0 0 18px}
.auth-card input{margin-bottom:10px}
.auth-card .primary-button{width:100%;margin-top:5px}
.auth-error{min-height:20px!important;margin:0!important;color:#a45e58!important}
.memory-toast{position:fixed;z-index:30;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%,20px);padding:10px 16px;border-radius:999px;background:var(--text);color:var(--panel-solid);font-size:12px;opacity:0;pointer-events:none;transition:.22s ease}
.memory-toast.show{opacity:1;transform:translate(-50%,0)}
.inbox-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:16px}
.inbox-detail{min-height:520px}
.inbox-source{white-space:pre-wrap;line-height:1.75;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;max-height:48vh;overflow:auto}
.inbox-detail>.save-hint{overflow-wrap:anywhere}
.inbox-status{display:inline-flex;border-radius:999px;padding:4px 9px;background:var(--accent-soft);color:var(--accent);font-size:11px}
.inbox-form{display:grid;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.inbox-form label{display:grid;gap:6px;color:var(--soft);font-size:12px}
.inbox-topic-tools{display:grid;gap:10px;justify-items:start}
.inbox-topic-tools label{width:100%;min-width:0}
.inbox-form select{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--panel-solid);color:var(--text);padding:10px}
.inbox-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.inbox-destinations{display:grid;gap:10px;margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.inbox-destinations>.draft-note{margin:0}
.inbox-destination-buttons{display:flex;flex-wrap:wrap;gap:8px}
.inbox-filing-form{padding-top:16px}
.inbox-filing-form h4{margin:0;font-size:16px;font-weight:500}
.inbox-filing-form .memory-textarea{min-height:140px}
.inbox-filing-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.lexicon-originals{margin-top:18px;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.lexicon-originals>summary{cursor:pointer;color:var(--soft);font-size:12px}
.lexicon-originals .source-block{margin-top:10px}
.lexicon-source-caption{display:flex;justify-content:space-between;gap:14px;color:var(--soft);font-size:12px}
.lexicon-source-caption span:last-child{color:var(--faint)}
.inbox-error{color:var(--error);font-size:12px;line-height:1.6}
.topic-inbox-banner{display:flex;align-items:center;gap:5px;width:100%;min-height:32px;margin:0;padding:0 0 10px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;cursor:pointer}
.topic-inbox-banner strong{margin-right:4px;color:var(--inbox-highlight);font:500 22px/1 var(--font-en)}
.topic-inbox-banner small{color:var(--soft);font-size:12px}
.topic-inbox-banner span{margin-left:6px;color:var(--soft);font-size:13px}
.topic-inbox-banner i{margin-left:auto;font-style:normal;color:var(--faint);font-size:18px;line-height:1}
.topic-inbox-banner:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
.mobile-back-link,.mobile-summary-drawer,.mobile-drawer-backdrop{display:none}

@media (max-width:1023px){
  .topic-recall{margin-top:8px}.topic-recall-results{margin-bottom:14px}
  html,body{min-width:0;width:100%;min-height:100%;overflow-x:hidden}
  html{scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  body{min-height:100dvh}
  body.drawer-open{overflow:hidden}
  button,.memory-tab,.document-item,.collection-item{min-height:44px}
  input,textarea{font-size:16px!important}
  .memory-shell{width:100%;min-height:100dvh;margin:0;padding:calc(18px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) calc(36px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
  .memory-header{grid-template-columns:36px minmax(0,1fr) 36px;gap:6px 8px;margin-bottom:14px}
  .memory-heading h1{font-size:32px;line-height:1.05;margin:2px 0 0}
  .eyebrow{display:block;font-size:9.5px;letter-spacing:.22em}
  .connection{margin:2px 0 0;padding:2px 10px;font-size:11px}
  .icon-button{width:36px;height:36px;min-height:36px}
  .memory-tabs{width:100%;margin-bottom:7px}
  .memory-tab{min-height:32px;font-size:clamp(10.5px,2.9vw,12.5px)}
  .memory-view{margin-top:4px;min-width:0}
  .topic-recall-track input{font-size:13px!important}
  .topic-recall-track input::placeholder{font-size:12px!important}
  .fixed-layout,.nearfield-layout,.collection-layout,.lexicon-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
  .document-list,.collection-list{width:100%;max-width:100%;max-height:42dvh;padding:8px;border-radius:18px}
  .document-list{display:grid;grid-template-columns:1fr}
  .document-item{padding:11px 12px}
  .editor-card,.history-card{min-width:0;padding:16px;border-radius:18px}
  .editor-head{display:block;margin-bottom:15px}
  .editor-head time{display:block;margin-top:8px}
  .nearfield-current-meta{align-items:flex-start;margin-top:10px}
  .nearfield-source{margin:0 0 14px;overflow-wrap:anywhere}
  .memory-textarea,.nearfield-textarea{min-height:38dvh;padding:13px;line-height:1.7}
  .compact-textarea{min-height:110px;max-height:160px}
  .editor-actions{align-items:stretch;flex-direction:column;gap:12px}
  .editor-buttons{display:grid;grid-template-columns:1fr;gap:8px}
  .editor-buttons button,.editor-actions>.primary-button{width:100%;min-height:44px}
  .mobile-only{display:inline-flex;align-items:center;justify-content:center}
  .history-card{padding:0 16px}
  .history-card>.history-head{min-height:52px;margin:0;cursor:pointer}
  .history-card>.history-head::after{content:"⌄";margin-left:auto;padding-left:10px;color:var(--soft)}
  .history-card[open]>.history-head::after{content:"⌃"}
  .history-card>.history-list{padding-bottom:14px}
  .collection-toolbar{align-items:stretch;flex-direction:column;gap:10px;margin-bottom:12px}
  .search-field{width:100%}
  .search-field input{height:44px}
  .toolbar-actions{display:grid;grid-template-columns:1fr;width:100%}
  .toolbar-actions button,.collection-toolbar>.primary-button{width:100%;min-height:44px}
  #feelNew{display:none}
  .collection-item{padding:12px}
  .feel-readonly-content{white-space:pre-wrap;word-break:break-word;color:var(--text);font-size:14px;line-height:1.85}
  .feel-readonly-meta{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 16px}
  .lexicon-card-grid{display:grid;grid-template-columns:1fr;max-height:42dvh;padding:8px}
  .lexicon-card-grid .collection-item{min-height:72px}
  .lexicon-layout #lexiconEditor{position:static;max-height:none;overflow:visible}
  .editor-metadata{grid-template-columns:1fr}
  .editor-danger{justify-content:stretch}
  .editor-danger button{width:100%;min-height:44px}
  .auth-layer{min-height:100dvh;overflow:auto;padding:calc(18px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
  .auth-card{padding:22px;border-radius:20px}
  .memory-toast{max-width:calc(100% - 28px);text-align:center;white-space:normal}
  .mobile-back-link{display:block;border:0;background:transparent;padding:7px 0 12px;color:var(--soft);font-size:12px;cursor:pointer}
  .topic-layout{display:block}.topic-column,.topic-detail{max-height:none}.topic-column{padding:10px}.topic-column.entry-column,.topic-detail{display:none}
  #topicsView[data-mobile-level="entries"] .topic-inbox-banner,#topicsView[data-mobile-level="entries"] .topic-column:first-child{display:none}
  #topicsView[data-mobile-level="entries"] .topic-recall-panel,#topicsView[data-mobile-level="detail"] .topic-recall-panel{display:none}
  #topicsView[data-mobile-level="entries"] .auto-memory-panel,#topicsView[data-mobile-level="detail"] .auto-memory-panel{display:none}
  #topicsView[data-mobile-level="entries"] .entry-column{display:block}
  #topicsView[data-mobile-level="detail"] .topic-inbox-banner,#topicsView[data-mobile-level="detail"] .topic-column{display:none}
  #topicsView[data-mobile-level="detail"] .topic-detail{display:block;padding:17px}
  #topicsView[data-mobile-level="home"] #topicMobileBack{display:none}
  .topic-row,.entry-row{padding:15px}.topic-row strong,.entry-row strong{font-size:15px}.topic-row span,.entry-row span{line-height:1.6}
  .topic-detail-head h3{font-size:22px}.summary-block .summary-editor{display:none}.summary-block .summary-actions{justify-content:flex-end}.summary-block .danger-button{display:none}
  .summary-block .mobile-summary-copy{white-space:pre-wrap;font-size:13px;line-height:1.75;margin:12px 0;color:var(--text)}
  #topicEntryDetail>.secondary-button{display:none}
  .source-block pre{max-height:none}
  .inbox-layout{display:block}.inbox-layout .collection-list{max-height:none}.inbox-detail{display:none}
  .inbox-detail.mobile-open{display:block;position:fixed;z-index:12;left:50%;bottom:0;width:min(100%,560px);max-height:88vh;overflow:auto;transform:translateX(-50%);border-radius:24px 24px 0 0;padding:48px 16px calc(22px + env(safe-area-inset-bottom));background:var(--panel-solid)}
  .inbox-detail.mobile-open::before,.drawer-grab{content:"";position:absolute;top:12px;left:50%;width:36px;height:4px;border-radius:4px;background:var(--line);transform:translateX(-50%)}
  .inbox-detail .mobile-detail-close,.drawer-close{position:absolute;top:12px;right:14px;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--text);font-size:21px;cursor:pointer}
  .inbox-destination-buttons,.inbox-filing-actions{display:grid;grid-template-columns:1fr}
  .inbox-destinations>.danger-button,.inbox-filing-actions button{width:100%;min-height:44px}
  .inbox-filing-form .text-input,.inbox-filing-form textarea{width:100%;min-width:0}
  .mobile-drawer-backdrop{position:fixed;display:block;z-index:11;inset:0;background:rgba(20,18,14,.4)}
  .mobile-summary-drawer{position:fixed;display:block;z-index:12;left:50%;bottom:0;width:min(100%,560px);max-height:88vh;overflow:auto;transform:translateX(-50%);border:1px solid var(--line);border-bottom:0;border-radius:24px 24px 0 0;padding:48px 16px calc(22px + env(safe-area-inset-bottom));background:var(--panel-solid);box-shadow:var(--shadow)}
  .mobile-summary-drawer[hidden],.mobile-drawer-backdrop[hidden]{display:none}.drawer-grab{display:block}.mobile-summary-drawer h2{font-size:22px;font-weight:500;margin:0 42px 6px 0}.mobile-summary-drawer .summary-editor{min-height:180px;margin-top:16px}
}

@media (min-width:1024px){
  .history-card>.history-head{pointer-events:none}
}
/* 独立资料文档：目录只取元数据，正文由用户点开后按需加载。 */
.reference-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 14px;padding:13px 16px;border:1px solid var(--line);border-radius:17px;background:var(--panel);backdrop-filter:blur(14px)}
.reference-toolbar-actions{display:flex;gap:8px;flex:0 0 auto}.reference-form{display:grid;gap:10px;margin:0 0 15px;padding:17px;border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.reference-form.hidden{display:none}.reference-form-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.reference-form-head h3{margin:4px 0 0;font-size:19px;font-weight:500}.plain-button{border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--soft);padding:8px 13px;cursor:pointer}.reference-form textarea{min-height:240px}.reference-form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.reference-layout{display:grid;grid-template-columns:minmax(230px,320px) minmax(0,1fr);gap:15px;align-items:start}.reference-list{max-height:72vh}.reference-item{display:block;width:100%;margin:0 0 4px;padding:12px;border:0;border-radius:14px;background:transparent;text-align:left;cursor:pointer;color:var(--text)}.reference-item:hover,.reference-item.active{background:var(--accent-soft)}.reference-item strong{display:block;overflow-wrap:anywhere;font-size:14px;font-weight:500;line-height:1.5}.reference-item-meta{display:flex;flex-wrap:wrap;gap:5px 9px;margin-top:5px;color:var(--faint);font-size:10px;line-height:1.5}.reference-detail{min-height:340px;min-width:0}.reference-detail .editor-head{align-items:flex-start}.reference-detail-meta{display:flex;flex-wrap:wrap;gap:6px 9px;margin:12px 0;color:var(--faint);font-size:11px}.reference-warning{margin:11px 0;padding:10px 12px;border-left:2px solid var(--accent);background:var(--accent-soft);color:var(--soft);font-size:12px;line-height:1.65}.reference-content{min-height:220px;max-height:62vh;overflow:auto;margin:12px 0;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--panel-solid);color:var(--text);font:13px/1.8 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.reference-more{display:block;margin:0 auto 12px}.reference-detail .text-input{width:100%;min-width:0}.reference-detail .reference-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:13px}.reference-list-more{width:100%;margin-top:7px}.reference-empty{padding:32px 18px;text-align:center;color:var(--faint);font-size:13px;line-height:1.7}
@media(max-width:700px){.reference-toolbar{align-items:stretch;flex-direction:column;gap:10px}.reference-toolbar-actions{display:grid;grid-template-columns:1fr 1fr}.reference-layout{grid-template-columns:minmax(0,1fr);gap:10px}.reference-list{max-height:32dvh;padding:7px}.reference-item{padding:9px 10px}.reference-detail{min-height:300px;padding:15px}.reference-detail .editor-head{display:flex;gap:10px}.reference-content{max-height:52dvh;min-height:180px;padding:12px;font-size:12px}.reference-form{padding:14px}.reference-form textarea{min-height:32dvh}.reference-form-actions{align-items:stretch;flex-direction:column}.reference-form-actions button{width:100%;min-height:44px}.reference-detail .reference-actions{display:grid;grid-template-columns:1fr}.reference-detail .reference-actions button{width:100%;min-height:44px}}
.reference-stale-draft{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--accent-soft)}.reference-stale-draft strong{display:block;margin:5px 0;color:var(--soft);font-size:12px;font-weight:500}.reference-stale-draft textarea{min-height:160px;background:var(--panel-solid)}

/* Lightweight entry labels share the room's theme tokens. */
.entry-tags{display:flex;flex-wrap:wrap;gap:0 8px;margin:12px 0 4px}
.entry-tag{border:0;background:transparent;color:var(--accent);font-size:13px;min-height:44px;padding:8px 2px;cursor:pointer;text-align:left;overflow-wrap:anywhere}
:root[data-theme="harbor"] .entry-tag{color:#D97757}
.entry-tag:hover{text-decoration:underline}.entry-tag:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.entry-tags-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.entry-tags-toolbar .entry-tags{flex:1 1 auto;min-width:0}
.entry-tags-edit{flex:0 0 auto}
.cottage-button-scope button.entry-tags-edit.cottage-btn[aria-expanded]{border-color:transparent}
.entry-tags-editor{margin:8px 0 18px}
.entry-tags-editor .text-input{display:block;width:100%;font-size:13px!important}
.entry-tags-editor .text-input::placeholder{font-size:13px!important}
.entry-tags-actions{display:flex;justify-content:flex-end;margin-top:8px}
.topic-tag-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--soft);font-size:13px}
.topic-tag-filter[hidden]{display:none}

/* Content library uses the same paper and color tokens in both room themes. */
.library-controls{display:grid;grid-template-columns:repeat(2,minmax(0,200px)) 1fr;align-items:end;gap:10px;margin-bottom:14px;padding:0;border:0;background:transparent;box-shadow:none}
.library-controls label{display:grid;gap:5px;padding-left:2px;color:var(--faint);font-size:11.5px}.library-controls select{min-width:0;width:100%;min-height:38px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);font-size:13px;outline:none;cursor:pointer;backdrop-filter:blur(16px)}
.library-controls select:focus{border-color:var(--accent)}
.library-controls input{min-width:0;width:100%;min-height:38px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text)}
.library-controls>span{margin-left:auto;padding-bottom:8px;color:var(--faint);font-size:12px}
.library-layout{display:grid;grid-template-columns:minmax(260px,370px) minmax(0,1fr);gap:14px;align-items:start}
.library-list,.library-detail{min-width:0;max-height:75dvh;overflow:auto;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.library-date{margin:12px 8px 6px;color:var(--soft);font-size:14px;font-weight:500}.library-date:first-child{margin-top:2px}
.library-item{display:grid;gap:4px;width:100%;margin:2px 0;padding:11px 12px;border:1px solid transparent;border-radius:12px;background:transparent;text-align:left;cursor:pointer}
.library-item:hover,.library-item.active{border-color:var(--line);background:var(--accent-soft)}.library-item:focus-visible{outline:2px solid var(--accent)}
.library-item strong{font-size:14px;font-weight:500;line-height:1.45}.library-item-meta{color:var(--accent);font-size:11.5px;line-height:1.4}.library-excerpt{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--soft);font-size:12.5px;line-height:1.6}
.library-detail{padding:20px;max-height:75dvh}.library-detail h3{font-size:19px;font-weight:500;line-height:1.45;margin:4px 0}.library-detail-meta,.library-note,.library-source-empty{color:var(--soft);font-size:12.5px;line-height:1.65}.library-detail h4{margin:18px 0 8px;font-size:15px;font-weight:500}
.library-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.75;color:var(--text)}.library-source{border-top:1px solid var(--line);padding:12px 0}.library-source summary{min-height:44px;cursor:pointer;color:var(--accent);font-size:14px}.library-source .library-body{padding:12px;border-radius:12px;background:var(--panel-solid)}
@media(max-width:700px){.library-controls{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.library-controls label{min-width:0;font-size:11px}.library-controls select,.library-controls input{min-width:0;width:100%;min-height:36px;height:36px;padding:0 10px;border-radius:10px;font-size:12.5px}.library-controls>span{grid-column:1/-1;margin:2px 0 0 2px;padding:0;font-size:11.5px}.library-layout{grid-template-columns:1fr;gap:10px}.library-list{max-height:38dvh}.library-detail{max-height:none;min-height:180px;padding:16px}.library-item{min-height:40px}}

.library-actions{justify-content:flex-start;flex-wrap:wrap;margin:16px 0}
.library-supplement-editor{margin:12px 0;padding:16px;border:0;border-radius:16px;background:var(--accent-soft)}
.library-supplement-editor .summary-editor{font-size:13px!important;line-height:1.75!important}
.library-supplement-editor .summary-editor::placeholder{font-size:13px!important}
.library-supplement-editor .summary-actions{justify-content:flex-end}
.mobile-summary-drawer .summary-editor,.library-detail>.summary-editor{font-size:13px!important;line-height:1.75}
#mobileSummaryClose{border:0;border-radius:0;background:transparent;box-shadow:none}
#mobileSummaryClose:focus-visible{outline:2px solid var(--text);outline-offset:2px}
.library-classification{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.library-classification-panel{border:0}
.library-classification>label{display:grid;gap:6px;font-size:13px;color:var(--soft);min-width:0}
.library-classification input,.library-classification select,.library-classification textarea{width:100%;min-width:0;min-height:44px}
.library-classification .text-input{font-size:13px!important}
.library-classification .text-input::-webkit-date-and-time-value{font-size:13px}
.library-classification-actions{justify-content:flex-end}
.library-source pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.75 var(--font-cn);color:var(--text)}
@media(max-width:700px){.library-classification{grid-template-columns:1fr}.library-actions button{min-height:44px}.library-detail>.summary-editor{width:100%}}

/* The shared button shapes follow Memory's existing light-theme colors. */
:root[data-theme="light"] .cottage-button-scope{
  --c-btn-green:var(--panel);
  --c-btn-bright:var(--soft);
  --c-btn-orange:var(--accent);
  --c-btn-ink:var(--soft);
  --c-btn-dark-ink:var(--panel-solid);
  --c-btn-soft:var(--soft);
}
:root[data-theme="light"] .cottage-button-scope button.cottage-btn--save{background:var(--text);color:var(--panel-solid)}
:root[data-theme="light"] .cottage-button-scope button.cottage-btn--green{background:var(--panel);color:var(--soft);border-color:var(--line)}

.inbox-classification-adjust>summary{min-height:44px;display:flex;align-items:center;color:var(--soft);font-size:13px;cursor:pointer}


/* Fixed documents, reference documents and lexicon: confirmed reading/field components. */
.memory-document-page{max-width:1020px;margin-inline:auto;--document-field-line:var(--line)}
:root[data-theme="harbor"] .memory-document-page{--document-field-line:#9ca463}
.memory-document-page :is(.fixed-layout,.reference-layout){grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}
#topicsView .topic-layout{grid-template-columns:240px minmax(0,1fr);gap:20px}
.memory-document-page :is(.document-list,.editor-card,.collection-list,.topic-column,.topic-detail,.reference-form){border:0;border-radius:16px;box-shadow:none}
.memory-document-page :is(.editor-card,.topic-detail,.reference-form){padding:20px}
.memory-document-page :is(.topic-detail,.topic-column,.reference-list){max-height:none;overflow:visible}
.memory-document-page :is(.document-list,.collection-list,.topic-column){padding:8px}
.memory-document-page :is(.document-item,.reference-item,.entry-row){min-height:64px;padding:12px;border-radius:10px;overflow-wrap:anywhere}
.memory-document-page :is(.document-item,.reference-item,.entry-row).active{background:var(--seg-thumb);border-bottom-color:transparent}
.memory-document-page :is(.document-item,.reference-item,.entry-row) strong{font-size:14px;line-height:1.6;font-weight:500}
.memory-document-page :is(.document-item span,.reference-item-meta,.entry-row span){font:400 12px/1.7 var(--font-cn);letter-spacing:normal;color:var(--soft)}
.memory-document-page .entry-row strong i{display:none}
.memory-document-page :is(.editor-head,.topic-detail-head){display:block;margin:0 0 20px;padding:0 0 16px;border-bottom:1px solid var(--line)}
.memory-document-page :is(.editor-head h3,.topic-detail-head h3,.reference-form-head h3){margin:0;font-size:19px;line-height:1.5;overflow-wrap:anywhere}
.memory-document-page :is(.editor-head time,.reference-detail-meta,.save-hint,.reference-empty,.empty-state){color:var(--soft);font:400 12px/1.75 var(--font-cn)}
.memory-document-page .editor-head time{display:block;margin-top:8px}
.memory-document-page .editor-head .card-label{display:block;margin-bottom:6px;font:400 12px/1.7 var(--font-cn);letter-spacing:normal;color:var(--soft)}
.memory-document-page .field-label{font-size:12px;line-height:1.7;margin:16px 0 8px}
:root .memory-document-page :is(.text-input,.memory-textarea){min-width:0;background:transparent;border:1px solid var(--document-field-line);border-radius:10px;color:var(--text);font:400 13px/1.75 var(--font-cn);box-shadow:none}
.memory-document-page .text-input{height:44px;padding:9px 12px}
.memory-document-page .memory-textarea{min-height:280px;padding:12px}
.memory-document-page .compact-textarea{min-height:92px;max-height:160px}
.memory-document-page .reference-content{margin:0;min-height:280px;max-height:65vh}
.memory-document-page .inject-row{min-height:44px;margin-top:12px;line-height:1.75;align-items:center}
.memory-document-page .inject-row input{width:17px;height:17px;flex:none;margin:0;accent-color:var(--seg-thumb)}
.memory-document-page .editor-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}
.memory-document-page .editor-actions>.save-hint{flex:1 1 190px}
.memory-document-page.cottage-button-scope .cottage-btn{min-height:44px;white-space:normal}
.memory-document-page.cottage-button-scope .topic-new-entry{width:100%;margin:4px 0 8px}
.memory-document-page :is(button,input,textarea,summary):focus-visible{outline:2px solid var(--text);outline-offset:3px}
.memory-document-page button:active{filter:brightness(.92)}
.memory-document-page button:disabled{cursor:default;opacity:.5}
.memory-document-page .reference-toolbar{border:0;border-radius:16px;background:var(--panel);box-shadow:none;padding:16px;margin-bottom:16px}
.memory-document-page .reference-toolbar-actions{flex-wrap:wrap}
.memory-document-page .reference-form{gap:0;margin-bottom:20px}
.memory-document-page .reference-form-head{padding-bottom:12px;border-bottom:1px solid var(--line)}
.memory-document-page .reference-form-actions{margin-top:16px;gap:12px}
.memory-document-page .reference-warning{padding:0 0 0 12px;background:transparent;border-left:2px solid var(--document-field-line);font-size:12px;line-height:1.75}
.memory-document-page .reference-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.memory-document-page .reference-stale-draft{background:transparent;border-color:var(--document-field-line)}
.memory-document-page .mini-search{padding:4px 0 8px}
.memory-document-page .mini-search input{border:0;border-radius:10px;background:var(--seg-track);font-size:13px;height:44px}
.memory-document-page .lexicon-originals{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:16px 0 0}
.memory-document-page .lexicon-originals summary{min-height:44px;line-height:1.75}
.memory-document-page .lexicon-originals .source-block{padding:12px 0;background:transparent}
.memory-document-page .source-block pre{background:transparent;padding:0;font-size:13px;line-height:1.75;color:var(--text)}
.memory-document-page .source-note{font-size:12px;line-height:1.75;color:var(--soft)}
.memory-document-page .empty-state{min-height:160px}
@media(max-width:1023px){
  .memory-document-page{margin-inline:6px}
  .memory-document-page :is(.fixed-layout,.reference-layout){grid-template-columns:minmax(0,1fr);gap:16px}
  #topicsView .topic-layout{display:block}
  .memory-document-page :is(.editor-card,.topic-detail,.reference-form){padding:16px}
  #topicsView[data-mobile-level="detail"] .topic-detail{padding:16px}
  .memory-document-page :is(.document-list,.reference-list){max-height:32dvh;overflow:auto}
  .memory-document-page .reference-toolbar{align-items:stretch;flex-direction:column;gap:12px}
  .memory-document-page .reference-toolbar-actions{display:flex}
  .memory-document-page .reference-toolbar-actions>.cottage-btn{flex:1}
  .memory-document-page .reference-form-actions{flex-direction:column;align-items:stretch}
  .memory-document-page .reference-actions>.cottage-btn{width:auto;flex:1}
  .memory-document-page :is(.text-input,.memory-textarea,.mini-search input){font-size:13px!important}
  .memory-document-page .memory-textarea{min-height:32dvh}
  .memory-document-page .compact-textarea{min-height:92px}
}
@media(pointer:coarse){
  .memory-document-page :is(.text-input,.memory-textarea,.mini-search input){font-size:16px!important}
}

/* Lexicon: compact two-column index and a quiet editable notebook. */
#topicsView .topic-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
#topicsView #topicList{display:none}
#topicsView .entry-column{padding:12px;border-color:color-mix(in srgb,var(--line) 72%,transparent);border-radius:16px;background:color-mix(in srgb,var(--panel) 86%,transparent);box-shadow:0 12px 38px color-mix(in srgb,var(--bg) 18%,transparent);max-height:75dvh}
#topicsView .lexicon-list-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}
#topicsView .mini-search{position:relative;display:block;flex:1;min-width:0;padding:0}
#topicsView .mini-search::before{content:"";position:absolute;z-index:1;left:11px;top:11px;width:9px;height:9px;border:1px solid var(--soft);border-radius:50%;pointer-events:none}
#topicsView .mini-search::after{content:"";position:absolute;z-index:1;left:20px;top:21px;width:5px;height:1px;border-radius:1px;background:var(--soft);transform:rotate(45deg);transform-origin:left center;pointer-events:none}
#topicsView .mini-search input{height:36px;width:100%;min-width:0;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:10px;background:color-mix(in srgb,var(--seg-track) 46%,transparent);padding:0 10px 0 32px;color:var(--text);font-size:13px}
#topicsView .mini-search input::placeholder{color:var(--soft);font-size:13px}
#topicsView .lexicon-list-toolbar .topic-new-entry{flex:none;width:auto;height:36px;min-height:36px;margin:0;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:10px;background:color-mix(in srgb,var(--seg-thumb) 74%,transparent);padding:0 12px;color:var(--text);box-shadow:none;font-size:13px;cursor:pointer}
#topicsView #topicEntryList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px;row-gap:10px;align-items:start}
#topicsView #topicEntryList>.empty-state{grid-column:1 / -1}
#topicsView .bento-card{position:relative;width:100%;min-width:0;min-height:72px;padding:10px;border:1px solid color-mix(in srgb,var(--soft) 32%,transparent);border-radius:12px;background:transparent;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease}
#topicsView .bento-card:hover{background:color-mix(in srgb,var(--accent-soft) 58%,transparent)}
#topicsView .bento-card.active{background:color-mix(in srgb,var(--accent-soft) 72%,transparent)}
#topicsView .bento-card.active::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;border-radius:2px;background:var(--soft);opacity:.72}
#topicsView .bento-card strong{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;color:var(--text);font-size:14px;font-weight:500;line-height:1.45}
#topicsView .bento-card-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#topicsView .lexicon-status-dot{display:block;flex:0 0 6px;width:6px;height:6px;border:1px solid var(--soft);border-radius:50%;background:transparent}
#topicsView .lexicon-status-dot.enabled{border-color:var(--inbox-highlight);background:var(--inbox-highlight)}
#topicsView .bento-triggers{display:flex;align-items:center;gap:4px;margin-top:5px}
#topicsView .bento-triggers:empty{display:none}
#topicsView .bento-trigger{display:block;flex:0 1 auto;min-width:0;max-width:100%;padding:1px 6px;border-radius:99px;background:color-mix(in srgb,var(--seg-track) 72%,transparent);color:var(--soft);font-size:11px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#topicsView .bento-trigger-more{flex:none;background:transparent;color:var(--soft)}
#topicsView .topic-detail{padding:22px 24px;max-height:none;overflow:visible;border-color:color-mix(in srgb,var(--line) 72%,transparent);border-radius:16px;background:color-mix(in srgb,var(--panel) 86%,transparent);box-shadow:0 12px 38px color-mix(in srgb,var(--bg) 18%,transparent)}
#topicsView .lexicon-entry-head{display:flex;align-items:center;gap:12px;padding:1px 1px 14px;border-bottom:1px solid color-mix(in srgb,var(--line) 74%,transparent)}
#topicsView .lexicon-title-input{display:block;flex:1;width:100%;min-width:0;height:30px;margin:0;border:0;border-radius:3px;background:transparent;padding:0;color:var(--text);font:500 14px/1.45 var(--font-cn)}
#topicsView .lexicon-title-input::placeholder{color:var(--soft);opacity:1}
#topicsView .lexicon-title-input:focus-visible{outline:0;box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--accent) 78%,transparent);background:color-mix(in srgb,var(--accent-soft) 22%,transparent)}
#topicsView .lexicon-recall-toggle{position:relative;display:flex;flex:none;align-items:center;gap:6px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:99px;background:color-mix(in srgb,var(--seg-track) 72%,transparent);padding:4px 9px;color:var(--soft);font-size:11.5px;cursor:pointer}
#topicsView .lexicon-recall-toggle::before{content:"";width:6px;height:6px;border:1px solid var(--soft);border-radius:50%;background:transparent}
#topicsView .lexicon-recall-toggle:has(input:checked)::before{border-color:var(--inbox-highlight);background:var(--inbox-highlight)}
#topicsView .lexicon-recall-toggle:focus-within{outline:2px solid var(--accent);outline-offset:3px}
#topicsView .lexicon-trigger-row{display:flex;align-items:baseline;gap:10px;padding:13px 1px;border-bottom:1px solid color-mix(in srgb,var(--line) 74%,transparent)}
#topicsView .lexicon-trigger-label{flex:none;color:var(--soft);font-size:11px}
#topicsView .lexicon-trigger-pool{display:flex;flex:1;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
#topicsView .lexicon-trigger-chips{display:contents}
#topicsView .lexicon-trigger-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;border-radius:99px;background:color-mix(in srgb,var(--seg-track) 72%,transparent);padding:2px 7px;color:var(--soft);font-size:11px;line-height:1.7}
#topicsView .lexicon-trigger-chip>span{min-width:0;overflow-wrap:anywhere}
#topicsView .lexicon-trigger-remove{flex:none;height:19px;min-height:0;border:0;border-radius:50%;background:transparent;padding:0 2px;color:var(--soft);font:14px/19px var(--font-cn);cursor:pointer}
#topicsView .lexicon-trigger-add{height:25px;min-height:0;border:1px dashed var(--soft);border-radius:99px;background:transparent;padding:0 9px;color:var(--soft);font-size:11px;cursor:pointer}
#topicsView .lexicon-trigger-input{width:132px;max-width:100%;height:27px;border:1px dashed var(--accent);border-radius:99px;background:transparent;padding:2px 9px;color:var(--text);font-size:12px}
#topicsView .lexicon-trigger-input::placeholder{color:var(--soft)}
#topicsView .lexicon-body-input{display:block;width:100%;min-height:110px;max-height:none;margin:18px 1px 0;border:0;border-radius:2px;background:transparent;padding:0 1px;color:var(--text);font:12.5px/1.6 var(--font-cn);letter-spacing:.01em;resize:none;overflow:hidden;overflow-wrap:anywhere;white-space:pre-wrap}
#topicsView .lexicon-body-input::placeholder{color:var(--soft)}
#topicsView .lexicon-body-input:placeholder-shown{height:88px!important;min-height:88px}
#topicsView .lexicon-body-input:focus-visible{outline:0;box-shadow:inset 2px 0 0 color-mix(in srgb,var(--accent) 70%,transparent);background:color-mix(in srgb,var(--accent-soft) 18%,transparent)}
#topicsView .topic-detail .editor-actions{align-items:flex-end;justify-content:flex-end;margin-top:20px}
#topicsView .topic-detail .editor-actions .primary-button{width:auto;padding:8px 16px;border:1px solid color-mix(in srgb,var(--line) 84%,transparent);border-radius:10px;background:color-mix(in srgb,var(--text) 90%,transparent);font-size:13px;box-shadow:none}
#topicsView .topic-detail .editor-danger{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
#topicsView .topic-detail .lexicon-originals{margin-top:17px;padding:8px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
#topicsView .topic-detail .lexicon-originals>summary{min-height:42px;display:flex;align-items:center;color:var(--soft);font-size:13px;cursor:pointer}
#topicsView .topic-detail .lexicon-originals .source-block{border-color:var(--line);background:transparent}
#topicsView .topic-detail .lexicon-originals .lexicon-source-caption{color:var(--soft);font-size:12px}
#topicsView .topic-detail .lexicon-originals .lexicon-source-caption span:last-child,
#topicsView .topic-detail .lexicon-originals .source-note{color:var(--soft)}
#topicsView .topic-detail .lexicon-originals .source-block pre{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);font:13px/1.75 var(--font-cn)}
#topicsView button:focus-visible,#topicsView input:focus-visible,#topicsView textarea:focus-visible,#topicsView summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;box-shadow:none}
#topicsView,#topicsView *{scrollbar-width:thin;scrollbar-color:var(--soft) var(--seg-track)}
#topicsView::-webkit-scrollbar,#topicsView *::-webkit-scrollbar{width:3px;height:3px}
#topicsView::-webkit-scrollbar-track,#topicsView *::-webkit-scrollbar-track{background:var(--seg-track)}
#topicsView::-webkit-scrollbar-thumb,#topicsView *::-webkit-scrollbar-thumb{background:var(--soft);border-radius:99px}
html:has(#topicsView:not([hidden])),body:has(#topicsView:not([hidden])){scrollbar-width:thin;scrollbar-color:var(--soft) var(--seg-track)}
html:has(#topicsView:not([hidden]))::-webkit-scrollbar,body:has(#topicsView:not([hidden]))::-webkit-scrollbar{width:3px;height:3px}
html:has(#topicsView:not([hidden]))::-webkit-scrollbar-track,body:has(#topicsView:not([hidden]))::-webkit-scrollbar-track{background:var(--seg-track)}
html:has(#topicsView:not([hidden]))::-webkit-scrollbar-thumb,body:has(#topicsView:not([hidden]))::-webkit-scrollbar-thumb{background:var(--soft);border-radius:99px}
@supports selector(::-webkit-scrollbar){
  #topicsView,#topicsView *,html:has(#topicsView:not([hidden])),body:has(#topicsView:not([hidden])){scrollbar-width:auto;scrollbar-color:auto}
}
@media(max-width:1023px){
  #topicsView .topic-layout{display:block}
  #topicsView .entry-column{padding:10px;max-height:none}
  #topicsView[data-mobile-level="entries"] .topic-column.entry-column{display:block}
  #topicsView[data-mobile-level="entries"] #topicMobileBack{display:none}
  #topicsView[data-mobile-level="detail"] .topic-detail{padding:17px;border-color:color-mix(in srgb,var(--line) 54%,transparent);background:color-mix(in srgb,var(--panel) 76%,transparent);box-shadow:none}
  #topicsView .lexicon-entry-head{gap:8px}
  #topicsView .lexicon-title-input{font-size:14px!important}
  #topicsView .lexicon-body-input{font-size:12.5px!important}
  #topicsView .lexicon-recall-toggle{margin-left:auto;min-height:28px}
  #topicsView[data-mobile-level="detail"] .topic-detail .editor-actions .primary-button{min-height:44px}
}
#topicsView .topic-detail .editor-actions .cottage-btn--save{width:100%;min-height:44px}

.library-create-toolbar{display:flex;justify-content:flex-end;margin:0 0 12px}
.library-create{width:100%;max-width:720px;padding:20px;margin:0 auto 20px;border:0;border-radius:16px;background:var(--panel);color:var(--text)}
.library-create[hidden]{display:none}
.library-create h3{font-size:19px;font-weight:400;margin:0 0 16px}
.library-create>label{display:grid;gap:7px;margin:16px 0;font-size:12px;color:var(--soft)}
.library-create textarea{width:100%;min-width:0;resize:vertical;padding:12px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--text);font:13px/1.75 var(--font-cn)}
.library-create .library-classification{margin:20px 0}
.library-create .library-classification>label{font-size:12px}
.library-create .library-classification select{height:38px;min-height:38px;font-size:13px}
.library-create-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}
.library-create-actions button{min-height:44px}
.library-create-actions button:first-child{margin-right:auto}
.library-create :is(input,select,textarea,button):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:700px){.library-create{padding:16px}.library-create .library-classification select{height:36px;min-height:36px;font-size:12.5px}}
@media(pointer:coarse){.library-create textarea,.library-create input.text-input{font-size:16px!important}}
