@import"https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=ZCOOL+XiaoWei&family=Ma+Shan+Zheng&display=swap";:root{--ink:#233d55;--ink-soft:#55718a;--blue:#789ab8;--blue-light:#dce9f5;--blue-pale:#eef5fb;--paper:rgba(255,255,255,.82);--line:rgba(102,139,171,.28);--gold:#b49a6c;--muted:#8195a6;--shadow:0 18px 48px rgba(61,94,123,.09);--serif:"Noto Serif SC","Songti SC","STSong",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--serif);background:linear-gradient(155deg,#f7fbff,#edf5fc 38%,#f8fbfd);min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}.ambient{position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 12% 12%,rgba(188,218,242,.38),transparent 33%),radial-gradient(ellipse at 87% 32%,rgba(199,222,240,.35),transparent 29%),url(assets/fenglin-atmosphere.webp) center/cover fixed;opacity:.2}.ambient:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#f6fbffcc,#f5fafff0)}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;padding:13px clamp(16px,4vw,58px);background:#f9fcffe0;backdrop-filter:blur(18px);border-bottom:1px solid rgba(116,151,180,.18)}.brand{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--ink);padding:0;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border:1px solid #a7bed2;outline:1px solid rgba(167,190,210,.45);outline-offset:3px;transform:rotate(45deg);font-size:18px;background:#e8f1f9bf}.brand-mark:first-letter{transform:rotate(-45deg)}.brand b{display:block;font-size:19px;letter-spacing:.17em;font-weight:600}.brand small{display:block;margin-top:2px;color:#92a8ba;font:9px/1.4 Arial,sans-serif;letter-spacing:.19em}.main-nav{display:flex;align-items:center;gap:5px;margin:auto}.nav-link{border:0;background:transparent;color:#70889d;padding:10px 14px;border-radius:4px;font-size:13px;white-space:nowrap;transition:.2s}.nav-link:hover,.nav-link.active{color:#24435f;background:#e7f0f8}.top-actions{display:flex;gap:7px}.icon-button{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#ffffffa6;color:#607f99;font-size:19px}.icon-button:hover{background:#e6f0f8}main{max-width:1180px;margin:0 auto;padding:0 clamp(15px,3vw,34px) 44px}.view{display:none;animation:rise .38s ease}.view.active{display:block}@keyframes rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.hero{position:relative;min-height:535px;margin:28px 0 56px;overflow:hidden;border:1px solid rgba(128,163,190,.38);background:linear-gradient(90deg,#e1effaf0,#e5f0f9a6 52%,#e0edf842),url(assets/fenglin-atmosphere.webp) center 45%/cover;box-shadow:var(--shadow)}.hero:before,.hero:after{content:"";position:absolute;pointer-events:none}.hero:before{inset:15px;border:1px solid rgba(109,147,177,.25)}.hero:after{width:340px;height:340px;right:8%;top:15%;border:1px solid rgba(105,146,178,.24);border-radius:50%;box-shadow:0 0 0 22px #ffffff12,0 0 0 48px #ffffff12}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#f2f8fdf7,#ecf6fde0 45%,#e6f1fa52)}.hero-copy{position:relative;z-index:2;padding:clamp(44px,8vw,92px) clamp(30px,8vw,100px);max-width:760px}.eyebrow,.section-kicker,.tiny-label{font:10px/1.5 Arial,sans-serif;letter-spacing:.23em;color:#7392ad}.eyebrow{display:flex;align-items:center;gap:9px}.eyebrow span{width:22px;height:1px;background:#91b2ce}.hero h1{font-size:clamp(50px,8vw,86px);font-weight:500;letter-spacing:.18em;margin:25px 0 10px;text-shadow:0 3px 18px rgba(255,255,255,.7)}.hero-subtitle{font-size:15px;letter-spacing:.12em;color:#67849d}.hero-rule{width:62px;height:1px;background:#9bb5ca;margin:28px 0}.hero-quote{font-size:15px;line-height:2.2;color:#496b87;letter-spacing:.03em}.primary-button{border:1px solid #789bb8;background:linear-gradient(135deg,#7397b7,#8eacc7);color:#fff;padding:13px 24px;letter-spacing:.12em;box-shadow:0 8px 20px #50779926;transition:.2s}.primary-button span{margin-left:18px}.primary-button:hover{transform:translateY(-2px);box-shadow:0 12px 25px #50779938}.primary-button.compact{padding:10px 16px;font-size:13px}.hero .primary-button{margin-top:18px}.hero-side-note{position:absolute;right:7%;bottom:22%;z-index:2;writing-mode:vertical-rl;letter-spacing:.28em;color:#7899b4;font-size:12px;line-height:2.2}.hero-bottom{position:absolute;bottom:0;left:0;right:0;z-index:2;display:flex;justify-content:space-between;padding:14px 28px;color:#7894aa;border-top:1px solid rgba(115,153,184,.2);background:#f7fbff73;font-size:10px;letter-spacing:.15em}.paper-panel{background:var(--paper);border:1px solid rgba(126,161,188,.3);box-shadow:var(--shadow);backdrop-filter:blur(8px)}.prologue{padding:clamp(22px,5vw,48px);margin-bottom:58px;position:relative}.prologue:before,.paper-panel:before{content:"";position:absolute;inset:8px;border:1px solid rgba(128,164,190,.12);pointer-events:none}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:14px 0 24px}.section-heading h2,.page-heading h2{font-weight:500;letter-spacing:.1em;font-size:clamp(23px,3.4vw,34px);margin:7px 0 8px}.section-heading p,.page-heading p{font-size:13px;color:#8298aa;margin:0;line-height:1.8}.seal{flex-shrink:0;width:54px;height:64px;border:1px solid #b8a27c;color:#9d835a;display:grid;place-items:center;text-align:center;line-height:1.35;font-size:15px;letter-spacing:.08em;transform:rotate(2deg)}.prose{max-width:850px;margin:auto;color:#4e6b83;font-size:14px;line-height:2.25;letter-spacing:.025em}.prose p{margin:0 0 16px;text-indent:2em}.prose p:nth-child(2){text-indent:0;font-size:19px;letter-spacing:.18em;color:#355775}.prose .last-line{color:#2f526f;letter-spacing:.08em}.rules-section{margin-bottom:58px}.rules-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rule-card{border:1px solid var(--line);background:#ffffffa3;transition:.2s}.rule-card[open]{background:#ffffffde;box-shadow:0 9px 25px #3d5e7b0f}.rule-card summary{list-style:none;display:flex;align-items:center;gap:14px;padding:17px 19px;cursor:pointer;color:#426783}.rule-card summary::-webkit-details-marker{display:none}.rule-num{font:11px Arial,sans-serif;color:#9bb3c7;letter-spacing:.12em}.rule-card summary span:nth-child(2){flex:1;font-size:14px}.plus{font-size:18px;color:#91aabd;transition:.2s}.rule-card[open] .plus{transform:rotate(45deg)}.rule-body{padding:0 22px 20px 48px;color:#6e879a;font-size:13px;line-height:2}.rule-body p{margin:0 0 10px}.rule-body ol{padding-left:18px;margin:0}.rule-body li{padding-left:4px;margin:0 0 7px}.warning-line{color:#9a6e70;letter-spacing:.08em}.ferry-signature{text-align:right;color:#54748f}.small-ornament{font-size:30px;color:#a5bdcf}.home-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:30px}.shortcut-card{display:flex;align-items:center;text-align:left;gap:14px;padding:20px;border:1px solid var(--line);background:#ffffffa8;color:var(--ink);transition:.2s}.shortcut-card:hover{background:#fff;transform:translateY(-3px);box-shadow:var(--shadow)}.shortcut-icon{display:grid;place-items:center;width:40px;height:45px;border:1px solid #c1d2df;color:#7393ad;font-size:18px}.shortcut-card span:nth-child(2){flex:1}.shortcut-card b,.shortcut-card small{display:block}.shortcut-card b{font-size:14px;font-weight:500}.shortcut-card small{font-size:11px;color:#8ba0b1;margin-top:7px}.shortcut-card .arrow{color:#8ca9c0}.page-heading{padding:50px 0 28px;border-bottom:1px solid var(--line);margin-bottom:28px}.page-heading h2{font-size:36px}.character-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.character-card{position:relative;overflow:hidden;text-align:left;border:1px solid rgba(126,161,188,.35);background:#ffffffb8;padding:0;color:var(--ink);transition:.25s}.character-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#9dbbd2}.character-card.selected{border-color:#648cad;box-shadow:0 0 0 2px #6e97b71f}.card-art{height:126px;display:grid;place-items:center;background:linear-gradient(145deg,#e5eff7,#f7fbfe);position:relative;overflow:hidden}.card-art:before{content:"";position:absolute;width:115px;height:115px;border:1px solid rgba(121,157,185,.25);border-radius:50%;box-shadow:0 0 0 12px #fff3,0 0 0 27px #ffffff40}.card-art .glyph{position:relative;font-size:43px;color:#86a5bf;font-weight:400}.card-art img{position:absolute;width:100%;height:100%;object-fit:cover}.card-content{padding:17px 17px 18px}.card-category{font-size:10px;color:#8ba4b8;letter-spacing:.15em}.card-name{font-size:20px;font-weight:500;letter-spacing:.08em;margin:8px 0}.card-motto{font-size:11px;color:#7792a8;line-height:1.8;min-height:38px}.card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(126,161,188,.2);margin-top:12px;padding-top:11px;color:#94a8b8;font-size:10px}.card-footer .open-mark{font-size:18px;color:#7898b3}.detail-wrap{margin-top:28px;scroll-margin-top:95px}.detail-panel{border:1px solid var(--line);background:#ffffffd9;box-shadow:var(--shadow)}.detail-head{display:grid;grid-template-columns:155px 1fr auto;gap:25px;padding:28px;border-bottom:1px solid var(--line);align-items:center;background:linear-gradient(110deg,#ddebf6bf,#ffffff59)}.portrait-box{width:155px;aspect-ratio:4/5;background:#e8f0f7;border:1px solid #c2d4e1;position:relative;display:grid;place-items:center;overflow:hidden}.portrait-box img{width:100%;height:100%;object-fit:cover}.portrait-box .portrait-glyph{font-size:55px;color:#91aec4}.detail-title .card-category{font-size:11px}.detail-title h2{font-size:33px;font-weight:500;letter-spacing:.12em;margin:7px 0}.detail-title .motto{font-size:13px;color:#69859c;line-height:1.8}.detail-title .quick-info{font-size:12px;color:#8399aa;margin-top:14px;line-height:1.9}.detail-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}.soft-button,.text-button{border:1px solid var(--line);background:#ffffffb3;color:#66849c;padding:10px 13px;font-size:12px;white-space:nowrap}.soft-button:hover{background:#e9f2f9}.text-button{border:0;background:transparent}.detail-tabs{display:flex;gap:4px;padding:12px 20px;border-bottom:1px solid var(--line);overflow-x:auto}.detail-tab{border:0;background:transparent;padding:11px 15px;color:#8299ab;font-size:12px;white-space:nowrap;border-bottom:2px solid transparent}.detail-tab.active{color:#315876;border-color:#7599b7}.detail-body{padding:clamp(18px,4vw,32px)}.detail-section-title{display:flex;align-items:center;gap:12px;margin:0 0 20px}.detail-section-title .line{height:1px;background:var(--line);flex:1}.detail-section-title h3{font-size:17px;font-weight:500;margin:0;letter-spacing:.08em}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:12px;color:#7e96a9}.field .value{font-size:13px;line-height:1.95;color:#496981;white-space:pre-wrap;overflow-wrap:anywhere}.field input,.field textarea,.form-grid input,.form-grid textarea,.form-grid select{width:100%;border:1px solid #d2e0eb;background:#fafdfff2;color:#36566f;padding:11px 12px;outline:none;border-radius:0;font-size:13px;line-height:1.8}.field input:focus,.field textarea:focus,.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{border-color:#86a9c4;box-shadow:0 0 0 3px #82a9c71f}.field textarea{resize:vertical;min-height:105px}.field .long-text{min-height:220px;line-height:2.1}.field-hint{font-size:11px;color:#9aabba;margin-top:4px}.detail-save-row{display:flex;justify-content:flex-end;gap:8px;padding-top:22px;margin-top:20px;border-top:1px solid var(--line)}.gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0}.gallery-item{position:relative;aspect-ratio:3/4;background:#e7f0f7;border:1px solid var(--line);overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-item button{position:absolute;right:5px;top:5px;border:0;background:#1c3348b8;color:#fff;width:25px;height:25px;border-radius:50%}.upload-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.upload-label{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border:1px dashed #a8bfd1;color:#66869f;font-size:12px;background:#eff6fb99;cursor:pointer}.upload-label input{display:none}.timeline-toolbar{display:flex;align-items:center;justify-content:space-between;margin:26px 0}.timeline-toolbar h3{font-size:23px;font-weight:500;letter-spacing:.1em;margin:6px 0}.event-form{position:relative;padding:25px;margin-bottom:28px}.form-title{display:flex;gap:14px;align-items:center;margin-bottom:20px}.small-seal{width:38px;height:42px;font-size:15px}.form-title h3{font-weight:500;margin:0 0 5px}.form-title p{font-size:12px;color:#899fb0;margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label{font-size:12px;color:#7a93a8;display:flex;flex-direction:column;gap:7px}.full-field{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}.timeline-river{position:relative;max-width:920px;margin:12px auto 0;padding:15px 0 20px}.timeline-river:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(180deg,transparent,#9bb7cc 6%,#9bb7cc 94%,transparent)}.timeline-item{position:relative;width:50%;padding:0 42px 34px 0}.timeline-item:nth-child(2n){margin-left:50%;padding:0 0 34px 42px}.timeline-dot{position:absolute;right:-6px;top:18px;width:13px;height:13px;border:2px solid #7599b7;background:#f5faff;border-radius:50%;box-shadow:0 0 0 5px #a6c4da2b}.timeline-item:nth-child(2n) .timeline-dot{right:auto;left:-6px}.timeline-card{position:relative;border:1px solid var(--line);background:#ffffffc7;padding:20px 22px;box-shadow:0 10px 25px #3d5e7b0d}.timeline-card:after{content:"";position:absolute;right:-5px;top:20px;width:8px;height:8px;background:inherit;border-top:1px solid var(--line);border-right:1px solid var(--line);transform:rotate(45deg)}.timeline-item:nth-child(2n) .timeline-card:after{right:auto;left:-5px;border:0;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.timeline-meta{font-size:10px;color:#91a8b9;letter-spacing:.1em}.timeline-card h4{font-size:17px;font-weight:500;margin:9px 0;color:#355875}.timeline-card p{font-size:12px;line-height:2;color:#6d879a;white-space:pre-wrap;margin:0}.timeline-person{display:inline-block;margin-top:12px;padding:4px 8px;background:#e9f2f8;color:#6888a1;font-size:10px}.timeline-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.mini-action{border:0;background:transparent;color:#8ba3b6;font-size:11px;padding:4px}.mini-action:hover{color:#315876}.timeline-footnote{text-align:center;font-size:11px;letter-spacing:.06em;color:#9aabba;margin:25px 0 10px}.timeline-empty{max-width:500px;margin:45px auto;text-align:center;color:#8ba1b2;line-height:2;font-size:13px}.timeline-empty b{display:block;font-size:20px;font-weight:400;color:#557792;margin-bottom:8px}.memory-layout{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:start}.memory-sidebar{border:1px solid var(--line);background:#ffffffa6;padding:18px;position:sticky;top:90px}.memory-sidebar .tiny-label{margin-bottom:12px}.memory-person{display:flex;width:100%;align-items:center;gap:10px;border:0;border-left:2px solid transparent;background:transparent;text-align:left;padding:11px 8px;color:#708aa0}.memory-person:hover,.memory-person.active{background:#eaf2f8;border-left-color:#789db9;color:#315876}.memory-person .person-mark{width:28px;height:28px;display:grid;place-items:center;border:1px solid #c4d6e4;color:#7b9ab4;font-size:12px}.memory-person b{font-weight:500;font-size:13px}.memory-person small{display:block;font-size:10px;color:#99adbc;margin-top:3px}.memory-editor{position:relative;padding:clamp(20px,4vw,34px);min-height:360px}.memory-editor h3{font-weight:500;letter-spacing:.08em;margin:0 0 6px}.memory-editor .subcopy{font-size:12px;color:#8da1b1;margin:0 0 24px}.memory-section{margin:0 0 25px}.memory-section label{display:block;font-size:12px;color:#718da4;margin-bottom:8px}.memory-section textarea{width:100%;min-height:150px;resize:vertical;border:1px solid #d4e1eb;background:#fafdfff2;padding:14px;color:#42627b;line-height:2;font-size:13px;outline:none}.memory-section textarea:focus{border-color:#86a9c4}.memory-section .biography-preview{font-size:13px;line-height:2.1;color:#4d6b82;white-space:pre-wrap;border-left:2px solid #c5d9e8;padding:4px 0 4px 18px}.empty-state{text-align:center;padding:55px 15px;color:#8ba1b2}.empty-symbol{display:inline-grid;place-items:center;width:56px;height:56px;border:1px solid #bfd1df;color:#86a5bd;font-size:22px;margin-bottom:15px}.empty-state h3{font-weight:400;color:#587a95}.empty-state p{font-size:12px}.site-footer{padding:30px 15px 120px;text-align:center;border-top:1px solid rgba(126,161,188,.18);color:#8da4b6}.footer-mark{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid #b6cad9;color:#7d9bb3;font-size:16px}.site-footer p{font-size:13px;letter-spacing:.15em}.site-footer small{font:9px Arial,sans-serif;letter-spacing:.2em;color:#a5b6c3}.music-dock{position:fixed;z-index:30;left:50%;bottom:14px;transform:translate(-50%);display:flex;align-items:center;gap:12px;width:min(560px,calc(100vw - 24px));padding:10px 13px;background:#f9fcffed;backdrop-filter:blur(18px);border:1px solid rgba(123,158,185,.36);box-shadow:0 12px 40px #2f506b29}.music-cover{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;background:linear-gradient(135deg,#d9e8f4,#f4f8fb);border:1px solid #c1d4e2;color:#7295b0;font-size:20px}.music-meta{min-width:0;flex:1}.music-meta b,.music-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-meta b{font-size:12px;font-weight:500;color:#456782}.music-meta small{font-size:10px;color:#92a7b7;margin-top:4px}.music-play,.music-upload{width:34px;height:34px;display:grid;place-items:center;border:1px solid #c0d3e1;border-radius:50%;background:#edf4fa;color:#6286a1;font-size:12px}.music-upload{font-size:19px;cursor:pointer}.toast{position:fixed;z-index:50;left:50%;bottom:86px;transform:translate(-50%,12px);padding:11px 18px;background:#284257f0;color:#fff;font-size:12px;opacity:0;pointer-events:none;transition:.25s;max-width:calc(100vw - 30px);text-align:center}.toast.show{opacity:1;transform:translate(-50%)}@media(max-width:900px){.topbar{gap:12px;padding:12px 16px}.main-nav{gap:0}.nav-link{padding:9px;font-size:12px}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-head{grid-template-columns:112px 1fr;gap:17px;padding:20px}.portrait-box{width:112px}.detail-actions{grid-column:1/-1;flex-direction:row;justify-content:flex-end}.hero{min-height:490px}.hero-side-note{right:5%}.memory-layout{grid-template-columns:180px 1fr}}@media(max-width:620px){.topbar{flex-wrap:wrap;gap:8px;padding:10px 13px}.brand-mark{width:32px;height:32px}.brand b{font-size:17px}.brand small{font-size:8px}.top-actions{margin-left:auto}.main-nav{order:3;width:100%;justify-content:space-between;border-top:1px solid rgba(116,151,180,.14);padding-top:6px}.nav-link{padding:8px 7px;font-size:11px}.hero{margin:14px 0 38px;min-height:490px;background-position:55% center}.hero-copy{padding:60px 26px 80px}.hero h1{font-size:56px}.hero-quote{font-size:13px}.hero-side-note{right:24px;bottom:22%;font-size:10px}.hero-bottom{padding:12px 17px}.section-heading{align-items:flex-start}.section-heading h2{font-size:24px}.prologue{padding:25px 20px}.prose{font-size:13px;line-height:2.1}.rules-list{grid-template-columns:1fr}.rule-card summary{padding:15px}.rule-body{padding:0 18px 17px 42px}.home-shortcuts{grid-template-columns:1fr}.shortcut-card{padding:15px}.page-heading{padding:32px 0 22px}.page-heading h2{font-size:30px}.character-grid{gap:10px}.card-art{height:105px}.card-content{padding:13px}.card-name{font-size:18px}.card-motto{font-size:10px;min-height:45px}.detail-head{grid-template-columns:88px 1fr;gap:13px;padding:15px}.portrait-box{width:88px}.detail-title h2{font-size:25px}.detail-title .motto{font-size:11px}.detail-title .quick-info{font-size:10px;margin-top:8px}.detail-actions{gap:6px}.soft-button{padding:8px 10px;font-size:11px}.detail-tabs{padding:8px 10px}.detail-tab{padding:10px 12px}.detail-body{padding:19px 15px}.field-grid{grid-template-columns:1fr;gap:13px}.field.full{grid-column:auto}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.timeline-toolbar{align-items:flex-start;gap:12px}.timeline-toolbar h3{font-size:20px}.timeline-river:before{left:10px}.timeline-item,.timeline-item:nth-child(2n){width:100%;margin-left:0;padding:0 0 23px 34px}.timeline-dot,.timeline-item:nth-child(2n) .timeline-dot{left:4px;right:auto;top:17px}.timeline-card:after,.timeline-item:nth-child(2n) .timeline-card:after{left:-5px;right:auto;border:0;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.timeline-card{padding:16px}.form-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.event-form{padding:18px}.memory-layout{grid-template-columns:1fr}.memory-sidebar{position:static;padding:12px;display:block}.memory-sidebar #memory-character-list{display:flex;gap:5px;overflow-x:auto}.memory-person{flex:0 0 auto;width:auto;padding:8px;border-left:0;border-bottom:2px solid transparent}.memory-person.active{border-bottom-color:#789db9}.memory-person .person-mark,.memory-person small{display:none}.memory-editor{padding:20px 16px}.music-dock{bottom:8px;padding:8px 10px;gap:9px}.music-cover{width:33px;height:33px}.site-footer{padding-bottom:110px}}:root{--ink:#d4c8ad;--ink-soft:#b8ad96;--blue:#817965;--blue-light:#393a32;--blue-pale:#242720;--paper:rgba(27,29,25,.86);--line:rgba(177,157,119,.28);--gold:#a98b59;--muted:#898476;--shadow:0 18px 48px rgba(0,0,0,.28);--serif:"Noto Serif SC","Songti SC","STSong","SimSun",serif}html{background:#171916}body{color:var(--ink);font-family:var(--serif);background:radial-gradient(ellipse at 50% 0%,#34352d,#20221d 42%,#151713)}.ambient{background:radial-gradient(ellipse at 18% 18%,rgba(126,116,91,.18),transparent 35%),radial-gradient(ellipse at 83% 38%,rgba(94,91,73,.16),transparent 32%),url(assets/fenglin-atmosphere.webp) center/cover fixed;filter:grayscale(1) sepia(.32) brightness(.36) contrast(1.15);opacity:.42}.ambient:after{background:linear-gradient(180deg,#14161294,#141612eb)}.topbar{background:#161814e8;border-bottom-color:#ad976f3d;box-shadow:0 5px 24px #00000024}.brand{color:#e0d3b8}.brand-mark{border-color:#8c7958;outline-color:#997e5347;background:#343026c7;color:#c7ad7b}.brand b{font-family:ZCOOL XiaoWei,"Noto Serif SC",Songti SC,serif;letter-spacing:.22em}.brand small{color:#94866c}.nav-link{color:#a79c84}.nav-link:hover,.nav-link.active{color:#e1d1ad;background:#846c4333}.icon-button{background:#2b2b23bf;color:#c3b18b;border-color:var(--line)}.icon-button:hover{background:#39372c}.hero{border-color:#ad976f57;background:linear-gradient(90deg,#171915eb,#1b1d18b8 52%,#1c1d1759),url(assets/fenglin-atmosphere.webp) center 45%/cover;box-shadow:var(--shadow)}.hero:before{border-color:#b2996c3d}.hero:after{border-color:#a990642b;box-shadow:0 0 0 22px #00000012,0 0 0 48px #00000014}.hero-shade{background:linear-gradient(90deg,#161814f7,#191b16db 45%,#191a1557)}.eyebrow,.section-kicker,.tiny-label{color:#a58d62}.eyebrow span{background:#8e7954}.hero h1{font-family:ZCOOL XiaoWei,"Noto Serif SC",Songti SC,serif;color:#e0d2b4;text-shadow:0 3px 18px rgba(0,0,0,.6);font-weight:400;letter-spacing:.24em}.hero-subtitle{color:#b5a485}.hero-rule{background:#88734f}.hero-quote{color:#c1b59b}.hero-side-note{color:#ad9670}.hero-bottom{color:#a99a7c;border-top-color:#ad976f38;background:#1214117a}.paper-panel{background:var(--paper);border-color:var(--line);box-shadow:var(--shadow)}.prologue:before,.paper-panel:before{border-color:#af96691c}.section-heading h2,.page-heading h2,.timeline-toolbar h3,.memory-editor h3{font-family:ZCOOL XiaoWei,"Noto Serif SC",Songti SC,serif;color:#dfd0b1;font-weight:400;letter-spacing:.13em}.section-heading p,.page-heading p{color:#a69b84}.seal{border-color:#94784c;color:#b69a65;background:#5935271f;font-family:Ma Shan Zheng,KaiTi,STKaiti,serif}.prose{color:#c0b59d}.prose p:nth-child(2){color:#e1d2b4;font-family:ZCOOL XiaoWei,"Noto Serif SC",Songti SC,serif}.prose .last-line{color:#d2c09a}.rule-card,.shortcut-card,.character-card,.detail-panel,.timeline-card,.memory-sidebar{background:#1d1f1adb;border-color:var(--line);color:var(--ink)}.rule-card[open]{background:#27271ff2;box-shadow:0 9px 25px #0000002e}.rule-card summary{color:#d0c2a4}.rule-num,.plus{color:#a18a63}.rule-body{color:#b5aa92}.warning-line{color:#c18b7d}.ferry-signature{color:#c0a575}.small-ornament{color:#99855f}.shortcut-card:hover{background:#302f26f5}.shortcut-icon{border-color:#716348;color:#c0a575}.shortcut-card small{color:#a69a82}.shortcut-card .arrow{color:#c0a575}.page-heading{border-bottom-color:var(--line)}.character-card{border-color:var(--line)}.character-card:hover{border-color:#aa9061}.character-card.selected{border-color:#b29a6d;box-shadow:0 0 0 2px #b29a6d1f}.card-art{background:linear-gradient(145deg,#292c25,#414034)}.card-art:before{border-color:#b599663d;box-shadow:0 0 0 12px #0000001a,0 0 0 27px #0000001a}.card-art .glyph{color:#b09a70}.card-category{color:#b19b70}.card-name{font-family:ZCOOL XiaoWei,"Noto Serif SC",Songti SC,serif;color:#e0d2b5;font-weight:400}.card-motto{color:#b8ad96}.card-footer{border-top-color:var(--line);color:#a79b82}.card-footer .open-mark{color:#c1a575}.detail-head{border-bottom-color:var(--line);background:linear-gradient(110deg,#4f44306b,#1d1f1a3d)}.portrait-box{background:#292b24;border-color:#746548}.portrait-box .portrait-glyph{color:#b6a077}.detail-title h2{font-family:ZCOOL XiaoWei,"Noto Serif SC",Songti SC,serif;color:#e0d2b5}.detail-title .motto,.detail-title .quick-info{color:#b7ab91}.primary-button{border-color:#9c8153;background:linear-gradient(135deg,#69573a,#8b7247);color:#f1e5c9;box-shadow:0 8px 20px #0003}.primary-button:hover{box-shadow:0 12px 25px #00000047}.soft-button,.detail-tab{background:#2b2b23d1;border-color:var(--line);color:#c7b99a}.detail-tab.active,.detail-tab:hover{background:#775b313d;color:#e5d4b1}input,textarea,select{background:#131512e0!important;color:#d8cbb0!important;border-color:#615743!important}input::placeholder,textarea::placeholder{color:#827965!important}input:focus,textarea:focus,select:focus{border-color:#a38a5d!important;outline-color:#a38a5d33}.upload-label{border-color:#82704d;color:#c2ad82;background:#2f2c2294}.gallery-item button{background:#1b1914d9}.timeline-river:before{background:linear-gradient(180deg,transparent,#86734f 6%,#86734f 94%,transparent)}.timeline-dot{border-color:#a68b5a;background:#272820;box-shadow:0 0 0 5px #9d7f4d24}.timeline-card{border-color:var(--line);background:#1e201beb}.timeline-meta{color:#ad9b77}.timeline-card h4{color:#dfcda9;font-family:ZCOOL XiaoWei,"Noto Serif SC",Songti SC,serif}.timeline-card p{color:#c1b59d}.timeline-person{background:#7c5d3138;color:#cbb58b}.mini-action{color:#b5a27d}.mini-action:hover{color:#e4d1aa}.timeline-footnote,.timeline-empty{color:#a89d85}.timeline-empty b{color:#d3c2a0}.memory-person{color:#b6aa91}.memory-person:hover,.memory-person.active{background:#775b3138;border-left-color:#a58a5a;color:#e0d0ad}.memory-person .person-mark{border-color:#746448;color:#c1a574}.memory-person small{color:#a79b82}.memory-editor .subcopy{color:#a99d84}.memory-section label{color:#c2b18e}.memory-section textarea{background:#131512e0;border-color:#625943;color:#d8cbb0}.memory-section textarea:focus{border-color:#a38a5d}.memory-section .biography-preview{color:#c5b89f;border-left-color:#89724c}.empty-state{color:#a79b83}.empty-symbol{border-color:#746448;color:#b29b6d}.empty-state h3{color:#d2c19f}.site-footer{border-top-color:var(--line);color:#a89b80}.footer-mark{border-color:#8d7751;color:#c0a575}.site-footer small{color:#96896f}.music-dock{background:#181a16f2;border-color:#ad976f52;box-shadow:0 12px 40px #00000061}.music-cover{background:linear-gradient(135deg,#343329,#24251f);border-color:#746348;color:#c2a879}.music-meta b{color:#dfd0b1}.music-meta small{color:#a79b82}.music-play,.music-upload{border-color:#746448;background:#343329;color:#d0b98c}.toast{background:#201e18f7;border:1px solid rgba(173,151,111,.25);color:#eee0c2}.hero h1,.brand b,.section-heading h2,.page-heading h2,.card-name,.detail-title h2,.timeline-card h4,.memory-editor h3{font-family:ZCOOL XiaoWei,"Noto Serif SC",Songti SC,STSong,serif}.seal,.brand-mark,.small-seal{font-family:Ma Shan Zheng,KaiTi,STKaiti,"Noto Serif SC",serif}.eyebrow,.section-kicker,.tiny-label,.brand small,.timeline-meta,.card-category,.card-footer,.site-footer small{font-family:Arial,Noto Sans SC,sans-serif;letter-spacing:.16em}@media(max-width:620px){.hero h1{letter-spacing:.18em}.section-heading h2,.page-heading h2{letter-spacing:.1em}}
