:root{--ink:#241814;--paper:#f2e7cf;--cream:#f8f0dc;--red:#96372d;--red-dark:#66241f;--jade:#294f47;--gold:#c99b52;--muted:#75645b;--line:rgba(65,37,28,.18);--shadow:0 22px 55px rgba(33,18,12,.24);--serif:"Songti SC","STSong","SimSun",serif;--sans:"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);background:#25140f;min-width:320px}button,a{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #f2b85c;outline-offset:3px}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.paper-noise{position:fixed;inset:0;z-index:99;opacity:.14;pointer-events:none;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}

.hero{position:relative;min-height:820px;overflow:hidden;color:#fff7e8;background:radial-gradient(circle at 74% 42%,rgba(238,171,83,.16),transparent 28%),linear-gradient(120deg,rgba(38,17,12,.9),rgba(86,34,24,.75)),repeating-linear-gradient(92deg,#4c241a 0,#51271b 9%,#3d1d16 18%)}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,transparent 25%,rgba(20,7,4,.55) 93%),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,72px 100%}.topbar{height:94px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5;border-bottom:1px solid rgba(255,239,209,.14)}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.brand-seal{display:grid;place-items:center;width:45px;height:45px;border:2px solid #d98d69;border-radius:3px;color:#f0c2a4;font-family:var(--serif);font-size:24px;transform:rotate(-3deg);box-shadow:inset 0 0 0 3px rgba(217,141,105,.18)}.brand b{display:block;font-family:var(--serif);font-size:17px;letter-spacing:.14em}.brand small{display:block;font-size:8px;letter-spacing:.24em;opacity:.58;margin-top:4px}.nav-links{display:flex;gap:38px}.nav-links a{color:#f8ead4;text-decoration:none;font-family:var(--serif);font-size:14px;letter-spacing:.16em;opacity:.78}.nav-links a:hover{opacity:1}.icon-btn{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);padding:8px 12px;color:#f7e6ce;border-radius:999px;cursor:pointer}.icon-btn span{font-size:20px}.icon-btn em{font-style:normal;font-size:11px;opacity:.7}.icon-btn[aria-pressed=false]{opacity:.5}
.hero-content{position:relative;z-index:2;min-height:690px;display:grid;grid-template-columns:.86fr 1.14fr;align-items:center}.hero-copy{padding-bottom:35px}.eyebrow,.kicker{font-family:var(--serif);font-weight:700;letter-spacing:.27em;font-size:11px;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:12px;color:#e5ba76}.eyebrow span{width:30px;height:1px;background:#e5ba76}.hero h1{font-family:var(--serif);font-weight:900;font-size:clamp(70px,8vw,116px);line-height:.86;letter-spacing:-.08em;margin:28px 0 35px;text-shadow:0 8px 30px rgba(0,0,0,.26)}.hero h1 i{font-style:normal;color:#e8b86c;position:relative}.hero h1 i:after{content:"";position:absolute;height:8px;left:5px;right:-16px;bottom:-6px;background:#9e3b2e;border-radius:80%;transform:rotate(-2deg);opacity:.8}.hero-lead{font-family:var(--serif);font-size:18px;line-height:1.85;color:#e7d5bd;letter-spacing:.08em}.hero-lead strong{color:#f2bd67;font-size:22px}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:33px}.primary-btn{border:0;color:#fff7e8;background:linear-gradient(145deg,#ad4737,#812c25);box-shadow:0 9px 0 #4f1b17,0 18px 28px rgba(19,5,4,.32),inset 0 1px rgba(255,255,255,.18);min-height:58px;padding:0 25px;border-radius:6px;font-family:var(--serif);font-weight:800;font-size:17px;letter-spacing:.13em;cursor:pointer;transition:.18s transform,.18s box-shadow}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 11px 0 #4f1b17,0 20px 30px rgba(19,5,4,.36),inset 0 1px rgba(255,255,255,.18)}.primary-btn:active{transform:translateY(6px);box-shadow:0 3px 0 #4f1b17}.primary-btn kbd{font:10px var(--sans);letter-spacing:0;border:1px solid rgba(255,255,255,.2);border-radius:3px;padding:3px 5px;margin-left:10px;opacity:.55}.dice-mark{font-size:22px;margin-right:8px}.text-link{color:#f6dfbf;text-decoration:none;border-bottom:1px solid rgba(246,223,191,.3);padding-bottom:4px;font-size:13px}.text-link span{color:#e5ad55}.hero-stats{display:flex;gap:28px;margin-top:58px}.hero-stats span{padding-right:28px;border-right:1px solid rgba(255,255,255,.12)}.hero-stats span:last-child{border:0}.hero-stats b{font:700 27px var(--serif);color:#e8bc79}.hero-stats small{display:block;color:#c7b6a2;font-size:10px;letter-spacing:.13em;margin-top:4px}
.hero-tableau{height:610px;position:relative;transform:translateX(15px)}.hero-tableau:before{content:"";position:absolute;width:610px;height:410px;right:-40px;bottom:42px;background:radial-gradient(ellipse,rgba(230,142,62,.2),transparent 67%);filter:blur(15px)}.decor-card{position:absolute;border:1px solid rgba(255,236,198,.35);border-radius:13px;padding:26px;color:#fff4dd;box-shadow:0 35px 65px rgba(13,3,2,.45),inset 0 0 0 5px rgba(255,255,255,.035);overflow:hidden}.decor-card:before{content:"";position:absolute;inset:0;opacity:.33;background-image:radial-gradient(circle at 15% 12%,rgba(255,215,150,.7),transparent 24%),repeating-linear-gradient(40deg,transparent 0 10px,rgba(255,255,255,.025) 11px)}.decor-card>*{position:relative}.decor-card small{display:block;font:11px var(--serif);letter-spacing:.22em;color:#efbd76}.decor-card b{display:block;font:900 34px var(--serif);margin:12px 0}.decor-card span{font:12px var(--serif);letter-spacing:.1em;opacity:.76}.decor-province{width:230px;height:330px;left:10px;top:145px;transform:rotate(-10deg);background:linear-gradient(145deg,#742c26,#b34832 48%,#694031)}.decor-province b{font-size:52px;margin-top:42px}.decor-dish{width:290px;height:420px;left:203px;top:72px;z-index:2;transform:rotate(4deg);background:linear-gradient(155deg,#c77e45,#70271f 58%,#301813)}.painted-bowl{height:210px;margin:-26px -26px 20px;display:grid;place-items:center;font:900 74px var(--serif);color:rgba(255,246,216,.8);background:radial-gradient(ellipse at 50% 65%,#dba84f 0 9%,#9b3322 10% 23%,#e9c27b 24% 29%,#314432 30% 40%,transparent 41%),radial-gradient(circle at 45% 40%,#e4a63d,#6f251a 58%,#25130e);filter:saturate(.84)}.decor-dish b{font-size:30px}.decor-event{width:178px;height:260px;right:0;top:198px;transform:rotate(13deg);background:linear-gradient(150deg,#26483f,#59745a 58%,#302c22)}.decor-event b{font-size:23px;line-height:1.35;margin-top:35px}.chopsticks{position:absolute;right:8px;bottom:53px;width:270px;height:10px;border-radius:8px;background:linear-gradient(#cc9a60,#6c391f);transform:rotate(-24deg);box-shadow:0 16px 0 #8c4c2d}.porcelain-bowl{position:absolute;left:34px;bottom:5px;width:170px;height:76px;border-radius:10px 10px 90px 90px;background:linear-gradient(100deg,#d4c4a7,#fff6dc 48%,#a88966);box-shadow:0 20px 25px rgba(0,0,0,.35)}.porcelain-bowl:before{content:"";position:absolute;width:184px;height:36px;left:-7px;top:-14px;border-radius:50%;background:radial-gradient(ellipse,#3b241b 0 50%,#e9dec6 53% 65%,#7a5c42 68%)}.porcelain-bowl i{position:absolute;z-index:2;top:7px;left:32px;width:105px;height:6px;border-radius:50%;background:rgba(133,57,42,.35)}.steam{position:absolute;bottom:98px;width:40px;height:170px;border-left:5px solid rgba(255,241,211,.14);border-radius:50%;filter:blur(4px)}.steam-one{left:92px;transform:rotate(10deg)}.steam-two{left:154px;height:140px;transform:rotate(-8deg)}.hero-border{position:absolute;bottom:0;left:0;right:0;height:26px;background:linear-gradient(135deg,#ab7b43 25%,transparent 25%) -12px 0/24px 24px,linear-gradient(225deg,#ab7b43 25%,transparent 25%) -12px 0/24px 24px,linear-gradient(315deg,#ab7b43 25%,transparent 25%) 0 0/24px 24px,linear-gradient(45deg,#ab7b43 25%,#ead8b7 25%) 0 0/24px 24px}

.game-section{position:relative;padding:105px 0 115px;background:var(--paper);background-image:radial-gradient(circle at 20% 10%,rgba(168,80,47,.08),transparent 26%),linear-gradient(rgba(98,68,48,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(98,68,48,.025) 1px,transparent 1px);background-size:auto,28px 28px,28px 28px}.section-heading.center{text-align:center;margin-bottom:42px}.kicker{color:var(--red)}.section-heading h2{font:900 clamp(32px,4vw,48px) var(--serif);letter-spacing:.06em;margin:14px 0}.section-heading>p{color:var(--muted);font:15px/1.8 var(--serif)}.filter-panel{background:rgba(255,250,237,.6);border:1px solid var(--line);border-radius:10px;padding:18px 24px 20px;margin-bottom:28px;box-shadow:0 8px 24px rgba(84,48,30,.05)}.filter-title{display:flex;align-items:center;gap:11px;margin-bottom:14px}.filter-title div{display:flex;flex-direction:column}.filter-title b{font:800 15px var(--serif)}.filter-title small{font-size:9px;color:var(--muted);margin-top:2px}.filter-title button{margin-left:auto;border:0;background:0;color:var(--red);font-size:11px;cursor:pointer}.filter-seal{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--jade);color:#fff7e6;font:17px var(--serif)}.region-row{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px}.region-row button,.filter-grid label{white-space:nowrap;border:1px solid var(--line);background:#fbf4e5;border-radius:4px;min-height:34px;padding:0 13px;cursor:pointer;font-size:12px;color:#66564d;transition:.18s}.region-row button.active{background:var(--red);color:#fff5df;border-color:var(--red);box-shadow:0 4px 10px rgba(122,39,31,.18)}.filter-grid{display:flex;gap:7px;flex-wrap:wrap;padding-top:10px;margin-top:10px;border-top:1px dashed var(--line)}.filter-grid input{position:absolute;opacity:0;pointer-events:none}.filter-grid label{display:flex;align-items:center;gap:6px}.filter-grid label:before{content:"";width:11px;height:11px;border:1px solid #aa9484;border-radius:2px}.filter-grid label:has(input:checked){background:#385c52;color:#fff;border-color:#385c52}.filter-grid label:has(input:checked):before{content:"✓";display:grid;place-items:center;font-size:9px;border-color:#e7d6b3}.filter-status{font-size:10px;color:#8a6d59;margin:10px 0 0;min-height:13px}
.game-board{position:relative;padding:26px;border:1px solid rgba(255,235,200,.16);border-radius:16px;color:#f8efdc;background:radial-gradient(circle at 50% 20%,rgba(208,152,72,.13),transparent 33%),repeating-linear-gradient(93deg,rgba(255,255,255,.018) 0 2px,transparent 2px 67px),linear-gradient(135deg,#3b211a,#241713 55%,#45251b);box-shadow:var(--shadow),inset 0 0 0 7px rgba(109,69,42,.35),inset 0 0 55px rgba(0,0,0,.35)}.board-topline{display:flex;align-items:center;gap:20px;padding:0 6px 20px;font:10px var(--serif);letter-spacing:.2em;color:#bda993;text-transform:uppercase}.board-topline b{color:#e1b66f;font-weight:400}.board-topline span:last-child{margin-left:auto}.cards-stage{display:grid;grid-template-columns:.77fr 1.35fr .7fr;gap:18px;align-items:stretch;min-height:540px}.game-card{position:relative;border-radius:12px;overflow:hidden;border:1px solid rgba(255,246,218,.23);box-shadow:0 19px 35px rgba(9,3,2,.34);background:#6f3427;transform-style:preserve-3d}.game-card:after{content:"";position:absolute;inset:6px;border:1px solid rgba(255,244,212,.19);border-radius:8px;pointer-events:none}.game-card.draw-anim{animation:shuffle .52s ease both}.game-card.flip-anim{animation:flip .72s cubic-bezier(.22,.75,.22,1) both}.card-visual{position:relative;height:46%;min-height:210px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;background-color:#743e2d;background-image:radial-gradient(circle at 65% 30%,rgba(255,215,135,.55),transparent 16%),linear-gradient(145deg,var(--card-a,#913f2f),var(--card-b,#d19a55))}.card-visual:before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-radial-gradient(ellipse at 70% 30%,transparent 0 10px,rgba(255,255,255,.04) 12px 15px),linear-gradient(35deg,transparent 40%,rgba(255,246,210,.1));mix-blend-mode:overlay}.card-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.card-visual .big-symbol{align-self:center;margin:auto;font:900 72px var(--serif);color:rgba(255,247,221,.86);text-shadow:0 4px 18px rgba(44,13,7,.35)}.card-label{align-self:flex-start;padding:5px 8px;background:rgba(39,18,13,.58);backdrop-filter:blur(4px);border-radius:3px;font:9px var(--serif);letter-spacing:.18em}.card-content{padding:22px 22px 27px}.card-content h3{font:900 29px/1.1 var(--serif);margin:4px 0 9px;letter-spacing:.03em}.card-content p{font:12px/1.75 var(--serif);color:#d9c9b3;margin:0}.province-card{background:linear-gradient(160deg,#693328,#321c17)}.province-card .card-visual{height:50%}.province-meta{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}.province-meta span,.dish-tags span{font-size:9px;border:1px solid rgba(255,255,255,.15);padding:4px 7px;border-radius:999px;color:#e7d1b0}.province-list{margin-top:13px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);font-size:10px;color:#baa792;line-height:1.7}.dish-card{background:linear-gradient(165deg,#f1e1bf,#d5b98a);color:#291811}.dish-card:after{border-color:rgba(83,49,29,.2)}.dish-card .card-visual{height:48%;min-height:255px}.dish-card .card-content{padding:20px 26px}.dish-card .card-content p{color:#6d594d}.dish-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.dish-head h3{font-size:35px}.dish-place{color:var(--red);font:800 11px var(--serif);letter-spacing:.13em}.dish-rating{font-size:10px;color:#7b6759;border:1px solid rgba(88,57,36,.2);padding:5px 7px;border-radius:3px}.dish-tags{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0 14px}.dish-tags span{color:#765740;border-color:rgba(91,59,37,.2);background:rgba(255,255,255,.25)}.dish-stats{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(85,54,33,.13);border-bottom:1px solid rgba(85,54,33,.13);padding:11px 0;margin:12px 0}.dish-stats span{text-align:center;border-right:1px solid rgba(85,54,33,.12);font-size:10px;color:#795f4d}.dish-stats span:last-child{border:0}.dish-stats b{display:block;color:#351e15;font:800 12px var(--serif);margin-top:3px}.dish-footer{display:flex;justify-content:space-between;align-items:center;margin-top:13px;gap:12px}.video-link{position:relative;z-index:3;text-decoration:none;color:#fff8e7;background:#923a2f;padding:9px 13px;border-radius:4px;font-size:11px;white-space:nowrap}.side-cards{display:grid;grid-template-rows:1fr 1fr;gap:18px}.fate-card{min-height:0}.fate-card .card-visual{height:42%;min-height:105px;padding:15px}.fate-card .card-visual .big-symbol{font-size:38px}.fate-card .card-content{padding:16px 17px}.fate-card .card-content h3{font-size:17px;line-height:1.35}.fate-card .card-content p{font-size:10px}.event-card{background:linear-gradient(160deg,#713128,#351b18)}.challenge-card{background:linear-gradient(160deg,#28453f,#172824)}.is-placeholder{background:repeating-linear-gradient(45deg,#4b2b20 0 8px,#3d241c 8px 16px)}.is-placeholder:before{content:"今天吃什么？";position:absolute;inset:14px;display:grid;place-items:center;border:1px solid rgba(239,207,150,.25);border-radius:8px;color:#d9af69;font:900 22px var(--serif);letter-spacing:.12em;background:radial-gradient(circle,rgba(202,149,78,.14),transparent 55%)}.dish-card.is-placeholder:before{font-size:32px}.board-message{text-align:center;color:#d5b982;font:13px var(--serif);letter-spacing:.08em;padding:21px 0 6px}.main-actions{display:flex;justify-content:center;gap:12px;padding:14px 0}.main-actions .primary-btn{min-width:210px}.secondary-btn{border:1px solid rgba(255,255,255,.18);color:#e8d7be;background:rgba(255,255,255,.05);border-radius:5px;padding:0 19px;cursor:pointer}.redraw-actions,.utility-actions{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap}.redraw-actions{padding:15px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.redraw-actions span{font-size:9px;color:#917f6d;letter-spacing:.18em;margin-right:6px}.redraw-actions button,.utility-actions button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035);color:#c8b69e;border-radius:4px;padding:7px 12px;font-size:10px;cursor:pointer}.redraw-actions button:hover,.utility-actions button:hover{background:rgba(255,255,255,.09);color:#fff}.utility-actions{padding-top:15px}.game-board.no-results{animation:shake .4s ease}

.video-link.xia-video{background:#b44236;box-shadow:inset 0 0 0 1px rgba(255,226,186,.18)}.xia-watermark{position:absolute;right:18px;bottom:17px;z-index:3;display:grid;place-items:center;width:48px;height:48px;border:3px double rgba(255,235,207,.88);border-radius:7px;color:#fff3de;background:rgba(169,36,30,.9);box-shadow:0 4px 14px rgba(43,9,5,.42),inset 0 0 0 2px rgba(119,18,15,.35);font:900 27px/1 var(--serif);transform:rotate(-7deg);text-shadow:0 1px 0 #762019}

/* 三幅原创油画随开饭轮换，保持牌面清晰，也避免牌局区永远使用同一张背景。 */
.game-section{--game-art:url("assets/ui/game-section-north-kitchen.webp");isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#f3e7cd,#ead8b6 52%,#f0e2c5)}.game-section.game-art-north{--game-art:url("assets/ui/game-section-north-kitchen.webp")}.game-section.game-art-south{--game-art:url("assets/ui/game-section-south-courtyard.webp")}.game-section.game-art-city{--game-art:url("assets/ui/game-section-city-dining.webp")}.game-section:before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background-image:var(--game-art);background-size:cover;background-position:center top;filter:saturate(.8) contrast(.88);opacity:.34;mix-blend-mode:multiply}.game-section:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(246,235,212,.72) 0%,rgba(238,220,186,.86) 36%,rgba(238,223,195,.78) 72%,rgba(246,235,214,.88) 100%),radial-gradient(ellipse at center,rgba(255,247,226,.7),transparent 66%)}.game-section>.shell{position:relative;z-index:1}

.weekly-section{padding:105px 0;background:#d8c59f;color:#2c211b;background-image:radial-gradient(circle at 88% 8%,rgba(150,55,45,.13),transparent 28%),linear-gradient(90deg,rgba(74,48,31,.045) 1px,transparent 1px);background-size:auto,38px 38px}.planner-heading{margin-bottom:28px}.planner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:20px 22px;border:1px solid rgba(72,46,29,.2);border-radius:10px;background:rgba(255,246,224,.58);box-shadow:0 12px 28px rgba(65,38,22,.08)}.pregnancy-option{display:flex;align-items:center;gap:13px;cursor:pointer}.pregnancy-option input{position:absolute;opacity:0}.toggle-track{position:relative;flex:0 0 auto;width:52px;height:29px;border-radius:999px;background:#8f8371;box-shadow:inset 0 1px 4px rgba(0,0,0,.22);transition:.2s}.toggle-track i{position:absolute;left:4px;top:4px;width:21px;height:21px;border-radius:50%;background:#fff5df;box-shadow:0 2px 5px rgba(0,0,0,.25);transition:.2s}.pregnancy-option input:checked+.toggle-track{background:#3f6559}.pregnancy-option input:checked+.toggle-track i{transform:translateX(23px)}.pregnancy-option input:focus-visible+.toggle-track{outline:3px solid #a33b30;outline-offset:3px}.pregnancy-option b{display:block;font:800 15px var(--serif);color:#3b2921}.pregnancy-option small{display:block;margin-top:4px;color:#786657;font-size:10px}.planner-actions{display:flex;align-items:center;gap:10px}.planner-actions .primary-btn{min-height:50px;font-size:14px}.planner-copy{min-height:50px;padding:0 16px;border:1px solid rgba(72,46,29,.2);border-radius:5px;background:#eee0c4;color:#654d3d;cursor:pointer}.week-overview{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 14px;padding:14px 18px;border-left:4px solid #96372d;background:rgba(255,248,232,.48);font:12px/1.65 var(--serif);color:#685445}.week-overview b{color:#8b3028}.week-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.day-menu{position:relative;overflow:hidden;min-height:375px;border:1px solid rgba(77,48,30,.18);border-radius:9px;background:#f2e6ce;box-shadow:0 13px 28px rgba(58,34,20,.1)}.day-menu:before{content:"";position:absolute;inset:6px;border:1px solid rgba(105,70,43,.12);border-radius:5px;pointer-events:none}.day-head{display:flex;align-items:end;justify-content:space-between;padding:18px 18px 13px;color:#fff3dd;background:linear-gradient(130deg,#58372a,#8b3a2e)}.day-head b{font:900 20px var(--serif);letter-spacing:.08em}.day-head span{font-size:10px;color:#ddc39c}.day-meals{padding:7px 17px 17px}.meal-block{position:relative;padding:13px 0;border-bottom:1px dashed rgba(80,51,33,.18)}.meal-block:last-child{border-bottom:0}.meal-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;color:#8d332b;font:800 10px var(--serif);letter-spacing:.15em}.meal-title em{padding:3px 6px;border:1px solid rgba(146,55,45,.28);border-radius:3px;font:normal 8px var(--sans);letter-spacing:.05em;background:#f8ead0}.meal-food{font:12px/1.65 var(--serif);color:#4d392d}.meal-food a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(88,54,35,.18)}.meal-food a:hover{color:#9b382f}.meal-food span{display:block}.meal-food .feast-dish{color:#9b3028;font-weight:900}.meal-food .feast-dish:after{content:" 大菜";display:inline-block;margin-left:5px;padding:1px 4px;border-radius:2px;background:#a23c31;color:#fff2dc;font:7px var(--sans);vertical-align:2px}.planner-safety-note{margin:17px 0 0;color:#725e50;font-size:10px;line-height:1.7}.planner-safety-note:before{content:"安";display:inline-grid;place-items:center;width:22px;height:22px;margin-right:8px;border-radius:50%;background:#42675b;color:#fff4dc;font:12px var(--serif)}

.journal-section{padding:100px 0;background:#e8d8b8;color:#302019;background-image:linear-gradient(90deg,rgba(106,68,40,.045) 1px,transparent 1px);background-size:36px}.section-heading.split{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:35px}.section-heading.split h2{margin-bottom:0}.section-heading.split>p{max-width:450px;margin:0}.kicker.dark{color:#76532f}.journal-tabs{display:flex;border-bottom:1px solid rgba(70,43,28,.22)}.journal-tabs button{border:0;background:0;padding:13px 22px;font:700 14px var(--serif);cursor:pointer;color:#786656;border-bottom:3px solid transparent}.journal-tabs button.active{color:#822f27;border-color:#8f342c}.journal-tabs span{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:50%;background:rgba(76,47,31,.1);font:10px var(--sans);margin-left:5px}.tab-panel{display:none;padding-top:22px;min-height:240px}.tab-panel.active{display:block}.panel-toolbar{display:flex;align-items:center;justify-content:space-between}.panel-toolbar p{font-size:11px;color:#806c59}.danger-link{border:0;background:0;color:#93372e;font-size:11px;cursor:pointer}.record-list{display:grid;gap:10px}.record{display:grid;grid-template-columns:70px 1fr auto;gap:17px;align-items:center;padding:15px 18px;background:rgba(255,249,234,.55);border:1px solid rgba(76,47,31,.13);border-radius:6px}.record-symbol{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:#fff8e4;font:800 19px var(--serif);background:linear-gradient(145deg,var(--r-a,#8e3a2f),var(--r-b,#ce8b4e));box-shadow:inset 0 0 0 4px rgba(255,255,255,.13)}.record-main b{font:800 17px var(--serif)}.record-main small{display:block;color:#8b7563;font-size:10px;margin-top:4px}.record-sub{font-size:10px;color:#786354;margin-top:6px}.record-actions{display:flex;align-items:center;gap:6px}.record-actions button{border:1px solid rgba(71,43,27,.15);background:#f2e6cf;border-radius:4px;padding:7px 9px;cursor:pointer;color:#745c4d}.record-stars{display:flex}.record-stars button{border:0;background:0;padding:2px;color:#af9781;font-size:18px}.record-stars button.on{color:#b66d32}.empty-state{text-align:center;border:1px dashed rgba(69,43,27,.22);padding:55px 20px;color:#8c7763;font:14px var(--serif)}.empty-state b{display:block;font-size:35px;color:#b18a58;margin-bottom:10px}.achievement-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.achievement{position:relative;text-align:center;padding:22px 10px;background:rgba(255,249,234,.55);border:1px solid rgba(76,47,31,.14);border-radius:7px;filter:grayscale(.9);opacity:.52}.achievement.unlocked{filter:none;opacity:1;box-shadow:0 8px 20px rgba(75,46,28,.07)}.achievement-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;margin:0 auto 12px;background:#7c392e;color:#f3d5a1;border:4px double #d1a258;font:22px var(--serif)}.achievement b{display:block;font:800 14px var(--serif)}.achievement small{display:block;color:#877360;font-size:9px;line-height:1.5;margin-top:6px}.achievement.unlocked:after{content:"已解锁";position:absolute;right:6px;top:6px;color:#8d362e;font-size:8px;transform:rotate(8deg);border:1px solid #a74c40;padding:2px}
.rules-section{padding:105px 0;background:#45251c;color:#f4e9d6;background-image:radial-gradient(circle at 75% 20%,rgba(198,142,72,.14),transparent 25%),repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 70px)}.rules-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:80px}.rule-book h2{font:900 45px var(--serif);margin:14px 0 32px}.rule-book ol{padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;list-style:none}.rule-book li{display:flex;gap:16px;padding:20px 0;border-top:1px solid rgba(255,255,255,.1)}.rule-book li>span{font:22px var(--serif);color:#ce9b54}.rule-book b{font:700 15px var(--serif)}.rule-book p{margin:6px 0 0;color:#baa996;font:11px/1.65 var(--serif)}.rule-aside{position:relative;border:1px solid rgba(231,195,136,.25);padding:70px 42px 38px;background:rgba(21,10,7,.18)}.round-seal{position:absolute;right:28px;top:-25px;display:grid;place-items:center;width:72px;height:72px;border:3px double #b85a42;border-radius:50%;color:#e2a07e;font:900 19px/1.1 var(--serif);transform:rotate(7deg)}.rule-aside blockquote{font:900 31px/1.5 var(--serif);margin:0;color:#e5b66b}.rule-aside>p{font:13px/1.9 var(--serif);color:#cab9a3;margin:24px 0}.rule-note{border-top:1px solid rgba(255,255,255,.12);padding-top:20px}.rule-note b{display:block;color:#e1bc83;font:13px var(--serif)}.rule-note span{display:block;color:#a99783;font-size:10px;line-height:1.6;margin-top:6px}footer{background:#1d100d;color:#b7a28a;padding:35px 0}footer .shell{display:flex;align-items:center;justify-content:space-between}footer p{font:11px var(--serif);letter-spacing:.08em}footer a{color:#b7a28a;font-size:10px;text-decoration:none}
.toast{position:fixed;left:50%;bottom:28px;z-index:100;transform:translate(-50%,30px);opacity:0;background:#241713;color:#f7e8cd;border:1px solid rgba(255,255,255,.14);box-shadow:0 12px 35px rgba(0,0,0,.3);border-radius:999px;padding:11px 18px;font-size:11px;transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}#confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti-piece{position:absolute;top:58%;width:7px;height:13px;background:var(--c);animation:confetti 1.35s ease-out forwards}.mobile-nav{display:none}
/* 原创厚涂油画资产：首屏主视觉与四类卡牌拥有真实本地图像，缺少单卡插图时仍保持统一美术。 */
.hero{background:linear-gradient(90deg,rgba(25,11,8,.97) 0%,rgba(34,15,10,.84) 27%,rgba(35,14,8,.24) 59%,rgba(24,9,5,.12) 100%),linear-gradient(0deg,rgba(28,10,6,.46),transparent 48%),url("assets/ui/hero-oil.webp") center/cover no-repeat}
.hero-tableau{visibility:hidden}
.province-card .card-visual{background-image:linear-gradient(0deg,rgba(54,22,13,.3),rgba(54,22,13,.04)),url("assets/ui/province-oil.webp");background-size:cover;background-position:center}
.province-card .card-visual.province-art-north{background-image:linear-gradient(0deg,rgba(54,22,13,.32),transparent 58%),url("assets/ui/region-north.webp")}
.province-card .card-visual.province-art-east{background-image:linear-gradient(0deg,rgba(32,49,46,.34),transparent 58%),url("assets/ui/region-east.webp")}
.province-card .card-visual.province-art-south{background-image:linear-gradient(0deg,rgba(62,22,12,.35),transparent 58%),url("assets/ui/region-south.webp")}
.province-card .card-visual.province-art-west{background-image:linear-gradient(0deg,rgba(39,31,18,.34),transparent 58%),url("assets/ui/region-west.webp")}
.dish-card .card-visual{background-image:linear-gradient(0deg,rgba(45,19,10,.32),transparent 58%),url("assets/ui/dish-oil.webp");background-size:cover;background-position:center}
.dish-card .card-visual.dish-art-noodle{background-image:linear-gradient(0deg,rgba(45,19,10,.32),transparent 58%),url("assets/ui/dish-noodle.webp")}
.dish-card .card-visual.dish-art-soup{background-image:linear-gradient(0deg,rgba(45,19,10,.32),transparent 58%),url("assets/ui/dish-soup.webp")}
.dish-card .card-visual.dish-art-vegetable{background-image:linear-gradient(0deg,rgba(45,19,10,.32),transparent 58%),url("assets/ui/dish-vegetable.webp")}
.dish-card .card-visual.dish-art-meat{background-image:linear-gradient(0deg,rgba(45,19,10,.32),transparent 58%),url("assets/ui/dish-meat.webp")}
.event-card .card-visual{background-image:linear-gradient(0deg,rgba(53,18,13,.36),transparent),url("assets/ui/event-oil.webp");background-size:cover;background-position:center}
.challenge-card .card-visual{background-image:linear-gradient(0deg,rgba(18,36,31,.42),transparent),url("assets/ui/challenge-oil.webp");background-size:cover;background-position:center}
.event-card .card-visual.event-art-market{background-image:linear-gradient(0deg,rgba(53,18,13,.38),transparent 60%),url("assets/ui/event-market.webp")}
.event-card .card-visual.event-art-family{background-image:linear-gradient(0deg,rgba(53,18,13,.38),transparent 60%),url("assets/ui/event-family.webp")}
.challenge-card .card-visual.challenge-art-timer{background-image:linear-gradient(0deg,rgba(18,36,31,.46),transparent 60%),url("assets/ui/challenge-timer.webp")}
.challenge-card .card-visual.challenge-art-fridge{background-image:linear-gradient(0deg,rgba(18,36,31,.46),transparent 60%),url("assets/ui/challenge-fridge.webp")}
.card-visual .big-symbol{opacity:.7;text-shadow:0 3px 18px rgba(20,8,4,.88)}
.is-placeholder{background:linear-gradient(145deg,rgba(51,24,17,.67),rgba(31,18,14,.88)),url("assets/ui/card-art-atlas.webp") center/cover}
.is-placeholder:before{color:#f0c987;background:radial-gradient(circle,rgba(55,23,14,.25),rgba(29,13,9,.7));text-shadow:0 3px 15px #180a06}

/* 卡牌图像降为整卡背景；渐变蒙版统一图文基线，让内容先于插画被读到。 */
.game-card:not(.is-placeholder){display:flex;flex-direction:column}.game-card:not(.is-placeholder):after{z-index:5}.game-card:not(.is-placeholder) .card-visual{position:absolute;inset:0;z-index:0;width:100%;height:auto!important;min-height:0!important;padding:0;overflow:hidden;display:block;pointer-events:none;background-size:cover;background-position:center}.game-card:not(.is-placeholder) .card-visual img{z-index:0;filter:saturate(.76) contrast(.9) brightness(.82);transform:scale(1.015)}.game-card:not(.is-placeholder) .card-visual:before{inset:0;z-index:1;mix-blend-mode:normal;background:linear-gradient(180deg,rgba(24,10,7,.06) 0%,rgba(29,13,9,.18) 25%,rgba(33,16,11,.65) 50%,rgba(35,18,13,.96) 78%)}.game-card:not(.is-placeholder) .card-label{position:absolute;left:18px;top:18px;z-index:3;align-self:auto;background:rgba(32,15,10,.72);box-shadow:0 4px 15px rgba(20,8,4,.18)}.game-card:not(.is-placeholder) .big-symbol{position:absolute;z-index:2;top:16%;left:50%;margin:0;transform:translateX(-50%);font-size:54px;opacity:.3;color:#fff0cf}.game-card:not(.is-placeholder) .card-content{position:relative;z-index:2;display:flex;flex-direction:column;margin-top:auto;width:100%}
.province-card:not(.is-placeholder) .card-content{min-height:66%;padding:54px 25px 27px;background:linear-gradient(180deg,transparent 0%,rgba(65,31,23,.88) 18%,rgba(55,27,21,.98) 42%)}.province-card:not(.is-placeholder) .province-meta{margin:12px 0}.province-card:not(.is-placeholder) .province-list{margin-top:auto}.province-card:not(.is-placeholder) .card-content h3{margin-top:2px}.province-card:not(.is-placeholder) .card-visual:before{background:linear-gradient(180deg,rgba(22,11,8,.02) 0%,rgba(36,18,13,.2) 25%,rgba(54,27,20,.83) 48%,rgba(54,27,20,.98) 72%)}
.dish-card:not(.is-placeholder) .card-content{min-height:68%;padding:58px 28px 25px;background:linear-gradient(180deg,transparent 0%,rgba(239,222,185,.9) 17%,rgba(237,218,178,.985) 40%)}.dish-card:not(.is-placeholder) .card-visual:before{background:linear-gradient(180deg,rgba(34,16,9,.02) 0%,rgba(35,17,10,.12) 26%,rgba(230,208,166,.75) 47%,rgba(237,218,178,.97) 70%)}.dish-card:not(.is-placeholder) .card-visual img{filter:saturate(.7) contrast(.88) brightness(.88)}.dish-card:not(.is-placeholder) .dish-head{align-items:flex-start}.dish-card:not(.is-placeholder) .dish-head>div{min-width:0}.dish-card:not(.is-placeholder) .dish-head h3{margin-top:7px;line-height:1.08}.dish-card:not(.is-placeholder) .dish-rating{margin-top:2px}.dish-card:not(.is-placeholder) .dish-footer{margin-top:auto;padding-top:4px}.dish-card:not(.is-placeholder) .xia-watermark{top:18px;right:18px;bottom:auto;z-index:4;width:43px;height:43px;font-size:24px}
.fate-card:not(.is-placeholder) .card-content{min-height:66%;padding:46px 18px 18px;background:linear-gradient(180deg,transparent 0%,rgba(67,29,24,.9) 20%,rgba(55,25,21,.985) 48%)}.challenge-card:not(.is-placeholder) .card-content{background:linear-gradient(180deg,transparent 0%,rgba(25,58,50,.9) 20%,rgba(22,48,42,.985) 48%)}.fate-card:not(.is-placeholder) .card-visual:before{background:linear-gradient(180deg,rgba(20,9,6,.02) 0%,rgba(26,12,9,.18) 28%,rgba(55,25,21,.86) 51%,rgba(55,25,21,.98) 76%)}.challenge-card:not(.is-placeholder) .card-visual:before{background:linear-gradient(180deg,rgba(9,25,21,.02) 0%,rgba(11,33,28,.18) 28%,rgba(22,48,42,.86) 51%,rgba(22,48,42,.98) 76%)}.fate-card:not(.is-placeholder) .big-symbol{top:14%;font-size:34px}.fate-card:not(.is-placeholder) .card-content h3{margin:0 0 10px;min-height:2.7em;display:flex;align-items:flex-end}.fate-card:not(.is-placeholder) .card-content p{margin:0}.side-cards .fate-card:not(.is-placeholder){min-height:0}

@keyframes shuffle{0%{transform:translateX(0) rotate(0)}30%{transform:translateX(-10px) rotate(-2deg)}60%{transform:translateX(9px) rotate(2deg)}100%{transform:translateX(0) rotate(0)}}@keyframes flip{0%{transform:perspective(900px) rotateY(90deg) scale(.94);opacity:.4}100%{transform:perspective(900px) rotateY(0) scale(1);opacity:1}}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}@keyframes confetti{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(var(--x),var(--y)) rotate(540deg);opacity:0}}

@media(max-width:980px){.hero{min-height:1000px}.hero-content{grid-template-columns:1fr;align-content:center}.hero-copy{padding-top:60px;max-width:590px}.hero-tableau{width:650px;max-width:100%;margin:auto;height:520px;transform:scale(.85);transform-origin:center top}.cards-stage{grid-template-columns:.72fr 1.28fr}.side-cards{grid-column:1/-1;grid-template-columns:1fr 1fr;grid-template-rows:auto}.fate-card{min-height:250px}.cards-stage{min-height:0}.achievement-grid{grid-template-columns:repeat(3,1fr)}.rules-layout{gap:40px}.nav-links{display:none}}
@media(max-width:700px){.shell{width:min(100% - 24px,1180px)}.topbar{height:76px}.hero{min-height:900px}.hero-content{display:block;padding-top:75px}.hero h1{font-size:67px}.hero-lead{font-size:15px}.hero-tableau{height:370px;transform:scale(.62);width:620px;left:50%;margin-left:-310px}.hero-actions kbd{display:none}.hero-stats{margin-top:40px}.hero-stats span{padding-right:15px}.hero-stats{gap:15px}.game-section,.journal-section,.rules-section{padding:72px 0}.section-heading h2{font-size:32px}.filter-panel{padding:15px 13px}.cards-stage{display:flex;flex-direction:column}.game-board{padding:16px 12px}.province-card{min-height:480px}.dish-card{min-height:600px;order:-1}.side-cards{display:grid}.fate-card{min-height:280px}.main-actions{flex-direction:column}.main-actions button{min-height:54px}.secondary-btn{padding:14px}.dish-stats{grid-template-columns:repeat(3,1fr);gap:9px 0}.dish-stats span:nth-child(3){border:0}.section-heading.split{display:block}.section-heading.split>p{margin-top:15px}.journal-tabs button{padding:11px 9px;font-size:12px}.record{grid-template-columns:48px 1fr}.record-symbol{width:43px;height:43px}.record-actions{grid-column:1/-1;justify-content:flex-end;border-top:1px dashed rgba(0,0,0,.12);padding-top:8px}.achievement-grid{grid-template-columns:repeat(2,1fr)}.rules-layout{grid-template-columns:1fr}.rule-book ol{grid-template-columns:1fr}.rule-aside{padding:55px 28px 30px}footer .shell{flex-direction:column;gap:20px;text-align:center}}
@media(max-width:430px){.hero h1{font-size:60px}.hero-actions{gap:15px}.primary-btn{padding:0 18px}.hero-stats small{font-size:8px}.side-cards{grid-template-columns:1fr}.fate-card{min-height:265px}.dish-footer{align-items:flex-start;flex-direction:column}.video-link{width:100%;text-align:center}.utility-actions button{flex:1}.achievement-grid{grid-template-columns:1fr 1fr}}
@media(max-width:980px){.week-grid{grid-template-columns:repeat(2,1fr)}.planner-toolbar{align-items:flex-start;flex-direction:column}.planner-actions{width:100%}}
@media(max-width:700px){.weekly-section{padding:72px 0}.week-grid{grid-template-columns:1fr}.planner-toolbar{padding:17px 14px}.pregnancy-option{align-items:flex-start}.pregnancy-option small{line-height:1.5}.planner-actions{flex-direction:column}.planner-actions button{width:100%}.week-overview{display:block}.day-menu{min-height:0}}
@media(max-width:700px){
  html{scroll-padding-top:12px}body{padding-bottom:calc(70px + env(safe-area-inset-bottom));overflow-x:hidden}button,a{touch-action:manipulation}.shell{width:min(100% - 24px,1180px)}
  .topbar{height:70px}.topbar .brand-seal{width:39px;height:39px;font-size:20px}.topbar .brand b{font-size:14px}.topbar .brand small{display:none}.icon-btn{min-width:44px;min-height:44px;padding:7px 10px}.icon-btn em{display:none}
  .hero{min-height:650px;background-position:68% center}.hero-content{min-height:auto;display:block;padding:74px 0 60px}.hero-copy{padding:0}.hero-tableau{display:none}.eyebrow{font-size:9px;letter-spacing:.2em}.hero h1{font-size:clamp(58px,19vw,76px);margin:25px 0 28px}.hero-lead{font-size:14px;line-height:1.75}.hero-lead strong{font-size:18px}.hero-actions{flex-direction:column;align-items:stretch;gap:18px;margin-top:28px}.hero-actions .primary-btn{width:100%;min-height:56px}.hero-actions .text-link{align-self:center}.hero-stats{justify-content:space-between;gap:0;margin-top:40px}.hero-stats span{flex:1;padding:0 10px;text-align:center}.hero-stats b{font-size:23px}.hero-stats small{font-size:8px}
  .game-section,.weekly-section,.journal-section,.rules-section{padding:66px 0}.section-heading.center{margin-bottom:28px}.section-heading h2,.rule-book h2{font-size:30px;line-height:1.28}.section-heading>p{font-size:13px}.filter-panel{padding:14px 12px;border-radius:8px}.filter-title{align-items:flex-start}.filter-title button{min-height:40px}.region-row button,.filter-grid label{min-height:44px;padding:0 12px}.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filter-grid label{white-space:normal;line-height:1.25}.filter-status{line-height:1.5}
  .game-board{padding:14px 10px;border-radius:12px;box-shadow:0 15px 35px rgba(33,18,12,.22),inset 0 0 0 4px rgba(109,69,42,.28)}.board-topline{flex-wrap:wrap;gap:8px 14px;padding:0 4px 14px}.board-topline span:last-child{width:100%;margin-left:0}.cards-stage{display:flex;gap:14px}.dish-card{order:-1;min-height:660px}.province-card{min-height:500px}.side-cards{grid-template-columns:1fr;gap:14px}.fate-card{min-height:255px}.game-card:not(.is-placeholder) .card-label{left:14px;top:14px}.game-card:not(.is-placeholder) .big-symbol{top:13%;font-size:46px}.province-card:not(.is-placeholder) .card-content{min-height:70%;padding:52px 20px 22px}.dish-card:not(.is-placeholder) .card-content{min-height:73%;padding:58px 18px 22px}.dish-head{display:block}.dish-head h3{font-size:31px}.dish-rating{display:inline-block;margin-top:8px}.dish-tags{margin:10px 0}.dish-stats{grid-template-columns:1fr 1fr;gap:7px;padding:8px 0}.dish-stats span,.dish-stats span:nth-child(3){border:0;padding:8px 4px;border-radius:4px;background:rgba(255,255,255,.22)}.dish-footer{align-items:stretch;flex-direction:column}.video-link{width:100%;min-height:44px;display:grid;place-items:center;text-align:center}.fate-card:not(.is-placeholder) .card-content{min-height:70%;padding:43px 18px 18px}.fate-card:not(.is-placeholder) .card-content h3{min-height:0;font-size:19px}.main-actions{gap:10px}.main-actions button,.secondary-btn{width:100%;min-height:52px}.redraw-actions{gap:8px}.redraw-actions>span{width:100%;margin:0 0 3px;text-align:center}.redraw-actions button{flex:1 1 calc(50% - 8px);min-height:44px}.utility-actions{display:grid;grid-template-columns:1fr;gap:8px}.utility-actions button{min-height:44px}
  .planner-heading{margin-bottom:22px}.planner-toolbar{gap:18px}.pregnancy-option b{font-size:14px}.planner-actions .primary-btn,.planner-copy{min-height:50px}.week-overview{padding:13px 14px;line-height:1.7}.week-overview span{display:block}.week-overview span+span{margin-top:8px}.day-menu{border-radius:8px}.day-head{padding:16px 17px 12px}.day-meals{padding:6px 16px 14px}.meal-block{padding:12px 0}.meal-food{font-size:13px}
  .journal-tabs{overflow-x:auto}.journal-tabs button{flex:0 0 auto;min-height:46px}.panel-toolbar{align-items:flex-start;gap:12px}.record-list{gap:12px}.record{grid-template-columns:44px 1fr;padding:14px 13px;gap:12px}.record-main b{font-size:15px}.record-sub{line-height:1.6}.record-actions{justify-content:space-between}.record-stars button{min-width:38px;min-height:38px}.achievement-grid{grid-template-columns:1fr 1fr;gap:9px}.achievement{padding:18px 8px}.rules-layout{gap:42px}.rule-book li{padding:16px 0}.rule-aside{padding:54px 24px 28px}.rule-aside blockquote{font-size:27px}footer{padding:30px 0 95px}
  .mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:98;display:grid;grid-template-columns:repeat(3,1fr);padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,236,204,.16);background:rgba(34,17,13,.94);backdrop-filter:blur(14px);box-shadow:0 -8px 24px rgba(20,8,5,.24)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:49px;color:#d8c4a7;text-decoration:none;font-size:9px;gap:3px}.mobile-nav b{display:grid;place-items:center;width:25px;height:25px;border:1px solid rgba(226,177,103,.3);border-radius:50%;color:#edbd77;font:13px var(--serif)}.mobile-nav a:active{color:#fff3da}.toast{bottom:calc(82px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 32px);text-align:center}
}
@media(max-width:380px){.hero h1{font-size:56px}.hero-stats b{font-size:20px}.filter-grid{grid-template-columns:1fr}.dish-card{min-height:700px}.achievement-grid{grid-template-columns:1fr}.mobile-nav a span{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{.paper-noise,.hero,.filter-panel,.main-actions,.redraw-actions,.utility-actions,.journal-section,.rules-section,footer,.section-heading,.board-topline{display:none!important}body,.game-section{background:#fff;color:#111}.game-section{padding:0}.game-board{box-shadow:none;color:#111;background:#fff;border:0}.cards-stage{grid-template-columns:.8fr 1.3fr .8fr}.game-card{box-shadow:none;break-inside:avoid}.board-message{color:#111}}
