.splash,.done{justify-content:center;align-items:center}.splash-card,.done-card{text-align:center;width:min(640px,100%);box-shadow:var(--shadow-lg);border-radius:36px;flex-direction:column;align-items:center;gap:14px;padding:clamp(20px,4vw,40px);display:flex}.splash-card h1,.done-card h1{margin:0;font-size:clamp(2rem,6vw,3.4rem);line-height:1.05}.splash-card p{max-width:32ch;margin:0;font-size:clamp(1.05rem,2.6vw,1.35rem)}.tully-badge.big{width:clamp(130px,22vw,190px)}.btn.go{border-radius:28px;min-height:84px;margin-top:8px;padding:0 40px;font-size:clamp(1.6rem,4vw,2.2rem)}.big-read{margin:0;font-size:clamp(1.2rem,3vw,1.6rem)}.done-stickers{flex-wrap:wrap;justify-content:center;gap:10px;max-width:520px;display:flex}.done-buttons{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.who-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(min(200px,42vw),1fr));align-content:center;gap:clamp(14px,2.5vw,28px);min-height:0;padding:8px;display:grid;overflow-y:auto}.who-card{cursor:pointer;font-family:var(--font-play);border-radius:32px;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;display:flex}.who-grid.animals{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:900px;margin:0 auto}.who-card b{font-size:clamp(1.4rem,3vw,2rem)}.who-card svg{width:clamp(84px,14vw,130px);height:auto}.who-card:active{box-shadow:1px 1px 0 var(--ink);transform:translate(3px,3px)}.who-card.add{border:4px dashed var(--line-soft);color:var(--muted);background:0 0;justify-content:center}.who-card .plus{border:4px dashed var(--line-soft);border-radius:50%;place-items:center;width:92px;height:92px;display:grid}.grownup-strip{border:3px solid var(--line-soft);background:var(--card);color:var(--ink-soft);border-radius:24px;align-items:center;gap:14px;padding:12px 16px;display:flex}.grownup-strip span{flex:1}.topbar{align-items:center;gap:clamp(10px,1.6vw,18px);display:flex}.topbar .talkrow{flex:1}.topbar-right{align-items:center;gap:12px;display:flex}.chip-btn{cursor:pointer;border-radius:50%;place-items:center;width:68px;height:68px;padding:0;display:grid}.count-btn{cursor:pointer;border-radius:999px;align-items:center;gap:10px;min-height:68px;padding:6px 18px 6px 8px;display:flex}.count-btn:active,.chip-btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(3px,3px)}.count{text-align:left;flex-direction:column;line-height:1;display:flex}.count b{font-variant-numeric:tabular-nums;font-size:1.8rem}.count small{color:var(--ink-soft);font-size:.95rem}.star-dot{background:var(--sun);border:3px solid var(--ink);border-radius:50%;flex:none;place-items:center;width:46px;height:46px;display:grid}.star-dot svg{fill:var(--card);stroke:var(--ink);stroke-width:2px}.lockbtn{width:60px;min-width:60px;padding:0}.homebtn{flex:none;width:72px;height:72px}.donebtn{flex:none}.home-body,.game-body,.atlas-body{flex:1;gap:clamp(12px,2vw,22px);min-height:0;display:flex;position:relative}.home-map{flex:1;min-width:0;display:flex}.tiles{flex-direction:column;flex:none;gap:clamp(10px,1.6vh,16px);width:clamp(240px,28vw,340px);display:flex}.tile{cursor:pointer;text-align:left;border-radius:28px;flex:1;align-items:center;gap:14px;min-height:72px;padding:0 16px;display:flex}.tile:active{box-shadow:1px 1px 0 var(--ink);transform:translate(3px,3px)}.tile-icon{aspect-ratio:1;border:3px solid var(--ink);border-radius:22px;flex:none;place-items:center;width:clamp(56px,7vw,76px);display:grid}.tile-text{flex-direction:column;gap:2px;min-width:0;display:flex}.tile-text b{font-size:clamp(1.4rem,2.6vw,2rem);line-height:1}.tile-text small{color:var(--ink-soft);font-size:clamp(.95rem,1.5vw,1.1rem)}.mapbox.loading{background:var(--ocean)}.ask-btn{border:3px solid var(--ink);background:var(--tomato);color:#fff;font-family:var(--font-play);box-shadow:5px 5px 0 var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:12px;padding:8px 24px 8px 8px;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:600;display:flex;position:absolute;bottom:16px;right:16px}.ask-btn:active{box-shadow:2px 2px 0 var(--ink);transform:translate(3px,3px)}.ask-orb{aspect-ratio:1;background:var(--card);width:clamp(56px,7vw,72px);color:var(--tomato);border:3px solid var(--ink);border-radius:50%;place-items:center;display:grid}.talk-panel{width:min(400px,100%);max-height:100%;box-shadow:var(--shadow-lg);z-index:5;border-radius:28px;flex-direction:column;gap:12px;padding:16px;display:flex;position:absolute;bottom:0;right:0;overflow-y:auto}.talk-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.talk-topic{align-items:center;gap:12px;min-width:0;display:flex}.talk-topic b,.talk-title{font-size:1.6rem;line-height:1.1}.mini-flag{flex:none;width:64px}.talk-mic{flex-direction:column;align-items:center;gap:8px;padding:4px 0 2px;display:flex}.talk-orb{aspect-ratio:1;border:3px solid var(--ink);background:var(--tomato);color:#fff;width:112px;box-shadow:4px 4px 0 var(--ink);cursor:pointer;border-radius:50%;place-items:center;transition:box-shadow 80ms linear,background .2s;display:grid;position:relative}.talk-orb:active{transform:translate(2px,2px)}.talk-orb.listening{background:var(--sun);color:var(--ink)}.talk-orb.thinking{background:var(--card);color:var(--tomato);animation:1.1s ease-in-out infinite orb-think}.talk-orb.locked{background:var(--card);color:var(--ink-soft)}.talk-orb-lock{aspect-ratio:1;border:3px solid var(--ink);background:var(--sun);width:36px;color:var(--ink);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-4px;right:-4px}@keyframes orb-think{50%{transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.talk-orb.thinking{animation:none}}.talk-mic-label{font-family:var(--font-play);font-size:1.3rem;font-weight:600}.talk-heard{text-align:center;color:var(--ink-soft);margin:0;font-size:1.05rem}.talk-grownup{text-align:center;border:2px dashed var(--ink-soft);border-radius:18px;flex-direction:column;align-items:center;gap:8px;padding:10px;display:flex}.talk-grownup p{margin:0;font-size:.98rem}.talk-card:disabled{opacity:.5}.talk-bigflag{align-self:center;width:min(220px,60%);rotate:-2deg}.talk-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.talk-card{border:3px solid var(--ink);background:var(--mint);min-height:92px;box-shadow:3px 3px 0 var(--ink);font-family:var(--font-play);cursor:pointer;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:1.15rem;font-weight:600;display:flex}.talk-card:nth-child(3n+2){background:var(--t-find)}.talk-card:nth-child(3n){background:var(--t-match)}.talk-card:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.game-main{flex:1;min-width:0;min-height:0;display:flex}.side{flex-direction:column;flex:none;gap:14px;width:clamp(240px,27vw,330px);min-height:0;display:flex;overflow-y:auto}.side-card{border-radius:26px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.side-card h2{margin:0;font-size:1.35rem}.side-card p{margin:0;font-size:1rem;line-height:1.35}.lands-card{background:var(--mint);border:3px solid var(--ink);box-shadow:var(--shadow)}.found-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.mini{aspect-ratio:1;border:3px solid var(--ink);background:#fff;border-radius:14px;place-items:center;min-width:0;padding:5px;display:grid;rotate:-4deg}.mini:nth-child(2n){rotate:3deg}.mini.round{border-radius:50%}.mini.empty{border:3px dashed var(--line-soft);color:var(--muted);background:0 0;font-size:1.5rem;font-weight:700;rotate:none}.mini.more{font-size:1.1rem;font-weight:700;rotate:none}.land-chips{flex-wrap:wrap;gap:8px;display:flex}.land-chip{border:3px solid var(--ink);background:var(--card);min-height:48px;font-family:var(--font-play);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:1.05rem;font-weight:600;display:inline-flex}.land-chip.on{background:var(--sun);box-shadow:3px 3px 0 var(--ink)}.land-chip .dot{border:2.5px solid var(--ink);border-radius:50%;flex:none;width:16px;height:16px}.shown-flag img{align-self:center;max-width:220px;rotate:-2deg}.flag-options{flex:1;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2.6vw,28px);min-height:0;padding:4px 8px 8px 4px;display:grid}.flag-opt{cursor:pointer;border-radius:28px;place-items:center;min-height:0;padding:clamp(8px,1.6vw,20px);display:grid;container-type:size}.flag-opt img{width:min(100cqw,133.333cqh)}.flag-opt:active{box-shadow:1px 1px 0 var(--ink);transform:translate(3px,3px)}.flag-opt.nope{opacity:.4}.flag-opt.glow{animation:.7s ease-in-out infinite alternate optglow}@keyframes optglow{to{box-shadow:0 0 0 8px var(--sun), var(--shadow)}}.match-main{flex-direction:column;flex:1;gap:14px;min-width:0;display:flex}.tray{justify-content:center;gap:14px;min-height:clamp(90px,15vh,130px);display:flex}.mcard{cursor:grab;touch-action:none;border-radius:20px;place-items:center;width:clamp(110px,16vw,170px);padding:10px;display:grid}.mcard.sel{box-shadow:0 0 0 5px var(--sun), var(--shadow)}.mcard.lifted{opacity:.35}.tray-empty{align-self:center;margin:0;font-size:1.2rem}.drag-ghost{z-index:60;pointer-events:none;border:3px solid var(--ink);width:120px;box-shadow:var(--shadow);background:#fff;border-radius:14px;padding:6px;position:fixed;transform:translate(-50%,-60%)rotate(-4deg)}.atlas-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tool-gap{width:12px}.atlas-body .mapbox{flex:1}.globebox{background:var(--card);place-items:center;display:grid}canvas.globe{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.place-card{z-index:4;border-radius:24px;align-items:flex-start;gap:14px;width:min(560px,100% - 28px);padding:14px;display:flex;position:absolute;bottom:14px;left:14px}.place-flag{flex:none;width:92px;rotate:-3deg}.place-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.place-text b{font-size:1.5rem;line-height:1.1}.place-text p{margin:0;font-size:1.05rem;line-height:1.35}.book-head{align-items:center;gap:14px;display:flex}.book-head .talkrow{flex:1;min-width:0}.book-head h1{margin:0;font-size:clamp(1.7rem,3.4vw,2.5rem)}.stars-help{min-height:52px;margin-left:auto;padding:0 14px;font-size:1.05rem}.book-total{border-radius:999px;align-items:center;gap:12px;padding:6px 18px 6px 8px;display:flex}.book-total .bar{border:3px solid var(--ink);background:var(--paper);border-radius:999px;width:clamp(90px,16vw,220px);height:18px;overflow:hidden}.book-total .bar span{background:var(--leaf);height:100%;display:block}.book-total b{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.5rem}.book-total small{color:var(--ink-soft);font-size:1rem;font-weight:400}.book-body{flex:1;gap:20px;min-height:0;display:flex}.book-pages{flex-direction:column;flex:none;gap:10px;width:clamp(200px,22vw,260px);padding:4px;display:flex;overflow-y:auto}.page-tab{border:3px solid var(--ink);min-height:56px;font-family:var(--font-play);text-align:left;cursor:pointer;background:0 0;border-radius:20px;align-items:center;gap:10px;padding:8px 14px;font-size:1.15rem;font-weight:600;display:flex}.page-tab.on{background:var(--card);box-shadow:var(--shadow)}.page-tab .dot{border:3px solid var(--ink);border-radius:50%;flex:none;width:18px;height:18px}.page-tab .page-name{flex:1;line-height:1.1}.page-tab .count{font-variant-numeric:tabular-nums;font-size:.95rem}.book-page{min-width:0;box-shadow:var(--shadow-lg);border-radius:30px;flex-direction:column;flex:1;gap:12px;padding:20px 22px 0;display:flex;position:relative}.tape{opacity:.75;border-radius:4px;width:120px;height:30px;margin-left:-60px;position:absolute;top:-14px;left:50%;rotate:-3deg}.page-title{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.page-title h2{margin:0;font-size:clamp(1.5rem,3vw,2.1rem)}.sticker-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(clamp(112px,12vw,150px),1fr));align-content:start;gap:18px 16px;min-height:0;padding:6px 4px 22px;display:grid}.sticker{cursor:pointer;font-family:var(--font-play);background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;padding:0;display:flex}.sticker .art{aspect-ratio:1;border:3px solid var(--ink);background:#fff;border-radius:24px;place-items:center;width:100%;padding:14%;display:grid;box-shadow:3px 4px #2b2a4c40}.sticker .art .blob{aspect-ratio:1;border:3px solid var(--ink);border-radius:50%;place-items:center;width:100%;display:grid}.sticker .art.q{background:var(--paper);border:3px dashed var(--line-soft);color:var(--muted);box-shadow:none;font-size:2.6rem;font-weight:700}.sticker .sname{text-align:center;overflow-wrap:anywhere;font-size:1.05rem;font-weight:600;line-height:1.1}.sticker.empty .sname{color:var(--ink-soft)}.sticker:active .art{transform:scale(.96)}.gu-head{justify-content:space-between;align-items:center;display:flex}.gu-sec{border-top:2px solid var(--line-soft);flex-direction:column;gap:10px;padding-top:14px;display:flex}.gu-sec h3{margin:0;font-size:1.3rem}.gu-sec p{margin:0;line-height:1.4}.gu-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gu-kids{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.gu-kids li{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gu-input{border:3px solid var(--line-soft);min-height:52px;font:600 1.15rem var(--font-play);color:var(--ink);-webkit-user-select:text;user-select:text;background:#fff;border-radius:14px;width:12ch;padding:0 14px}.gu-input.code{letter-spacing:.1em;width:10ch}.btn.small{min-height:48px;box-shadow:none;padding:0 14px;font-size:1rem}.gu-code .code{letter-spacing:.08em;font-size:1.6rem}.gu-msg{background:var(--mint);border-radius:14px;padding:10px 14px}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:599px),(max-aspect-ratio:5/4){.home-body,.game-body,.atlas-body{flex-direction:column}.tiles{flex:none;grid-template-columns:repeat(2,minmax(0,1fr));width:auto;display:grid}.tile{gap:10px;min-height:76px;padding:8px 10px}.tile-text small{display:none}.side{flex-direction:row;flex:none;gap:10px;width:auto;overflow:auto hidden}.side-card{flex:none}.side .found{width:min(260px,70vw)}.side .found p{display:none}.side .lands-card{flex:1;min-width:260px}.side .lands-card .land-chips{flex-wrap:nowrap;overflow-x:auto}.side .lands-card .land-chip{flex:none}.found-grid{grid-template-columns:repeat(8,40px)}.talk-panel{width:100%;max-height:62%}.talk-orb{width:88px}.book-body{flex-direction:column;gap:12px}.book-pages{flex-direction:row;flex:none;width:auto;overflow-x:auto}.page-tab{flex:none}.book-head .talkrow .tully-badge{display:none}.sticker-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:14px 10px}}@media (max-width:599px){.topbar,.book-head{flex-wrap:wrap;row-gap:10px}.topbar .talkrow,.book-head .talkrow{flex:100%;order:5}.topbar-right,.donebtn{margin-left:auto}.topbar .bubble{min-height:60px;padding:8px 10px 8px 14px}.topbar .tully-badge{width:56px}.side{flex-direction:column;gap:8px;overflow:visible}.side-card{flex-direction:row;align-items:center;padding:6px 10px}.side-card h2,.side .found p{display:none}.side .found,.side .lands-card{width:auto;min-width:0}.side .found .found-grid{gap:6px;display:flex;overflow-x:auto}.side .found .mini{flex:none;width:40px}.side .lands-card .land-chips{flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.side .shown-flag img{max-width:120px}.chip-btn{width:60px;height:60px}.lockbtn{min-height:60px}.homebtn{width:60px;height:60px;min-height:60px}.donebtn span{display:none}.donebtn{padding:0 14px}.count-btn{min-height:60px;padding:4px 12px 4px 4px}.count small{display:none}.ask-btn{padding:6px}.ask-btn>:not(.ask-orb){display:none}.book-head h1{font-size:1.5rem}.book-total .bar{display:none}}@media (max-height:520px){.screen{gap:8px}.topbar .tully-badge{width:52px}.topbar .bubble{min-height:54px;padding:6px 8px 6px 14px}.bubble p{font-size:1.05rem}.homebtn,.chip-btn,.count-btn{width:auto;height:56px;min-height:56px}.homebtn{width:56px}.btn{min-height:56px}.tile{min-height:0;padding:4px 10px}.tile-icon{border-radius:16px;width:48px}.tile-text small,.side .found p,.side-card h2{display:none}.side-card{padding:10px}.land-chip{min-height:44px;padding:0 10px;font-size:.95rem}.tray{min-height:76px}.mcard{width:96px;padding:6px}.ask-orb{width:48px}.flag-opt{padding:8px}.who-card svg{width:70px}.grownup-strip{display:none}}.race-card{text-align:center;align-items:center}.race-clock{aspect-ratio:1;align-content:center;place-items:center;width:clamp(120px,15vw,168px);display:grid;position:relative}.race-clock svg{position:absolute;inset:0;rotate:-90deg}.race-track{fill:var(--card);stroke:var(--line-soft);stroke-width:9px}.race-fill{fill:none;stroke:var(--leaf);stroke-width:9px;stroke-linecap:round;stroke-dasharray:276.5;transition:stroke-dashoffset .2s linear,stroke .3s}.race-clock.hurry .race-fill{stroke:var(--tomato)}.race-clock.hurry b{color:var(--tomato);animation:1s ease-in-out infinite race-pulse}@keyframes race-pulse{50%{scale:1.12}}@media (prefers-reduced-motion:reduce){.race-clock.hurry b{animation:none}}.race-clock b{font-variant-numeric:tabular-nums;font-size:clamp(2.4rem,4.5vw,3.4rem);line-height:1;position:relative}.race-clock small{color:var(--ink-soft);font-size:.95rem;position:relative}.race-score{color:var(--tomato);align-items:center;gap:8px;display:flex}.race-score b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:2.2rem}.race-best{margin:0}.race-start{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;padding:16px;display:flex}.race-start h2{margin:0;font-size:clamp(2rem,4.5vw,3.2rem);line-height:1.05}.race-start p{margin:0;font-size:1.2rem}.race-big{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:10px;display:flex;font-size:1.6rem!important}.race-big b{font-size:clamp(3.5rem,8vw,5.5rem);line-height:1}.race-new{background:var(--sun);color:var(--ink);border:2px solid var(--ink);border-radius:999px;padding:2px 12px;font-size:1.1rem;rotate:-3deg}.race-times{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.race-go{min-height:76px;padding:0 36px;font-size:1.6rem}@media (max-width:599px),(max-aspect-ratio:5/4){.tiles .tile:last-child{grid-column:span 2}.race-card{flex-direction:row;gap:14px}.race-clock{width:96px}.race-clock small{display:none}}:root{--paper:#fbf4e6;--card:#fffdf8;--ink:#2b2a4c;--ink-soft:#4a4866;--muted:#6e6a8c;--line-soft:#a39fbf;--ocean:#cfe8f1;--wave:#9ccbdc;--tomato:#c8432e;--sun:#f2cb57;--leaf:#78bd93;--leaf-deep:#4e9a68;--mint:#e3f1e4;--c-namerica:#f0a35e;--c-samerica:#e5776e;--c-europe:#9c8ad0;--c-africa:#f2cb57;--c-asia:#78bd93;--c-oceania:#67aedb;--c-antarctica:#fff;--c-none:#d9d2c3;--t-find:#fde2c4;--t-match:#e6e0f5;--t-flags:#f8d6d2;--t-atlas:#d7eedd;--t-race:#fbeab0;--font-play:"Fredoka", "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;--font-read:"Andika", "Trebuchet MS", system-ui, sans-serif;--shadow:4px 4px 0 var(--ink);--shadow-lg:6px 6px 0 var(--ink);--gutter:clamp(12px, 2.4vw, 32px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-play);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overscroll-behavior:none;margin:0}button{font:inherit;color:inherit}img{-webkit-user-drag:none}:focus-visible{outline:4px solid var(--tomato);outline-offset:3px}.screen{height:100dvh;padding:max(env(safe-area-inset-top), var(--gutter)) max(env(safe-area-inset-right), var(--gutter)) max(env(safe-area-inset-bottom), var(--gutter)) max(env(safe-area-inset-left), var(--gutter));flex-direction:column;gap:clamp(10px,2vh,20px);display:flex;overflow:hidden}.scroll{-webkit-overflow-scrolling:touch;overflow-y:auto}.ink{background:var(--card);border:3px solid var(--ink);box-shadow:var(--shadow);border-radius:26px}.btn{border:3px solid var(--ink);background:var(--card);min-width:64px;min-height:64px;box-shadow:var(--shadow);font-family:var(--font-play);cursor:pointer;touch-action:manipulation;border-radius:22px;justify-content:center;align-items:center;gap:10px;padding:0 22px;font-size:clamp(1.1rem,2.2vw,1.5rem);font-weight:700;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(3px,3px)}.btn.round{border-radius:50%;padding:0}.btn.sun{background:var(--sun)}.btn.leaf{background:var(--leaf)}.btn.tomato{background:var(--tomato);color:#fff}.btn.plain{box-shadow:none;border-color:var(--line-soft);color:var(--ink-soft)}.btn.plain:active{background:var(--mint);transform:none}.btn[disabled]{opacity:.5;pointer-events:none}.icon{flex:none;width:1.4em;height:1.4em}.read{font-family:var(--font-read)}.soft{color:var(--ink-soft)}.talkrow{align-items:center;gap:14px;min-width:0;display:flex}.tully-badge{aspect-ratio:1;background:var(--mint);border:3px solid var(--ink);border-radius:50%;flex:none;place-items:center;width:clamp(64px,9vw,96px);display:grid}.tully-badge svg{width:80%}.tully-badge.talking svg{animation:.5s ease-in-out infinite alternate bob}@keyframes bob{to{transform:translateY(-4px)rotate(-3deg)}}.bubble{border:3px solid var(--ink);background:var(--card);min-width:0;box-shadow:var(--shadow);border-radius:26px;flex:1;align-items:center;gap:12px;min-height:72px;padding:10px 12px 10px 20px;display:flex;position:relative}.bubble p{font-family:var(--font-read);flex:1;margin:0;font-size:clamp(1.05rem,2.3vw,1.6rem);line-height:1.3}.bubble .big{font-family:var(--font-play);font-size:clamp(1.4rem,3.2vw,2.3rem);font-weight:600}.bubble mark{background:var(--sun);color:inherit;border-radius:10px;padding:0 8px}.mapbox{background:var(--ocean);border:3px solid var(--ink);min-width:0;min-height:0;box-shadow:var(--shadow-lg);touch-action:none;border-radius:30px;flex:1;position:relative;overflow:hidden}.mapbox svg.map{cursor:pointer;width:100%;height:100%;display:block}.land{stroke:none}.land.dim{opacity:.35}.land.sel{fill:var(--sun)!important}.land.glow{animation:.7s ease-in-out infinite alternate glow;fill:var(--sun)!important}.land.found{filter:saturate(1.25)}@keyframes glow{to{opacity:.55}}.borders{fill:none;stroke:var(--ink);stroke-opacity:.45;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-width:.8px}.coast{fill:none;stroke:var(--ink);stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-width:1.6px}.sphere{fill:var(--ocean)}.tinyring{fill:#fffdf859;stroke:var(--ink);stroke-opacity:.6;vector-effect:non-scaling-stroke;stroke-width:1.2px}.ring{fill:none;stroke:var(--tomato);stroke-width:4px;stroke-dasharray:10 7;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%;animation:1.1s ease-out infinite ringpulse}@keyframes ringpulse{0%{opacity:1;transform:scale(.75)}to{opacity:.35;transform:scale(1.25)}}.capdot{fill:var(--card);stroke:var(--ink);vector-effect:non-scaling-stroke;stroke-width:2.5px;cursor:pointer}.capdot.found{fill:var(--tomato)}.maplabel{font-family:var(--font-play);fill:var(--ink);paint-order:stroke;stroke:#fffdf8d9;stroke-linejoin:round;text-anchor:middle;dominant-baseline:middle;pointer-events:none;font-weight:600}.maplabel.ocean{fill:#2c6178;font-style:italic}.maplabel.cont{letter-spacing:.03em;font-weight:700}.map-chip{border:3px solid var(--ink);background:var(--card);font-family:var(--font-read);pointer-events:none;border-radius:999px;padding:6px 16px;font-size:1.05rem;position:absolute;top:14px;left:16px}.zoombtns{flex-direction:column;gap:10px;display:flex;position:absolute;top:14px;right:14px}.zoombtns .btn{min-width:56px;min-height:56px;font-size:1.8rem}.flag{aspect-ratio:4/3;object-fit:cover;background:#fff;border-radius:6px;width:100%;display:block;box-shadow:0 0 0 2px #2b2a4c2e}.stars{gap:2px;display:inline-flex}.stars svg{width:1.1em;height:1.1em}.confetti{pointer-events:none;z-index:50;position:fixed;inset:0;overflow:hidden}.confetti i{border-radius:3px;width:12px;height:18px;animation:1.3s ease-in forwards fall;position:absolute;top:-20px}@keyframes fall{to{transform:translateY(110vh)rotate(540deg)}}.veil{z-index:40;background:#2b2a4c59;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:min(720px,100%);max-height:min(92dvh,900px);margin:0 var(--gutter) var(--gutter);background:var(--card);border:3px solid var(--ink);box-shadow:var(--shadow-lg);border-radius:30px;flex-direction:column;gap:16px;padding:22px;display:flex}.sheet h2{margin:0;font-size:clamp(1.5rem,3vw,2rem)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
