.site-header{height:auto;min-height:72px;background:var(--palette-fffaf0);color:var(--palette-54717c);border-bottom:1px solid var(--palette-eee4d2);box-shadow:0 2px 10px color-mix(in srgb, var(--palette-54717c) 3.1373%, transparent)}
.site-header .header-inner{height:auto;min-height:72px;gap:20px;justify-content:space-between}
.site-header .brand{min-width:0;gap:12px;align-items:center;flex:1 1 auto}
.brand-media{display:flex;align-items:center;justify-content:center;flex-shrink:0}
.brand-media img{height:auto;width:auto;max-height:42px;max-width:160px;object-fit:contain;display:block}
.brand-fallback{display:flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:12px;background:var(--palette-814447);color:var(--palette-fffaf0);font-size:21px;font-weight:800;box-shadow:0 5px 12px color-mix(in srgb, var(--palette-814447) 12.5490%, transparent)}
.brand-copy{flex:0 1 auto;min-width:0}
.brand-copy b{display:block;font-size:21px;line-height:1.35;font-weight:800;color:var(--palette-54717c);overflow-wrap:anywhere;max-width:420px}
.brand-copy small{display:block;font-size:10px;letter-spacing:1px;line-height:1.6;font-weight:400;color:var(--palette-7e7464);margin-top:3px}
.contact-button{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;text-decoration:none;border:1px solid var(--palette-eee4d2);border-radius:9px;background:var(--palette-faf4e8);color:var(--palette-54717c);padding:10px 14px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;flex-shrink:0;transition:background .2s,transform .2s}
.contact-button:hover{background:var(--palette-faf4e8);transform:translateY(-1px)}
.contact-button.is-unconfigured{opacity:.55;cursor:default;transform:none}
.contact-icon{font-size:18px;line-height:1}
.announcement-bar{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:11px 17px;background:var(--palette-fffaf0);border-color:var(--palette-eee4d2);min-height:48px;overflow:hidden}
.announcement-bar[hidden]{display:none}
.announcement-label{display:flex;align-items:center;gap:7px;flex-shrink:0;color:var(--palette-54717c);font-size:12px;position:relative;z-index:1}
.announcement-label svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.announcement-window{flex:1 1 0%;min-width:0;overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,var(--palette-352d26) 10px,var(--palette-352d26) calc(100% - 10px),transparent)}
.announcement-track{display:flex;width:max-content;will-change:transform}
.announcement-group{display:flex;align-items:center;flex-shrink:0;width:max-content}
.announcement-item{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;padding-right:64px;color:var(--palette-54717c);font-size:12px;line-height:24px;white-space:pre;letter-spacing:.2px}
.announcement-item i{width:4px;height:4px;border-radius:50%;background:var(--palette-54717c);flex-shrink:0}
.announcement-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.announcement-controls{display:flex;align-items:center;flex-shrink:0}
.announcement-controls button{border:0;background:var(--palette-faf4e8);color:var(--palette-54717c);border-radius:6px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0}
.announcement-controls button:hover{background:var(--palette-faf4e8);color:var(--palette-814447)}
.tabs a{padding:14px;color:var(--palette-7e7464);text-decoration:none;font-size:12px;white-space:nowrap}
.site-footer{margin-top:26px}.draw-bottom{margin-top:15px}
@media(max-width:700px){.site-header{min-height:64px}.site-header .header-inner{gap:10px;min-height:64px}.brand-media img{max-height:35px;max-width:100px}.brand-fallback{width:34px;height:34px;border-radius:9px;font-size:18px}.brand-copy b{font-size:16px;max-width:220px}.brand-copy small{font-size:9px;letter-spacing:0}.site-header .brand{gap:8px}.contact-button{padding:8px 9px;font-size:11px;gap:5px}.contact-icon{font-size:16px}.announcement-bar{padding:9px 12px;gap:10px;min-height:43px;flex-wrap:nowrap}.announcement-label{font-size:11px;gap:5px}.announcement-item{font-size:11px;padding-right:44px}.announcement-controls button{width:22px;height:22px;font-size:12px}.site-footer{gap:8px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.contact-button{transition:none}}

/* 复古纸本：米黄、墨褐、酒红、墨绿。 */
:root{--blue:var(--palette-814447);--cyan:var(--palette-527468);--ink:var(--palette-352d26);--muted:var(--palette-7e7464);--line:var(--palette-dfd2bb);--surface:var(--palette-fffaf0);--bg:var(--palette-f3ead8);--soft:var(--palette-eae0cc);--red:var(--palette-a35451);--badge-blue:var(--palette-54717c);--green:var(--palette-607950);--purple:var(--palette-877084);--violet:var(--palette-80677c);--orange:var(--palette-b07849);--yellow:var(--palette-b18a42);--badge-cyan:var(--palette-647e73);--gray:var(--palette-82796b);--shadow:0 2px 3px color-mix(in srgb, var(--palette-705138) 6.2745%, transparent),0 1px 0 color-mix(in srgb, var(--palette-705138) 7.0588%, transparent)}
body:before{background:radial-gradient(ellipse at 15% 10%,color-mix(in srgb, var(--palette-dcc6a7) 12.5490%, transparent),transparent 65%),radial-gradient(ellipse at 90% 80%,color-mix(in srgb, var(--palette-b7baa7) 7.8431%, transparent),transparent 55%)}
.site-header{background:var(--palette-fffaf0);border-top:3px solid var(--palette-814447);border-bottom-color:var(--palette-d9c7aa);box-shadow:0 2px 7px color-mix(in srgb, var(--palette-6e4a29) 6.2745%, transparent)}
.brand-copy b{color:var(--palette-593a35)}.brand-copy small{color:var(--palette-86755f)}.brand-fallback{background:var(--palette-814447);box-shadow:0 3px 7px color-mix(in srgb, var(--palette-814447) 10.1961%, transparent)}
.contact-button{background:var(--palette-f1e5d4);color:var(--palette-754042);border-color:var(--palette-d6bda4)}.contact-button:hover{background:var(--palette-e8d8c0)}
.announcement-bar{background:var(--palette-f8efd9);border-color:var(--palette-d9c6a6)}.announcement-label{color:var(--palette-7d463d)}.announcement-item{color:var(--palette-746047)}.announcement-item i{background:var(--palette-a98551)}.announcement-controls button{background:var(--palette-ede0c7);color:var(--palette-8a6b43)}.announcement-controls button:hover{background:var(--palette-e3d1ad);color:var(--palette-694337)}
.draw-card:before{background:linear-gradient(90deg,var(--palette-814447),var(--palette-a58d58),var(--palette-527468))}
.summary-card:hover{background:var(--palette-f5ecdb)}.summary-card[data-tab="missing"] .summary-symbol{background:var(--palette-f1ddd2);color:var(--palette-9b5450)}.summary-card[data-tab="analysis"] .summary-symbol{background:var(--palette-e3e9dd);color:var(--palette-527468)}.summary-card[data-tab="prediction"] .summary-symbol{background:var(--palette-eee0e7);color:var(--palette-80677c)}.summary-card[data-tab="dragon"] .summary-symbol{background:var(--palette-f0e2c8);color:var(--palette-a67c3e)}
.game-button.active,.button.primary,.pagination button.active{background:var(--palette-814447);border-color:var(--palette-814447);color:var(--palette-fffaf0)}
.tab[aria-selected="true"]{background:var(--palette-f7ebd7);border-color:var(--palette-d6bda4);color:var(--palette-754042);box-shadow:0 1px 2px color-mix(in srgb, var(--palette-7e513b) 6.2745%, transparent)}
input[type="checkbox"]{accent-color:var(--palette-814447)}.countdown-box{background:color-mix(in srgb, var(--palette-e9eee3) 31.3725%, transparent)}.table-note,.missing-note,.view-description{color:var(--palette-86755f)}
:focus-visible{outline-color:var(--palette-814447)}
