:root{--red:#841f1c;--red2:#b83a2f;--gold:#d8a846;--ink:#2c241d;--paper:#f3ead7;--cream:#fffaf0;--muted:#766b5e;--shadow:0 20px 50px rgba(43,25,15,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f1e5;color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",sans-serif;line-height:1.7}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:99;background:#fff;padding:.7rem}.skip-link:focus{top:1rem}.site-header{height:74px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:rgba(255,250,240,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(98,59,32,.12)}.brand{display:flex;gap:.6rem;align-items:center;color:var(--red);font-family:serif;font-size:1.2rem;font-weight:800;text-decoration:none}.brand-star{color:var(--gold)}nav{display:flex;gap:clamp(12px,2vw,30px)}nav a{color:#4b4036;text-decoration:none;font-size:.92rem;font-weight:700}nav a:hover{color:var(--red)}.menu-button{display:none}.hero{min-height:calc(100vh - 74px);padding:clamp(60px,8vw,110px) clamp(22px,8vw,120px);display:grid;grid-template-columns:1.05fr .95fr;gap:5vw;align-items:center;overflow:hidden;background:radial-gradient(circle at 82% 25%,#efd999 0,transparent 23%),linear-gradient(135deg,#fffaf0,#eddfc5)}.eyebrow{margin:0 0 10px;color:var(--red2);font-size:.76rem;font-weight:900;letter-spacing:.22em}.hero h1{margin:0;font-family:"STKaiti","KaiTi",serif;font-size:clamp(3rem,6vw,6.2rem);line-height:1.06;letter-spacing:-.05em}.hero h1 em{color:var(--red);font-style:normal}.lead{max-width:620px;font-size:clamp(1rem,1.5vw,1.2rem);color:var(--muted)}.hero-actions,.result-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.button{border:0;border-radius:6px;padding:12px 24px;display:inline-block;font-weight:800;text-decoration:none;cursor:pointer;font-size:1rem}.primary{background:var(--red);color:#fff;box-shadow:0 8px 20px rgba(132,31,28,.22)}.primary:hover{background:#6f1715}.ghost{border:1px solid #9e8d78;color:var(--ink);background:transparent}.hero-stats{display:flex;gap:30px;margin-top:48px}.hero-stats div{display:flex;flex-direction:column}.hero-stats strong{font:700 2rem Georgia;color:var(--red)}.hero-stats span{font-size:.78rem;color:var(--muted)}.route-art{height:520px;position:relative;border-radius:52% 48% 44% 56%;overflow:hidden;background:linear-gradient(#f6d98a 0 38%,#d4b667 38%);box-shadow:var(--shadow)}.route-art svg{position:absolute;inset:5%;z-index:5;width:90%;height:88%}.route-art>p{position:absolute;z-index:6;bottom:8px;right:28px;font-size:.7rem;color:#604b31}.sun{position:absolute;width:120px;height:120px;background:#c44832;border-radius:50%;right:60px;top:55px}.mountain{position:absolute;left:-10%;right:-10%;bottom:0;height:55%;clip-path:polygon(0 82%,18% 28%,29% 70%,47% 7%,61% 67%,77% 25%,100% 78%,100% 100%,0 100%)}.mountain.far{background:#b28d55;opacity:.65;bottom:20%}.mountain.near{background:#715b3c}.route,.route-shadow{fill:none;stroke-linecap:round;stroke-linejoin:round}.route-shadow{stroke:#4d3a27;stroke-width:13;opacity:.2}.route{stroke:#ffebae;stroke-width:5;stroke-dasharray:9 11;animation:march 25s linear infinite}.route-point circle{fill:#a52520;stroke:#ffe5a1;stroke-width:4}.route-point text{fill:#fff7df;font-weight:800;font-size:15px}@keyframes march{to{stroke-dashoffset:-400}}
.section{padding:95px clamp(22px,8vw,120px)}.paper{background-color:var(--paper);background-image:radial-gradient(rgba(89,55,32,.08) .7px,transparent .7px);background-size:7px 7px}.section-heading{max-width:750px;margin-bottom:44px}.section-heading h2,.author-section h2{font:800 clamp(2.2rem,4vw,4rem)/1.2 "STKaiti","KaiTi",serif;margin:6px 0 12px}.section-heading>p:last-child{color:var(--muted)}.timeline{display:flex;gap:10px;overflow:auto;padding:6px 2px 18px}.timeline button{min-width:125px;border:1px solid #cdbb9f;background:#fff9eb;border-radius:8px;padding:14px 12px;text-align:left;cursor:pointer}.timeline button span{display:block;color:var(--red);font-weight:900}.timeline button.active{background:var(--red);color:#fff;border-color:var(--red)}.timeline button.active span{color:#f5d57d}.history-card{background:#fffaf0;box-shadow:var(--shadow);border-left:6px solid var(--red);padding:clamp(25px,5vw,48px);min-height:210px}.history-card h3{font-size:1.7rem;margin:0 0 8px}.history-card .date{color:var(--red);font-weight:900}.note{margin-top:25px;padding:20px 24px;background:#e7d9bf;border-radius:6px}.note p{margin:4px 0}.game-section{background:#31251f;color:#fff9e9;position:relative}.section-heading.light .eyebrow{color:#e3ba60}.section-heading.light>p:last-child{color:#cbbdae}.game-shell{max-width:850px;margin:auto;background:#fffaf0;color:var(--ink);border-radius:14px;box-shadow:0 30px 70px #130c08;padding:clamp(22px,5vw,50px)}.game-top{display:flex;justify-content:space-between;font-weight:800}.game-top strong{color:var(--red);font-size:1.25rem}.progress{height:7px;background:#e4d8c5;margin:14px 0 34px;border-radius:9px;overflow:hidden}.progress span{display:block;width:0;height:100%;background:var(--red);transition:.3s}.game-panel{display:none;text-align:center;min-height:310px}.game-panel.active{display:block}.medal{font-size:3rem}.game-panel h3{font-size:clamp(1.5rem,3vw,2.2rem)}.answers{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left;margin:28px 0}.answer{border:1px solid #d5c7b1;background:#fff;padding:15px;border-radius:6px;cursor:pointer;font:inherit}.answer:hover:not(:disabled){border-color:var(--red);transform:translateY(-2px)}.answer.correct{background:#e0f0df;border-color:#438241}.answer.wrong{background:#f6d9d5;border-color:#ad3c32}.explanation{display:none;background:#eee4d2;padding:14px;text-align:left;margin-bottom:18px}.explanation.show{display:block}.question-tag{color:var(--red);font-weight:900}.hidden{display:none!important}.dark{border-color:#766b5e}.coming-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:850px;margin:30px auto 0}.coming-grid article{border:1px solid #6a5950;padding:25px;background:#3a2d27}.coming-grid span{color:#e3ba60;font-size:.78rem}.coming-grid h3{margin:6px 0}.coming-grid p{color:#cbbdae;margin:0}.record-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.record-grid article{background:#fffaf0;padding:28px;border-top:4px solid var(--red);box-shadow:0 10px 30px rgba(40,24,15,.08)}.record-grid span{display:block;color:var(--muted)}.record-grid strong{font:700 3rem Georgia;color:var(--red)}.badge-row{display:flex;gap:18px;flex-wrap:wrap;margin:35px 0}.badge{padding:13px 18px;background:#ddd0b9;color:#746858;border-radius:99px}.badge.earned{background:#a52b25;color:#fff}.record-actions{display:flex;gap:12px;flex-wrap:wrap}.text-button{border:1px solid #a89983;border-radius:5px;padding:9px 15px;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.text-button input{display:none}.text-button.danger{color:#8d2622}.status-message{min-height:1.7em;color:var(--red)}.author-section{display:grid;grid-template-columns:1.1fr .9fr;gap:25px;background:#fffaf0}.author-card,.creation-card{padding:clamp(25px,5vw,55px);border:1px solid #ddcfb9}.author-card{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center}.author-mark{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font:700 4rem "KaiTi";box-shadow:0 0 0 8px #eadbbf}.author-card dl{margin:20px 0 0}.author-card dl div{display:grid;grid-template-columns:70px 1fr;padding:9px 0;border-bottom:1px solid #e8dcc8}.author-card dt{color:var(--muted)}.author-card dd{margin:0;font-weight:800}.creation-card h3{color:var(--red)}footer{display:flex;justify-content:space-between;padding:25px clamp(22px,8vw,120px);background:#1f1814;color:#cabcaa;font-size:.85rem}
@media(max-width:800px){.site-header{height:64px}.menu-button{display:block;border:1px solid #ae9e88;background:transparent;border-radius:4px;padding:7px 11px}nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fffaf0;flex-direction:column;padding:20px 24px;box-shadow:0 12px 25px rgba(0,0,0,.12)}nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:55px}.route-art{height:410px}.hero-stats{gap:18px}.section{padding-top:70px;padding-bottom:70px}.answers,.coming-grid,.record-grid,.author-section{grid-template-columns:1fr}.author-card{grid-template-columns:1fr}.author-mark{width:90px;height:90px;font-size:3rem}footer{display:block}.hero h1{font-size:3.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.route{animation:none}.answer{transition:none}}
html,body{max-width:100%;overflow-x:hidden}
@media(max-width:800px){.site-header{width:100%;padding-left:18px;padding-right:18px}.menu-button{flex:0 0 auto;margin-left:12px}.hero,.hero-copy,.route-art{width:100%;min-width:0}.hero-copy{overflow-wrap:anywhere}.hero-stats{width:100%;justify-content:space-between}.hero-stats div{min-width:0}.hero-stats span{white-space:nowrap}}
.mini-link{display:inline-block;margin-top:14px;color:#f1c968;font-weight:800;text-decoration:none}.subgame{max-width:1000px;margin:70px auto 0;padding:clamp(20px,4vw,42px);background:#fffaf0;color:var(--ink);border-radius:14px;box-shadow:0 25px 60px #160e0a;scroll-margin-top:90px}.subgame-head{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;border-bottom:1px solid #ddcfb9;padding-bottom:18px}.subgame-head h2{font:800 clamp(2rem,4vw,3.4rem)/1.1 "STKaiti","KaiTi",serif;margin:0}.hud{display:flex;gap:20px;white-space:nowrap}.hud strong{color:var(--red);font-size:1.4rem}.game-story{color:var(--muted);margin:22px 0}.canvas-wrap{position:relative;overflow:hidden;border-radius:9px;background:#edcf86;aspect-ratio:8/3}.canvas-wrap canvas{display:block;width:100%;height:100%}.canvas-cover{position:absolute;inset:0;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;text-align:center;color:#fff;background:rgba(37,25,18,.72);padding:20px}.canvas-cover strong{font-size:1.8rem}.canvas-cover.hidden{display:none!important}.touch-controls{text-align:center;margin-top:15px}.touch-controls button{width:min(280px,100%);border:0;border-radius:8px;padding:14px;background:var(--red);color:#fff;font:800 1rem inherit;cursor:pointer;touch-action:manipulation}.touch-controls button:disabled{opacity:.45;cursor:not-allowed}.subgame-message{min-height:1.7em;text-align:center;font-weight:800;color:var(--red)}.grass-board{padding:clamp(20px,5vw,45px);background:#e8e0c5;border-radius:10px;text-align:center}.weather-icon{font-size:4rem}.situation-label{color:var(--red);font-weight:900;letter-spacing:.12em}.grass-board h3{font-size:1.8rem;margin:5px 0}.resource-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0;text-align:left}.resource-bars span{font-size:.8rem;font-weight:800}.resource-bars i{display:block;height:9px;background:#cabda2;border-radius:9px;overflow:hidden}.resource-bars b{display:block;width:80%;height:100%;background:linear-gradient(90deg,#8d2722,#d59f3e);transition:width .4s}.decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.decision-grid button{min-height:54px}.decision-result{min-height:3.5em;margin-top:18px;padding:12px;color:#54483c}.decision-result.good{background:#dce9d6;color:#315c31}.decision-result.bad{background:#f1d8cc;color:#79342c}
@media(max-width:650px){.subgame-head{align-items:flex-start;flex-direction:column}.hud{width:100%;justify-content:space-between}.resource-bars{grid-template-columns:1fr}.decision-grid{grid-template-columns:1fr}.canvas-wrap{aspect-ratio:4/2.25}.game-story{font-size:.92rem}}
.touch-controls{display:flex;justify-content:center;gap:12px}.touch-controls button{width:min(280px,48%);border:1px solid #a88462;box-shadow:0 7px 18px rgba(60,25,15,.18)}.touch-controls button+button{background:#3d342d}.grass-board{position:relative;overflow:hidden;background:linear-gradient(rgba(238,232,199,.9),rgba(218,209,166,.94)),radial-gradient(circle at 15% 20%,#78906b 0 3%,transparent 4%),radial-gradient(circle at 80% 75%,#718561 0 4%,transparent 5%);border:1px solid #bcae89;box-shadow:inset 0 0 80px rgba(71,74,42,.16)}.grass-board:before{content:"";position:absolute;left:-10%;right:-10%;bottom:-55px;height:145px;background:#84936a;clip-path:polygon(0 68%,14% 45%,26% 66%,42% 25%,55% 70%,73% 36%,88% 60%,100% 33%,100% 100%,0 100%);opacity:.22}.grass-board>*{position:relative}.weather-icon{font-size:4.6rem;filter:drop-shadow(0 8px 9px rgba(45,53,36,.18))}.grass-board h3{font:800 2rem "STKaiti","KaiTi",serif}.resource-bars{grid-template-columns:repeat(4,1fr)}.resource-bars div{position:relative;padding:14px;background:rgba(255,252,235,.66);border:1px solid rgba(113,100,70,.18);border-radius:7px}.resource-bars em{position:absolute;right:12px;top:10px;color:var(--red);font-style:normal;font-weight:900}.resource-bars i{margin-top:8px}.decision-grid{grid-template-columns:repeat(3,1fr)}.decision-grid button{min-height:66px;padding:11px 15px}.decision-result{padding:14px;border-radius:6px}.journey-log{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;list-style:none;padding:0;margin:22px 0 0}.journey-log li{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#bbae8d;color:#fff;font-size:.76rem}.journey-log li.good{background:#52744b}.journey-log li.bad{background:#9b4036}
@media(max-width:650px){.hud{gap:8px;font-size:.82rem}.resource-bars{grid-template-columns:1fr 1fr}.decision-grid{grid-template-columns:1fr}.canvas-wrap{aspect-ratio:4/2.4}.touch-controls button{font-size:.88rem;padding:12px 5px}}
.game-section{background:linear-gradient(155deg,#f7ecd4 0%,#ead7b6 55%,#d8bd8e 100%);color:var(--ink)}.section-heading.light .eyebrow{color:var(--red)}.section-heading.light>p:last-child{color:#6f6253}.game-shell,.subgame{box-shadow:0 24px 55px rgba(88,58,30,.18);border:1px solid rgba(127,85,42,.16)}.coming-grid article{background:linear-gradient(145deg,#fff9e9,#ead5ae);border-color:#c7a97a;color:var(--ink);box-shadow:0 14px 30px rgba(91,62,32,.12)}.coming-grid span{color:var(--red)}.coming-grid p{color:#6e6254}.mini-link{color:var(--red)}.canvas-wrap{border:5px solid #fff3d5;box-shadow:0 16px 38px rgba(71,47,27,.25)}.canvas-cover{background:linear-gradient(135deg,rgba(69,48,30,.74),rgba(113,55,36,.62));backdrop-filter:blur(2px)}.question-tag{display:inline-block;padding:5px 12px;border-radius:99px;background:#f0dfbd}.answer{box-shadow:0 7px 16px rgba(77,50,28,.07);transition:.2s}.answer:hover:not(:disabled){box-shadow:0 11px 22px rgba(132,31,28,.12)}
.bank-chip{display:inline-block;margin-right:8px;padding:4px 10px;border-radius:99px;background:#fff3ce;color:var(--red);font-size:.82rem;font-weight:900}.subgame#bridgeGame{max-width:1280px;background:linear-gradient(145deg,#fffdf4,#f3e3c4)}.subgame#bridgeGame .canvas-wrap{aspect-ratio:30/13;min-height:390px}.game-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.game-tools button{border:1px solid #b69a72;background:#fff9e9;color:#4d3d2f;border-radius:7px;padding:9px 13px;font-weight:800;cursor:pointer}.game-tools button:hover:not(:disabled){background:#f1d8a8}.game-tools button:disabled{opacity:.45}.bridge-hud{margin:16px 0 0;padding:12px 18px;border-radius:8px;background:#f1dfb9}.stage-banner{position:absolute;top:18px;left:50%;z-index:4;transform:translate(-50%,-90px);padding:9px 20px;border:1px solid rgba(255,255,255,.6);border-radius:99px;background:rgba(110,35,28,.88);color:#fff8dc;font-weight:900;letter-spacing:.08em;box-shadow:0 9px 25px rgba(50,24,16,.2);transition:transform .4s}.stage-banner.show{transform:translate(-50%,0)}.victory-fx{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}.victory-fx.active:before{content:"";position:absolute;left:50%;top:50%;width:70px;height:70px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 30px rgba(255,224,105,.42),0 0 0 85px rgba(255,188,57,.24),0 0 0 160px rgba(255,246,184,.13);animation:victoryPulse 1.4s ease-out infinite}.victory-fx i{position:absolute;top:-20px;width:8px;height:22px;background:#efb33d;animation:confetti 2.2s ease-in forwards}.victory-fx i:nth-child(3n){background:#ad2923}.victory-fx i:nth-child(3n+1){background:#fff0a6}@keyframes victoryPulse{0%{transform:translate(-50%,-50%) scale(.35);opacity:1}100%{transform:translate(-50%,-50%) scale(1.6);opacity:0}}@keyframes confetti{to{transform:translate(var(--drift),580px) rotate(760deg);opacity:.2}}
.subgame#bridgeGame:fullscreen{width:100vw;height:100vh;max-width:none;margin:0;border:0;border-radius:0;padding:18px 28px;background:#f5e6c8;overflow:auto}.subgame#bridgeGame:fullscreen .game-story{display:none}.subgame#bridgeGame:fullscreen .subgame-head{padding-bottom:8px}.subgame#bridgeGame:fullscreen .canvas-wrap{height:calc(100vh - 235px);min-height:300px;aspect-ratio:auto}.subgame#bridgeGame:fullscreen .touch-controls{margin-top:8px}.subgame#bridgeGame:fullscreen .subgame-message{margin:5px 0}
@media(max-width:650px){.subgame#bridgeGame{padding:14px}.subgame#bridgeGame .canvas-wrap{min-height:250px;aspect-ratio:16/10}.game-tools{width:100%;justify-content:stretch}.game-tools button{flex:1;padding:9px 5px}.bridge-hud{overflow:auto}.subgame#bridgeGame:fullscreen{padding:10px}.subgame#bridgeGame:fullscreen .subgame-head h2{font-size:1.5rem}.subgame#bridgeGame:fullscreen .canvas-wrap{height:calc(100vh - 220px)}}
.subgame#bridgeGame .canvas-wrap{aspect-ratio:8/3}
@media(max-width:650px){.subgame#bridgeGame .canvas-wrap{min-height:0;aspect-ratio:8/3}}
