@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Nunito:wght@600;700;800;900&display=swap");:root{--ink:#302e2a;--muted:#676258;--paper:#fffdf7;--cream:#f7f1df;--line:#e7dfca;--green:#3c6444;--green-dark:#2b4e35;--green-pale:#e4eddb;--red:#b84d38;--gold:#eab54d;--shadow:0 14px 36px rgba(68,57,35,.08);--font-body:"DM Sans",sans-serif;--font-display:"Nunito",sans-serif}*{box-sizing:border-box}html{scrollbar-color:#a9b696 #f1eddf;scrollbar-width:thin}body,html{background:#f1eddf}body{margin:0;color:var(--ink);font-family:var(--font-body);font-size:15px;min-height:100vh}a,button{font:inherit}button{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #bd763c;outline-offset:3px}::selection{background:#dbe5c7;color:#213822}button:disabled{cursor:wait;opacity:.62}.game-shell{max-width:1180px;margin:0 auto;padding:22px 28px 18px}.topbar{height:54px;justify-content:space-between;margin-bottom:18px}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px;color:var(--ink);text-decoration:none;font-family:var(--font-display);font-size:22px;font-weight:900;letter-spacing:-.035em}.compass-mark{width:62px;height:62px;display:block}.compass-mark.small{width:34px;height:34px}.save-status{display:flex;align-items:center;gap:8px;color:#4d6244;font-size:13px;font-weight:700}.status-dot{width:8px;height:8px;border-radius:50%;background:#72905f}.status-dot.saving{background:var(--gold);animation:pulse .8s infinite alternate}@keyframes pulse{to{opacity:.35}}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:18px;gap:18px;align-items:stretch}.journey-panel,.play-area{border:1px solid var(--line);background:var(--paper);border-radius:18px;box-shadow:var(--shadow)}.play-area{min-height:690px;overflow:hidden}.journey-panel{padding:25px 22px;display:flex;flex-direction:column;min-height:690px}.tutorial-screen{min-height:690px;display:grid;grid-template-columns:.9fr 1.1fr}.tutorial-art{position:relative;overflow:hidden;min-height:690px;background:#e4eddd}.sun{width:84px;height:84px;right:16%;top:12%;border-radius:50%;background:#f3c967}.cloud,.sun{position:absolute}.cloud{width:75px;height:24px;border-radius:50px;background:#fff9eb}.cloud:after,.cloud:before{content:"";position:absolute;background:inherit;border-radius:50%}.cloud:before{width:32px;height:32px;left:14px;top:-14px}.cloud:after{width:42px;height:40px;right:13px;top:-19px}.cloud-one{top:27%;left:13%}.cloud-two{top:41%;right:9%;transform:scale(.7)}.hill{position:absolute;border-radius:54% 48% 0 0}.hill-back{height:44%;width:125%;left:-26%;bottom:0;background:#b6c99e}.hill-front{height:34%;width:125%;right:-28%;bottom:-1px;background:#77976d}.trail{position:absolute;left:10%;right:6%;bottom:10%;height:44%;border-color:transparent #f8eed0 #f8eed0 transparent;border-style:dotted;border-width:12px;border-radius:0 0 55% 20%;transform:rotate(-16deg)}.tutorial-hero{position:absolute;left:47%;top:49%;width:74px;height:74px;display:grid;place-items:center;border:4px solid #fff9eb;border-radius:24px;background:#fcf4dc;box-shadow:0 6px 18px #53684433;transform:rotate(-7deg)}.tutorial-hero .compass-mark{width:54px;height:54px}.tutorial-copy{padding:54px 42px 38px;align-self:center;max-width:560px}.chapter{margin:0 0 9px;color:#526c47;font-size:12px;font-weight:800;letter-spacing:.025em}h1,h2,p{margin-top:0}h1,h2{font-family:var(--font-display);letter-spacing:-.04em}h1{font-size:clamp(34px,4vw,49px);line-height:1.04;margin-bottom:16px;font-weight:900}h2{font-size:21px;line-height:1.2;margin-bottom:6px}.minigame-screen>p:not(.chapter),.tutorial-copy>p:not(.chapter){color:var(--muted);line-height:1.65;max-width:43ch;margin-bottom:24px}.lesson-list{display:grid;grid-gap:16px;gap:16px;margin:27px 0 30px}.lesson-list>div{display:flex;align-items:center;gap:13px}.lesson-number{width:30px;height:30px;border-radius:50%;background:#eef0df;color:#3d6042;display:grid;place-items:center;font-weight:800;font-size:13px;flex:none}.lesson-list small,.lesson-list strong{display:block}.lesson-list strong{font-size:14px;margin-bottom:3px}.lesson-list small{font-size:12px;color:var(--muted)}.primary-button{width:100%;min-height:52px;border:0;border-radius:10px;background:var(--green);color:white;padding:13px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:800;cursor:pointer;transition:background .15s,transform .15s}.primary-button:hover:not(:disabled){background:var(--green-dark);transform:translateY(-1px)}.primary-button span{font-size:19px}.map-screen{padding:27px 28px 24px}.map-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px}.map-heading h1{font-size:32px;margin:0}.map-weather{font-size:12px;color:#536d48;background:#edf2e6;border-radius:20px;padding:8px 11px;font-weight:700;white-space:nowrap}.island-map{position:relative;height:335px;overflow:hidden;border-radius:16px;background:#bcd8d3;border:1px solid #a9c5bd;background-image:radial-gradient(#fff7 1px,transparent 1.5px);background-size:26px 26px}.island-map:before{content:"";position:absolute;width:84%;height:78%;left:8%;top:11%;border-radius:49% 45% 47% 52%;background:#c6d8a9;box-shadow:inset 0 0 0 9px #d8e4bb,inset 0 0 0 11px #adc991}.map-water{position:absolute;z-index:1;background:#9cc8c3;width:80px;height:30px;border-radius:70%;opacity:.72}.water-one{left:3%;top:22%;transform:rotate(-22deg)}.water-two{right:2%;bottom:19%;transform:rotate(18deg)}.map-path{z-index:2;position:absolute;border:7px dotted transparent;border-top-color:#f8ebc5;border-radius:50%;height:58%;width:47%;pointer-events:none}.path-one{left:26%;top:8%;transform:rotate(26deg)}.path-two{left:36%;top:33%;transform:rotate(-25deg)}.map-point{z-index:3;position:absolute;display:flex;flex-direction:column;align-items:center;gap:5px;border:0;background:transparent;text-decoration:none;color:var(--ink);font-size:11px;font-weight:800}.map-point small{background:#fffdf2eF;padding:4px 7px;border-radius:20px;white-space:nowrap;font-size:10px;box-shadow:0 2px 5px #40534418}.home-point{left:16%;top:51%}.home-roof{width:32px;height:27px;background:#f4bd78;border:3px solid #674b39;border-radius:6px;position:relative}.home-roof:before{content:"";position:absolute;width:22px;height:22px;left:2px;top:-13px;background:#bc5b42;border:3px solid #674b39;border-bottom:0;transform:rotate(45deg);border-radius:4px;z-index:-1}.quest-point{left:53%;top:19%;cursor:pointer}.gate-icon{height:44px;width:43px;position:relative;border:4px solid #725339;border-bottom:0;border-radius:21px 21px 0 0;background:#e6bd76;box-shadow:0 4px 0 #fff7}.gate-icon i{position:absolute;bottom:0;height:25px;width:4px;background:#725339}.gate-icon i:first-child{left:8px}.gate-icon i:last-child{right:8px}.mini-point:hover .pad-icon,.quest-point:hover .gate-icon{transform:translateY(-2px)}.mini-point{right:16%;top:57%;cursor:pointer}.pad-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#f4d775;border:4px solid #846242;color:#67502d;box-shadow:0 4px 0 #fff8;transition:transform .15s}.pad-icon svg{width:21px;height:21px;fill:currentColor}.friend-point{right:18%;top:19%}.friend-huddle{display:flex;align-items:flex-end;height:37px}.friend-huddle b{width:23px;height:28px;display:grid;place-items:center;border:2px solid white;border-radius:50% 50% 40% 40%;color:#fff;font-size:11px;margin-left:-4px}.friend-huddle b:first-child{background:#268fbd}.friend-huddle b:nth-child(2){background:#c84c32;height:33px}.friend-huddle b:nth-child(3){background:#5d4552}.map-tree{z-index:2;position:absolute;width:24px;height:24px;border-radius:50%;background:#73966b;box-shadow:0 6px 0 #557753,0 8px 0 #8e704b}.tree-one{left:31%;top:21%}.tree-two{left:39%;bottom:18%;transform:scale(.78)}.tree-three{right:35%;top:69%;transform:scale(.7)}.map-flower{position:absolute;z-index:2;width:10px;height:10px;border-radius:50%;background:#f7e8b8;box-shadow:0 -5px #fff1ce,0 5px #fff1ce,5px 0 #fff1ce,-5px 0 #fff1ce,0 1px 3px #697e5c}.flower-one{left:26%;bottom:26%}.flower-two{right:28%;top:42%}.player-marker{z-index:4;position:absolute;left:38%;top:55%;width:39px;height:39px;border:3px solid white;border-radius:50%;display:grid;place-items:center;background:#f8e7b5;box-shadow:0 3px 8px #283f3555;transition:left .25s,top .25s,right .25s}.player-marker .compass-mark{width:31px;height:31px}.player-quest-trail{left:55%;top:39%}.player-sunny-hill{left:68%;top:46%}.player-friend-cove{left:auto;right:18%;top:39%}.player-minigame-pad{left:auto;right:16%;top:58%}.position-label{position:absolute;z-index:4;left:calc(38% - 17px);top:calc(55% + 42px);font-size:10px;color:#37513b;background:#f7f5dfcc;padding:4px 7px;border-radius:12px}.map-actions{display:grid;grid-template-columns:1.35fr 1fr;grid-gap:11px;gap:11px;margin:14px 0 19px}.mini-action,.quest-action{border:1px solid var(--line);background:#fffefa;border-radius:12px;min-height:67px;display:flex;align-items:center;text-align:left;padding:11px;gap:10px;cursor:pointer;transition:border .15s,background .15s}.mini-action:hover:not(:disabled),.quest-action:hover:not(:disabled){border-color:#9bb18a;background:#f7faef}.quest-action{background:#f1f5e9}.action-icon,.mini-action-icon{width:37px;height:37px;flex:none;border-radius:10px;background:#dce8d1;display:grid;place-items:center;color:#36593e;font-size:19px}.action-icon svg{width:20px;height:20px;fill:currentColor}.mini-action small,.mini-action strong,.quest-action small,.quest-action strong{display:block}.mini-action strong,.quest-action strong{font-size:12px;margin-bottom:4px}.mini-action small,.quest-action small{font-size:10px;color:var(--muted)}.action-arrow{margin-left:auto;color:#547548;font-size:19px}.friends-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:16px}.friends-row h2{font-size:16px;margin-bottom:3px}.friends-row p{font-size:11px;color:var(--muted);margin:0}.friends-buttons{display:flex;gap:11px;max-width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#78976e #ece8da;scroll-snap-type:x proximity}.friends-buttons button{flex:0 0 auto;scroll-snap-align:start;border:0;padding:0;background:transparent;display:grid;justify-items:center;grid-gap:5px;gap:5px;cursor:pointer;font-size:10px;font-weight:700;color:#514d43}.avatar{width:34px;height:34px;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px #ded6c5;display:grid;place-items:center;color:white;font-family:var(--font-display);font-weight:900;font-size:14px;transition:transform .15s}.friends-buttons button:hover .avatar{transform:translateY(-2px)}.avatar-sonic{background:#2986ae}.avatar-mario{background:#c84e35}.avatar-freddy{background:#66535c}.panel-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.panel-top h2{font-size:25px}.coin-badge{display:flex;align-items:center;gap:6px;border-radius:20px;background:#fbf0d3;padding:7px 11px;font-weight:800;font-size:14px;color:#624b26}.coin{width:19px;height:19px;border-radius:50%;background:#edc45f;color:#765527;display:grid;place-items:center}.coin svg{width:12px;height:12px;fill:currentColor}.progress-rule{height:8px;background:#ece8da;border-radius:9px;overflow:hidden;margin:0 0 23px}.progress-rule span{display:block;height:100%;background:#789566;border-radius:9px;transition:width .3s}.stat-line{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin:0 0 15px;color:#5c584e}.stat-line strong{font-size:14px;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.friend-chips{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 20px}.friend-chip{border:1px solid var(--line);border-radius:15px;padding:6px 9px;color:#716a5c;font-size:10px}.friend-chip.met{background:#edf3e7;border-color:#d2dfc8;color:#3d6345}.saved-note{border-radius:10px;padding:11px;background:#f5f3e9;display:flex;align-items:center;gap:8px;color:#555347;font-size:11px;line-height:1.45}.saved-check{width:19px;height:19px;border-radius:50%;background:#dfe9d6;color:#456445;display:grid;place-items:center;font-weight:900;flex:none}.privacy-note{margin:auto 0 0;padding-top:20px;color:#686459;font-size:11px;line-height:1.55}.feedback{font-size:12px;line-height:1.5;margin:12px 0 0}.feedback p{margin-bottom:6px}.feedback.success{color:#355e3b}.feedback.error{color:#8e3427;background:#f8ece7;padding:10px;border-radius:8px}.saving-copy{color:#766236}.text-button{border:0;background:none;padding:3px 0;color:#365c3d;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.footer-line{padding:15px 5px 0;display:flex;justify-content:space-between;color:#797566;font-size:11px}.footer-line span:first-child{font-weight:700}.minigame-screen{padding:25px 30px 32px;min-height:690px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:560px;margin:auto}.back-button{margin-bottom:26px}.minigame-screen h1{font-size:42px}.mini-art{width:100%;height:210px;border-radius:15px;background:#e4eddd;position:relative;overflow:hidden;margin-bottom:28px;display:grid;place-items:center}.mini-art:after,.mini-art:before{content:"";position:absolute;width:150px;height:60px;border-radius:50%;background:#b8cb9f;bottom:-18px}.mini-art:before{left:-18px}.mini-art:after{right:-24px;transform:scale(1.3)}.mini-orb{width:82px;height:82px;border-radius:50%;border:8px solid #fff6d6;box-shadow:0 0 0 2px #b5954f,0 8px 18px #748d5c55;animation:float 2.8s ease-in-out infinite alternate}.mini-orb,.spark{background:#f5d477;z-index:1}.spark{position:absolute;width:11px;height:11px;transform:rotate(45deg)}.spark-one{left:31%;top:31%}.spark-two{right:30%;top:27%;width:8px;height:8px}.spark-three{right:37%;bottom:25%}@keyframes float{to{transform:translateY(-8px)}}.mini-button{margin-top:5px}.character-screen .tutorial-copy{padding-top:38px;padding-bottom:34px}.character-screen .tutorial-copy>p:not(.chapter){color:var(--muted);line-height:1.65;max-width:43ch;margin-bottom:19px}.character-screen .lesson-list{gap:14px;margin:20px 0}.character-lock-note{font-size:11px;color:#656052;line-height:1.5;margin:11px 0 0}.character-options{display:grid;grid-gap:9px;gap:9px;margin:20px 0 16px;max-height:min(56vh,460px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#78976e #ece8da}.character-option,.vote-option{width:100%;min-height:70px;padding:10px 13px;display:flex;align-items:center;gap:12px;text-align:left;background:#fffefa;border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:border .15s,background .15s,transform .15s}.character-option:hover:not(:disabled),.vote-option:hover:not(:disabled){border-color:#9bb18a;background:#f7faef;transform:translateY(-1px)}.character-avatar{width:42px;height:42px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #ded6c5;color:white;font-family:var(--font-display);font-weight:900;font-size:18px;flex:none}.avatar-sonic,.character-avatar.avatar-sonic{background:#2986ae}.avatar-mario,.character-avatar.avatar-mario{background:#c84e35}.avatar-freddy,.character-avatar.avatar-freddy{background:#66535c}.character-copy{display:grid;grid-gap:4px;gap:4px}.character-copy strong,.vote-option strong{font-size:14px}.character-copy small,.vote-option small{color:var(--muted);font-size:11px}.character-arrow{margin-left:auto;color:#547548;font-size:19px}.result-screen,.vote-screen{min-height:690px;max-width:590px;margin:auto;padding:31px 34px;display:flex;flex-direction:column;justify-content:center;align-items:stretch}.result-screen h1,.vote-screen h1{font-size:clamp(34px,4vw,46px)}.result-screen>p:not(.chapter),.vote-screen>p:not(.chapter){color:var(--muted);line-height:1.65;max-width:45ch}.result-art{height:170px;margin-bottom:27px;border-radius:16px;background:#e4eddd;position:relative;overflow:hidden;display:grid;place-items:center}.result-art:after,.result-art:before{content:"";position:absolute;width:62%;height:78%;border-radius:50%;background:#b6c99e;bottom:-57%;left:-5%}.result-art:after{left:auto;right:-8%;background:#78976e}.result-sun{z-index:1;width:70px;height:70px;background:#f4d576;color:#8b6331;fill:#f4d576;stroke:#8b6331;stroke-width:2;stroke-linecap:round;filter:drop-shadow(0 0 0 #f4d576);border-radius:50%;box-shadow:0 0 0 10px #f4d57644}.result-coin{position:absolute;z-index:2;right:23%;top:22%;padding:8px 10px;border:2px solid white;border-radius:18px;background:#f6e8b9;color:#624b26;font-weight:900}.result-summary{display:grid;grid-template-columns:1fr auto;grid-gap:11px;gap:11px;padding:15px 0;margin:8px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;color:#5c584e}.result-summary strong{color:var(--ink);text-align:right}.vote-screen .back-button{align-self:flex-start;margin:0 0 28px}.vote-screen h1{margin-bottom:10px}.vote-screen>p:not(.chapter){margin-bottom:17px}.vote-options{display:grid;grid-gap:10px;gap:10px;margin-top:6px}.vote-option{min-height:74px}.vote-mark{width:37px;height:37px;display:grid;place-items:center;flex:none;border-radius:11px;background:#e3edd8;color:#355a3e;font-family:var(--font-display);font-size:18px;font-weight:900}.vote-mark-1{background:#f7e9c1;color:#765c24}.vote-mark-2{background:#f2ddd3;color:#894937}.vote-option>span:nth-child(2){display:grid;grid-gap:4px;gap:4px}.minigame-result-screen .mini-art{margin-bottom:23px}.selected-friend{width:33px;height:33px;border:2px solid white;border-radius:50%;display:grid;place-items:center;background:#fff4d7;color:#493d2d;font-size:16px;font-weight:900}.player-marker{padding:0;overflow:hidden}.player-marker .character-avatar{width:100%;height:100%;border:0;box-shadow:none}@media(max-width:900px){.game-shell{padding:17px 18px}.game-layout{grid-template-columns:minmax(0,1fr) 250px;gap:12px}.journey-panel{padding:20px 17px}.tutorial-copy{padding:40px 28px}.map-screen{padding:23px 20px}.island-map{height:310px}}@media(max-width:700px){.game-shell{padding:12px 12px 10px}.topbar{height:46px;margin-bottom:10px}.brand{font-size:19px}.compass-mark.small{width:30px;height:30px}.save-status{font-size:11px}.game-layout{display:flex;flex-direction:column;gap:10px}.play-area{min-height:0}.journey-panel{min-height:0;padding:17px 16px}.tutorial-screen{display:flex;flex-direction:column;min-height:0}.tutorial-art{min-height:205px;height:205px}.sun{width:57px;height:57px;top:14%;right:20%}.cloud-one{top:21%}.cloud-two{top:35%}.hill-back{height:45%}.hill-front{height:34%}.tutorial-hero{width:59px;height:59px;left:48%;top:48%}.tutorial-hero .compass-mark{width:43px;height:43px}.tutorial-copy{padding:25px 21px 22px;align-self:auto}.tutorial-copy h1{font-size:35px}.tutorial-copy>p:not(.chapter){margin-bottom:17px;font-size:14px}.lesson-list{gap:12px;margin:19px 0 22px}.primary-button{min-height:50px;font-size:13px}.map-screen{padding:19px 15px 17px}.map-heading h1{font-size:27px}.map-weather{font-size:10px;padding:7px 9px}.island-map{height:270px}.map-actions{grid-template-columns:1fr;gap:8px;margin:11px 0 15px}.mini-action,.quest-action{min-height:59px}.friends-row{align-items:flex-start;flex-direction:column}.friends-buttons{width:100%;justify-content:space-around}.friends-row h2{font-size:15px}.journey-panel{display:grid;grid-template-columns:1fr auto;grid-column-gap:12px;column-gap:12px}.panel-top{grid-column:1/-1;margin-bottom:14px}.progress-rule{grid-column:1/-1;margin-bottom:15px}.stat-line{margin-bottom:11px}.friend-chips{margin:0 0 13px}.friend-chips,.privacy-note,.saved-note{grid-column:1/-1}.privacy-note{margin:12px 0 0;padding-top:11px;border-top:1px solid var(--line);font-size:11px}.feedback{grid-column:1/-1}.footer-line{padding-top:11px}.minigame-screen{min-height:480px;padding:20px 19px 25px}.mini-art{height:180px;margin-bottom:22px}.minigame-screen h1{font-size:37px}.character-screen .tutorial-copy{padding:23px 18px 20px}.character-screen .tutorial-copy h1{font-size:32px}.character-screen .lesson-list{gap:11px}.character-option{min-height:64px;padding:9px 10px}.result-screen,.vote-screen{min-height:0;padding:23px 19px 25px}.result-screen h1,.vote-screen h1{font-size:34px}.result-art{height:145px;margin-bottom:22px}.result-summary{font-size:12px}.vote-screen .back-button{margin-bottom:22px}.vote-option{min-height:68px;padding:9px 10px}.journey-panel .stat-line strong{max-width:52%;text-align:right;overflow-wrap:anywhere}.brand{font-size:16px;gap:7px}}@media(max-width:370px){.game-shell{padding-inline:9px}.tutorial-copy{padding-inline:17px}.tutorial-copy h1{font-size:32px}.map-weather{display:none}.quest-heading .map-weather{display:inline-flex}.friends-buttons{gap:6px;justify-content:flex-start}.island-map{height:240px}}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.landing-page{min-height:100svh;max-width:1320px;margin:0 auto;padding:22px clamp(20px,5vw,68px) 18px;display:flex;flex-direction:column;background:#f1eddf}.landing-header{min-height:54px}.landing-brand,.landing-header{display:flex;align-items:center}.landing-brand{gap:10px;color:var(--ink);text-decoration:none;font-family:var(--font-display);font-size:20px;font-weight:900;letter-spacing:-.035em}.landing-brand img{display:block;width:38px;height:38px}.landing-main{flex:1 1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;grid-gap:clamp(34px,6vw,82px);gap:clamp(34px,6vw,82px);padding:clamp(38px,7vh,76px) 0}.landing-copy{max-width:470px}.landing-copy h1{max-width:10ch;margin:0 0 22px;color:var(--ink);font-family:var(--font-display);font-size:clamp(52px,6.1vw,78px);font-weight:1000;letter-spacing:-.05em;line-height:.99;text-wrap:balance}.landing-copy>p:not(.landing-promise):not(.landing-error){max-width:38ch;margin:0 0 28px;color:#3d5943;font-size:clamp(17px,1.55vw,20px);line-height:1.6}.landing-play{width:max-content;min-width:210px;min-height:56px;padding:15px 19px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-radius:11px;background:var(--green);color:#fff;text-decoration:none;font-size:16px;font-weight:800;transition:background .16s,transform .16s}.landing-play svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.landing-play:hover{background:var(--green-dark);transform:translateY(-1px)}.landing-brand:focus-visible,.landing-play:focus-visible{outline:3px solid #bd763c;outline-offset:4px}.landing-promise{margin:13px 0 0;color:#4b644d;font-size:13px;font-weight:700;letter-spacing:.01em}.landing-error{margin:0 0 18px;color:#8e3427;font-size:14px;line-height:1.5}.landing-preview{margin:0;padding:13px;border:1px solid #d9dfcf;border-radius:24px;background:#fffdf7;box-shadow:0 14px 36px rgba(68,57,35,.09)}.landing-scene{display:block;width:100%;height:auto;border-radius:16px}.landing-preview figcaption{padding:12px 7px 2px;color:#3d5943;font-size:13px;font-weight:700}.landing-footer{display:flex;justify-content:space-between;gap:16px;padding:15px 2px 2px;border-top:1px solid var(--line);color:#4e5e49;font-size:12px}.landing-footer span:first-child{font-family:var(--font-display);font-weight:900}::selection{background:#d3e3c7;color:#263e2d}@media(max-width:760px){.landing-page{padding:13px 20px 14px}.landing-header{min-height:48px}.landing-brand{font-size:18px}.landing-brand img{width:34px;height:34px}.landing-main{grid-template-columns:minmax(0,1fr);gap:28px;padding:43px 0 34px}.landing-copy{max-width:500px}.landing-copy h1{max-width:9ch;margin-bottom:16px;font-size:clamp(48px,13.2vw,64px)}.landing-copy>p:not(.landing-promise):not(.landing-error){margin-bottom:21px;font-size:17px;line-height:1.55}.landing-play{min-height:54px}.landing-preview{padding:10px;border-radius:18px}.landing-scene{border-radius:12px}.landing-preview figcaption{padding-top:10px;font-size:12px}.landing-footer{font-size:11px}}@media(max-width:370px){.landing-page{padding-inline:16px}.landing-main{padding-top:33px}.landing-copy h1{font-size:46px}.landing-play{min-width:194px}}@media(prefers-reduced-motion:reduce){.landing-play{transition:none}}.avatar-tails{background:#e79c32}.avatar-knuckles{background:#c84e35}.avatar-felix{background:#316b51}.avatar-wendy{background:#9c4f75}.avatar-amy{background:#db668f}.avatar-silver{background:#8999ad}.avatar-blaze{background:#8e55aa}.avatar-shadow{background:#493d48}.avatar-cream{background:#d7b978}.avatar-cheese{background:#d9a929}.avatar-vector{background:#4b8d78}.avatar-espio{background:#8757ab}.avatar-charmy{background:#e88a32}.avatar-jet{background:#4d8b9a}.avatar-wave{background:#4174b5}.avatar-storm{background:#777c86}.avatar-rouge{background:#b64b5a}.avatar-metal-sonic{background:#548aa3}.avatar-doctor-eggman{background:#c64c45}.adventure-scene{min-height:260px;margin:18px 0 14px;border:1px solid #bfd0aa;border-radius:16px;background:linear-gradient(160deg,#e7f0d8,#cadcb8);display:grid;place-content:center;justify-items:center;grid-gap:8px;gap:8px;position:relative;overflow:hidden;color:#302e2a}.adventure-scene:after,.adventure-scene:before{content:"";position:absolute;width:70%;height:56%;bottom:-33%;border-radius:50%;background:#b6c99e}.adventure-scene:before{left:-12%}.adventure-scene:after{right:-12%;background:#77976d}.adventure-scene>*{z-index:1}.adventure-scene .character-avatar{width:62px;height:62px;font-size:24px;box-shadow:0 4px 10px #40534430}.adventure-scene strong{padding:4px 10px;border-radius:20px;background:#fffdf7;font-size:12px}.adventure-sun{position:absolute;top:16%;right:19%;color:#9a6d24;font-size:30px}@media(max-width:700px){.adventure-scene{min-height:210px;margin:13px 0 11px}}.adventure-home{min-height:100%;padding:27px 30px 24px;display:flex;flex-direction:column}.adventure-heading,.quest-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.adventure-heading h1,.quest-heading h1{margin:0;font-family:var(--font-display);font-size:clamp(30px,3.5vw,42px);font-weight:900;letter-spacing:-.04em;line-height:1.06}.adventure-heading p,.quest-heading p{margin:8px 0 0;color:#4f5947;font-size:14px;line-height:1.5}.free-badge{flex:none;padding:9px 14px;border-radius:999px;background:#dcebd5;color:#285638;font-size:12px;font-weight:800}.adventure-home .adventure-scene{flex:1 1;min-height:295px;margin:22px 0 16px;border-radius:22px;background:linear-gradient(180deg,#d9eff0,#edf1ce 72%)}.adventure-sun .compass-mark{width:38px;height:38px}.adventure-home .map-actions{margin:0 0 15px}.adventure-home .mini-action,.adventure-home .quest-action{min-height:74px;border-radius:18px}.adventure-home .friends-row{margin-top:auto}.quest-screen{min-height:690px;padding:28px 30px 24px;display:flex;flex-direction:column;justify-content:center}.quest-heading{margin-bottom:17px}.quest-heading h1{font-size:clamp(27px,3vw,37px)}.quest-heading p{max-width:54ch}.quest-heading .map-weather{flex:none}.platformer-stage{height:270px;position:relative;overflow:hidden;isolation:isolate;border:1px solid #b5c9a2;border-radius:20px;background:linear-gradient(180deg,#bfe3e8,#e8f0dc 70%,#e1eccf)}.stage-sun{position:absolute;width:47px;height:47px;top:25px;right:12%;border-radius:50%;background:#f7d77b;box-shadow:0 0 0 8px #f7d77b35}.stage-cloud{position:absolute;width:92px;height:23px;border-radius:30px;background:#f9fbf2;opacity:.8}.stage-cloud:after,.stage-cloud:before{content:"";position:absolute;bottom:3px;width:35px;height:35px;border-radius:50%;background:inherit}.stage-cloud:before{left:13px}.stage-cloud:after{right:13px;width:28px;height:28px}.stage-cloud-one{left:12%;top:45px}.stage-cloud-two{right:28%;top:83px;transform:scale(.7)}.stage-hill{position:absolute;z-index:-1;bottom:29px;width:54%;height:51%;border-radius:50% 50% 0 0;background:#9ebb89}.stage-hill-one{left:-15%;transform:rotate(-9deg)}.stage-hill-two{right:-19%;height:44%;background:#78986e;transform:rotate(9deg)}.trail-ground{position:absolute;z-index:1;right:0;bottom:0;left:0;height:31px;border-top:4px solid #688653;background:repeating-linear-gradient(90deg,#879f5d 0 18px,#91a668 18px 36px)}.runner-avatar{width:43px;height:43px;border-width:2px;font-size:18px;box-shadow:0 3px 8px #354b3340}.bot-companion,.runner-avatar{position:absolute;z-index:3;left:0;bottom:30px;transform:translateZ(0)}.bot-companion{display:block;width:38px;height:42px;filter:drop-shadow(0 3px 2px #354b3340);pointer-events:none}.bot-companion svg{display:block;width:100%;height:100%}.trail-stump{position:absolute;z-index:2;bottom:30px;width:4.5%;height:36px;border:2px solid #6d4d30;border-bottom:0;border-radius:14px 14px 2px 2px;background:#a67347;box-shadow:inset 4px 0 #c18a58}.stump-one{left:28%}.stump-two{left:51%;height:42px}.stump-three{left:73%;height:34px}.stage-coin{position:absolute;z-index:2;bottom:121px;width:21px;height:21px;border:3px solid #fff0ab;border-radius:50%;background:#eebd4d;box-shadow:0 0 0 1px #a97d35}.coin-one{left:35%}.coin-two{left:58%;bottom:132px}.coin-three{left:81%}.stage-coin.collected{display:none}.lantern-goal{position:absolute;z-index:2;right:5%;bottom:30px;width:22px;height:33px;border:3px solid #5c4b37;border-radius:6px 6px 4px 4px;background:#f2c558;box-shadow:0 0 17px #ffd76f}.lantern-goal:before{content:"";position:absolute;left:4px;top:-10px;width:8px;height:8px;border:2px solid #5c4b37;border-bottom:0;border-radius:8px 8px 0 0}.lantern-goal span{position:absolute;left:6px;top:6px;width:4px;height:13px;border-radius:4px;background:#fff6c7}.stage-goal-label,.stage-start-label{position:absolute;z-index:2;bottom:8px;color:#314b35;font-size:9px;font-weight:900;letter-spacing:.1em}.stage-start-label{left:10px}.stage-goal-label{right:11px}.touch-controls{display:flex;gap:8px;margin:14px 0 8px}.touch-controls button{width:51px;height:45px;border:1px solid #c8d3b6;border-radius:14px;background:#fffdf7;color:#315f42;font-size:20px;font-weight:900;touch-action:none}.touch-controls .jump-control{width:86px;margin-left:auto;background:#1f7a49;border-color:#1f7a49;color:white;font-size:12px;letter-spacing:.04em}.finish-quest:focus-visible,.touch-controls button:focus-visible{outline:3px solid #edbd47;outline-offset:3px}.goal-hint{margin:8px 0 0;color:#4f5947;text-align:center;font-size:12px}.finish-quest{margin-top:14px;align-self:stretch}@media(max-width:700px){.adventure-home{padding:20px 16px 18px}.adventure-home .adventure-scene{min-height:190px;margin:15px 0 12px}.adventure-heading{align-items:flex-start}.adventure-heading h1{font-size:30px}.adventure-heading p{font-size:12px}.free-badge{padding:7px 9px;font-size:10px}.quest-screen{min-height:0;padding:22px 15px 19px}.quest-heading{align-items:flex-start;flex-wrap:wrap}.quest-heading>div{width:100%}.quest-heading h1{font-size:28px}.quest-heading p{font-size:12px}.quest-heading .map-weather{display:inline-flex;padding:7px 8px;font-size:9px}.platformer-stage{height:218px}.stage-sun{width:34px;height:34px;top:18px}.trail-ground{height:27px}.trail-stump{bottom:26px;height:28px}.stump-two{height:34px}.stump-three{height:26px}.stage-coin{bottom:116px;width:17px;height:17px}.coin-two{bottom:124px}.lantern-goal{bottom:26px;transform:scale(.85);transform-origin:bottom right}.runner-avatar{width:37px;height:37px;font-size:15px}.bot-companion{bottom:26px;width:33px;height:37px}.touch-controls{margin-top:11px}.touch-controls button{width:56px;height:48px}.touch-controls .jump-control{width:92px}}.signed-in-actions{display:flex;align-items:center;gap:18px}.team-list{margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.team-list-heading h3{margin:0 0 3px;font-family:var(--font-display);font-size:15px;letter-spacing:-.02em}.team-list-empty,.team-list-heading p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.team-list ul{display:grid;grid-gap:8px;gap:8px;max-height:210px;overflow-y:auto;margin:11px 0 0;padding:0;list-style:none}.team-list li{display:flex;align-items:center;gap:9px;min-width:0}.team-list li .character-avatar{width:32px;height:32px;border-width:2px;font-size:13px}.team-member-copy{display:grid;grid-gap:2px;gap:2px;min-width:0}.team-member-copy strong{font-size:11px}.team-member-copy small{color:var(--muted);font-size:10px}.team-list-empty{padding:10px 0 0}.sign-in-welcome{max-width:580px;margin:11vh auto 15vh;padding:clamp(26px,6vw,54px);border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow)}.sign-in-welcome h1{max-width:13ch;font-size:clamp(34px,5vw,46px)}.sign-in-welcome p:not(.feedback){max-width:42ch;margin-bottom:24px;color:var(--muted);line-height:1.65}.sign-in-welcome .feedback{margin-top:15px}@media(max-width:700px){.signed-in-actions{gap:10px}.save-status{gap:5px}.sign-in-welcome{margin:7vh auto 11vh;padding:24px 20px}.sign-in-welcome h1{font-size:32px}.sign-in-welcome p:not(.feedback){font-size:14px}.sign-out-button{font-size:11px}.team-list{grid-column:1/-1}}.skin-buddy{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f7f5ec}.skin-buddy-heading{display:flex;align-items:center;gap:10px;margin-bottom:13px}.skin-buddy-heading h2{margin:0 0 2px;font-size:18px}.skin-buddy-character,.skin-buddy-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.bot-face{width:35px;height:35px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--green-pale)}.bot-face svg{width:25px;height:25px;fill:none;stroke:#344c38;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.bot-face svg rect{fill:#e9f0e2}.bot-face svg circle{fill:#3c6444;stroke:none}.skin-buddy form{display:grid;grid-gap:9px;gap:9px}.skin-buddy-label{color:var(--ink);font-size:12px;font-weight:800}.skin-buddy textarea{display:block;width:100%;min-height:64px;resize:vertical;padding:10px 11px;border:1px solid #cfc8b4;border-radius:9px;background:#fffefa;color:var(--ink);font:inherit;font-size:13px;line-height:1.5}.skin-buddy input:focus-visible,.skin-buddy textarea:focus-visible{outline:3px solid #bd763c;outline-offset:2px}.skin-buddy-privacy,.skin-buddy-status{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.skin-buddy-ask{min-height:44px;padding:10px 13px;font-size:13px}.skin-buddy-result{display:grid;grid-gap:9px;gap:9px;margin-top:14px}.skin-buddy-result textarea{min-height:78px}.skin-buddy-feedback{margin-top:10px}.skin-buddy .text-button{justify-self:start}.skin-buddy-suggest{font-size:12px}.skin-live-preview{display:flex;align-items:center;gap:12px;padding:11px;border:1px solid #ded8c8;border-radius:11px;background:#fffefa}.skin-live-preview .character-avatar{width:52px;height:52px;position:relative}.skin-live-preview>span:last-child{min-width:0;display:grid;grid-gap:3px;gap:3px}.skin-live-preview strong{font-size:12px}.skin-live-preview small{color:var(--muted);font-size:11px;line-height:1.4;overflow-wrap:anywhere}.custom-skin-avatar{position:relative;overflow:visible}.skin-avatar-mark{position:relative;z-index:1}.skin-decoration{position:absolute;inset:-3px;width:calc(100% + 6px);height:calc(100% + 6px);z-index:2;overflow:visible;pointer-events:none}.skin-in-game{margin:-2px 0 12px;padding:9px 11px;border-radius:9px;background:#f7f5ec;color:#514d43;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.skin-in-game strong{color:var(--ink)}.sign-in-welcome .skin-buddy{margin-top:18px;padding:16px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}.sign-in-welcome .skin-buddy .skin-buddy-character,.sign-in-welcome .skin-buddy .skin-buddy-heading p,.sign-in-welcome .skin-buddy .skin-buddy-privacy,.sign-in-welcome .skin-buddy .skin-buddy-status{max-width:none;margin-bottom:0}@media(max-width:700px){.skin-buddy{margin-top:14px;padding:13px}.sign-in-welcome .skin-buddy{padding-top:14px}.skin-buddy textarea{font-size:16px}}