.family-canvas-host[data-v-64ac04d8]{position:relative;min-height:500px;overflow:hidden;border:1px solid var(--line);background:#f8f5ed;overscroll-behavior:contain}.family-canvas-host.page-fullscreen[data-v-64ac04d8],.family-canvas-host.native-fullscreen[data-v-64ac04d8]{position:fixed;inset:0;z-index:1000;width:100vw;height:100vh;min-height:100vh;border:0;background:#f8f5ed}.family-canvas-host canvas[data-v-64ac04d8]{display:block;touch-action:none;-webkit-user-select:none;user-select:none;cursor:move}.canvas-help[data-v-64ac04d8]{position:absolute;left:14px;top:12px;z-index:2;width:max-content;display:flex;gap:14px;padding:7px 10px;background:#fffdf8df;border:1px solid #ddd5c6;border-radius:4px;box-shadow:0 3px 12px #3e473e12;color:#747b75;font-size:10px;pointer-events:none}.canvas-help span+span[data-v-64ac04d8]:before{content:"·";margin-right:14px;color:#b49464}.canvas-controls[data-v-64ac04d8]{position:absolute;right:14px;top:12px;z-index:3;display:flex;align-items:center;width:max-content;border:1px solid #d2c9b8;background:#fffdf8ed;border-radius:4px;box-shadow:0 3px 12px #3e473e12;overflow:hidden}.canvas-controls button[data-v-64ac04d8]{height:31px;border:0;background:transparent;padding:0 9px;font-size:11px;color:#52645a;white-space:nowrap}.canvas-controls button[data-v-64ac04d8]:hover{background:#eee9dd;color:#9a493c}.canvas-controls button[data-v-64ac04d8]:disabled{opacity:.35}.canvas-controls .zoom-value[data-v-64ac04d8]{min-width:50px;border-left:1px solid #e0d9ca;border-right:1px solid #e0d9ca}.canvas-controls i[data-v-64ac04d8]{height:18px;width:1px;background:#d2c9b8;margin:0 2px}@media(max-width:700px){.canvas-help[data-v-64ac04d8]{display:none}.canvas-controls[data-v-64ac04d8]{right:8px;top:8px;max-width:calc(100% - 16px);overflow-x:auto}}.rich-editor[data-v-4b5fba19]{border:1px solid var(--line);border-radius:5px;background:#fffdf8;overflow:hidden}.rich-toolbar[data-v-4b5fba19]{display:flex;align-items:center;gap:2px;padding:6px;background:#f1ede4;border-bottom:1px solid var(--line);overflow-x:auto}.rich-toolbar button[data-v-4b5fba19]{border:0;background:transparent;border-radius:3px;min-width:29px;height:28px;padding:0 7px;font-size:11px;white-space:nowrap}.rich-toolbar button[data-v-4b5fba19]:hover{background:#ddd6c8;color:var(--red)}.rich-toolbar>i[data-v-4b5fba19]{height:18px;width:1px;background:#d0c8b9;margin:0 4px}.rich-content[data-v-4b5fba19]{min-height:150px;max-height:340px;overflow:auto;padding:13px;outline:none;font-size:13px;line-height:1.7}.rich-content[data-v-4b5fba19]:empty:before{content:attr(data-placeholder);color:#9b9f9a;pointer-events:none}.rich-content[data-v-4b5fba19] img,.rich-content[data-v-4b5fba19] video{display:block;max-width:100%;max-height:280px;margin:10px 0;border-radius:4px}.rich-content[data-v-4b5fba19] blockquote{border-left:3px solid #b3915f;margin:8px 0;padding:5px 12px;color:#69736c;background:#f3f0e8}.rich-content[data-v-4b5fba19] a{color:#376c55}.public-preview-page[data-v-eaa35679]{width:100%;max-width:620px;height:100dvh;margin:0 auto;display:flex;flex-direction:column;background:#f5f2ea;box-shadow:0 0 60px #293a3022;overflow:hidden}.public-header[data-v-eaa35679]{height:78px;flex:0 0 78px;display:flex;align-items:center;gap:12px;padding:10px 16px;background:#263f33;color:#edf2ee;border-bottom:3px solid #a77b3f}.public-seal[data-v-eaa35679],.public-state>span[data-v-eaa35679]{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;background:#9a493c;color:#fff;font-family:Songti SC,SimSun,serif;font-size:19px;border-radius:3px}.public-header small[data-v-eaa35679]{font-size:8px;letter-spacing:.18em;color:#c0a474}.public-header h1[data-v-eaa35679]{font-size:19px;margin:2px 0}.public-header p[data-v-eaa35679]{font-size:9px;color:#b9c5be;margin:0}.public-canvas[data-v-eaa35679]{flex:1;min-height:0}.public-canvas[data-v-eaa35679] .family-canvas-host{height:100%;min-height:100%;border:0}.public-canvas[data-v-eaa35679] .canvas-help{display:none}.public-preview-page>footer[data-v-eaa35679]{height:30px;flex:0 0 30px;display:grid;place-items:center;background:#fffdf8;color:#777f79;font-size:9px;border-top:1px solid #ddd6c8}.public-state[data-v-eaa35679]{height:100%;display:grid;place-content:center;justify-items:center;text-align:center;color:#637068}.public-state>span[data-v-eaa35679]{margin-bottom:15px}.public-state h1[data-v-eaa35679]{font-size:22px;color:#35483e}.error-state>span[data-v-eaa35679]{background:#9a493c;border-radius:50%}@media(min-width:700px){.public-preview-page[data-v-eaa35679]:before{content:"移动端预览";position:fixed;left:18px;top:18px;padding:6px 10px;border-radius:15px;background:#263f33;color:#fff;font-size:10px}}:root{font-family:Inter,Microsoft YaHei,sans-serif;color:#28352e;background:#f5f2ea;font-synthesis:none;--ink: #28352e;--pine: #324f40;--deep: #20392e;--paper: #fbfaf5;--line: #ded8ca;--gold: #a77b3f;--red: #9a493c;--muted: #7c827d }*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f5f2ea}body.canvas-page-fullscreen-open{overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand b,.tree-mark,.portrait,.big-portrait{font-family:Songti SC,SimSun,serif}.splash{height:100vh;display:grid;place-content:center;text-align:center;color:var(--pine)}.seal,.brand span{display:grid;place-items:center;background:var(--red);color:#fff;font-family:Songti SC,SimSun,serif;border-radius:3px}.seal{width:62px;height:62px;font-size:30px;margin:auto}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.auth-story{padding:9vw;display:flex;flex-direction:column;justify-content:center;color:#f7f2e7;background:linear-gradient(135deg,#1d3a2df7,#2a4638e6),radial-gradient(circle at 70% 20%,#917b51,#263d32)}.eyebrow{font-size:11px;letter-spacing:.22em;color:var(--gold);font-weight:600}.auth-story h1{font-size:clamp(52px,6vw,88px);line-height:1.18;margin:28px 0}.auth-story h1 em{color:#d5b781;font-style:normal}.auth-story p{max-width:530px;font-size:17px;line-height:1.9;color:#dce1dc}.family-line{display:flex;align-items:center;margin-top:70px}.family-line i{width:16px;height:16px;border:2px solid #c9ad78;border-radius:50%;position:relative}.family-line i+i{margin-left:54px}.family-line i+i:before{content:"";height:1px;width:54px;background:#887b61;position:absolute;right:14px;top:6px}.auth-card{background:var(--paper);display:flex;flex-direction:column;justify-content:center;padding:9vw;box-shadow:-30px 0 80px #14291d33}.brand{display:flex;align-items:center;gap:12px}.brand span{width:34px;height:34px}.brand b{font-size:22px;letter-spacing:.15em}.auth-card h2{font-size:32px;margin:54px 0 8px}.muted{color:var(--muted);line-height:1.6}.form-stack,.modal{display:flex;flex-direction:column;gap:18px}.form-stack{margin-top:30px}label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}input,select,textarea{width:100%;border:1px solid var(--line);background:#fffdf8;border-radius:5px;padding:12px 13px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#6f8d7c;box-shadow:0 0 0 3px #6f8d7c1a}textarea{resize:vertical}.primary{border:0;border-radius:5px;background:var(--pine);color:#fff;padding:12px 18px;font-weight:600;box-shadow:0 6px 16px #27463722}.primary:hover{background:var(--deep)}.text-button{border:0;background:transparent;margin-top:20px;color:var(--pine)}.error{color:var(--red);margin-top:16px}.app-shell{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:238px;background:#253e32;color:#eaf0eb;padding:28px 20px;display:flex;flex-direction:column;z-index:10}.brand-button{border:0;background:transparent;color:#fff;padding:0}.tree-identity{margin:38px 0 24px;padding:18px 14px;border:1px solid #ffffff1f;background:#ffffff08;display:flex;flex-direction:column;gap:6px;border-radius:5px}.tree-identity small,.tree-identity span{font-size:11px;color:#b6c4bc}.tree-identity strong{font-family:Songti SC,SimSun,serif;font-size:18px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav button{border:0;background:transparent;color:#b9c8c0;text-align:left;padding:11px 12px;border-radius:4px;display:flex;gap:13px;align-items:center}.sidebar nav button span{width:20px;text-align:center;font-family:Songti SC,SimSun,serif}.sidebar nav button:hover,.sidebar nav button.active{background:#ffffff12;color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid #ffffff1a;padding-top:18px;display:flex;align-items:center;gap:10px}.sidebar-bottom div:nth-child(2){min-width:0;display:flex;flex-direction:column}.sidebar-bottom small{color:#9eafa6;font-size:10px;overflow:hidden;text-overflow:ellipsis}.sidebar-bottom button{margin-left:auto;border:0;background:transparent;color:#bdc9c3}.avatar,.mini-avatar{display:inline-grid;place-items:center;border-radius:50%;background:#d8c6a2;color:#5b4930}.avatar{width:34px;height:34px}.workspace{margin-left:238px;min-height:100vh;padding:42px 48px;position:relative}.workspace>header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px}.workspace h1{font-size:34px;margin:8px 0 0}.workspace header p{color:var(--muted);margin:8px 0}.header-actions{display:flex;gap:12px}.search{position:relative;display:block}.search span{position:absolute;left:13px;top:10px}.search input{padding-left:36px;width:250px}.tree-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:22px}.tree-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;text-align:left;padding:26px;display:grid;grid-template-columns:58px 1fr;gap:18px;box-shadow:0 12px 30px #4b4a3d0a;transition:.2s}.tree-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px #4b4a3d17;border-color:#bcb09a}.tree-mark{width:58px;height:58px;border:1px solid #bd9b6d;color:var(--gold);display:grid;place-items:center;font-size:25px;background:#f7f0e3}.tree-card small{color:var(--gold);font-size:10px;letter-spacing:.12em}.tree-card h3{font-size:22px;margin:6px 0}.tree-card p{color:var(--muted);font-size:13px;line-height:1.6;min-height:42px}.tree-card footer{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px;display:flex;gap:18px;font-size:11px;color:var(--muted)}.tree-card footer b{margin-left:auto;color:var(--pine)}.empty{text-align:center;padding:90px 20px;color:var(--muted)}.empty.large{padding-top:15vh}.empty h2{color:var(--ink)}.empty .primary{margin-top:12px}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:22px}.stat-row div{background:var(--paper);padding:10px;display:flex;align-items:baseline;gap:10px}.stat-row b{font-family:Songti SC,SimSun,serif;font-size:26px;color:var(--pine)}.stat-row span{font-size:12px;color:var(--muted)}.tree-toolbar,.section-bar{background:var(--paper);border:1px solid var(--line);padding:12px 16px;display:flex;align-items:center;gap:12px}.tree-toolbar select{width:auto;padding:7px 28px 7px 10px}.tree-toolbar button{margin-left:auto;border:0;background:transparent;color:var(--pine);font-weight:600}.genealogy-board{margin-top:18px;background-color:#f8f5ed;background-image:linear-gradient(#b6a98a12 1px,transparent 1px),linear-gradient(90deg,#b6a98a12 1px,transparent 1px);background-size:28px 28px;border:1px solid var(--line);padding:32px;min-height:400px;overflow:auto}.generation{display:grid;grid-template-columns:90px 1fr;min-width:700px}.generation+.generation{margin-top:26px}.generation-label{display:flex;align-items:flex-start;gap:10px;font-family:Songti SC,SimSun,serif;font-size:12px;color:var(--gold);padding-top:28px}.generation-label i{width:30px;height:1px;background:#bda781;margin-top:8px}.generation-people{display:flex;flex-wrap:wrap;gap:18px}.person-node{position:relative;background:#fffdf8;border:1px solid #d9d0be;border-radius:4px;width:154px;min-height:120px;padding:18px 10px;display:flex;flex-direction:column;align-items:center;box-shadow:0 6px 14px #4a463b0b}.person-node:hover,.person-node.focused{border-color:var(--gold);box-shadow:0 0 0 2px #a77b3f22}.portrait{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#e5d7bb;color:#745b39;margin-bottom:8px}.person-node strong{font-family:Songti SC,SimSun,serif}.person-node small{font-size:10px;color:var(--muted);margin-top:5px}.person-node em{font-style:normal;font-size:9px;color:#fff;background:var(--pine);padding:2px 6px;border-radius:8px;position:absolute;right:5px;top:5px}.person-node.private{opacity:.65}.detail-drawer{position:fixed;right:0;top:0;bottom:0;width:350px;background:var(--paper);z-index:15;box-shadow:-20px 0 50px #263b3030;padding:52px 34px;overflow:auto}.drawer-close,.modal-x{position:absolute;right:20px;top:16px;border:0;background:transparent;font-size:25px;color:var(--muted)}.big-portrait{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#e5d7bb;color:#745b39;font-size:28px;margin-bottom:28px}.detail-drawer h2{font-size:28px;margin:7px 0}.detail-drawer>p{color:var(--muted);font-size:13px}.detail-drawer dl,.settings-grid dl{margin-top:30px}.detail-drawer dl div,.settings-grid dl div{padding:14px 0;border-top:1px solid var(--line)}dt{font-size:10px;color:var(--gold);letter-spacing:.12em;margin-bottom:5px}dd{margin:0;line-height:1.65;font-size:13px}.drawer-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.drawer-actions button:not(.primary),.button-row button,.timeline button{border:1px solid var(--line);background:transparent;padding:10px 13px;border-radius:4px}.drawer-actions .danger-link{color:var(--red);border-color:#c9a49c}.table-card{background:var(--paper);border:1px solid var(--line);overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;letter-spacing:.1em;color:var(--muted);padding:14px 18px;background:#f0ede4}td{padding:16px 18px;border-top:1px solid var(--line);font-size:13px}td .mini-avatar{width:30px;height:30px;margin-right:10px}td small{display:block;color:var(--muted);margin-left:44px}td button{border:0;background:transparent;color:var(--pine);margin-right:8px}td select{padding:7px;width:auto}.status{padding:4px 8px;background:#ece8df;color:#766c5d;border-radius:12px;font-size:10px}.status.good,.status.approved{background:#dce9df;color:#356044}.status.pending{background:#eee3cc;color:#85642f}.status.rejected{background:#efdcda;color:#90493e}.section-bar{justify-content:space-between;margin-bottom:20px}.section-bar p{margin:0;color:var(--muted)}.upload input{display:none}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}.media-card{background:var(--paper);border:1px solid var(--line);padding:14px;color:inherit;text-decoration:none;display:flex;flex-direction:column;gap:8px}.media-card>div{height:150px;background:#ece6d8;display:grid;place-items:center;font-family:Songti SC,SimSun,serif;font-size:28px;color:var(--gold)}.media-card small{color:var(--muted)}.review-list{display:flex;flex-direction:column;gap:12px}.review-list article{background:var(--paper);border:1px solid var(--line);padding:22px;display:flex;justify-content:space-between}.review-list h3{margin:12px 0 4px}.review-list p{font-size:12px;color:var(--muted)}.review-list code{display:block;background:#f0ede6;padding:12px;white-space:pre-wrap;max-width:650px;font-size:11px}.review-actions{display:flex;gap:8px;align-items:flex-start}.review-actions button:not(.primary){padding:11px 18px;background:transparent;border:1px solid var(--line);border-radius:5px}.timeline{max-width:850px}.timeline article{display:grid;grid-template-columns:20px 1fr auto;gap:15px;position:relative;padding-bottom:25px}.timeline article:before{content:"";position:absolute;left:6px;top:14px;bottom:0;width:1px;background:var(--line)}.timeline i{width:13px;height:13px;background:var(--paper);border:2px solid var(--gold);border-radius:50%;z-index:1}.timeline p,.timeline small{color:var(--muted);font-size:11px;margin:5px 0}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:20px}.settings-grid article{background:var(--paper);border:1px solid var(--line);padding:28px}.settings-grid p{color:var(--muted)}.button-row{display:flex;gap:8px;flex-wrap:wrap}.danger-zone{border-color:#d6b2ab!important}.danger-zone button{border:1px solid var(--red);color:var(--red);background:transparent;padding:10px 15px}.modal-backdrop{position:fixed;inset:0;background:#17271f99;z-index:30;display:grid;place-items:center;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{position:relative;width:min(480px,100%);max-height:90vh;overflow:auto;background:var(--paper);padding:34px;box-shadow:0 24px 80px #10221966}.modal.wide{width:min(720px,100%)}.modal h2{font-size:26px;margin:4px 0 10px}.form-row,.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}.check{flex-direction:row;align-items:center;margin-top:26px}.check input{width:auto}.toast{position:fixed;right:24px;bottom:24px;z-index:50;padding:13px 18px;color:#fff;border-radius:5px;box-shadow:0 8px 30px #0003}.toast.good{background:var(--pine)}.toast.bad{background:var(--red);cursor:pointer}@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-story{display:none}.auth-card{min-height:100vh;padding:12vw}.sidebar{position:static;width:100%;height:auto;padding:15px 18px;flex-direction:row;align-items:center}.tree-identity{display:none}.sidebar nav{flex-direction:row;margin-left:auto;overflow:auto}.sidebar nav button{font-size:0}.sidebar nav button span{font-size:15px}.sidebar-bottom{margin:0 0 0 10px;border:0;padding:0}.sidebar-bottom div:nth-child(2){display:none}.workspace{margin-left:0;padding:28px 20px}.stat-row{grid-template-columns:repeat(2,1fr)}.detail-drawer{width:min(350px,95vw)}.settings-grid{grid-template-columns:1fr}}@media(max-width:600px){.workspace>header{align-items:flex-start;gap:18px;flex-direction:column}.header-actions{width:100%;flex-wrap:wrap}.search,.search input{width:100%}.tree-grid{grid-template-columns:1fr}.stat-row div{padding:14px}.form-row,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.modal{padding:28px 20px}.sidebar nav button:nth-child(n+5){display:none}.generation{grid-template-columns:68px 1fr}.genealogy-board{padding:18px}.settings-grid{grid-template-columns:1fr}}.relation-strip{margin-top:18px;background:var(--paper);border:1px solid var(--line);padding:18px}.relation-strip header{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.relation-strip h3{margin:4px 0 0}.relation-strip header small{color:var(--muted)}.relation-chips{display:flex;gap:8px;flex-wrap:wrap}.relation-chips button{border:1px solid var(--line);background:#f8f5ed;border-radius:4px;padding:8px 11px;font-size:12px}.relation-chips button:hover{border-color:var(--gold)}.relation-chips span{display:inline-grid;place-items:center;width:21px;height:21px;margin-right:7px;border-radius:50%;background:#dfe8e1;color:var(--pine);font-family:Songti SC,SimSun,serif}.relative-hint{padding:10px 12px;background:#e8eee9;border-left:3px solid var(--pine);color:var(--pine);font-size:12px;margin:0}.context-menu{position:fixed;z-index:80;width:210px;background:#fffdf8;border:1px solid #cfc5b3;border-radius:5px;padding:6px;box-shadow:0 16px 45px #17271f40;animation:context-in .1s ease-out}.context-menu button{width:100%;border:0;background:transparent;border-radius:3px;padding:9px 10px;display:flex;align-items:flex-start;gap:10px;text-align:left}.context-menu button:hover{background:#eeeae0}.context-menu button>span{width:19px;color:var(--gold);font-size:16px;text-align:center}.context-menu button div{display:flex;flex-direction:column;gap:2px}.context-menu b{font-size:12px;font-weight:600}.context-menu small{font-size:9px;color:var(--muted)}.context-title{padding:8px 10px;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid var(--line);margin-bottom:4px}.context-separator{height:1px;background:var(--line);margin:4px 6px}.context-menu .context-danger,.context-menu .context-danger>span{color:var(--red)}.context-menu .context-danger small{color:#a36e65}@keyframes context-in{0%{opacity:0;transform:scale(.97) translateY(-3px)}to{opacity:1;transform:none}}.genealogy-board{position:relative}.connector-layer{position:absolute;left:0;top:0;z-index:1;overflow:visible;pointer-events:none}.generation{position:relative;z-index:2}.relation-connector{pointer-events:all;cursor:context-menu}.connector-path{fill:none;stroke:#a9ad9f;stroke-width:1.5;transition:stroke .18s,stroke-width .18s,filter .18s}.relation-connector.partner .connector-path{stroke:#a98a62;stroke-dasharray:5 3}.connector-hit{fill:none;stroke:transparent;stroke-width:16}.connector-label-bg{fill:#f8f5ed;stroke:#c9c3b6;stroke-width:1}.connector-label{fill:#73786f;font-size:10px;font-family:Microsoft YaHei,sans-serif;-webkit-user-select:none;user-select:none}.relation-connector.highlighted .connector-path{stroke:#b24f3f;stroke-width:3.5;filter:drop-shadow(0 1px 2px #9a493c55);stroke-dasharray:none}.relation-connector.highlighted .connector-label-bg{fill:#9a493c;stroke:#9a493c}.relation-connector.highlighted .connector-label{fill:#fff;font-weight:600}.relation-connector:hover .connector-path{stroke:#9a493c;stroke-width:3}.relation-connector:hover .connector-label-bg{stroke:#9a493c}.sidebar{transition:width .2s ease,padding .2s ease}.workspace{transition:margin-left .2s ease}.sidebar-toggle{position:absolute;right:-13px;top:33px;width:26px;height:26px;border:1px solid #d1c8b8;border-radius:50%;background:#fbfaf5;color:#385044;display:grid;place-items:center;padding:0;font-size:19px;line-height:1;box-shadow:0 3px 10px #1d30262b;z-index:12}.sidebar-toggle:hover{background:#fff;color:#9a493c}.sidebar nav button .nav-icon{width:20px;flex:0 0 20px;text-align:center;font-family:Songti SC,SimSun,serif}.sidebar nav button .nav-label{width:auto;text-align:left;font-family:inherit;white-space:nowrap;overflow:hidden}.sidebar.collapsed{width:76px;padding-left:13px;padding-right:13px}.sidebar.collapsed .brand-button{justify-content:center;width:100%}.sidebar.collapsed .brand b,.sidebar.collapsed .tree-identity,.sidebar.collapsed .nav-label,.sidebar.collapsed .sidebar-bottom>div:nth-child(2),.sidebar.collapsed .sidebar-bottom>button{display:none}.sidebar.collapsed nav button{justify-content:center;padding:11px}.sidebar.collapsed nav button .nav-icon{font-size:16px}.sidebar.collapsed .sidebar-bottom{justify-content:center}.sidebar-is-collapsed .workspace{margin-left:76px}@media(max-width:900px){.sidebar,.sidebar.collapsed{width:100%;padding:15px 18px}.sidebar.collapsed .brand b{display:block}.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed .sidebar-bottom>div:nth-child(2),.sidebar.collapsed .sidebar-bottom>button{display:initial}.sidebar-toggle{display:none}.sidebar-is-collapsed .workspace{margin-left:0}}.context-menu{z-index:1400}.detail-drawer{z-index:1300}.modal-backdrop{z-index:1500}.toast{z-index:1600}.big-portrait.has-image{overflow:hidden;background:#e9e5dc}.big-portrait img,.avatar-preview img{width:100%;height:100%;object-fit:cover}.avatar-config{display:flex;align-items:center;gap:15px;padding:12px;border:1px solid var(--line);background:#f6f2e9;border-radius:5px}.avatar-config p{margin:3px 0 9px;color:var(--muted);font-size:11px}.avatar-preview{width:62px;height:62px;flex:0 0 62px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#e5d7bb;color:#745b39;font-family:Songti SC,SimSun,serif;font-size:22px}.secondary-upload{display:inline-flex;width:max-content;padding:7px 11px;border:1px solid #b8ad9b;border-radius:4px;background:#fffdf8;color:var(--pine);font-size:11px;cursor:pointer}.secondary-upload input{display:none}.form-field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}.rich-upload-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.rich-upload-row small{font-weight:400;color:var(--muted)}.person-rich{overflow-wrap:anywhere}.person-rich img,.person-rich video{display:block;max-width:100%;max-height:260px;margin:10px 0;border-radius:4px}.person-rich a{color:#376c55;text-decoration:underline}.person-rich blockquote{margin:8px 0;padding:7px 12px;border-left:3px solid var(--gold);background:#f2eee5}.person-rich p{margin:7px 0}.media-card{font-family:inherit;text-align:left;cursor:pointer}.media-card:hover{border-color:var(--gold);box-shadow:0 7px 22px #443c2e17}.media-card .media-thumb{position:relative;padding:0;overflow:hidden}.media-thumb img,.media-thumb video{width:100%;height:100%;object-fit:cover;display:block}.media-thumb video{pointer-events:none}.media-thumb .play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:43px;height:43px;border-radius:50%;display:grid;place-items:center;padding-left:3px;background:#213b31d9;color:#fff;box-shadow:0 3px 15px #0004}.media-thumb .media-action{position:absolute;right:7px;bottom:7px;padding:4px 7px;border-radius:3px;background:#192c25cc;color:#fff;font-size:9px}.media-card .file-thumb{font-family:Songti SC,SimSun,serif}.media-preview-backdrop{position:fixed;inset:0;z-index:1800;background:#101713ed;display:flex;flex-direction:column;color:#fff;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.media-preview-backdrop>header{height:62px;flex:0 0 62px;display:flex;align-items:center;padding:0 20px;border-bottom:1px solid #ffffff1c;background:#17231edb}.media-preview-backdrop>header>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}.media-preview-backdrop header strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-preview-backdrop header small{color:#aab6b0;font-size:10px}.preview-tools{display:flex;margin-left:auto;border:1px solid #ffffff28;border-radius:4px;overflow:hidden}.preview-tools button,.preview-close{border:0;background:transparent;color:#fff;height:32px;padding:0 11px}.preview-tools button:hover,.preview-close:hover{background:#ffffff16}.preview-tools button+button{border-left:1px solid #ffffff1c}.preview-tools button:nth-child(2){min-width:58px}.preview-close{margin-left:12px;font-size:25px}.media-preview-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:28px}.media-preview-stage img{height:auto;max-width:none;object-fit:contain;transition:width .12s ease}.media-preview-stage.video video{max-width:100%;max-height:100%;background:#000;box-shadow:0 12px 50px #0008}.media-preview-stage.image{align-items:flex-start}.workspace>header.tree-page-header{min-height:34px;margin-bottom:18px;align-items:center}.tree-page-header h1{font-size:17px;margin:4px 0 0}.tree-page-header .eyebrow{font-size:6px;letter-spacing:.18em}.tree-page-header .header-actions{gap:6px}.tree-page-header .header-actions button{padding:6px 9px;font-size:12px}.tree-page-header .search span{left:7px;top:5px;font-size:12px}.tree-page-header .search input{width:125px;padding:6px 7px 6px 24px;font-size:12px}.tree-writing{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:14px;border:1px solid var(--line);background:var(--line)}.tree-writing article{min-width:0;padding:10px 12px;background:var(--paper)}.tree-writing header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;color:var(--gold);font-size:10px;letter-spacing:.1em}.tree-writing button{padding:2px 0;border:0;background:transparent;color:var(--pine);font-size:10px}.tree-writing p{max-height:56px;margin:0;overflow:auto;white-space:pre-wrap;color:var(--muted);font-size:12px;line-height:1.55}@media(max-width:600px){.tree-writing{grid-template-columns:1fr}.tree-page-header .search input{width:110px}}.share-form-row{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.share-form-row .primary{height:43px}.invite-admin-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end}.invite-admin-form .primary{height:43px}.generated-share{padding:15px;border:1px solid #c9b78e;background:#f6f0e2;border-radius:5px}.generated-share .button-row{margin-top:10px;align-items:center}.generated-share a{color:var(--pine);font-size:12px}.share-list{border-top:1px solid var(--line);padding-top:14px}.share-list h3{margin:0 0 10px}.share-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid #e7e1d5}.share-row>div{display:flex;flex-direction:column;gap:3px}.share-row small{color:var(--muted);font-size:10px}.share-row button{border:1px solid #c68f87;background:transparent;color:var(--red);border-radius:4px;padding:6px 10px}.tree-toolbar button+button{margin-left:0}@media(max-width:600px){.share-form-row,.invite-admin-form{grid-template-columns:1fr}.share-form-row .primary,.invite-admin-form .primary{width:100%}}
