:root{--paper: #f5efe3;--paper-2: #fffdf7;--paper-3: #efe6d6;--ink: #2f2721;--ink-2: #5b4c3d;--ink-3: #8b7b66;--line: #e2d5be;--line-2: #d0bfa2;--seal: #9c3b2a;--jade: #5f7a63;--gold: #b08d4f;--shadow: 0 1px 0 rgba(255, 255, 255, .6), 0 8px 24px -18px rgba(60, 40, 20, .55);--serif: "Songti SC", "Noto Serif SC", "Source Han Serif SC", "STSong", "SimSun", "Times New Roman", Georgia, serif;--kai: "Kaiti SC", "STKaiti", "KaiTi", var(--serif)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--serif);color:var(--ink);background-color:var(--paper);background-image:radial-gradient(circle at 12% 18%,rgba(176,141,79,.06),transparent 42%),radial-gradient(circle at 88% 8%,rgba(95,122,99,.05),transparent 38%),repeating-linear-gradient(0deg,rgba(120,90,50,.028) 0 1px,transparent 1px 4px);line-height:1.75;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit}.app{display:flex;flex-direction:column;min-height:100%}.main{flex:1;display:flex;flex-direction:column;min-height:0}.container{width:min(1180px,100% - 40px);margin:0 auto}.page{flex:1;padding:30px 0 72px}.page-narrow{width:min(880px,100% - 40px);margin:0 auto}.site-header{position:sticky;top:0;z-index:30;background:linear-gradient(180deg,#fffdf7f7,#f5efe3ed);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.site-header .inner{display:flex;align-items:center;gap:20px;width:min(1180px,100% - 40px);margin:0 auto;padding:12px 0}.brand{display:flex;align-items:center;gap:12px}.seal{width:42px;height:42px;flex:none;display:grid;place-items:center;background:var(--seal);color:#fdf7ec;font-size:24px;font-weight:700;line-height:1;border-radius:6px;letter-spacing:0;box-shadow:inset 0 0 0 2px #fdf7ec59}.brand-text b{display:block;font-size:19px;letter-spacing:3px}.brand-text span{display:block;font-size:11.5px;color:var(--ink-3);letter-spacing:1px}.nav{display:flex;gap:4px;margin-left:auto;align-items:center;flex-wrap:wrap}.nav a{padding:6px 13px;font-size:14.5px;color:var(--ink-2);border-radius:6px;border:1px solid transparent;letter-spacing:1px;transition:all .18s}.nav a:hover{background:var(--paper-3);color:var(--ink)}.nav a.active{color:var(--seal);border-color:var(--line-2);background:var(--paper-2)}.site-footer{border-top:1px solid var(--line);background:#efe6d699;padding:22px 0 26px;font-size:12.5px;color:var(--ink-3);text-align:center}.site-footer .disclaimer{margin-top:10px;color:var(--ink-3)}.card{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:22px 24px;position:relative}.card+.card{margin-top:18px}.card-title{display:flex;align-items:baseline;gap:10px;margin:0 0 14px;font-size:17px;letter-spacing:2px}.card-title:before{content:"";width:4px;height:17px;background:var(--seal);border-radius:2px}.card-title small{font-size:12px;color:var(--ink-3);letter-spacing:0}.muted{color:var(--ink-3)}.small{font-size:12.5px}.mono{font-variant-numeric:tabular-nums}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.spread{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font-size:13.5px;letter-spacing:.5px;padding:6px 13px;border-radius:6px;border:1px solid var(--line-2);background:var(--paper-2);color:var(--ink-2);transition:all .16s}.btn:hover{border-color:var(--seal);color:var(--seal)}.btn.active,.btn[aria-pressed=true]{background:var(--seal);border-color:var(--seal);color:#fdf7ec}.btn.ghost{border-color:transparent;background:transparent}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.small{padding:4px 10px;font-size:12.5px}.tag{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:2px 8px;border:1px solid var(--line-2);border-radius:20px;color:var(--ink-2);background:var(--paper-3)}.tag.seal{color:var(--seal);border-color:#9c3b2a59;background:#9c3b2a0f}.tag.jade{color:var(--jade);border-color:#5f7a6359;background:#5f7a6312}input[type=search],input[type=text],select{font-family:inherit;font-size:14px;padding:6px 10px;color:var(--ink);background:var(--paper-2);border:1px solid var(--line-2);border-radius:6px;outline:none}input[type=search]:focus,input[type=text]:focus{border-color:var(--gold)}.hero{position:relative;overflow:hidden}.hero:after{content:"張";position:absolute;right:-18px;bottom:-54px;font-size:210px;color:#9c3b2a0e;line-height:1;pointer-events:none}.hero h1{margin:0 0 6px;font-size:34px;letter-spacing:8px;font-weight:700}.hero .sub{margin:0 0 18px;color:var(--ink-3);font-size:13.5px;letter-spacing:1px}.hero .lead{max-width:620px;color:var(--ink-2);font-size:14.5px}.hero .actions{margin-top:20px;display:flex;gap:10px;flex-wrap:wrap}.btn-primary{background:var(--seal);border-color:var(--seal);color:#fdf7ec;font-size:14.5px;padding:9px 20px}.btn-primary:hover{color:#fff;background:#8b3223;border-color:#8b3223}.gen-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.gen-cell{width:68px;text-align:center;padding:10px 4px 8px;border:1px solid var(--line-2);border-radius:8px;background:var(--paper-2);box-shadow:var(--shadow)}.gen-cell b{display:block;font-size:26px;line-height:1.2}.gen-cell span{font-size:11px;color:var(--ink-3);letter-spacing:.5px}.gen-cell em{display:block;font-size:11px;color:var(--ink-3);font-style:normal}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.stat{padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--paper-2)}.stat b{display:block;font-size:24px;color:var(--seal);letter-spacing:1px}.stat span{font-size:12px;color:var(--ink-3)}.two-col{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;align-items:start}@media (max-width: 900px){.two-col{grid-template-columns:1fr}}.bars{display:flex;flex-direction:column;gap:7px}.bar-row{display:grid;grid-template-columns:74px 1fr 46px;align-items:center;gap:10px;font-size:12.5px}.bar-track{height:12px;background:var(--paper-3);border-radius:6px;overflow:hidden;border:1px solid var(--line)}.bar-fill{height:100%;border-radius:6px;opacity:.85}.branch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.branch{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--paper-2);display:flex;justify-content:space-between;align-items:baseline;transition:all .16s}.branch:hover{border-color:var(--gold);transform:translateY(-1px)}.branch b{font-size:15px;letter-spacing:1px}.branch span{font-size:12px;color:var(--ink-3)}.art-list{display:flex;flex-direction:column}.art-item{padding:12px 0;border-bottom:1px dashed var(--line)}.art-item:last-child{border-bottom:0}.art-item a{font-size:15.5px;letter-spacing:1px}.art-item a:hover{color:var(--seal)}.art-item p{margin:4px 0 0;font-size:13px;color:var(--ink-3)}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.album-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper-2)}.album-card .cover{aspect-ratio:4 / 3;background:var(--paper-3);overflow:hidden}.album-card .cover img{width:100%;height:100%;object-fit:cover;display:block}.album-card .meta{padding:10px 12px}.album-card .meta b{display:block;font-size:14.5px}.photo-grid{columns:4 168px;column-gap:12px}.photo{break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 12px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--paper-2);cursor:zoom-in}.photo img{width:100%;height:auto;display:block}.photo .cap{padding:6px 8px;font-size:12px;color:var(--ink-3)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#1e160ed1;display:grid;place-items:center;padding:4vh 4vw}.lightbox figure{margin:0;max-width:100%;max-height:100%;text-align:center}.lightbox img{max-width:100%;max-height:82vh;border-radius:6px}.lightbox figcaption{color:#f2e8d8;font-size:13px;margin-top:10px}.tree-page{flex:1;display:flex;flex-direction:column;min-height:560px}.tree-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line)}.tree-toolbar .grow{flex:1;min-width:12px}.tree-body{flex:1;display:flex;min-height:0}.tree-canvas{flex:1;min-width:0;position:relative}.tree-canvas .hint{position:absolute;left:14px;bottom:12px;font-size:11.5px;color:var(--ink-3);background:#fffdf7db;border:1px solid var(--line);border-radius:6px;padding:4px 9px}.tree-side{width:328px;flex:none;border-left:1px solid var(--line);overflow-y:auto;background:#fffdf7b8;padding:18px 18px 40px}@media (max-width: 860px){.tree-page{flex:none}.tree-body{flex-direction:column}.tree-canvas{height:62vh}.tree-side{width:auto;border-left:0;border-top:1px solid var(--line)}}.person-head{display:flex;align-items:flex-start;gap:12px}.person-head h2{margin:0;font-size:24px;letter-spacing:3px}.person-head .sub{font-size:12.5px;color:var(--ink-3);margin-top:2px}.avatar{width:46px;height:46px;flex:none;border-radius:8px;display:grid;place-items:center;color:#fdf7ec;font-size:22px;letter-spacing:0;background:var(--ink-2)}.fields{display:grid;grid-template-columns:78px 1fr;gap:6px 12px;font-size:14px;margin:14px 0 0}.fields dt{color:var(--ink-3);font-size:12.5px}.fields dd{margin:0}.relations{display:flex;flex-direction:column;gap:8px;margin-top:6px}.rel-row{display:grid;grid-template-columns:52px 1fr;gap:10px;align-items:start;font-size:13.5px}.rel-row>.k{color:var(--ink-3);font-size:12.5px;padding-top:3px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;font-size:13px;border:1px solid var(--line-2);border-radius:20px;background:var(--paper-2);transition:all .16s}.chip:hover{border-color:var(--seal);color:var(--seal)}.chip .dot{width:7px;height:7px;border-radius:50%}.chip.plain{border-style:dashed;color:var(--ink-2)}.notes{margin:14px 0 0;padding:12px 14px;font-family:var(--kai);font-size:15px;line-height:2;background:var(--paper-3);border-left:3px solid var(--gold);border-radius:0 6px 6px 0;white-space:pre-wrap}.notice{margin-top:14px;padding:9px 12px;font-size:12.5px;color:#7a5a20;background:#b08d4f1f;border:1px solid rgba(176,141,79,.35);border-radius:6px}.article{font-size:15.5px}.article h1{font-size:24px;letter-spacing:2px;margin:0 0 6px}.article h2{font-size:19px;margin:26px 0 10px;letter-spacing:1px}.article h3{font-size:16.5px;margin:20px 0 8px}.article p{margin:12px 0;text-align:justify}.article blockquote{margin:14px 0;padding:8px 16px;border-left:3px solid var(--seal);background:var(--paper-3);color:var(--ink-2);font-family:var(--kai)}.article img{max-width:100%;border-radius:6px}.article table{border-collapse:collapse;width:100%;font-size:14px}.article th,.article td{border:1px solid var(--line);padding:6px 10px}.article code{background:var(--paper-3);padding:1px 5px;border-radius:4px;font-size:13px}.article hr{border:0;border-top:1px dashed var(--line-2);margin:22px 0}.article>h1{text-align:center;font-size:25px;letter-spacing:5px;margin:8px 0 10px}.article>h1+.small{text-align:center;letter-spacing:1.5px;font-size:12.5px}.article>hr{width:min(180px,38%);margin:18px auto 30px;border:0;border-top:1px solid var(--line-2)}.article .prose,.md-preview .prose{font-size:16px;line-height:2.05;letter-spacing:.02em}.article .prose,.md-preview .prose>p{margin:0 0 1.15em;text-indent:2em;text-align:justify}.article .prose,.md-preview .prose>p:last-child{margin-bottom:0}.article .prose,.md-preview .prose>h2{position:relative;font-size:17px;letter-spacing:3px;color:var(--seal);margin:34px 0 16px;padding-left:14px}.article .prose,.md-preview .prose>h2:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:16px;background:var(--seal);border-radius:2px;opacity:.9}.article .prose,.md-preview .prose>h2:first-child{margin-top:0}.article .prose,.md-preview .prose>blockquote{margin:22px 0;padding:14px 20px;line-height:2;font-size:16.5px;letter-spacing:.06em}.article .prose,.md-preview .prose strong{color:var(--seal);font-weight:700}.article .prose,.md-preview .prose>ul,.md-preview .prose>ol{margin:0 0 1.15em;padding-left:1.6em}.article .prose,.md-preview .prose>ul li,.md-preview .prose>ol li{margin:6px 0}.article .prose,.md-preview .prose>p+p{margin-top:0}@media (max-width: 640px){.article>h1{font-size:21px;letter-spacing:3px}.article .prose,.md-preview .prose{font-size:15.5px;line-height:2}}.empty{text-align:center;padding:40px 20px;color:var(--ink-3);border:1px dashed var(--line-2);border-radius:10px;background:#fffdf799}.empty b{display:block;font-size:15px;color:var(--ink-2);margin-bottom:6px}.empty code{background:var(--paper-3);padding:1px 6px;border-radius:4px;font-size:12.5px}.crumb{font-size:12.5px;color:var(--ink-3);margin-bottom:12px}.crumb a:hover{color:var(--seal)}.loading{padding:80px 0;text-align:center;color:var(--ink-3)}.error{margin:40px auto;max-width:560px}.input{width:100%;padding:9px 12px;font-family:var(--serif);font-size:15px;color:var(--ink);background:var(--paper-2);border:1px solid var(--line-2);border-radius:8px;letter-spacing:1px}.input:focus{outline:none;border-color:var(--seal);box-shadow:0 0 0 3px #9c3b2a1a}.input:disabled{background:var(--paper-3)}.login-form{margin-top:14px;display:flex;flex-direction:column;gap:10px}.login-label{font-size:12.5px;color:var(--ink-3);letter-spacing:1px}.login-remember{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-3)}.login-remember input{accent-color:var(--seal)}.login-error{padding:9px 12px;font-size:13px;color:#8b3223;background:#9c3b2a14;border:1px solid rgba(156,59,42,.3);border-radius:6px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:24px;background:#1e160e8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-card{width:min(430px,100%);padding:20px 22px 22px;background:var(--paper-2);border:1px solid var(--line-2);border-radius:12px;box-shadow:0 24px 60px -28px #3c2814b3}.modal-card code,.admin code{background:var(--paper-3);padding:1px 6px;border-radius:4px;font-size:12.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.notice-bar{padding:9px 0;font-size:13px;color:#7a5a20;background:#b08d4f24;border-bottom:1px solid rgba(176,141,79,.3)}.footer-admin{color:var(--ink-3);font-size:12px;letter-spacing:2px;opacity:.75}.footer-admin:hover{color:var(--seal);opacity:1}.admin{min-height:100%;display:flex;flex-direction:column}.admin-header{padding:12px 0;background:#fffdf7e6;border-bottom:1px solid var(--line)}.admin-brand{font-size:16px;letter-spacing:2px}.admin-body{flex:1;padding:22px 0 60px}.admin-login{max-width:480px}.admin-footer{padding:16px 0 28px;border-top:1px solid var(--line)}.admin-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:14px}.admin-section{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2)}.admin-section b{font-size:15.5px;letter-spacing:2px}.admin-section p{margin:6px 0 8px}.admin-section ul{margin:0;padding-left:18px;color:var(--ink-2)}.admin-section li{margin:5px 0}.paiyu{margin-top:18px;padding:20px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper-3);display:flex;flex-direction:column;align-items:center;gap:12px}.paiyu-line{display:flex;gap:26px;flex-wrap:wrap;justify-content:center}.paiyu-group{display:flex;gap:6px}.paiyu-char{position:relative;width:46px;height:46px;display:flex;align-items:center;justify-content:center;font-size:27px;line-height:1;color:var(--ink-2);background:var(--paper-2);border:1px solid var(--line);border-radius:6px}.paiyu-char.in-branch{color:var(--seal);border-color:#9c3b2a8c;background:#9c3b2a0d;font-weight:700;margin-bottom:15px}.paiyu-char.mismatch{border-style:dashed;border-color:var(--gold);color:var(--ink-3);background:transparent}.paiyu-gen{position:absolute;bottom:-15px;font-size:10px;font-style:normal;color:var(--ink-3);letter-spacing:.5px;white-space:nowrap}.paiyu-char.in-branch:not(.mismatch) .paiyu-gen{color:var(--seal)}.paiyu.glyphs{flex-direction:row;flex-wrap:wrap;gap:20px;align-items:flex-start;background:transparent;border:0;padding:0}.glyph{display:flex;flex-direction:column;align-items:center;gap:4px}.glyph-char{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:#fdf7ec;font-size:30px;box-shadow:var(--shadow)}.glyph-char.mismatch{outline:2px dashed var(--gold);outline-offset:2px}.glyph-gen{font-size:12px;color:var(--ink-2);letter-spacing:1px}.glyph-count{font-size:11px}.admin-topbar{margin-left:auto;gap:8px}.small-input{width:190px;padding:5px 10px;font-size:12.5px}.tag-hot{color:var(--seal);border-color:#9c3b2a66;background:#9c3b2a14;font-weight:700}.admin-bar{position:relative;margin-bottom:16px;padding:11px 44px 11px 14px;font-size:14px;border:1px solid var(--line-2);border-radius:9px;background:var(--paper-2)}.admin-bar>.btn.ghost{position:absolute;top:8px;right:8px}.admin-bar.error{border-color:#9c3b2a73;background:#9c3b2a12;color:#8b3223}.admin-bar.ok{border-color:#5f7a6373;background:#5f7a6314;color:#44604a}.admin-bar.warn{border-color:#b08d4f80;background:#b08d4f1a;color:#7a5a20}.admin-bar .issue-list{margin:8px 0 0}.log{margin:8px 0 0;padding:10px;max-height:220px;overflow:auto;font-size:12px;line-height:1.6;white-space:pre-wrap;background:var(--paper-3);border-radius:6px;color:var(--ink-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.admin-tabs{display:flex;align-items:center;gap:8px;margin:4px 0 16px;flex-wrap:wrap}.admin-status{padding:12px 16px}.admin-status>summary{cursor:pointer;font-size:14px;color:var(--ink-2);letter-spacing:1px}.admin-status .fields{margin-top:10px}.admin-split{display:grid;grid-template-columns:264px 1fr;gap:18px;align-items:start}.admin-list{border:1px solid var(--line);border-radius:10px;background:var(--paper-2);overflow:hidden;position:sticky;top:12px;max-height:calc(100vh - 120px);display:flex;flex-direction:column}.admin-list-head{padding:11px 12px;border-bottom:1px solid var(--line);background:var(--paper-3)}.admin-list-body{overflow:auto;padding:6px}.plist-group{margin-bottom:8px}.plist-gen{padding:6px 8px 4px;font-size:12px;letter-spacing:2px;color:var(--ink-3);border-bottom:1px dashed var(--line);margin-bottom:4px}.plist-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 9px;margin-bottom:2px;text-align:left;background:transparent;border:1px solid transparent;border-radius:7px;font-family:inherit;font-size:14px;color:var(--ink);cursor:pointer}.plist-item b{letter-spacing:1px}.plist-item span{display:block}.plist-item:hover{background:var(--paper-3)}.plist-item.active{background:#9c3b2a14;border-color:#9c3b2a4d}.plist-item.voided{opacity:.7;text-decoration-line:line-through}.plist-item.voided .btn{text-decoration:none;opacity:1}.plist-pick{flex:1;min-width:0;text-align:left;background:transparent;border:0;padding:0;font-family:inherit;font-size:14px;color:inherit;cursor:pointer}.plist-pick b{display:block}.plist-item .btn{flex:none;margin-left:auto}.admin-detail{min-width:0}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px;flex-wrap:wrap}.detail-head h3{letter-spacing:1px}.form-title{margin:0 0 12px;font-size:13px;letter-spacing:3px;color:var(--ink-3);font-weight:400}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 14px}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:10px;min-width:0}.field-grid .field{margin-bottom:0}.field-label{font-size:12.5px;color:var(--ink-3);letter-spacing:1px}.field-hint{font-size:11.5px;color:var(--ink-3)}.check-field{justify-content:flex-end}.check{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--ink-2)}.check input{accent-color:var(--seal)}.picker{display:grid;grid-template-columns:30px 1fr;align-items:start;gap:8px;margin-bottom:10px}.picker-label{font-size:12.5px;color:var(--ink-3);padding-top:9px;letter-spacing:1px}.picker-body{position:relative;min-width:0}.picker-menu{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;max-height:260px;overflow:auto;padding:4px;background:var(--paper-2);border:1px solid var(--line-2);border-radius:8px;box-shadow:0 18px 40px -22px #3c2814b3}.picker-item{display:block;width:100%;padding:6px 8px;text-align:left;font-family:inherit;font-size:13.5px;color:var(--ink);background:transparent;border:0;border-radius:6px;cursor:pointer}.picker-item:hover{background:var(--paper-3)}.picker-item.create{color:var(--seal);border-top:1px dashed var(--line)}.picker-chip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 10px;background:var(--paper-2);border:1px solid var(--line-2);border-radius:8px;font-size:14px}.picker-chip .btn{margin-left:auto}.rel-block{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}.rel-head{font-size:12.5px;letter-spacing:3px;color:var(--ink-3);margin-bottom:8px}.rel-list{list-style:none;margin:0 0 8px;padding:0}.rel-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;margin-bottom:4px;font-size:14px;background:var(--paper-3);border-radius:7px}.rel-row>span{min-width:0}.rel-add{margin-top:6px}.issue-list{list-style:none;margin:6px 0 0;padding:0;font-size:13.5px}.issue-list li{padding:4px 0 4px 14px;position:relative}.issue-list li:before{content:"·";position:absolute;left:4px}.issue-list.error li:before{content:"✕";color:var(--seal);font-size:11px}.issue-list.warn li:before{content:"!";color:var(--gold)}.issue-list .bad,.bad{color:#8b3223}.md-split{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.md-input{min-height:420px;resize:vertical;line-height:1.8;letter-spacing:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px}.md-preview{min-height:420px;max-height:620px;overflow:auto;padding:14px 16px;background:var(--paper);border:1px solid var(--line);border-radius:8px}.md-preview .prose{font-size:15px}.dropzone{padding:26px 18px;text-align:center;cursor:pointer;border:1.5px dashed var(--line-2);border-radius:10px;background:#fffdf7b3}.dropzone:hover,.dropzone.hot{border-color:var(--seal);background:#9c3b2a0d}.dropzone code{background:var(--paper-3);padding:1px 6px;border-radius:4px;font-size:12.5px}.img-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.img-card{margin:0;padding:10px;background:var(--paper-2);border:1px solid var(--line);border-radius:10px}.img-card>img{width:100%;height:168px;object-fit:cover;border-radius:7px;cursor:zoom-in;background:var(--paper-3);display:block}.img-card figcaption{display:block;margin-top:8px}.img-card figcaption .field{margin:6px 0 0}@media (max-width: 980px){.md-split{grid-template-columns:1fr}.md-preview{max-height:420px}}@media (max-width: 860px){.admin-split{grid-template-columns:1fr}.admin-list{position:static;max-height:340px}.admin-header .container{flex-wrap:wrap}.admin-topbar{margin-left:0;width:100%}.small-input{flex:1;width:auto}.detail-head{flex-direction:column}}
