:root{color-scheme:dark;--forest:#123d32;--emerald:#1c5846;--deep:#102f29;--panel:#194438;--panel-soft:#204e40;--ivory:#f7f0e1;--cream:#d9d0ba;--muted:#b9c6b8;--line:#ffffff24;--red:#d75d58;--gold:#d9b96c;--career:#76a8e8;--money:#73c6a1;--people:#f09a9b;--well:#e8c96f;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-height:100vh;background:var(--deep);color:var(--ivory);font-family:var(--sans);font-size:14px}button,input,select{font:inherit}button{cursor:pointer}.game{min-height:100vh;max-width:1440px;margin:auto;padding:20px 34px 17px;display:flex;flex-direction:column;gap:14px;background:radial-gradient(ellipse at 52% 43%,#1b4d3d 0%,var(--deep) 72%)}
/* Header */
.game-head{height:54px;flex:none;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.flag{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--gold);color:var(--forest);font-size:22px;box-shadow:0 3px 0 #967e49}.brand b{font:700 20px var(--serif);letter-spacing:.01em;display:block}.brand small{display:block;margin-top:4px;font-size:9px;font-weight:800;letter-spacing:.16em;color:var(--cream)}.brand small i,.age-chip i{font-style:normal;color:var(--gold);padding:0 4px}.head-actions{display:flex;align-items:center;gap:9px}.age-chip,.turn-chip{min-height:34px;display:flex;align-items:center;gap:5px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#ffffff0b;color:var(--cream);font-size:9px;letter-spacing:.09em;font-weight:800}.age-chip b{color:var(--ivory);font-size:13px}.turn-chip{color:#243327;background:var(--gold);border-color:transparent;box-shadow:0 2px 0 #927a46}.turn-chip.opp{background:var(--red);color:white;box-shadow:0 2px 0 #853d3a}.round-btn{width:35px;height:35px;border:1px solid var(--line);border-radius:50%;background:#ffffff09;color:var(--ivory);font-size:15px;transition:background .18s,border-color .18s}.round-btn:hover,.round-btn:focus-visible{background:var(--panel-soft);border-color:var(--gold);outline:none}
/* Game board */
.table{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:230px minmax(440px,1fr) 226px;grid-template-rows:52px minmax(280px,1fr) 30px 200px;grid-template-areas:'profile opponent context' 'profile arena context' 'profile label context' 'profile hand context';gap:0 20px;align-items:stretch;padding:0 2px}.profile-panel,.context-panel{align-self:center;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#194438,#163c32);box-shadow:0 12px 30px #071c1630}.profile-panel{grid-area:profile;padding:18px 16px}.profile-top{display:flex;align-items:center;gap:11px;padding-bottom:17px;border-bottom:1px solid var(--line)}.you-avatar{flex:none;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:var(--ivory);color:var(--forest);font:800 18px var(--serif);border:2px solid var(--gold)}.profile-top>div:last-child{min-width:0}.profile-top small,.profile-cash small{display:block;color:var(--cream);font-size:8px;font-weight:800;letter-spacing:.14em}.profile-top b{display:block;margin-top:3px;color:var(--ivory);font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-top span{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}.profile-cash{padding:17px 0 14px;border-bottom:1px solid var(--line)}.profile-cash b{display:block;margin-top:6px;color:var(--money);font:700 25px var(--serif)}.profile-note{padding-top:14px;color:var(--muted);font-size:11px;line-height:1.6}.opponent{grid-area:opponent;justify-self:center;align-self:center;height:45px;min-width:240px;display:flex;align-items:center;gap:9px;padding:5px 13px;border:1px solid var(--line);border-radius:999px;background:#0c2a23a8;box-shadow:0 5px 16px #071c1625}.opp-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#eadfc8;color:#29382e;font-size:19px}.opponent b{display:block;font-size:11px}.opponent small{display:block;margin-top:2px;color:var(--muted);font-size:9px}.opp-cards{display:flex;margin-left:auto;padding-right:3px}.opp-cards i{display:block;width:13px;height:20px;margin-left:-5px;border:1px solid #f3dfb2;border-radius:4px;background:linear-gradient(135deg,#c8665f,#8b454c);box-shadow:1px 2px 3px #0b211a;transform:rotate(8deg)}.context-panel{grid-area:context;padding:17px 15px}.context-label{color:var(--gold);font-size:8px;font-weight:800;letter-spacing:.16em}.context-panel> b{display:block;margin-top:9px;font:700 18px var(--serif)}.context-panel>p{margin:7px 0 15px;color:var(--muted);font-size:11px;line-height:1.55}.context-life{display:flex;gap:8px;align-items:flex-start;padding:11px 9px;border-radius:10px;background:#ffffff09}.context-life>span{color:var(--gold);font-size:15px}.context-life p{margin:0;color:var(--cream);font-size:10px;line-height:1.5}.context-life b{color:var(--ivory)}.last-play{margin-top:15px;padding-top:12px;border-top:1px solid var(--line)}.last-play small{display:block;color:var(--cream);font-size:8px;font-weight:800;letter-spacing:.1em}.last-play b{display:block;margin-top:5px;font:600 13px var(--serif);line-height:1.3}
/* 3D piles and individual cards */
.arena{grid-area:arena;position:relative;display:flex;align-items:center;justify-content:center;gap:50px;min-height:0}.arena:before{content:'';position:absolute;width:min(85%,620px);height:78%;border:1px solid #ffffff12;border-radius:50%;pointer-events:none}.draw-pile,.discard-slot{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:13px}.draw-pile{padding:0;border:0;background:transparent;color:inherit}.back{width:112px;height:164px;border:5px solid #f4e8cb;border-radius:16px;background:repeating-linear-gradient(135deg,#c35d59 0 8px,#b35250 8px 16px);box-shadow:0 7px 0 #7b3939,0 16px 22px #071b148c,inset 0 0 0 2px #f5e6c3;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-6deg);transition:transform .2s,box-shadow .2s}.back i{font-style:normal;font-size:24px}.back b{text-align:center;color:#fff6e5;font:800 14px/1.03 var(--sans);letter-spacing:.08em;margin-top:7px}.draw-pile:hover .back{transform:translateY(-5px) rotate(-3deg);box-shadow:0 9px 0 #7b3939,0 21px 26px #071b1499,inset 0 0 0 2px #f5e6c3}.pile-label{color:var(--cream);font-size:8px;font-weight:800;letter-spacing:.13em;text-align:center;white-space:nowrap}.pile-label b{color:var(--ivory)}.played-card{filter:drop-shadow(0 17px 13px #061a14a8);transform:rotate(3deg)}.card-face{--card-color:var(--gold);position:relative;isolation:isolate;width:154px;height:222px;display:flex;flex-direction:column;align-items:center;overflow:hidden;padding:12px;border:5px solid #f5eedc;border-radius:19px;background:linear-gradient(145deg,#fffdf6,#e9e3d3);color:#28372c;box-shadow:inset 0 0 0 1px #d0c9b6}.card-face:before{content:'';position:absolute;inset:5px;z-index:-1;border:1px solid #d9d2bf;border-radius:12px}.card-type{align-self:flex-start;color:var(--card-color);font-size:8px;font-weight:900;letter-spacing:.13em}.face-icon{width:65px;height:65px;flex:none;margin:10px 0 8px;border-radius:50%;display:grid;place-items:center;background:var(--card-color);font-size:32px;box-shadow:inset 0 3px #ffffff70,0 4px 0 color-mix(in srgb,var(--card-color),#172c22 24%)}.face-title{max-width:126px;text-align:center;color:#26362b;font:800 15px/1.13 var(--serif);text-transform:uppercase}.face-copy{max-width:128px;margin-top:6px;color:#58675b;text-align:center;font-size:9px;line-height:1.42}.card-choice{margin-top:auto;padding:5px 10px;border-radius:999px;background:var(--card-color);color:#162d25;font-size:7px;font-weight:900;letter-spacing:.12em;box-shadow:0 2px 0 color-mix(in srgb,var(--card-color),#172c22 26%)}.face-age{margin-top:8px;color:#667468;font-size:7px;font-weight:900;letter-spacing:.11em}.life-face{background:linear-gradient(145deg,#fff9e8,#ead8b3);border-color:#f7edcf}.life-ribbon{align-self:stretch;padding:4px;border-radius:999px;background:var(--red);color:white;text-align:center;font-size:7px;font-weight:900;letter-spacing:.16em}.life-face .face-icon{background:var(--gold)}.life-picks{width:100%;margin-top:auto;display:flex;flex-direction:column;gap:3px}.life-picks i{overflow:hidden;padding:4px 3px;border-radius:6px;background:#fffdf6;color:#4e5c51;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:7px;font-style:normal;font-weight:800}.turn-note{position:absolute;bottom:2%;left:0;right:0;color:var(--cream);text-align:center;font-size:11px;letter-spacing:.02em}
/* Hand */
.hand-label{grid-area:label;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ivory);font-size:9px;font-weight:900;letter-spacing:.13em}.hand-label>span{display:flex;align-items:center;gap:7px}.hand-label b{padding:3px 7px;border-radius:999px;background:#ffffff15;font-size:9px}.hand-label small{color:var(--cream);font-size:9px;font-weight:500;letter-spacing:0;text-align:right}.hand{grid-area:hand;display:flex;align-items:flex-end;justify-content:center;min-width:0;min-height:0;overflow-x:auto;overflow-y:visible;padding:16px 8px 9px;perspective:900px;scrollbar-width:thin;scrollbar-color:#9eaa8f transparent}.hand-card{position:relative;flex:none;width:130px;height:181px;margin-left:-15px;padding:0;border:0;border-radius:16px;background:transparent;filter:drop-shadow(0 7px 5px #071a13a8);transform:translateY(3px) rotate(var(--rot,0deg));transform-origin:center bottom;transition:transform .2s,filter .2s,opacity .2s;cursor:pointer}.hand-card:first-child{margin-left:0}.hand-card .card-face{width:100%;height:100%;padding:9px;border-width:4px;border-radius:15px}.hand-card .card-type{font-size:7px}.hand-card .face-icon{width:44px;height:44px;margin:7px 0 6px;font-size:23px}.hand-card .face-title{max-width:106px;font-size:10px}.hand-card .face-copy{max-width:107px;margin-top:4px;font-size:7.5px;line-height:1.35}.hand-card .card-choice{padding:4px 8px;font-size:6px}.hand-card .face-age{margin-top:6px;font-size:6px}.hand-card .life-ribbon{font-size:6px}.hand-card .life-picks i{font-size:6px;padding:3px}.hand-card.playable{filter:drop-shadow(0 8px 5px #071a13a8)}.hand-card.playable:after{content:'';position:absolute;inset:-2px;border:2px solid #dfc477;border-radius:17px;pointer-events:none;opacity:.8}.hand-card.playable:hover,.hand-card.playable:focus-visible{z-index:5;transform:translateY(-17px) rotate(0deg) scale(1.04);filter:drop-shadow(0 17px 10px #071a13ba);outline:none}.hand-card.locked{opacity:.59;filter:grayscale(.22) brightness(.78) drop-shadow(0 4px 3px #071a1388);cursor:not-allowed}.play-hint{position:absolute;z-index:3;left:50%;bottom:-8px;display:none;transform:translateX(-50%);padding:4px 9px;border-radius:999px;background:var(--gold);color:#26352a;font-size:7px;font-weight:900;letter-spacing:.08em;white-space:nowrap}.hand-card.playable:hover .play-hint,.hand-card.playable:focus-visible .play-hint{display:block}.hand-card.life-card .card-face{background:linear-gradient(145deg,#fff9e8,#ead8b3);border-color:#f7edcf}
/* Bottom progress */
.game-foot{flex:none;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid #ffffff18;padding:9px 2px 0}.meters{display:grid;grid-template-columns:repeat(4,minmax(110px,160px));gap:18px}.meter>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;color:var(--cream);font-size:9px}.meter b{color:var(--ivory);font-size:10px}.meter>i{display:block;height:5px;overflow:hidden;border-radius:999px;background:#ffffff22}.meter em{display:block;height:100%;border-radius:inherit;background:var(--career)}.meter em.money{background:var(--money)}.meter em.people{background:var(--people)}.meter em.well{background:var(--well)}.recent{text-align:right;color:var(--cream);font-size:8px;font-weight:800;letter-spacing:.13em}.recent b{display:block;margin-top:4px;color:var(--ivory);font:600 12px var(--serif);letter-spacing:0}
/* Life decision dialog */
.decision-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:22px;background:#061c16c9;backdrop-filter:blur(5px);animation:fade-in .18s ease-out}.decision-modal{position:relative;width:min(520px,100%);padding:32px;border:1px solid #ffffff24;border-radius:22px;background:linear-gradient(145deg,#f9f3e5,#eee5d1);color:#26382d;box-shadow:0 24px 80px #061b15a8;animation:modal-up .22s ease-out}.modal-close{position:absolute;top:13px;right:14px;width:32px;height:32px;border:1px solid #25382b22;border-radius:50%;background:#ffffff88;color:#354a3a;font-size:20px;line-height:1}.modal-kicker{color:#536d57;font-size:9px;font-weight:900;letter-spacing:.15em}.decision-category{display:inline-flex;align-items:center;margin-top:20px;padding:7px 11px;border-radius:999px;background:color-mix(in srgb,var(--category),white 83%);color:#304534;font-size:9px;font-weight:900;letter-spacing:.08em}.decision-modal h2{margin:13px 38px 8px 0;color:#24362a;font:700 31px/1.12 var(--serif)}.decision-copy{margin:0;color:#566458;font-size:14px;line-height:1.65}.decision-options{display:grid;gap:9px;margin-top:22px}.decision-options button{display:flex;align-items:center;gap:13px;min-height:62px;padding:11px 13px;border:1px solid #65765c2d;border-radius:12px;background:#fffdf7;color:#25382b;text-align:left;transition:transform .16s,border-color .16s,box-shadow .16s}.decision-options button:hover,.decision-options button:focus-visible{transform:translateY(-2px);border-color:#708b68;box-shadow:0 8px 20px #28432c17;outline:none}.option-letter{flex:none;width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#e8e6d7;color:#395b42;font-size:11px;font-weight:900}.decision-options button>span:nth-child(2){min-width:0;flex:1}.decision-options button b{display:block;font-size:13px}.decision-options button small{display:block;margin-top:4px;color:#718074;font-size:10px}.decision-options button>i{color:#758a74;font-style:normal}.modal-foot{display:block;margin-top:16px;color:#657565;font-size:10px;text-align:center}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes modal-up{from{opacity:0;transform:translateY(9px) scale(.98)}to{opacity:1;transform:none}}
/* Intro and ending */
.intro-wrap{width:min(1050px,100%);min-height:100vh;margin:auto;padding:50px 56px;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(380px,1.1fr);align-items:center;gap:64px}.intro{max-width:430px}.brand-mark{width:54px;height:54px;display:grid;place-items:center;border:1px solid #ffffff27;border-radius:16px;background:var(--gold);color:var(--forest);font-size:29px;box-shadow:0 4px 0 #947d4a}.kicker{margin-top:25px;color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.intro h1,.end-card h1{margin:12px 0 18px;font:800 clamp(48px,6vw,72px)/.98 var(--serif);letter-spacing:-.045em}.intro h1 em{color:var(--gold);font-style:normal}.intro p,.end-card>p{max-width:390px;color:var(--cream);font-size:14px;line-height:1.75}.intro label{display:block;margin:18px 0 7px;color:var(--cream);font-size:9px;font-weight:900;letter-spacing:.15em}.intro input,.intro select{width:100%;padding:12px 13px;border:1px solid #ffffff38;border-radius:10px;background:#f7f0e1;color:#29392e;font-size:13px}.start-btn{width:100%;margin-top:20px;padding:14px 16px;border:0;border-radius:10px;background:var(--gold);color:#26362b;text-align:left;font-weight:900;box-shadow:0 3px 0 #90784a;transition:transform .16s,box-shadow .16s}.start-btn:hover{transform:translateY(-2px);box-shadow:0 5px 0 #90784a}.start-btn span{float:right}.intro>small{display:block;margin-top:14px;color:var(--muted);font-size:10px;line-height:1.5}.intro-cards{position:relative;height:430px;display:grid;place-items:center;perspective:1000px}.float-card{position:absolute;filter:drop-shadow(0 22px 18px #071c1677)}.float-card .card-face{width:184px;height:265px;padding:14px;border-width:6px;border-radius:21px}.float-card .face-icon{width:82px;height:82px;margin:17px 0 11px;font-size:41px}.float-card .face-title{font-size:18px;max-width:148px}.float-card .face-copy{font-size:11px;max-width:147px}.float-card .card-type{font-size:9px}.float-card .card-choice{font-size:9px;padding:7px 14px}.float-card.c1{transform:translate(-112px,-3px) rotate(-13deg)}.float-card.c2{z-index:2;transform:translate(2px,-33px) rotate(2deg)}.float-card.c3{transform:translate(116px,14px) rotate(13deg)}.end-screen{min-height:100vh;display:grid;place-items:center;padding:28px}.end-card{width:min(580px,100%);padding:34px;border:1px solid #ffffff32;border-radius:22px;background:var(--ivory);color:#29372c;box-shadow:0 25px 70px #051b1455}.end-card .brand-mark{background:var(--forest);color:var(--gold)}.end-card>small{display:block;margin-top:22px;color:#477251;font-size:9px;font-weight:900;letter-spacing:.17em}.end-card h1{font-size:44px}.end-card>p{color:#617064}.end-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:21px 0}.end-stats span{padding:12px;border-radius:10px;background:#e8e8d9;font-size:11px}.end-stats b{float:right}.end-card h3{font:700 16px var(--serif)}.end-log{padding:8px 0;border-bottom:1px solid #d8ddcf;font-size:11px}.end-card .start-btn{background:var(--emerald);color:white;box-shadow:0 3px 0 #103b2b}
/* Feedback */
.toast{position:fixed;z-index:30;left:50%;bottom:22px;transform:translateX(-50%);padding:12px 17px;border:1px solid #ffffff2b;border-radius:10px;background:var(--ivory);color:#24372a;box-shadow:0 10px 24px #061c1466;font-size:12px;font-weight:800}
@media(max-width:1080px){.game{padding:17px 20px 14px}.table{grid-template-columns:190px minmax(360px,1fr) 190px;column-gap:13px}.profile-panel,.context-panel{padding:14px 12px}.arena{gap:32px}.meters{gap:10px}.hand-card{width:119px;height:170px;margin-left:-20px}}
@media(max-width:800px){.game{min-height:100svh;padding:13px 16px 12px;gap:9px}.table{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(240px,1fr) auto 30px 174px;grid-template-areas:'profile context' 'opponent opponent' 'arena arena' 'label label' 'hand hand';gap:8px 10px}.profile-panel{align-self:stretch;padding:10px 12px}.profile-top{padding:0;border:0}.you-avatar{width:35px;height:35px;font-size:15px}.profile-top small{font-size:7px}.profile-top b{font-size:12px}.profile-top span{font-size:9px}.profile-cash{display:none}.profile-note{display:none}.context-panel{align-self:stretch;display:flex;align-items:center;gap:8px;padding:8px 10px}.context-label,.context-panel>p,.context-life,.last-play{display:none}.context-panel>b{margin:0;font:700 13px var(--serif)}.opponent{align-self:center;margin:0}.arena{min-height:235px;gap:36px}.back{width:91px;height:134px}.card-face{width:132px;height:191px}.face-icon{width:54px;height:54px;font-size:27px}.face-title{font-size:13px}.face-copy{font-size:8px}.turn-note{bottom:-3%}.hand-label{align-self:end}.hand{justify-content:flex-start;min-height:174px;padding:17px 20px 9px;scroll-snap-type:x proximity}.hand-card{width:112px;height:157px;margin-left:-23px;scroll-snap-align:center}.hand-card:first-child{margin-left:0}.hand-card .face-icon{width:39px;height:39px;font-size:20px;margin:7px 0 5px}.hand-card .face-title{font-size:9px}.hand-card .face-copy{font-size:6.7px}.game-foot{min-height:48px;gap:6px}.meters{width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.meter>div{font-size:8px}.meter b{font-size:9px}.recent{display:none}.intro-wrap{grid-template-columns:1fr;gap:5px;padding:35px 26px}.intro{max-width:480px}.intro h1{font-size:57px}.intro-cards{height:290px;transform:scale(.78);margin-top:-8px}}
@media(max-width:430px){.game{padding:10px 11px 9px;gap:7px}.game-head{height:44px}.flag{width:35px;height:35px;font-size:19px}.brand b{font-size:17px}.brand small{font-size:7px;letter-spacing:.12em}.head-actions{gap:5px}.age-chip{display:none}.turn-chip{min-height:30px;padding:0 9px;font-size:8px}.round-btn{width:31px;height:31px}.table{grid-template-rows:auto minmax(205px,1fr) auto 27px 151px;gap:6px 8px}.context-panel{justify-content:center}.context-panel>b{font-size:11px}.arena{min-height:205px;gap:29px}.back{width:75px;height:111px;border-width:4px;border-radius:13px}.back b{font-size:11px}.back i{font-size:19px}.played-card .card-face{width:108px;height:158px;padding:8px;border-width:4px;border-radius:15px}.played-card .face-icon{width:42px;height:42px;font-size:21px;margin:7px 0 5px}.played-card .face-title{font-size:10px}.played-card .face-copy{font-size:7px}.played-card .face-age{font-size:6px}.pile-label{font-size:7px}.turn-note{font-size:9px;bottom:-4%}.hand-label{font-size:8px}.hand-label small{max-width:56%;font-size:8px}.hand{min-height:151px;padding:15px 15px 8px}.hand-card{width:98px;height:138px;margin-left:-28px}.hand-card:first-child{margin-left:0}.hand-card .card-face{padding:6px;border-width:3px;border-radius:12px}.hand-card .face-icon{width:34px;height:34px;margin:7px 0 4px;font-size:18px}.hand-card .face-title{font-size:8px;max-width:80px}.hand-card .face-copy{font-size:6px;max-width:80px}.hand-card .life-picks i{font-size:5px}.hand-card .face-age{font-size:5px}.game-foot{min-height:43px;padding-top:7px}.meter>div{font-size:7px;margin-bottom:4px}.meter b{font-size:8px}.meter>i{height:4px}.decision-modal{padding:25px 20px}.decision-modal h2{font-size:26px}.decision-copy{font-size:13px}.decision-options button{min-height:57px}.intro-wrap{padding:27px 21px}.intro h1{font-size:50px}.intro-cards{height:245px;transform:scale(.68);margin-top:-12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Progress and journal */
.profile-note{padding:15px 0 0;color:var(--cream);font-size:10px;line-height:1.45}.profile-note>span{display:block;color:var(--gold);font-size:8px;font-weight:900;letter-spacing:.14em}.profile-note>b{display:block;margin-top:6px;color:var(--ivory);font:600 13px/1.35 var(--serif)}.profile-note>i{display:block;height:4px;margin-top:9px;overflow:hidden;border-radius:99px;background:#ffffff24}.profile-note>i em{display:block;height:100%;border-radius:99px;background:var(--gold)}.profile-note>small{display:block;margin-top:5px;color:var(--muted);font-size:9px}.cash-detail{display:block;margin-top:5px;color:var(--cream);font-size:9px;line-height:1.4}.goal-card{margin-top:14px;padding:11px 10px;border-radius:10px;background:#ffffff09}.goal-card>small{display:block;color:var(--gold);font-size:8px;font-weight:900;letter-spacing:.12em}.goal-card>b{display:block;margin-top:5px;color:var(--ivory);font:600 12px/1.35 var(--serif)}.goal-card>span{display:block;margin-top:5px;color:var(--cream);font-size:9px}.goal-card>i{display:block;height:4px;margin-top:7px;overflow:hidden;border-radius:99px;background:#ffffff21}.goal-card>i em{display:block;height:100%;border-radius:99px;background:var(--money)}.journal-modal{position:relative;width:min(570px,100%);max-height:min(80vh,740px);padding:30px;border:1px solid #ffffff24;border-radius:20px;background:linear-gradient(145deg,#f9f3e5,#eee5d1);color:#26382d;box-shadow:0 24px 80px #061b15a8;overflow:hidden;display:flex;flex-direction:column}.journal-modal h2{margin:11px 40px 0 0;font:700 29px var(--serif)}.journal-intro{margin:6px 0 15px;color:#637064;font-size:12px}.journal-list{overflow:auto;padding-right:5px}.journal-list article{padding:11px 0;border-top:1px solid #d5d6c9}.journal-list article small{display:block;color:#6c8068;font-size:8px;font-weight:900;letter-spacing:.1em}.journal-list article b{display:block;margin-top:4px;color:#2d3d31;font:600 14px var(--serif)}.journal-list article p{margin:4px 0 0;color:#59675b;font-size:11px;line-height:1.45}.journal-list>p{color:#617064;font-size:13px}.round-btn:focus-visible,.draw-pile:focus-visible,.hand-card:focus-visible,.start-btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.context-goal{display:none}
.year-summary{margin-top:11px;padding:9px 10px;border:1px solid #ffffff14;border-radius:9px;background:#ffffff08}
.year-summary>small{display:block;color:var(--gold);font-size:7px;font-weight:900;letter-spacing:.13em}
.year-summary>b{display:block;margin-top:4px;color:#e6e4d9;font-size:9px;font-weight:600;line-height:1.45}
@media(max-width:800px){.profile-note{display:block;padding:7px 0 0}.profile-note>span{font-size:6px}.profile-note>b{margin-top:2px;font:600 9px/1.2 var(--serif)}.profile-note>i,.profile-note>small{display:none}.cash-detail{font-size:8px}.goal-card{margin-top:8px}.year-summary{display:none}.journal-modal{max-height:86vh;padding:25px 20px}}
@media(max-width:430px){.profile-note{display:none}.journal-modal h2{font-size:25px}}
@media(max-width:800px){.context-goal{display:block;margin-left:auto;max-width:48%;padding-left:9px;border-left:1px solid var(--line)}.context-goal span{display:block;color:var(--gold);font-size:6px;font-weight:900;letter-spacing:.1em}.context-goal b{display:block;margin-top:3px;color:var(--ivory);font:600 9px/1.2 var(--serif)}.context-panel>p{display:none}}
.card-art{position:relative;isolation:isolate;flex:none;width:100%;height:59px;margin:10px 0 8px;overflow:hidden;display:grid;place-items:center;border-radius:11px;background:linear-gradient(125deg,color-mix(in srgb,var(--card-color),white 82%),color-mix(in srgb,var(--card-color),white 68%));box-shadow:inset 0 1px #ffffffaa,inset 0 -1px #17312618}.card-art:before{content:'';position:absolute;z-index:-1;width:45px;height:45px;right:9px;top:-17px;border:1px solid color-mix(in srgb,var(--card-color),transparent 42%);border-radius:50%;box-shadow:0 0 0 8px color-mix(in srgb,var(--card-color),transparent 88%),0 0 0 16px color-mix(in srgb,var(--card-color),transparent 93%)}.card-art:after{content:'';position:absolute;left:10px;bottom:0;width:40px;height:24px;background:linear-gradient(to top,color-mix(in srgb,var(--card-color),transparent 56%) 0 70%,transparent 70%);clip-path:polygon(0 45%,25% 45%,25% 10%,50% 10%,50% 30%,76% 30%,76% 0,100% 0,100% 100%,0 100%);opacity:.7}.card-art>span{z-index:1;width:35px;height:35px;display:grid;place-items:center;border:1px solid #fff9;border-radius:11px;background:color-mix(in srgb,var(--card-color),white 69%);font-size:21px;box-shadow:0 3px 7px #18312720}.card-art>i,.card-art>b{position:absolute;z-index:0;display:block;border-radius:99px;background:color-mix(in srgb,var(--card-color),transparent 42%)}.card-art>i{width:24px;height:3px;right:11px;bottom:13px}.card-art>b{width:14px;height:3px;right:21px;bottom:7px}.art-people:after{clip-path:none;width:39px;height:14px;bottom:6px;left:auto;right:11px;border-radius:99px 99px 8px 8px}.art-well:after{height:13px;bottom:5px;left:auto;right:11px;width:39px;clip-path:polygon(0 50%,20% 0,40% 50%,60% 0,80% 50%,100% 0,100% 100%,0 100%)}.art-money:before{width:36px;height:36px;border-radius:50%;right:13px;top:9px}.played-card .card-art{height:48px;margin:7px 0 6px}.hand-card .card-art{height:43px;margin:6px 0 5px;border-radius:8px}.hand-card .card-art>span{width:29px;height:29px;border-radius:9px;font-size:18px}.hand-card .card-art:after{left:7px;width:31px;height:19px}.hand-card .card-art:before{width:33px;height:33px}.float-card .card-art{height:72px;margin:17px 0 11px;border-radius:14px}.float-card .card-art>span{width:48px;height:48px;border-radius:14px;font-size:27px}.float-card .card-art:after{width:53px;height:29px}
.ending-tags{color:#456c4b!important;font-size:11px!important;font-weight:800;letter-spacing:.02em}
@media(max-width:800px){.played-card .card-art{height:42px}.hand-card .card-art{height:36px;margin:5px 0 4px}.hand-card .card-art>span{width:25px;height:25px;font-size:15px}}
@media(max-width:430px){.played-card .card-art{height:34px;margin:5px 0 4px}.hand-card .card-art{height:30px;margin:4px 0 3px}.hand-card .card-art>span{width:22px;height:22px;font-size:13px}.hand-card .card-art:after{height:14px}}

/* Card typography: keep the story readable at hand size and on small screens. */
.hand-card{width:142px;height:198px;margin-left:-7px}
.hand-card.locked{opacity:.88;filter:saturate(.78) drop-shadow(0 5px 4px #071a1399)}
.hand-card .card-face{padding:9px 8px}
.hand-card .card-type{font-size:8px;letter-spacing:.08em}
.hand-card .face-title{max-width:100%;font-size:12px;line-height:1.16}
.hand-card .face-copy{max-width:100%;font-size:9px;line-height:1.32;color:#34483a}
.hand-card .face-age{font-size:7px}
.hand-card .life-ribbon{font-size:7px;letter-spacing:.08em}
.hand-card .life-picks i{font-size:7px;padding:4px 3px;color:#35483b}
@media(max-width:1080px){.hand-card{width:132px;height:184px;margin-left:-10px}}
@media(max-width:800px){.hand{min-height:210px;padding:19px 16px 10px}.hand-card{width:136px;height:190px;margin-left:-8px;scroll-snap-align:start}.hand-card .face-title{font-size:12px}.hand-card .face-copy{font-size:9px}}
@media(max-width:430px){.hand{min-height:216px;padding:20px 14px 10px}.hand-card{width:140px;height:196px;margin-left:-7px}.hand-card .face-title{font-size:12px}.hand-card .face-copy{font-size:9px}}
.hand-card.selected{z-index:18;width:218px;height:300px;margin-left:8px;margin-right:16px;transform:translateY(-52px) rotate(0);transform-origin:center bottom;filter:drop-shadow(0 18px 14px #061b15ba)}
.hand-card.selected .card-face{padding:12px;border-width:5px;border-radius:19px;box-shadow:0 0 0 3px var(--gold),0 18px 35px #071c1666}
.hand-card.selected .face-title{max-width:100%;font-size:16px;line-height:1.15}
.hand-card.selected .face-copy{max-width:100%;font-size:11px;line-height:1.42;color:#34483a}
.hand-card.selected .face-age{font-size:8px}
.hand-card.selected .card-art{height:48px;margin:6px 0}
.card-decisions{width:100%;margin-top:auto;display:grid;gap:6px}
.card-decisions button{position:relative;min-height:42px;padding:6px 7px 6px 30px;border:1px solid #75856c55;border-radius:8px;background:#fffdf7;color:#25382b;text-align:left;box-shadow:0 2px 4px #1b352011}
.card-decisions button:hover,.card-decisions button:focus-visible{border-color:#b99c4f;background:#fff9e8;outline:2px solid #d9b96c;outline-offset:1px}
.card-decisions button>b{position:absolute;left:6px;top:7px;width:18px;height:18px;display:grid;place-items:center;border-radius:6px;background:#e9e7d9;color:#395b42;font-size:9px}
.card-decisions button>span{display:block;font-size:9px;font-weight:900;line-height:1.2}
.card-decisions button>small{display:block;margin-top:3px;color:#58675b;font-size:7px;line-height:1.2}
.hand-card.selected .play-hint{display:none}
@media(max-width:800px){.hand-card.selected{bottom:29vh;width:205px;height:282px}.hand-card.selected .face-title{font-size:15px}.hand-card.selected .face-copy{font-size:10px}}
@media(max-width:430px){.hand-card.selected{bottom:30vh;width:198px;height:274px}.card-decisions button{min-height:40px}}

.hand{perspective:none}

.card-select{display:block;width:100%;margin-top:7px;padding:6px 5px;border:1px solid #ffffff66;border-radius:999px;background:var(--card-color);color:#173629;font-size:7px;font-weight:1000;letter-spacing:.08em;cursor:pointer;box-shadow:0 2px 0 #18382a55}
.card-select:hover,.card-select:focus-visible{filter:brightness(1.08);outline:2px solid #e2c979;outline-offset:2px}
.hand-card.selected{position:fixed;left:50%;bottom:25vh}
@media(max-width:800px){.hand-card.selected{bottom:30vh}}
@media(max-width:430px){.hand-card.selected{bottom:31vh}}
.hand-card.selected{position:fixed;z-index:40;left:50%;bottom:12px;width:min(218px,88vw);height:min(300px,calc(100vh - 24px));height:min(300px,calc(100svh - 24px));margin:0;transform:translateX(-50%);filter:drop-shadow(0 18px 14px #061b15ba)}
.hand-card.selected .card-face{overflow-y:auto}
.hand-card.selected .card-decisions{margin-top:8px}
.card-decisions .card-collapse{min-height:22px;padding:3px 5px;border:0;background:transparent;box-shadow:none;color:#526653;text-align:right;font-size:7px}
.card-decisions .card-collapse:hover,.card-decisions .card-collapse:focus-visible{background:#edf0e4;outline:1px solid #a4a887}
@media(max-width:800px){.hand-card.selected{width:min(205px,90vw);height:min(282px,calc(100vh - 20px));height:min(282px,calc(100svh - 20px))}}
@media(max-width:430px){.hand-card.selected{width:min(198px,92vw);height:min(274px,calc(100vh - 16px));height:min(274px,calc(100svh - 16px))}}/* Hand and centre-card usability */
.table{grid-template-rows:52px minmax(300px,1fr) 34px 270px}
.arena{min-height:300px;overflow:visible}
.played-card .card-face{width:176px;height:254px;padding:12px;border-width:5px}
.hand{justify-content:flex-start;gap:12px;overflow-x:auto;overflow-y:hidden;padding:19px 18px 14px;scroll-snap-type:x mandatory;scroll-padding-inline:18px;perspective:none}
.hand-card{width:164px;height:230px;margin:0;scroll-snap-align:center;transform:translateY(0) rotate(var(--rot,0deg))}
.hand-card:first-child{margin-left:0}
.hand-label{min-height:34px}
.hand-label>small{max-width:60%;font-size:10px}
.hand-nav{display:flex;gap:5px;margin-left:auto}
.hand-nav button{width:28px;height:26px;border:1px solid #ffffff36;border-radius:7px;background:#ffffff12;color:var(--ivory);font-size:18px;line-height:1}
.hand-nav button:hover,.hand-nav button:focus-visible{border-color:var(--gold);background:#ffffff22;outline:2px solid #d9b96c;outline-offset:1px}
@media(max-width:1080px){.hand-card{width:158px;height:222px;margin:0}}
@media(max-width:800px){.table{grid-template-rows:auto minmax(290px,1fr) 34px 250px}.arena{min-height:290px}.played-card .card-face{width:156px;height:224px}.hand{min-height:240px;gap:10px;padding:18px 14px 12px}.hand-card{width:152px;height:214px;margin:0}.hand-label>small{max-width:none;font-size:9px}}
@media(max-width:430px){.table{grid-template-rows:auto minmax(270px,1fr) 34px 240px}.arena{min-height:270px}.played-card .card-face{width:146px;height:210px;padding:9px}.hand{min-height:230px;gap:9px;padding:16px 12px 10px}.hand-card{width:148px;height:208px;margin:0}.hand-nav button{width:26px;height:25px}}
@media(max-height:720px) and (min-width:801px){.game{height:auto;min-height:100svh}.table{flex:none;min-height:650px}.game-foot{flex:none}}
/* Premium face treatment for the digital and print decks */
.card-face{border-color:#f5eedb;background:radial-gradient(circle at 50% 37%,#fffefa 0,#f8f3e7 55%,#e9e1ce 100%);box-shadow:inset 0 0 0 1px #cfc5ab,0 3px 0 #d1c7b2}
.card-face:before{inset:5px;border:1px solid color-mix(in srgb,var(--card-color),#746544 36%);border-radius:12px}
.card-type{padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--card-color),white 83%);color:color-mix(in srgb,var(--card-color),#182d24 25%);font-size:8px;letter-spacing:.12em}
.face-title{font-family:var(--serif);letter-spacing:.015em;text-wrap:balance}
.face-copy{color:#4c5b4f}
.card-art{background:linear-gradient(145deg,color-mix(in srgb,var(--card-color),white 79%),color-mix(in srgb,var(--card-color),white 56%));border:1px solid color-mix(in srgb,var(--card-color),white 67%);box-shadow:inset 0 1px #ffffffd9,inset 0 -5px 12px #18312614,0 3px 7px #18312614}
.card-art>span{background:linear-gradient(145deg,#fffef9,color-mix(in srgb,var(--card-color),white 64%));border-color:#fff;box-shadow:0 3px 0 color-mix(in srgb,var(--card-color),#253b2e 45%),0 7px 14px #18312727}
.life-face{background:radial-gradient(circle at 50% 35%,#fffdf5 0,#f8f0dc 58%,#ead9b8 100%);border-color:#f8efd9}
.life-ribbon{background:linear-gradient(90deg,#b94e52,#d16b61);box-shadow:0 2px 0 #883d3c}
.face-age{padding-top:4px;border-top:1px solid #8f907646;color:#596b5b;letter-spacing:.15em}
.hand-card{cursor:pointer;transition:transform .18s,filter .18s}
.hand-card.playable:hover{transform:translateY(-7px) rotate(0) scale(1.035)}
.hand-card.selected{transform:translateX(-50%)}
.hand-card.selected .card-face{box-shadow:0 0 0 3px var(--gold),0 22px 48px #061b15a3}
.print-deck-link{display:block;width:100%;margin-top:10px;padding:10px 12px;border:1px solid #ffffff35;border-radius:9px;background:#ffffff0a;color:var(--cream);font-size:11px;font-weight:800;text-align:center;letter-spacing:.04em}
.print-deck-link:hover,.print-deck-link:focus-visible{border-color:var(--gold);background:#ffffff12;color:var(--ivory);outline:2px solid #d9b96c;outline-offset:2px}
.print-btn{font-size:17px}
#print-deck{display:none}
.print-sheet{display:grid;grid-template-columns:repeat(3,62.8mm);grid-template-rows:repeat(3,88mm);gap:2mm;justify-content:center;align-content:start;width:196mm;height:283mm;margin:0 auto;page-break-after:always;break-after:page}
.print-sheet:last-child{page-break-after:auto;break-after:auto}
.print-card{position:relative;isolation:isolate;overflow:hidden;width:62.8mm;height:88mm;padding:4mm 4.2mm 3.5mm;border:.65mm solid #26382b;border-radius:3mm;background:radial-gradient(circle at 50% 34%,#fffefa 0,#f8f3e6 57%,#e9e0cc 100%);color:#23372b;display:flex;flex-direction:column;box-shadow:inset 0 0 0 .4mm #c6b996;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.print-frame{position:absolute;z-index:-1;inset:1.7mm;border:.35mm solid color-mix(in srgb,var(--print-accent),#eee2c9 36%);border-radius:2mm}
.print-card header{display:flex;align-items:center;justify-content:space-between;gap:2mm;padding-bottom:2mm;border-bottom:.35mm solid #777c694c;color:color-mix(in srgb,var(--print-accent),#263a2d 25%);font:800 6.5pt Arial,sans-serif;letter-spacing:.08em}
.print-card header b{font-size:5pt;letter-spacing:.08em;text-align:right}
.print-art{position:relative;flex:none;height:24mm;margin:3mm 0 2.5mm;overflow:hidden;border:.35mm solid color-mix(in srgb,var(--print-accent),white 50%);border-radius:2mm;background:linear-gradient(145deg,color-mix(in srgb,var(--print-accent),white 84%),color-mix(in srgb,var(--print-accent),white 59%));display:grid;place-items:center}
.print-art:before{content:'';position:absolute;right:-3mm;top:-8mm;width:30mm;height:30mm;border:.35mm solid color-mix(in srgb,var(--print-accent),transparent 45%);border-radius:50%;box-shadow:0 0 0 3mm color-mix(in srgb,var(--print-accent),transparent 90%),0 0 0 6mm color-mix(in srgb,var(--print-accent),transparent 94%)}
.print-art:after{content:'';position:absolute;left:3mm;bottom:0;width:25mm;height:11mm;background:color-mix(in srgb,var(--print-accent),transparent 35%);clip-path:polygon(0 48%,19% 48%,19% 22%,39% 22%,39% 40%,59% 40%,59% 0,78% 0,78% 30%,100% 30%,100% 100%,0 100%)}
.print-art>i{position:absolute;left:8mm;bottom:3mm;z-index:1;width:1.4mm;height:5mm;border-radius:1mm 1mm 0 0;background:#fff9}
.print-art>i:nth-child(2){left:12mm;height:8mm}.print-art>i:nth-child(3){left:16mm;height:6mm}
.print-art>span{z-index:2;width:14mm;height:14mm;display:grid;place-items:center;border:.5mm solid #fff;border-radius:4mm;background:linear-gradient(145deg,#fffef9,color-mix(in srgb,var(--print-accent),white 65%));box-shadow:0 1mm 0 color-mix(in srgb,var(--print-accent),#253b2e 42%),0 2mm 3mm #18312730;font-size:20pt}
.print-art>small{position:absolute;right:2mm;bottom:1.4mm;z-index:2;color:#2f473a;font:900 4.5pt Arial,sans-serif;letter-spacing:.18em}
.print-card h2{margin:0;color:#25382c;text-align:center;text-wrap:balance;font:800 11.5pt/1.08 Georgia,serif;letter-spacing:.015em;text-transform:uppercase}
.print-card>p{margin:2.1mm 0 2mm;color:#4b5d4e;text-align:center;font:7.2pt/1.32 Arial,sans-serif}
.print-options{display:grid;gap:1.2mm;margin-top:auto}
.print-options>div{min-height:9mm;padding:1.2mm 1.5mm;display:flex;align-items:center;gap:1.5mm;border:.3mm solid #697a6238;border-radius:1.6mm;background:#fffdf7}
.print-options>div>b{flex:none;width:5mm;height:5mm;display:grid;place-items:center;border-radius:1.3mm;background:color-mix(in srgb,var(--print-accent),white 82%);color:#293e30;font:bold 6pt Arial,sans-serif}
.print-options>div>span{color:#2e4234;font:700 6.3pt/1.15 Arial,sans-serif}
.print-options>div{display:grid;grid-template-columns:5mm minmax(0,1fr);grid-template-rows:auto auto;align-items:start;column-gap:1.5mm}
.print-options>div>b{grid-row:1/3;align-self:center}
.print-options>div>span{overflow-wrap:anywhere}
.print-options>div>small{color:#62715f;font:500 5.1pt/1.12 Arial,sans-serif;overflow-wrap:anywhere}
.print-card footer{display:flex;align-items:center;justify-content:space-between;margin-top:2mm;padding-top:1.5mm;border-top:.35mm solid #777c694c;color:#5d6b5d;font:800 5pt Arial,sans-serif;letter-spacing:.16em}
.print-card footer b{color:color-mix(in srgb,var(--print-accent),#26382b 24%);font-size:6pt}
@page{size:A4 portrait;margin:7mm}
@media print{
 html,body{width:auto!important;min-height:0!important;margin:0!important;padding:0!important;background:#fff!important;overflow:visible!important}
 body>*:not(#print-deck){display:none!important}
 #print-deck{display:block!important;width:196mm;margin:0!important;padding:0!important;color:#222!important}
 .print-sheet{margin:0 auto!important}
}.print-blank{width:62.8mm;height:88mm}
.print-back{align-items:center;justify-content:center;border-color:#dfcfaa;background:radial-gradient(circle at 50% 44%,#275748 0,#174438 52%,#102f29 100%);color:#f5eedc}
.print-back .print-frame{border-color:#d7bd77;inset:1.8mm}
.back-orbit{position:absolute;left:50%;top:43%;width:52mm;height:52mm;border:.45mm solid #d8bd7a70;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3mm #d8bd7a12,0 0 0 6mm #d8bd7a0c}
.orbit-two{width:42mm;height:42mm;transform:translate(-50%,-50%) rotate(45deg);border-radius:7mm}
.back-emblem{z-index:1;width:39mm;height:39mm;display:flex;flex-direction:column;align-items:center;justify-content:center;border:.6mm solid #d9c181;border-radius:50%;background:linear-gradient(145deg,#214f40,#12382e);box-shadow:0 2mm 4mm #071b1566,inset 0 0 0 1mm #d6bd7a24}
.back-emblem>span{font-size:23pt;line-height:1.15}
.back-emblem>b{margin-top:1.5mm;color:#f3e6c5;font:900 8pt Georgia,serif;letter-spacing:.17em}
.back-emblem>i{margin-top:1mm;color:#d6c48f;font:700 4.5pt Arial,sans-serif;font-style:normal;letter-spacing:.16em}
.print-motif{color:#dcc47e}
.print-back .print-card footer{position:absolute;right:4mm;bottom:3.5mm;left:4mm;color:#ded0a4;border-color:#d8c18160}
.print-back footer{position:absolute;right:4mm;bottom:3.5mm;left:4mm;color:#ded0a4;border-color:#d8c18160}
.back-motif{position:absolute;top:72%;color:#dcc47e;font:700 7pt Georgia,serif;letter-spacing:.18em}
.card-unavailable{width:100%;margin-top:auto;padding:8px 7px;border:1px solid #9b573c55;border-radius:8px;background:#f5e5d8;color:#713f2c;text-align:center;font-size:8px;font-weight:900;line-height:1.3;box-shadow:0 2px 0 #b9826740}
.hand-card.locked .play-hint{display:block;background:#8e7960;color:#fff8e9;font-size:6px}
.discard-slot>.pile-label{max-width:210px;white-space:normal;line-height:1.35}
/* Keep the chosen card anchored to the hand's left edge. */
.hand-card.selected{left:calc(max(0px,(100vw - 1440px)/2) + 284px);transform:none}
@media(max-width:1080px){.hand-card.selected{left:calc(max(0px,(100vw - 1080px)/2) + 223px)}}
@media(max-width:800px){.hand-card.selected{left:12px;transform:none}}/* Keep every panel in its grid lane and leave room for readable card text. */
.profile-panel,.context-panel{min-width:0}
.year-summary>b,.last-play b,.goal-card>b,.context-panel>p,.cash-detail,.face-title,.face-copy{overflow-wrap:anywhere}
.profile-cash>b{white-space:nowrap}
@media(max-height:720px) and (min-width:801px){
 .game{height:auto;min-height:100svh;padding:8px 20px;gap:5px}
 .game-head{height:36px}
 .table{flex:none;min-height:0;grid-template-rows:36px 230px 28px 214px}
 .arena{min-height:230px}
 .opponent{height:34px;min-width:210px}
 .context-panel{align-self:stretch;min-height:0;max-height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#82998b transparent}
 .played-card .card-face{width:132px;height:191px}
 .hand-label{min-height:28px}
 .hand{min-height:0;padding:8px 10px 4px}
 .hand-card{width:150px;height:198px}
 .game-foot{min-height:34px;padding-top:5px}
}
/* BTO Then How? — cover-inspired, print-safe card identity. */
.back{position:relative;isolation:isolate;overflow:hidden;border:4px solid #10233b;background:linear-gradient(180deg,#54c3ec 0%,#9be0ef 56%,#f4d37a 100%);box-shadow:0 7px 0 #10233b,0 16px 22px #071b148c,inset 0 0 0 2px #ffe16c}
.back:before{content:'';position:absolute;z-index:-1;left:-14%;right:-10%;bottom:-8%;height:36%;background:linear-gradient(180deg,#f6d06c,#e8a63e);clip-path:polygon(0 42%,20% 42%,20% 15%,37% 15%,37% 33%,54% 33%,54% 0,71% 0,71% 25%,100% 25%,100% 100%,0 100%)}
.back:after{content:'✦';position:absolute;z-index:-1;right:10px;top:12px;color:#fff4d1;font-size:18px;text-shadow:-37px 12px 0 #fff4d1,20px 33px 0 #fff4d1}
.back i{font-style:normal;font-size:19px;filter:drop-shadow(0 1px 0 #10233b)}
.back b{position:relative;margin-top:5px;padding:3px 6px;border-radius:4px;background:#10233b;color:#ffd326;text-align:center;font:1000 13px/.98 Arial,sans-serif;letter-spacing:.01em;text-shadow:none;transform:rotate(-3deg)}
.back small{position:relative;margin-top:5px;padding:3px 5px;border-radius:3px;background:#fff8e6;color:#10233b;font-size:5px;font-weight:1000;letter-spacing:.08em}
.draw-pile:hover .back{box-shadow:0 9px 0 #10233b,0 21px 26px #071b1499,inset 0 0 0 2px #ffe16c}
.print-back{align-items:center;justify-content:flex-start;border:1mm solid #10233b;border-radius:3mm;padding:0;background:linear-gradient(180deg,#42b8e6 0%,#9be0f1 53%,#f7d16d 100%);color:#10233b}
.print-back .print-frame{z-index:2;inset:1.8mm;border: .45mm solid #fff0b8;border-radius:2mm;box-shadow:inset 0 0 0 .35mm #10233b;pointer-events:none}
.cover-flag{position:absolute;z-index:2;top:5mm;left:5mm;width:9mm;height:7mm;display:grid;place-items:center;border:.3mm solid #10233b55;border-radius:1mm;background:#fff8e7;font-size:12pt;box-shadow:0 .5mm 1mm #10233b30}
.cover-kicker{position:absolute;top:7mm;right:5mm;color:#10233b;font:900 5pt Arial,sans-serif;letter-spacing:.12em;text-align:right}
.cover-title{position:relative;z-index:1;width:51mm;margin-top:22mm;padding:2mm 1mm 2.5mm;border:.8mm solid #10233b;border-radius:5mm;background:#10233b;text-align:center;transform:rotate(-2deg);box-shadow:0 1.2mm 0 #e99e30}
.cover-title>b{display:block;color:#ffd326;font:1000 25pt/.92 Arial,sans-serif;letter-spacing:-.06em;text-shadow:.5mm .6mm 0 #b56d19}
.cover-title>strong{display:block;margin-top:1mm;color:#fff9e9;font:1000 15pt/.96 Arial,sans-serif;letter-spacing:-.035em}
.cover-tagline{position:relative;z-index:1;margin-top:2.5mm;padding:1mm 2mm;border-radius:1mm;background:#ffd326;color:#10233b;font:900 6.5pt Arial,sans-serif;transform:rotate(-2deg)}
.cover-scene{position:absolute;right:0;bottom:14mm;left:0;height:23mm;overflow:hidden;background:linear-gradient(180deg,#c5ecf3,#67b8d5)}
.cover-scene:before{content:'';position:absolute;right:-3mm;bottom:0;left:-3mm;height:20mm;background:#245d84;clip-path:polygon(0 52%,12% 52%,12% 23%,19% 23%,19% 43%,28% 43%,28% 8%,38% 8%,38% 39%,48% 39%,48% 0,60% 0,60% 32%,71% 32%,71% 16%,79% 16%,79% 40%,90% 40%,90% 7%,100% 7%,100% 100%,0 100%)}
.cover-scene:after{content:'';position:absolute;right:-2mm;bottom:-7mm;width:31mm;height:17mm;border:1mm solid #f4d77d;border-radius:50%;box-shadow:0 0 0 1.2mm #fff5c080}
.cover-scene>i{position:absolute;z-index:1;bottom:0;width:8mm;height:14mm;background:#f2d29a;border:.4mm solid #fff1c6;box-shadow:inset 0 0 0 .7mm #d79e65}
.cover-scene>i:nth-child(1){left:8mm;height:17mm}.cover-scene>i:nth-child(2){left:17mm;height:21mm}.cover-scene>i:nth-child(3){left:26mm;height:16mm}.cover-scene>i:nth-child(4){left:35mm;height:19mm}
.cover-scene>b{position:absolute;z-index:2;right:7mm;bottom:2mm;color:#fff4d2;font:1000 7pt Arial,sans-serif;letter-spacing:.12em}
.back-motif{position:absolute;z-index:1;bottom:12mm;padding:1mm 2mm;border-radius:2mm;background:#fff8e9;color:#10233b;font:900 5pt Arial,sans-serif;letter-spacing:.07em}
.print-back footer{position:absolute;right:5mm;bottom:4mm;left:5mm;z-index:3;margin:0;padding-top:1.3mm;border-color:#10233b70;color:#10233b;font:900 5pt Arial,sans-serif;letter-spacing:.09em}
.print-back footer b{color:#10233b}
.print-card:not(.print-back)>header{padding:1.3mm 1.5mm;border:0;border-radius:1.2mm;background:linear-gradient(90deg,#10233b,var(--print-accent));color:#fffaf0}
.print-card:not(.print-back)>header span{font-size:6.6pt;letter-spacing:.12em}
.print-card:not(.print-back)>header b{color:#fff8dc}
.intro h1 em,.intro .kicker{color:#ffd326}
.intro h1 em{text-shadow:2px 2px 0 #10233b44}
/* Landing page now uses the actual box artwork as its hero. */
.intro-wrap{position:relative;isolation:isolate;overflow:hidden;width:100%;max-width:none;min-height:100svh;padding:clamp(24px,4vw,62px) clamp(20px,5vw,78px);grid-template-columns:minmax(330px,.82fr) minmax(420px,1.18fr);gap:clamp(22px,4vw,64px);background:radial-gradient(ellipse at 76% 76%,#f3b23f 0,transparent 28%),radial-gradient(ellipse at 79% 18%,#a0e7f4 0,transparent 28%),linear-gradient(140deg,#36b8e8 0%,#168bd0 100%)}
.intro-wrap:before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 10% 104%,#fff8d4 0 9%,transparent 9.5%),radial-gradient(ellipse at 22% 104%,#fff8d4 0 12%,transparent 12.5%),radial-gradient(ellipse at 37% 108%,#fff8d4 0 14%,transparent 14.5%);opacity:.58}
.intro{position:relative;z-index:1;width:100%;max-width:480px;padding:clamp(23px,3vw,38px);border:3px solid #10233b;border-radius:26px;background:linear-gradient(155deg,#fff9e9,#f7edd3);color:#10233b;box-shadow:0 8px 0 #10233b,0 22px 44px #09294559}
.brand-mark{width:48px;height:48px;border:2px solid #10233b;border-radius:50%;background:#e34842;color:#fff4df;font-size:24px;box-shadow:0 3px 0 #10233b}
.intro .kicker{margin-top:18px;color:#24678f;font-size:10px;letter-spacing:.17em}
.intro h1{margin:9px 0 10px;color:#fff9e8;font-family:'Arial Rounded MT Bold','Trebuchet MS',system-ui,sans-serif;font-size:clamp(50px,5.5vw,76px);font-weight:1000;line-height:.91;letter-spacing:-.065em;-webkit-text-stroke:2.5px #10233b;paint-order:stroke fill;text-shadow:0 4px 0 #10233b}
.intro h1:first-line{color:#ffd01d}
.intro h1 em{color:#fff9e8!important;font-style:normal}
.intro p{max-width:360px;margin:14px 0 18px;color:#31536c;font-size:14px;font-weight:700;line-height:1.5}
.intro label{margin:13px 0 6px;color:#31536c;font-size:8px;letter-spacing:.16em}
.intro input,.intro select{min-height:44px;border:1.5px solid #92a9af;border-radius:9px;background:#fffdf6;color:#183a4d;font-size:12px;box-shadow:inset 0 1px 2px #10233b0c}
.start-btn{margin-top:16px;padding:15px 17px;border:2px solid #10233b;border-radius:12px;background:#ffd01d;color:#10233b;font-size:14px;box-shadow:0 4px 0 #10233b;transition:transform .16s,box-shadow .16s}
.start-btn:hover{transform:translateY(-2px);box-shadow:0 6px 0 #10233b}
.print-deck-link{border:1.5px solid #10233b44;border-radius:10px;background:#fff9e7;color:#31536c}
.print-deck-link:hover,.print-deck-link:focus-visible{border-color:#10233b;background:#fffdf5;color:#10233b;outline:2px solid #ffd01d}
.intro>small{color:#657c80;font-weight:600}
.intro-visual{position:relative;align-self:center;justify-self:center;width:min(100%,700px);margin:0;padding:0 0 30px;isolation:isolate}
.intro-visual:before{content:'';position:absolute;z-index:-1;top:8%;right:8%;bottom:11%;left:8%;border-radius:50%;background:#ffd01d;filter:blur(1px);opacity:.9}
.cover-image{position:relative;display:block;width:100%;max-height:min(82svh,780px);aspect-ratio:1;object-fit:contain;border:8px solid #fff9eb;border-radius:22px;background:#fff9eb;box-shadow:0 8px 0 #10233b,0 28px 55px #08284172;transform:rotate(1.2deg);transition:transform .3s,box-shadow .3s}
.intro-visual:hover .cover-image{transform:translateY(-5px) rotate(0);box-shadow:0 12px 0 #10233b,0 36px 60px #08284178}
.intro-visual figcaption{position:absolute;right:50%;bottom:0;transform:translateX(50%);width:max-content;max-width:95%;padding:9px 15px;border:2px solid #10233b;border-radius:999px;background:#fff9e9;color:#10233b;text-align:center;font-size:9px;font-weight:1000;letter-spacing:.14em;box-shadow:0 3px 0 #10233b}
.intro-visual figcaption span{color:#de5044}
.cover-spark{position:absolute;z-index:2;color:#ffd01d;-webkit-text-stroke:1px #10233b;text-shadow:2px 3px 0 #10233b;font-size:clamp(26px,3vw,45px);animation:cover-float 3s ease-in-out infinite}
.spark-one{top:8%;left:0}.spark-two{right:1%;bottom:19%;animation-delay:-1.5s}
@keyframes cover-float{50%{transform:translateY(-7px) rotate(9deg)}}
/* Richer ink, color and contrast on the playable and printed card faces. */
.card-face{border-color:#fffaf0;box-shadow:inset 0 0 0 1px #9b886455,0 2px 0 #a3977d}
.card-face:before{inset:4px;border:1.25px solid color-mix(in srgb,var(--card-color),#10233b 28%);border-radius:12px}
.card-type{align-self:stretch;padding:5px 7px;border-radius:5px;background:var(--card-color);color:#fffdf4;text-shadow:0 1px 1px #10233b55;font-size:8px;letter-spacing:.12em;box-shadow:0 2px 0 color-mix(in srgb,var(--card-color),#10233b 30%)}
.card-art{border:1px solid color-mix(in srgb,var(--card-color),#10233b 16%);background:linear-gradient(135deg,color-mix(in srgb,var(--card-color),white 44%),color-mix(in srgb,var(--card-color),white 68%));box-shadow:inset 0 1px #ffffffcc,inset 0 -2px #10233b16}
.card-art>span{border:1.5px solid #fff;background:#fff9e9;box-shadow:0 3px 0 color-mix(in srgb,var(--card-color),#10233b 30%),0 5px 10px #10233b25}
.face-title{color:#102c3c;text-shadow:0 .4px 0 #fff}
.face-copy{color:#405765}
.card-choice,.card-select{border:1px solid #10233b;color:#10233b;font-weight:1000;box-shadow:0 3px 0 #10233b}
.life-ribbon{border:1px solid #10233b;background:#d94f4a;color:#fffaf0;box-shadow:0 2px 0 #10233b}
.print-card:not(.print-back){border:1mm solid #10233b;border-radius:3.5mm;box-shadow:inset 0 0 0 .65mm #fffdf3,0 1mm 0 #10233b}
.print-card:not(.print-back) .print-frame{inset:1.5mm;border:.45mm solid color-mix(in srgb,var(--print-accent),#10233b 22%);border-radius:2.5mm}
.print-card:not(.print-back)>header{position:relative;z-index:1;border-radius:2mm;padding:1.5mm 2mm;background:linear-gradient(110deg,#10233b 0%,#10233b 48%,var(--print-accent) 100%);box-shadow:0 .6mm 0 #10233b}
.print-card:not(.print-back) .print-art{border: .7mm solid color-mix(in srgb,var(--print-accent),#10233b 20%);border-radius:3mm;background:linear-gradient(145deg,color-mix(in srgb,var(--print-accent),white 28%),color-mix(in srgb,var(--print-accent),white 62%))}
.print-card:not(.print-back)>h2{color:#102c3c;text-shadow:0 .3mm 0 #fff}
.print-options>div{border-color:#10233b35;border-radius:2mm;box-shadow:0 .4mm 0 #10233b18}
@media(max-width:800px){.intro-wrap{min-height:100svh;padding:22px 18px 30px;grid-template-columns:minmax(0,1fr);gap:22px}.intro-visual{grid-row:1;width:min(100%,520px);padding-bottom:25px}.cover-image{max-height:none;border-width:5px;border-radius:17px}.intro{max-width:520px;padding:23px}.intro h1{font-size:clamp(52px,12vw,72px)}.intro p{margin:10px 0 14px}.intro label{margin-top:10px}}
@media(max-width:430px){.intro-wrap{padding:14px 13px 22px;gap:18px}.intro-visual{width:min(100%,400px);padding-bottom:22px}.cover-image{border-width:4px;border-radius:14px}.intro-visual figcaption{padding:7px 10px;font-size:7px}.intro{padding:19px;border-width:2px;border-radius:20px}.intro h1{-webkit-text-stroke:2px #10233b}}
.deck-front-art{display:block;width:142px;height:213px;object-fit:cover;object-position:center top;border-radius:10px;filter:drop-shadow(0 7px 0 #10233b) drop-shadow(0 15px 14px #071b148c);transition:transform .2s,filter .2s}
.draw-pile:hover .deck-front-art{transform:translateY(-5px) rotate(-2deg);filter:drop-shadow(0 9px 0 #10233b) drop-shadow(0 20px 20px #071b1499)}
.print-brand-front{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.print-brand-front>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:3mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}
@media(max-width:800px){.deck-front-art{width:112px;height:168px}}
@media(max-width:430px){.deck-front-art{width:94px;height:141px}}
/* Keep the established type scale. Bold the card copy and keep every line inside its face. */
.card-face{min-width:0}
.face-title,.face-copy{width:100%;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;word-break:normal}
.face-copy{color:#263d49;font-weight:700;line-height:1.35}
.hand-card .face-copy{font-weight:700;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.hand-card.selected .face-copy{max-width:100%;font-weight:700}
.played-card .face-copy{max-width:100%;font-weight:700;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.life-picks{width:100%;min-width:0}
.life-picks i{max-width:100%;box-sizing:border-box}
.card-decisions button>span,.print-options>div>span{font-weight:800;overflow-wrap:anywhere}
.card-decisions button>small,.print-options>div>small{font-weight:700;overflow-wrap:anywhere}
.print-card:not(.print-back)>p{color:#263d49;font-weight:700;overflow-wrap:anywhere}
.hand-card.dragging{opacity:.22;transform:scale(.96);filter:grayscale(.2)}
.card-drag-ghost{position:fixed;z-index:1000;left:0;top:0;width:min(145px,38vw);height:min(204px,48vh);margin:0;transform:translate(-50%,-50%) rotate(-3deg) scale(1.04);pointer-events:none;opacity:.96;filter:drop-shadow(0 20px 16px #061b15ad)}
.card-drag-ghost .card-face{width:100%;height:100%}.card-drag-ghost .play-hint{display:none}
.discard-slot.drag-target .played-card{transform:translateY(-5px) rotate(0) scale(1.06);filter:drop-shadow(0 0 18px #ffd77d99) drop-shadow(0 17px 13px #061a14a8)}
.discard-slot.drag-target .pile-label{color:#ffe79e}
@media(prefers-reduced-motion:no-preference){.hand-card.selected .card-face{animation:choice-card-pop .2s ease-out}@keyframes choice-card-pop{0%{transform:translateY(8px) scale(.97)}100%{transform:translateY(0) scale(1)}}}
/* Print back: keep the skyline, slogan and footer in separate bands. */
.print-back .cover-scene{right:2mm;bottom:19mm;left:2mm;height:20mm;border-radius:2mm}
.print-back .cover-scene:before{height:17mm}
.print-back .cover-scene:after{display:none}
.print-back .cover-scene>i{height:13mm;background:repeating-linear-gradient(0deg,#fff1c6 0 .6mm,transparent .6mm 2.8mm),repeating-linear-gradient(90deg,#fff1c6 0 .6mm,transparent .6mm 2.8mm),linear-gradient(145deg,#f2c58a,#d79067);border:.4mm solid #fff3cb;box-shadow:0 0 0 .3mm #173d60}
.print-back .cover-scene>i:nth-child(1){left:8mm;height:15mm}
.print-back .cover-scene>i:nth-child(2){left:17mm;height:17mm;background:repeating-linear-gradient(0deg,#d5eff7 0 .6mm,transparent .6mm 2.8mm),repeating-linear-gradient(90deg,#d5eff7 0 .6mm,transparent .6mm 2.8mm),linear-gradient(145deg,#75b5d9,#417da9)}
.print-back .cover-scene>i:nth-child(3){left:26mm;height:14mm}
.print-back .cover-scene>i:nth-child(4){left:35mm;height:16mm;background:repeating-linear-gradient(0deg,#d5eff7 0 .6mm,transparent .6mm 2.8mm),repeating-linear-gradient(90deg,#d5eff7 0 .6mm,transparent .6mm 2.8mm),linear-gradient(145deg,#75b5d9,#417da9)}
.print-back .cover-scene>b{right:6mm;bottom:1.5mm}
.print-back .back-motif{right:4mm;bottom:10mm;left:4mm;width:max-content;max-width:calc(100% - 8mm);margin:auto;padding:.8mm 1.5mm;border: .25mm solid #10233b55;border-radius:2mm;background:#fff8e9;color:#173d60;text-align:center;font:900 4.4pt Arial,sans-serif;letter-spacing:.04em;white-space:nowrap}
/* Lively card-table motion, with one-shot deal/reveal animations. */
.hand-card.dealing{opacity:0;animation:deal-into-hand .52s cubic-bezier(.18,.8,.24,1) both;animation-delay:calc(var(--index,0)*45ms)}
.played-card.card-arriving{animation:card-arrives .48s cubic-bezier(.2,.82,.25,1) both}
.draw-pile:active .deck-front-art{transform:translateY(4px) scale(.97)}
.arena:before{animation:table-breathe 6s ease-in-out infinite}
.toast{animation:toast-arrive .3s cubic-bezier(.18,.8,.28,1)}
.turn-chip.opp{animation:rival-turn .65s ease-out}
.opp-cards i{transition:transform .25s}
.opponent:hover .opp-cards i:nth-child(odd){transform:translateY(-3px) rotate(2deg)}
.opponent-active{border-color:#e8796b88;background:#402e2da8;box-shadow:0 0 0 3px #e8796b14,0 7px 18px #071c1645}
.opponent-active .opp-cards i{animation:rival-shuffle .34s ease-in-out infinite alternate}
.opponent-active .opp-cards i:nth-child(even){animation-delay:.14s}
@keyframes deal-into-hand{0%{opacity:0;transform:translateY(-76px) rotate(9deg) scale(.72);filter:drop-shadow(0 24px 16px #071a13bb)}72%{opacity:1;transform:translateY(-7px) rotate(calc(var(--rot,0deg) - 2deg)) scale(1.035)}100%{opacity:1;transform:translateY(3px) rotate(var(--rot,0deg)) scale(1)}}
@keyframes card-arrives{0%{opacity:0;transform:translateY(-28px) rotate(-10deg) scale(1.12)}65%{opacity:1;transform:translateY(3px) rotate(5deg) scale(.98)}100%{opacity:1;transform:rotate(3deg) scale(1)}}
@keyframes table-breathe{0%,100%{border-color:#ffffff10;box-shadow:0 0 0 0 #7fd4ad00}50%{border-color:#8de3c42c;box-shadow:0 0 28px 3px #58caa012}}
@keyframes toast-arrive{0%{opacity:0;transform:translate(-50%,12px) scale(.94)}100%{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes rival-turn{0%{box-shadow:0 0 0 0 #db736a00}45%{box-shadow:0 0 0 5px #db736a48}100%{box-shadow:0 0 0 0 #db736a00}}
@keyframes rival-shuffle{from{transform:translateY(2px) rotate(3deg)}to{transform:translateY(-3px) rotate(11deg)}}
.celebration-burst{position:fixed;z-index:29;inset:0;overflow:hidden;pointer-events:none}
.celebration-burst i{position:absolute;left:50%;top:42%;width:7px;height:11px;border:1px solid #fff8d7;border-radius:2px;background:#f4c94f;opacity:0;animation:confetti-fall 1.15s cubic-bezier(.16,.65,.4,1) var(--delay) both}
.celebration-burst i:nth-child(3n){background:#e86e65}.celebration-burst i:nth-child(3n + 1){background:#52bda0}.celebration-burst i:nth-child(3n + 2){background:#5ba5dd}
@keyframes confetti-fall{0%{opacity:0;transform:translate(-50%,-50%) rotate(0)}12%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--x)),48vh) rotate(var(--rot))}}
@media(prefers-reduced-motion:reduce){.hand-card.dealing,.played-card.card-arriving,.turn-chip.opp,.toast,.arena:before{animation:none!important}.hand-card.dealing{opacity:1}}
@media(prefers-reduced-motion:reduce){.celebration-burst{display:none}}
@media(prefers-reduced-motion:reduce){.opponent-active .opp-cards i{animation:none!important}.opponent-active{box-shadow:none}}
/* Mode selection, challenge seed, and the ongoing rival race. */
.intro-wrap{overflow:auto;overscroll-behavior:contain}
.intro{max-width:540px}
.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:7px 0 0}
.mode-choice{min-width:0;min-height:53px;padding:8px 10px;border:1.5px solid #b4c4c3;border-radius:11px;background:#fffdf5;color:#153449;text-align:left;box-shadow:0 2px 0 #173f5a18;cursor:pointer;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s}
.mode-choice b{display:block;color:#153449;font-size:11px;font-weight:900;line-height:1.15}
.mode-choice small{display:block;margin-top:4px;color:#526d76;font-size:8px;font-weight:700;line-height:1.25}
.mode-choice:hover{transform:translateY(-2px);border-color:#2c91c7;box-shadow:0 4px 0 #163e5a20}
.mode-choice.active{border-color:#123858;background:linear-gradient(135deg,#fff0a5,#ffe281);box-shadow:0 3px 0 #173f5a45,inset 0 0 0 1px #fff9ce}
.mode-choice:focus-visible,.seed-btn:focus-visible{outline:3px solid #f2bc25;outline-offset:2px}
.mode-description{min-height:27px;margin:7px 0 2px!important;color:#355a6d!important;font-size:10px!important;line-height:1.35!important}
.intro label small{font-size:7px;letter-spacing:.08em;opacity:.7}
.intro input#seed{margin-top:0}
.seed-hint{display:block;margin-top:4px;color:#62777c;font-size:8px!important;line-height:1.4}
.best-run{display:block;margin:11px 0 2px;padding:8px 10px;border:1px solid #d8bd64;border-radius:9px;background:#fff4c9;color:#31536c!important;font-size:9px!important}
.opponent{min-width:min(300px,100%);max-width:100%;gap:8px}
.opp-meta{min-width:0;flex:1}
.opp-meta b,.opp-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.opponent small{font-size:8px}
.rival-score{margin:10px 0 0;padding:10px;border:1px solid #e7ca7140;border-radius:10px;background:#0d2e26a6}
.rival-score small,.rival-score span{display:block;color:#d8c88d;font-size:7px;font-weight:900;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}
.rival-score b{display:block;margin-top:4px;color:#f4ead0;font-size:9px;line-height:1.35}
.rival-score span{margin-top:5px;color:#8ed8bd;font-size:8px;letter-spacing:.02em;text-transform:none}
.scenario-note{display:block;margin-top:8px;color:#d8c88d;font-size:8px;line-height:1.35}
.profile-cash{position:relative}
.cash-pulse{position:absolute;top:8px;right:0;z-index:2;display:inline-flex;align-items:center;padding:4px 7px;border:1px solid currentColor;border-radius:999px;background:#12382f;font:900 10px var(--sans);box-shadow:0 3px 10px #061a1590;animation:cash-float 1.3s cubic-bezier(.18,.7,.28,1) both}
.cash-pulse.up{color:#70dfac}.cash-pulse.down{color:#ff9d86}
.finance-details{margin-top:7px;border-top:1px solid #ffffff1c;padding-top:6px}
.finance-details summary{color:#f0d684;font-size:8px;font-weight:900;letter-spacing:.08em;cursor:pointer;list-style:none}
.finance-details summary::-webkit-details-marker{display:none}
.finance-details summary:after{content:' +';color:#86d4b4}
.finance-details[open] summary:after{content:' −'}
.finance-details .cash-detail{margin-top:5px}
.ending-banner{display:grid;gap:5px;margin:20px 0;padding:16px;border:2px solid #e3bd50;border-radius:16px;background:linear-gradient(145deg,#fff4cf,#f3dfaa);color:#18374b;box-shadow:0 5px 0 #102b3e}
.ending-banner>span{color:#8d6c17;font-size:8px;font-weight:1000;letter-spacing:.15em}
.ending-banner>b{font:800 23px var(--serif)}
.ending-banner>small{color:#3f5962;font-size:12px;line-height:1.5}
@keyframes cash-float{0%{opacity:0;transform:translateY(9px) scale(.85)}18%{opacity:1}100%{opacity:0;transform:translateY(-24px) scale(1)}}
@media(max-width:800px){.mode-grid{gap:6px}.mode-choice{min-height:49px;padding:7px 8px}.mode-choice b{font-size:10px}.mode-choice small{font-size:7px}.intro-wrap{overflow:auto}.intro{max-width:560px}}
@media(max-width:430px){.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.mode-choice{min-height:47px;padding:6px 7px;border-radius:9px}.mode-choice b{font-size:9px}.mode-choice small{font-size:7px}.mode-description{font-size:9px!important}.ending-banner{margin:14px 0;padding:13px}.ending-banner>b{font-size:20px}}
@media(prefers-reduced-motion:reduce){.cash-pulse{animation:none;opacity:1}}
.rare-card .card-face{border-color:#e5bd54;box-shadow:0 8px 0 #8d6218,0 14px 22px #071a1370,inset 0 0 0 2px #fff1b6}
.rare-ribbon{background:linear-gradient(100deg,#e8bd4e,#fff0a4 48%,#d59b27)!important;color:#38270b!important}
.rare-card:hover .card-face{box-shadow:0 9px 0 #8d6218,0 18px 30px #071a137c,0 0 20px #f4d46d55,inset 0 0 0 2px #fff1b6}
@media(prefers-reduced-motion:reduce){.rare-card:hover .card-face{box-shadow:0 8px 0 #8d6218,0 14px 22px #071a1370,inset 0 0 0 2px #fff1b6}}
/* Restore the original emerald tabletop landing page and card fan. */
.intro-wrap{width:min(1220px,100%);max-width:1220px;min-height:100svh;margin:auto;padding:clamp(28px,5vh,54px) clamp(24px,5vw,72px);grid-template-columns:minmax(360px,.94fr) minmax(380px,1.06fr);gap:clamp(22px,4vw,58px);overflow:auto;background:radial-gradient(ellipse at 74% 49%,#1a4c3d 0,transparent 37%),linear-gradient(135deg,#123d32,#102f29 72%)}
.intro-wrap:before{inset:0;background:radial-gradient(ellipse at 78% 93%,#d9b96c0c 0 19%,transparent 19.5%),radial-gradient(ellipse at 93% 14%,#78c8a80b 0 21%,transparent 21.5%);opacity:1}
.intro{width:100%;max-width:500px;padding:0;border:0;border-radius:0;background:transparent;color:var(--ivory);box-shadow:none}
.brand-mark{width:48px;height:48px;border:1px solid #ffffff27;border-radius:15px;background:var(--gold);color:var(--forest);font-size:25px;box-shadow:0 4px 0 #947d4a}
.intro .kicker{margin-top:19px;color:var(--gold);font-size:9px}
.intro h1{margin:10px 0 13px;color:var(--ivory);font:800 clamp(48px,5.4vw,68px)/.98 var(--serif);letter-spacing:-.045em;-webkit-text-stroke:0;text-shadow:none}
.intro h1 em{color:var(--gold)!important;font-style:normal;text-shadow:none}
.intro p{max-width:390px;margin:10px 0 15px;color:var(--cream);font-size:13px;line-height:1.55}
.intro label{margin:12px 0 6px;color:var(--cream);font-size:8px}
.intro input,.intro select{min-height:40px;padding:10px 12px;border:1px solid #ffffff38;border-radius:9px;background:#f7f0e1;color:#29392e;font-size:12px;box-shadow:none}
.mode-description{min-height:0;margin:6px 0 8px!important;color:var(--muted)!important;font-size:9px!important;line-height:1.4!important}
.mode-grid{gap:7px;margin-top:5px}
.mode-choice{min-height:48px;padding:7px 10px;background:#f7f0e1;border-color:#c8c2b2}
.mode-choice b{font-size:10px}.mode-choice small{font-size:7px}
.mode-choice.active{border-color:var(--gold);background:#f4e4b1;box-shadow:0 3px 0 #947d4a,inset 0 0 0 1px #fff9d5}
.intro-cards{height:420px;min-width:0}
.intro-options{margin-top:10px;padding:0;border-top:1px solid #ffffff22}
.intro-options summary{padding:9px 2px;color:var(--gold);font-size:9px;font-weight:800;cursor:pointer;list-style:none}
.intro-options summary::-webkit-details-marker{display:none}
.intro-options summary:after{content:' +';float:right;color:var(--cream)}
.intro-options[open] summary:after{content:' −'}
.intro-options>label:first-of-type{margin-top:3px}
.intro-options .seed-hint{margin-bottom:7px}
.intro>small{margin-top:8px;color:var(--muted);font-size:9px}
.seed-hint{color:var(--muted)}
.start-btn{margin-top:13px;padding:13px 16px;border:0;border-radius:10px;background:var(--gold);color:#26362b;font-size:13px;box-shadow:0 3px 0 #90784a}
.print-deck-link{margin-top:7px;color:var(--cream);border-color:#ffffff30;background:#ffffff09}
.print-deck-link:hover,.print-deck-link:focus-visible{border-color:var(--gold);background:#ffffff12;color:var(--ivory)}
@media(min-width:801px){.intro-wrap{align-items:center}.intro h1{font-size:clamp(44px,4.5vw,58px);margin:7px 0 8px}.intro .kicker{margin-top:12px}.intro p{margin:7px 0 10px}.intro label{margin:8px 0 4px}.mode-choice{min-height:43px;padding:6px 9px}.mode-description{margin:4px 0 5px!important}.intro input,.intro select{min-height:36px;padding:8px 11px}.intro-options{margin-top:6px}.intro-options summary{padding:7px 2px}.intro-cards{height:360px}.start-btn{margin-top:8px;padding:11px 15px}.print-deck-link{margin-top:5px}}
@media(max-width:800px){.intro-wrap{min-height:100svh;padding:25px 24px;grid-template-columns:minmax(0,1fr);gap:0}.intro{max-width:560px;margin:auto}.intro h1{font-size:clamp(48px,10vw,64px)}.intro-cards{height:265px;width:min(100%,520px);margin:0 auto;transform:scale(.78);transform-origin:center top}.intro-wrap:before{background:radial-gradient(ellipse at 50% 86%,#d9b96c0c 0 24%,transparent 24.5%)}}
@media(max-width:430px){.intro-wrap{padding:18px 17px;gap:2px}.brand-mark{width:40px;height:40px;font-size:21px}.intro .kicker{margin-top:14px}.intro h1{font-size:48px}.intro p{font-size:12px}.mode-grid{gap:5px}.mode-choice{min-height:44px;padding:6px 7px}.mode-choice b{font-size:9px}.mode-choice small{font-size:6.5px}.intro>small:last-child{margin-bottom:15px}.intro-cards{height:245px;margin-top:17px;transform:scale(.62)}.intro input,.intro select{min-height:38px}}
/* The supplied game-box cover is the landing-page hero; match its bright sky-blue palette. */
body:has(.intro-wrap){background:#168dcc}
.intro-wrap{width:min(1320px,100%);max-width:1320px;min-height:100svh;padding:clamp(22px,4vh,48px) clamp(20px,4vw,58px);grid-template-columns:minmax(380px,.9fr) minmax(430px,1.1fr);gap:clamp(24px,4vw,56px);background:radial-gradient(ellipse at 77% 78%,#ffd83f38 0,transparent 27%),radial-gradient(ellipse at 88% 10%,#d6f7ff85 0,transparent 30%),linear-gradient(145deg,#39b8e8 0%,#198fce 62%,#1378b7 100%)}
.intro-wrap:before{background:radial-gradient(ellipse at 9% 105%,#fff9df 0 9%,transparent 9.5%),radial-gradient(ellipse at 22% 108%,#fff9df 0 12%,transparent 12.5%),radial-gradient(ellipse at 39% 111%,#fff9df 0 15%,transparent 15.5%);opacity:.4}
.intro{max-width:500px;padding:clamp(20px,2.2vw,30px);border:3px solid #10233b;border-radius:24px;background:linear-gradient(155deg,#fff9e9,#f7edd3);color:#10233b;box-shadow:0 7px 0 #10233b,0 20px 42px #09294545}
.brand-mark{width:46px;height:46px;border:2px solid #10233b;border-radius:13px;background:#ffd052;color:#10233b;font-size:22px;box-shadow:0 3px 0 #10233b}
.intro .kicker{margin-top:13px;color:#24678f;font-size:9px}
.intro h1{margin:7px 0 8px;color:#10233b;font:1000 clamp(38px,4vw,54px)/.97 'Trebuchet MS',var(--sans);letter-spacing:-.055em;-webkit-text-stroke:0;text-shadow:none}
.intro h1:first-line{color:#10233b}
.intro h1 em{color:#e9a914!important;font-style:normal;text-shadow:none}
.intro p{max-width:390px;margin:7px 0 10px;color:#31536c;font-size:12px;font-weight:700;line-height:1.5}
.intro label{margin:9px 0 5px;color:#31536c;font-size:8px}
.intro input,.intro select{min-height:38px;padding:9px 11px;border:1.5px solid #9db3ba;border-radius:9px;background:#fffdf6;color:#183a4d;font-size:12px;box-shadow:inset 0 1px 2px #10233b0c}
.mode-description{margin:5px 0 6px!important;color:#526d76!important;font-size:8px!important}
.mode-choice{min-height:43px;padding:6px 9px;border:1.5px solid #a9b9bd;background:#fffdf6;color:#153449;box-shadow:0 2px 0 #173f5a18}
.mode-choice b{color:#153449}.mode-choice small{color:#526d76}
.mode-choice.active{border-color:#123858;background:#ffeaa1;box-shadow:0 3px 0 #173f5a35,inset 0 0 0 1px #fff9ce}
.intro-options{border-color:#10233b22}.intro-options summary{color:#24678f}
.start-btn{margin-top:10px;padding:12px 15px;border:2px solid #10233b;border-radius:11px;background:#ffd01d;color:#10233b;font-size:13px;box-shadow:0 4px 0 #10233b}
.start-btn:hover{box-shadow:0 6px 0 #10233b}
.print-deck-link{border:1.5px solid #10233b44;border-radius:9px;background:#fff9e7;color:#31536c}
.print-deck-link:hover,.print-deck-link:focus-visible{border-color:#10233b;background:#fffdf5;color:#10233b}
.intro-visual{position:relative;align-self:center;justify-self:center;width:min(100%,620px);margin:0;padding:0 0 28px;isolation:isolate}
.intro-visual:before{content:'';position:absolute;z-index:-1;inset:8% 8% 12%;border-radius:50%;background:#ffd747;filter:blur(3px);opacity:.52}
.cover-image{display:block;width:100%;max-height:min(82svh,680px);aspect-ratio:1;object-fit:contain;border:5px solid #fff9eb;border-radius:20px;background:#fff9eb;box-shadow:0 7px 0 #10233b,0 24px 46px #08284158;transform:rotate(1deg);transition:transform .25s,box-shadow .25s}
.intro-visual:hover .cover-image{transform:translateY(-4px) rotate(0);box-shadow:0 11px 0 #10233b,0 30px 52px #08284165}
.intro-visual figcaption{position:absolute;right:50%;bottom:0;transform:translateX(50%);width:max-content;max-width:95%;padding:8px 13px;border:2px solid #10233b;border-radius:999px;background:#fff9e9;color:#10233b;text-align:center;font-size:8px;font-weight:1000;letter-spacing:.12em;box-shadow:0 3px 0 #10233b}
.intro-visual figcaption span{color:#de5044}
@media(min-width:801px){.intro-wrap{align-items:center}.intro-cards{display:none}}
@media(max-width:800px){.intro-wrap{padding:16px 20px 28px;grid-template-columns:minmax(0,1fr);gap:8px}.intro-visual{grid-row:1;width:min(100%,390px);padding-bottom:22px}.cover-image{max-height:350px;border-width:4px;border-radius:17px}.intro{grid-row:2;max-width:560px;padding:20px}.intro h1{font-size:clamp(38px,9vw,48px)}.intro label{margin-top:8px}}
@media(max-width:430px){.intro-wrap{padding:12px 14px 24px;gap:4px}.intro-visual{width:min(100%,330px);padding-bottom:20px}.cover-image{max-height:300px;border-width:3px;border-radius:14px}.intro-visual figcaption{padding:7px 9px;font-size:7px}.intro{padding:17px;border-width:2px;border-radius:19px}.intro h1{font-size:39px}.intro input,.intro select{min-height:37px}.mode-choice{min-height:43px}}
/* Keep the start controls and the full box-cover caption inside shorter 100% zoom viewports. */
@media(min-width:801px) and (max-height:740px){.intro-wrap{padding:12px 30px;gap:28px}.intro{padding:15px 18px}.brand-mark{width:36px;height:36px;font-size:18px}.intro .kicker{margin-top:8px;font-size:8px}.intro h1{font-size:clamp(34px,3.6vw,43px);margin:4px 0 5px}.intro p{margin:4px 0 6px;font-size:11px}.intro label{margin:5px 0 3px;font-size:7px}.mode-grid{gap:4px}.mode-choice{min-height:35px;padding:4px 8px}.mode-choice b{font-size:9px}.mode-choice small{margin-top:2px;font-size:6px}.mode-description{margin:3px 0!important;font-size:7px!important}.intro input,.intro select{min-height:31px;padding:6px 9px;font-size:10px}.intro-options{margin-top:4px}.intro-options summary{padding:5px 2px;font-size:8px}.start-btn{margin-top:5px;padding:9px 12px;font-size:11px}.print-deck-link{min-height:28px;margin-top:3px;padding:6px}.intro>small{margin-top:3px;font-size:7px}.intro-visual{width:min(100%,620px,68svh);padding-bottom:25px}.cover-image{max-height:none;border-width:4px;border-radius:15px}.intro-visual figcaption{padding:6px 10px;font-size:7px}}
/* Slowly drifting soft clouds add movement without competing with the cover or controls. */
.intro-wrap{isolation:isolate;overflow:hidden}
.intro-wrap:after{content:'';position:absolute;z-index:0;inset:-8% -8%;pointer-events:none;background:radial-gradient(ellipse 17% 7% at 18% 28%,#ffffff50 0 55%,transparent 62%),radial-gradient(ellipse 20% 8% at 64% 18%,#f4fdff52 0 53%,transparent 62%),radial-gradient(ellipse 15% 6% at 90% 54%,#ffffff42 0 53%,transparent 63%);filter:blur(10px);opacity:.58;animation:sky-cloud-drift 34s ease-in-out infinite alternate}
.intro,.intro-visual{z-index:1}
.cover-image{animation:cover-gentle-float 6s ease-in-out infinite}
@keyframes sky-cloud-drift{from{transform:translate3d(-1.5%,0,0)}to{transform:translate3d(1.5%,1%,0)}}
@keyframes cover-gentle-float{0%,100%{translate:0 0}50%{translate:0 -3px}}
@media(prefers-reduced-motion:reduce){.intro-wrap:after,.cover-image{animation:none!important}}
/* Make the mode picker feel like a hand of selectable game cards. */
.mode-choice{position:relative;display:flex;align-items:center;gap:9px;min-height:49px;padding:7px 30px 7px 8px;border-width:1.5px;border-radius:12px;box-shadow:0 3px 0 #173f5a24;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s}
.mode-choice:before{content:'';position:absolute;top:7px;bottom:7px;left:0;width:4px;border-radius:0 4px 4px 0;background:var(--mode-accent,#318ac0)}
.mode-choice[data-mode="career"]{--mode-accent:#5079ca}.mode-choice[data-mode="family"]{--mode-accent:#e16e79}.mode-choice[data-mode="property"]{--mode-accent:#278cad}.mode-choice[data-mode="survival"]{--mode-accent:#239d91}.mode-choice[data-mode="sandbox"]{--mode-accent:#d49b27}
.mode-icon{flex:none;width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--mode-accent),white 82%);font-size:15px;box-shadow:inset 0 1px #fff9}
.mode-copy{display:block;min-width:0;text-align:left}.mode-copy b,.mode-copy small{display:block}.mode-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mode-check{position:absolute;right:9px;top:50%;display:grid;width:15px;height:15px;place-items:center;border-radius:50%;background:#10233b;color:#fff9e9;font-size:9px;font-weight:900;opacity:0;transform:translateY(-50%) scale(.7);transition:opacity .18s,transform .18s}
.mode-choice.active .mode-check{opacity:1;transform:translateY(-50%) scale(1)}
.mode-choice.active{border-color:var(--mode-accent);background:#fff0bd}
.mode-choice:hover{transform:translateY(-2px) rotate(-.35deg);box-shadow:0 5px 0 #173f5a27}
.mode-choice:active{transform:translateY(1px) scale(.99);box-shadow:0 1px 0 #173f5a27}
.mode-choice:focus-visible{outline:3px solid #10233b;outline-offset:2px}
.hero-card-deco{position:absolute;z-index:0;display:block;width:clamp(60px,8vw,100px);aspect-ratio:.69;border:4px solid #fff8e8;border-radius:13px;background:repeating-linear-gradient(135deg,#e97562 0 9px,#d85e55 9px 18px);box-shadow:0 5px 0 #10233b,0 12px 18px #09294555}
.hero-card-one{top:34%;left:-2%;transform:rotate(-12deg);animation:side-card-float 5.2s ease-in-out infinite}
.hero-card-two{right:-2%;bottom:21%;background:repeating-linear-gradient(135deg,#419bd0 0 9px,#2e7fb7 9px 18px);transform:rotate(11deg);animation:side-card-float 5.8s ease-in-out -1.7s infinite}
.hero-card-deco:before{content:'✦';position:absolute;inset:0;display:grid;place-items:center;color:#fff2b2;font:900 28px var(--serif);text-shadow:0 2px 5px #10233b88}
.cover-image{position:relative;z-index:1}
.intro-visual figcaption{font-size:8px;letter-spacing:.13em}
.intro .kicker:before{content:'✦ ';color:#e7a916}
@keyframes side-card-float{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media(min-width:801px) and (max-height:740px){.mode-choice{min-height:39px;padding:5px 26px 5px 7px;gap:7px}.mode-icon{width:24px;height:24px;font-size:13px}.mode-choice:before{top:6px;bottom:6px}}
@media(max-width:800px){.hero-card-deco{width:70px}.hero-card-one{left:3%}.hero-card-two{right:3%}.mode-choice{min-height:48px}}
@media(prefers-reduced-motion:reduce){.hero-card-deco,.mode-choice{animation:none!important;transition:none!important}.mode-choice:hover{transform:none}}
.turn-chip.combo{background:linear-gradient(100deg,#f7d54d,#fff0a3,#efbd32);color:#17344a;box-shadow:0 2px 0 #956519,0 0 14px #ffe06488;animation:combo-chip .8s ease-in-out infinite alternate}
.combo-bank{flex:none;padding:6px 9px;border:1px solid #173f5a;border-radius:999px;background:#ffe276;color:#17344a;font-size:7px;font-weight:1000;letter-spacing:.06em;box-shadow:0 2px 0 #173f5a;cursor:pointer}
.combo-bank:hover{transform:translateY(-1px);box-shadow:0 3px 0 #173f5a}
.hand-card.combo-match{filter:drop-shadow(0 0 8px #ffda65c9) drop-shadow(0 8px 6px #071a13a8)}
.hand-card.combo-match .card-face{outline:2px solid #ffd749;outline-offset:2px;animation:combo-card-glow .8s ease-in-out infinite alternate}
.hand-card.combo-match .play-hint{background:#f0c23f;color:#17344a}
@keyframes combo-chip{from{transform:scale(1)}to{transform:scale(1.045)}}
@keyframes combo-card-glow{from{box-shadow:0 3px 0 #173f5a,inset 0 0 0 2px #fff7d2}to{box-shadow:0 3px 0 #173f5a,0 0 15px #ffd749,inset 0 0 0 2px #fff7d2}}
@media(max-width:800px){.combo-bank{padding:5px 7px;font-size:6px}.hand-label small{max-width:47%}}
@media(prefers-reduced-motion:reduce){.turn-chip.combo,.hand-card.combo-match .card-face{animation:none!important}.hand-card.combo-match{filter:none}}
