:root{font-family:Arial,'Noto Sans CJK JP','Yu Gothic',Meiryo,sans-serif;color:#27292b;background:#f6f5f5;font-size:14px;--left:17%;--top:41%;--line:#dedddd;--green:#00aa29}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}button:focus-visible,input:focus-visible,textarea:focus-visible,.splitter:focus-visible,tr:focus-visible{outline:2px solid #188451;outline-offset:-2px}button:hover{background:#e9e8e8}svg{width:17px;height:17px;stroke-width:1.5;flex-shrink:0}#app{height:100vh;height:100dvh;display:grid;grid-template-columns:minmax(190px,var(--left)) 5px minmax(0,1fr);overflow:hidden}#sidebar{padding:25px 12px 0 15px;display:flex;flex-direction:column;min-width:0;overflow:auto}.search{display:flex;align-items:center;gap:8px;background:#e9e8e8;border-radius:9px;height:41px;padding:0 11px}.search input{width:100%;min-width:0;border:0;background:none;outline:none;font-size:13px}.icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:5px;flex-shrink:0}.new{margin:10px 0 22px;background:var(--green);color:white;border-radius:22px;width:130px;height:40px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:bold}.new:hover{background:#009524}.nav-item,.section-label{display:flex;align-items:center;gap:10px;height:33px;padding:0 10px;width:100%;text-align:left}.nav-item small{color:#757b80;font-size:11px}.section-label{margin-top:25px;margin-bottom:7px;color:#484d50}.tree-row{height:32px;display:flex;align-items:center;gap:5px;border-radius:5px}.tree-row.selected{background:#e5e4e4}.tree-row:hover{background:#ecebeb}.tree-toggle{width:23px;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;height:30px}.tree-toggle svg{width:13px;height:13px}.tree-toggle.closed svg{transform:rotate(-90deg)}.tree-select{display:flex;align-items:center;gap:8px;min-width:0;text-align:left;flex:1;height:32px;padding:0 7px 0 0}.tree-select span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-select small{font-size:11px;color:#6f757b;margin-left:auto}.tree-select svg{width:15px;height:15px;color:#686969}.sidebar-footer{margin-top:auto;padding:25px 10px 15px;font-size:11px;color:#777;line-height:1.8}.sidebar-footer span{font-size:10px}.splitter{background:transparent;position:relative;z-index:2;touch-action:none}.splitter:hover,.splitter:focus{background:#a9c9b4}.vertical{cursor:col-resize;border-right:1px solid var(--line)}.horizontal{cursor:row-resize;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}#workspace{min-width:0;display:grid;grid-template-rows:minmax(170px,var(--top)) 5px minmax(180px,1fr);overflow:hidden}#listPane{display:flex;flex-direction:column;min-height:0;overflow:hidden}.list-header{height:108px;flex-shrink:0;display:flex;align-items:flex-start;padding:30px 22px 20px 8px;gap:10px}.list-header h1{font-size:22px;font-weight:600;margin:0;line-height:30px}.list-header #count{font-size:13px;color:#90959a;line-height:30px}#searchBadge{font-size:12px;color:#43815d;margin:auto 0 4px auto}.table-scroll{overflow:auto;flex:1}table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px}.title-col{width:42%}.date-col{width:10%}.location-col{width:15%}.tags-col{width:23%}th{font-weight:400;text-align:left;font-size:12px;height:34px;background:#f6f5f5;position:sticky;top:0;z-index:1;border-bottom:1px solid var(--line)}th+th::before{content:'';display:block;height:14px;position:absolute;left:0;top:10px;border-left:1px solid #e5e4e4}td,th{padding:0 12px}td:first-child,th:first-child{padding-left:24px}td{height:40px;border-bottom:1px solid #dadada;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}tbody tr{cursor:pointer}tbody tr:hover{background:#eaecea}tbody tr.selected{background:#e8eee9;box-shadow:inset 3px 0 #77a287}td:last-child{color:#7a8280;font-size:12px}#empty{padding:30px;color:#777}#editorPane{background:white;overflow:auto;min-height:0;border-radius:8px 0 0 0}.editor-toolbar{height:66px;display:flex;align-items:center;padding:0 24px 0 18px;gap:12px}#breadcrumbs{color:#757b7f;font-size:13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.edit{margin-left:auto;display:flex;align-items:center;gap:7px;border:1px solid #d8ddda;border-radius:5px;padding:7px 12px;flex-shrink:0}.note-status{display:flex;align-items:center;gap:12px;padding:6px 18px;font-size:12px;color:#72777b}#mode{background:#efefef;border-radius:6px;padding:6px 10px;color:#52595a}#saved{color:#228247}#paper{max-width:740px;margin:57px auto 50px;padding:0 20px}#noteTitle{font-size:28px;line-height:1.5;margin:0 0 9px;font-weight:600;overflow-wrap:anywhere}#noteBody{font-size:14px;line-height:2.15;white-space:pre-wrap;overflow-wrap:anywhere}#editForm label{display:block;color:#777;font-size:12px;margin:16px 0 6px}#editForm input,#editForm textarea{display:block;width:100%;border:1px solid #d9dfda;border-radius:5px;padding:10px;background:#fff}#titleInput{font-size:23px;font-weight:bold}#bodyInput{min-height:230px;line-height:1.9;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin:15px 0}.form-actions button{padding:8px 15px;border:1px solid #d9dfda;border-radius:5px}.form-actions .save{background:#138844;color:white;border-color:#138844}.mobile{display:none}[hidden]{display:none!important}@media(max-width:700px){#app{display:block}#sidebar,#workspace,#listPane,#editorPane{height:100%;width:100%}#workspace{display:block}.splitter{display:none}#sidebar{padding:20px 16px}.sidebar-footer{font-size:12px}.sidebar-footer span{font-size:11px}#app[data-pane=list] #sidebar,#app[data-pane=body] #sidebar,#app[data-pane=tree] #workspace,#app[data-pane=list] #editorPane,#app[data-pane=body] #listPane{display:none}.mobile{display:flex}.list-header{padding:18px 14px;height:82px;align-items:center}.list-header h1{font-size:19px}.title-col{width:67%}.date-col{width:33%}th:nth-child(n+3),td:nth-child(n+3){display:none}th,td{padding-left:16px}td{height:51px}.editor-toolbar{padding:0 15px;height:63px}.note-status{padding:0 18px;font-size:11px;gap:8px}#paper{margin:33px auto 30px;padding:0 22px}#noteTitle{font-size:25px}#noteBody{font-size:15px}#bodyInput{min-height:45vh}#searchBadge{display:none!important}}
/* Additive workflow controls; approved three-pane geometry is unchanged. */
select{font:inherit;color:inherit;max-width:100%;border:1px solid #d9dfda;border-radius:5px;padding:9px;background:white}#noteFolder{width:100%}.section-label #addFolder{margin-left:auto}.editor-toolbar #trashNote{margin-left:auto}.editor-toolbar #edit{margin-left:0}#storageStatus{line-height:1.6;margin-top:8px}#storageStatus.error,#saved.error,#folderError{color:#a52d22}#retrySave{border:1px solid #b3bab5;border-radius:4px;padding:5px;margin-top:5px}.autosave-hint{font-size:11px;color:#757b7f;align-self:center;margin-right:auto}dialog{border:1px solid #d9dfda;border-radius:10px;padding:24px;max-width:calc(100vw - 32px);width:420px;box-shadow:0 12px 50px #0003}dialog::backdrop{background:#0004}dialog h2{margin-top:0;font-size:19px}dialog label{display:block;margin:16px 0 7px;color:#666;font-size:12px}dialog input,dialog select{width:100%;padding:9px;border:1px solid #d9dfda;border-radius:5px}#folderError{font-size:12px}.sidebar-footer{padding-top:14px}#saved{overflow-wrap:anywhere}.note-status{flex-wrap:wrap}#manageFolder{margin-left:auto}#trashNotes{margin-top:2px}

.demo-notice{font-size:11px;color:#8c5727;margin:8px 18px 0;line-height:1.5}

/* Multi-selection controls stay inside the existing top table pane. */
.list-header{height:68px;padding-bottom:12px}#selectionBar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:0 16px 10px 24px;font-size:11px;color:#68736c;flex-shrink:0}#selectionCount{white-space:nowrap;color:#347348}#selectionActions{display:flex;gap:5px;align-items:center;margin-left:auto;flex-wrap:wrap}#selectionActions select{padding:4px;max-width:170px;font-size:11px}#selectionActions button{padding:5px 7px;border:1px solid #d5dcd7;border-radius:4px;font-size:11px}#selectionMessage{padding:30px 24px;color:#6b756f;font-size:14px;line-height:1.8}#notes{user-select:none;-webkit-user-select:none}@media(max-width:700px){#selectionBar{padding-left:16px}.selection-hint{display:none}#selectionActions{margin-left:0}.list-header{height:70px}}

.clip-entry{margin:0 16px 12px;padding:8px 12px;border:1px solid #bfd2d1;border-radius:6px;background:#fff;color:#326e71;cursor:pointer}#clipDialog{max-width:520px;width:calc(100% - 40px)}#clipDialog button{margin:12px 6px 0 0;padding:8px 12px}#clipFile{display:block;max-width:100%}#clipError{color:#95412e}#clipInfo{font-size:12px;overflow-wrap:anywhere;border-bottom:1px solid #e0e8e6;margin-bottom:16px;padding-bottom:12px}#clipInfo p{margin:0 0 5px}#clipInfo a{color:#286f75}#noteBody.clip-article{white-space:normal}#noteBody.clip-article p{margin:0 0 1em}#noteBody.clip-article table{display:block;overflow:auto}#clipImages figure{margin:20px 0;padding:12px;background:#f3f7f6;border-radius:6px}#clipImages img{max-width:100%;max-height:600px;object-fit:contain}#clipImages figcaption{font-size:13px;margin:7px 0}#clipImages small{display:block;overflow-wrap:anywhere;color:#64777b}

#richToolbar{display:flex;flex-wrap:wrap;gap:4px;padding:6px;border:1px solid #d9dfda;border-bottom:0;border-radius:5px 5px 0 0}#richToolbar button{border:1px solid #e1e5e2;border-radius:4px;padding:6px 9px;font-size:12px}#richInput{border:1px solid #d9dfda;border-radius:0 0 5px 5px;padding:12px;min-height:230px;overflow-wrap:anywhere;line-height:1.9}#richInput:focus-visible{outline:2px solid #188451}#richInput img{max-width:100%;height:auto}#richInput table{table-layout:auto}#richHint{font-size:11px;color:#717774;line-height:1.7}#richError{color:#a02b25;font-size:12px}#richInput a,#noteBody a{color:#167244;text-decoration:underline}#richInput pre{white-space:pre-wrap}

#noteBody.clip-article img{max-width:100%;height:auto}

#richInput img[data-image-selected],#clipImages figure[data-image-selected]{outline:3px solid #188451;outline-offset:3px}
#richInput[contenteditable=true] img{cursor:pointer}
#richToolbar button:disabled{opacity:.45;cursor:default}
#imageSelectionStatus{font-size:12px;color:#167244;margin:6px 0;min-height:1em}
.clip-image-delete{display:block;margin-top:8px;padding:6px 10px;border:1px solid #d9c6c2;border-radius:4px;color:#963b30;background:#fff}
#clipImages figure:focus-visible{outline:2px solid #188451;outline-offset:3px}

#trashActions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 18px;border-bottom:1px solid #e8e8e8;font-size:12px;color:#666}#trashActions[hidden]{display:none}#trashActions button,.danger{color:#a12c29;border:1px solid #d9aaa7;background:#fff8f7;border-radius:5px;padding:7px 10px}#emptyTrashDialog{max-width:480px}#emptyTrashDialog p{line-height:1.7}#emptyTrashError{color:#a12c29}#trashResult{font-size:12px;padding:0 18px;color:#425f46}
/* ProseMirror shares the approved editor pane; no layout replacement. */
.ProseMirror {white-space:pre-wrap;word-wrap:break-word;outline:none;}
.ProseMirror-selectednode {outline:2px solid #4b8976;}
.ProseMirror p {margin:0 0 .75em;}
#bootStatus {position:fixed;z-index:100;left:20px;right:20px;top:12px;padding:14px;background:#fff8dc;border:1px solid #c7b77e;}
.ProseMirror {
  position: relative;
}

.ProseMirror {
  word-wrap: break-word;
  white-space: pre-wrap;
  white-space: break-spaces;
  -webkit-font-variant-ligatures: none;
  font-variant-ligatures: none;
  font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */
}

.ProseMirror pre {
  white-space: pre-wrap;
}

.ProseMirror li {
  position: relative;
}

.ProseMirror-hideselection *::selection { background: transparent; }
.ProseMirror-hideselection *::-moz-selection { background: transparent; }
.ProseMirror-hideselection { caret-color: transparent; }

/* See https://code.haverbeke.berlin/prosemirror/prosemirror/issues/1421#issuecomment-1759320191 */
.ProseMirror [draggable][contenteditable=false] { user-select: text }

.ProseMirror-selectednode {
  outline: 2px solid #8cf;
}

/* Make sure li selections wrap around markers */

li.ProseMirror-selectednode {
  outline: none;
}

li.ProseMirror-selectednode:after {
  content: "";
  position: absolute;
  left: -32px;
  right: -2px; top: -2px; bottom: -2px;
  border: 2px solid #8cf;
  pointer-events: none;
}

/* Protect against generic img rules */

img.ProseMirror-separator {
  display: inline !important;
  border: none !important;
  margin: 0 !important;
}

#vaultBanner{min-height:44px;padding:9px 16px;background:#fff2d2;font-size:12px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}#status{padding:5px 16px;font-size:12px;min-height:28px}#app{height:calc(100vh - 84px)}.card{max-width:650px;margin:4vh auto;padding:25px;background:white;border:1px solid #dce2dd;border-radius:10px}.card p{line-height:1.7}.card button{padding:9px;margin:6px 4px}.card input[type=file]{display:block;max-width:100%;margin:10px 0}.card h2{font-size:21px}#shield{position:fixed;inset:0;background:#f6f7f8;z-index:99999;display:grid;place-content:center;text-align:center}#shield[hidden],[hidden]{display:none!important}
#gate{max-width:640px;margin:24px auto;padding:24px}#gate label{display:block;margin:14px 0 6px}#gate input[type=password]{display:block;width:100%;max-width:400px;padding:10px;box-sizing:border-box}#gate button{margin:12px 8px 8px 0}#gate details{margin-top:20px}#gate p{line-height:1.7}#gate input[type=checkbox]{margin-right:8px}

/* Modal dialogs live in the top layer; shield them as well while suspended. */
body[data-vault-concealed] dialog{display:none!important}

/* Missing clip images remain small even inside a linked heading. */
.clip-article [data-clip-unavailable], .ProseMirror [data-clip-unavailable]{display:inline-block;max-width:100%;font-size:12px;font-weight:400;font-style:normal;line-height:1.5;color:#66736b;text-decoration:none;vertical-align:baseline;margin-right:.4em;overflow-wrap:anywhere}

/* Canonical clip structure only; no source-page CSS or resource URLs. */
.clip-article figure, .ProseMirror figure{max-width:100%;margin:1em 0;break-inside:avoid}
.clip-article figcaption, .ProseMirror figcaption{font-size:.9em;line-height:1.65;margin:.35em 0 .8em}
.clip-article [data-clip-layout=gallery], .ProseMirror [data-clip-layout=gallery]{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1em;margin:1em 0}
.clip-article [data-clip-layout=gallery]>figure, .ProseMirror [data-clip-layout=gallery]>figure{flex:0 1 260px;min-width:0;max-width:100%;margin:0}
.clip-article [data-clip-layout=gallery] figcaption, .ProseMirror [data-clip-layout=gallery] figcaption{max-width:100%}

/* Article clips share one reading rhythm in view/edit mode. The app owns this
   marker; it is never imported from the source or stored in a note. */
#paper.web-clip{max-width:46rem}
#paper.web-clip :is(#noteBody,#richInput){font-size:15px;line-height:1.85;min-width:0;overflow-wrap:anywhere}
#paper.web-clip :is(#noteBody,#richInput) :is(div,section,article){min-width:0;max-width:100%}
#paper.web-clip :is(#noteBody,#richInput) p{margin:0 0 .9em}
#paper.web-clip :is(#noteBody,#richInput) :is(h1,h2,h3,h4,h5,h6){line-height:1.45;margin:1.65em 0 .65em;font-weight:600;overflow-wrap:anywhere}
#paper.web-clip :is(#noteBody,#richInput) h1{font-size:1.6em}
#paper.web-clip :is(#noteBody,#richInput) h2{font-size:1.3em}
#paper.web-clip :is(#noteBody,#richInput) h3{font-size:1.15em}
#paper.web-clip :is(#noteBody,#richInput) :is(h4,h5,h6){font-size:1em}
#paper.web-clip :is(#noteBody,#richInput)>:is(h1,h2,h3,h4,h5,h6):first-child{margin-top:.35em}
#paper.web-clip :is(#noteBody,#richInput) :is(ul,ol){margin:.6em 0 1.1em;padding-left:1.6em}
#paper.web-clip :is(#noteBody,#richInput) li+li{margin-top:.25em}
#paper.web-clip :is(#noteBody,#richInput) li :is(p,ul,ol){margin-top:.3em;margin-bottom:.3em}
#paper.web-clip :is(#noteBody,#richInput) blockquote{margin:1em 0;padding-left:1em;border-left:3px solid #dce4df}
#paper.web-clip :is(#noteBody,#richInput) :is(pre,table){max-width:100%;overflow-x:auto}
#paper.web-clip :is(#noteBody,#richInput) pre{white-space:pre-wrap}
#paper.web-clip :is(#noteBody,#richInput) hr{border:0;border-top:1px solid #dce4df;margin:1.5em 0}

/* A photo and its caption form one unit. Preserve safe numeric image widths,
   shrink only to the available space, and keep gallery captions compact.
   Avoid min-content sizing: percentage max-width on an image is cyclic there. */
#paper.web-clip :is(#noteBody,#richInput) figure{width:fit-content;max-width:100%;margin:1.15em 0 1.35em;break-inside:avoid}
#paper.web-clip :is(#noteBody,#richInput) figure>p:first-child{margin:0}
#paper.web-clip :is(#noteBody,#richInput) figure img:not(.ProseMirror-separator){display:block;max-width:100%;height:auto}
#paper.web-clip :is(#noteBody,#richInput) figcaption{font-size:13px;line-height:1.65;color:#535e58;margin:.45em 0 0;max-width:100%;overflow-wrap:anywhere}
#paper.web-clip :is(#noteBody,#richInput) [data-clip-layout=gallery]{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1.2em 1.6em;margin:1em 0 1.5em;max-width:100%}
#paper.web-clip :is(#noteBody,#richInput) [data-clip-layout=gallery]>figure{flex:0 1 auto;min-width:0;max-width:100%;margin:0}
#paper.web-clip :is(#noteBody,#richInput) [data-clip-layout=gallery] figcaption{max-width:min(24ch,100%)}
#paper.web-clip :is(#noteBody,#richInput) :is(h1,h2,h3,h4,h5,h6) img:not(.ProseMirror-separator){display:inline-block;width:auto;max-width:2rem;max-height:2rem;height:auto;vertical-align:middle;margin-right:.35em}

/* Section boundaries are presentation only. Frame existing single-h2 content
   groups, never synthesize wrappers or box individual paragraphs. Flat clips
   and h3 subsections keep a light heading divider instead. Exclude containers
   that hold several sections so the entire article is not framed again. */
#paper.web-clip :is(#noteBody,#richInput) p{margin-bottom:1.05em}
#paper.web-clip :is(#noteBody,#richInput) :is(h2,h3){padding-bottom:.4em;border-bottom:1px solid #dce5f1}
#paper.web-clip :is(#noteBody,#richInput) h3{border-bottom-color:#e4eaf2}
#paper.web-clip :is(#noteBody,#richInput) :is(div,section,article):has(>h2~:is(p,div,section,article,ul,ol,figure,table,blockquote,pre)):not(:has(>h2~h2)):not(:has(> * h2)){border:1px solid #bdcfee;border-radius:9px;background:#fbfcfe;padding:14px clamp(12px,3vw,18px);margin:1.2em 0 1.6em}
#paper.web-clip :is(#noteBody,#richInput) :is(div,section,article):has(>h2~:is(p,div,section,article,ul,ol,figure,table,blockquote,pre)):not(:has(>h2~h2)):not(:has(> * h2))>h2{margin-top:0;padding-bottom:.4em}
/* Keep list prose and editor-added photo paragraphs compact. */
#paper.web-clip :is(#noteBody,#richInput) li p{margin-bottom:.3em}
#paper.web-clip :is(#noteBody,#richInput) figure>p:first-child{margin:0}

/* Manual URL saving adds controls without changing desktop pane geometry. */
.url-entry{min-height:44px;margin-bottom:8px;font-weight:600}
#urlDialog{width:460px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
#urlDialog p{line-height:1.65;overflow-wrap:anywhere}
#urlDialog input,#urlDialog select{font-size:16px;min-height:44px}
#urlDialog input[aria-invalid=true]{border-color:#a12c29}
#urlDialog input:focus-visible,#urlDialog select:focus-visible{outline:2px solid #188451;outline-offset:1px}
#urlTitleHint{display:block;color:#68736c;margin-top:6px}
#urlError{color:#a12c29;margin-bottom:0}
#urlProgress{color:#425f46;margin-bottom:0}
#urlDialog .form-actions{flex-wrap:wrap;margin-bottom:0}
#urlDialog .form-actions button{min-height:44px;min-width:88px}
#urlDialog button:disabled{opacity:.6;cursor:default}
@media(max-width:700px){
 .url-entry-mobile{margin-left:auto;min-height:44px;padding:8px 10px;border:1px solid #bfd2d1;border-radius:6px;background:white;color:#326e71;white-space:nowrap;font-size:13px;flex-shrink:0;align-items:center;justify-content:center}
 .list-header h1{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
 #urlDialog{padding:20px}
}

@import url('./accepted-style.css');
/* Rarely used local recovery stays a compact, native keyboard disclosure. */
.legacy-copy-recovery.card{margin:12px auto;padding:0;overflow-wrap:anywhere}
.legacy-copy-recovery>summary{min-height:44px;padding:12px 16px;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer}
.legacy-copy-recovery>summary:focus-visible{outline:2px solid #188451;outline-offset:2px;border-radius:8px}
.legacy-copy-recovery-content{padding:0 16px 16px}
.legacy-copy-recovery-content button{min-height:44px;max-width:100%;white-space:normal}
.legacy-copy-recovery-content ul{padding-left:20px}.legacy-copy-recovery-content li{margin:8px 0}
/* Application build remains readable in the gate, every pane and detached copies. */
.app-version{display:block;max-width:100%;font-size:12px;line-height:1.5;font-weight:400;color:#42594a;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
#vaultBanner .app-version{flex:0 1 auto}
/* Additions only: accepted sidebar / list / editor geometry stays intact. */
#syncControls{padding:4px 16px;font-size:12px;background:#eff3ef}#syncControls p{margin:8px 0}#syncControls button,#vaultBanner button{border:1px solid #bbcbbf;border-radius:5px;padding:5px 9px;background:#fff}#syncStatus{font-size:12px;padding:5px 16px;background:#e9f2eb}#status{min-height:22px}#app{height:calc(100dvh - 130px);min-height:350px}.search-option{display:flex;align-items:center;font-size:11px;margin:7px 0;gap:5px}.search-option input{margin:0}#searchProgress{font-size:12px;padding:3px 24px;color:#55745e}#cancelSearch{font-size:12px;align-self:flex-start;margin:2px 18px;padding:5px;border:1px solid #bbb;border-radius:4px}#loadMore{margin:15px 24px;padding:9px 18px;border:1px solid #b9c8bd;border-radius:5px;background:white}#storageStatus.error,#saved.error,#richError{color:#a12c29}#exportDraft{margin-top:8px;padding:5px;border:1px solid #b3bab5;border-radius:4px}#quotaStatus{font-variant-numeric:tabular-nums}.lazy-image{display:inline-block;padding:14px;margin:8px 0;border:1px solid #cddcd0;background:#f4f8f5;max-width:100%;border-radius:5px}.lazy-image img{max-width:100%;height:auto}.lazy-image[aria-busy=true]{opacity:.7}#noteBody figure{margin:16px 0}#noteBody figcaption{color:#627668;font-size:12px}#noteBody img{max-width:100%;height:auto}.conflict-label{color:#94641b}#backupDialog button{border:1px solid #bdc7c0;border-radius:5px;padding:8px;margin:8px 4px 0 0}button:disabled{opacity:.5;cursor:default}#gateMessage{color:#8b4b27}#richHint{font-size:11px}.tree-row[data-depth="1"]{padding-left:16px}.tree-row[data-depth="2"]{padding-left:32px}#backupProgress{white-space:pre-wrap;overflow-wrap:anywhere}body[data-vault-concealed] #notebookHost{visibility:hidden}#notes tr:focus-visible{outline:2px solid #188451}#noteTitle{white-space:pre-wrap}@media(max-width:700px){#app{height:calc(100dvh - 154px)}#vaultBanner{gap:5px;padding:7px 12px}#vaultBanner span{flex-basis:100%;font-size:10px}#searchProgress{padding-left:16px}#paper{margin-top:24px}.list-header h1{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}

/* Reclaim is an explicit dialog action; it never changes the accepted panes. */
#openReclaim{display:block;margin-top:10px;border:1px solid #a9b9ad;border-radius:5px;padding:7px 9px;background:#fff;color:#274e35;font-size:12px}
#reclaimAvailability{margin:6px 0;font-size:11px;line-height:1.5;color:#53655a}
#reclaimDialog{width:min(620px,calc(100vw - 32px));max-height:85dvh;overflow:auto;box-sizing:border-box}
#reclaimDialog p{line-height:1.65}#reclaimDialog button{border:1px solid #bdc7c0;border-radius:5px;padding:8px;margin:4px 0}
#reclaimDialog h3{margin-bottom:6px}#reclaimAmount{font-size:23px;font-weight:700;margin:4px 0;font-variant-numeric:tabular-nums}
#reclaimPlanDetails{font-size:12px;display:grid;grid-template-columns:7em minmax(0,1fr);gap:7px}#reclaimPlanDetails dd{margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
#reclaimConfirmation{border:1px solid #c89870;border-radius:6px;padding:12px;background:#fff9ee}.reclaim-confirm-label{display:flex!important;align-items:flex-start;gap:9px;line-height:1.6}.reclaim-confirm-label input{width:auto!important;margin:5px 0 0!important;flex:0 0 auto}
#reclaimWarning{font-weight:600}#reclaimError{color:#8e2824}#reclaimDialog .form-actions{display:flex;gap:8px;flex-wrap:wrap}#executeReclaim,#resumeReclaim{background:#8f342b;color:#fff}#reclaimExecution{background:#eef3ef;border-radius:5px;padding:10px}
.reclaim-confirm-label span{overflow-wrap:anywhere}
#reclaimAmount.error{color:#8e2824}#reclaimAccountingScope{font-size:12px;color:#53655a}

/* Trash actions stay in the existing list/editor panes. */
#trashActions{padding:8px 24px;background:#faf5f1;border-bottom:1px solid #e3d8cf;font-size:12px}#trashActions[hidden]{display:none}#trashActions p{margin:6px 0 0;color:#6a5b51}#trashActions button{margin:3px;border:1px solid #bfaea2;border-radius:5px;background:white;padding:6px 8px;font-size:12px}#trashSelectionCount{display:inline-block;margin-right:6px}#emptyTrash,#deleteSelectedTrash,#deleteCurrentTrash{color:#8b3027}#trashRemovalDialog{width:min(620px,calc(100vw - 32px));max-height:85dvh;overflow:auto;box-sizing:border-box}#trashRemovalDialog p{line-height:1.65}#trashRemovalDialog button{border:1px solid #bdaea6;border-radius:5px;padding:8px;margin:4px 0}#trashRemovalNames{max-height:30dvh;overflow:auto;padding-left:26px}#trashRemovalNames li{padding:5px 0;overflow-wrap:anywhere}#trashRemovalNames small{display:block;font-size:11px;color:#69615c}#trashRemovalCount{font-size:17px}#trashRemovalPage{font-size:12px}#trashRemovalConfirmation{border:1px solid #bc8a74;border-radius:6px;padding:12px;background:#fff5ed}.trash-confirm-label{display:flex!important;align-items:flex-start;gap:9px;line-height:1.6}.trash-confirm-label input{width:auto!important;margin:5px 0 0!important;flex:0 0 auto}#trashRemovalWarning{font-weight:600}#trashRemovalError{color:#8e2824}#trashRemovalResult{background:#eef3ef;border-radius:5px;padding:10px}#trashRemovalDialog .form-actions{display:flex;gap:8px;flex-wrap:wrap}#executeTrashRemoval{background:#8f342b;color:white}@media(max-width:700px){#trashActions{padding:6px 12px}.editor-toolbar{flex-wrap:wrap}#deleteCurrentTrash{font-size:11px}}
/* Explicit edit decisions remain reachable in narrow and short viewports. */
#editForm .form-actions,#leaveDialog .form-actions{flex-wrap:wrap}
#editForm .form-actions button,#leaveDialog .form-actions button{min-height:44px;min-width:88px}
#leaveDialog{width:min(560px,calc(100vw - 32px));max-height:85dvh;overflow:auto;box-sizing:border-box}
#leaveError{color:#a12c29}

/* Sorting changes only the list. The editor and selected note remain intact. */
.sort-header{display:flex;align-items:center;gap:5px;width:100%;min-height:36px;padding:0;background:transparent;border:0;font:inherit;text-align:left;white-space:nowrap}
.sort-arrow{font-size:12px;color:#53705c;flex-shrink:0}th[aria-sort=ascending],th[aria-sort=descending]{color:#166c3a;font-weight:600}
.sort-header:focus-visible,#listPages button:focus-visible{outline:2px solid #188451;outline-offset:2px}
#searchProgress:empty{display:none}
#searchRecognitionHelp{display:block;margin:0 0 9px;font-size:11px;line-height:1.5;color:#53655a}
#listPages{display:flex;align-items:center;gap:12px;justify-content:center;flex-wrap:wrap;padding:12px;font-size:12px}#listPages button{margin:0;padding:8px 12px;min-height:40px;border:1px solid #b9c8bd;border-radius:5px;background:white}#pagePosition{font-variant-numeric:tabular-nums}
/* Every sortable column remains reachable on phones through the table scroller. */
@media(max-width:700px){.sort-header,#listPages button{min-height:44px}.list-header #count{font-size:11px;white-space:nowrap}.list-header h1{min-width:0}#listPane .table-scroll{width:100%;min-width:0;max-width:100%;overflow-x:auto}#listPane table{min-width:760px}#listPane .title-col{width:40%}#listPane .date-col,#listPane .location-col,#listPane .tags-col{width:15%}#listPane th:nth-child(n+3),#listPane td:nth-child(n+3){display:table-cell}}

/* Persistent operation feedback is separate from background sync messages. */
#deletionNotice{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 16px;background:#e4f1e7;border-block:1px solid #b9d5c0;color:#16492b;font-size:13px}
#deletionMessage{overflow-wrap:anywhere}#undoDelete{min-height:40px;padding:6px 12px;background:white;border:1px solid #438259;border-radius:5px;color:#155a2b;white-space:nowrap}
#sidebar .nav-item.selected,#sidebar .tree-row.selected,#sidebar .tree-row.selected:hover{background:#dcefe1;color:#125e2d;box-shadow:inset 4px 0 #218443;font-weight:700}
#sidebar .tree-row.selected .tree-select{background:transparent}#sidebar .tree-select{padding-left:8px}
/* Runtime notebook labels are direct button text, not the spans styled by the
   accepted layout. Clip that text within its existing 32px row; keep the full
   name in the button title and accessible label. Indentation/click area stay. */
#sidebar #tree .tree-select{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#notes tr.selected,#notes tr.selected:hover{background:#dcefe1;box-shadow:inset 4px 0 #218443}#notes tr:hover:not(.selected){background:#eff1ef}
#undoDelete:focus-visible{outline:2px solid #188451;outline-offset:2px}
@media(max-width:700px){#deletionNotice{padding:7px 12px}#undoDelete{min-height:44px}}

/* Page-local multi-selection is distinct from the retained open preview. */
#listSelectionInfo{padding:5px 24px;display:flex;gap:6px 12px;flex-wrap:wrap;font-size:11px;color:#52645a}
#listSelectionCount{font-weight:600;font-variant-numeric:tabular-nums}#singleSelectionHint{flex-basis:100%;color:#805221}
#notes tr{-webkit-user-select:none;user-select:none}#notes tr.active-preview td:first-child{font-weight:600}
#notes tr:focus-visible{outline:2px solid #188451;outline-offset:-2px}
@media(max-width:700px){#listSelectionInfo{padding:5px 16px}}

#trashSelectedNotes{min-height:44px;padding:6px 12px;background:#fff;border:1px solid #b5c4bb;border-radius:5px;color:#5b2424}#trashSelectedNotes:focus-visible{outline:2px solid #188451;outline-offset:2px}

/* Local backup credentials remain readable and usable on narrow screens. */
#detachedBackupRecovery{overflow-wrap:anywhere}#detachedBackupRecovery label{display:block;margin:12px 0 6px}#detachedBackupRecovery input[type=password],#detachedBackupRecovery textarea{display:block;width:100%;padding:10px;border:1px solid #bccbbf;border-radius:5px;background:white}#detachedBackupRecovery button{border:1px solid #bccbbf;border-radius:5px;min-height:44px}#detachedCopies{padding-left:20px}#detachedCopies li{margin:12px 0}#detachedStatus{min-height:24px}@media(max-width:700px){#detachedBackupRecovery{margin:16px 10px;padding:18px}#detachedBackupRecovery button{max-width:100%;text-align:left}}

/* Note tables retain every saved column in phone view and rich editing. */
@media(max-width:700px){#noteBody th:nth-child(n+3),#noteBody td:nth-child(n+3),#richInput th:nth-child(n+3),#richInput td:nth-child(n+3){display:table-cell}}

/* Folder-conflict review is isolated from the retained note editor. */
#folderConflictNotice{padding:10px 16px;background:#fff5df;border-block:1px solid #dbc391;font-size:13px}#folderConflictNotice[hidden]{display:none}#folderConflictMessage{margin:0 0 8px;line-height:1.6}#folderConflictNotice button{min-height:44px;padding:7px 11px;margin:3px 8px 3px 0;border:1px solid #b19969;border-radius:5px;background:#fff;color:#59451c}#folderRecoveryLinks{display:flex;flex-wrap:wrap;gap:6px}#folderRecoveryLinks[hidden]{display:none}
#folderRecoveryDialog{width:min(720px,calc(100vw - 32px));max-height:85dvh;overflow:auto;box-sizing:border-box}#folderRecoveryDialog p{line-height:1.65}#folderRecoveryDialog button{min-height:44px;padding:8px 12px;border:1px solid #aabdaf;border-radius:5px;white-space:normal}#folderRecoveryDialog .form-actions{display:flex;gap:8px;flex-wrap:wrap}#folderRecoveryRows{display:grid;gap:12px;margin:12px 0}.folder-recovery-row{min-width:0;border:1px solid #c8d4cb;border-radius:6px;padding:12px}.folder-recovery-row legend{font-weight:600}.folder-recovery-id{display:block;overflow-wrap:anywhere;color:#617068}.folder-recovery-choice{display:block;font-size:12px;margin:6px 0;color:#805221}.folder-recovery-row label{display:block;margin:10px 0 4px}.folder-recovery-row input,.folder-recovery-row textarea,.folder-recovery-row select{width:100%;min-width:0;min-height:44px;box-sizing:border-box}.folder-recovery-row textarea{font:inherit;padding:8px;border:1px solid #bccbbf;border-radius:5px;resize:vertical;overflow-wrap:anywhere}.folder-recovery-confirm{display:flex!important;align-items:flex-start;gap:9px;padding:12px;background:#edf5ee;border:1px solid #b4c9b9;border-radius:6px;line-height:1.6}.folder-recovery-confirm input{width:auto!important;margin:5px 0 0!important;flex:0 0 auto}#folderRecoveryError{color:#a12c29}#confirmFolderRecovery{background:#246b3d;color:white}#folderRecoveryDialog :focus-visible{outline:2px solid #188451;outline-offset:2px}@media(max-width:700px){#folderConflictNotice{padding:8px 12px}#folderRecoveryDialog{padding:16px}#folderRecoveryDialog .form-actions button{flex:1 1 150px}}

/* ENEX review and safe explicit attachment downloads. */
#enexDialog{width:min(720px,94vw);max-height:85dvh;overflow:auto}#enexDialog .form-actions{display:flex;flex-wrap:wrap;gap:8px}#enexDialog button{min-height:44px}#enexDialog select,#enexDialog input[type=file]{max-width:100%;width:100%}#enexNotes,#enexWarnings{max-height:13rem;overflow:auto;overflow-wrap:anywhere}#enexDialog .enex-confirm{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:12px;min-height:44px;max-width:100%;padding:10px 0;line-height:1.65}#enexDialog .enex-confirm input[type=checkbox]{width:24px;height:24px;min-width:24px;max-width:24px;margin:0;padding:0;justify-self:start;align-self:start}#enexDialog .enex-confirm span{min-width:0;white-space:normal;overflow-wrap:anywhere}#enexDialog .enex-confirm input[type=checkbox]:focus-visible{outline:2px solid #188451;outline-offset:3px}.note-attachments{border-top:1px solid #ddd;margin-top:20px;padding-top:12px;overflow-wrap:anywhere}.note-attachments ul{padding-left:20px}.note-attachments li{margin:8px 0}.note-attachments button{max-width:100%;white-space:normal;min-height:44px}.attachment-status{display:block}.enex-entry-mobile{font-size:12px;min-height:44px}@media(max-width:700px){.list-header{flex-wrap:wrap}.enex-entry-mobile{margin-left:auto}#enexDialog{max-height:85dvh}}

/* Scoped PDF canvas controls, including the narrow note pane on phones. */
.pdf-attachment{margin:.65rem 0;max-width:100%;min-width:0;white-space:normal}
.pdf-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0}
.pdf-attachment button{min-height:44px;white-space:normal}
.pdf-counter{font-variant-numeric:tabular-nums}
.pdf-panel{max-width:100%;overflow:auto;padding:.5rem;border:1px solid #d5dcd5;border-radius:6px}
.pdf-panel[hidden],.pdf-canvas[hidden]{display:none!important}
.pdf-canvas{display:block;width:auto;height:auto;max-width:100%;margin:.5rem auto;background:#fff}
.pdf-status{white-space:normal}
.pdf-panel>small{display:block;white-space:normal;line-height:1.5}

#pendingEditRecoveryNotice{padding:10px 16px;background:#fff5df;border-block:1px solid #dbc391;font-size:13px}#pendingEditRecoveryNotice[hidden],#pendingEditRecoveryLinks[hidden]{display:none}#pendingEditRecoveryNotice button{min-height:44px;margin:3px 8px 3px 0}#pendingEditRecoveryLinks{display:flex;flex-wrap:wrap;gap:6px}#pendingEditRecoveryDialog{width:min(720px,calc(100vw - 32px));max-height:85dvh;overflow:auto;box-sizing:border-box}#pendingEditRecoveryDialog p{line-height:1.65}#pendingEditRecoveryDialog button{min-height:44px;padding:8px 12px;white-space:normal}#pendingEditRecoveryDialog .form-actions{display:flex;gap:8px;flex-wrap:wrap}.pending-edit-recovery-row{min-width:0;border:1px solid #c8d4cb;border-radius:6px;padding:12px;margin:12px 0;overflow-wrap:anywhere}.pending-edit-recovery-body{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto;background:#f4f7f4;padding:10px}#pendingEditRecoveryError{color:#a12c29}#confirmPendingEditRecovery{background:#246b3d;color:white}#pendingEditRecoveryDialog :focus-visible{outline:2px solid #188451;outline-offset:2px}@media(max-width:700px){#pendingEditRecoveryDialog{padding:16px}#pendingEditRecoveryDialog .form-actions button{flex:1 1 150px}}

/* URL-only share intake. Incoming payload remains memory-only until Save. */
#sharedURLNotice{padding:10px 16px;background:#edf6f2;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
#sharedURLNotice button{min-height:44px;margin:4px 6px;padding:6px 12px}

.direct-attachments{margin:1rem 0;padding:1rem;border:1px solid #ccc;border-radius:8px}.direct-attachments input{max-width:100%;box-sizing:border-box}.direct-attachments li{overflow-wrap:anywhere;margin:.5rem 0}.direct-attachments li button{min-height:44px;margin-left:.5rem}#attachmentHint{font-size:.85rem;line-height:1.6}#attachmentError{color:#a32424}

/* Only original attachment downloads use familiar link styling. Native button semantics remain. */
.note-attachments .attachment-download{color:#1558b0;text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px;overflow-wrap:anywhere}
.note-attachments .attachment-download:hover:not(:disabled){color:#103f80;background:#edf4ff;text-decoration-thickness:2px}
.note-attachments .attachment-download:focus-visible{outline:2px solid #1558b0;outline-offset:2px;border-radius:3px}
.note-attachments .attachment-download:disabled{color:#59636f;opacity:1;cursor:wait;text-decoration-style:dotted}

/* Local-only unlock progress and optional elapsed-time disclosure. */
.unlock-progress{margin:8px 0;overflow-wrap:anywhere}.unlock-progress p{margin:6px 0}.unlock-progress summary{min-height:44px;display:list-item;padding:10px 4px;cursor:pointer;box-sizing:border-box}.unlock-progress summary:focus-visible{outline:2px solid #188451;outline-offset:2px}.unlock-progress ul{padding-left:22px}

/* Keep the root/parent prefix and the leaf visible independently when a full
   notebook path is wider than its location column. Full text stays on the td. */
#notes .note-location-path{display:flex;align-items:center;min-width:0;max-width:100%;overflow:hidden;white-space:nowrap}
#notes .note-location-parents{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
#notes .note-location-separator{flex:0 0 auto;white-space:pre}
#notes .note-location-leaf{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
#notes .note-location-parents~.note-location-leaf{flex-shrink:0;max-width:55%}

/* A wide sidebar can make the workspace as narrow as a phone without changing
   viewport media queries. Keep locations readable and scroll the list only. */
#listPane .table-scroll{min-width:0;max-width:100%;overflow-x:auto}
#listPane table{min-width:760px}
#listPane .location-col{width:25%}
#listPane .tags-col{width:13%}
@media(max-width:700px){#listPane .title-col{width:30%}#listPane .tags-col{width:15%}}

/* Resizable list columns: local layout only; explicit widths allow horizontal scrolling. */
#listPane table.custom-column-widths{min-width:0;max-width:none}
#listPane th{padding-right:20px}
.column-resize-handle{position:absolute;right:0;top:0;bottom:0;width:12px;cursor:col-resize;touch-action:none;user-select:none;z-index:2}
.column-resize-handle::after{content:'';position:absolute;top:7px;bottom:7px;left:5px;width:2px;background:#b9c8c0}
.column-resize-handle:hover::after,.column-resize-handle:focus-visible::after{background:#188451}
.column-resize-handle:focus-visible{outline:2px solid #188451;outline-offset:-2px}
#listPane table.resizing-columns,#listPane table.resizing-columns *{cursor:col-resize;user-select:none}
#resetColumnWidths{font-size:11px;white-space:nowrap;border:1px solid #bdcbc1;border-radius:4px;padding:5px 7px;margin-left:auto;align-self:center;flex-shrink:0}
@media(max-width:700px){#listPane .list-header{height:auto;min-height:70px}#resetColumnWidths{min-height:32px}.column-resize-handle{width:16px}.column-resize-handle::after{left:7px}}

/* Trash adds actions that wrap on a narrow screen. Grow the toolbar with its
   rows so the following saved/sync status cannot cover its buttons. */
@media (max-width: 700px) {
  .editor-toolbar {
    height: auto;
    min-height: 63px;
    row-gap: 8px;
    padding-top: 8px;
    padding-bottom: 8px;
  }
}

.desktop-attachment-preview{display:block;min-height:24px}.desktop-attachment-preview img{display:block;max-width:100%;height:auto;margin:8px 0;cursor:zoom-in}
#noteBody img.desktop-image-expandable{cursor:zoom-in}
#noteBody img.desktop-image-expandable:focus-visible{outline:3px solid #188451;outline-offset:3px}
dialog.desktop-image-viewer{width:min(1200px,94vw);max-width:94vw;height:min(900px,92vh);max-height:92vh;padding:0;border:1px solid #91a89a;border-radius:8px;background:#f6f7f6;color:#27292b;overflow:hidden}
dialog.desktop-image-viewer[open]{display:flex;flex-direction:column}
dialog.desktop-image-viewer::backdrop{background:rgba(0,0,0,.72)}
.desktop-image-toolbar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #cad4ce;background:white;flex:none}
.desktop-image-caption{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.desktop-image-toolbar button{padding:8px 12px;border:1px solid #a6b9ac;border-radius:5px;background:white;white-space:nowrap}
.desktop-image-toolbar button:focus-visible{outline:2px solid #188451;outline-offset:2px}
.desktop-image-viewport{flex:1;min-height:0;min-width:0;overflow:auto;display:flex;align-items:center;justify-content:center;padding:12px}
.desktop-image-viewport img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.desktop-image-actual .desktop-image-viewport{display:block}
.desktop-image-actual .desktop-image-viewport img{max-width:none;max-height:none;margin:auto}
.desktop-image-status{flex:none;margin:0;padding:0 16px;color:#95412e}
.desktop-image-status:empty{display:none}
.note-resource-originals>ul{margin:4px 0;padding:0;list-style:none}
.note-resource-originals>ul>li{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;gap:0 6px;align-items:center;min-height:44px;padding:2px 0;margin:2px 0;max-width:100%;min-width:0}
.note-resource-originals>ul>li>.attachment-original-thumbnail{grid-column:1;grid-row:1;width:48px;min-height:0!important;margin:0!important;align-self:center}
.note-resource-originals .attachment-original-thumbnail>img{max-width:48px!important;max-height:36px!important;width:auto!important;height:auto!important;margin:0!important;object-fit:contain}
.note-resource-originals>ul>li>.attachment-save,.note-resource-originals>ul>li>.attachment-download{grid-column:2;grid-row:1;min-width:0;max-width:100%;margin:0;padding:4px 2px;min-height:40px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}
.note-resource-originals>ul>li>small:not(.attachment-preview-warning){grid-column:3;grid-row:1;min-width:0;white-space:nowrap;font-size:11px}
.note-resource-originals>ul>li>.attachment-save-cancel{grid-column:4;grid-row:1;margin:0}
.note-resource-originals>ul>li>.attachment-status{grid-column:2 / -1;grid-row:2;font-size:12px;overflow-wrap:anywhere}
.note-resource-originals .attachment-status:empty{display:none}
.note-resource-originals>ul>li>.attachment-preview-warning{grid-column:1 / -1;grid-row:3;white-space:normal;overflow-wrap:anywhere}
.note-resource-originals .attachment-original-thumbnail:has(.attachment-image-retry:not([hidden])){grid-column:1 / -1;grid-row:4;width:auto}
body[data-vault-concealed] dialog.desktop-image-viewer{visibility:hidden!important}

#richInput .inline-pending-image{display:inline-block;max-width:100%}#richInput .inline-pending-image img{max-width:100%;height:auto}#insertInlineImage{display:inline-block!important;min-height:36px}#inlineImageFiles{display:none!important}

.note-resource-previews ul,.note-resource-originals ul,.ordinary-attachments ul{padding-left:0;list-style:none}.inline-resource-card{border:1px solid #b9c9c0;border-radius:6px;padding:10px;margin:14px 0;max-width:100%;min-width:0}.readonly-text-preview,.readonly-pdf-preview{max-width:100%;min-width:0;margin-top:8px}.readonly-text-preview pre{max-height:26rem;max-width:100%;overflow:auto;background:#f4f6f5;padding:12px;font:14px/1.6 Consolas,monospace;tab-size:4;user-select:text}.readonly-text-preview .plain-text-preview{white-space:pre-wrap;overflow-wrap:anywhere}.readonly-text-preview .source-code-preview{white-space:pre}.text-preview-controls,.pdf-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pdf-canvas{display:block;max-width:100%;height:auto}.pdf-status,.text-preview-status{font-size:13px}.readonly-text-preview pre code{white-space:inherit}#pendingAttachments>li{margin:12px 0;overflow-wrap:anywhere}#editAttachments{max-width:100%;min-width:0}#editForm>#editAttachments{margin:1rem 0}

.pwa-offline-panel{padding:.75rem;margin:.5rem 0;border:1px solid #aaa;border-radius:.5rem;overflow-wrap:anywhere}.pwa-offline-panel summary{cursor:pointer;font-weight:600}.pwa-offline-panel button{min-height:44px}.lab-notice{padding:.6rem;background:#fff0bf;color:#222}