/* 麻上开局 — a neighborhood board-game hall. */
.h-theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #c6b9d7;background:#fffaf2;color:#665581;border-radius:999px;padding:10px 14px;white-space:nowrap;font-size:12px;font-weight:800;min-height:42px}
.hall[data-theme="ma"]{--ink:#193e35;--muted:#686c5d;--paper:#f4eddb;--purple:#a63828;--pink:#be4934;--line:#c9c5ad;--display:'Noto Sans SC',sans-serif;background:var(--paper);color:var(--ink);background-image:radial-gradient(#284d3510 .6px,transparent .6px);background-size:5px 5px}
.hall[data-theme="ma"] .h-header{border-bottom:2px solid #254d40}
.hall[data-theme="ma"] .h-brand strong{font-size:25px;font-weight:900;letter-spacing:1px}
.hall[data-theme="ma"] .h-brand small{color:#66715b;letter-spacing:2px;font-size:8px}
.hall[data-theme="ma"] .h-mark{background:#164d3b;color:#f8edce;border:2px solid #153b30;box-shadow:3px 3px 0 #b99b63;border-radius:8px;transform:rotate(-5deg);font-size:27px;font-weight:900}
.hall[data-theme="ma"] .h-theme-toggle{background:#fff8e8;border-color:#244d3f;color:#214b3e;box-shadow:2px 2px 0 #c7b794;border-radius:6px}
.hall[data-theme="ma"] .h-account{color:#fff5da;background:#214e3e;border-color:#214e3e;border-radius:6px}
.hall[data-theme="ma"] .h-hero{padding-top:48px;padding-bottom:48px;gap:40px;min-height:490px}
.hall[data-theme="ma"] .h-welcome{background:#e4dfc6;border-color:#c3b890;color:#3c5643;border-radius:4px;font-weight:700;letter-spacing:1px}
.hall[data-theme="ma"] .h-welcome>span{background:#a73b2b}
.hall[data-theme="ma"] .h-hero h1{font-size:76px;font-weight:900;line-height:1.15;letter-spacing:4px;margin:24px 0;text-shadow:2px 3px 0 #d6c9a6}
.hall[data-theme="ma"] .h-hero h1>span{color:#a63729}
.hall[data-theme="ma"] .h-hero p{font-size:14px;color:#56624e;line-height:2}
.hall[data-theme="ma"] .h-primary{background:#a63729;border-color:#76291e;box-shadow:0 4px 0 #76291e;color:#fff6df;border-radius:6px;font-size:14px}
.hall[data-theme="ma"] .h-primary:hover{box-shadow:0 6px 0 #76291e}
.hall[data-theme="ma"] .h-hero-note,.hall[data-theme="ma"] .h-hero-note svg{color:#66715b}
.ma-sign{position:relative;min-height:340px;padding:30px 22px 22px;border:9px double #e7d3a2;border-radius:15px;background:#1f4c3c;color:#f9eccb;box-shadow:9px 12px 0 #d2c3a2;transform:rotate(2deg);text-align:center}
.ma-sign-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e6d29e77;padding-bottom:14px;font-size:11px;letter-spacing:3px}
.ma-sign-title{font-size:24px;font-weight:800;letter-spacing:5px;margin:23px 0 18px}
.ma-tiles{display:flex;justify-content:center;gap:9px}
.ma-tile{display:grid;place-items:center;width:67px;height:88px;border-radius:8px;background:#fff8e6;border:1px solid #d1c19e;border-bottom:8px solid #b4bea2;box-shadow:3px 5px 0 #0e3028;font-size:42px;font-weight:900;color:#214e3e;transform:rotate(-5deg)}
.ma-tile:nth-child(even){transform:rotate(5deg);color:#a63729}
.ma-sign-bottom{margin-top:25px;font-size:12px;letter-spacing:3px;color:#e9d6ac}
.ma-stamp{position:absolute;right:-16px;bottom:-15px;border:3px double #a63729;background:#f7ecd1;color:#a63729;padding:10px 13px;font-size:15px;font-weight:900;transform:rotate(-12deg);letter-spacing:2px}
.hall[data-theme="ma"] .h-library{border-top:2px solid #355340}
.hall[data-theme="ma"] .h-eyebrow{color:#6d735c;letter-spacing:2px}
.hall[data-theme="ma"] .h-section-heading h2{font-weight:800;font-size:28px}
.hall[data-theme="ma"] .h-library-count{background:#e5dfc9;color:#445840;border-radius:5px}
.hall[data-theme="ma"] .h-tabs button{color:#52644e;border-radius:5px}
.hall[data-theme="ma"] .h-tabs button.active{background:#254f3e;color:#fff4d9;border-color:#254f3e;box-shadow:0 2px 0 #b7aa85}
.hall[data-theme="ma"] .h-tabs button:not(.active):hover{background:#e6dfc9}
.hall[data-theme="ma"] :is(.h-search,.h-player-filter){border-color:#bdb89e;border-radius:5px;background:#fff9eb;color:#52644e}
.hall[data-theme="ma"] .h-player-filter select{color:#52644e}
.hall[data-theme="ma"] .h-game{border-color:#c7c0a7;border-radius:8px;background:#fff9eb;box-shadow:0 4px 0 #d8cdb1}
.hall[data-theme="ma"] .h-game:hover{border-color:#3f624b;box-shadow:0 8px 0 #c6b999}
.hall[data-theme="ma"] .h-game-art{border-radius:4px}
.hall[data-theme="ma"] .h-game-tag{border-radius:3px}
.hall[data-theme="ma"] .ph-surface{background:#fff9ed;border-color:#c9bea0;border-radius:9px}
.hall[data-theme="ma"] .h-unified{background:#e6e2cb;border-color:#c5b995;border-radius:8px}
.hall[data-theme="ma"] .h-footer{border-top:2px solid #355340}
@media(max-width:900px){.h-header nav{gap:12px}.hall[data-theme="ma"] .h-hero h1{font-size:60px}.ma-tile{width:52px;height:73px;font-size:34px}.ma-sign-title{font-size:20px;letter-spacing:3px}.ma-sign{min-height:310px;padding:23px 14px}.ma-sign-top{letter-spacing:1px}}
@media(max-width:640px){.h-header{height:auto;min-height:94px;flex-wrap:wrap;padding-top:16px;padding-bottom:14px;gap:14px}.h-header nav{width:100%;flex-wrap:wrap;gap:10px;justify-content:flex-end}.h-theme-toggle{margin-left:auto}.hall[data-theme="ma"] .h-hero{gap:30px;padding-top:28px}.hall[data-theme="ma"] .h-hero h1{font-size:58px}.ma-sign{max-width:420px;width:calc(100% - 15px);margin:0 auto 10px}.ma-tile{width:59px;height:79px}.hall[data-theme="ma"] .h-section-heading h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.hall *{scroll-behavior:auto!important;transition:none!important}}

.h-logo-ma{display:grid;place-items:center;width:44px;height:44px;background:#214e3e;color:#fff4d9;border:2px solid #16392d;border-radius:6px;box-shadow:3px 3px 0 #c6b58e;font-size:28px;font-weight:900;transform:rotate(-5deg)}.h-logo-ma[hidden]{display:none}.hall[data-theme="ma"] .h-hero h1{font-size:clamp(44px,5.4vw,72px);white-space:nowrap;letter-spacing:0}.hall[data-theme="ma"] .h-hero h1 .ma-title-dot{color:#214e3e}.hall[data-theme="ma"] .ma-sign-bottom{color:#ead9b5;font-size:12px}.h-header nav{gap:16px}@media(max-width:640px){.h-header nav{justify-content:space-between}.h-header nav>a[href="#games"]{display:none}.h-theme-toggle{margin-left:0}.hall[data-theme="ma"] .h-hero h1{font-size:clamp(42px,11vw,64px)}}

.hall[data-theme="ma"] .h-hero-text p strong{display:block}.hall[data-theme="ma"] .h-hero-text p br{display:none}

/* Character-led, warm and lively shopfront. */
.hall[data-theme="ma"]{background:#f6cc73;background-image:radial-gradient(ellipse at 80% 10%,#ffe9a6 0,transparent 45%);--paper:#f6cc73;--ink:#193f31;--muted:#695634}
.hall[data-theme="ma"] .h-header{max-width:none;padding-inline:max(32px,calc((100% - 1192px)/2));background:#194d3b;border-bottom:4px solid #10392b;color:#fff3cc}
.hall[data-theme="ma"] .h-brand small{color:#e7d3a1}
.hall[data-theme="ma"] .h-logo-ma{background:#f6c965;color:#194d3b;border-color:#f6c965;box-shadow:3px 3px 0 #0d3326}
.hall[data-theme="ma"] .h-header .ph-trigger{color:#fff3cc;border-color:#9aad7c;background:transparent}
.hall[data-theme="ma"] .h-account{background:#f9e8b6;color:#194d3b;border-color:#f9e8b6}
.hall[data-theme="ma"] .h-theme-toggle{background:#e66b3e;color:#fff8de;border:1px solid #f4c88a;box-shadow:2px 3px 0 #10392b}
.hall[data-theme="ma"] .h-hero{min-height:540px;grid-template-columns:1fr 1.08fr;padding-top:26px;padding-bottom:28px;gap:10px}
.hall[data-theme="ma"] .h-hero h1{font-size:clamp(50px,6.6vw,84px);font-weight:900;text-shadow:3px 4px 0 #fff0bd;letter-spacing:-2px}
.hall[data-theme="ma"] .h-hero h1>span{color:#b53922}
.hall[data-theme="ma"] .h-welcome{background:#fff0bb;border:1.5px solid #bd8c42;box-shadow:2px 3px 0 #d5a54e;color:#66421f;transform:rotate(-3deg);font-size:12px;padding:9px 14px}
.hall[data-theme="ma"] .h-hero-text p{color:#644c2d;font-size:15px;line-height:2.1}
.hall[data-theme="ma"] .h-primary{background:#b83e26;border:2px solid #732b1f;box-shadow:0 5px 0 #732b1f;border-radius:12px;padding:16px 25px;font-size:15px}
.hall[data-theme="ma"] .h-hero-note,.hall[data-theme="ma"] .h-hero-note svg{color:#6b5835}
.ma-character-scene{position:relative;min-width:0;isolation:isolate;padding-top:14px}
.ma-character-scene:before{content:"";position:absolute;inset:14% 4% 6%;z-index:-1;border-radius:48% 47% 42% 46%;background:#e8963e;transform:rotate(-9deg);border:2px solid #c78335;box-shadow:12px 10px 0 #f8df91}
.ma-character{display:block;width:100%;height:auto;max-height:500px;object-fit:contain;filter:drop-shadow(0 8px 0 #71471818)}
.ma-speech{position:absolute;left:0;top:1%;z-index:1;background:#fff5cf;border:2px solid #254d34;border-radius:14px;padding:11px 17px;font-size:14px;font-weight:800;color:#214932;box-shadow:3px 4px 0 #ba873b;transform:rotate(-5deg)}
.ma-speech:after{content:"";position:absolute;bottom:-9px;left:35px;width:14px;height:14px;background:#fff5cf;border-right:2px solid #254d34;border-bottom:2px solid #254d34;transform:rotate(45deg)}
.ma-owner-badge{position:absolute;right:0;bottom:2%;background:#fff0bf;color:#25503b;border:2px solid #34503a;border-radius:9px;padding:10px 15px;box-shadow:3px 4px 0 #b88137;transform:rotate(5deg);font-size:10px;text-align:center}
.ma-owner-badge strong{display:block;font-size:23px;font-weight:900;letter-spacing:3px}.ma-owner-badge small{font-size:9px}
.ma-scene-spark{position:absolute;color:#a73822;font-size:39px}.ma-spark-one{right:1%;top:11%;transform:rotate(12deg)}.ma-spark-two{left:2%;bottom:15%;font-size:28px}
.hall[data-theme="ma"] .ph-home{background:#fff0c9;border:2px solid #c28f48;box-shadow:0 5px 0 #d4a44f}
.hall[data-theme="ma"] .h-library{background:#fff3d6;border:2px solid #c39855;border-radius:18px;padding:28px 24px;margin-top:30px;box-shadow:0 5px 0 #d4a44f}
.hall[data-theme="ma"] .h-eyebrow{color:#997333}
.hall[data-theme="ma"] .h-game{border-color:#c8b58a;box-shadow:0 4px 0 #ddc79b}
.hall[data-theme="ma"] .h-footer{max-width:none;margin:32px 0 0;padding:25px max(32px,calc((100% - 1192px)/2));background:#194d3b;color:#f8e5ae;border-top:4px solid #10392b}
.hall[data-theme="ma"] .h-footer-brand,.hall[data-theme="ma"] .h-footer a,.hall[data-theme="ma"] .h-footer span{color:#f8e5ae}
@media(max-width:900px){.hall[data-theme="ma"] .h-header{padding-inline:24px}.hall[data-theme="ma"] .h-hero h1{font-size:58px}.ma-speech{font-size:11px;padding:9px 12px}.ma-owner-badge{padding:7px 11px}.ma-owner-badge strong{font-size:19px}.hall[data-theme="ma"] .h-library{padding:24px 16px}}
@media(max-width:640px){.hall[data-theme="ma"] .h-header{padding:17px 20px 15px}.hall[data-theme="ma"] .h-hero{grid-template-columns:1fr;gap:10px;padding-top:32px;padding-bottom:30px}.hall[data-theme="ma"] .h-hero h1{font-size:clamp(46px,12vw,70px);margin:23px 0 16px}.hall[data-theme="ma"] .h-hero-text p{font-size:13px}.ma-character-scene{max-width:430px;width:100%;margin:8px auto 0}.ma-character{max-height:420px}.ma-speech{top:0;left:0}.ma-owner-badge{right:-4px}.hall[data-theme="ma"] .h-library{padding:23px 13px}.hall[data-theme="ma"] .h-footer{padding:24px 20px}.hall[data-theme="ma"] .h-toolbar{margin-inline:0}}
.hall[data-theme="ma"] .ph-home{--ph-ink:#254b38;--ph-muted:#796342;color:#254b38}.hall[data-theme="ma"] .ph-home :is(.ph-eyebrow,.ph-home-heading p,.ph-muted){color:#82663e}.hall[data-theme="ma"] .ph-home .ph-empty{background:#ece4bd;border-color:#c0ad7d}.hall[data-theme="ma"] .ph-home .ph-empty>span{background:#d3deba;color:#3f6944;border-color:#a9bc8e}.hall[data-theme="ma"] .ph-home .ph-empty h3{color:#365c3e}.hall[data-theme="ma"] .ph-home .ph-empty p{color:#746547}.hall[data-theme="ma"] .ph-home .ph-button{background:#fff3d4;color:#34543c;border-color:#c5b58a}.hall[data-theme="ma"] .ph-home .ph-button.primary{background:#295840;color:#fff5d9;border-color:#214b34;box-shadow:0 2px 0 #b8a36e}.hall[data-theme="ma"] .ph-home-quick{background:#f3dfad;border-color:#c7ad72}

.hall[data-theme="ma"].h-account-page{min-height:calc(100vh - 80px)}
.hall[data-theme="ma"] .h-account-main{padding-top:44px;padding-bottom:50px;align-items:start}
.hall[data-theme="ma"] .h-account-intro h1{font-family:'Noto Sans SC',sans-serif;font-weight:900;letter-spacing:-2px;color:#214b35;font-size:54px;line-height:1.2}
.hall[data-theme="ma"] .h-account-intro h1 span{color:#b63c24}
.hall[data-theme="ma"] .h-account-intro p,.hall[data-theme="ma"] .h-account-intro small{color:#71532f}
.ma-account-character{display:block;width:min(100%,340px);height:auto;margin:16px auto 10px;filter:drop-shadow(0 6px 0 #9b68291a)}
.hall[data-theme="ma"] .h-account-card{background:#fff3d3;border:2px solid #a98546;border-radius:16px;box-shadow:6px 7px 0 #d6a54d}
.hall[data-theme="ma"] .h-account-card h2{color:#224f39}
.hall[data-theme="ma"] .h-account-card p,.hall[data-theme="ma"] .h-account-card small,.hall[data-theme="ma"] .h-account-card label{color:#766041}
.hall[data-theme="ma"] .h-account-card input{background:#fffaf0;border-color:#ccb784;color:#234f37}
.hall[data-theme="ma"] .h-account-tabs{background:#eadeb9;border-color:#c7b37e}
.hall[data-theme="ma"] .h-account-tabs button{color:#79613d}
.hall[data-theme="ma"] .h-account-tabs button.active{background:#24543d;color:#fff2cc;box-shadow:none}
.hall[data-theme="ma"] .h-account-avatar{background:#e5deb1;color:#27573c;border-color:#bcad75}
.hall[data-theme="ma"] .h-logout,.hall[data-theme="ma"] .h-admin-link{color:#794d2b}
.hall[data-theme="ma"] .h-back{color:#fff1cd}
body:has(.hall[data-theme="ma"]) .site-legal-fallback{background:#194d3b;color:#f8e5ae;border-color:#10392b}
@media(max-width:640px){.hall[data-theme="ma"] .h-account-main{padding-top:30px;gap:25px}.hall[data-theme="ma"] .h-account-intro h1{font-size:40px}.ma-account-character{width:190px;max-height:190px;object-fit:contain;margin:12px auto}.hall[data-theme="ma"] .h-account-card{box-shadow:3px 4px 0 #d6a54d}.hall[data-theme="ma"].h-account-page .h-header nav{justify-content:space-between}}

.h-account-page .h-header nav>a.h-back{display:flex}.h-account-page .h-header nav{justify-content:space-between}
/* Shared navigation controls keep the same visual height in both skins. */
.h-header nav>.ph-trigger,.h-header nav>.h-account,.h-header nav>.h-theme-toggle{height:42px;min-height:42px;box-sizing:border-box;align-items:center;padding:10px 12px;font-size:12px;line-height:20px}
.h-header nav>.h-theme-toggle{width:132px;flex-shrink:0;justify-content:center}
@media(max-width:640px){.h-header nav>.ph-trigger,.h-header nav>.h-account,.h-header nav>.h-theme-toggle{height:40px;min-height:40px;padding:8px 10px;font-size:11px}.h-header nav>.h-theme-toggle{width:120px}.h-header nav{gap:8px}}
@media(max-width:380px){.h-header nav>.h-theme-toggle{width:101px;padding-inline:7px}.h-header nav>.h-theme-toggle>svg{display:none}.h-header nav>.h-account{padding-inline:8px}.h-header nav>.ph-trigger{padding-inline:8px}.h-header nav{gap:6px}}
