@import url("https://fonts.googleapis.com/css2?family=Comfortaa:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap");:root{--paper:#faf7f0;--cream:#f3ede1;--ink:#293f38;--muted:#8a8d7f;--green:#324b40;--coral:#d57b57;--line:#e6e1d6;--sans:"Manrope",system-ui,sans-serif;--round:"Comfortaa",Georgia,serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 var(--sans)}button,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}a,button,input{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:3px solid #d89862;outline-offset:4px}button{border:0;background:none}button svg{flex-shrink:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--round);letter-spacing:-1.1px}h1{font-size:34px;line-height:1.4;font-weight:700}h2{font-size:24px}h3{font-size:18px}p{color:#777f71}a{color:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--green);color:#ecedde;padding:40px 23px 22px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:12px;text-align:left;align-items:flex-start;color:#f9f1dd;padding:0 8px}.brand>span:last-child{font-family:var(--round);font-size:26px;line-height:1.22;font-weight:700;letter-spacing:-.8px}.brand em{font-style:normal;color:#e5b88b}.brand small{display:block;font:7px var(--sans);letter-spacing:1.1px;margin-top:15px;color:#bdc3ab;white-space:nowrap}.brand-flag{position:relative;margin-top:8px;color:#e8bb8c}.brand-flag i{position:absolute;width:5px;height:5px;border-radius:50%;background:#f3d988;top:-6px;right:-3px}.sidebar-rule{height:1px;background:#ffffff18;margin:31px 8px}.nav-caption{font-size:8px;letter-spacing:1.8px;color:#aab8a3;padding:0 14px;margin-bottom:15px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.sidebar nav button{display:flex;align-items:center;gap:12px;color:#c3cebd;text-align:left;padding:13px 15px;border-radius:9px;font-size:12px;transition:.2s}.sidebar nav button:hover{background:#ffffff0b;color:#fff}.sidebar nav button.active{background:#f0eedc;color:#354d41;box-shadow:0 3px 0 #0000000a}.sidebar nav button.active svg{color:#b77855}.sidebar nav small{margin-left:auto;color:#95a78c;font-size:10px}.nav-dot{width:5px;height:5px;border-radius:50%;background:#d7aa7e;margin-left:auto}.sidebar-bottom{margin-top:auto;padding:30px 10px 0}.tiny-town{display:flex;align-items:center;gap:12px;color:#c7d1b1;padding-bottom:29px;margin-bottom:12px;border-bottom:1px solid #ffffff15}.tiny-town>svg{color:#d0a675;stroke-width:1}.tiny-town span{font:11px/1.7 var(--sans)}.tiny-town strong{font-weight:400;color:#aebca5}.sidebar-bottom>button{color:#b8c5ad;display:flex;gap:11px;align-items:center;font-size:11px;padding:8px 0}.build-label{display:block;font-size:8px;color:#8ca18a;margin-top:26px;letter-spacing:.5px}.main{margin-left:238px}.topbar{height:83px;border-bottom:1px solid var(--line);justify-content:space-between;padding:0 44px;gap:15px}.breadcrumb,.topbar{display:flex;align-items:center}.breadcrumb{gap:11px;font-size:10px;color:#a0a394}.breadcrumb strong{font-weight:600;color:#737f6c}.top-actions{display:flex;align-items:center;gap:22px}.sound-toggle{color:#8b977f;padding:5px}.sound-toggle.on{color:var(--coral)}.wallet{display:flex;align-items:center;gap:8px;font-size:10px}.wallet strong{font-size:13px}.wallet>span:last-child{color:#93977f}.button-coin{position:relative;display:inline-grid;grid-template-columns:3px 3px;gap:2px;place-content:center;width:20px;height:20px;border-radius:50%;background:#e7c276;border:2px solid #d7b16d;flex-shrink:0;box-shadow:inset 0 0 0 1px #f6e2ac}.button-coin i{width:3px;height:3px;border-radius:50%;background:#a68146}.profile-pill{display:flex;align-items:center;gap:9px;font-size:10px;color:#63725f}.avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eee5d2;color:#bd9a56;font-size:12px;font-weight:800}.page{max-width:1400px;margin:auto;padding:36px 44px 0}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:25px;gap:20px}.eyebrow{font:8px/1.8 var(--sans);font-weight:700;letter-spacing:1.65px;color:#93977c;display:flex;align-items:center;gap:6px}.page-heading h1{font-size:29px;margin:8px 0 7px}.page-heading p{font-size:11px}.chapter-stamp{display:flex;flex-direction:column;text-align:center;color:#99977c;line-height:1.3;font-size:7px;letter-spacing:1.5px;border:1px solid #d9d6c5;padding:9px 14px;border-radius:50% 50% 45% 45%;transform:rotate(7deg);flex-shrink:0}.chapter-stamp b{font-family:Georgia,serif;font-size:29px;font-weight:400;letter-spacing:0;color:#8c977c}.chapter-stamp>span{font-size:5px;letter-spacing:1px}.hero{display:grid;grid-template-columns:43% 57%;min-height:355px;border:1px solid #e3ddcb;border-radius:16px;overflow:hidden;background:#eee9d9}.hero,.hero-copy{position:relative}.hero-copy{z-index:2;padding:35px 0 32px 32px;background:#f0ecde}.hero-copy:after{content:"";position:absolute;left:100%;inset-block:0;width:52px;background:linear-gradient(90deg,#f0ecde,transparent);pointer-events:none}.chapter-label{display:flex;align-items:center;gap:7px;font-size:7px;letter-spacing:1.9px;color:#99967a;font-weight:700}.chapter-label i{display:block;width:5px;height:5px;background:#bd9164;transform:rotate(45deg)}.hero-copy h2{font-size:31px;line-height:1.45;letter-spacing:-1.5px;margin:15px 0 12px;white-space:nowrap}.hero-copy p{font-size:11px;line-height:1.9;max-width:280px;color:#898975}.primary{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--coral);color:#fff9ee;border:1px solid #c16e4b;border-radius:7px;padding:12px 18px;font-size:11px;font-weight:700;box-shadow:0 3px 0 #b96e4920;transition:transform .18s,background .18s}.primary:hover{background:#c5704c;transform:translateY(-2px)}.hero-copy .primary{margin-top:22px}.hero-note{display:flex;align-items:center;gap:5px;margin-top:13px;font-size:7px;color:#a4a18b}.hero-art{background:#e5dbc0 url(/art/town.png) center 57%/cover;position:relative;min-height:355px}.postcard-label{position:absolute;right:24px;bottom:22px;display:flex;align-items:center;gap:7px;padding:9px 12px;background:#fffbefed;border:1px solid #d5d2b9;border-radius:6px;color:#788368;font:9px var(--round);box-shadow:0 3px 10px #58602b15;transform:rotate(-3deg)}.postcard-label i{display:block;font:7px Georgia,serif;position:absolute;top:100%;left:30px;margin-top:3px;color:#717d59}.town-columns{display:grid;grid-template-columns:1fr 230px;gap:25px;margin-top:30px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.section-title h2{font-size:15px;letter-spacing:-.5px}.section-title p{font-size:10px;margin-top:6px}.section-title>button{display:flex;gap:7px;align-items:center;font-size:9px;color:#858b72;padding:4px 0;white-space:nowrap}.story-route{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;position:relative}.story-route:before{content:"";height:1px;position:absolute;top:23px;left:30px;right:30px;background:repeating-linear-gradient(90deg,#d5cfb9 0 4px,transparent 4px 8px)}.story-stop{text-align:left;padding:0;position:relative;display:flex;align-items:flex-start;flex-direction:column}.stop-icon{display:grid;place-items:center;width:45px;height:45px;border:1px solid #dcd8c9;background:var(--paper);border-radius:50%;color:#b4b5a2;margin-bottom:14px}.story-stop.next .stop-icon{background:#e8eddf;border:1px solid #c3ceb3;color:#829769;box-shadow:0 0 0 4px #faf7f0}.story-stop.done .stop-icon{background:#c8d8b8;color:#405e37}.story-stop small{font-size:6px;letter-spacing:1.3px;color:#a4a38e;margin-bottom:5px}.story-stop strong{font-family:var(--round);font-size:10px;font-weight:700;letter-spacing:-.4px;color:#69745e}.story-stop>span:last-child{font-size:7px;color:#a1a38f;margin-top:4px}.progress-caption{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);margin-top:22px;padding-top:13px;font-size:7px;color:#93987e}.progress-caption>div{height:3px;background:#e9e5d7;flex:1 1;border-radius:3px;overflow:hidden}.progress-caption i{height:100%;background:#9caa85;display:block}.today-card{background:#efeddf;border:1px dashed #d3d0ba;border-radius:10px;padding:17px 21px;position:relative}.today-card .eyebrow{font-size:6px;letter-spacing:1.1px}.today-icon{position:absolute;right:17px;top:42px;color:#bd9e72;transform:rotate(-13deg)}.today-card h3{font-size:15px;line-height:1.7;margin:14px 0 8px;letter-spacing:-.7px}.today-card p{font-size:9px;line-height:1.8;max-width:156px}.today-card button{display:flex;gap:35px;align-items:center;color:#977c53;font-size:9px;margin-top:14px;padding:0}.friends-section{margin-top:31px}.friend-list{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.friend-tile{display:flex;align-items:center;text-align:left;background:#f4f0e5;border:1px solid #e6e0d2;border-radius:10px;overflow:hidden;padding:0 14px 0 0;min-width:0}.character{background-repeat:no-repeat;flex-shrink:0;aspect-ratio:1;background-color:#f5eedf}.friend-tile .character{width:95px;mix-blend-mode:multiply;margin-right:12px}.friend-tile>div:nth-child(2){display:flex;flex-direction:column;gap:4px;min-width:0}.friend-tile span{font-size:7px;color:#a08e6c}.friend-tile strong{font-family:var(--round);font-size:12px;letter-spacing:-.6px}.friend-tile small{font-size:8px;color:#8e947c;white-space:nowrap}.friend-tile>svg{margin-left:auto;color:#a6ad91}.page-footer{justify-content:space-between;border-top:1px solid var(--line);margin-top:30px;padding:19px 0 22px;gap:12px;font-size:8px;color:#a3a58c}.page-footer,.page-footer>span{display:flex;align-items:center}.page-footer>span{gap:7px;font-family:var(--round);font-weight:700;color:#788369}.page-footer p{font-size:8px}.page-footer button{font-size:8px;color:#91997e}.subtitle{font-size:12px;margin:8px 0 25px}.page>h1{margin-top:9px}.journey-banner{height:190px;border-radius:14px;overflow:hidden;display:grid;grid-template-columns:35% 65%;background:#eae6d7;border:1px solid var(--line);margin-bottom:27px}.journey-banner>div:first-child{padding:26px 30px;color:#7f8f6b}.journey-banner h2{margin:9px 0;font-size:22px}.journey-banner p{font-size:11px}.journey-image{background:url(/art/town.png) center 55%/cover}.mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-bottom:40px}.mission-card{position:relative;text-align:left;border:1px solid #e3dece;border-radius:12px;background:#f3efe3;padding:23px;transition:.2s}.mission-card:hover{transform:translateY(-3px);border-color:#b9c6a4}.mission-card.available{background:#eaf0e0;border-color:#bccdaa}.mission-number{font:35px Georgia,serif;color:#cdcbb6;display:block;margin-bottom:14px}.mission-status{position:absolute;right:22px;top:23px;color:#a0ac8b}.mission-card small{font-size:8px;color:#95977e}.mission-card h3{margin:5px 0 10px;font-size:17px}.mission-card p{font-size:10px;min-height:49px;line-height:1.8}.mission-reward{display:flex;align-items:center;gap:8px;border-top:1px solid #dcdcc8;padding-top:15px;margin-top:20px;font-size:10px;color:#9c8b56}.mission-reward>svg{margin-left:auto}.collection-heading{justify-content:space-between;gap:20px;margin-top:10px}.collection-heading,.deck-save{display:flex;align-items:center}.deck-save{gap:18px;white-space:nowrap}.deck-save>strong{font:19px var(--round);color:#8c9a72}.info-strip{gap:12px;border:1px solid #e1dac5;background:#f1ead8;padding:13px 18px;border-radius:8px;font-size:11px;color:#8b835d;margin-bottom:25px}.info-strip,.info-strip button{display:flex;align-items:center}.info-strip button{gap:8px;margin-left:auto;font-size:10px}.filter-row{display:flex;gap:7px;align-items:center;margin:20px 0 26px;flex-wrap:wrap}.filter-row button{padding:8px 15px;border:1px solid #dddccc;border-radius:6px;font-size:10px;color:#8c927a}.filter-row button.active{background:#e4ead8;border-color:#c0ccad;color:#586c48}.filter-row>span{margin-left:auto;font-size:8px;color:#969b85}.card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;padding-bottom:40px}.game-card{border:1px solid #dfcfb4;padding:5px;background:#f8efdd;border-radius:10px;position:relative;overflow:hidden;box-shadow:0 3px 0 #c8b99725;transition:transform .18s,border-color .18s;text-align:left;min-width:0;width:100%}.game-card:hover:not(:disabled){transform:translateY(-6px);border-color:#b5986d}.game-card.selected{border:2px solid #7f9865;padding:4px;box-shadow:0 0 0 3px #91a57d22}.card-art{position:relative;width:100%;aspect-ratio:1.1;background-repeat:no-repeat;border-radius:6px;border:1px solid #e9ddc6}.card-cost{position:absolute;top:5px;left:5px;background:#f9f1d8;border:1px solid #d4bd84;box-shadow:0 2px 3px #927c3420;display:flex;align-items:center;gap:1px;font-weight:800;color:#8e7945;border-radius:50%;width:25px;height:25px;justify-content:center;font-size:12px}.rare-dot{position:absolute;right:6px;top:7px;color:#a97736}.card-copy{padding:8px 6px 5px}.card-type{text-transform:uppercase;letter-spacing:1.2px;color:#9c9676;font-size:6px;display:block}.card-copy strong{display:block;font-size:10px;margin:4px 0 7px;color:#5e654d;font-family:var(--round);letter-spacing:-.4px}.card-copy p{font-size:8px;line-height:1.65;min-height:42px;color:#929078}.card-effect{display:flex;justify-content:center;align-items:center;gap:5px;margin-top:9px;padding-top:6px;border-top:1px solid #e0d5bc;color:#9a8b64;font-size:9px}.chosen-check{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:#7f9865;color:white;display:grid;place-items:center}.game-card.locked{filter:grayscale(.7);opacity:.55}.locked-cover{position:absolute;inset:0;background:#f4efdfc9;justify-content:center;flex-direction:column;gap:8px;color:#9b9c87;font-size:8px}.locked-cover,.shop-note{display:flex;align-items:center}.shop-note{gap:15px;background:#eee9d8;border:1px solid #e4dcc4;padding:16px 22px;border-radius:9px;margin-bottom:28px}.shop-note p{font-size:11px;max-width:660px}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.shop-card{border:1px solid #e4ddcd;border-radius:13px;padding:14px 18px 20px;background:#f7f2e7}.shop-art{height:175px;border-radius:8px;display:grid;place-items:center;background:#eadcc4;color:#b68d52}.shop-card.flowers .shop-art{background:#e0e7cc;color:#8eaa68}.shop-card.tram .shop-art{background:#dbe5e3;color:#7a9a92}.shop-card h3{font-size:17px;margin:19px 0 10px}.shop-card p{font-size:11px;line-height:1.8;min-height:60px}.secondary{display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #d7d8c3;border-radius:7px;padding:10px 16px;background:#edf0e2;color:#7b8969;font-size:11px;font-weight:600}.shop-card .secondary{width:100%;margin-top:17px}.future-note{display:flex;align-items:center;gap:20px;margin:35px 0;padding:24px;border:1px dashed #d9d4bf;border-radius:12px;color:#a39871}.future-note h3{font-size:15px;margin-bottom:7px}.future-note p{font-size:11px;max-width:650px}.decor-bunting{position:absolute;inset:10px 0 auto;text-align:center;font-size:27px;letter-spacing:9px;color:#c77650;text-shadow:10px 5px #e6c273}.decor-flowers{position:absolute;bottom:12px;left:20px;display:flex;color:#d37661;gap:9px}.decor-tram{position:absolute;bottom:65px;right:20px;background:#f5edcf;color:#819669;font-size:8px;padding:7px;border-radius:5px}.play-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.play-heading h1{font-size:27px;margin-top:5px}.play-heading p{font-size:11px;margin-top:5px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px 0;font-size:10px;color:#8a947b}.icon-button{color:#899974;padding:8px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:22px}.game-area{min-width:0}.game-hud{justify-content:space-between;gap:10px;background:#eee8d9;border:1px solid #e0d8c6;border-radius:10px 10px 0 0;padding:13px 20px;color:#8b967a;font-size:10px}.game-hud,.game-hud>span{display:flex;align-items:center}.game-hud>span{gap:6px}.game-hud .energy{color:#b89943}.game-hud .hp{color:#bb7d68}.board-scene{background:#d8dec7 url(/art/town.png) center 30%/cover;position:relative;border:1px solid #cecdb5;border-top:0;padding:20px 26px 12px;isolation:isolate;border-radius:0 0 12px 12px}.board-scene:before{content:"";position:absolute;inset:0;z-index:-1;background:#eeecd8db;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.board-caption{display:flex;justify-content:space-between;align-items:center;font-size:7px;letter-spacing:1px;color:#8b9472;margin-bottom:20px;gap:10px}.board-caption>span:last-child{display:flex;align-items:center;gap:6px;font-size:7px;letter-spacing:0}.board{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;transform:perspective(900px) rotateX(10deg);margin:0 auto;max-width:690px}.tile{aspect-ratio:1.07;border-radius:7px;background:#e5ddbf;border:1px solid #c8be9f;box-shadow:0 4px 0 #c3b791;position:relative;display:grid;place-items:center;transition:.18s}.tile:hover{filter:brightness(1.04);transform:translateY(-2px)}.tile.water{background:#a7d1cd;border-color:#91bbb4;box-shadow:0 4px 0 #81aba4}.waves{font:36px/.5 Georgia,serif;letter-spacing:11px;color:#d2e6d8;transform:rotate(-5deg);margin-left:8px}.tile.clutter{background:#d7ceb4}.clutter-pieces{display:flex;align-items:center;color:#a59370;transform:rotate(-24deg)}.tile.bridge{background:#c9ae7e;overflow:hidden}.bridge-planks{position:absolute;inset:3px;background:repeating-linear-gradient(90deg,#d8c08f 0 14px,#b79c6f 14px 16px);border-radius:3px;border:2px solid #bea275}.tile-grass{color:#a8ae78;letter-spacing:12px;font-size:20px}.tile.goal{background:#dae3b8}.goal-flag{color:#9ba569}.lantern-token{position:absolute;color:#e4ac47;display:grid;place-items:center;z-index:2;width:44px;height:52px;filter:drop-shadow(0 3px 2px #99894422);animation:bob 3s ease-in-out infinite}.lantern-token:before{content:"";position:absolute;inset:9px 6px 2px;border:2px solid #b18b43;border-radius:5px;background:#ffecae;z-index:-1;box-shadow:0 0 20px #ffeb9855}.lantern-token:after{content:"";position:absolute;width:16px;height:10px;border:2px solid #b18b43;border-bottom:none;border-radius:8px 8px 0 0;top:0}.tile.valid{outline:2px solid #6f9263;outline-offset:1px;filter:brightness(1.04)}.target-dot{position:absolute;width:10px;height:10px;background:#648c58;border-radius:50%;bottom:7px;box-shadow:0 0 0 4px #ffffff45}.board-bottom-label{display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px;color:#8c8d6d;min-height:37px;margin-top:10px}.hand-heading{display:flex;align-items:center;gap:12px;margin:19px 0 12px;font-size:10px}.hand-heading strong>span{color:#a5a58c;margin-left:7px;font-size:9px;font-weight:400}.hand-heading>span{margin-left:auto;color:#a1a48e;font-size:8px}.hand-heading .secondary{font-size:9px;padding:8px 10px;gap:6px}.hand{display:flex;gap:10px;align-items:flex-start;overflow-x:auto;padding:7px 3px 25px;min-height:200px}.hand .game-card{flex:0 0 125px;max-width:160px}.small .card-copy{padding:6px 5px}.small .card-copy strong{font-size:9px}.small .card-copy p{font-size:7px;min-height:36px}.small .card-art{aspect-ratio:1.3}.small .card-cost{width:22px;height:22px;font-size:10px}.mission-panel{padding:19px;border:1px solid #dedaca;background:#f2eee0;border-radius:12px;align-self:start}.mission-panel .eyebrow{font-size:6px;letter-spacing:1px}.mission-panel>.character{width:110px;margin:8px auto;mix-blend-mode:multiply}.mission-panel h3{font-size:16px;margin:11px 0}.mission-panel>p{font-size:10px;line-height:1.8}.mission-panel ul{list-style:none;margin:18px 0;padding:0;font-size:9px;color:#8d9279}.mission-panel li{display:flex;gap:7px;align-items:center;margin:11px 0}.mission-panel li>span{width:18px;height:18px;display:grid;place-items:center;border:1px solid #d6d7bf;border-radius:50%;font-size:8px;flex-shrink:0}.reward-chip{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:14px 0;border-top:1px solid #dedbc7;border-bottom:1px solid #dedbc7}.reward-chip strong{font-size:9px;color:#a48d56}.reward-chip small{font-size:7px;color:#aaa188;display:block;width:100%;padding-left:28px;margin-top:-7px}.game-log{padding-top:17px}.game-log h4{font-size:8px;color:#8a957b;font-weight:600}.game-log p{font-size:8px;line-height:1.7;margin-top:10px;color:#a2a38b}.game-log p:first-of-type{color:#738365}.toast{position:fixed;bottom:25px;left:calc(50% + 100px);transform:translateX(-50%);display:flex;align-items:center;gap:12px;max-width:600px;width:max-content;background:#fffdf5;border:1px solid #dcc9a7;box-shadow:0 8px 40px #4f55321a;padding:15px 18px;border-radius:10px;z-index:100;font-size:11px;color:#8c7c56}.toast>svg{color:#bf945b}.toast button{padding:0;display:grid;place-items:center;color:#a6a086}.modal-backdrop{position:fixed;inset:0;background:#2c403965;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:80;display:flex;align-items:center;justify-content:center;padding:25px;overflow-y:auto}.guest-modal,.help-modal,.result-modal{position:relative;background:#faf6eb;border:1px solid #e3dbc5;border-radius:19px;padding:34px 40px;max-width:480px;width:100%;box-shadow:0 25px 100px #20382930;text-align:center;animation:arrive .25s ease-out;max-height:90dvh;overflow-y:auto}.close-modal{position:absolute;top:16px;right:16px;color:#9ea28b;padding:3px}.guest-modal>.character{width:130px;margin:-15px auto 12px;mix-blend-mode:multiply}.guest-modal .eyebrow,.help-modal .eyebrow,.result-modal .eyebrow{justify-content:center;font-size:7px}.guest-modal h2,.help-modal h2,.result-modal h2{font-size:25px;line-height:1.5;margin:12px 0}.guest-modal>p,.help-modal>p,.result-modal>p{font-size:12px;line-height:1.8;margin-bottom:20px}.guest-modal form{text-align:left}.guest-modal label{font-size:9px;color:#91947a;display:block;margin-bottom:7px}.guest-modal input{width:100%;border:1px solid #d8d5c1;border-radius:7px;background:#fffcf4;padding:12px;color:#627251;font-size:13px}.guest-modal .primary{width:100%;margin-top:15px}.guest-modal>small{display:block;font-size:8px;color:#a2a28b;line-height:1.8;margin-top:20px}.help-modal .primary{margin-top:20px}.help-steps{text-align:left}.help-steps p{display:flex;gap:13px;border-top:1px solid #e5dfce;padding:15px 0;font-size:10px;line-height:1.9}.help-steps svg{width:22px;flex-shrink:0;margin-top:4px;color:#b49b6c}.help-steps b{display:block;color:#6c7a59;margin-bottom:4px}.help-modal>.secondary{margin:20px auto 0}.result-icon{display:grid;place-items:center;width:80px;height:80px;border-radius:50%;background:#e2e9d3;color:#8f9c68;margin:0 auto 22px}.result-modal>.primary{width:100%;margin-bottom:15px}.unlocks{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:22px}.unlocks span{font-size:9px;display:flex;gap:5px;align-items:center;background:#eee6cf;border-radius:6px;padding:7px 10px;color:#a68c55}@keyframes bob{50%{transform:translateY(-3px)}}@keyframes arrive{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1600px){.page{padding-top:45px}.hero,.hero-art{min-height:420px}.hero-copy{padding:46px 0 42px 43px}.hero-copy h2{font-size:39px}.hero-copy p{font-size:13px;max-width:330px}.hero-note{font-size:9px}.hero-copy .primary{padding:15px 22px;font-size:13px}.town-columns{grid-template-columns:1fr 280px;gap:35px}.story-stop strong{font-size:13px}.story-stop>span:last-child{font-size:9px}.story-stop small{font-size:8px}.today-card h3{font-size:18px}.today-card p{font-size:11px}.friend-tile .character{width:110px}.friend-tile strong{font-size:15px}.friend-tile span{font-size:9px}.friend-tile small{font-size:10px}.section-title h2{font-size:18px}.section-title p{font-size:12px}}@media(max-width:1200px){.sidebar{width:200px;padding:32px 16px 20px}.brand>span:last-child{font-size:23px}.brand small{font-size:6px}.main{margin-left:200px}.topbar{padding-inline:28px}.page{padding:30px 28px 0}.top-actions{gap:13px}.breadcrumb>span{display:none}.hero-copy{padding:30px 0 28px 24px}.hero-copy h2{font-size:25px}.hero-copy p{font-size:10px;max-width:230px}.hero{grid-template-columns:45% 55%}.hero,.hero-art{min-height:325px}.hero-note{font-size:6px}.town-columns{grid-template-columns:1fr 200px;gap:19px}.today-card{padding:15px}.today-card h3{font-size:13px}.today-icon{right:10px}.today-icon svg{width:23px}.today-card p{font-size:8px;max-width:145px}.friend-tile .character{width:75px;margin-right:8px}.friend-tile small{font-size:7px}.friend-tile strong{font-size:11px}.friend-tile span{font-size:6px}.game-layout{grid-template-columns:minmax(0,1fr) 180px;gap:15px}.board-scene{padding:15px 15px 8px}.mission-panel{padding:15px}.card-grid{grid-template-columns:repeat(4,1fr);gap:15px}.hand-heading>span{display:none}.shop-grid{gap:15px}.shop-art{height:140px}.shop-card h3{font-size:14px}.shop-card p{font-size:10px}.toast{left:calc(50% + 75px)}}@media(max-width:960px){.sidebar{width:76px;padding:30px 10px}.brand{justify-content:center;padding:0}.brand>span:last-child,.nav-caption,.sidebar nav button>span,.sidebar nav small,.sidebar-bottom,.sidebar-rule{display:none}.sidebar .brand-flag{margin:0}.sidebar nav{margin-top:45px;gap:15px}.sidebar nav button{padding:13px;justify-content:center}.main{margin-left:76px}.topbar{height:69px}.profile-pill>span:last-child{display:none}.hero-copy h2{font-size:26px}.hero-copy p{font-size:11px}.hero{grid-template-columns:46% 54%}.town-columns{grid-template-columns:1fr 210px}.friend-tile small{white-space:normal}.card-grid{grid-template-columns:repeat(4,1fr)}.mission-grid{grid-template-columns:repeat(2,1fr)}.game-layout{grid-template-columns:1fr}.mission-panel{display:none}.toast{left:calc(50% + 30px)}.board{max-width:580px}.play-page{padding-bottom:30px}}@media(max-width:700px){.sidebar{inset:auto 0 0;width:100%;height:66px;padding:0 10px;border-top:1px solid #72836c55;z-index:60}.brand{display:none}.sidebar nav{flex-direction:row;margin:0;justify-content:space-around;gap:0;height:100%}.sidebar nav button{padding:10px 6px;flex:1 1;display:flex;flex-direction:column;gap:3px;font-size:8px;border-radius:0}.sidebar nav button>span:not(.nav-dot){display:block;font-size:7px}.sidebar nav button>svg{width:18px;height:18px}.sidebar nav button.active{background:none;color:#f6deb7;box-shadow:inset 0 3px #e1ad81}.sidebar nav button.active svg{color:#f6deb7}.main{margin-left:0;padding-bottom:66px}.topbar{padding:0 20px;height:62px}.breadcrumb{font-size:9px}.top-actions{gap:14px}.wallet>span:last-child{display:none}.wallet{gap:5px}.wallet strong{font-size:11px}.page{padding:26px 20px 0}.page-heading{margin-bottom:20px}.page-heading h1{font-size:23px;line-height:1.5;max-width:280px}.page-heading p{font-size:10px;max-width:265px;line-height:1.9}.page-heading .eyebrow{font-size:6px;letter-spacing:.9px}.chapter-stamp{font-size:5px;padding:9px;max-width:68px;margin-top:10px}.chapter-stamp b{font-size:25px}.chapter-stamp>span{font-size:4px}.hero{display:flex;flex-direction:column-reverse;min-height:0;border-radius:12px}.hero-art{min-height:240px;background-position:center 56%}.hero-copy{padding:23px 24px 27px}.hero-copy:after{display:none}.hero-copy h2{font-size:28px;margin-top:10px}.hero-copy p{font-size:11px;max-width:310px}.hero-copy .primary{margin-top:17px}.hero-note{font-size:7px}.postcard-label{right:16px;bottom:18px;font-size:8px;padding:7px 10px}.postcard-label i{font-size:6px}.town-columns{grid-template-columns:1fr;margin-top:26px;gap:23px}.today-card{padding:18px 22px;min-height:150px}.today-card .eyebrow{font-size:6px}.today-card h3{font-size:16px;line-height:1.5;margin:10px 0 6px}.today-card h3 br{display:none}.today-card p{font-size:10px;max-width:240px}.today-icon{right:20px;top:45px;opacity:.7}.today-icon svg{width:35px;height:35px}.today-card button{font-size:10px;margin-top:12px}.section-title h2{font-size:13px;max-width:230px;line-height:1.7}.section-title>button{font-size:8px}.story-stop strong{font-size:9px;letter-spacing:-.5px}.story-stop>span:last-child{font-size:6px}.story-stop small{font-size:5px;letter-spacing:1px}.story-route{gap:7px}.stop-icon{width:39px;height:39px}.story-route:before{top:19px}.progress-caption{font-size:7px}.friend-list{grid-template-columns:1fr;gap:10px}.friend-tile .character{width:87px;margin-right:16px}.friend-tile strong{font-size:14px}.friend-tile span{font-size:8px}.friend-tile small{font-size:9px}.friends-section{margin-top:27px}.page-footer{flex-wrap:wrap;margin-top:25px;padding-bottom:19px}.page-footer p{order:3;width:100%;font-size:7px}.page-footer>span{font-size:9px}.collection-heading h1,.page>h1{font-size:25px}.subtitle{font-size:11px;line-height:1.9}.journey-banner{height:150px;grid-template-columns:48% 52%}.journey-banner>div:first-child{padding:20px}.journey-banner h2{font-size:17px}.journey-banner p{font-size:8px}.mission-grid{gap:12px}.mission-card{padding:17px}.mission-card h3{font-size:14px;line-height:1.6}.mission-card p{font-size:9px;min-height:70px}.mission-number{font-size:29px}.mission-card small{font-size:7px}.mission-reward{font-size:8px;gap:4px}.mission-status{right:15px;top:18px}.collection-heading{align-items:flex-start}.deck-save{flex-direction:column;gap:8px}.deck-save>strong{font-size:15px}.deck-save .primary{font-size:8px;padding:8px 10px;gap:5px}.filter-row{gap:5px}.filter-row button{padding:7px 11px;font-size:9px}.filter-row>span{margin-left:0;width:100%;margin-top:7px;font-size:8px}.card-grid{grid-template-columns:repeat(3,1fr);gap:12px}.card-copy strong{font-size:9px;min-height:26px;line-height:1.5}.card-copy p{font-size:7px;min-height:48px}.card-copy{padding:6px 3px}.card-type{font-size:5px}.card-cost{width:21px;height:21px;font-size:10px}.card-cost svg{width:9px}.card-art{aspect-ratio:1}.info-strip{font-size:9px;padding:12px;gap:8px}.info-strip button{font-size:9px;white-space:nowrap}.shop-grid{grid-template-columns:1fr}.shop-card{display:grid;grid-template-columns:100px 1fr;gap:0 18px;padding:15px}.shop-art{height:110px;grid-row:1/4}.shop-art>svg{width:50px}.shop-card h3{font-size:14px;margin:0 0 5px}.shop-card p{font-size:9px;min-height:0}.shop-card .secondary{font-size:9px;margin-top:10px;padding:8px}.shop-note{padding:13px;gap:10px}.shop-note p{font-size:10px}.future-note{padding:18px;gap:13px;align-items:flex-start}.future-note>svg{flex-shrink:0}.future-note h3{font-size:13px}.future-note p{font-size:10px}.play-heading h1{font-size:22px}.play-heading p{font-size:9px;max-width:280px}.game-hud{padding:12px 10px;font-size:8px;gap:5px}.game-hud svg{width:14px}.game-hud>span{gap:4px}.board-scene{padding:15px 10px 8px}.board-caption{font-size:6px;letter-spacing:.8px;margin-bottom:15px}.board-caption>span:last-child{font-size:6px;max-width:110px;text-align:right}.board{gap:4px}.tile{border-radius:5px;aspect-ratio:.9;box-shadow:0 3px 0 #c3b791}.waves{font-size:26px;letter-spacing:7px}.clutter-pieces>svg:first-child{width:18px}.clutter-pieces>svg:last-child{width:13px}.goal-flag{width:22px}.lantern-token{transform:scale(.8);width:35px;height:44px}.lantern-token>svg{width:22px}.board-bottom-label{font-size:7px;gap:5px}.hand-heading strong{font-size:10px}.hand-heading>span{display:none}.hand-heading .end-turn{margin-left:auto;font-size:8px}.hand{margin-right:-20px;padding-right:20px}.hand .game-card{flex-basis:113px}.small .card-copy strong{min-height:0;font-size:8px}.small .card-copy p{min-height:37px}.toast{bottom:80px;left:50%;max-width:calc(100% - 24px);width:max-content;font-size:10px;padding:12px;gap:8px}.modal-backdrop{padding:15px}.guest-modal,.help-modal,.result-modal{padding:30px 24px;border-radius:15px}.guest-modal h2,.help-modal h2,.result-modal h2{font-size:23px}.guest-modal>p,.help-modal>p,.result-modal>p{font-size:11px}.guest-modal>.character{width:115px}.help-steps p{font-size:10px}}.board{grid-template-columns:repeat(6,minmax(0,1fr))}.tile{min-width:0;width:100%;padding:0}.goal-flag{position:absolute;inset:0;margin:auto}.waves{max-width:100%;overflow:hidden}.board-scene,.game-area{min-width:0}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.shop-section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:28px 0 18px}.shop-section-heading h2{font-size:20px}.shop-section-heading>span{font-size:10px;color:#90977f}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.product-card{border:1px solid #e4ddcd;border-radius:13px;overflow:hidden;background:#f7f2e7;display:flex;flex-direction:column}.product-art{height:190px;position:relative;background-repeat:no-repeat}.product-art>span{position:absolute;top:13px;left:13px;background:#fff9e8ed;border:1px solid #d8caa9;border-radius:20px;padding:5px 10px;font-size:8px;letter-spacing:1px}.product-copy{padding:20px;display:flex;flex-direction:column;flex:1 1}.product-copy h3{font-size:18px;margin:8px 0 12px}.product-copy>p{font-size:10px;line-height:1.9;margin-bottom:14px}.product-owned{font-size:9px;color:#8e977a;margin-top:auto}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:16px;padding-top:15px;border-top:1px solid #e4ddcd}.product-bottom>strong{font:700 23px var(--round);color:#936748}.product-bottom>.secondary{font-size:9px;padding:9px 12px}.product-bottom>button:disabled{opacity:.7}@media(max-width:1200px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.shop-section-heading{align-items:flex-start;flex-direction:column;gap:6px}.shop-section-heading h2{font-size:18px}.product-grid{grid-template-columns:1fr;gap:16px}.product-art{height:200px}.product-copy h3{font-size:19px}.product-copy>p{font-size:11px}.product-copy .eyebrow{font-size:7px}}.language-picker{display:flex;gap:5px;align-items:center;color:#7e8b72;font-size:13px}.language-picker select{max-width:112px;border:1px solid #dedbc9;border-radius:6px;background:#faf7f0;color:#66745d;padding:7px 4px;font:10px var(--sans);cursor:pointer}.top-actions{gap:15px}.hero-copy h2{white-space:normal;font-size:clamp(23px,2.2vw,37px);line-height:1.5}.hero-copy{padding-right:10px}.brand small{font-size:6px;letter-spacing:.6px}.nav-caption{letter-spacing:1px}.sidebar nav button{font-size:11px}.page{animation:page-in .3s ease-out}.hand .game-card{animation:card-in .35s ease-out both}.hand .game-card:nth-child(2){animation-delay:.05s}.hand .game-card:nth-child(3){animation-delay:.1s}.hand .game-card:nth-child(4){animation-delay:.15s}.hand .game-card:nth-child(5){animation-delay:.2s}.friend-tile .character{transition:transform .3s}.friend-tile:hover .character{transform:translateY(-4px) rotate(-3deg)}.tile.valid{animation:tile-pulse 1.6s ease-in-out infinite}.board{position:relative;--tile-gap:5px}.lantern-position{position:absolute;width:calc((100% - 5 * var(--tile-gap)) / 6);height:calc((100% - 2 * var(--tile-gap)) / 3);display:grid;place-items:center;pointer-events:none;z-index:3;transition:left .45s cubic-bezier(.2,.8,.2,1),top .45s cubic-bezier(.2,.8,.2,1)}.lantern-position .lantern-token{position:relative}.celebration{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:19px}.celebration i{position:absolute;top:-15px;width:7px;height:12px;border-radius:2px;animation:confetti 2.6s ease-in both}.result-icon{animation:win-pop .65s cubic-bezier(.2,1.7,.4,1)}.site-footer{max-width:1400px;margin:40px auto 0;padding:27px 44px 30px;border-top:1px solid var(--line);font-size:10px;color:#89927d}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-brand{display:inline-flex;gap:9px;align-items:center;text-decoration:none;font:700 18px var(--round);color:#60765c;white-space:nowrap}.footer-top>p{font-size:10px;max-width:510px}.site-footer nav{display:flex;flex-wrap:wrap;gap:13px 22px;margin:23px 0}.site-footer nav a{text-decoration:none;font-size:10px;color:#6f7d66}.site-footer nav a:hover{text-decoration:underline}.footer-company{display:flex;flex-wrap:wrap;gap:7px 20px;font-size:9px;line-height:1.9}.prototype-note{font-size:9px;margin-top:15px;color:#a18b67}.legal-shell{min-height:100vh}.legal-header{border-bottom:1px solid var(--line);padding:24px max(24px,calc((100vw - 1000px) / 2));display:flex;justify-content:space-between;align-items:center;gap:20px}.legal-content{max-width:880px;margin:auto;padding:35px 28px}.legal-content>h1{margin:18px 0 8px}.legal-updated{font-size:10px;margin-bottom:27px}.merchant-box{background:#eee9d9;border:1px solid #e0d8c0;border-radius:12px;padding:23px;margin-bottom:30px}.merchant-box h2{font-size:17px;margin-bottom:14px}.merchant-box p,.merchant-box>a{font-size:12px;margin:6px 0;overflow-wrap:anywhere}.merchant-box>strong{font-size:14px}.legal-section{margin:28px 0}.legal-section h2{font-size:20px;margin-bottom:13px}.legal-section p{font-size:13px;line-height:1.9;margin:12px 0}.legal-shell .site-footer{max-width:1000px}.legal-section>.primary{overflow-wrap:anywhere;font-size:12px}.card-copy strong{overflow-wrap:anywhere}.product-copy h3,.shop-card h3{line-height:1.6}.hero-note{line-height:1.8}.hero-copy .primary{gap:12px}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes card-in{0%{opacity:0;transform:translateY(15px) rotate(-3deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes tile-pulse{50%{outline-color:#a7bb87}}@keyframes confetti{to{top:110%;transform:rotate(430deg) translateX(25px);opacity:0}}@keyframes win-pop{0%{transform:scale(.5) rotate(-15deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@media(max-width:960px){.top-actions{gap:10px}.language-picker select{max-width:90px}}@media(max-width:700px){.topbar{padding-inline:14px}.top-actions{gap:9px}.language-picker select{max-width:90px;font-size:9px}.language-picker>span{display:none}.breadcrumb{max-width:85px;line-height:1.5}.breadcrumb>svg{display:none}.topbar .wallet{font-size:9px}.hero-copy h2{font-size:26px}.hero-copy{padding-right:24px}.board{--tile-gap:4px}.sidebar nav button>span:not(.nav-dot){font-size:7px;max-width:68px;overflow-wrap:anywhere;line-height:1.3}.sidebar nav button{justify-content:center}.site-footer{padding:24px 20px 28px;margin-top:30px}.footer-top{align-items:flex-start;flex-direction:column;gap:12px}.site-footer nav{gap:13px 19px}.footer-company{flex-direction:column;gap:5px}.legal-content{padding:28px 20px}.legal-content>h1{font-size:26px}.legal-section h2{font-size:20px}.legal-section p{font-size:12px}.hand .game-card{flex-basis:125px}.small .card-copy strong{font-size:9px}.small .card-copy p{font-size:8px;min-height:55px}}.consent-banner{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:110;background:#fffcf3;border:1px solid #d7cfb9;box-shadow:0 8px 45px #324b4028;border-radius:12px;padding:22px 25px;max-width:970px;width:calc(100% - 40px);display:flex;gap:24px;align-items:center}.consent-banner h2{font-size:18px;margin-bottom:8px}.consent-banner p{font-size:11px;line-height:1.8;max-width:560px}.consent-banner a{font-size:10px;display:inline-block;margin-top:8px;color:#7e8e67}.consent-actions{display:flex;gap:9px;flex-shrink:0;flex-wrap:wrap;max-width:300px;justify-content:center}.consent-actions .secondary{font-size:10px;flex:1 1;min-width:125px}.site-footer nav>button{font:10px var(--sans);color:#6f7d66;padding:0;text-decoration:underline}.consent-actions .text-button{flex-basis:100%}@media(max-width:700px){.consent-banner{bottom:76px;max-height:calc(100dvh - 100px);overflow:auto;flex-direction:column;align-items:stretch;gap:15px;padding:20px;width:calc(100% - 24px)}.consent-banner h2{font-size:16px}.consent-banner p{font-size:10px}.consent-actions{max-width:none}.consent-actions .secondary{font-size:10px;min-width:120px}}.currency-picker select{border:1px solid #dedbc9;border-radius:6px;background:#faf7f0;color:#66745d;padding:7px 4px;font:10px var(--sans);cursor:pointer;max-width:67px}.currency-disclosure{border:1px solid #dce1cb;background:#edf0e3;border-radius:9px;padding:15px 19px;margin:20px 0}.currency-disclosure>strong{font-size:12px;color:#6b805d}.currency-disclosure>p{font-size:10px;line-height:1.9;margin:5px 0}.currency-disclosure>small{font-size:9px;color:#8d977b}.display-price{display:flex;flex-direction:column;gap:5px;min-width:0}.display-price>strong{font:700 21px var(--round);color:#936748;white-space:nowrap}.display-price>small{font-size:8px;color:#9a987f;line-height:1.5}.product-bottom{align-items:flex-end;flex-wrap:wrap}.product-bottom>.secondary{margin-left:auto}.currency-footer{font-size:9px;margin:10px 0;color:#8b927c}@media(max-width:700px){.topbar .breadcrumb{display:none}.top-actions{width:100%;justify-content:flex-end;gap:12px}.topbar .profile-pill{margin-left:0}.currency-picker select{font-size:9px;max-width:62px}.display-price>strong{font-size:23px}.currency-disclosure{padding:13px}.currency-disclosure>strong{font-size:11px}}