:root{--paper:#f8f7f4;--white:#fff;--ink:#25332d;--sub:#737a72;--dim:#969d94;--line:#e8e8e1;--accent:#284c3e;--accent-light:#e8f0e9;--shadow:0 8px 25px rgba(41,48,38,.035);--radius:16px;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.58 -apple-system,BlinkMacSystemFont,"Pretendard","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}input,textarea,select{outline:none;color:var(--ink)}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:#8aac9a!important;box-shadow:0 0 0 3px rgba(56,111,80,.08)}.icon{width:18px;height:18px;flex:none;stroke:currentColor;stroke-width:1.75;fill:none;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.app-shell{display:flex;min-height:100vh}.sidebar{width:245px;position:fixed;inset:0 auto 0 0;padding:35px 19px 24px 20px;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--line);z-index:11}.brand{display:flex;gap:11px;align-items:center;padding:2px 7px 39px}.brand-mark{width:36px;height:36px;background:var(--accent);color:#f6ede0;border-radius:10px;display:grid;place-items:center;font-family:Georgia,serif;font-size:23px;letter-spacing:-2px;padding-right:2px}.brand-copy b{display:block;letter-spacing:1.5px;font-size:13px;font-weight:800}.brand-copy span{display:block;color:#9aa199;font-size:10px;letter-spacing:.1px;margin-top:-2px}.nav-section{margin:0 11px 9px;color:#a3aaa1;text-transform:uppercase;font-size:10px;letter-spacing:1.4px;font-weight:700}.nav-list{display:grid;gap:5px}.nav-button{width:100%;padding:11px 12px;border:none;background:transparent;display:flex;gap:13px;align-items:center;text-align:left;color:#68736b;border-radius:10px;font-weight:600;font-size:14px;transition:background .15s,color .15s}.nav-button:hover{background:#f6f8f5;color:var(--accent)}.nav-button.active{background:var(--accent-light);color:var(--accent)}.nav-button .icon{width:19px;height:19px}.nav-button .pill-count{margin-left:auto;color:#8f9b92;font-size:11px;font-weight:500}.divider{height:1px;background:var(--line);margin:23px 12px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:22px}.sync-pill{width:100%;display:flex;align-items:center;gap:10px;padding:12px 10px;border:1px solid #e9e9e3;border-radius:11px;background:#fbfbf9;text-align:left}.sync-dot{width:8px;height:8px;border-radius:50%;background:#d6ad78;flex:none}.sync-dot.drive{background:#70a58b}.sync-detail{flex:1;min-width:0}.sync-detail b{display:block;font-size:12px}.sync-detail small{display:block;color:#9da39c;font-size:11px}.sidebar-footer{font-size:10px;color:#b0b7b0;letter-spacing:1.3px;text-align:center;margin-top:19px}.main{margin-left:245px;width:calc(100% - 245px);min-width:0}.main-inner{max-width:1220px;margin:0 auto;padding:34px 44px 80px}.topbar{display:flex;align-items:center;gap:18px;justify-content:space-between;margin-bottom:44px}.breadcrumb{font-size:12px;color:#9fa59d;font-weight:600;letter-spacing:.25px}.breadcrumb strong{color:#4b6256;font-weight:700}.top-actions{display:flex;align-items:center;gap:12px}.search-box{height:40px;width:235px;position:relative;display:flex;align-items:center;gap:10px;background:white;border:1px solid var(--line);padding:0 12px;border-radius:10px;color:#9fa99f}.search-box input{border:0;background:transparent;font-size:12px;min-width:0;flex:1;width:100%;box-shadow:none!important}.search-box kbd{font-size:10px;color:#b6bfb6;border:1px solid #e7eae4;border-radius:4px;padding:0 5px;white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);color:#536359;background:white;padding:10px 15px;border-radius:10px;font-weight:650;font-size:13px;white-space:nowrap;transition:transform .12s,background .12s}.button:hover{background:#f1f4ef}.button:active{transform:scale(.98)}.button.primary{color:white;background:var(--accent);border-color:var(--accent)}.button.primary:hover{background:#1b3b2e}.button.ghost{background:transparent;border-color:transparent}.button.danger{color:#b14f50;border-color:#edd5d3}.button .icon{height:16px;width:16px}.button.circle{border-radius:10px;width:40px;height:40px;padding:0}.page-title{font-family:Georgia,"Noto Serif KR",serif;font-size:36px;font-weight:600;letter-spacing:-1.3px;margin:0;line-height:1.4}.page-sub{color:#8d968e;font-size:13px;margin:10px 0 0}.eyebrow{display:flex;align-items:center;gap:8px;color:#62806e;font-weight:750;letter-spacing:1.8px;font-size:10px;text-transform:uppercase;margin-bottom:13px}.eyebrow::before{content:"";width:21px;height:1px;background:#71947c}.home-header{margin-bottom:37px}.home-header .date-greeting{color:#78887b;font-size:13px;font-weight:600;margin-bottom:9px}.home-header h1{font-size:39px;line-height:1.34;font-weight:620;letter-spacing:-1.6px;margin:0}.home-header h1 em{font-style:normal;color:#648c71}.home-header p{font-size:13px;color:#929a91;margin:16px 0 0}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 273px;gap:30px;align-items:start}.workspace-main{min-width:0}.workspace-side{min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-heading h2{font-size:16px;font-weight:760;letter-spacing:-.3px;margin:0}.section-heading .text-action{font-size:12px;color:#87968a;border:0;background:transparent;display:flex;align-items:center;gap:3px}.quick-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 34px}.quick-card{background:#fff;border:1px solid var(--line);padding:19px 12px 15px 17px;min-height:105px;border-radius:13px;text-align:left;position:relative;box-shadow:var(--shadow)}.quick-card:hover{border-color:#b6cabb;background:#fbfdfb}.quick-card .symbol{display:grid;place-items:center;border-radius:10px;background:#edf1ea;color:#486c57;height:34px;width:34px;margin-bottom:13px}.quick-card b{font-size:13px}.quick-card .subline{font-size:10px;color:#a1a9a1;margin-top:3px}.quick-card .tiny-plus{position:absolute;right:14px;top:16px;color:#a7b2a7}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 32px}.summary-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 15px 16px;display:flex;flex-direction:column;gap:5px;text-align:left}.summary-card:hover{border-color:#c4d4c7}.summary-label{font-size:12px;color:#8e9990}.summary-value{font-family:Georgia,serif;font-size:27px;line-height:1.2;color:#375849}.summary-foot{font-size:11px;color:#afb6af}.entry-list{display:grid;gap:10px}.entry-card{background:white;border:1px solid var(--line);border-radius:13px;padding:17px 20px 18px;transition:border .12s,box-shadow .12s;cursor:pointer;text-align:left}.entry-card:hover{border-color:#cadacd;box-shadow:0 10px 30px rgba(37,68,45,.05)}.entry-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px}.entry-meta{display:flex;align-items:center;gap:9px;min-width:0;color:#a0a79f;font-size:11px}.category-indicator{width:7px;height:7px;border-radius:50%;background:#81a18c;flex:none}.category-indicator.daily{background:#c7ac7a}.category-indicator.explore{background:#93a6bb}.category-indicator.creative{background:#c79b98}.category-indicator.people{background:#a49dbd}.entry-type{color:#597263;font-weight:700}.entry-date{white-space:nowrap}.entry-card h3{font-size:15px;margin:0 0 6px;font-weight:740;letter-spacing:-.25px}.entry-card p{color:#8d978e;font-size:12px;line-height:1.75;margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:pre-wrap;word-break:break-word}.entry-card .book-context{font-size:11px;color:#6e8c78;margin:0 0 5px}.entry-bottom{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:13px}.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{display:inline-block;border-radius:5px;padding:3px 7px;color:#839184;background:#f4f6f2;font-size:10px}.star-indicator{color:#c0a571}.empty{padding:50px 25px;text-align:center;background:#fff;border:1px dashed #daddd6;border-radius:14px}.empty .icon{width:29px;height:29px;color:#a1b3a4}.empty h3{margin:15px 0 5px;font-size:15px}.empty p{font-size:12px;color:#99a199;margin:0 0 18px}.side-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:var(--shadow);margin-bottom:16px}.side-card h3{font-size:13px;margin:0 0 18px}.side-card .label{font-size:11px;color:#99a199}.side-stat{display:flex;align-items:baseline;gap:8px}.side-stat b{font-family:Georgia,serif;font-weight:500;font-size:40px;line-height:1}.side-stat small{color:#a2aea3;font-size:11px}.mini-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:20px}.mini-week div{text-align:center;font-size:10px;color:#a3aca1}.mini-week .mini-day{display:grid;place-items:center;height:28px;border-radius:8px;background:#f5f7f3;color:#8a998c;font-size:11px}.mini-week .mini-day.has{background:#dfeae0;color:#476d51;font-weight:700}.mini-week .mini-day.today{outline:1px solid #638a70;outline-offset:1px}.side-quote{background:#edf2ec;border-radius:14px;padding:24px 22px 25px;color:#4e6b56}.side-quote span{font-family:Georgia,serif;color:#a1b6a5;font-size:33px;line-height:1}.side-quote p{line-height:1.85;margin:1px 0 13px;font-size:13px;font-weight:540}.side-quote small{color:#91aa93;font-size:10px;letter-spacing:1.3px}.view-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}.filters{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{border:1px solid #e2e8e1;color:#7d8b7f;background:#fff;font-size:12px;padding:7px 12px;border-radius:30px}.chip.active{border-color:#5b8268;background:#e8f0e9;color:#28563b;font-weight:700}.list-counter{color:#9fa89e;font-size:12px}.calendar-wrapper{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;max-width:780px}.calendar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.calendar-top h3{font-size:17px;margin:0}.calendar-top button{background:#f6f7f4;border:1px solid #e6e9e3;border-radius:8px;padding:7px;color:#6b7f6d}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.weekday{text-align:center;color:#a8b0a7;font-size:11px;padding:8px}.calendar-day{min-height:72px;text-align:left;background:#fafbf9;border:1px solid #edf0eb;padding:10px;border-radius:9px;color:#637166;display:flex;flex-direction:column;justify-content:space-between}.calendar-day:not(:disabled):hover{border-color:#b4ceb9}.calendar-day.off{visibility:hidden}.calendar-day.selected{border-color:#527d60;background:#edf4ed}.calendar-day.today .day-no{color:#285f3c;font-weight:850}.cal-dot-row{display:flex;gap:3px;flex-wrap:wrap}.cal-dot{width:5px;height:5px;background:#83a389;border-radius:50%}.cal-dot:nth-child(2){background:#ccaf7b}.cal-dot:nth-child(3){background:#c49a9a}.calendar-results{margin-top:25px;max-width:780px}.modal-backdrop{position:fixed;inset:0;background:rgba(32,44,36,.37);z-index:50;display:flex;align-items:center;justify-content:center;padding:18px}.modal{width:100%;max-width:690px;max-height:min(92vh,1050px);display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 27px 90px rgba(14,30,19,.25);overflow:hidden}.modal.modal-settings{max-width:620px}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px 27px;border-bottom:1px solid var(--line)}.modal-header h2{font-size:18px;letter-spacing:-.3px;margin:0}.modal-header p{margin:4px 0 0;color:#9ba69c;font-size:11px}.modal-body{overflow-y:auto;padding:24px 27px;scrollbar-width:thin}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:17px;min-width:0}.field label{display:block;font-size:12px;font-weight:760;color:#5b6e60;margin:0 0 7px}.field input,.field select,.field textarea{width:100%;border:1px solid #e3e9e1;border-radius:9px;padding:10px 12px;background:#fefefd;font-size:13px;resize:vertical}.field input,.field select{height:41px}.field textarea{min-height:235px;line-height:1.9;white-space:pre-wrap}.field textarea.small-area{min-height:112px}.field .hint{font-size:11px;color:#a3aca2;margin:5px 0 0}.field .optional{font-weight:400;color:#a9b0a8}.modal-footer{padding:15px 27px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line)}.footer-left,.footer-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.versions{border:1px solid #edf0ea;border-radius:10px;padding:12px 13px;margin-bottom:17px}.versions summary{font-size:12px;color:#587361;font-weight:720;cursor:pointer}.version-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0ec;margin-top:10px;padding-top:10px;font-size:12px}.version-row small{color:#9da69e}.settings-intro{font-size:13px;color:#798a7d;line-height:1.9;margin:-2px 0 20px}.settings-block{border:1px solid var(--line);border-radius:13px;padding:19px;margin-bottom:15px}.settings-block h3{font-size:14px;margin:0 0 5px}.settings-block p{font-size:12px;color:#849187;line-height:1.9;margin:0 0 14px}.settings-block .button{margin:3px 6px 3px 0}.settings-block small{display:block;color:#a1aa9f;margin-top:11px;line-height:1.8}.settings-block code{font-size:11px;background:#f1f4ef;padding:2px 4px;border-radius:4px;overflow-wrap:anywhere}.status-line{display:flex;align-items:center;gap:9px;font-size:12px;color:#6e7c70;margin-bottom:13px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);padding:12px 18px;background:#284a3b;color:#fff;font-size:13px;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.14);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:70;max-width:calc(100vw - 40px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.modal-exit{background:transparent;border:0;color:#829284;width:29px;height:29px;padding:4px;display:grid;place-items:center}.dropzone-note{font-size:11px;color:#a5aca4}.highlight{color:#3e7952;font-weight:700}.mobile-menu-toggle{display:none}.side-tags{display:flex;flex-wrap:wrap;gap:6px}.side-tags button{border:1px solid #e6ede5;background:#f8fbf7;border-radius:20px;font-size:11px;color:#738976;padding:6px 8px}.side-tags button:hover{background:#e9f2e8}.mobile-nav-backdrop{display:none}@media(max-width:1150px){.main-inner{padding:30px 30px 65px}.workspace{grid-template-columns:minmax(0,1fr) 235px;gap:19px}.quick-row{gap:8px}.quick-card{padding-left:12px}}@media(max-width:970px){.workspace{grid-template-columns:minmax(0,1fr)}.workspace-side{display:none}.main-inner{max-width:800px}.topbar{margin-bottom:38px}}@media(max-width:700px){.sidebar{transform:translateX(-101%);transition:transform .2s;box-shadow:10px 0 30px rgba(0,0,0,.04)}body.menu-open .sidebar{transform:translateX(0)}body.menu-open .mobile-nav-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:10}.main{width:100%;margin-left:0}.main-inner{padding:19px 17px 65px}.mobile-menu-toggle{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:9px;background:#fff;border:1px solid var(--line)}.topbar{gap:9px;margin-bottom:29px}.top-actions{gap:7px}.breadcrumb{display:none}.search-box{width:40px;justify-content:center;padding:0 9px}.search-box .icon{width:17px}.search-box input{font-size:12px;transition:width .16s;width:0;min-width:0;flex:0;padding:0}.search-box:focus-within{width:min(56vw,250px)}.search-box:focus-within input{width:100%;flex:1}.search-box kbd{display:none}.top-actions>.button{padding:10px 12px}.top-actions>.button .button-label{display:none}.home-header{margin-bottom:30px}.home-header h1{font-size:29px}.home-header .date-greeting{font-size:12px}.quick-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.quick-card{padding:13px 6px 11px;text-align:center;min-height:83px}.quick-card .symbol{margin:0 auto 9px;width:31px;height:31px}.quick-card .tiny-plus,.quick-card .subline{display:none}.quick-card b{font-size:11px}.summary-grid{gap:8px}.summary-card{padding:12px 9px}.summary-label{font-size:11px}.summary-value{font-size:23px}.summary-foot{font-size:9px}.view-head{align-items:flex-start}.page-title{font-size:30px}.calendar-wrapper{padding:13px}.calendar-grid{gap:3px}.calendar-day{min-height:60px;padding:6px;font-size:11px}.modal-backdrop{padding:0;align-items:flex-end}.modal{max-width:none;max-height:95dvh;border-radius:18px 18px 0 0}.modal-header{padding:19px 20px}.modal-body{padding:20px}.modal-footer{padding:13px 20px}.form-grid{gap:10px}.button{font-size:12px}}@media(max-width:375px){.home-header h1{font-size:26px}.quick-card b{font-size:10px}.modal-footer{flex-wrap:wrap}.footer-right{margin-left:auto}}

/* 이전 버전의 기록은 데이터를 손실하지 않고 열람할 수 있어. */
.legacy-hint{font-size:12px;line-height:1.8;color:#738478;background:#f2f6f1;border-radius:9px;padding:11px 13px;margin:0 0 16px}.legacy-details{font-size:12px;color:#788779;margin:10px 0 0}.book-context{font-size:11px;color:#9aa79d;margin:3px 0 4px}
/* DALT JOURNAL v1.3 — connections / AI suggestions */
.entry-linkcount{display:inline-flex;align-items:center;gap:4px;color:#688e77;background:#eff5ef;padding:3px 7px;border-radius:9px;white-space:nowrap}
.related-wrap{border-top:1px solid #e8ede6;padding-top:22px;margin-top:10px}
.related-header{display:flex;justify-content:space-between;align-items:center}
.related-header h3,.related-wrap h3{font-size:14px;margin:0 0 10px;color:#385942}
.related-header span{font-size:11px;color:#809184}
.related-hint{font-size:11px;color:#929e93;line-height:1.8;margin:7px 0 13px}
.linked-list{display:grid;gap:7px;margin-bottom:16px}
.linked-row{display:flex;align-items:center;gap:8px;border:1px solid #e6eee6;border-radius:10px;background:#f9fbf8;padding:7px 9px}
.linked-row button:first-child{flex:1;background:none;border:none;text-align:left;color:#345843;font-size:12px;font-weight:700;white-space:normal}
.linked-row small,.candidate-row small{display:block;color:#91a094;font-size:10px;font-weight:400;margin-top:3px}
.unlink{background:transparent;color:#9eaa9e;border:0;padding:8px}
.link-search{margin:14px 0 10px}
.candidate-list{display:grid;gap:6px;max-height:230px;overflow:auto}
.candidate-row{display:flex;align-items:center;justify-content:space-between;gap:9px;border:1px solid #edf0e9;border-radius:9px;padding:9px 11px}
.candidate-row b{font-size:12px;font-weight:650}
.candidate-row button{border:1px solid #d9e8da;background:#f3f9f2;border-radius:8px;color:#4e735a;padding:7px 9px;font-size:11px;white-space:nowrap}
.graph-scroll{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:auto;padding:15px}
.connection-graph{display:block;width:100%;min-width:590px;max-height:950px}
.graph-edge{stroke:#a7c1b0;stroke-width:2;stroke-opacity:.72}
.graph-circle{stroke:#c3d6c9;fill:#e8f2e9;stroke-width:2;transition:fill .2s}
.graph-circle.daily{fill:#f5f0e6;stroke:#dcc5a0}.graph-circle.explore{fill:#e9eff6;stroke:#b7c7d9}.graph-circle.creative{fill:#f8eeec;stroke:#ddb8b4}.graph-circle.people{fill:#f1edf6;stroke:#c9bfda}
.graph-node{cursor:pointer}.graph-node:hover .graph-circle,.graph-node:focus .graph-circle{stroke:#3b7551;stroke-width:3}
.graph-type{font-size:12px;font-weight:700;fill:#365542}.graph-label{font-size:10px;fill:#6c796e}
.connection-list{display:grid;gap:8px}.connection-pair{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);padding:12px;border-radius:10px}.connection-pair button{flex:1;min-width:0;text-align:left;word-break:break-word;border:0;background:none;color:#426a50;font-size:13px}.connection-pair span{color:#90ab98}
@media(max-width:700px){.connection-pair{padding:9px;gap:5px}.connection-pair button{font-size:11px}.modal-body{overscroll-behavior:contain}}

/* v1.4.4: quiet, readable per-record AI analysis state */
.entry-meta{flex-wrap:wrap}

/* v1.4.5: diary versus contemplation, visible only while selecting a type */
.type-hint{margin:-5px 0 17px;padding:8px 11px;border-radius:9px;background:#f5f7f2;color:#677c6a;font-size:11px;line-height:1.7}
.type-hint b{font-weight:750;color:#475d4c}

/* Read source and notes before creating a manual relationship */
.candidate-list{max-height:460px}
.candidate-row{align-items:flex-start}
.candidate-preview{flex:1;min-width:0}
.candidate-preview summary{list-style:revert;cursor:pointer;white-space:normal;overflow-wrap:anywhere}
.candidate-preview summary:hover{color:var(--accent)}
.candidate-preview summary small{display:block;color:#91a094;font-size:10px;font-weight:400}
.candidate-full-text{margin:10px 0 4px;padding:10px 12px;background:#fafbf9;border:1px solid #e9eee8;border-radius:8px;max-height:300px;overflow-y:auto}
.candidate-full-text strong{font-size:11px;color:#4a6853}
.candidate-full-text p{margin:4px 0 12px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.85;color:#415246}
.settings-block code{white-space:normal;overflow-wrap:anywhere;font-size:10px}

/* v1.4.7 — scalable journal connection explorer */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.connections-layout{display:grid;grid-template-columns:minmax(260px,315px) minmax(0,1fr);gap:22px;align-items:start}
.connections-browser,.connections-main{background:#fff;border:1px solid var(--line);border-radius:15px;min-width:0}
.connections-browser{padding:20px;max-height:78vh;overflow-y:auto;position:sticky;top:22px}
.connections-browser h2{font-size:16px;margin:0 0 14px;letter-spacing:-.3px}
.connections-search{display:flex;align-items:center;gap:9px;border:1px solid #e2e9e1;border-radius:9px;background:#fdfefd;padding:0 11px;height:42px;color:#71917b}
.connections-search input{border:0;background:transparent;outline:0;width:100%;min-width:0;font-size:12px;color:var(--ink)}
.connections-search:focus-within{border-color:#93b29c;box-shadow:0 0 0 3px rgba(56,111,80,.08)}
.connections-category-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:13px 0}
.connections-category-tabs button{border:1px solid #e5ece4;border-radius:20px;padding:5px 10px;background:#fafcf9;color:#667b6a;font-size:11px;font-weight:650}
.connections-category-tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.connections-result-count{font-size:11px;color:#849486;margin:7px 0 10px}
.connections-record-list{display:grid;gap:5px}
.connections-record{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #ecf0ea;text-align:left;border-radius:10px;padding:10px 8px;width:100%;min-width:0;color:#586b5d}
.connections-record:hover,.connections-record:focus-visible{background:#f7faf7;border-color:#cbdccc}
.connections-record.selected{background:#eaf3ec;border-color:#afc8b4}
.connections-record-name{flex:1;min-width:0}
.connections-record-name b{display:block;color:#365642;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.connections-record-name small{display:block;color:#94a197;font-size:10px;margin-top:3px}
.connections-record .icon{width:15px;height:15px}
.connections-pager{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-top:15px;color:#8c9b8f;font-size:11px}
.connections-pager button{background:#f7faf7;border:1px solid #e1e9df;padding:6px 12px;border-radius:7px;font-size:11px;color:#496452}
.connections-pager button:disabled{opacity:.42}
.connections-none{font-size:12px;color:#95a297;padding:19px 0}
.connections-main{padding:23px;min-height:510px}
.connections-overview h2,.connections-focused h2{margin:0;font-size:20px;line-height:1.5;font-weight:750;letter-spacing:-.5px;overflow-wrap:anywhere}
.connections-overview>p,.connections-focus-help{color:#8b998f;font-size:12px;line-height:1.8;margin:8px 0 19px}
.connections-overview h3,.connections-neighbor-heading h3{font-size:14px;margin:24px 0 12px}
.connections-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.connections-stats>div{display:flex;flex-direction:column;background:#f8faf7;border:1px solid #e8eee7;border-radius:11px;padding:15px}
.connections-stats b{font:600 25px Georgia,serif;color:#355a43}
.connections-stats small{font-size:11px;color:#8c9c90}
.connections-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.connections-summary-card{text-align:left;background:#fff;border:1px solid #e3ebe3;border-radius:11px;padding:14px;display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.connections-summary-card:hover,.connections-summary-card:focus-visible{border-color:#abc7b2;background:#fbfdfb}
.connections-summary-card b{font-size:13px;color:#345744}
.connections-summary-card strong{font-family:Georgia,serif;font-size:23px;font-weight:600;color:#486954}
.connections-summary-card strong small{font:400 10px system-ui;color:#93a398}
.connections-summary-card>span:last-child{font-size:10px;color:#93a599}
.connections-hubs{display:grid;gap:7px}
.connections-hubs button{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fbfdfb;border:1px solid #ebf0eb;border-radius:9px;padding:12px;text-align:left;font-size:12px;color:#41604d}
.connections-hubs button:hover{background:#eaf3eb}
.connections-hubs button span{min-width:0;overflow-wrap:anywhere}
.connections-hubs button small{flex:none;color:#8ca08f;font-size:10px}
.connections-overview-back{padding:0;margin:0 0 18px;background:none;border:0;color:#5e816b;font-size:12px}
.connections-overview-back:hover{text-decoration:underline}
.connections-focus-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.connections-focus-head .eyebrow{margin:0 0 8px}
.connections-focus-head p{margin:7px 0 0;font-size:11px;color:#8e9c90}
.connections-focus-head .button{font-size:11px;padding:8px 11px}
.connections-focus-help{margin:14px 0 13px}
.connection-graph-focused{min-width:570px;max-height:none}
.graph-node-center .graph-circle{stroke-width:3;stroke:#89af96}
.graph-label-center{font-size:11px;font-weight:700;fill:#365542}
.connections-empty-focus{padding:65px 20px;text-align:center;border:1px dashed #dfe8df;border-radius:12px;color:#91a095;font-size:12px;line-height:1.9}
.connections-map-cap{margin:9px 0;color:#8d9b90;font-size:11px;line-height:1.8}
.connections-neighbor-heading{margin-top:25px;margin-bottom:10px}
.connections-neighbor-heading h3{margin:0}
.connections-neighbor-heading small{color:#8f9c91;font-size:11px}
.connections-neighbor-list{display:grid;gap:6px}
.connections-neighbor-row{display:flex;align-items:center;gap:8px;background:#fdfefd;border:1px solid #edf0eb;border-radius:9px;padding:10px}
.connections-neighbor-row>button:first-child{flex:1;min-width:0;text-align:left;border:0;background:transparent;padding:0;color:#40634d}
.connections-neighbor-row b{font-size:12px;overflow-wrap:anywhere}
.connections-neighbor-row small{display:block;margin-top:3px;font-size:10px;color:#91a095;line-height:1.6}
.connections-neighbor-row .connections-open-record{flex:none;background:#f3f7f1;border:1px solid #e0eadc;border-radius:7px;color:#5b7b60;font-size:11px;padding:6px 9px}
@media(max-width:1050px){.connections-layout{grid-template-columns:minmax(0,1fr)}.connections-browser{position:static;max-height:none}.connections-main{min-height:0}}
@media(max-width:650px){.connections-main,.connections-browser{padding:16px}.connections-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.connections-focus-head{flex-direction:column}.connections-hubs button{align-items:flex-start;flex-direction:column;gap:4px}.connections-summary-card{padding:10px}}

.connections-flows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.connections-flow-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px;border:1px solid #e8eee6;background:#fbfdfb;padding:11px;border-radius:9px;color:#4e6656;font-size:11px}
.connections-flow-row b{color:#78917c;font-size:10px;white-space:nowrap}
@media(max-width:650px){.connections-flows{grid-template-columns:1fr}}


/* v1.4.8: encrypted journal setup and lock screen */
.vault-lock-screen{min-height:100vh;display:grid;place-items:center;padding:25px;background:#f8f7f4}
.vault-lock-card{width:min(100%,445px);border:1px solid #e5eae2;border-radius:18px;padding:38px;background:#fff;box-shadow:0 12px 45px rgba(36,53,39,.05)}
.vault-lock-card .brand-mark{margin-bottom:25px}
.vault-lock-card h1{font-family:Georgia,"Noto Serif KR",serif;font-size:27px;margin:0 0 12px;color:#2e4e3b}
.vault-lock-card p{color:#738679;font-size:13px;line-height:1.85;margin:0 0 25px}
.vault-lock-card label{display:block;font-weight:750;font-size:12px;margin:0 0 8px}
.vault-lock-card input{width:100%;border:1px solid #dce5dc;border-radius:9px;padding:12px 14px;background:#fcfefc;margin-bottom:13px}
.vault-lock-card .button{width:100%}
.vault-lock-card small{display:block;margin-top:23px;font-size:11px;line-height:1.9;color:#93a093}
.vault-settings .field{margin-top:13px;margin-bottom:13px}
.vault-important{border-left:3px solid #b89b6b;background:#faf8f2;padding:10px 12px;font-size:12px;color:#655d4f}
.vault-checkbox{display:flex;align-items:flex-start;gap:10px;margin:16px 0;font-size:12px;line-height:1.7;color:#536a59}
.vault-checkbox input{margin-top:3px;accent-color:#3f7051}

/* v1.5.0 — daily Drive snapshot archive */
.backup-automatic{margin-top:17px;padding-top:17px;border-top:1px solid var(--line)}
.backup-automatic h4{font-size:13px;margin:0 0 7px;color:var(--accent)}
.backup-automatic #backup-state-text{margin:9px 0;color:#597963;font-weight:650}
.backup-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.backup-row span{font-size:12px;overflow-wrap:anywhere;color:#607465}
.backup-row .button{padding:7px 10px;font-size:11px}
@media(max-width:550px){.backup-row{align-items:flex-start;flex-direction:column}}

/* v1.5.1 — optional browser-local trusted-device unlock */
.vault-trust-option{display:flex;align-items:flex-start;gap:10px;margin:13px 0 18px;
  padding:12px 13px;background:#f7f9f5;border:1px solid #e3e9df;border-radius:10px;
  font-size:12px;font-weight:700;color:#42604b;text-align:left;cursor:pointer}
.vault-trust-option input{width:16px;height:16px;flex:none;margin:2px 0 0;accent-color:var(--accent)}
.vault-trust-option span{flex:1}
.vault-trust-option small{display:block;font-size:11px;line-height:1.7;font-weight:400;
  color:#7c8c7f;margin-top:4px}
.vault-trust-settings{margin:14px 0;padding:15px;background:#f7f9f6;border-radius:11px}
.vault-trust-settings h4{font-size:13px;margin:0 0 7px;color:var(--accent)}
.vault-trust-settings p{margin-bottom:8px}
.vault-trust-settings small{display:block;font-size:11px}
.vault-trust-settings .button[hidden]{display:none}

/* v1.5.4 — distraction-free wider journal editor. Settings modal is unchanged. */
.modal.modal-editor{
  max-width:min(980px,calc(100vw - 40px));
  max-height:min(94dvh,1100px);
}
.modal.modal-editor .field textarea:not(.small-area){
  min-height:330px;
  font-size:14px;
  line-height:1.95;
}
.modal.modal-editor .modal-body{overscroll-behavior:contain}
@media(max-width:700px){
  .modal.modal-editor{
    max-width:none;
    max-height:95dvh;
  }
  .modal.modal-editor .field textarea:not(.small-area){min-height:255px}
}

/* v1.5.5: editor defaults to 800px. Drag either edge to resize on desktop. */
.modal.modal-editor{
  position:relative;
  width:var(--editor-width,800px);
  max-width:calc(100vw - 40px);
}
.editor-resize-handle{
  position:absolute;
  top:68px;
  bottom:62px;
  z-index:3;
  width:16px;
  padding:0;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  cursor:ew-resize;
  touch-action:none;
  user-select:none;
}
.editor-resize-left{left:0}
.editor-resize-right{right:0}
.editor-resize-handle::after{
  content:'';
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  height:65px;
  width:4px;
  border-radius:4px;
  background:#b3c4b6;
  opacity:.8;
  transition:background .15s,opacity .15s;
}
.editor-resize-left::after{left:3px}
.editor-resize-right::after{right:3px}
.editor-resize-handle:hover::after,.editor-resize-handle:focus-visible::after{
  background:#527b61;opacity:1;
}
.editor-resize-handle:focus-visible{
  outline:2px solid #749e80;
  outline-offset:-2px;
}
body.editor-is-resizing,body.editor-is-resizing *{cursor:ew-resize!important;user-select:none!important}
@media(max-width:700px){
  .modal.modal-editor{width:100%;max-width:none}
  .editor-resize-handle{display:none}
}

/* v1.5.7 — read-only journal mode; text formatting controls removed */
.modal.modal-reader{width:var(--editor-width,800px);max-width:calc(100vw - 40px);max-height:min(94dvh,1100px)}
.modal-reader .journal-reader-scroll{overflow:auto;overscroll-behavior:contain;padding:32px clamp(22px,5vw,62px);user-select:text}
.journal-reader-article{max-width:76ch;margin:0 auto;color:#29392f}
.journal-reader-meta{display:flex;gap:11px;flex-wrap:wrap;font-size:12px;color:#718878}
.journal-reader-title{margin:12px 0 23px;font-size:clamp(23px,3vw,31px);font-weight:780;line-height:1.5;overflow-wrap:anywhere}
.journal-reader-details{display:flex;gap:12px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:12px;color:#79887d}
.journal-reader-section{margin:24px 0}
.journal-reader-section h3,.journal-reader-links h3{font-size:12px;color:#829184;font-weight:720;margin:0 0 10px}
.journal-reader-text{font-size:15px;line-height:2.1;white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;min-height:8px}
.journal-reader-tags,.journal-reader-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:27px}
.journal-reader-tags span,.journal-reader-links span{padding:5px 10px;background:#f0f6ef;border-radius:14px;color:#5c7964;font-size:11px}
.journal-reader-links{border-top:1px solid var(--line);padding-top:18px}
.journal-reader-links h3{flex-basis:100%}
.journal-readonly-note{font-size:11px;color:#79907f}
@media(max-width:700px){
  .modal.modal-reader{width:100%;max-width:none;max-height:95dvh}
  .modal-reader .journal-reader-scroll{padding:22px 20px}
  .journal-reader-text{font-size:14px;line-height:2}
}

/* v1.5.9 — preserve existing home card styling; show a full monthly mini calendar */
.home-header-compact{margin-bottom:24px}
.home-header-compact .date-greeting{margin-bottom:0}
.home-month-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.home-month-head h3{margin:0}
.home-month-head span{font-size:10px;color:#9aa69b;white-space:nowrap}
.mini-month{margin-top:19px;gap:5px}
.mini-month .mini-day{width:100%;min-width:0;height:28px;border:0;padding:0;font:inherit;font-size:11px;line-height:1;cursor:pointer}
.mini-month .mini-day.empty{background:transparent;cursor:default}
.mini-month .mini-day:not(.empty):hover{background:#edf4ed;color:#285f3c}
.mini-month .mini-day.has:hover{background:#cde1cf}
.mini-month .mini-day:focus-visible{outline:2px solid #527d60;outline-offset:1px}
.mini-month .mini-weekday{text-align:center;font-size:10px;color:#a3aca1}
@media(max-width:1150px) and (min-width:971px){
  .mini-month{gap:4px}
  .side-card{padding:17px}
}

/* Reader actions and reversible 30-day trash (web + native shared metadata) */
.reader-header-actions{display:flex;align-items:center;gap:8px;position:relative}
.reader-popover{position:absolute;top:42px;right:28px;z-index:6;padding:7px;background:white;border:1px solid var(--line);box-shadow:0 12px 28px rgba(0,0,0,.12);border-radius:10px;min-width:170px}
.reader-popover .button{width:100%;justify-content:flex-start;border:0}
.selection-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;margin-bottom:14px;background:var(--accent-light);border:1px solid #cbdacf;border-radius:10px;font-size:13px;color:var(--accent)}
.entry-card.selecting{display:flex;flex-direction:column;border-color:#d6e0d5}
.entry-card.selecting[aria-pressed="true"]{background:#edf5ed;border-color:#6d9880}
.entry-selection{color:var(--accent);font-size:22px;line-height:1;margin-bottom:5px}
.trash-card{cursor:default}
.trash-card .entry-bottom{align-items:center}

/* Cloudflare restored journal — original palette preserved */
.restore-notice{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;border:1px solid #c9d9cc;background:#eef5ef;border-radius:14px;padding:18px 22px;margin:4px 0 25px}
.restore-notice h2{font-size:16px;color:#284c3e;margin:0 0 4px}
.restore-notice p{font-size:12px;color:#536359;line-height:1.65;margin:0;max-width:680px}
.restore-notice .button{flex:none}
.nav-external{color:#284c3e;text-decoration:none}
.nav-external:hover{background:#e8f0e9}
@media(max-width:700px){.restore-notice{padding:15px}.restore-notice .button{width:100%}}

/* Unified connection map inside the writing workspace */
.embedded-map-frame{min-height:min(78vh,1050px);height:calc(100vh - 150px);overflow:hidden;border:1px solid #e3e9e2;border-radius:15px;background:#f8f7f4}
.embedded-map-frame iframe{display:block;width:100%;height:100%;border:0;background:#f8f7f4}
@media(max-width:700px){.embedded-map-frame{height:calc(100dvh - 115px);min-height:480px;border-radius:8px}}
