:root{--bg-root:#0b0c0b;--bg-surface:#121413;--bg-elevated:#1a1d1b;--text-primary:#d4d6d0;--text-secondary:#8a8f87;--text-muted:#555a54;--accent:#9a7b4f;--accent-dim:#6b5537;--accent-glow:#9a7b4f1f;--state-pending:#c9a227;--state-revision:#b0703a;--state-reject:#8a3a32;--state-pub:#5f7a5a;--seal:#a2402f;--border-hard:#2a2e2a;--border-subtle:#1e211e;--focus-ring:0 0 0 1px var(--accent);--font-mono:var(--font-jb-mono), "IBM Plex Mono", "Sarasa Mono SC", ui-monospace, "Cascadia Mono", Consolas, monospace;--font-body:var(--font-noto-serif), "Source Han Serif SC", Georgia, "SimSun", serif;--font-ui:var(--font-noto-sans), "Inter", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--content-max:1180px;--reading-max:72ch}
*{box-sizing:border-box}html,body{background:var(--bg-root);color:var(--text-primary);font-family:var(--font-body);margin:0;padding:0;font-size:15px;line-height:1.75}body:before{content:"";pointer-events:none;z-index:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");position:fixed;inset:0}body>*{z-index:1;position:relative}a{color:var(--text-primary);border-bottom:1px solid var(--border-hard);text-decoration:none;transition:color .12s ease-out,border-color .12s ease-out}a:hover{color:var(--accent);border-bottom-color:var(--accent-dim)}.classification-strip{background:var(--seal);color:#f0e6d8;font-family:var(--font-mono);letter-spacing:.35em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:5px 16px;font-size:11px;display:flex}.classification-strip .strip-center{letter-spacing:.2em;opacity:.85}@media (max-width:720px){.classification-strip .strip-center{display:none}}.shell{max-width:var(--content-max);margin:0 auto;padding:0 16px}.site-header{border-bottom:1px solid var(--border-hard);background:var(--bg-surface)}.site-header-inner{max-width:var(--content-max);flex-wrap:wrap;align-items:center;gap:28px;margin:0 auto;padding:16px;display:flex}.site-id{align-items:baseline;gap:12px;display:flex}.site-id a{font-family:var(--font-serif);letter-spacing:.18em;color:var(--text-primary);border-bottom:none;font-size:24px;font-weight:700}.site-id a:hover{color:var(--accent)}.site-id-sub{font-family:var(--font-mono);letter-spacing:.32em;color:var(--text-muted);font-size:10px}.site-nav{font-family:var(--font-ui);flex-wrap:wrap;align-items:center;gap:4px;margin-left:auto;font-size:13px;display:flex}.site-nav a{color:var(--text-secondary);letter-spacing:.05em;border-bottom:none;padding:4px 10px}.site-nav a:hover{color:var(--text-primary);background:var(--bg-elevated)}.nav-user{font-family:var(--font-mono);color:var(--accent);padding:0 8px;font-size:12px}main.shell{min-height:60vh;padding-top:32px;padding-bottom:72px}.site-footer{border-top:1px solid var(--border-subtle);font-family:var(--font-mono);color:var(--text-muted);text-align:center;letter-spacing:.12em;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:20px 16px 28px;font-size:11px;display:flex}h1.page-title{font-family:var(--font-mono);letter-spacing:.02em;border-bottom:1px solid var(--border-hard);margin:0 0 24px;padding-bottom:12px;font-size:22px;font-weight:600}h2.section-title,h3.section-title{font-family:var(--font-ui);letter-spacing:.14em;color:var(--text-secondary);align-items:center;gap:10px;margin:36px 0 14px;font-size:13px;font-weight:700;display:flex}h2.section-title:before,h3.section-title:before{content:"";border:1px solid var(--accent-dim);width:8px;height:8px;display:inline-block;transform:rotate(45deg)}h2.section-title:after,h3.section-title:after{content:"";background:var(--border-subtle);flex:1;height:1px}.info-box{border:1px solid var(--border-hard);background:var(--bg-surface);margin-bottom:28px;position:relative}.info-box:before{content:"";border-top:2px solid var(--accent-dim);border-left:2px solid var(--accent-dim);width:14px;height:14px;position:absolute;top:-1px;left:-1px}.info-box:after{content:"";border-bottom:2px solid var(--accent-dim);border-right:2px solid var(--accent-dim);width:14px;height:14px;position:absolute;bottom:-1px;right:-1px}.info-box table{border-collapse:collapse;width:100%;font-size:13px}.info-box th,.info-box td{border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:top;padding:9px 14px}.info-box tr:last-child th,.info-box tr:last-child td{border-bottom:none}.info-box th{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;background:var(--bg-root);width:140px;font-size:11px;font-weight:400}.info-box td{font-family:var(--font-ui);color:var(--text-primary)}.data-table{border-collapse:collapse;width:100%;font-size:13px;font-family:var(--font-ui)}.data-table th{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);text-align:left;border-bottom:1px solid var(--border-hard);white-space:nowrap;background:var(--bg-surface);padding:9px 12px;font-size:11px;font-weight:600}.data-table td{border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:10px 12px}.data-table tbody tr{transition:background .12s ease-out}.data-table tbody tr:hover{background:var(--bg-elevated);box-shadow:inset 2px 0 0 var(--accent)}.data-table a{border-bottom:none}.mono{font-family:var(--font-mono);font-size:12px}.badge{font-family:var(--font-mono);border:1px solid var(--border-hard);color:var(--text-secondary);white-space:nowrap;padding:1px 7px;font-size:11px;display:inline-block}.badge-pending{color:var(--state-pending);border-color:var(--state-pending)}.badge-revision{color:var(--state-revision);border-color:var(--state-revision)}.badge-reject{color:var(--state-reject);border-color:var(--state-reject)}.badge-pub{color:var(--state-pub);border-color:var(--state-pub)}.badge-accent{color:var(--accent);border-color:var(--accent-dim)}.stamp{font-family:var(--font-serif);letter-spacing:.2em;opacity:.9;-webkit-user-select:none;user-select:none;border:2px solid;border-radius:2px;justify-content:center;align-items:center;padding:4px 10px 4px 12px;font-size:13px;font-weight:700;display:inline-flex;transform:rotate(-3deg)}.stamp-pub{color:var(--seal)}.stamp-pending{color:var(--state-pending)}.stamp-revision{color:var(--state-revision)}.stamp-reject{color:var(--state-reject)}.field{margin-bottom:20px}.field-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:6px;font-size:11px;display:block}.field-label .req{color:var(--state-revision)}input[type=text],input[type=password],input[type=number],select,textarea{background:var(--bg-surface);border:1px solid var(--border-hard);width:100%;color:var(--text-primary);font-family:var(--font-ui);border-radius:2px;padding:9px 12px;font-size:14px;transition:border-color .12s ease-out}textarea{font-family:var(--font-body);resize:vertical;min-height:120px;line-height:1.7}input:focus,select:focus,textarea:focus{border-color:var(--accent-dim);box-shadow:var(--focus-ring);outline:none}.field-error{color:var(--state-reject);font-family:var(--font-ui);margin-top:4px;font-size:12px}.form-error{border:1px solid var(--state-reject);color:var(--state-reject);font-family:var(--font-ui);margin-bottom:20px;padding:8px 12px;font-size:13px}.btn{font-family:var(--font-ui);letter-spacing:.06em;border:1px solid var(--border-hard);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;border-radius:2px;padding:9px 20px;font-size:13px;transition:background .12s ease-out,border-color .12s ease-out;display:inline-block}.btn:hover{background:var(--bg-surface);border-color:var(--text-muted)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#12100c;font-weight:700}.btn-primary:hover{background:var(--accent-dim);border-color:var(--accent-dim);color:var(--text-primary)}.btn-danger{color:var(--state-reject);border-color:var(--state-reject)}.btn-small{padding:4px 12px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.appendix{border-left:2px solid var(--accent-dim);background:var(--accent-glow);color:var(--text-secondary);margin:16px 0;padding:12px 18px}.appendix p{margin:0 0 8px}.redacted{color:#0000;-webkit-user-select:none;user-select:none;cursor:help;background:#000;border-radius:1px;padding:0 3px;box-shadow:inset 0 0 0 1px #1a1a1a}.comment{border:1px solid var(--border-subtle);border-left:2px solid var(--accent-dim);background:var(--bg-surface);margin-bottom:12px;padding:12px 16px}.comment-meta{font-family:var(--font-mono);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:6px;font-size:11px;display:flex}.comment-body{font-family:var(--font-body);white-space:pre-wrap;word-break:break-word;font-size:15px}.comment-removed{font-family:var(--font-mono);color:var(--text-muted);font-size:12px;font-style:italic}.avatar{object-fit:cover;vertical-align:middle;border:1px solid var(--border-hard);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.avatar-empty{color:#e8e4da;font-family:var(--font-ui);-webkit-user-select:none;user-select:none;font-weight:500}.comment-author,.nav-user{align-items:center;gap:6px;display:inline-flex}.img-slot{border:1px dashed var(--border-hard);background:var(--bg-elevated);flex:none;justify-content:center;align-items:center;width:100px;height:100px;display:flex;overflow:hidden}.img-slot img{object-fit:cover;width:100%;height:100%;display:block}.entry-figure{border:1px solid var(--border-hard);background:var(--bg-surface);max-width:480px;margin:24px auto;padding:8px}.entry-figure img{width:100%;display:block}.entry-figure figcaption{font-family:var(--font-mono);color:var(--text-muted);justify-content:space-between;gap:12px;margin-top:8px;font-size:11px;display:flex}@media (max-width:720px){.entry-figure{max-width:100%}}.toolbar{font-family:var(--font-ui);flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:16px;font-size:13px;display:flex}.toolbar .sep{color:var(--text-muted)}.toolbar a{color:var(--text-secondary);font-family:var(--font-mono);border-bottom:none;padding:3px 8px;font-size:12px;transition:color .12s ease-out,background .12s ease-out}.toolbar a:hover{color:var(--text-primary)}.toolbar a.active{color:var(--accent);background:var(--accent-glow);box-shadow:inset 0 0 0 1px var(--accent-dim)}.reading{max-width:var(--reading-max)}.reading p,.reading li{font-size:15px;line-height:1.8}.reading ol li,.reading ul li{margin-bottom:6px}.auth-box{max-width:400px}.hero{margin:8px 0 40px;padding:40px 0 0}.hero-mark{font-family:var(--font-mono);letter-spacing:.4em;color:var(--text-muted);margin-bottom:12px;font-size:12px}.hero-title{font-family:var(--font-serif);letter-spacing:.22em;text-shadow:0 0 32px var(--accent-glow);margin:0 0 18px;font-size:52px;font-weight:700}.hero-type{font-family:var(--font-mono);color:var(--text-primary);letter-spacing:.04em;min-height:1.8em;margin:0 0 14px;font-size:15px}.hero-caret{vertical-align:text-bottom;background:var(--seal);width:9px;height:1.1em;margin-left:3px;animation:.9s step-end infinite caret-blink;display:inline-block}@keyframes caret-blink{0%,55%{opacity:1}56%,to{opacity:0}}.hero-sub{font-family:var(--font-ui);color:var(--text-secondary);margin:0 0 28px;font-size:14px}.ticker{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:8px 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.ticker-track{width:max-content;animation:40s linear infinite ticker-scroll;display:flex}.ticker:hover .ticker-track{animation-play-state:paused}.ticker-half{flex:none;display:flex}.ticker-item{color:var(--text-muted);letter-spacing:.12em;white-space:nowrap;padding:0 26px;font-size:12px}.ticker-item:after{content:"◆";color:var(--accent-dim);vertical-align:1px;margin-left:26px;font-size:8px}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (max-width:720px){.data-table-wrapper{overflow-x:auto}.data-table th,.data-table td{padding:8px}.info-box th{width:100px}input[type=text],input[type=password],select,.btn{min-height:40px}.hero-title{font-size:26px}}.wiki-meta-bar{align-items:center;gap:10px;margin-bottom:12px;display:flex}.tier{font-family:var(--font-mono);border:1px solid var(--border-hard);letter-spacing:.1em;padding:2px 8px;font-size:11px}.tier-core{color:var(--seal);border-color:var(--seal)}.tier-standard{color:var(--text-secondary)}.tier-fringe{color:var(--accent);border-color:var(--accent-dim)}.tier-deprecated{color:var(--text-muted);text-decoration:line-through}.wiki-layout{grid-template-columns:minmax(0,1fr) 240px;align-items:start;gap:40px;display:grid}.wiki-aside{position:sticky;top:24px}@media (max-width:900px){.wiki-layout{grid-template-columns:1fr}.wiki-aside{position:static}}.wiki-infobox{float:right;width:260px;margin:0 0 16px 24px;font-size:13px}.wiki-infobox th{width:84px;color:var(--text-secondary)}@media (max-width:720px){.wiki-infobox{float:none;width:100%;margin:0 0 16px}}.wiki-body{font-family:var(--font-ui);color:var(--text-primary);overflow-wrap:break-word;font-size:15px;line-height:1.9}.wiki-body h2{font-family:var(--font-serif);letter-spacing:.1em;border-bottom:1px solid var(--border-subtle);margin:32px 0 12px;padding-bottom:6px;font-size:20px}.wiki-body h3{font-family:var(--font-serif);margin:24px 0 8px;font-size:16px}.wiki-body p{margin:0 0 14px}.wiki-body ul,.wiki-body ol{margin:0 0 14px;padding-left:24px}.wiki-body li{margin-bottom:6px}.wiki-body blockquote{border-left:3px solid var(--accent-dim);color:var(--text-secondary);margin:0 0 14px;padding:8px 16px}.wiki-body code{font-family:var(--font-mono);background:var(--bg-elevated);border:1px solid var(--border-subtle);padding:1px 6px;font-size:13px}.wiki-body a.redlink,a.redlink{color:var(--seal);border-bottom:1px dashed var(--seal)}.wiki-body table{border-collapse:collapse;margin:0 0 14px}.wiki-body th,.wiki-body td{border:1px solid var(--border-hard);padding:6px 12px;font-size:14px}.wiki-body th{background:var(--bg-elevated);color:var(--text-secondary)}.wiki-card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.wiki-card{border:1px solid var(--border-subtle);background:var(--bg-surface);padding:12px 14px}.wiki-card:hover{border-color:var(--border-hard)}.wiki-card-title{font-family:var(--font-serif);justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:15px;display:flex}.wiki-card-meta{color:var(--text-muted);font-size:11px}.wiki-wanted,.wiki-backlinks{margin:0;padding:0;list-style:none}.wiki-wanted li{border-bottom:1px solid var(--border-subtle);justify-content:space-between;gap:12px;padding:6px 0;display:flex}.wiki-backlinks li{border-bottom:1px solid var(--border-subtle);padding:5px 0;font-size:14px}.wiki-recent{margin:0;padding:0;list-style:none}.wiki-recent li{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:2px;padding:8px 0;font-size:14px;display:flex}.wiki-recent .mono{color:var(--text-muted);font-size:11px}mark.anno{color:inherit;border-bottom:2px solid var(--accent);cursor:pointer;background:0 0;padding-bottom:1px;transition:background .15s}mark.anno:hover{background:var(--accent-glow)}.anno-tool,.anno-pop{background:var(--bg-elevated);border:1px solid var(--border-hard);z-index:60;width:300px;padding:12px 14px;position:absolute;transform:translate(-50%);box-shadow:0 8px 24px #00000080}.anno-tool{transform:translate(-50%,-100%)}.anno-quote{font-family:var(--font-serif);color:var(--text-secondary);margin-bottom:8px;font-size:13px}.anno-tool input{width:100%;margin-bottom:8px}.anno-hint{white-space:nowrap;width:auto;padding:8px 14px;transform:translate(-50%,-100%)}.gate-wrap{justify-content:center;align-items:center;min-height:70vh;padding:48px 16px;display:flex}.gate-card{border:1px solid var(--border-hard);border-top:3px solid var(--seal);background:var(--bg-surface);width:100%;max-width:380px;padding:28px 28px 20px;box-shadow:0 16px 48px #00000080}.gate-tag{letter-spacing:.3em;color:var(--seal);margin-bottom:14px;font-size:10px}.gate-title{font-family:var(--font-serif);margin:0 0 10px;font-size:24px}.gate-q{font-family:var(--font-ui);color:var(--text-secondary);margin:0 0 18px;font-size:14px}.gate-q strong{color:var(--text-primary);letter-spacing:.15em}.gate-hint{color:var(--text-muted);text-align:center;letter-spacing:.1em;margin:16px 0 0;font-size:10px}.profile-hint{z-index:80;background:var(--bg-elevated);border:1px solid var(--accent-dim);border-left:3px solid var(--accent);max-width:420px;font-family:var(--font-ui);color:var(--text-secondary);align-items:center;gap:12px;padding:12px 14px;font-size:13px;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 10px 32px #0000008c}.profile-hint a{color:var(--accent);border-bottom:1px solid var(--accent-dim);white-space:nowrap}.profile-hint button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px}.profile-hint button:hover{color:var(--text-primary)}@media (max-width:720px){.profile-hint{max-width:none;bottom:12px;left:12px;right:12px}}.canon-row{margin:0 0 40px}.canon-row-label{letter-spacing:.3em;color:var(--text-muted);margin-bottom:10px;font-size:11px}.canon-cards{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.canon-card{border:1px solid var(--border-subtle);background:var(--bg-surface);padding:16px 18px;transition:border-color .15s,transform .15s;display:block}.canon-card:hover{border-color:var(--accent-dim);transform:translateY(-2px)}.canon-card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.canon-card-title{font-family:var(--font-serif);letter-spacing:.06em;font-size:17px}.canon-card-type{font-family:var(--font-mono);color:var(--accent);letter-spacing:.15em;margin-bottom:8px;font-size:11px}.canon-card-excerpt{font-family:var(--font-ui);color:var(--text-secondary);font-size:13px;line-height:1.7}@media (max-width:720px){.canon-cards{grid-template-columns:1fr}}.tour-overlay{z-index:100;background:#050605b8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.tour-card{border:1px solid var(--border-hard);border-top:3px solid var(--accent);background:var(--bg-surface);width:100%;max-width:min(460px,100vw - 32px);padding:26px 26px 20px;box-shadow:0 24px 64px #0009}.tour-title{font-family:var(--font-serif);margin:10px 0;font-size:21px}.tour-body{font-family:var(--font-ui);color:var(--text-secondary);margin:0 0 16px;font-size:14px;line-height:1.9}.tour-progress{gap:6px;margin-bottom:16px;display:flex}.tour-progress .dot{background:var(--border-hard);width:18px;height:3px}.tour-progress .dot.on{background:var(--accent)}.tour-actions{justify-content:flex-end;gap:8px;display:flex}.tour-reopen{border:none;border-bottom:1px solid var(--border-subtle);color:var(--text-muted);font-family:var(--font-ui);cursor:pointer;background:0 0;padding:0 0 1px;font-size:12px}.tour-reopen:hover{color:var(--accent);border-bottom-color:var(--accent-dim)}.nav-toggle{border:1px solid var(--border-hard);color:var(--text-secondary);cursor:pointer;background:0 0;width:40px;height:40px;margin-left:8px;font-size:16px;display:none}@media (max-width:720px){html{font-size:16px}body{font-size:16px;line-height:1.85}.shell{padding:0 14px}.site-header-inner{padding:0 12px}.site-id a{letter-spacing:.12em;font-size:20px}.site-id-sub{display:none}.nav-toggle{flex:none;display:block}.site-nav{background:var(--bg-elevated);border:1px solid var(--border-hard);flex-direction:column;flex-basis:100%;align-items:stretch;gap:0;margin-top:8px;margin-left:0;padding:8px 0;display:none}.site-nav.open{display:flex}.site-nav a,.site-nav .nav-user{border-bottom:none;padding:12px 18px;font-size:15px}.site-nav a:hover{background:var(--bg-surface)}.site-nav form{padding:8px 18px}.btn{min-height:42px}input[type=text],input[type=password],input[type=email],input:not([type]),textarea,select{font-size:16px}.info-box table,.data-table-wrapper{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.comment{padding:12px}.gate-card{padding:22px 20px 16px}.tour-card{padding:20px 18px 16px}main.shell{padding-top:22px}}.tour-body{word-break:break-word;overflow-wrap:anywhere}.tour-actions{flex-wrap:wrap}@media (max-width:720px){.gate-card{max-width:calc(100vw - 28px)}}
