:root{--bg:#f5f3ed;--paper:#fffefa;--paper-2:#eeece4;--ink:#20211f;--muted:#85847d;--line:#dfddd5;--line-strong:#cbc8bd;--accent:#b0a083;--accent-dark:#6d5d43;--dark:#20221f;--dark-2:#2c2e2a;--good:#53765b;--danger:#a54c40;--shadow:0 22px 60px rgba(36,35,29,.12);--radius:16px;--font-sans:'DM Sans',system-ui,-apple-system,sans-serif;--font-serif:'Playfair Display',Georgia,serif;--font-mono:'DM Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 var(--font-sans);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent-dark);outline-offset:3px}a{color:inherit;text-decoration:none}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.app-shell{min-height:100vh}.sidebar{width:248px;position:fixed;inset:0 auto 0 0;background:#eae8e0;border-right:1px solid var(--line);padding:26px 18px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 32px}.brand-mark{width:34px;height:34px;position:relative;display:inline-flex;align-items:center;justify-content:center}.brand-mark:before,.brand-mark:after,.brand-mark span{content:"";position:absolute;width:17px;height:26px;border:1.5px solid #393a34;border-radius:100%;transform:rotate(42deg)}.brand-mark:after{transform:rotate(-42deg)}.brand-mark span:first-child{width:6px;height:6px;background:var(--accent-dark);border:0;border-radius:50%}.brand-mark span:last-child{width:31px;height:1px;border:0;background:#81765f;transform:rotate(-32deg)}.brand-copy strong{display:block;font-size:17px;letter-spacing:-.055em;font-weight:700}.brand-copy small{display:block;color:#79776f;font-size:10px;letter-spacing:.04em;margin-top:1px}.workspace-label{font:10px var(--font-mono);letter-spacing:.13em;color:#97948a;padding:0 12px 10px}.second-label{margin-top:30px}.primary-nav{display:grid;gap:4px}.nav-item{display:flex;align-items:center;gap:11px;width:100%;border:0;background:transparent;text-align:left;color:#686860;padding:11px 12px;border-radius:9px;font-size:12px;transition:background .18s,color .18s}.nav-item svg{width:17px;height:17px}.nav-item:hover{background:rgba(255,255,255,.5);color:var(--ink)}.nav-item.active{background:#fffefa;color:#252621;box-shadow:0 2px 6px rgba(27,27,22,.04);font-weight:600}.nav-count{margin-left:auto;background:#eeece4;border-radius:5px;padding:1px 6px;font:10px var(--font-mono);color:#88857b}.nav-glyph{width:17px;text-align:center;font-size:17px;color:inherit}.sidebar-spacer{flex:1;min-height:30px}.storage-card{background:#22241f;color:#f4f1e9;border-radius:12px;padding:16px 14px 14px;margin:0 2px}.storage-icon{width:30px;height:30px;background:#3d4037;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#d3c6aa;margin-bottom:12px}.storage-icon svg{width:16px}.storage-title{font-size:12px;font-weight:600}.storage-card p{font-size:10.5px;line-height:1.55;color:#aaa99f;margin:5px 0 14px}.button{border:1px solid transparent;border-radius:9px;padding:11px 14px;display:inline-flex;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:600;transition:background .18s,border-color .18s,transform .18s;white-space:nowrap}.button svg{width:15px;height:15px}.button:hover{transform:translateY(-1px)}.button-dark{background:var(--dark);color:#fffdf6}.button-dark:hover{background:#393b34}.button-outline{background:transparent;border-color:var(--line-strong);color:var(--ink)}.button-outline:hover{background:var(--paper);border-color:#aaa79c}.button-danger{background:#f6e9e5;color:var(--danger);border-color:#e8c8c0}.button-danger:hover{background:#f0dcd5}.button-small{padding:8px 11px;font-size:11px}.full-width{width:100%}.sidebar .button-dark{background:#ebe5d8;color:#2d2b25}.sidebar .button-dark:hover{background:#fff9e9}.sidebar .button svg{width:13px;height:13px}.sidebar-bottom{display:flex;align-items:center;gap:7px;padding:17px 7px 0;font-size:10px;color:#89867d}.status-dot{width:6px;height:6px;background:#6e9772;border-radius:50%;display:inline-block}.icon-button{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;transition:background .18s}.icon-button:hover{background:var(--paper)}.icon-button svg{width:17px}.icon-button.tiny{width:28px;height:28px;margin-left:auto;border:0}.icon-button.tiny svg{width:15px}.main-area{margin-left:248px;min-height:100vh}.topbar{height:69px;padding:0 38px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:rgba(245,243,237,.91);position:sticky;top:0;z-index:15;backdrop-filter:blur(16px)}.breadcrumbs{display:flex;align-items:center;gap:10px;font:10px var(--font-mono);letter-spacing:.1em;color:#99968d}.breadcrumbs svg{width:12px;height:12px}.breadcrumbs strong{font-family:var(--font-sans);font-weight:600;letter-spacing:0;font-size:12px;color:#34352f}.topbar-actions{display:flex;align-items:center;gap:10px}.connection-pill{display:flex;align-items:center;gap:7px;color:#89867d;font-size:10px;padding-right:7px}.connection-pill i{width:6px;height:6px;background:#c5a878;border-radius:50%}.connection-pill.connected i{background:#65946b}.connection-pill.connected{color:#536d56}.connection-pill span{white-space:nowrap}.avatar-button{height:31px;width:31px;background:#d4c6ac;border:0;border-radius:50%;font:600 12px var(--font-serif);color:#494130}.mobile-menu{display:none}.content-wrap{max-width:1440px;margin:0 auto;padding:0 38px 26px}.view{display:none}.view.active{display:block;animation:fadeUp .32s ease}@keyframes fadeUp{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.hero-block{position:relative;min-height:333px;padding:47px 35px 20px 2px;border-bottom:1px solid var(--line);overflow:hidden}.hero-copy{max-width:530px;position:relative;z-index:2}.eyebrow{display:flex;align-items:center;gap:9px;font:9px var(--font-mono);letter-spacing:.15em;color:#928b7b}.eyebrow-line{display:inline-block;width:20px;height:1px;background:#9a8d70}.hero-block h1,.page-intro h1{font:500 clamp(39px,4.5vw,56px)/1.08 var(--font-serif);letter-spacing:-.045em;margin:16px 0 16px;color:#272822}.hero-block h1 em,.page-intro h1 em{font-weight:500;color:#8b795a}.hero-description{max-width:440px;color:#77766e;line-height:1.78;font-size:13px;margin:0}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:22px}.hero-actions .button{padding:12px 15px}.text-button{border:0;background:transparent;color:#5f5b50;display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:600;padding:8px 0}.text-button:hover{color:var(--accent-dark)}.text-button svg{width:14px;height:14px}.hero-art{position:absolute;width:390px;height:330px;right:12px;top:3px;opacity:.96}.orbit{position:absolute;left:66px;top:32px;width:245px;height:245px;border:1px solid #d9d2c2;border-radius:50%}.orbit-two{left:91px;top:56px;width:198px;height:198px;border-color:#cfc6b3;border-style:dashed}.orb{position:absolute;top:80px;width:130px;height:165px;border-radius:50%;filter:drop-shadow(0 12px 20px rgba(0,0,0,.06))}.orb-light{left:86px;background:linear-gradient(145deg,#fdfbf3,#d8ccb3);transform:rotate(-35deg);border:1px solid #cfc4ac}.orb-dark{left:181px;top:94px;background:linear-gradient(145deg,#55564f,#1b1c19);transform:rotate(35deg);border:1px solid #252722;mix-blend-mode:multiply;opacity:.96}.orb-core{position:absolute;width:36px;height:36px;top:144px;left:180px;border:1px solid rgba(135,114,77,.8);border-radius:50%;background:#e6d6b8;box-shadow:0 0 0 8px rgba(231,221,202,.35)}.art-center-mark{position:absolute;top:153px;left:185px;font:24px var(--font-serif);color:#5d503b}.art-caption{position:absolute;font:8px var(--font-mono);letter-spacing:.16em;color:#958b77}.caption-one{top:72px;left:19px}.caption-two{bottom:73px;right:1px}.hero-footnote{position:absolute;bottom:17px;left:1px;right:0;display:flex;justify-content:space-between;font:9px var(--font-mono);letter-spacing:.1em;color:#a09c90}.hero-footnote span:last-child{text-align:right}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 43px}.stat-card{border:1px solid var(--line);background:rgba(255,254,250,.4);border-radius:11px;min-height:103px;padding:15px 16px}.stat-label{font:9px var(--font-mono);letter-spacing:.11em;color:#98948a}.stat-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:7px}.stat-bottom strong{font:500 25px/1.1 var(--font-serif);letter-spacing:-.04em}.stat-symbol{font:19px var(--font-serif);color:#afa187}.stat-note{font-size:10px;color:#a09c93;display:block;margin-top:6px}.stat-date{font-size:18px!important}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-heading h2{font:500 31px/1.15 var(--font-serif);letter-spacing:-.035em;margin:8px 0 4px}.section-subtitle{margin:0;font-size:11px;color:#8a887f}.heading-actions{display:flex;align-items:center;gap:11px}.search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;background:var(--paper);height:38px;padding:0 10px;width:215px}.search-box svg{width:15px;color:#9a968a}.search-box input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:11px;color:var(--ink)}.search-box input::placeholder{color:#aaa69d}.search-box kbd{border:1px solid var(--line);border-radius:3px;color:#aaa69d;padding:0 4px;font:10px var(--font-mono)}.filter-row{display:flex;align-items:center;justify-content:space-between;margin:22px 0 15px;gap:12px}.filter-tabs{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.filter-tab{border:0;background:transparent;color:#8d8a80;padding:7px 10px;border-radius:7px;font-size:10.5px}.filter-tab:hover{color:var(--ink);background:rgba(255,255,255,.55)}.filter-tab.active{background:#e4ded0;color:#514735;font-weight:600}.sort-select{font-size:10px;color:#a09d93;display:flex;align-items:center;gap:7px;white-space:nowrap}.sort-select select{border:0;background:transparent;color:#66645b;font-size:10.5px;max-width:120px}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.writing-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px;min-height:197px;display:flex;flex-direction:column;position:relative;transition:transform .2s,border-color .2s,box-shadow .2s;cursor:pointer}.writing-card:hover{transform:translateY(-3px);border-color:#c6bfaf;box-shadow:0 10px 26px rgba(45,43,36,.06)}.writing-card:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}.card-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}.kind-label{font:9px var(--font-mono);letter-spacing:.08em;color:#998d73;text-transform:uppercase}.card-status{font-size:9px;color:#858477;border-radius:4px;padding:3px 6px;background:#f0eee6;white-space:nowrap}.card-status.established{background:#e9eee5;color:#5c745b}.card-status.revisiting{background:#f4ebdc;color:#8d6d3d}.card-title{font:500 20px/1.2 var(--font-serif);letter-spacing:-.025em;margin:14px 0 7px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.card-subtitle{font-size:10px;color:#9b988f;margin:0;min-height:15px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}.card-excerpt{font-size:10.5px;line-height:1.65;color:#77766e;margin:13px 0 16px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.card-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eeece5;padding-top:11px;gap:7px}.card-section{font-size:9.5px;color:#969286;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-date{font:9px var(--font-mono);color:#aaa69c;white-space:nowrap}.card-menu{position:absolute;top:42px;right:13px;z-index:2;display:flex;gap:4px;opacity:0;transition:opacity .18s}.writing-card:hover .card-menu,.writing-card:focus-within .card-menu{opacity:1}.card-menu button{width:27px;height:27px;border:1px solid var(--line);border-radius:7px;background:var(--paper);display:flex;align-items:center;justify-content:center;color:#777468}.card-menu button svg{width:13px;height:13px}.sample-card{border-style:dashed;background:rgba(255,254,250,.28);cursor:default}.sample-card:hover{transform:none;box-shadow:none;border-color:var(--line)}.sample-stamp{font:9px var(--font-mono);color:#a8a08e;letter-spacing:.1em}.empty-state{border:1px dashed var(--line-strong);border-radius:14px;padding:46px 20px;text-align:center;margin:22px 0;background:rgba(255,254,250,.28)}.hidden{display:none!important}.empty-illustration{width:70px;height:70px;margin:0 auto 16px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center}.empty-circle{width:42px;height:42px;border:1px solid #bdb29d;background:#eeeadf;color:#8a795a;border-radius:50%;display:flex;align-items:center;justify-content:center;font:23px var(--font-serif)}.empty-state h3{font:500 24px var(--font-serif);margin:0 0 8px}.empty-state p{font-size:11px;color:#89867e;max-width:380px;margin:0 auto 20px;line-height:1.7}.page-footer{display:flex;align-items:center;justify-content:space-between;margin-top:38px;padding:15px 0;border-top:1px solid var(--line);font:8px var(--font-mono);letter-spacing:.13em;color:#a19d91}.footer-dot{padding:0 5px;color:#b7a27d}.page-intro{padding:50px 0 30px;border-bottom:1px solid var(--line)}.page-intro h1{margin-bottom:13px}.page-intro>p{color:#7e7c73;font-size:13px;line-height:1.8;max-width:560px;margin:0 0 18px}.page-intro .button{margin-top:4px}.page-intro-actions{display:flex;gap:10px}.sections-list{padding:23px 0}.section-group{border:1px solid var(--line);border-radius:13px;background:var(--paper);margin-bottom:13px;overflow:hidden}.section-group-header{display:flex;align-items:center;gap:13px;padding:16px 17px;border-bottom:1px solid var(--line)}.section-order{font:11px var(--font-mono);color:#9b8e73;background:#f2eee3;width:33px;height:33px;border-radius:8px;display:flex;align-items:center;justify-content:center}.section-title-wrap{flex:1;min-width:0}.section-title-wrap h3{font:500 21px var(--font-serif);margin:0 0 2px}.section-title-wrap p{font-size:10px;color:#979389;margin:0}.section-count{font:10px var(--font-mono);color:#9e9a90;white-space:nowrap}.section-actions{display:flex;gap:4px}.section-actions button{border:1px solid transparent;background:transparent;width:29px;height:29px;border-radius:7px;color:#8e897e;display:flex;align-items:center;justify-content:center}.section-actions button:hover{background:#f3f0e8;border-color:var(--line)}.section-actions svg{width:14px}.section-chapters{padding:6px 17px 10px}.section-chapter-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #efede6}.section-chapter-row:last-child{border-bottom:0}.drag-handle{font:15px var(--font-mono);color:#b4b0a4;cursor:grab}.section-chapter-row .row-title{flex:1;min-width:0}.row-title strong{font:500 14px var(--font-serif);display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.row-title small{font-size:9px;color:#a19d93}.row-order{font:10px var(--font-mono);color:#aaa69d}.row-actions{display:flex;gap:4px}.row-actions button{background:transparent;border:0;padding:5px;color:#928f84;display:flex}.row-actions svg{width:14px}.section-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.section-bottom .text-button{font-size:10px}.settings-panel{border:1px solid var(--line);background:var(--paper);border-radius:13px;margin-top:24px;overflow:hidden}.settings-row{display:flex;align-items:center;gap:15px;padding:20px 21px;border-bottom:1px solid var(--line)}.settings-row:last-child{border-bottom:0}.settings-icon{width:38px;height:38px;background:#f0ede4;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#8f7c5d;flex-shrink:0}.settings-copy{flex:1;min-width:0}.settings-copy h3{font:500 16px var(--font-serif);margin:0 0 3px}.settings-copy p{margin:0 0 5px;font-size:11px;color:#77766e}.settings-copy small{font-size:10px;color:#a09d93}.notice-panel{margin-top:16px;border-left:2px solid #c0ae8d;background:#ede9df;padding:15px 18px}.notice-panel strong{font:500 14px var(--font-serif)}.notice-panel p{color:#77746a;font-size:10.5px;line-height:1.7;margin:4px 0 0}.modal{padding:0;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);width:min(740px,calc(100% - 30px));max-height:min(92dvh,900px);box-shadow:var(--shadow);overflow:auto}.modal::backdrop{background:rgba(23,24,22,.52);backdrop-filter:blur(4px)}.modal form{padding:26px}.modal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px 0}.modal form .modal-top{padding:0 0 21px}.modal-top h2{font:500 28px/1.2 var(--font-serif);letter-spacing:-.03em;margin:7px 0 0}.modal-description{font-size:11px;color:#8b887e;margin:7px 0 0}.modal-top .eyebrow{font-size:8px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{font-size:10.5px;font-weight:600;color:#55544c}.field>span small{font:8px var(--font-mono);letter-spacing:.07em;color:#aaa59a;font-weight:400;margin-left:4px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#faf9f4;color:var(--ink);border-radius:8px;padding:11px 12px;outline:none;font-size:12px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#b9a787;box-shadow:0 0 0 3px rgba(185,167,135,.13)}.field textarea{resize:vertical;line-height:1.7;min-height:90px}.field-full{grid-column:1/-1}.field-help{font-size:9.5px;color:#9a968b;margin-top:-2px}.modal-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:23px;padding-top:16px;border-top:1px solid var(--line)}.modal-footer>span{font-size:9px;color:#9a978d;line-height:1.5;max-width:230px}.modal-actions{display:flex;align-items:center;gap:8px}.modal-actions .button{padding:10px 13px}.reader-modal{width:min(820px,calc(100% - 30px));padding-bottom:0}.reader-top{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,254,250,.96);backdrop-filter:blur(8px);z-index:2}.reader-breadcrumb{font:9px var(--font-mono);letter-spacing:.12em;color:#a09888}.reader-actions{display:flex;align-items:center;gap:8px}.reader-article{max-width:630px;margin:0 auto;padding:64px 25px 52px;min-height:400px}.reader-kind{font:9px var(--font-mono);letter-spacing:.14em;color:#9d8c6d}.reader-article h1{font:500 clamp(36px,7vw,57px)/1.13 var(--font-serif);letter-spacing:-.045em;margin:15px 0 12px}.reader-subtitle{font:italic 17px var(--font-serif);color:#8e897e;margin:0}.reader-meta{display:flex;flex-wrap:wrap;gap:13px;margin-top:20px;font:9px var(--font-mono);color:#a39d90}.reader-divider{display:flex;align-items:center;gap:12px;color:#b7a47f;margin:34px 0}.reader-divider:before,.reader-divider:after{content:"";height:1px;background:var(--line);flex:1}.reader-divider span{font:18px var(--font-serif)}.reader-content{font:16px/1.95 var(--font-serif);color:#47463f;overflow-wrap:anywhere}.reader-content h2{font:500 25px/1.25 var(--font-serif);margin:30px 0 10px;color:var(--ink)}.reader-content h3{font:500 20px/1.3 var(--font-serif);margin:26px 0 8px}.reader-content p{margin:0 0 19px}.reader-content blockquote{margin:24px 0;padding:4px 0 4px 18px;border-left:2px solid #b8a789;color:#777060;font-style:italic}.reader-content ul,.reader-content ol{padding-left:24px;margin:0 0 20px}.reader-content li{margin:5px 0}.reader-content strong{font-weight:700}.reader-content em{font-style:italic}.reader-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:32px}.tag-pill{font:9px var(--font-mono);color:#81745d;background:#f1ede3;border:1px solid #e5dfd2;border-radius:4px;padding:4px 7px}.reader-bottom{position:sticky;bottom:0;padding:13px 20px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:rgba(255,254,250,.97);font:9px var(--font-mono);color:#aaa59a}.reader-bottom .text-button:disabled{opacity:.3}.small-modal{width:min(540px,calc(100% - 28px))}.small-modal form{padding:25px}.small-modal .field{margin-bottom:16px}.file-modal{width:min(850px,calc(100% - 28px));padding-bottom:0}.file-modal .modal-top{padding:24px 25px 16px}.file-toolbar{display:flex;align-items:center;gap:8px;padding:0 25px 14px;border-bottom:1px solid var(--line)}.file-path{flex:1;min-width:60px;font:10px var(--font-mono);color:#969184;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-list{max-height:55dvh;overflow:auto;padding:7px 25px 16px}.file-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid #efede7;padding:10px 0;min-height:48px}.file-row:last-child{border-bottom:0}.file-row-icon{width:31px;height:31px;flex-shrink:0;border-radius:8px;background:#f1eee6;display:flex;align-items:center;justify-content:center;color:#948264}.file-row-icon svg{width:15px}.file-row-copy{flex:1;min-width:0}.file-row-copy strong{display:block;font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row-copy small{font:9px var(--font-mono);color:#a29e92;display:block;margin-top:2px}.file-row-actions{display:flex;gap:4px}.file-row-actions button{border:1px solid transparent;background:transparent;color:#878276;border-radius:6px;padding:6px;display:flex;align-items:center;justify-content:center}.file-row-actions button:hover{background:#f3f0e9;border-color:var(--line)}.file-row-actions svg{width:14px;height:14px}.file-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 25px;border-top:1px solid var(--line);background:#f9f7f1}.file-modal-foot span{font-size:9px;color:#969186}.file-empty{padding:35px 10px;text-align:center;color:#989387;font-size:11px}.confirm-message{padding:0 26px 4px;color:#77746a;font-size:12px;line-height:1.8}.toast-region{position:fixed;right:20px;bottom:20px;z-index:80;display:grid;gap:8px}.toast{background:#22241f;color:#f7f2e7;border:1px solid #3c3f36;border-radius:10px;padding:12px 15px;min-width:210px;max-width:min(360px,calc(100vw - 40px));font-size:11px;box-shadow:0 10px 30px rgba(0,0,0,.15);animation:fadeUp .2s ease}.toast.error{background:#552e29;border-color:#78493f}.toast small{display:block;color:#c3b9a9;font-size:10px;margin-top:3px}.empty-list-message{font-size:11px;color:#9b978d;padding:24px;text-align:center}.dragging{opacity:.45}.drag-over{background:#f5f1e7;border-color:#ad9c7f}
/* dark theme */
body.dark{--bg:#191a18;--paper:#22231f;--paper-2:#2a2b26;--ink:#eeeae0;--muted:#a19e93;--line:#373831;--line-strong:#4b4c42;--accent:#b7a789;--accent-dark:#d4c3a0;--dark:#e7e0d2;--dark-2:#d6cfbf;--shadow:0 22px 60px rgba(0,0,0,.35)}body.dark .sidebar{background:#20211e;border-color:var(--line)}body.dark .brand-copy strong{color:#f1eee4}body.dark .brand-mark:before,body.dark .brand-mark:after{border-color:#d8d1c2}body.dark .brand-mark span:last-child{background:#b4a382}body.dark .nav-item{color:#aaa79b}body.dark .nav-item.active{background:#31322c;color:#f2eee2}body.dark .nav-count{background:#414139;color:#d0ccbf}body.dark .topbar{background:rgba(25,26,24,.92)}body.dark .breadcrumbs strong{color:var(--ink)}body.dark .hero-block h1,body.dark .page-intro h1{color:var(--ink)}body.dark .hero-description,body.dark .section-subtitle,body.dark .page-intro>p{color:#aaa69a}body.dark .hero-art{opacity:.65}body.dark .orb-dark{mix-blend-mode:normal}body.dark .orb-light{background:linear-gradient(145deg,#59574e,#35362f);border-color:#6a6455}body.dark .orb-dark{background:linear-gradient(145deg,#bcb19c,#6e675a);border-color:#99907f}body.dark .orb-core{background:#655d4d}body.dark .art-center-mark{color:#efe5d2}body.dark .hero-footnote,body.dark .stat-label,body.dark .stat-note{color:#8f8b80}body.dark .stat-card{background:rgba(34,35,31,.7)}body.dark .stat-bottom strong{color:var(--ink)}body.dark .filter-tab{color:#aaa69b}body.dark .filter-tab.active{background:#474237;color:#e8dcc3}body.dark .search-box{background:var(--paper)}body.dark .search-box input{color:var(--ink)}body.dark .writing-card{background:var(--paper)}body.dark .card-title{color:var(--ink)}body.dark .card-excerpt{color:#aaa69a}body.dark .card-footer{border-color:#35362f}body.dark .card-status{background:#36372f;color:#b8b6a8}body.dark .card-status.established{background:#2e4030;color:#a2c29f}body.dark .section-group{background:var(--paper)}body.dark .section-order{background:#39362d;color:#c1af8e}body.dark .section-chapter-row{border-color:#35362f}body.dark .section-actions button:hover,body.dark .icon-button:hover{background:#35362f}body.dark .settings-icon{background:#39362d}body.dark .notice-panel{background:#302e27}body.dark .notice-panel p{color:#b3afa3}body.dark .field input,body.dark .field select,body.dark .field textarea{background:#2a2b26;border-color:#41423a;color:var(--ink)}body.dark .field>span{color:#d0cbbf}body.dark .modal{background:var(--paper);color:var(--ink);border-color:var(--line)}body.dark .reader-top,body.dark .reader-bottom{background:rgba(34,35,31,.97)}body.dark .reader-content{color:#d1ccbf}body.dark .reader-content h2,body.dark .reader-content h3{color:var(--ink)}body.dark .reader-subtitle{color:#aaa496}body.dark .reader-tags .tag-pill{background:#39362d;border-color:#4a4539;color:#c7b591}body.dark .file-row{border-color:#373831}body.dark .file-row-icon{background:#39362d;color:#c6b28c}body.dark .file-modal-foot{background:#292a25}body.dark .sample-card{background:transparent}
@media(min-width:1440px){.content-wrap{padding-left:48px;padding-right:48px}.hero-block{min-height:355px}.hero-art{right:50px;transform:scale(1.08)}}
@media(max-width:1190px){.sidebar{width:220px}.main-area{margin-left:220px}.content-wrap{padding-left:27px;padding-right:27px}.topbar{padding:0 27px}.hero-art{right:-50px;opacity:.6}.hero-copy{max-width:500px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{gap:8px}.stat-card{padding:13px}.heading-actions{gap:7px}.search-box{width:185px}}
@media(max-width:820px){.sidebar{width:250px;transform:translateX(-101%);transition:transform .25s ease;box-shadow:none}.sidebar.mobile-open{transform:translateX(0);box-shadow:16px 0 40px rgba(0,0,0,.14)}.main-area{margin-left:0}.mobile-menu{display:inline-flex}.topbar{height:62px;padding:0 17px;gap:10px}.breadcrumbs{margin-right:auto;margin-left:4px}.topbar-actions{gap:7px}.connection-pill{display:none}.content-wrap{padding:0 18px 20px}.hero-block{padding-top:38px;min-height:330px}.hero-art{right:-130px;opacity:.27}.hero-copy{max-width:520px}.hero-footnote{font-size:8px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:17px 0 36px}.section-heading{align-items:flex-start;flex-direction:column}.heading-actions{width:100%}.search-box{flex:1}.section-heading h2{font-size:29px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-intro{padding-top:38px}.settings-row{align-items:flex-start;flex-wrap:wrap}.settings-copy{min-width:calc(100% - 62px);flex:1}.settings-row>.button{margin-left:53px}.reader-article{padding-top:40px}.reader-content{font-size:15px}}
@media(max-width:540px){.brand{padding-bottom:25px}.hero-block{padding:33px 0 25px;min-height:370px}.hero-block h1,.page-intro h1{font-size:42px}.hero-description{max-width:360px;font-size:12px}.hero-actions{gap:14px;align-items:flex-start;flex-wrap:wrap}.hero-actions .button{padding:11px 12px}.hero-footnote{bottom:13px;gap:12px}.hero-footnote span:last-child{max-width:48%}.hero-art{top:65px;right:-185px;opacity:.18;transform:scale(.9)}.stat-card{min-height:93px;padding:12px}.stat-bottom strong{font-size:23px}.stats-grid{margin-bottom:32px}.heading-actions{flex-wrap:wrap}.search-box{width:100%;flex-basis:100%}.heading-actions>.button{width:100%}.filter-row{align-items:flex-start;flex-direction:column}.filter-tabs{gap:3px}.filter-tab{padding:7px 8px;font-size:10px}.sort-select{align-self:flex-end}.library-grid{grid-template-columns:1fr;gap:10px}.writing-card{min-height:178px;padding:15px}.card-menu{opacity:1}.page-footer{font-size:7px;letter-spacing:.07em;gap:8px}.page-footer span:last-child{text-align:right}.page-intro{padding-top:32px}.page-intro h1{font-size:39px}.section-group-header{gap:9px;padding:13px}.section-title-wrap h3{font-size:18px}.section-count{display:none}.section-actions{gap:1px}.section-chapters{padding:4px 13px 8px}.section-chapter-row{gap:7px}.row-title strong{font-size:13px}.row-order{display:none}.modal{max-height:95dvh;width:calc(100% - 16px);border-radius:13px}.modal form{padding:19px}.modal-top{padding:18px 18px 0}.modal form .modal-top{padding:0 0 19px}.modal-top h2{font-size:25px}.form-grid{grid-template-columns:1fr;gap:13px}.field-full{grid-column:auto}.modal-footer{align-items:flex-start;flex-direction:column}.modal-footer>span{max-width:none}.modal-actions{width:100%;justify-content:flex-end}.reader-top{padding:12px}.reader-breadcrumb{font-size:8px}.reader-article{padding:35px 23px 37px}.reader-article h1{font-size:39px}.reader-subtitle{font-size:15px}.reader-content{font-size:15px;line-height:1.85}.file-modal .modal-top{padding:18px 16px 15px}.file-toolbar{padding:0 15px 12px;flex-wrap:wrap}.file-path{flex-basis:100%;order:-1}.file-list{padding:5px 16px 12px}.file-row-actions button{padding:5px}.file-modal-foot{padding:11px 15px}.toast-region{right:10px;bottom:10px}.settings-row{padding:16px}.settings-copy small{line-height:1.5;display:block}.settings-row>.button{margin-left:0;width:100%}.notice-panel{padding:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Shared page width: keep the navigation frame and reading content aligned. */
.topbar, .content-wrap{width:100%;max-width:1440px;margin-inline:auto;box-sizing:border-box;min-width:0}
html, body{width:100%;max-width:100%;overflow-x:clip}
.app-shell, .main-area{min-width:0;max-width:100%}
.topbar{min-width:0}
.breadcrumbs{min-width:0;white-space:nowrap}
.topbar-actions{min-width:0;flex-shrink:0}

/* Fit the top navigation to narrow phone widths without stretching the page. */
@media(max-width:480px){
  .topbar{gap:7px;padding-left:12px;padding-right:12px}
  .breadcrumbs{gap:6px;margin-left:0;font-size:9px;letter-spacing:.07em}
  .breadcrumbs strong{font-size:11px}
  .topbar-actions{gap:5px}
  #connectTopBtn{padding-left:8px;padding-right:8px;gap:0}
  #connectTopBtn span{display:none}
  #connectTopBtn svg{width:16px;height:16px}
  .content-wrap{padding-left:12px;padding-right:12px}
}
