@import url('/fonts.css');
.brand{min-width:0}.account{flex-shrink:0;white-space:nowrap}.nav{scrollbar-width:none}.nav::-webkit-scrollbar{display:none}@media(max-width:450px){.top{gap:8px}.brand strong{font-size:16px!important;letter-spacing:1px!important;white-space:nowrap}.brand small{letter-spacing:1px!important;font-size:7px!important}.seal{font-size:25px!important;padding:4px 7px!important}.brand{gap:8px!important}.account{font-size:11px!important;gap:6px!important}.account button{padding:7px!important}.hero-stamp{font-size:15px!important;letter-spacing:4px!important;padding-left:8px!important}.hero h1{letter-spacing:2px!important}}
:root{--paper:#f5f1e7;--ink:#302e26;--red:#79382d;--muted:#827b6c;--line:#ddd5c4;--card:#fdfbf6;--gold:#b09a69;font-family:"Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background-image:radial-gradient(#846d4210 .6px,transparent .6px);background-size:5px 5px}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:10px 17px}button:hover{border-color:var(--gold)}button:disabled{opacity:.5;cursor:wait}a{color:var(--red);text-decoration:none}h1,h2,h3,.serif{font-family:"Noto Serif SC","Songti SC",SimSun,serif}h1,h2,h3,p{margin-top:0}p{line-height:1.9}h1{font-size:36px;font-weight:500;letter-spacing:5px}small,.muted{color:var(--muted)}.primary{background:var(--red);color:#fff;border-color:var(--red)}.danger{color:#a32f2f}.loading{padding:50px;text-align:center}.shell{max-width:1280px;margin:auto;padding:0 36px 55px}.top{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;gap:13px;align-items:center;color:var(--ink)}.seal{border:1px solid var(--red);color:var(--red);font-family:SimSun,serif;font-size:30px;padding:4px 9px;line-height:1.2;box-shadow:inset 0 0 0 2px var(--paper),inset 0 0 0 3px var(--red)}.brand strong{font-family:SimSun,serif;font-size:22px;font-weight:500;letter-spacing:3px}.brand small{display:block;font-size:10px;letter-spacing:3px;margin-top:5px}.account{display:flex;gap:12px;align-items:center;font-size:13px}.account button{padding:7px 10px}.nav{display:flex;gap:27px;overflow:auto;white-space:nowrap;border-bottom:1px solid var(--line);padding:0 4px}.nav a{color:var(--muted);padding:19px 0 15px;font-size:14px;border-bottom:2px solid transparent}.nav a.active{color:var(--red);border-bottom-color:var(--red)}.hero{padding:62px 0 42px;display:flex;align-items:center;justify-content:space-between;gap:30px}.eyebrow{font-size:11px;letter-spacing:4px;color:var(--red);margin-bottom:20px}.hero p{color:var(--muted);max-width:560px;font-size:14px}.hero-stamp{writing-mode:vertical-rl;letter-spacing:7px;font-family:SimSun,serif;color:var(--gold);font-size:20px;border-right:1px solid var(--gold);padding:8px 20px;line-height:2.3}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:32px 0 20px}.section-head h2{font-size:23px;font-weight:500;margin:0}.section-head span{font-size:12px;color:var(--muted)}.books{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.book{display:flex;min-height:194px;padding:24px;background:var(--card);border:1px solid var(--line);color:var(--ink);position:relative;transition:transform .2s,box-shadow .2s}.book:hover{transform:translateY(-3px);box-shadow:0 8px 22px #5f482010}.book:before{content:'';position:absolute;left:9px;top:0;bottom:0;border-left:1px solid var(--line)}.book .number{font-size:10px;letter-spacing:2px;color:var(--muted)}.book h3{writing-mode:vertical-rl;font-size:26px;letter-spacing:5px;font-weight:500;margin:0 12px 0 auto;line-height:1.7}.book .tag{position:absolute;bottom:22px;left:25px;color:var(--muted);font-size:11px}.book .arrow{position:absolute;bottom:22px;right:24px;color:var(--red)}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.quick a{padding:25px 26px;background:#e9e2d555;border:1px solid var(--line);color:var(--ink)}.quick h3{font-size:20px;font-weight:500;margin-bottom:10px}.quick p{font-size:12px;color:var(--muted);margin:0}.footer{border-top:1px solid var(--line);margin-top:55px;padding-top:22px;font-size:11px;color:var(--muted);display:flex;justify-content:space-between}.auth-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;max-width:1200px;margin:auto;align-items:center;padding:45px;gap:100px}.auth-intro h1{font-size:50px;line-height:1.5;margin:35px 0 24px}.auth-intro>p{color:var(--muted);font-family:SimSun,serif;letter-spacing:2px}.auth-card{background:var(--card);padding:38px;border:1px solid var(--line);box-shadow:0 15px 60px #715f2510}.auth-tabs{display:flex;gap:26px;margin-bottom:28px;border-bottom:1px solid var(--line)}.auth-tabs button{background:none;border:0;border-radius:0;padding:0 0 15px;color:var(--muted)}.auth-tabs button.active{color:var(--red);border-bottom:2px solid var(--red)}label{display:block;font-size:13px;margin:17px 0 7px}input{width:100%;border:1px solid var(--line);background:#fffdf9;padding:12px;border-radius:4px;color:var(--ink);outline:none}input:focus{border-color:var(--red);box-shadow:0 0 0 2px #79382d12}.auth-card .primary{width:100%;margin-top:25px;padding:13px}.auth-card p{font-size:12px;margin:17px 0 0;color:var(--muted)}.error{color:#ae332a!important;background:#ae332a0b;padding:10px;border-radius:4px}.status-card{max-width:620px;margin:65px auto;background:var(--card);padding:40px;border:1px solid var(--line)}.status-icon{font-size:35px;color:var(--gold);margin-bottom:18px}.list{display:grid;gap:12px}.list>a,.list>button{padding:23px;display:flex;justify-content:space-between;align-items:center;text-align:left;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:0}.list h3{font-weight:500;margin:0;font-size:20px}.list small{display:block;margin-top:9px;font-size:11px}.article{max-width:780px;margin:44px auto;background:var(--card);border:1px solid var(--line);padding:48px 60px}.article h1{font-size:30px;text-align:center;letter-spacing:4px}.article .source{text-align:center;color:var(--muted);font-size:11px;margin:20px 0 35px}.article p{font-family:SimSun,serif;font-size:18px;line-height:2.2;text-indent:2em;white-space:pre-line}.article .verse{text-align:center;text-indent:0;letter-spacing:3px;color:var(--red)}.article .signoff{text-align:right;text-indent:0;font-size:15px}.back{display:inline-block;margin-top:25px;font-size:13px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.photo{padding:0;background:var(--card);border:1px solid var(--line);text-align:left;overflow:hidden}.photo img{width:100%;height:240px;object-fit:cover;display:block}.photo span{display:block;padding:16px;font-size:13px}.tree-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:20px 0 12px}.tree-tools input{width:210px;padding:9px}.tree-tools button{padding:8px 12px}.tree-wrap{height:65vh;min-height:380px;border:1px solid var(--line);position:relative;background:#fbf8f0;overflow:hidden}.tree-wrap canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.tree-hint{font-size:11px;color:var(--muted);margin-top:8px}.tree-search-results{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.table-wrap{overflow:auto;background:var(--card);border:1px solid var(--line)}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}td,th{padding:15px 13px;border-bottom:1px solid var(--line);text-align:left}th{font-weight:500;color:var(--muted);background:#eee8dc66}td button{font-size:11px;padding:6px 9px;margin:2px}.badge{display:inline-block;padding:4px 8px;border:1px solid var(--line);font-size:11px}.approved{color:#3e6b49;background:#3e6b490b}.pending{color:#9c702c;background:#9c702c0b}.disabled,.rejected{color:#9c332c;background:#9c332c0b}.admin-search{max-width:340px;margin-bottom:18px}.profile-form{max-width:440px}dialog{border:1px solid var(--line);background:var(--card);color:var(--ink);padding:35px;max-width:min(900px,92vw);max-height:92vh;border-radius:6px}dialog::backdrop{background:#201b16aa}dialog .close{position:sticky;top:0;float:right;padding:3px 10px;font-size:24px;margin:-15px -15px 10px 15px}dialog img{display:block;max-width:100%;max-height:78vh;object-fit:contain}dialog h2{font-weight:500}dialog p{font-size:14px;white-space:pre-wrap}#toast{position:fixed;bottom:35px;left:50%;transform:translateX(-50%);padding:13px 23px;background:#342e25;color:#fff;border-radius:5px;font-size:13px;z-index:20;max-width:90vw}.empty{padding:60px 20px;text-align:center;color:var(--muted)}.notice{border-left:3px solid var(--gold);padding:13px 18px;background:#b09a6910;font-size:13px;margin:20px 0}.audit{margin-top:30px}.audit p{font-size:12px;border-bottom:1px solid var(--line);padding:8px}.auth-card h2{font-weight:500}button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:3px}@media(max-width:850px){.shell{padding:0 20px 35px}.books{grid-template-columns:repeat(2,1fr)}.auth-wrap{grid-template-columns:1fr;gap:30px;max-width:520px;padding:30px 20px}.auth-intro h1{font-size:32px;margin:25px 0 12px}.auth-intro>p{font-size:13px}.auth-intro .brand{justify-content:center}.auth-intro{text-align:center}.auth-intro .seal{font-size:24px}.auth-card{padding:25px}.photo-grid{grid-template-columns:repeat(2,1fr)}.article{padding:30px 25px}.hero{padding:35px 0 20px}.hero-stamp{font-size:16px;letter-spacing:4px;padding-right:10px}.top{height:80px}.brand strong{font-size:19px;letter-spacing:2px}.brand small{font-size:8px}.account{gap:6px}.account>span{display:none}.nav{gap:23px}.hero h1{font-size:30px}.quick{grid-template-columns:1fr;gap:10px}.quick a{padding:20px}.photo img{height:180px}.footer{gap:15px;font-size:10px}.book{min-height:170px;padding:20px}.book h3{font-size:23px}.article p{font-size:17px}.status-card{margin:35px 0;padding:28px}.tree-wrap{height:62vh}}
