/* Halloween 2026. All decoration remains in document flow or ignores pointer input. */
body.halloween-2026{--paper:#fff8ee;--ink:#382a40;--muted:#716374;--green:#75427e;--green-dark:#5a2c64;--mint:#f1e5f0;--line:#e4d6c5;--primary-color:#75427e;--primary-hover:#5a2c64;--bg-color:#fff8ee;--text-primary:#382a40;--text-secondary:#716374;--border-color:#e4d6c5;--sidebar-bg:#302538;--sidebar-active:#594063;--hw-orange:#eea14c;--hw-plum:#382a40;--hw-cream:#fff8ee;--hw-purple:#75427e;accent-color:#75427e}
body.hw-public{background-color:#fff8ee;background-image:linear-gradient(#dca65a0a 1px,transparent 1px),linear-gradient(90deg,#dca65a0a 1px,transparent 1px);background-size:28px 28px;color:var(--ink)}
body.hw-public:before{display:none}
.halloween-2026 a:focus-visible,.halloween-2026 button:focus-visible,.halloween-2026 summary:focus-visible{outline-color:#9b5c99;outline-offset:4px}
.hw-banner{box-sizing:border-box;position:relative;display:flex;align-items:center;min-height:144px;margin:25px 0 0;padding:25px 30px;background:#392842;color:#fff3e3;border:4px solid #604369;box-shadow:4px 4px 0 #e5c69f;isolation:isolate;overflow:hidden;border-radius:3px}
.hw-banner:before{content:"";position:absolute;inset:5px;border:1px dashed #eab2714d;pointer-events:none;z-index:2}
.hw-banner-copy{position:relative;z-index:3;display:flex;flex-direction:column;gap:5px;max-width:58%}
.hw-kicker{font:10px/1.5 ui-monospace,Consolas,monospace;letter-spacing:2px;color:#ffd28e}
.hw-banner-copy strong{font-size:25px;font-weight:750;letter-spacing:1px;line-height:1.5;color:#fff3e3}
.hw-greeting{font-size:12px;letter-spacing:1px;color:#e3cce1}
.hw-banner-art{position:absolute;inset:0 0 0 44%;background:url('/public/halloween-2026-scene.svg?v=20261025-1') right bottom/auto 100% no-repeat;image-rendering:pixelated;z-index:1;pointer-events:none}
.hw-banner-art:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#392842,transparent 38%)}
.hw-date{position:absolute;right:18px;top:12px;font:10px ui-monospace,Consolas,monospace;letter-spacing:2px;color:#fbd596;z-index:3}
/* The presentation pages retain light, solid reading surfaces. */
.hw-public .top,.hw-public .topbar{border-bottom-color:#e4d6c5}
.hw-public .hero{padding-top:44px}
.hw-public h1 span,.hw-public .eyebrow,.hw-public .online,.hw-public .enter,.hw-public .category{color:#75427e}
.hw-public .dot{background:#bc7939;box-shadow:0 0 0 4px #e8a45320}
.hw-public .button.primary{background:#75427e;border-color:#75427e;color:#fff9ef;border-radius:4px;box-shadow:3px 3px 0 #d7b0ca}
.hw-public .button.primary:hover{background:#5e3168;box-shadow:3px 4px 0 #cda0bf}
.hw-public .button.secondary{background:#fff7e7;border-color:#ddbc93;color:#776457;border-radius:4px;box-shadow:3px 3px 0 #ead8bd}
.hw-public .rights-entry{background:#fff0d7;border:1px solid #e0b77b;border-radius:5px;box-shadow:3px 3px 0 #edddc4}
.hw-public .rights-entry:hover{background:#ffe9c6}
.hw-public .rights-entry small{color:#766248}
.hw-public .order-method-entry{color:#75427e;border-color:#c8a6c6}
.hw-public .hero>.order-methods{background:#f2e8f2;border:2px solid #c6a4c4;border-radius:8px;box-shadow:5px 5px 0 #e6d4df;position:relative}
.hw-public .hero>.order-methods:before{content:"HALLOWEEN · 与您一起出发";display:block;margin:0 0 15px;padding:7px 10px;background:#73477d;color:#fff9ef;font-size:10px;letter-spacing:1px;border-radius:2px}
.hw-public .hero>.order-methods .method-card{background:#fffdf8;border:1px solid #ddc8d7;border-radius:5px}
.hw-public .hero>.order-methods .method-card.wechat{background:#fff5e2;border-color:#e3cb9f}
.hw-public .wechat-search{border-color:#dec69e;border-radius:3px;color:#634e32}
.hw-public .method-number{color:#785082;font-family:ui-monospace,Consolas,monospace}
.hw-public .stats{border-block:2px solid #d9bc92;background:#fffaf2;padding-inline:20px}
.hw-public .stats .stat{border-right-color:#e3d2b9}
.hw-public .stats .stat strong{color:#6c3c72}
.hw-public .stats .stat p{color:#756350}
.hw-public .standard{border-top:2px solid #d5bc97}
.hw-public .standard .num{color:#ad692b;font-family:ui-monospace,Consolas,monospace}
.hw-public .closing{background:#f6e5cf;border:1px solid #e0bd8d;border-radius:6px;box-shadow:4px 4px 0 #e9d7bc}
.hw-public .closing a{border-bottom-color:#b88b54}
.hw-public .sheet{background:#fffdf9;border:1px solid #e3d1b8;border-radius:7px;box-shadow:5px 5px 0 #ebdecb}
.hw-public .acknowledge{background:#fff0d7;border-color:#e5c494;color:#6f4b25;border-radius:4px}
.hw-public .note{background:#f1e8f4;color:#5a4162;border-radius:4px}
.hw-public .table-wrap{border-color:#d9c7d3;border-radius:4px}
.hw-public table caption{background:#eaddeb;color:#58365f}
.hw-public table th{background:#fff0db;color:#684a2c}
.hw-public table td{color:#603969;border-color:#e0d0d8;background:#fffdf9}
.hw-public .poster:not(header){background:#fffbf4;border-color:#dfcba9;border-radius:4px}
.hw-public .contents a{border-color:#ddc8ac}
.hw-public .game{border:2px solid #ddc8ac;border-radius:7px;box-shadow:4px 4px 0 #ead9c0}
.hw-public .game:hover{box-shadow:5px 8px 0 #e5cba8;transform:translateY(-3px)}
.hw-public .art{background:#eee0f0}
.hw-public .game:nth-child(2) .art{background:#f8ddb5}
.hw-public .game:nth-child(3) .art{background:#e3e4d2}
.hw-public .art:before,.hw-public .art:after{border-radius:0;transform:rotate(45deg) translate(50px,-90px);opacity:.5}
.hw-public .badge{border-radius:3px;color:#65406e;background:#fff9efec;border:1px solid #e0c9d8}
.hw-public .arrow{border-radius:3px;background:#f6e4cb;color:#7b4b24}
.hw-public .bottom-note{background:#f9edda;border-color:#dfc5a0;border-radius:5px}
.hw-public .price-page{padding-top:0}
.hw-public .price-page header.poster{padding-top:25px;padding-bottom:22px}
.hw-public .price-page .hw-banner{margin:0 0 28px;min-height:126px}
.hw-public .price-page .poster h1{background:none;color:#75427e;-webkit-text-fill-color:#75427e}
.hw-public .price-page .card{border:1px solid #dcc4a5;border-radius:5px;box-shadow:4px 4px 0 #eddcc3}
.hw-public .price-page .card-header{background:#faf0e2;border-bottom-color:#e6d5bd}
.hw-public .price-page .tab-btn{border-radius:4px}
.hw-public .price-page .tab-btn.active{background:#75427e;color:#fff;border-color:#75427e;box-shadow:3px 3px 0 #d9bdcf}
.hw-public .price-page .link-btn{background:#fffaf2;border-color:#e1cbb0;color:#503f51;border-radius:4px}
.hw-public .price-page .link-btn:hover{border-color:#9c6b9f;background:#f5eaf4}
/* Game board colors, item states and layout are deliberately left to each game. */
body.hw-game{border-top:4px solid #d99a50;background-color:#fff8ee}
.hw-game .gate-overlay{background:#fff8ee}
.hw-game .gate-card,.hw-game .archive-card,.hw-game .win-card{background:#fffcf5;border-color:#d6b992;box-shadow:5px 5px 0 #e8d6bb;border-radius:8px}
.hw-game .gate-story h1 em,.hw-game .intro h1 em{color:#805188}
.hw-game .gate-story>.eyebrow:after,.hw-game .archive-card-tag:after,.hw-game .intro>.eyebrow:after{content:" / HALLOWEEN 2026";color:#ab6a2d;font-family:ui-monospace,Consolas,monospace;font-size:10px;letter-spacing:1px}
.hw-game .gate-story .brand-mark{background:#f3dfbf;color:#9a5d27;border-radius:4px}
.hw-game .gate-card .primary,.hw-game .archive-card button.primary{background:#75427e;color:#fff9ef;box-shadow:3px 3px 0 #d9b9cf;border-radius:5px}
.hw-game .archive-card-tag{color:#805188;border-bottom-color:#e5aa5e}
.hw-game .archive-intro:after,.hw-game .gate-story:after,.hw-game .intro:after{content:"";display:block;width:min(100%,360px);height:100px;background:#392842 url('/public/halloween-2026-scene.svg?v=20261025-1') center/cover;border:3px solid #604369;box-shadow:3px 3px 0 #e7cda8;margin-top:20px;image-rendering:pixelated;pointer-events:none}
/* Admin/login pages receive accents only; no seasonal blocks over working areas. */
.hw-utility .sidebar{background:#302538}
.hw-utility .login-container,.hw-utility .login-box,.hw-utility .register-container{border-top:4px solid #d99a50}
@media(max-width:800px){.hw-banner{min-height:128px;padding:21px}.hw-banner-copy strong{font-size:22px}.hw-banner-art{left:40%}.hw-kicker{font-size:9px;letter-spacing:1px}.hw-greeting{font-size:11px}.hw-public .hero{padding-top:34px}}
@media(max-width:620px){.hw-banner{margin-top:18px;min-height:127px;padding:20px 16px;box-shadow:3px 3px 0 #e5c69f;border-width:3px}.hw-banner-copy{max-width:75%;gap:7px}.hw-banner-copy strong{font-size:19px;letter-spacing:0}.hw-banner-art{left:62%;background-size:auto 100%;background-position:63% bottom;opacity:.65}.hw-banner-art:before{background:linear-gradient(90deg,#392842,transparent 35%)}.hw-kicker{font-size:8px;letter-spacing:.7px}.hw-greeting{font-size:10px;letter-spacing:.5px}.hw-date{font-size:8px;right:9px;top:7px}.hw-public .stats{padding-inline:13px}.hw-public .hero>.order-methods{box-shadow:3px 3px 0 #e6d4df}.hw-public .hero>.order-methods:before{font-size:9px;padding:7px 8px}.hw-public .price-page .hw-banner{min-height:122px;margin-bottom:22px}.hw-game .archive-intro:after,.hw-game .gate-story:after,.hw-game .intro:after{height:64px;max-width:260px;margin-top:12px}.hw-public .contents a{background:#fff7e9}}
@media(max-height:600px) and (max-width:800px){.hw-game .archive-intro:after,.hw-game .gate-story:after,.hw-game .intro:after{display:none}}
@media(prefers-reduced-motion:reduce){.halloween-2026 *{scroll-behavior:auto!important}.hw-banner,.hw-banner *{animation:none!important;transition:none!important}}
@media print{body.hw-public{background:#fff;color:#000}.hw-banner,.hw-game .archive-intro:after,.hw-game .gate-story:after{display:none!important}.hw-public .sheet{box-shadow:none}}
