:root{--navy:#102d5b;--navy2:#071f43;--blue:#1572e8;--cyan:#13bfc0;--green:#19b978;--pink:#f33e83;--yellow:#ffbd27;--orange:#ff7d31;--paper:#fff;--bg:#f7fbff;--soft:#eef6fb;--line:#d8e8f2;--text:#15365c;--muted:#637b93;--shadow:0 20px 55px rgba(24,64,103,.12);--radius:24px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:linear-gradient(180deg,#fff 0%,#f4f9fd 100%)}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen{display:none}.screen.active{display:block}.topbar{height:74px;max-width:1420px;margin:10px auto 0;padding:8px 16px;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.9);border:1px solid rgba(216,232,242,.95);border-radius:999px;box-shadow:0 12px 30px rgba(21,54,92,.08);backdrop-filter:blur(16px);position:relative;z-index:30}.brand{display:flex;align-items:center;gap:13px;min-width:0}.logo{width:82px;height:52px;object-fit:contain}.brand-copy{display:flex;flex-direction:column}.brand-copy strong{font-size:1.45rem;line-height:1;color:#102d5b}.brand-copy span{font-size:.82rem;color:var(--muted);margin-top:4px}.top-actions{margin-left:auto;display:flex;gap:8px}.icon-btn,.round-btn, .dock-btn.wide{width:auto;min-width:46px;padding:0 10px;gap:4px;font-size:.9rem}.dock-btn{border:1px solid var(--line);background:#fff;color:var(--navy);box-shadow:0 8px 20px rgba(20,57,93,.08)}.icon-btn{width:46px;height:46px;border-radius:50%;font-weight:900}.config-screen{padding:18px}.config-shell{max-width:1260px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(520px,1.15fr);gap:22px;align-items:stretch}.config-intro,.config-panel{background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow)}.config-intro{padding:clamp(26px,4vw,48px);position:relative;overflow:hidden;background:radial-gradient(circle at 95% 5%,rgba(21,114,232,.12),transparent 27%),radial-gradient(circle at 5% 96%,rgba(243,62,131,.10),transparent 28%),#fff}.config-intro:after{content:"7";position:absolute;right:28px;bottom:-32px;font-weight:1000;font-size:13rem;color:rgba(21,114,232,.045);line-height:1}.eyebrow,.modal-kicker{display:inline-flex;padding:8px 12px;border-radius:999px;background:linear-gradient(135deg,rgba(19,191,192,.12),rgba(21,114,232,.10));color:#087d8a;font-size:.75rem;font-weight:900;letter-spacing:.06em}.config-intro h1{font-size:clamp(2.4rem,5vw,4.7rem);letter-spacing:-.055em;line-height:.94;margin:18px 0 16px;color:var(--navy);max-width:8.5ch}.config-intro h1 em{font-style:normal;color:var(--orange)}.config-intro p{font-size:1.02rem;line-height:1.6;color:var(--muted);max-width:46ch}.benefits{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.benefits span{padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.82rem;font-weight:800}.config-panel{padding:22px}.mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:5px;background:#eef5fa;border-radius:18px;margin-bottom:18px}.mode-tab{border:0;background:transparent;border-radius:14px;padding:13px 14px;color:var(--muted);text-align:left}.mode-tab b,.mode-tab small{display:block}.mode-tab b{font-size:.94rem}.mode-tab small{font-size:.72rem;margin-top:3px}.mode-tab.active{background:#fff;color:var(--navy);box-shadow:0 8px 18px rgba(21,69,109,.09)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:5px 2px 10px}.section-head strong,.section-head span{display:block}.section-head strong{font-size:1rem}.section-head div>span{font-size:.78rem;color:var(--muted);margin-top:3px}.count-pill{min-width:34px;padding:6px 10px;border-radius:999px;background:#e9f5ff;color:var(--blue);font-weight:900;text-align:center}.challenge-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:390px;overflow:auto;padding:2px}.challenge{border:2px solid var(--line);background:#fff;border-radius:18px;padding:8px;display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:10px;text-align:left;color:var(--text)}.challenge img{width:92px;height:68px;object-fit:cover;border-radius:13px;background:var(--soft)}.challenge strong{display:block;font-size:.9rem}.challenge small{display:block;color:var(--muted);font-size:.73rem;margin-top:4px}.challenge .check{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eef5fb;color:#7890a5;font-size:.75rem}.challenge.active{border-color:#2b8cf1;background:#fbfdff;box-shadow:0 10px 20px rgba(21,114,232,.10)}.challenge.active .check{background:var(--blue);color:#fff}.journey-card{padding:20px;border-radius:20px;background:linear-gradient(135deg,#effaf7,#f1f4ff);border:1px solid #d8ebe5}.journey-top{display:flex;justify-content:space-between;gap:10px}.journey-card p{font-size:.86rem;color:var(--muted);line-height:1.5}.progress{height:8px;background:#fff;border-radius:99px;overflow:hidden;margin-top:12px}.progress i{height:100%;display:block;background:linear-gradient(90deg,var(--green),var(--blue));border-radius:99px}.config-actions{display:flex;gap:10px;margin-top:18px}.btn{border-radius:16px;min-height:54px;padding:13px 20px;border:1px solid var(--line);font-weight:900;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:linear-gradient(135deg,#14c6a7,#3f72f4);color:#fff;border:0;box-shadow:0 14px 28px rgba(63,114,244,.22)}.btn-secondary{background:#fff;color:var(--navy)}.config-actions .btn-primary{flex:1}.splash{position:fixed;inset:0;z-index:100000;background:#fff;display:grid;place-items:center;overflow:hidden;padding:0;transition:opacity .32s ease,visibility .32s ease}.splash.hide{opacity:0;visibility:hidden;pointer-events:none}.splash-media,.splash-media img{width:100%;height:100%;display:block}.splash-media img{object-fit:contain;object-position:center;animation:openingZoom 1.2s ease both}@keyframes openingZoom{from{transform:scale(1.02);opacity:.88}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.splash-media img{animation:none}}.game-screen.active{display:flex;position:fixed;inset:0;z-index:100;background:linear-gradient(180deg,#edf7fc,#f9fcff);flex-direction:column;overflow:hidden}.game-hud{height:68px;flex:0 0 68px;padding:8px clamp(8px,2vw,18px);display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);box-shadow:0 8px 26px rgba(20,63,100,.08);z-index:8}.round-btn{width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:900;flex:0 0 auto}.round-btn.wide{width:auto;min-width:62px;border-radius:999px;padding:0 13px;gap:5px}.game-title{display:flex;flex-direction:column;min-width:0}.game-title strong{font-size:1.04rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-title span{font-size:.72rem;color:var(--muted);white-space:nowrap}.hud-stats{margin-left:auto;display:flex;gap:7px}.hud-chip{min-width:86px;padding:6px 12px;border-radius:14px;background:#f2f7fb;border:1px solid #e1edf4;text-align:center}.hud-chip small{display:block;font-size:.62rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.hud-chip b{font-size:.98rem}.hud-actions{display:flex;gap:7px}.mobile-switch{display:none;flex:0 0 auto;padding:5px;background:#e7f1f7;gap:4px}.mobile-switch button{flex:1;border:0;background:transparent;border-radius:12px;padding:10px;font-weight:900;color:#6d8498}.mobile-switch button.active{background:#fff;color:var(--blue);box-shadow:0 5px 13px rgba(19,65,102,.10)}.play-area{flex:1;min-height:0;padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center;justify-items:center;overflow:hidden}.image-stage{margin:0;position:relative;width:100%;height:100%;min-height:0;border-radius:18px;overflow:hidden;background:#dcebf4;border:1px solid #cfe0ea;box-shadow:0 12px 30px rgba(20,61,96,.10);display:flex;align-items:center;justify-content:center;touch-action:manipulation;user-select:none;cursor:crosshair}.image-stage>img{width:100%;height:100%;object-fit:contain;pointer-events:none}.image-stage figcaption{position:absolute;top:9px;left:9px;z-index:5;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 5px 14px rgba(16,45,91,.12);font-weight:900;font-size:.68rem;color:var(--navy)}.marker-layer{position:absolute;inset:0;pointer-events:none}.marker,.hint-ring,.miss{position:absolute;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;z-index:6}.marker{border:clamp(1px,.28vw,4px) solid var(--green);background:rgba(25,185,120,.08);display:grid;place-items:center}.marker:after{content:"✓";width:min(22px,55%);height:min(22px,55%);border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:clamp(.48rem,1.1vw,.72rem);font-weight:1000}.hint-ring{border:5px solid var(--yellow);background:rgba(255,189,39,.09);box-shadow:0 0 0 3px rgba(255,255,255,.85);animation:hintPulse .8s ease-in-out infinite alternate}.miss{width:34px;height:34px;border:3px solid var(--pink);animation:miss .55s ease forwards}.game-dock{height:64px;flex:0 0 64px;background:rgba(255,255,255,.97);border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:7px clamp(8px,2vw,18px);z-index:8}.found-track{display:flex;gap:5px;flex:0 0 auto}.found-track span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-size:.65rem;font-weight:900;background:#edf4f8;color:#7890a5;border:1px solid #d9e7ef}.found-track span.on{background:var(--green);color:#fff;border-color:var(--green)}.game-message{flex:1;min-width:0;font-size:.82rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .dock-btn.wide{width:auto;min-width:46px;padding:0 10px;gap:4px;font-size:.9rem}.dock-btn{width:42px;height:42px;border-radius:14px;font-weight:900}.overlay{position:fixed;inset:0;z-index:500;background:rgba(11,35,67,.58);backdrop-filter:blur(8px);display:grid;place-items:center;padding:16px}.modal-card{position:relative;width:min(620px,96vw);max-height:92dvh;overflow:auto;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 35px 90px rgba(10,38,73,.3);padding:28px}.modal-close{position:absolute;right:16px;top:14px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:1.35rem}.modal-card h2{font-size:2rem;letter-spacing:-.035em;margin:12px 0 20px}.tutorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.tutorial-step{display:flex;gap:10px;padding:13px;border-radius:17px;background:#f6fafe;border:1px solid #e2edf4}.tutorial-step i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7f3ff;color:var(--blue);font-style:normal;font-weight:1000;flex:0 0 auto}.tutorial-step b,.tutorial-step span{display:block}.tutorial-step b{font-size:.88rem}.tutorial-step span{font-size:.76rem;color:var(--muted);line-height:1.4;margin-top:3px}.compact-card{width:min(390px,94vw);text-align:center;display:grid;gap:10px}.compact-card h2{margin:0}.compact-card p{color:var(--muted)}.answer-overlay{position:fixed;inset:0;z-index:700;background:#071a35;display:flex;flex-direction:column;color:#fff}.answer-head{flex:0 0 auto;padding:10px 18px;display:flex;align-items:center;gap:18px;border-bottom:1px solid rgba(255,255,255,.12);background:rgba(7,26,53,.96)}.answer-head>div:first-child{flex:1}.answer-head span{font-size:.65rem;letter-spacing:.08em;font-weight:900;color:#8ad8ff}.answer-head h2{font-size:1.4rem;margin:2px 0}.answer-head p{margin:0;color:#c3d3e7;font-size:.77rem}.answer-stats{display:flex;gap:8px}.answer-stats>span{min-width:88px;text-align:center;padding:7px 10px;border-radius:13px;background:rgba(255,255,255,.08)}.answer-stats small,.answer-stats b{display:block}.answer-stats small{font-size:.6rem;color:#9db2c8}.answer-view{flex:1;min-height:0;display:grid;place-items:center;padding:8px;overflow:auto;touch-action:manipulation}.answer-view img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.35)}.answer-actions{flex:0 0 auto;padding:9px 16px;display:flex;gap:8px;justify-content:center;background:rgba(7,26,53,.97);border-top:1px solid rgba(255,255,255,.12)}.answer-actions .btn-secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}.loading-overlay{position:fixed;inset:0;z-index:900;background:rgba(247,251,255,.91);backdrop-filter:blur(8px);display:grid;place-items:center}.loading-card{width:min(360px,90vw);padding:28px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);text-align:center}.loading-card b,.loading-card small{display:block}.loading-card small{color:var(--muted);margin-top:6px;line-height:1.4}.spinner{display:block;width:42px;height:42px;border-radius:50%;border:4px solid #e4edf5;border-top-color:var(--blue);margin:0 auto 14px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes hintPulse{from{box-shadow:0 0 0 2px rgba(255,255,255,.9),0 0 0 0 rgba(255,189,39,.35)}to{box-shadow:0 0 0 2px rgba(255,255,255,.9),0 0 0 14px rgba(255,189,39,0)}}@keyframes miss{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.6)}}
@media(max-width:980px){.config-shell{grid-template-columns:1fr}.config-intro{padding:25px}.config-intro h1{font-size:3rem;max-width:12ch}.challenge-list{max-height:320px}.topbar{margin:8px}.play-area{padding:6px}}
@media(orientation:portrait) and (max-width:1024px){.game-hud{height:56px;flex-basis:56px}.game-title span{display:none}.hud-chip{min-width:70px;padding:5px 8px}.mobile-switch{display:none!important}.play-area{display:grid;grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:4px;padding:4px;min-height:0;overflow:hidden;align-items:stretch;justify-items:stretch}.image-stage{display:flex!important;width:100%;height:100%;min-height:0;border-radius:12px}.image-stage>img{width:100%;height:100%;object-fit:contain}.image-stage figcaption{top:6px;left:6px;padding:4px 8px;font-size:.62rem}.game-dock{height:56px;flex-basis:56px}.game-message{display:none}.found-track{flex:1;justify-content:center}.optional-mobile{display:none}.round-btn{width:40px;height:40px}.round-btn.wide{width:auto}.hud-actions{gap:5px}.answer-head{padding:8px 10px}.answer-head p{display:none}.answer-stats>span{min-width:72px}.answer-actions{padding:8px;display:grid;grid-template-columns:1fr 1fr}.answer-actions .btn-primary{grid-column:1/-1;order:-1}.tutorial-grid{grid-template-columns:1fr}}
@media(orientation:landscape) and (max-width:1024px){.mobile-switch{display:none!important}.play-area{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:4px;padding:4px;min-height:0;overflow:hidden;align-items:stretch;justify-items:stretch}.image-stage{display:flex!important;width:100%;height:100%;min-height:0;border-radius:12px}.image-stage>img{width:100%;height:100%;object-fit:contain}.game-hud{height:52px;flex-basis:52px}.game-dock{height:52px;flex-basis:52px}.game-message{display:none}.game-title span{display:none}.found-track{flex:1;justify-content:center}.optional-mobile{display:none}}
@media(max-width:620px){.topbar{height:64px;border-radius:20px;padding:6px 10px}.logo{width:58px;height:43px}.brand-copy span{display:none}.brand-copy strong{font-size:1.2rem}.config-screen{padding:10px}.config-intro{padding:20px;border-radius:24px}.config-intro h1{font-size:2.55rem}.config-intro p{font-size:.9rem}.benefits{gap:6px;margin-top:18px}.benefits span{font-size:.72rem;padding:7px 9px}.config-panel{padding:14px;border-radius:24px}.challenge-list{grid-template-columns:1fr;max-height:300px}.challenge{grid-template-columns:82px 1fr auto}.challenge img{width:82px;height:60px}.config-actions{position:sticky;bottom:0;background:#fff;padding-top:10px}.config-actions .btn{min-height:50px}.game-title{max-width:112px}.hud-stats{margin-left:0}.hud-actions{margin-left:auto}.answer-head h2{font-size:1.08rem}.answer-head span{font-size:.55rem}.answer-stats>span:nth-child(2){display:none}.answer-stats>span{min-width:66px;padding:6px}.answer-view{padding:4px}.modal-card{padding:22px 16px;border-radius:22px}.modal-card h2{font-size:1.65rem}.splash-card{border-radius:17px}}
@media(max-width:390px){.game-title{display:none}.hud-chip{min-width:64px}.round-btn{width:40px;height:40px}.round-btn.wide{padding:0 9px}.game-dock{gap:5px;padding:7px}.found-track{gap:3px}.found-track span{width:23px;height:23px}.dock-btn{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* ===== escolha estilo memoria + abertura fullscreen ===== */
.config-screen{max-width:1180px;margin:0 auto;padding:8px 16px 28px}
.config-intro{text-align:center;max-width:760px;margin:8px auto 16px;padding:8px 8px 4px!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible}
.config-intro:after{display:none!important;content:none!important}
.config-intro .eyebrow{display:inline-block;margin-bottom:6px;font-size:.72rem;letter-spacing:.12em;font-weight:900;color:var(--blue)}
.config-intro h1{margin:10px 0 8px;font-size:clamp(1.35rem,3vw,1.8rem)!important;color:var(--navy);font-weight:900;letter-spacing:-.02em;max-width:none!important;line-height:1.15!important}
.config-intro p{margin:0 auto;color:var(--muted);font-size:1rem;line-height:1.5;max-width:52ch}
.splash-media{width:100%;height:100%;margin:0}
.splash picture.splash-media{display:block}
.mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:640px;margin:0 auto 18px}
.mode-tab{text-align:center}
.mode-tab b,.mode-tab small{text-align:center}
.library-layout{display:grid;gap:12px;align-items:start}
.section-head-inline{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:2px}
.section-head-inline strong{display:block;font-size:1.05rem;color:var(--navy)}
.section-head-inline span{color:var(--muted);font-size:.78rem}
.challenge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.theme-card{padding:0;border:1px solid #e1eaf4;background:#fff;border-radius:22px;overflow:hidden;cursor:pointer;text-align:left;box-shadow:0 8px 24px rgba(30,59,102,.08);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;color:inherit}
.theme-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(30,59,102,.12);border-color:#bcdcf7}
.theme-card-media{position:relative;display:block;aspect-ratio:4/3;min-height:0;background:linear-gradient(135deg,#ecf9ff,#fff1f7);overflow:hidden}
.theme-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.theme-card-tag{position:absolute;left:10px;bottom:10px;z-index:2;max-width:calc(100% - 20px);padding:7px 12px;border-radius:999px;background:rgba(16,24,70,.78);color:#fff;font-size:.78rem;font-weight:850;backdrop-filter:blur(6px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.play-btn{border:0;border-radius:16px;min-height:54px;padding:0 18px;background:linear-gradient(100deg,var(--blue),#1769ef 62%,#5b4dde);color:#fff;font-weight:900;font-size:1rem;box-shadow:0 12px 24px rgba(29,103,229,.24);width:100%}
.play-btn:hover{transform:translateY(-1px)}
.journey-card{max-width:720px;margin:0 auto;padding:22px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px rgba(24,64,103,.08)}
.journey-actions{margin-top:16px}
@media(max-width:980px){.challenge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.challenge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.config-screen{padding:8px 12px 20px}.challenge-grid{grid-template-columns:1fr 1fr;gap:10px}.theme-card-tag{font-size:.7rem;padding:6px 10px}.mode-tabs{grid-template-columns:1fr}}

.dock-btn.wide{width:auto;min-width:46px;padding:0 10px;gap:4px;display:inline-flex;align-items:center;justify-content:center}.game-hud{display:none!important}

/* Keep the shared settings button clear of image targets in compact landscape play. */
@media (orientation:landscape) and (max-width:1024px){
  body:has(#gameScreen.active) #nbGameSettingsRoot{top:auto;right:auto;bottom:0;left:0}
  body:has(#gameScreen.active) #nbGameSettingsRoot .nb-gs-safe{width:52px;height:52px;margin:0}
  body:has(#gameScreen.active) #nbGameSettingsRoot .nb-gs-gear{width:40px;height:40px}
  #gameScreen.active .game-dock{padding-left:60px}
}
