@charset "UTF-8";
@font-face{font-family:"Archive Serif";src:url("/static/fonts/ScrapArchiveSerif-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:light;--ink:#302f29;--muted:#777467;--accent:#385346;--accent-hover:#243c30;--rust:#95543c;--line:#d8d3c6;--paper:#fdfbf5;--desk:#f0ede4;--folder:#e9e4d7;--font:"Pretendard","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;--serif:"Archive Serif","Batang","바탕",Georgia,serif;--grain:url("/static/paper-grain.svg")}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--desk) var(--grain);color:var(--ink);font:15px/1.65 var(--font)}
body:has(dialog[open]){overflow:hidden}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button{color:inherit;border:0;background:transparent;cursor:pointer}
button:disabled{opacity:.48;cursor:default}
a{color:var(--accent);text-underline-offset:4px;text-decoration:none}
a:hover{text-decoration:underline}
input,textarea,select{width:100%;min-width:0;border:1px solid #cfc9bb;border-radius:2px;background:#fffef9;color:var(--ink);padding:11px 13px;font-size:16px}
input::placeholder,textarea::placeholder{color:#969083}
textarea{resize:vertical;line-height:1.9}
label{display:block;font-weight:500;font-size:13px;margin:20px 0 7px}
input:focus,textarea:focus,select:focus{border-color:var(--accent);outline:2px solid #38534624;outline-offset:2px}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--serif);font-weight:400}
h1,h2,.card-title{word-break:keep-all}
h1{font-size:42px;line-height:1.4;letter-spacing:-1.7px}
h2{font-size:27px;line-height:1.5;letter-spacing:-.8px}
h3{font-size:16px}
small{font-size:12px}
.muted{color:var(--muted);font-size:14px;line-height:1.85}
.muted,.card-excerpt,.field-hint{word-break:keep-all;overflow-wrap:anywhere}
.eyebrow{font-size:10px;font-weight:500;letter-spacing:2px;color:var(--rust);margin-bottom:14px}
.primary,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 18px;border-radius:2px;font-size:13px;font-weight:500;white-space:nowrap;text-decoration:none;transition:background .15s}
.primary{background:var(--accent);color:#faf8ef;border:1px solid var(--accent);box-shadow:0 2px 0 #1f392b18}
.primary:hover{background:var(--accent-hover);text-decoration:none}
.secondary{background:#faf8f0;border:1px solid #cfc9bb}
.secondary:hover{background:#eae5d9;text-decoration:none}
.danger{background:#9e483d;color:#fffdf5}
.danger-text{color:#9e483d;font-size:13px;min-height:44px;padding:9px 12px}
.danger-text:hover{background:#f4e7dd}
.wide{width:100%;margin-top:18px}
.text-button{color:var(--accent);font-size:12px;min-height:40px;padding:6px 0;text-decoration:underline;text-underline-offset:4px}
.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:20px;color:var(--muted);flex-shrink:0}
.icon-button:hover{background:#dcd5c750}
.pill{display:inline-flex;border:1px solid #b4b3a0;color:var(--accent);padding:3px 8px;font-size:10px;letter-spacing:1px}
.brand{display:flex;align-items:center;gap:10px;font-family:Georgia,var(--serif);font-size:28px;font-weight:400;letter-spacing:-1px;color:var(--ink);white-space:nowrap}
.brand:hover{text-decoration:none}
.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:31px;height:36px;border:1px solid #a9ae9e;color:var(--accent);background:var(--paper);box-shadow:3px 3px 0 #d8d3c4;font:italic 31px/1 Georgia,serif;padding-bottom:4px}
.brand-dot{color:var(--rust);margin-left:-9px}
.title-dot{color:var(--rust)}
.loading{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;color:var(--muted)}

/* The sign-in slip and the sheets on the desk. */
.auth-screen{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;max-width:1440px;margin:auto}
.auth-story{padding:48px 7vw 34px;display:flex;flex-direction:column;justify-content:center;position:relative}
.auth-story>.brand{margin-bottom:auto}
.auth-intro{margin:56px 0 14px}
.auth-intro h1{font-size:clamp(36px,3.5vw,52px);line-height:1.55;margin-bottom:20px}
.auth-intro>p:last-child{font-size:14px;color:var(--muted);line-height:1.95}
.auth-colophon{color:var(--muted);letter-spacing:1px;margin-top:auto;padding-top:35px}
.desk-papers{width:360px;height:280px;max-width:100%;position:relative;margin:24px 0 8px}
.desk-sheet{position:absolute;width:255px;height:252px;top:0;left:5px;padding:26px;background:var(--paper) var(--grain);border:1px solid var(--line);transform:rotate(-6deg);box-shadow:4px 5px 0 #e4dfd0,5px 6px 0 #cac3b4,0 9px 20px #413b2b10}
.desk-sheet h2{font-size:26px;line-height:1.55;margin:17px 0 15px}
.paper-kicker{font-size:9px;color:var(--rust);letter-spacing:1.3px}
.printed-lines{height:43px;background:repeating-linear-gradient(to bottom,#c8c1b5 0 1px,transparent 1px 11px);opacity:.65}
.paper-bottom{position:absolute;left:26px;bottom:21px;font-size:10px;color:var(--muted)}
.desk-note{position:absolute;width:166px;height:161px;padding:23px;right:-8px;bottom:8px;background:#eee3b9 var(--grain);border:1px solid #d9cea2;transform:rotate(7deg);box-shadow:0 7px 12px #413b2b12}
.desk-note::before{content:"";position:absolute;width:55px;height:18px;left:55px;top:-8px;background:#d1c4a68a;border-left:1px dashed #bcb298;border-right:1px dashed #bcb298;transform:rotate(-5deg)}
.desk-note p{font-family:var(--serif);font-size:18px;line-height:1.9;margin:10px 0}
.note-rule{display:block;border-bottom:1px solid #b9ac82}
.auth-panel{display:flex;align-items:center;justify-content:center;padding:80px 60px}
.auth-card{width:100%;max-width:410px;padding:39px 36px 30px;background:var(--paper) var(--grain);border:1px solid #d5cebe;position:relative;isolation:isolate;box-shadow:0 12px 26px #413b2b0c}
.auth-card::before,.auth-card::after{content:"";position:absolute;inset:5px -7px -7px 6px;background:#f5f1e7 var(--grain);border:1px solid #d4cbbb;z-index:-2;transform:rotate(1.1deg);pointer-events:none}
.auth-card::after{inset:0;background:var(--paper) var(--grain);z-index:-1;transform:none}
.auth-card>.pill{margin-bottom:21px;transform:rotate(-2deg)}
.auth-card h2{font-size:29px;margin-bottom:10px}
.auth-card>.muted{font-size:13px;margin-bottom:24px}
.auth-card input{padding:12px}
.auth-card input[readonly]{background:#eeeade;color:#716d60}
.auth-footnote{border-top:1px dashed var(--line);padding-top:20px;margin:25px 0 0;font-size:11px;color:var(--muted);line-height:1.9}
.code-actions{display:flex;justify-content:space-between;gap:12px;margin-top:9px}
#auth-code{font-size:23px;letter-spacing:.28em}
.form-error{font-size:13px;color:#9e483d;margin:14px 0 0}
.form-error:empty{display:none}
.field-hint{font-size:12px;color:var(--muted);margin:7px 0 0;line-height:1.9}
.required{color:var(--rust)}

/* The folder index and the reading table. */
.workspace{display:flex;min-height:100dvh}
.sidebar{width:242px;flex-shrink:0;padding:35px 22px 22px;background:var(--folder) var(--grain);color:var(--ink);border-right:1px solid #d2ccbd;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:30;overflow-y:auto}
.sidebar .brand{margin:0 7px 33px;font-size:25px}
.nav-label{color:#827a69;font-size:10px;letter-spacing:1.8px;margin:20px 11px 12px}
.nav-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;min-height:46px;padding:10px;font-size:13px;border-left:2px solid transparent;color:#706b5f;margin-bottom:5px}
.nav-item>span{font-size:19px;width:21px;text-align:center;color:#8d8573}
.nav-item b{font:11px Georgia,serif;margin-left:auto}
.nav-item:hover{background:#f8f5eb90}
.nav-item.active{background:#f9f7ef;color:var(--accent);border-left-color:var(--accent);box-shadow:0 2px 3px #4b432c07}
.nav-item.active>span{color:var(--accent)}
.tag-heading{display:flex;justify-content:space-between;align-items:center;margin-top:12px;border-top:1px solid #cdc5b5;padding-top:9px}
.sidebar-tags{max-height:33dvh;overflow:auto}
.sidebar-tags{scrollbar-width:thin;scrollbar-color:#b9b09b transparent}
.sidebar-tag{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:7px 11px;color:#716a5b;text-align:left;font-size:13px;overflow-wrap:anywhere}
.sidebar-tag span{color:#aaa08c;font-family:Georgia,serif}
.sidebar-tag.selected,.sidebar-tag:hover{background:#f8f5eb;color:var(--accent)}
.sidebar-hint{color:#817967;font-size:12px;line-height:1.9;margin:10px 11px}
.sidebar-bottom{margin-top:auto;padding-top:34px}
.storage-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;font-size:10px;color:#847c6c;padding:0 7px}
progress{appearance:none;width:calc(100% - 14px);height:3px;border:0;margin:10px 7px 22px;display:block;background:#d0c7b6}
progress::-webkit-progress-bar{background:#d0c7b6}
progress::-webkit-progress-value{background:#77816d}
progress::-moz-progress-bar{background:#77816d}
.account{border-top:1px solid #ccc4b3;display:flex;align-items:center;gap:10px;width:100%;min-height:60px;padding:17px 5px 0;text-align:left}
.avatar{display:inline-flex;align-items:center;justify-content:center;width:31px;height:34px;border:1px solid #b9b49f;background:#f7f3e6;color:var(--accent);font:18px Georgia,serif;flex-shrink:0}
.account>span:nth-child(2){flex:1;min-width:0}
#account-name{display:block;font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account small{display:block;font-size:10px;color:#827969}
.account>span:last-child{color:#827969}
#account-description{overflow-wrap:anywhere}
.main{margin-left:242px;flex:1;min-width:0}
.topbar{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 48px;gap:15px}
.breadcrumb{color:#91897b;font-size:11px}
.breadcrumb span{padding:0 11px;color:#b0a697}
.breadcrumb b{color:#645e50;font-weight:400}
.topbar-note{font-size:10px;color:#8c8475;letter-spacing:.7px}
.main-content{max-width:1430px;margin:0 auto;padding:42px 48px 20px}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}
.page-heading h1{margin-bottom:9px;font-size:43px}
.page-heading .muted{margin-bottom:0;font-size:13px}
.page-heading .eyebrow{margin-bottom:11px;font-size:9px}
.quick-capture{display:flex;align-items:center;gap:18px;position:relative;background:#f7f1dd var(--grain);border:1px solid #ddd3b9;box-shadow:0 3px 5px #413b2b07;padding:19px 22px;margin-bottom:35px}
.quick-capture::before{content:"";position:absolute;left:26px;top:-7px;width:57px;height:13px;background:#d5cbb78a;border-left:1px dashed #bdb39c;border-right:1px dashed #bdb39c;transform:rotate(-3deg);pointer-events:none}
.quick-status{margin:-22px 0 25px;color:var(--muted);font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.quick-status.is-error{color:#9e483d}
.quick-capture[aria-busy="true"]{cursor:progress}
.quick-capture button{white-space:nowrap}
.quick-input{flex:1;min-width:0}
.quick-input label{font-family:var(--serif);font-size:16px;margin:0 0 2px}
.quick-input input{border:0;border-bottom:1px solid #d6cbb3;border-radius:0;padding:5px 0;background:transparent;font-size:13px}
.quick-input input:focus{outline:0;border-bottom-color:var(--accent)}
.quick-capture .secondary{background:#fcf8ec;border-color:#c7baa1}
.library-toolbar{display:flex;align-items:flex-end;justify-content:flex-end;gap:20px}
.filter-tabs{display:flex;gap:2px;border-bottom:1px solid #c9c2b3}
.filter-tabs button{min-height:44px;padding:9px 15px;font-size:13px;color:#8b8273;border:1px solid transparent;border-bottom:0;border-radius:2px 2px 0 0}
.filter-tabs button.selected{color:var(--ink);background:#fbf8f0;border-color:#c9c2b3}
.toolbar-right{display:flex;align-items:center;gap:10px}
.search-box{display:flex;align-items:center;gap:9px;width:254px;min-height:43px;margin:0;padding:0 12px;border-bottom:1px solid #bbb2a1}
.search-box>span{color:#857d6d;font-size:22px}
.search-box input{border:0;border-radius:0;padding:7px 0;background:transparent;font-size:12px}
.search-box input:focus{outline:0}
.search-box:focus-within{outline:2px solid #38534640;outline-offset:3px;border-bottom-color:var(--accent)}
kbd{color:#968d7d;font-size:10px;border:1px solid #cdc5b5;padding:0 4px}
.results-meta{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.3px;color:#958b7b;margin:23px 0 20px}
.results-meta>span:first-child{color:#7d7465}

/* Only the back sheets tilt, leaving text and controls straight. */
.item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 23px;align-items:start}
.item-card{display:flex;flex-direction:column;min-height:295px;padding:23px 23px 19px;position:relative;isolation:isolate;transition:filter .15s}
.item-card::before,.item-card::after{content:"";position:absolute;pointer-events:none;border:1px solid #d8d0bf;background:#e8e1d1 var(--grain);inset:4px -3px -5px 4px;transform:rotate(.8deg);z-index:-2;box-shadow:0 4px 8px #4039230a}
.item-card::after{background:var(--paper) var(--grain);inset:0;transform:none;z-index:-1;border-color:#d9d3c7}
.item-card:nth-child(3n+2)::before{transform:rotate(-.8deg);inset:4px 3px -5px -2px}
.item-card:hover{filter:drop-shadow(0 3px 4px #4039230b)}
.item-card.paper-note::after{background-color:#f6edce;background-image:var(--grain),repeating-linear-gradient(to bottom,transparent 0 30px,#a99b6c15 30px 31px)}
.item-card.paper-file::after{background-color:#f3f2ea}
.card-top{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-bottom:12px;min-height:30px}
.type-icon{font-size:9px;letter-spacing:.9px;color:var(--rust);padding:3px 0;border-bottom:1px solid #cbb7a6;white-space:nowrap}
.type-icon.note{color:#82723e;border-color:#c1b384}
.type-icon.file{color:#5c6b5b;border-color:#b4bcad}
.card-tools{display:flex;align-items:center;gap:2px;margin:-7px -7px -7px 0;position:relative;z-index:2}
.card-favorite{font-size:24px;line-height:1;color:#a79b7f;padding:7px;min-width:40px;min-height:44px}
.card-share{display:inline-flex;align-items:center;justify-content:center;color:#a79b7f;padding:7px;min-width:40px;min-height:44px;line-height:1}
.card-share:hover{color:var(--ink)}
.share-icon,.action-icon{display:block;width:22px;height:22px;flex-shrink:0;pointer-events:none}
#reader-share{flex:0 0 44px;padding:0;color:#a79b7f}
.card-thumbnail{display:block;width:100%;height:150px;object-fit:contain;background:#fdfbf5;border:1px solid #ded7c9;padding:4px;margin:0 0 16px;pointer-events:none}
.reader-thumbnail{display:block;max-width:100%;max-height:320px;object-fit:contain;background:#fdfbf5;border:1px solid #ded7c9;padding:5px;margin:0 0 25px}
#reader-favorite{font-size:27px;flex:0 0 44px}
#reader-favorite.is-favorite{color:#9e7f32}
.card-favorite.is-favorite{color:#9e7f32}
.card-title{font-family:var(--serif);font-size:22px;font-weight:400;line-height:1.65;letter-spacing:-.7px;text-align:left;padding:0;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.card-title::after{content:"";position:absolute;inset:0}
.card-excerpt{font-size:12px;line-height:1.95;color:#817969;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;margin-bottom:18px;pointer-events:none}
.card-tags{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.tag-chip{font-size:10px;color:#7b735f;padding:2px 0;border-bottom:1px solid #d2c8b5;overflow-wrap:anywhere;position:relative;z-index:2}
button.tag-chip{min-height:32px}
.card-footer{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#948a78;border-top:1px solid #dcd4c3;padding-top:13px;margin-top:auto;pointer-events:none}
.card-footer span:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.card-footer span:last-child{white-space:nowrap}
.list-layout{grid-template-columns:1fr;gap:16px}
.list-layout .item-card{min-height:unset;display:grid;grid-template-columns:128px minmax(0,1fr) 140px;column-gap:20px;padding:20px 24px}
.list-layout .card-top{margin:0;grid-row:1/4;display:block;position:relative}
.list-layout .card-tools{margin:8px 0 0 -7px}
.list-layout .card-title{grid-column:2;margin:0 0 6px;font-size:20px}
.list-layout .card-excerpt{grid-column:2;-webkit-line-clamp:1;margin-bottom:6px}
.list-layout .card-tags{grid-column:2;margin-bottom:0}
.list-layout .card-footer{grid-column:3;grid-row:1/4;flex-direction:column;border:0;justify-content:center;align-items:flex-end;margin:0;padding:0}
.empty-state{padding:58px 24px 65px;text-align:center;border:1px dashed #cfc6b5;background:#fbf8ee80;position:relative;margin:8px 3px}
.empty-icon{display:flex;align-items:center;justify-content:center;width:47px;height:55px;border:1px solid #c3b8a0;box-shadow:4px 4px 0 #e2d9c5;font-size:26px;color:#9b8b6a;margin:0 auto 25px;transform:rotate(-4deg)}
.empty-state h2{font-size:24px;margin-bottom:11px}
.empty-state p{font-size:13px;line-height:1.95;color:var(--muted);max-width:420px;margin:0 auto 22px}
.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:35px;font-size:12px}
.library-footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);margin-top:46px;padding:19px 0;color:#968c7b;font-size:10px}
.mobile-only,.sidebar-backdrop{display:none}

/* Reading and writing on a full sheet. */
.dialog{width:min(740px,calc(100vw - 40px));max-height:calc(100dvh - 60px);border:1px solid #ccc3b1;border-radius:2px;background:var(--paper) var(--grain);color:var(--ink);padding:30px 34px;overflow-y:auto;box-shadow:5px 6px 0 -1px #ece6d8,5px 6px 0 #c4baa5,0 20px 70px #38312428}
.dialog::backdrop{background:#39352b66}
.dialog{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b9b09b transparent}
.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:15px}
.dialog-heading h2{margin:0;font-size:29px}
.dialog-heading .eyebrow{margin:0 0 8px}
.dialog-heading>.icon-button{margin-top:-4px}
.small-dialog{width:min(465px,calc(100vw - 40px))}
.dialog-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}
.compose-tabs{display:flex;border-bottom:1px solid #cfc7b7;margin:24px 0 20px;gap:6px}
.compose-tabs button{padding:9px 16px;min-height:44px;font-size:13px;color:#8b8170;border-bottom:2px solid transparent}
.compose-tabs button.selected{border-bottom-color:var(--accent);color:var(--accent)}
.input-action{display:flex;align-items:center;gap:9px}
.input-action input{flex:1;min-width:0}
.file-drop{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;border:1px dashed #b7aa92;background:#f3eedf;padding:23px;cursor:pointer}
.file-drop>span{font-size:26px;color:#8d8066}
.file-drop strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}
.file-drop small{color:#8d806c;font-size:11px}
.file-drop input{width:100%;max-width:330px;padding:4px;background:transparent;border:0;font-size:12px;margin-top:9px}
.reader-dialog{width:min(850px,calc(100vw - 40px));padding:0}
.reader-top{display:flex;justify-content:space-between;align-items:center;padding:20px 28px 0}
.reader-dialog article{padding:24px 51px 45px}
.reader-dialog h1,.shared-article h1{font-size:34px;line-height:1.7;letter-spacing:-.8px;margin-bottom:18px;overflow-wrap:anywhere}
.reader-meta{display:flex;flex-wrap:wrap;align-items:center;gap:17px;color:#948a78;font-size:11px;border-bottom:1px solid var(--line);padding-bottom:19px;margin-bottom:24px}
.reader-meta a{font-size:11px}
.reader-notes{background:#f4eccc var(--grain);border:1px solid #e0d5b6;padding:20px 23px;margin-top:32px;box-shadow:2px 3px 0 #dcd2b550}
.reader-notes h3{font-size:11px;color:#8c7648;margin-bottom:10px;font-weight:500}
.reader-notes p{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--serif);font-size:15px;line-height:2;margin-bottom:0}
.reader-actions{display:flex;justify-content:space-between;gap:10px;position:sticky;bottom:0;background:#f8f5ea;border-top:1px solid var(--line);padding:14px 23px}
.reader-actions>div{display:flex;gap:8px}
.reader-actions button{padding:9px 12px;font-size:12px}
.reader-actions .icon-button{padding:0}
#reader-delete{color:#9e483d}
#reader-delete:hover{background:#f4e7dd}
.preview-image{display:block;max-width:100%;max-height:600px;object-fit:contain;margin:auto}
.pdf-document{width:100%;margin-bottom:25px}
.pdf-toolbar{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px;color:var(--muted);font-size:12px}
.pdf-toolbar .icon-button{font-size:26px}
.pdf-toolbar span{min-width:52px;text-align:center}
.pdf-page-view{overflow:auto;max-width:100%;max-height:min(650px,70dvh)}
.pdf-sheet{display:block;width:100%;height:auto;border:1px solid var(--line);background:#fff;box-shadow:2px 3px 0 #dcd2b550}
.file-preview-status{color:var(--muted);font-size:13px;padding:20px 0}
.file-markdown{font-size:15px;line-height:1.9;overflow-wrap:anywhere}
.file-markdown h1{font-size:28px;line-height:1.6;margin:20px 0 18px}
.file-markdown h2{font-size:23px;margin:30px 0 14px}
.file-markdown h3{font-size:18px;margin:24px 0 12px}
.file-markdown h4,.file-markdown h5,.file-markdown h6{font-size:15px;margin:20px 0 10px}
.file-markdown p{margin-bottom:18px}
.file-markdown ul,.file-markdown ol{padding-left:25px}
.file-markdown blockquote{margin:20px 0;padding:5px 18px;border-left:2px solid #c3b69b;color:var(--muted)}
.file-markdown blockquote p:last-child{margin-bottom:0}
.file-markdown pre,.file-text{overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:17px;background:#f3f0e7;border:1px solid var(--line);font:13px/1.9 Consolas,monospace}
.file-markdown code{font:13px/1.8 Consolas,monospace;background:#eee9dd;padding:2px 4px}
.file-markdown pre code{padding:0;background:transparent}
.file-markdown table{display:block;width:max-content;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:20px 0;font-size:13px}
.file-markdown th,.file-markdown td{border:1px solid var(--line);padding:8px 13px;text-align:left}
.file-markdown th{background:#f3f0e7;font-weight:500}
.file-markdown hr{border:0;border-top:1px solid var(--line);margin:28px 0}
.file-info{display:flex;align-items:center;gap:14px;background:#f0ecdf;border:1px solid var(--line);padding:18px;margin-top:24px}
.file-info>span{font-size:27px;color:#8a816e}
.file-info>div{flex:1;min-width:0}
.file-info strong{display:block;font-size:13px;font-weight:500;overflow-wrap:anywhere}
.file-info small{display:block;color:#948a78}
.link-result{background:#efeadc;border:1px solid #d8cebb;padding:0 15px 15px;margin-top:20px}
.link-result label{padding-top:15px;font-size:12px;margin-top:0}
.link-result input{font-size:12px}
.section-label{margin:25px 0 12px;font-size:11px;color:#8c806a;font-weight:500}
.manage-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}
.manage-row>div{min-width:0;overflow-wrap:anywhere}
.manage-row small{display:block;color:#948a78;font-size:11px}
.manage-row button{font-size:12px;white-space:nowrap}
.row-empty{color:#948a78;font-size:12px}
.toast{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:100;background:#354337;color:#faf6e9;padding:12px 20px;border-radius:2px;box-shadow:0 4px 15px #38312426;font-size:13px;max-width:calc(100vw - 32px);width:max-content}
.share-page{background:var(--desk) var(--grain)}
.share-header{max-width:900px;margin:auto;padding:30px 24px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.shared-article{max-width:820px;margin:15px auto 35px;padding:49px 58px 65px;min-height:60dvh;background:var(--paper) var(--grain);border:1px solid var(--line);box-shadow:5px 6px 0 -1px #e4dcc9,5px 6px 0 #ccc1ac,0 5px 15px #413b2b08}
.share-footer{max-width:860px;margin:auto;padding:24px 30px;text-align:center;font-size:11px;color:#8c816e}

@media(min-width:1700px){
  .item-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .list-layout{grid-template-columns:1fr}
}
@media(max-width:1200px){
  .main-content{padding:36px 32px 20px}.topbar{padding:0 32px}
  .item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.list-layout{grid-template-columns:1fr}
  .search-box{width:215px}.filter-tabs button{padding:9px 12px}
  .auth-story{padding-left:6vw;padding-right:30px}.auth-panel{padding:70px 45px}.desk-papers{width:315px}
}
@media(max-width:1050px){
  .library-toolbar{justify-content:flex-end}.filter-tabs{align-self:flex-start}
  .toolbar-right{width:100%}.search-box{flex:1;width:auto}.topbar-note{display:none}
  .list-layout .item-card{grid-template-columns:100px minmax(0,1fr);gap:8px 20px}
  .list-layout .card-top{grid-row:1/5}
  .list-layout .card-footer{grid-column:2;grid-row:4;flex-direction:row;align-items:center;justify-content:space-between}
}
@media(max-width:900px){
  .mobile-only{display:inline-flex}body.menu-open{overflow:hidden}
  .sidebar{width:280px;max-width:calc(100vw - 45px);padding:28px 22px 24px;transform:translateX(-105%);transition:transform .2s;box-shadow:8px 0 25px #38312416;z-index:40}
  .sidebar.open{transform:translateX(0)}
  .sidebar-close{position:absolute;top:20px;right:12px}
  .sidebar .brand{font-size:25px;margin-right:30px}
  .sidebar-backdrop{display:block;position:fixed;inset:0;width:100%;height:100%;background:#39352b66;z-index:35}
  .main{margin-left:0}.topbar{height:62px;padding:0 20px 0 11px;justify-content:flex-start;gap:7px}.breadcrumb{font-size:11px}
  .main-content{padding:30px 24px 18px}.page-heading h1{font-size:36px}.page-heading{gap:14px;margin-bottom:27px}
  .quick-capture{padding:17px;gap:13px;margin-bottom:28px}.quick-input label{font-size:15px}.quick-status{margin-top:-17px;margin-bottom:22px}
  .quick-capture .secondary{padding:9px 12px;font-size:12px}
  .library-toolbar{gap:13px}.filter-tabs{align-self:stretch}.filter-tabs button{padding:9px 16px}
  .search-box{width:100%}.search-box input,.quick-input input{font-size:16px}.results-meta{margin:20px 0;font-size:11px}
  .item-grid{gap:25px 20px}.item-card{padding:23px 22px 20px;min-height:282px}
  .card-title{font-size:22px}.card-excerpt{font-size:13px}.type-icon{font-size:9px}.card-footer{font-size:10px}.tag-chip{font-size:11px}
  .auth-screen{display:flex;flex-direction:column}.auth-story{padding:28px 28px 0}.auth-story>.brand{font-size:27px}
  .auth-intro{margin:28px 0 0}.auth-intro .eyebrow,.desk-papers,.auth-colophon{display:none}
  .auth-intro h1{font-size:30px;line-height:1.55;margin-bottom:9px}.auth-intro h1 br{display:none}
  .auth-intro>p:last-child{font-size:12px;line-height:1.9;margin-bottom:0}
  .auth-panel{padding:30px 28px 45px}.auth-card{max-width:430px;padding:29px 26px 26px}
  .auth-card>.pill{margin-bottom:16px}.auth-card h2{font-size:28px}.auth-card>.muted{margin-bottom:17px}
  .dialog{width:calc(100vw - 30px);max-height:calc(100dvh - 30px);padding:26px 25px}
  .dialog-heading h2{font-size:27px}.reader-dialog{width:calc(100vw - 24px);padding:0}
  .reader-top{padding:14px 17px 0}.reader-dialog article{padding:20px 27px 32px}
  .reader-dialog h1{font-size:29px;line-height:1.65}
  .reader-actions{flex-direction:row;align-items:center;padding:12px 15px max(12px,env(safe-area-inset-bottom));gap:9px}
  .reader-actions>div{display:flex;gap:8px;justify-content:space-between}.reader-actions button{flex:1;padding:9px 8px}
  .reader-notes{padding:17px 18px}.composer-dialog .input-action{flex-wrap:wrap}
  .composer-dialog .input-action input{flex-basis:100%}.composer-dialog .input-action .secondary{width:100%}
  .empty-state{padding:45px 20px}.empty-state h2{font-size:22px}.empty-state p{font-size:12px}
  .library-footer{margin-top:36px}.share-header{padding:25px 22px}.share-header .brand{font-size:25px}
  .shared-article{width:calc(100% - 40px);margin:5px 18px 25px;padding:30px 26px 45px}.shared-article h1{font-size:29px}
  .file-info{flex-wrap:wrap;padding:15px}.file-info>a{width:100%}.preview-pdf{height:400px}
}
@media(max-width:560px){
  .item-grid{grid-template-columns:1fr;gap:24px}.list-layout{grid-template-columns:1fr}
  .list-layout .item-card{grid-template-columns:90px minmax(0,1fr);padding:19px 18px;gap:6px 14px}
  .list-layout .card-title{font-size:19px}.list-layout .card-footer{font-size:9px}
  .item-card{min-height:288px}.card-title{font-size:23px}.card-excerpt{font-size:14px;-webkit-line-clamp:3}
  .type-icon{font-size:10px}.card-footer{font-size:11px}
  .card-thumbnail{height:175px}
}
@media(max-width:380px){
  .main-content{padding:26px 20px 16px}.page-heading h1{font-size:32px}
  .quick-capture{padding:16px 13px;gap:10px}.quick-input label{font-size:13px}
  .quick-capture .secondary{padding:9px 10px;font-size:11px}.filter-tabs button{padding:9px 13px}
  .auth-story{padding:24px 22px 0}.auth-intro h1{font-size:27px}.auth-panel{padding:25px 22px 40px}
  .auth-card{padding:27px 21px}.auth-card h2{font-size:25px}.dialog{padding:22px 19px}
  .reader-dialog{padding:0}.reader-dialog article{padding:18px 22px 28px}.reader-dialog h1{font-size:26px}
  .share-header{padding:22px 16px}.share-header .brand{font-size:23px}
  .shared-article{width:calc(100% - 30px);margin-left:12px;padding:26px 20px 38px}.shared-article h1{font-size:26px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
@media print{
  body,.share-page{background:white}.share-header,.share-footer,.reader-top,.reader-actions{display:none}
  .shared-article,.reader-dialog{border:0;box-shadow:none;margin:0;width:100%;max-width:none;max-height:none;background:white;overflow:visible}
  .shared-article{padding:0}.reader-notes{break-inside:avoid}
}
