/* 六色纸面门户：宋体标题，微软雅黑正文。 */
:root{--paper:#E8EFF9;--blue:#203BC0;--ink:#17233B;--red:#B72D25;--yellow:#FFE45B;--white:#fff;--line:#bac8e4;--muted:#526484;--heading:SimSun,"Songti SC",serif;--body:"Microsoft YaHei","PingFang SC",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.7 var(--body)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}button,.button{border:1px solid var(--blue);background:var(--white);color:var(--blue);padding:7px 12px;min-height:38px;border-radius:2px;line-height:1.5}button:hover,.button:hover{background-color:var(--paper)}button:active,.button:active{transform:translateY(1px)}:focus-visible{outline:3px solid var(--red);outline-offset:3px}input,select,textarea{color:var(--ink);background:var(--white);border:1px solid var(--line);padding:9px;min-width:0;width:100%;border-radius:2px}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--blue);vertical-align:middle;flex:none}h1,h2,h3,h4,p,figure{margin:0}h1,h2{font-family:var(--heading)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:20;top:8px;left:8px;padding:10px;background:var(--yellow);transform:translateY(-200%)}.skip-link:focus{transform:none}
.site-header{background:var(--white);border-top:7px solid var(--blue);border-bottom:1px solid var(--blue)}.masthead{max-width:1200px;margin:auto;padding:23px 0;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:15px;font-family:var(--heading);font-size:36px;font-weight:bold;line-height:1.15;color:var(--blue)}.brand-square{display:grid;place-items:center;border:2px solid var(--blue);width:61px;height:61px;font-size:45px;box-shadow:4px 4px 0 var(--paper)}.brand-sub{display:block;font:11px/1.8 var(--body);letter-spacing:2px;margin-top:7px}.header-note{font:14px/1.6 var(--heading);border-left:1px solid var(--line);padding-left:25px;color:var(--muted)}.settings{margin-left:auto;display:flex;gap:7px}.settings button{font-size:12px;min-height:34px;padding:5px 10px}.navigation{display:flex;max-width:1200px;margin:auto;background:var(--blue);color:var(--white)}.navigation a{padding:10px 26px;border-right:1px solid #ffffff35}.navigation a:hover{color:var(--yellow);background:#172d9b}.page{max-width:1200px;margin:auto;padding-bottom:40px}.bulletin{display:flex;align-items:center;gap:14px;padding:14px 0;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}.bulletin-label{color:var(--blue);font-weight:bold}.bulletin p{flex:1}.edition{font-family:monospace}.intro{display:flex;align-items:flex-end;justify-content:space-between;margin:27px 0 26px}.eyebrow{font-size:11px;letter-spacing:1px;color:var(--blue);margin-bottom:6px}h1{font-size:46px;letter-spacing:-1px;line-height:1.3}h1 span{color:var(--blue)}.intro-note{text-align:right;font-size:12px;color:var(--muted)}.intro-note strong{font-weight:normal;color:var(--blue)}
.portal-grid{display:grid;grid-template-columns:180px minmax(0,1fr) 300px;gap:15px;align-items:start}.panel{background:var(--white);border:1px solid var(--blue);box-shadow:3px 3px 0 #203bc012;min-width:0;scroll-margin-top:20px}.panel-bar{min-height:40px;display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--blue);color:var(--white);gap:10px;line-height:1.5}.panel-bar h2,.panel-bar h3{font:700 15px/1.5 var(--body)}.panel-bar>span{font-size:10px;letter-spacing:.5px;flex:none}.red-bar{background:var(--red)}.shortcut-links{padding:7px 13px}.shortcut-links a{display:block;padding:14px 3px;border-bottom:1px dotted var(--line)}.shortcut-links a:last-child{border:0}.shortcut-links a:hover b{text-decoration:underline}.shortcut-links b{display:block;color:var(--blue);font-size:14px}.shortcut-links span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.sidebar-note{text-align:center;margin:13px 13px 20px;padding:15px 0;background:var(--paper);font:14px/1.8 var(--heading)}.small-seal{display:inline-grid;place-items:center;border:2px solid var(--red);width:39px;height:39px;color:var(--red);font-size:25px;font-weight:bold;transform:rotate(-7deg);margin-bottom:9px}.local-note{font-size:10px;color:var(--muted);padding:10px 13px;border-top:1px solid var(--line)}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;font-size:10px;color:var(--muted);gap:6px}.viewer-toolbar button{font-size:11px;min-height:30px;padding:4px 7px}.artwork-stage{margin:0 12px;position:relative;background:var(--paper);border:1px solid var(--line);aspect-ratio:1586/992;overflow:hidden;display:grid;place-items:center}.artwork-stage img{display:block;width:100%;height:auto}.image-error{padding:20px;text-align:center;position:absolute;inset:0;background:var(--paper);display:grid;align-content:center;gap:10px}.viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 12px;font:15px/1.5 var(--heading)}.button{display:inline-flex;align-items:center;justify-content:center;gap:5px}.compact{font:11px/1.5 var(--body);min-height:30px;padding:5px 8px;flex:none}.artwork-note{padding:10px 12px;background:var(--paper);border-top:1px solid var(--line);font-size:10px;color:var(--muted)}
.cert-panel{border-color:var(--red)}#cert-form{padding:14px 14px 12px}#cert-form label{display:flex;justify-content:space-between;font-size:11px;font-weight:bold;margin-bottom:5px}#cert-form label span{font-weight:normal;color:var(--muted)}#cert-form input,#cert-form select{font-size:12px;margin-bottom:10px;min-height:37px}#cert-form .primary{width:100%;background:var(--red);border-color:var(--red)}.primary{background:var(--blue);color:var(--white)}.primary:hover{background:var(--ink);color:var(--white)}.cert-preview{margin:0 14px;padding:12px 15px;border:1px solid var(--red);background:#fffef9;position:relative;min-height:175px;overflow:hidden}.cert-kicker{font-size:9px;color:var(--red);letter-spacing:2px;padding-bottom:8px;border-bottom:1px solid #b72d2540}.cert-name{font:700 22px/1.4 var(--heading);margin-top:11px;overflow-wrap:anywhere}.cert-line{font-size:12px;margin-top:4px;overflow-wrap:anywhere}#cert-result{font-size:10px;color:var(--muted);margin-top:5px}.cert-bottom{display:flex;justify-content:space-between;align-items:center;min-height:68px}.cert-bottom time{font-size:9px;color:var(--muted)}.cert-bottom img{width:62px;height:62px;transform:rotate(-8deg)}#seal-placeholder{color:var(--red);border:1px dashed var(--red);font-size:10px;padding:10px}.download-card{margin:10px 14px 14px;width:calc(100% - 28px);font-size:11px;border-color:var(--red);color:var(--red)}.game-badge{font-size:10px;background:var(--yellow);padding:6px;margin-bottom:8px;overflow-wrap:anywhere}.stamped #cert-seal{animation:stamp .32s ease-out}@keyframes stamp{from{transform:scale(1.8) rotate(-18deg);opacity:0}to{transform:scale(1) rotate(-8deg);opacity:1}}
.section{margin-top:45px;scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px;gap:12px}.section-heading h2{font-size:29px;line-height:1.4}.section-heading h2 span{font:11px/1.5 var(--body);margin-left:16px;color:var(--muted)}.section-count{font-size:11px;color:var(--blue);border-bottom:2px solid var(--blue);padding-bottom:4px;flex:none}.filter-bar{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line);background:var(--paper)}.search-field{flex:1}.filter-bar>label:not(.search-field){flex:none}.filter-bar select{width:128px}.favorite-filter{font-size:12px;display:flex;gap:6px;align-items:center}.filter-bar #meme-count{font-size:11px;color:var(--muted);min-width:36px;text-align:right}.meme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.meme-card{padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.meme-card:nth-child(3n){border-right:0}.meme-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.meme-category{font-size:10px;color:var(--blue);border:1px solid var(--line);padding:1px 6px}.favorite-button{font-size:19px;min-height:30px;padding:0 6px;border:0;background:none;line-height:1.4}.favorite-button[aria-pressed=true]{color:var(--red)}.meme-card h3{font:700 22px/1.5 var(--heading);margin:10px 0 8px;overflow-wrap:anywhere}.meme-meaning{font-size:12px;color:var(--muted);min-height:61px}.meme-actions{display:flex;gap:7px;margin:15px 0 12px}.meme-actions button{font-size:11px;min-height:31px;padding:4px 8px}.meme-actions .use-meme{color:var(--red);border-color:var(--red)}.meme-details{font-size:11px;border-top:1px dotted var(--line);padding-top:8px}.meme-details summary{color:var(--blue);cursor:pointer;list-style-position:inside}.meme-details p{margin-top:8px;color:var(--muted)}.meme-details strong{color:var(--ink);font-weight:normal}.meme-details a{display:inline-block;margin-top:9px;color:var(--blue);text-decoration:underline;text-underline-offset:3px}.empty-state{text-align:center;padding:48px 20px}.empty-state button{margin-top:14px}
.games-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.game-body{padding:20px}.game-top{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:10px;border-bottom:1px solid var(--line);padding-bottom:12px}.game-welcome{text-align:center;padding:24px 0 28px}.game-glyph{font:700 56px/1 var(--heading);color:var(--blue);display:inline-block;background:var(--yellow);padding:12px;margin-bottom:15px;transform:rotate(-5deg)}.game-welcome h4{font:700 25px/1.5 var(--heading)}.game-welcome p{font-size:12px;color:var(--muted);margin:9px 0 22px}.quiz-question{font:700 24px/1.6 var(--heading);margin:22px 0 18px}.quiz-options{display:grid;gap:10px}.quiz-option{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid var(--line);font-size:13px;cursor:pointer}.quiz-option:has(input:checked){border-color:var(--blue);background:var(--paper)}.quiz-option.correct{border-color:var(--blue);background:var(--yellow)}.quiz-option.wrong{border-color:var(--red)}.quiz-feedback{font-size:12px;margin-top:15px;padding:12px;background:var(--paper)}.quiz-submit{margin-top:16px}.game-result{padding:15px;border:1px solid var(--blue);background:var(--paper);margin-top:16px;font-size:12px}.game-result h4{font:700 28px/1.5 var(--heading);color:var(--blue);margin-bottom:7px}.game-result .button{margin-top:13px;margin-right:7px;font-size:12px}.game-instruction{font-size:11px;color:var(--muted);margin:12px 0}.puzzle-board{display:grid;grid-template-columns:repeat(3,1fr);aspect-ratio:1586/992;gap:3px;background:var(--blue);padding:3px}.puzzle-tile{padding:0;border:0;min-height:0;background-image:url('calligraphy-enhanced.png');background-size:300% 300%;border-radius:0;position:relative;color:var(--ink)}.puzzle-tile:hover{background-image:url('calligraphy-enhanced.png');background-color:var(--white)}.puzzle-tile.selected{outline:4px solid var(--yellow);outline-offset:-4px}.puzzle-tile span{position:absolute;bottom:4px;left:4px;padding:0 5px;background:var(--white);border:1px solid var(--blue);font:11px/1.6 monospace}.puzzle-tools{display:flex;align-items:center;gap:15px;margin-top:12px;font-size:10px;flex-wrap:wrap}.text-button{border:0;min-height:30px;padding:3px 0;font-size:11px;text-decoration:underline;text-underline-offset:3px}.puzzle-reference{display:block;width:100%;height:auto;margin-top:12px;border:1px solid var(--line)}
.profile-grid{display:grid;grid-template-columns:360px 1fr;gap:20px}.bio-body{padding:25px}.bio-character{font:700 52px/1 var(--heading);color:var(--red);border:2px solid var(--red);float:left;margin:0 17px 10px 0;padding:7px}.bio-body h3{font:700 26px/1.6 var(--heading)}.bio-sub{font-size:11px;color:var(--muted);margin-bottom:27px}.bio-body>p:not(.bio-sub){font-size:12px;margin:15px 0;clear:both}.bio-foot{font-size:10px;color:var(--muted);border-top:1px solid var(--line);margin-top:22px;padding-top:12px}.timeline ol{list-style:none;margin:0;padding:8px 22px}.timeline li{display:flex;gap:24px;border-bottom:1px solid var(--line);padding:13px 0}.timeline li:last-child{border:0}.timeline time{font:20px/1.6 monospace;color:var(--blue);width:58px;flex:none}.timeline h4{font-size:12px}.timeline p{font-size:11px;color:var(--muted);margin-top:3px}.closing{display:flex;justify-content:space-between;align-items:center;padding:26px;margin-top:40px;background:var(--blue);color:var(--white)}.closing p{font:700 27px/1.5 var(--heading)}.closing p span{margin-left:20px;color:var(--yellow)}.closing .button{background:var(--yellow);font-size:12px}.site-footer{border-top:1px solid var(--line);max-width:1200px;margin:auto;padding:23px 0 35px;display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px}.site-footer>a:first-child{color:var(--blue);font-weight:bold}.site-footer a:hover{text-decoration:underline}
dialog{border:1px solid var(--blue);padding:20px;background:var(--white);color:var(--ink);max-width:calc(100% - 24px);max-height:90vh;box-shadow:8px 8px 0 #17233b30}dialog::backdrop{background:#17233b9c}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.dialog-heading h2{font-size:21px}.dialog-heading button{font-size:12px;flex:none}.image-dialog{width:1100px}.image-dialog>img{display:block;width:100%;height:auto;border:1px solid var(--line);margin-bottom:14px}.image-dialog .button{font-size:12px}.copy-dialog{width:440px}.copy-dialog p{font-size:12px;margin-bottom:12px}.copy-dialog textarea{height:95px;resize:vertical}.toast{position:fixed;z-index:50;bottom:20px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 30px);padding:12px 20px;color:var(--white);background:var(--ink);border-left:5px solid var(--yellow);font-size:12px;box-shadow:3px 3px 0 #17233b30}.noscript-note{padding:20px;text-align:center;color:var(--red)}
@media(max-width:1250px){.masthead,.navigation,.page,.site-footer{margin-left:24px;margin-right:24px}.portal-grid{grid-template-columns:155px minmax(0,1fr) 280px;gap:12px}h1{font-size:40px}.viewer-footer{font-size:12px}.meme-card{padding:18px}.profile-grid{grid-template-columns:320px 1fr}}
@media(max-width:1000px){.portal-grid{grid-template-columns:minmax(0,1fr) 290px}.shortcuts{grid-column:1/-1}.shortcuts .panel-bar,.sidebar-note,.local-note{display:none}.shortcut-links{display:flex;justify-content:space-between;padding:0}.shortcut-links a{flex:1;padding:12px;border-right:1px solid var(--line);border-bottom:0}.shortcut-links a:last-child{border:0}.shortcut-links b{font-size:12px}.shortcut-links span{font-size:10px}.intro-note{display:none}.meme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meme-card:nth-child(3n){border-right:1px solid var(--line)}.meme-card:nth-child(2n){border-right:0}.profile-grid{grid-template-columns:280px 1fr}.game-body{padding:16px}.header-note{display:none}.navigation a{flex:1;text-align:center;padding:10px 6px}}
@media(max-width:760px){.masthead,.navigation,.page,.site-footer{margin-left:16px;margin-right:16px}.masthead{padding:18px 0;gap:10px;flex-wrap:wrap}.brand{font-size:29px;gap:11px}.brand-square{width:49px;height:49px;font-size:37px}.brand-sub{font-size:9px;margin-top:5px;letter-spacing:1px}.settings{gap:5px}.settings button{font-size:10px;padding:5px 7px}.navigation a{font-size:11px;padding:10px 3px}.bulletin{gap:10px}.bulletin p{font-size:10px}.edition{display:none}.intro{margin:23px 0}.eyebrow{font-size:10px}h1{font-size:33px}.portal-grid{grid-template-columns:1fr;gap:15px}.shortcut-links a{padding:10px 8px}.shortcut-links span{display:none}.artwork-panel .artwork-stage{margin:0 12px}.viewer-footer{font-size:15px}.cert-panel{display:grid;grid-template-columns:1fr 1fr;gap:0}.cert-panel .panel-bar{grid-column:1/-1}.cert-preview{margin:14px 14px 0 0;height:calc(100% - 14px)}.download-card{grid-column:2;align-self:start;margin:10px 14px 14px 0;width:calc(100% - 14px)}#cert-form{grid-row:2/4}.cert-name{font-size:21px}.section{margin-top:33px}.section-heading h2{font-size:26px}.section-heading h2 span{display:block;margin:4px 0 0;font-size:10px}.section-count{font-size:10px}.filter-bar{flex-wrap:wrap;gap:10px;padding:12px}.search-field{flex-basis:100%}.filter-bar>label:not(.search-field){flex:auto}.filter-bar select{width:100%}.filter-bar #meme-count{margin-left:auto}.meme-card{padding:16px}.meme-card h3{font-size:20px}.games-grid{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr}.bio-character{margin-bottom:10px}.bio-sub{margin-bottom:22px}.bio-body>p:not(.bio-sub){clear:both}.closing{padding:20px}.closing p{font-size:22px}.closing p span{display:block;margin:0}.site-footer{flex-wrap:wrap;padding-bottom:25px}.site-footer p{order:3;flex-basis:100%}}
@media(max-width:450px){.settings{margin-left:0;justify-content:flex-end;flex:1}.settings button{font-size:9px;padding:4px 5px;min-height:29px}.brand{font-size:26px}.brand-square{width:43px;height:43px;font-size:32px}.brand-sub{font-size:8px}.masthead{gap:8px}.navigation{flex-wrap:wrap}.navigation a{font-size:10px}h1{font-size:29px}.intro .eyebrow{font-size:9px;letter-spacing:0}.cert-panel{display:block}.cert-preview{margin:0 14px}.download-card{margin:12px 14px 14px;width:calc(100% - 28px)}.cert-preview{min-height:195px}.cert-name{font-size:26px}.cert-bottom img{width:72px;height:72px}.cert-bottom{min-height:76px}.meme-grid{grid-template-columns:1fr}.meme-card{border-right:0!important;padding:20px}.meme-card h3{font-size:24px}.meme-meaning{min-height:0}.meme-actions button{min-height:36px;font-size:12px}.shortcut-links b{font-size:11px}.viewer-footer{font-size:12px}.viewer-toolbar{font-size:9px}.section-heading h2{font-size:26px}.dialog-heading{gap:10px}.dialog-heading h2{font-size:18px}dialog{padding:15px}.timeline ol{padding:5px 17px}.timeline li{gap:14px}.game-top{font-size:10px}.puzzle-tools{gap:12px}.closing .button{font-size:11px;padding:8px}.toast{bottom:12px}}
@media(max-width:350px){.masthead{align-items:center}.settings{flex-basis:100%;justify-content:flex-start;margin-top:3px}.page,.masthead,.navigation,.site-footer{margin-left:12px;margin-right:12px}h1{font-size:26px}.viewer-footer{flex-wrap:wrap}.favorite-filter{font-size:11px}.filter-bar{gap:9px}.cert-preview{padding:12px}.game-body{padding:13px}}
.shortcuts .storage-unavailable{display:block;color:var(--red)}
/* 无论用户开关如何设置，系统减少动态效果均优先。 */
html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] *,html[data-motion=off] *::before,html[data-motion=off] *::after{animation:none!important;transition:none!important}html[data-motion=off] button:active{transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}button:active{transform:none}}
