:root{--ink:#173c37;--green:#216953;--paper:#f8f7f2}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Microsoft YaHei','PingFang SC',sans-serif}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit;border:0;color:inherit;transition:transform .18s,background .18s}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #d9a855;outline-offset:4px}button:hover{filter:brightness(1.07)}button:active{transform:scale(.98)}.topbar{height:100px;max-width:1472px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 54px;border-bottom:1px solid #e0e6dc}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink);font-size:15px;font-weight:700;letter-spacing:1px}.brand img{width:58px;height:58px;background:#173d35;border-radius:4px;object-fit:contain;padding:5px}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:5px;color:#81948b}.edition{font-size:11px;letter-spacing:1px;color:#87978f}.rankbtn{border:1px solid #cbd9ce;border-radius:25px;padding:12px 19px;background:transparent;font-size:12px;display:flex;gap:12px;align-items:center}.layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(340px,430px) minmax(220px,.82fr);gap:48px;max-width:1370px;margin:40px auto 30px;padding:0 35px;align-items:center}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2px;color:#528c72}.intro h1{font-size:clamp(42px,4.2vw,62px);line-height:1.25;letter-spacing:1px;margin:22px 0 25px;font-weight:900}.intro h1 em{font-style:normal;color:#31846a;position:relative}.intro h1 em span{font-size:28px;position:absolute;right:-42px;top:4px;color:#e1af5e}.lead{font-size:13px;line-height:2.1;color:#7c8b82}.goal{display:flex;flex-wrap:wrap;align-items:center;gap:0 15px;margin-top:38px}.goal>span{font-size:11px;letter-spacing:2px;width:100%;color:#8e998f}.goal strong{font-size:54px;line-height:1.5;color:#24644d;font-family:Arial,sans-serif;letter-spacing:-3px}.goal strong small{font-size:13px;letter-spacing:0;margin-left:8px;font-weight:500}.goal>div{font-size:10px;line-height:2;color:#8b958b;border-left:1px solid #cbd4c8;padding-left:14px}.quick{display:flex;gap:25px;padding-top:24px;border-top:1px solid #dce3d7;margin-top:18px}.quick span{font-size:9px;color:#c39856}.quick b{font-size:10px;color:#718176;display:block;margin-top:7px;font-weight:500}.textbtn{background:none;padding:20px 0;color:#617e6d;font-size:11px}.mascot-note{display:flex;align-items:center;gap:14px;margin-top:25px}.mascot-note img{height:85px;width:68px;object-fit:contain;transform:rotate(-8deg)}.mascot-note p{font-size:11px;color:#4b7664}.mascot-note small{display:block;font-size:9px;margin-top:9px;color:#9ca599}.game-shell{overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 22px 65px #214c3816,0 0 0 8px #fff8;position:relative;max-width:450px;width:100%;margin:auto}.game-head{height:43px;background:#214e42;color:#e9f1de;font-size:10px;display:flex;justify-content:space-between;align-items:center;padding:0 19px;letter-spacing:1px}.game-head button{background:#ffffff16;color:#e9f1de;border-radius:50%;width:25px;height:25px}.playfield{position:relative;aspect-ratio:450/750;touch-action:none;overflow:hidden;background:#c8e4d7}.playfield canvas{width:100%;height:100%;display:block}.hud{position:absolute;top:17px;left:18px;right:18px;display:flex;justify-content:space-between;pointer-events:none}.score{background:#fffef0ea;padding:10px 15px;border-radius:14px;box-shadow:0 3px 10px #214e4212;min-width:112px}.score small{font-size:9px;color:#6b8273;display:block}.score strong{font-size:27px;font-family:Arial,sans-serif;display:block;margin-top:3px}.score strong span{font-size:12px;color:#9aa78b;margin-left:6px}.pause{pointer-events:auto;border-radius:50%;background:#fffdee;width:35px;height:35px;box-shadow:0 3px 8px #214e4212}.build{position:absolute;bottom:18px;left:16px;background:#fffff5ed;padding:9px 11px;border-radius:13px;width:112px;box-shadow:0 3px 10px #173c3722}.build svg{height:68px;width:100%}.build b{display:block;font-size:8px;text-align:center;color:#567466;margin-top:3px}.buildbar{height:3px;background:#dfe7da;border-radius:3px;margin-top:7px;overflow:hidden}.buildbar i{display:block;height:100%;background:#dbaa54;transition:width .3s}.game-foot{display:flex;align-items:center;gap:12px;padding:13px 16px;font-size:9px;color:#719080}.game-foot span:first-child{color:#3a8d71}.game-foot span:nth-child(2){color:#cf7185}.game-foot small{margin-left:auto;font-size:8px;color:#9ba599}.game-foot button{font-size:9px;background:none;padding:0;color:#9ba599}.overlay{position:absolute;inset:0;background:#153c3040;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:22px;z-index:3}.welcome{background:linear-gradient(#e8f5ec88,#a3cbb46b);backdrop-filter:blur(2px)}.start-card{text-align:center;width:100%;margin-top:18px}.pill{display:inline-block;border:1px solid #bcd1ba;border-radius:20px;background:#fffdefd9;color:#65805d;font-size:9px;padding:7px 13px;letter-spacing:1.3px}.hero-mao{display:block;height:230px;width:210px;object-fit:contain;margin:17px auto 6px;filter:drop-shadow(0 15px 10px #2b5b3940);animation:float 2.4s ease-in-out infinite}.start-card h2{font-size:23px;margin:13px 0 9px;letter-spacing:-.5px}.start-card p{font-size:11px;color:#54755e}.primary{background:#225f49;color:#fffce6;border-radius:12px;padding:16px 22px;width:100%;font-weight:700;font-size:13px;box-shadow:0 7px 16px #17432f24}.start-card .primary{width:78%;margin:15px 0}.start-card>small{display:block;font-size:9px;color:#56735b}.side-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce4d8;padding-bottom:17px;font-size:14px;font-weight:700}.side-title small{font-size:8px;color:#8d9b8c;letter-spacing:1px}.guide-card{padding:25px 0 23px;border-bottom:1px solid #dce4d8}.guide-icon{font-size:20px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#e4eee2;color:#43856b;margin-bottom:12px}.guide-icon.negative{background:#f2e9e5;color:#cf8d77}.side h3{font-size:12px;margin:10px 0}.side p{font-size:10px;color:#8b978b;line-height:1.9}.grade-list{display:flex;justify-content:space-between;gap:6px;margin-top:17px}.grade-list>div{text-align:center}.grade{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;font:700 11px Arial;color:#fff;background:#b9aa7c}.g0{background:#b39963}.g1{background:#6e9b87}.g2{background:#7a9eab}.g3{background:#a29bb5}.g4{background:#a4ada3}.grade-list span{display:block;font:bold 12px Arial;color:#47876d;margin-top:8px}.grade-list small{font:8px sans-serif;margin-left:2px;font-weight:400}.grade-list.negative span{color:#bd7d70}.milestones{padding-top:17px}.milestones>div{display:flex;align-items:center;gap:7px;font:9px Arial;color:#9caa96;margin-top:20px}.milestones>div span{height:5px;flex:1;background:linear-gradient(90deg,#dce5d5,#e5b55f);border-radius:8px}.milestones>small{font-size:9px;display:block;text-align:center;margin-top:9px;color:#a8b09e}.board-link{display:flex;align-items:center;gap:13px;border:1px solid #e0d7bf;background:#f4efdf;border-radius:12px;width:100%;padding:16px 12px;margin-top:30px;text-align:left}.board-link>span{font-size:24px;color:#ab8b53}.board-link div{font-size:11px;font-weight:600}.board-link small{display:block;font-size:8px;color:#a59b7e;margin-top:6px;font-weight:400}.board-link>b{margin-left:auto;font-size:17px;color:#a59b7e}footer{max-width:1300px;border-top:1px solid #e2e7dc;margin:35px auto 0;padding:22px 0;font-size:9px;color:#929f91;letter-spacing:1px}footer>span{margin:0 13px;color:#c4b585}footer small{float:right;font-size:9px}.dialog{border-radius:20px;background:#fffef5;padding:26px 22px;width:100%;text-align:center;box-shadow:0 15px 40px #12322533}.dialog h2{font-size:20px;line-height:1.5}.dialog p{font-size:11px;line-height:1.8;color:#88947d}.dialogicon{font-size:35px;color:#a7b79b}.secondary{background:#ecf0e5;border:1px solid #d6dfce;padding:12px 18px;border-radius:10px;font-size:11px;margin-top:10px;width:100%}.resultscore{color:#d3ab63;font-size:24px;margin-top:13px}.resultscore b{color:#245c45;font:bold 55px Arial;margin:0 6px}.resultscore small{font-size:12px;color:#809473}.result label{font-size:10px;display:block;text-align:left;margin-top:24px;color:#718367}.result input{width:100%;border:1px solid #d5dfcb;background:#fff;padding:13px 12px;border-radius:10px;font:12px inherit;margin:9px 0 12px}.actions{display:flex;justify-content:space-between;gap:8px;margin-top:16px}.actions button{background:transparent;font-size:10px;color:#73886a}.saved{color:#3c8c6b;font-size:13px;background:#e7f1df;border-radius:10px;padding:15px}.finish-banner{position:absolute;top:30%;left:5%;width:90%;padding:18px 5px;background:#fff8d8;border-radius:12px;text-align:center;font-size:12px;box-shadow:0 8px 20px #163e3522}.modal-backdrop{position:fixed;inset:0;background:#12382c77;backdrop-filter:blur(7px);z-index:20;display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:480px;max-width:100%;max-height:85dvh;overflow:auto;background:#fffdf5;border-radius:22px;padding:34px;position:relative;box-shadow:0 25px 100px #122e3e33}.close{position:absolute;right:15px;top:10px;background:transparent;font-size:28px;color:#a0ac98}.modal h2{font-size:23px;margin:15px 0}.modal p{font-size:12px;line-height:2;color:#819177}.modal h3{font-size:13px;margin-top:25px}.rules-table>div{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid #e6eada;font-size:12px}.rules-table span{color:#388966}.rules-table em{color:#c7787f;font-style:normal}.empty{padding:50px 0;text-align:center;font-size:14px;line-height:2;color:#7e9471}.empty small{font-size:11px;color:#a0ac94}.rank-list{max-height:48vh;overflow:auto;margin-top:24px}.rank-list>div{display:flex;align-items:center;gap:16px;border-bottom:1px solid #e5e9dc;padding:15px 2px}.rank-list>div>b{font:italic 24px Georgia;color:#bdaa75;width:30px}.rank-list span{font-size:13px;flex:1;overflow-wrap:anywhere}.rank-list span small{display:block;font-size:9px;color:#9ba58d;margin-top:5px}.rank-list strong{font:bold 22px Arial;color:#578263}.rank-list strong small{font-size:9px;margin-left:5px;font-weight:400}.privacy{display:block;font-size:9px;color:#9ca78f;margin-top:16px;line-height:1.8}.error{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#fff5e4;color:#ad603c;border:1px solid #e3c7a6;border-radius:12px;padding:14px 18px;z-index:50;font-size:12px;max-width:95vw;box-shadow:0 10px 40px #3b2e201f}.error button{background:none;margin-left:15px;font-size:12px}@keyframes float{50%{transform:translateY(-8px) rotate(2deg)}}@media(max-width:1100px){.layout{gap:28px;padding:0 24px;grid-template-columns:1fr minmax(330px,410px)}.side{display:none}.topbar{padding:0 28px}.intro h1{font-size:52px}.edition{display:none}footer{margin:30px 28px 0}}@media(max-width:700px){.topbar{height:72px;padding:0 17px}.brand img{width:40px;height:40px}.brand{font-size:11px;gap:8px}.brand small{font-size:6px;letter-spacing:1px;margin-top:3px}.rankbtn{padding:9px 11px;font-size:10px;gap:7px}.layout{display:flex;flex-direction:column;padding:0 12px;gap:18px;margin:20px auto}.intro{width:100%;text-align:center}.eyebrow{font-size:8px;letter-spacing:1.5px}.intro h1{font-size:29px;line-height:1.3;margin:8px 0}.intro h1 br{display:none}.intro h1 em span{font-size:14px;right:-20px}.lead{font-size:10px;margin:8px 0;line-height:1.7}.lead br{display:none}.goal,.quick,.mascot-note,.intro>.textbtn{display:none}.game-shell{border-radius:20px;max-width:410px}.game-head{height:34px;font-size:9px}.game-foot{padding:10px 13px;font-size:8px;gap:9px}.game-foot small{font-size:7px}.side{display:block;width:100%;max-width:410px}.side-title,.guide-card,.milestones{display:none}.board-link{margin-top:0}footer{margin:20px 17px 0;padding:17px 0;text-align:center;font-size:8px}footer small{float:none;display:block;margin-top:8px;font-size:8px}.hero-mao{height:190px;width:170px;margin-top:12px}.start-card h2{font-size:20px}.start-card p{font-size:10px}.start-card .primary{padding:14px 16px}.start-card{margin-top:0}.dialog{padding:21px 16px}.dialog h2{font-size:17px}.resultscore b{font-size:45px}.modal{padding:30px 23px}.modal h2{font-size:20px}.score{min-width:96px;padding:8px 12px}.score strong{font-size:23px}.hud{top:12px;left:12px;right:12px}.build{width:97px;left:10px;bottom:12px}.build svg{height:58px}}@media(prefers-reduced-motion:reduce){.hero-mao{animation:none}}

.game-head .music-toggle{width:auto;border-radius:16px;padding:0 10px;font-size:10px;white-space:nowrap}
.playfield canvas.fireworks{position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none}
.brief h2{margin:14px 0 20px}.brief-line b{font-size:14px;color:#28624b}.brief-line p{margin:8px 0 18px}.brief-scores{display:grid;grid-template-columns:1.4fr repeat(5,1fr);gap:0;text-align:center;background:#edf2e7;border-radius:12px;padding:10px 8px;font-size:12px;align-items:center}.brief-scores>*{padding:8px 2px}.brief-scores span{color:#7d8a72;font-size:11px}.brief-scores strong{color:#23815a}.brief-scores em{color:#d13c51;font-style:normal;font-weight:bold}.brief-goal{padding:8px 0}.brief-goal b{color:#346b4d}.brief-music{width:100%;text-align:left;padding:13px 12px;margin:0 0 16px;border-radius:10px;background:#f4eedc;font-size:12px;color:#8c783c}.brief-music span{float:right;font-size:9px;opacity:.7;padding-top:2px}.brief .textbtn{display:block;margin:4px auto 0;padding:11px 15px}.brief .primary{margin-top:0}
/* Keep the entire game inside the visible WeChat webview, including bottom bars. */
@media(max-width:700px){
 html,body,#root{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
 body{-webkit-text-size-adjust:100%}
 main{height:100vh;height:var(--app-height,100dvh);min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
 .topbar{height:48px;min-height:48px;flex:0 0 48px;width:100%;padding:0 12px}
 .brand{font-size:10px;gap:7px}.brand img{height:30px;width:30px;padding:3px}.brand small{font-size:5px;letter-spacing:1px}
 .rankbtn{font-size:10px;padding:8px 10px;gap:5px;white-space:nowrap}
 .layout{flex:1;min-height:0;width:100%;max-width:100%;margin:0;padding:5px 10px 7px;display:flex;flex-direction:column;gap:5px;align-items:center}
 .intro{height:30px;min-height:30px;flex:0 0 30px;display:flex;align-items:center;justify-content:center}
 .intro h1{font-size:21px;line-height:1.2;margin:0;letter-spacing:1px}.intro h1 em span{font-size:11px;right:-17px}
 .intro .eyebrow,.intro .lead,.side,main>footer{display:none}
 .game-shell{flex:1;min-height:0;max-width:450px;width:100%;margin:0 auto;display:flex;flex-direction:column;border-radius:16px;box-shadow:0 5px 22px #214c3816}
 .game-head{height:30px;min-height:30px;flex:0 0 30px;padding:0 13px;font-size:9px}
 .game-head button{height:24px;width:28px}
 .playfield{flex:1;min-height:0;width:100%;aspect-ratio:auto;overflow:hidden}
 .playfield canvas{position:absolute;inset:0;width:100%;height:100%}
 .game-foot{height:28px;min-height:28px;flex:0 0 28px;padding:0 10px;gap:10px;font-size:9px}
 .game-foot small{font-size:8px}.game-foot button{font-size:10px;padding:5px}
 .hud{top:10px;left:10px;right:10px}.score{min-width:88px;padding:7px 10px}.score strong{font-size:22px}.score small{font-size:9px}
 .build{bottom:9px;left:9px;width:88px;padding:6px 8px}.build svg{height:46px}.build b{font-size:8px}.buildbar{margin-top:5px}
 .overlay{padding:14px;overflow:auto}.start-card{margin:0}.hero-mao{height:clamp(85px,22vh,165px);width:150px;margin:9px auto 4px}
 .start-card h2{font-size:19px;margin:8px 0}.start-card p{font-size:11px;margin:7px 0}.start-card .primary{margin:10px 0;padding:13px 16px}.start-card>small{font-size:9px}.pill{padding:6px 11px}
 .dialog{max-height:100%;overflow:auto;padding:18px 16px}.dialog h2{font-size:17px;margin:11px 0}.dialog p{margin:8px 0}.result label{margin-top:13px}.resultscore{margin-top:9px}.resultscore b{font-size:36px}
 .modal-backdrop{padding:12px}.modal{max-height:calc(var(--app-height,100vh) - 24px);padding:26px 22px}.modal h2{font-size:20px}
}
@media(max-width:700px) and (max-height:600px){
 .topbar{height:42px;min-height:42px;flex-basis:42px}.intro{height:25px;min-height:25px;flex-basis:25px}.intro h1{font-size:19px}
 .hero-mao{height:90px;margin:4px auto}.start-card h2{font-size:17px}.start-card p{font-size:10px}.start-card .primary{margin:7px 0;padding:10px}
 .build{width:76px}.build svg{height:36px}.build b{font-size:7px}.score{padding:6px 9px}.score strong{font-size:19px}
}
/* High-contrast text and permanent production credit. */
.brand small{color:#193f31;font-size:12px;letter-spacing:1px;font-weight:700}
.edition{font-size:15px;color:#244c36;font-weight:700}
.lead,.side p,.modal p,.dialog p,.goal>div,.textbtn,.quick b{color:#3b5145}
.start-card p,.start-card>small{color:#243d30;font-size:13px}
.privacy{color:#465640;font-size:12px}.rank-list span small{color:#4a5c43;font-size:12px}
.score small{color:#29442e;font-size:12px}.build b{color:#193a2b;font-size:11px}
.brief-line p,.brief-goal{font-size:14px;line-height:1.8;color:#283d2e}.brief-scores{font-size:15px}.brief-scores span{font-size:13px;color:#374b35}.brief-music{font-size:14px;color:#64501c}.brief-music span{font-size:11px;opacity:1}.modal input,.result input{font-size:16px}
@media(max-width:700px){
 .topbar{height:53px;min-height:53px;flex-basis:53px}.brand{font-size:12px}.brand small{font-size:12px;margin-top:4px;letter-spacing:.5px}.brand img{width:34px;height:34px}
 .rankbtn{font-size:11px}.game-head{font-size:11px;height:34px;min-height:34px;flex-basis:34px;padding:0 10px;letter-spacing:0}.game-head .music-toggle{font-size:11px;padding:0 8px}
 .game-foot{height:34px;min-height:34px;flex-basis:34px;font-size:11px;gap:7px}.game-foot span:first-child{color:#175035}.game-foot span:nth-child(2){color:#b01f32}.game-foot small{color:#334936;font-size:10px}.game-foot button{color:#264e35;font-size:12px}
 .score{min-width:100px}.score small{font-size:12px;color:#25452f}.score strong{font-size:27px}.score strong span{color:#47633e;font-size:13px}
 .build{width:102px}.build b{font-size:11px;color:#173b2a}.build svg{height:48px}
 .start-card p{font-size:13px;color:#203e2b}.start-card>small{font-size:12px;color:#304a35}.start-card .primary,.primary{font-size:15px}.dialog p{font-size:13px}.result label{font-size:13px;color:#354f32}.actions button{font-size:12px}.modal p{font-size:14px}.rules-table>div{font-size:15px}
}

/* Blue brand theme. Logo artwork and red hazard warnings retain their colors. */
:root{--ink:#14365c;--green:#2468c6;--paper:#f2f7fd}
body{background:var(--paper);color:var(--ink)}
.topbar{border-color:#d4e2f2}.brand{color:#14365c}.brand img{background:#174e91}.brand small{color:#1a4b80}.edition{color:#1e5189}
.rankbtn{border-color:#b8cfe9;background:#f8fbff;color:#194f8a}
.eyebrow{color:#2d6bb2}.intro h1 em{color:#2873ce}.intro h1 em span{color:#65a7ed}
.lead,.side p,.modal p,.dialog p,.goal>div,.textbtn,.quick b{color:#354d68}
.goal strong{color:#1d63b5}.goal>span{color:#4c6581}.goal>div{border-color:#c7d9eb}.quick{border-color:#d1e1f0}.quick span{color:#3275c1}
.mascot-note p{color:#275c98}.mascot-note small{color:#536e8b}
.game-shell{background:#fff;box-shadow:0 16px 45px #174e911c,0 0 0 6px #ffffff88}
.game-head{background:#1555a1;color:#fff}.game-head button{background:#ffffff24;color:#fff}
.playfield{background:#d8ecff}.score{background:#f4fafff5}.score small{color:#234d7b}.score strong{color:#123e71}.score strong span{color:#4a688b}.pause{background:#f5faff;color:#1555a1}
.build{background:#f5fafff2}.build b{color:#183e6b}.buildbar{background:#d5e4f4}.buildbar i{background:#3384e5}
.game-foot{color:#2c609c}.game-foot span:first-child{color:#205c9f}.game-foot small{color:#3e5875}.game-foot button{color:#24598f}
.welcome{background:linear-gradient(#e9f5ff88,#adcff16b)}.overlay{background-color:#123c6b3d}
.pill{border-color:#a9c7e8;background:#f3f9ffeb;color:#245b96}.start-card h2{color:#173f70}.start-card p,.start-card>small{color:#284e79}
.primary{background:#2168bf;color:#fff;box-shadow:0 6px 16px #1e60aa33}.secondary{background:#e7f0fc;border-color:#c3d9f2;color:#204f89}
.dialog,.modal{background:#f9fcff}.dialogicon{color:#4c87ca}.resultscore b{color:#1b61b1}.resultscore small{color:#426b99}.result label{color:#244f80}.result input{border-color:#bdd3ee}
.saved{color:#205fa7;background:#e3efff}.actions button{color:#2b609c}.finish-banner{background:#e4f2ff;color:#1c5ba6}
.side-title,.guide-card{border-color:#cddff0}.side-title small{color:#526c8b}.guide-icon{background:#dfedfd;color:#2b70bd}
.grade-list:not(.negative) span{color:#235f9f}.milestones>div span{background:linear-gradient(90deg,#d5e7fa,#3d88dd)}.milestones>small{color:#466b94}
.board-link{border-color:#bcd5ef;background:#e5f1ff}.board-link>span,.board-link>b{color:#3478c4}.board-link div{color:#204f83}.board-link small{color:#426b99}
.brief-line b,.brief-goal b{color:#205a9e}.brief-line p,.brief-goal{color:#2b496a}.brief-scores{background:#e7f0fb}.brief-scores span{color:#36597e}.brief-scores strong{color:#1e63b6}.brief-music{background:#e3efff;color:#235c9e}
.privacy,.rank-list span small{color:#3f628a}.rank-list>div{border-color:#d7e5f5}.rank-list strong{color:#2363ad}.empty{color:#396797}
footer{border-color:#d4e2f2;color:#44698f}
.result .name-policy{font-size:12px;line-height:1.6;color:#354f6d;margin:0 0 12px;text-align:left}
.rankbtn,.board-link{position:relative;overflow:hidden;animation:hero-glow 2s ease-in-out infinite;border-color:#51a3ff}
.rankbtn{background:linear-gradient(120deg,#1254aa,#287ee0);color:#fff;font-weight:700}
.rankbtn>span{display:block;text-align:center;line-height:1.4}
.hero-count{display:block;font-size:11px;font-weight:600;color:#fff;margin-top:2px;letter-spacing:.3px}
.rankbtn::after,.board-link::after{content:'';position:absolute;pointer-events:none;inset:-60% auto -60% -70%;width:40%;background:linear-gradient(90deg,transparent,#ffffff70,transparent);transform:rotate(22deg);animation:hero-shine 3.2s ease-in-out infinite}
.hero-total{display:inline-block;margin-top:7px;color:#1859a4;font-size:15px}
@keyframes hero-glow{0%,100%{box-shadow:0 0 5px #338dff55,0 0 0 1px #71b5ff33}50%{box-shadow:0 0 19px #2485ff99,0 0 0 3px #6bb5ff55}}
@keyframes hero-shine{0%,30%{left:-70%}75%,100%{left:140%}}
@media(max-width:700px){.rankbtn{padding:5px 9px;gap:5px;font-size:11px}.rankbtn .hero-count{font-size:11px;margin-top:1px}.topbar{overflow:visible}}
@media(prefers-reduced-motion:reduce){.rankbtn,.board-link{animation:none;box-shadow:0 0 12px #2485ff66}.rankbtn::after,.board-link::after{animation:none;display:none}}
@media(max-width:700px){.score small{color:#234d7b}.score strong span{color:#42688e}.build b{color:#183e6b}.game-foot span:first-child{color:#205c9f}.game-foot small{color:#3e5875}.game-foot button{color:#24598f}.start-card p,.start-card>small{color:#284e79}}
