:root{
  --bg:#071c22;--bg2:#0c2a30;--panel:#102f35;--panel2:#163941;--cream:#fff6e7;--ink:#f4f7f6;--muted:#9fb5b7;
  --gold:#f4c85e;--gold2:#d89b2b;--hot:#ef5b52;--day:#f3b347;--cold:#55bce8;--night:#6674d8;
  --line:rgba(255,255,255,.12);--shadow:0 24px 70px rgba(0,0,0,.34);--card-w:clamp(52px,12vw,140px);--card-h:calc(var(--card-w)*1.4);--gap:clamp(5px,1.25vw,14px);
  --font-ui:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:var(--font-ui);-webkit-tap-highlight-color:transparent}body{overflow:hidden}button,input{font:inherit}.screen{position:fixed;inset:0;min-height:100dvh}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.app{min-height:100dvh;background:radial-gradient(circle at 50% -10%,#19444d,transparent 42rem),linear-gradient(180deg,#0d2b31,#07191e)}
.app::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.13;background-image:radial-gradient(circle,rgba(255,255,255,.55) 0 1px,transparent 1.2px);background-size:34px 34px}
button{color:inherit}.round-btn{width:46px;height:46px;border-radius:16px;border:1px solid var(--line);background:rgba(8,29,34,.78);color:#fff;display:grid;place-items:center;font-weight:900;font-size:18px;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.18);transition:.16s ease}.round-btn:hover{transform:translateY(-1px);border-color:rgba(244,200,94,.5);background:rgba(19,55,62,.92)}.round-btn:disabled{opacity:.32;cursor:not-allowed;transform:none}.primary-btn,.secondary-btn,.text-link{border:0;cursor:pointer;font-weight:900;transition:.16s ease}.primary-btn{min-height:58px;padding:0 24px;border-radius:999px;background:linear-gradient(180deg,#ffe692,#f3bf4d 55%,#dc982d);color:#271b08;box-shadow:0 7px 0 #9b6827,0 18px 34px rgba(0,0,0,.22)}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 9px 0 #9b6827,0 22px 38px rgba(0,0,0,.26)}.secondary-btn{min-height:54px;padding:0 22px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:#f4f7f6}.secondary-btn:hover{background:rgba(255,255,255,.11);border-color:rgba(244,200,94,.4)}.text-link{background:none;color:#bdd0d1;padding:8px;text-decoration:underline;text-underline-offset:4px}.text-link:hover{color:#fff}.eyebrow{margin:0;color:#e8bd61;font-size:11px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}

/* splash */
.splash-screen{display:grid;place-items:center;text-align:center;align-content:center;gap:12px;background:radial-gradient(circle at center,#173f47,#071b20 70%)}.splash-prism{display:flex;gap:10px;font-size:40px;filter:drop-shadow(0 15px 24px rgba(0,0,0,.22));animation:splashFloat 2.4s ease-in-out infinite}.s-hot{color:var(--hot)}.s-day{color:var(--day)}.s-cold{color:var(--cold)}.s-night{color:var(--night)}.brand-mini{margin:6px 0 0;color:#bcd2d3;letter-spacing:.16em;font-weight:800;font-size:13px}.brand-mini b{color:#fff}.splash-screen h1{margin:0;font-family:var(--font-display);font-size:clamp(58px,11vw,110px);letter-spacing:.04em;color:#fff7e9;text-shadow:0 10px 30px rgba(0,0,0,.25)}.splash-tag{margin:0;color:#bdd0d1;font-size:clamp(16px,2vw,21px)}@keyframes splashFloat{50%{transform:translateY(-7px)}}

/* menu */
.menu-screen{overflow-y:auto;padding-bottom:30px;background:radial-gradient(circle at 12% 8%,rgba(239,91,107,.12),transparent 20rem),radial-gradient(circle at 88% 12%,rgba(74,143,231,.14),transparent 20rem),linear-gradient(160deg,#0e3036,#071b20 68%)}.menu-topbar,.sub-topbar{height:78px;max-width:1120px;margin:auto;padding:14px clamp(14px,2vw,26px);display:flex;align-items:center;justify-content:space-between;gap:14px;position:relative;z-index:3}.brand-lockup{display:flex;align-items:center;gap:10px}.brand-brain{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:conic-gradient(from 25deg,var(--hot),var(--day),var(--night),var(--cold),var(--hot));color:#fff;border:2px solid rgba(255,255,255,.2);font-size:30px}.brand-lockup span:last-child{display:grid;line-height:1}.brand-lockup b{font-size:18px;letter-spacing:.1em}.brand-lockup small{color:#aac2c3}.menu-main{width:min(100%,1000px);margin:20px auto;padding:0 clamp(14px,3vw,30px);display:grid;gap:18px}.menu-hero{text-align:center;display:grid;justify-items:center;padding:28px 20px 24px}.hero-prism{display:flex;gap:9px;font-size:32px;margin-bottom:12px}.hero-prism span:nth-child(1){color:var(--day)}.hero-prism span:nth-child(2){color:var(--night)}.hero-prism span:nth-child(3){color:var(--hot)}.hero-prism span:nth-child(4){color:var(--cold)}.menu-hero h1{font-family:var(--font-display);font-size:clamp(64px,10vw,110px);line-height:.95;margin:8px 0 12px;color:#fff7e8;letter-spacing:-.045em}.hero-sub{max-width:620px;margin:0;color:#c4d6d7;font-size:clamp(17px,2vw,21px);line-height:1.55}.hero-actions{width:min(100%,420px);display:grid;gap:12px;margin-top:28px}.menu-paths{display:grid;grid-template-columns:1fr 1fr;gap:14px}.path-card{border:1px solid rgba(255,255,255,.13);border-radius:28px;padding:20px;text-align:left;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.035));color:#fff;display:grid;grid-template-columns:62px 1fr auto;gap:15px;align-items:center;cursor:pointer;box-shadow:0 16px 38px rgba(0,0,0,.16);transition:.16s}.path-card:hover{transform:translateY(-2px);border-color:rgba(244,200,94,.42);background:linear-gradient(160deg,rgba(255,255,255,.11),rgba(255,255,255,.05))}.path-icon{width:62px;height:62px;border-radius:21px;display:grid;place-items:center;background:linear-gradient(145deg,#ffe693,#d9982b);color:#352106;font-size:30px}.path-card small{display:block;color:#e9c36f;font-size:10px;font-weight:900;letter-spacing:.15em;margin-bottom:4px}.path-card strong{display:block;font-family:var(--font-display);font-size:25px}.path-card p{margin:5px 0 0;color:#abc2c4;line-height:1.4;font-size:13px}.path-card>b{font-size:28px;color:#d8e4e4}.menu-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.menu-progress>div{padding:16px;border-radius:22px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);text-align:center}.menu-progress span{display:block;color:#97b0b2;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.menu-progress strong{display:block;margin-top:5px;font-family:var(--font-display);font-size:26px;color:#fff6e5}.menu-links{text-align:center;display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.menu-links button{border:0;background:none;color:#aac2c3;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* journey */
.journey-screen{overflow-y:auto;background:linear-gradient(180deg,#0e3036,#071b20)}.sub-topbar>div{display:grid;text-align:center}.sub-topbar small{color:#e9c36f;font-size:10px;font-weight:900;letter-spacing:.16em}.sub-topbar strong{font-family:var(--font-display);font-size:22px}.sub-topbar>span{color:#bad0d1;font-weight:900}.journey-main{max-width:1050px;margin:auto;padding:10px 18px 40px}.journey-heading{text-align:center;max-width:650px;margin:10px auto 24px}.journey-heading h2{font-family:var(--font-display);font-size:clamp(42px,6vw,70px);margin:6px 0 10px}.journey-heading p:last-child{color:#b9cdce;line-height:1.5}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.level-card{position:relative;padding:17px;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);color:#fff;text-align:left;cursor:pointer;min-height:150px;transition:.16s}.level-card:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(244,200,94,.4)}.level-card:disabled{opacity:.38;cursor:not-allowed}.level-card.done{background:linear-gradient(150deg,rgba(68,183,123,.16),rgba(255,255,255,.04));border-color:rgba(68,183,123,.3)}.level-number{width:38px;height:38px;border-radius:13px;background:rgba(255,255,255,.09);display:grid;place-items:center;font-weight:900;color:#e9c36f}.level-card h3{font-family:var(--font-display);font-size:22px;margin:14px 0 4px}.level-card p{margin:0;color:#abc1c3;font-size:13px;line-height:1.4}.level-goal{display:block;margin-top:10px;color:#e9c36f;font-size:11px;font-weight:900}.level-check{position:absolute;top:14px;right:14px;color:#8be0b2;font-size:20px}

/* game */
.game-screen{position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,#0d3034,#071c22);overflow:hidden}.table-light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 35%,rgba(255,231,168,.07),transparent 38%),linear-gradient(90deg,transparent,rgba(98,66,35,.05),transparent)}.game-hud{position:relative;z-index:20;height:70px;padding:max(10px,env(safe-area-inset-top)) clamp(10px,2vw,20px) 8px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px}.game-title{display:grid;justify-self:start;line-height:1}.game-title b{font-family:var(--font-display);letter-spacing:.08em}.game-title small{color:#9db5b7;margin-top:4px}.compact-stats{display:flex;gap:12px;color:#a8bec0;font-size:13px}.compact-stats b{color:#fff}.hud-actions{display:flex;gap:7px}.objective-strip{position:relative;z-index:10;margin:0 auto 8px;width:min(calc(100% - 24px),900px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 14px;border-radius:18px;background:rgba(8,30,35,.75);border:1px solid rgba(255,255,255,.1);font-size:12px}.objective-strip span{font-weight:900;color:#e9c36f}.objective-track{height:7px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.objective-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#e9c36f,#6ad7a0);border-radius:inherit;transition:width .25s}.objective-strip strong{font-variant-numeric:tabular-nums}.board{position:relative;z-index:4;flex:1;min-height:0;width:min(100%,980px);margin:0 auto;padding:6px clamp(8px,1.8vw,18px) 4px;display:flex;flex-direction:column}.board-top{display:flex;justify-content:space-between;gap:18px;flex:0 0 auto;margin-bottom:clamp(9px,1.3dvh,17px)}.stock-cluster,.foundation-cluster{display:flex;gap:var(--gap)}.pile-slot{width:var(--card-w);height:var(--card-h);border-radius:14px;border:1.5px dashed rgba(255,255,255,.17);background:rgba(255,255,255,.025);padding:0;position:relative;display:grid;place-items:center;color:#90a9ab}.pile-slot small{position:absolute;bottom:-17px;font-size:9px;color:#759092;white-space:nowrap;font-weight:800}.pile-slot.drop-ok,.tableau-slot.drop-ok{border-color:#ffe08a;background:rgba(255,224,138,.08);box-shadow:inset 0 0 0 3px rgba(255,224,138,.12),0 0 18px rgba(255,224,138,.12)}.stock-slot{cursor:pointer}.stock-slot.can-recycle{border-color:rgba(244,200,94,.55)}.slot-mark{font-size:26px}.foundation-ghost{font-size:24px;opacity:.5}.foundation-slot[data-suit="hot"]{color:var(--hot);border-color:rgba(239,91,82,.38)}.foundation-slot[data-suit="day"]{color:var(--day);border-color:rgba(243,179,71,.38)}.foundation-slot[data-suit="cold"]{color:var(--cold);border-color:rgba(85,188,232,.38)}.foundation-slot[data-suit="night"]{color:var(--night);border-color:rgba(102,116,216,.38)}.tableau-wrap{flex:1;min-height:0;position:relative;margin-top:16px}.tableau-cols{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,1fr);gap:var(--gap)}.tableau-slot{border-radius:14px;border:1px dashed rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(0,0,0,.025));padding:0;color:#527176;font-size:20px;cursor:pointer}.tableau-slot span{display:block;margin-top:14px}.card-layer{position:absolute;inset:0;pointer-events:none;z-index:5}.game-dock{position:relative;z-index:15;width:min(calc(100% - 20px),960px);margin:0 auto max(8px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 12px;border-radius:22px;background:rgba(5,23,27,.76);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.1);box-shadow:0 14px 36px rgba(0,0,0,.22)}.energy-title{display:flex;align-items:center;gap:10px;color:#9fb7b9;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.energy-title b{padding:5px 8px;border-radius:999px;background:rgba(244,200,94,.11);color:#f2ce75;letter-spacing:0;text-transform:none}.energy-gems{display:flex;gap:6px;margin-top:6px}.energy-gems i{width:16px;height:10px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:#24434a;box-shadow:0 0 0 1px rgba(255,255,255,.08)}.energy-gems i.on{background:linear-gradient(135deg,#fff0a9,#e2a93a);filter:drop-shadow(0 0 7px rgba(239,193,83,.45))}.power-btn,.auto-btn{min-height:46px;border-radius:16px;padding:0 14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#d7e4e4;font-weight:900;cursor:pointer}.power-btn span{color:#f0cb69;margin-right:5px}.power-btn.ready{background:linear-gradient(135deg,#5f2f75,#2f5f8d);border-color:rgba(229,187,255,.45);box-shadow:0 0 24px rgba(156,100,216,.2)}.power-btn:disabled{opacity:.38;cursor:not-allowed}.auto-btn{background:linear-gradient(135deg,#e9bf58,#bf7a25);color:#261808;border:0}.stuck-banner{position:fixed;z-index:30;left:50%;bottom:86px;transform:translateX(-50%);width:min(94vw,740px);padding:13px 14px;border-radius:20px;background:#16373c;border:1px solid rgba(255,255,255,.14);display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;box-shadow:var(--shadow)}.stuck-banner div{display:grid}.stuck-banner span{color:#a9c0c2;font-size:12px}.stuck-banner button{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);color:#fff;border-radius:14px;padding:10px 12px;font-weight:900;cursor:pointer}

/* tutorial */
.tutorial-screen{overflow-y:auto;background:linear-gradient(180deg,#0e3036,#071b20)}.tutorial-main{width:min(100%,760px);margin:20px auto;padding:0 18px 40px;text-align:center}.tutorial-copy h2{font-family:var(--font-display);font-size:clamp(38px,6vw,62px);margin:8px 0}.tutorial-copy p:last-child{color:#b8cdce;font-size:18px}.tutorial-stage{margin:28px auto 18px;min-height:300px;border-radius:30px;border:1px solid rgba(255,255,255,.12);background:radial-gradient(circle at center,rgba(255,255,255,.06),rgba(255,255,255,.025));display:flex;align-items:center;justify-content:center;gap:50px;position:relative;padding:30px}.tutorial-card{width:116px;height:162px;border-radius:20px;display:grid;place-items:center;align-content:center;gap:8px;cursor:pointer;border:2px solid rgba(255,255,255,.25);box-shadow:0 18px 36px rgba(0,0,0,.28);font-weight:900}.tutorial-card b{font-family:var(--font-display);font-size:48px}.tutorial-card span{font-size:30px}.tutorial-card.hot{background:linear-gradient(150deg,#ff8b70,#d53a38)}.tutorial-card.day{background:linear-gradient(150deg,#ffd86b,#dc931f);color:#3a2608}.tutorial-card.cold{background:linear-gradient(150deg,#8de6ff,#3293ce)}.tutorial-card.night{background:linear-gradient(150deg,#7f8ce7,#35429b)}.tutorial-foundation{width:116px;height:162px;border-radius:20px;border:2px dashed rgba(255,255,255,.28);display:grid;place-items:center;color:#d8e4e4;font-size:42px}.tutorial-foundation.cold{color:var(--cold);border-color:rgba(85,188,232,.55)}.tutorial-card.selected{transform:translateY(-8px);box-shadow:0 0 0 4px #ffe07e,0 20px 40px rgba(0,0,0,.28)}.tutorial-card.face-down{background:repeating-linear-gradient(45deg,#1a3e46 0 8px,#102e34 8px 16px);color:#e9bf5a}.tutorial-tip{color:#aac2c4;margin-bottom:18px}.tutorial-success{color:#8be0b2;font-weight:900}.tutorial-main>.primary-btn{min-width:240px}

/* overlays */
.overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;background:rgba(3,12,14,.72);backdrop-filter:blur(8px)}.panel{position:relative;width:min(100%,520px);max-height:88dvh;overflow-y:auto;border-radius:30px;padding:28px;background:linear-gradient(180deg,#fff8ea,#efe3cf);color:#35251d;box-shadow:0 30px 90px rgba(0,0,0,.38);border:1px solid rgba(101,64,35,.15)}.panel h2{font-family:var(--font-display);font-size:38px;line-height:1.05;margin:6px 0 12px;color:#3b281e}.panel .eyebrow{color:#946629}.close-x{position:absolute;right:15px;top:15px;width:42px;height:42px;border-radius:50%;border:0;background:#14333a;color:#fff;font-size:25px;cursor:pointer}.panel-actions{display:grid;gap:10px;margin-top:22px}.panel .secondary-btn{background:#fffaf1;color:#4b362b;border-color:rgba(84,53,32,.14)}.panel .text-link{color:#72594a}.pause-summary,.win-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.pause-summary span,.win-stats span{padding:13px;border-radius:18px;background:rgba(110,72,43,.06);text-align:center}.pause-summary small,.win-stats small{display:block;color:#8a7060;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.pause-summary b,.win-stats b{display:block;margin-top:6px;font-family:var(--font-display);font-size:24px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0;border-top:1px dashed rgba(91,57,36,.16)}.setting-row span{display:grid}.setting-row b{font-size:17px}.setting-row small{color:#80675a;line-height:1.4}.setting-row input{width:24px;height:24px;accent-color:#b47728}.power-grid{display:grid;gap:10px}.power-choice{width:100%;display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;text-align:left;padding:14px;border-radius:20px;border:1px solid rgba(91,57,36,.14);background:#fffdf7;color:#432f25;cursor:pointer}.power-choice:hover:not(:disabled){border-color:#d29b4a;transform:translateY(-1px)}.power-choice:disabled{opacity:.42;cursor:not-allowed}.power-choice>span{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#3d6c86,#6a407c);color:#fff;font-size:27px}.power-choice b{display:block;font-size:19px}.power-choice small{display:block;color:#816759;margin-top:3px;line-height:1.4}.panel-note{color:#7d6556;font-size:12px;line-height:1.45}.win-panel{text-align:center}.win-prism{width:86px;height:86px;border-radius:26px;display:grid;place-items:center;margin:0 auto 12px;background:conic-gradient(from 45deg,#ef5b6b,#f3b347,#44b77b,#4a8fe7,#ef5b6b);color:#fff;font-size:40px;box-shadow:0 18px 36px rgba(0,0,0,.18)}.progress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.progress-stats>div{padding:12px;border-radius:18px;background:rgba(101,64,35,.06);text-align:center}.progress-stats strong{display:block;font-size:24px;font-family:var(--font-display)}.progress-stats span{font-size:10px;color:#846d60;text-transform:uppercase}.achievement-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.achievement-card{padding:13px;border-radius:18px;background:#fffdf7;border:1px solid rgba(91,57,36,.1);opacity:.45}.achievement-card.done{opacity:1}.achievement-card span{font-size:24px}.achievement-card b{display:block;margin-top:5px}.achievement-card small{color:#80695c}.achievement-toast{position:fixed;z-index:140;left:50%;top:20px;transform:translateX(-50%);min-width:min(92vw,360px);padding:13px 16px;border-radius:20px;background:#15363d;border:1px solid rgba(244,200,94,.35);box-shadow:0 18px 44px rgba(0,0,0,.35);display:flex;gap:12px;align-items:center}.achievement-toast>span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#ffe58f,#c98c27);color:#2a1a06;font-size:22px}.achievement-toast small{display:block;color:#e8bd61;font-size:9px;letter-spacing:.16em;font-weight:900}.achievement-toast b{display:block;margin-top:3px}.toast{position:fixed;z-index:150;left:50%;bottom:96px;transform:translateX(-50%);max-width:90vw;padding:11px 17px;border-radius:999px;background:#17383e;color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:0 16px 36px rgba(0,0,0,.28);font-weight:800;font-size:13px;text-align:center}.fx-canvas{position:fixed;inset:0;z-index:99;pointer-events:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* ===== PRISMA V2 · Forças da natureza + encaixes intuitivos ===== */
:root{--stack-step:28px}
.game-screen{background:radial-gradient(ellipse at 50% 28%,rgba(245,210,132,.07),transparent 36%),linear-gradient(180deg,#12393c,#09282d 56%,#071d22)}
.table-light{background:radial-gradient(ellipse at 50% 30%,rgba(255,232,169,.09),transparent 38%),repeating-linear-gradient(90deg,rgba(255,255,255,.008) 0 1px,transparent 1px 42px)}
.board{width:min(100%,1040px);padding-left:clamp(8px,1.5vw,16px);padding-right:clamp(8px,1.5vw,16px)}
.board-top{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--gap);align-items:start;margin-bottom:22px}
.stock-cluster,.foundation-cluster{display:contents}
.pile-slot{width:100%;height:var(--card-h);min-width:0;border-radius:15px;background:rgba(255,255,255,.025);border:1.5px solid rgba(255,255,255,.14)}
.pile-slot small{bottom:-18px;font-size:9px;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.connection-legend{height:var(--card-h);min-width:0;border-radius:15px;border:1px solid rgba(244,200,94,.2);background:linear-gradient(180deg,rgba(244,200,94,.055),rgba(255,255,255,.018));display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:1fr auto;place-items:center;padding:10px 5px;color:#d8c8aa}.connection-legend .legend-cycle{color:#f0aa42;font-weight:950;letter-spacing:.08em}.connection-legend .legend-temperature{color:#67b9d5;font-weight:950;letter-spacing:.08em}.connection-legend>b{color:#fff0bc;font-size:18px}.connection-legend small{grid-column:1/-1;text-align:center;font-size:8px;line-height:1.2;text-transform:uppercase;letter-spacing:.08em;color:#8ea9aa;font-weight:900}
.foundation-slot{border-style:solid;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012))}.foundation-ghost{width:34%;height:34%;display:grid;place-items:center;opacity:.76}.nucleus-icon{width:100%;height:100%}.foundation-slot[data-suit="hot"]{color:#ef6252;border-color:rgba(239,98,82,.38)}.foundation-slot[data-suit="day"]{color:#f0b548;border-color:rgba(240,181,72,.38)}.foundation-slot[data-suit="cold"]{color:#58bfe4;border-color:rgba(88,191,228,.38)}.foundation-slot[data-suit="night"]{color:#7482df;border-color:rgba(116,130,223,.38)}
.tableau-wrap{margin-top:7px}.tableau-cols{gap:var(--gap)}.tableau-slot{border:0;background:none;position:relative;color:#6d9295;overflow:visible}.tableau-slot::before{content:"";position:absolute;left:14%;right:14%;top:1px;height:3px;border-radius:999px;background:rgba(255,255,255,.07)}.tableau-slot::after{content:"â";position:absolute;left:50%;top:15px;transform:translateX(-50%);font-size:18px;color:rgba(244,200,94,.12);opacity:0;transition:opacity .16s}.tableau-slot:empty::after,.tableau-slot>span{opacity:.42}.tableau-slot span{margin-top:14px;font-size:15px;color:rgba(122,164,166,.44)}.tableau-slot.drop-ok::before{background:#ffe18a;box-shadow:0 0 14px rgba(255,225,138,.55)}.tableau-slot.drop-ok{background:linear-gradient(180deg,rgba(255,226,138,.055),transparent 28%);box-shadow:none;border:0}.card-layer{position:absolute;inset:0;pointer-events:none;z-index:5;contain:layout style}
.foundation-slot.drop-ok{box-shadow:inset 0 0 0 3px rgba(255,224,138,.15),0 0 18px rgba(255,224,138,.14)}
.game-dock{background:rgba(5,28,31,.82)}
.energy-title span::after{content:" · revele cartas e complete Núcleos";font-weight:700;letter-spacing:0;text-transform:none;color:#79999b}
.power-btn.ready{background:linear-gradient(135deg,#6a3d80,#2c6684);box-shadow:0 0 26px rgba(104,166,203,.2)}
.tutorial-card small,.tutorial-foundation small{display:block;font-size:9px;font-weight:950;letter-spacing:.12em;margin-top:3px}.tutorial-foundation{align-content:center;gap:6px;color:#69d0a1}
@media(max-width:600px){.board-top{gap:4px;margin-bottom:17px}.connection-legend{padding:5px 2px}.connection-legend .legend-cycle,.connection-legend .legend-temperature{font-size:9px}.connection-legend>b{font-size:12px}.connection-legend small{font-size:6px}.pile-slot small{font-size:6px;bottom:-12px}.tableau-wrap{margin-top:5px}.tableau-slot::after{font-size:13px;top:10px}.energy-title span::after{display:none}}
@media(max-width:390px){.connection-legend small{display:none}.connection-legend{grid-template-rows:1fr}.pile-slot small{display:none}}
.tableau-slot .empty-column-mark{position:absolute;left:50%;top:12px;transform:translateX(-50%);display:grid;justify-items:center;gap:1px;color:rgba(244,200,94,.2);opacity:0;transition:opacity .16s}.tableau-slot.is-empty .empty-column-mark{opacity:.78}.empty-column-mark small{font-size:8px;font-weight:950;color:rgba(244,200,94,.55)}
@media(max-width:600px){.card .force-name{display:none}.card-head{left:14%;right:7%;grid-template-columns:auto 34%;gap:8%}.card-num{font-size:calc(var(--card-w)*.36)}.force-icon-large{width:46%;opacity:.12}.card.connection-target .card-face::after{display:none}.tableau-slot .empty-column-mark{top:9px}.empty-column-mark small{font-size:6px}}

/* ==============================================================
   PRISMA V3 · ETAPA 2 â TABULEIRO, NÃCLEOS E ENERGIA PRISMA
   ============================================================== */
.game-screen{
  background:
    radial-gradient(circle at 10% 2%,rgba(242,180,60,.075),transparent 27%),
    radial-gradient(circle at 89% 4%,rgba(79,185,227,.07),transparent 28%),
    linear-gradient(180deg,#0d3438 0%,#08292e 48%,#061c21 100%);
}
.table-light{
  opacity:1;
  background:
    radial-gradient(ellipse at 50% 12%,rgba(248,220,150,.08),transparent 31%),
    radial-gradient(ellipse at 20% 52%,rgba(239,91,71,.025),transparent 30%),
    radial-gradient(ellipse at 82% 52%,rgba(102,120,217,.032),transparent 32%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.008) 0 1px,transparent 1px 46px),
    linear-gradient(180deg,transparent 0 82%,rgba(1,13,16,.18));
}
.table-light::before{content:"";position:absolute;inset:0;opacity:.16;background-image:radial-gradient(circle,rgba(244,200,94,.32) 0 .65px,transparent .8px);background-size:53px 53px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 68%)}
.table-light::after{content:none;display:none}
.game-hud{border-bottom:0}
.game-title b{font-size:18px;color:#fff4d2;text-shadow:0 1px 10px rgba(244,200,94,.12)}
.game-title small{color:#8faeb0}

.board{width:min(100%,1060px);padding-left:clamp(8px,1.5vw,17px);padding-right:clamp(8px,1.5vw,17px)}
.board-top{gap:clamp(5px,1.15vw,13px);margin-bottom:26px}
/* Slots acompanham --card-w (definido pelo JS a partir da coluna do tableau). */
.pile-slot{
  width:min(100%,var(--card-w))!important;max-width:100%;
  aspect-ratio:5/7;height:auto!important;max-height:var(--card-h);
  justify-self:center;align-self:start;box-sizing:border-box;
  border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);
  overflow:visible
}
.stock-slot{background:radial-gradient(circle at 50% 45%,rgba(244,200,94,.055),transparent 42%),rgba(255,255,255,.018);border-color:rgba(244,200,94,.2)}
.stock-slot .slot-mark{width:42%;aspect-ratio:.78;display:grid;place-items:center;font-size:0;border:1px solid rgba(244,200,94,.22);transform:rotate(45deg);border-radius:3px;color:#d7af54}
.stock-slot .slot-mark::before{content:"";width:45%;height:45%;border:2px solid currentColor;transform:rotate(0deg);box-shadow:0 0 10px rgba(244,200,94,.1)}
.waste-slot::before{content:"â";font-size:26px;color:rgba(160,196,198,.18)}
.stock-slot small,.waste-slot small{color:#78989a;font-size:8px;letter-spacing:.08em;text-transform:uppercase;bottom:-17px}

.connection-legend{border-radius:16px!important;border:1px solid rgba(239,204,117,.16)!important;background:radial-gradient(circle at 50% 32%,rgba(244,200,94,.06),transparent 55%),rgba(255,255,255,.014)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.018)}
.connection-legend .legend-cycle,.connection-legend .legend-temperature{font-size:12px;letter-spacing:.03em!important}.connection-legend .legend-cycle{color:#f1c36e!important}.connection-legend .legend-temperature{color:#9cd8eb!important}.connection-legend>b{font-size:12px!important;color:#738f92!important}.connection-legend small{font-size:7px!important;letter-spacing:.12em!important;color:#789596!important}

/* Núcleos vazios: mini-cartas premium que mostram força e progresso. */
.foundation-slot{--nucleus:#f2b43c;--nucleus-deep:#a96b13;position:relative;align-content:center;justify-items:center;grid-template-rows:auto auto auto;gap:2px;padding:8% 6% 7%;overflow:hidden;border-style:solid!important;background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.012))!important}
.foundation-slot::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--nucleus),var(--nucleus-deep));opacity:.9}
/* Sem moldura interna â a carta preenche o slot sem linhas extras */
.foundation-slot::after{content:none!important;display:none!important}
.foundation-slot[data-suit="day"]{--nucleus:#f2b43c;--nucleus-deep:#ae6b0d;border-color:rgba(242,180,60,.34)!important;color:#f2b43c}
.foundation-slot[data-suit="night"]{--nucleus:#7484e5;--nucleus-deep:#34429c;border-color:rgba(116,132,229,.35)!important;color:#7484e5}
.foundation-slot[data-suit="hot"]{--nucleus:#ef654f;--nucleus-deep:#ae302c;border-color:rgba(239,101,79,.35)!important;color:#ef654f}
.foundation-slot[data-suit="cold"]{--nucleus:#58c0e8;--nucleus-deep:#257cab;border-color:rgba(88,192,232,.35)!important;color:#58c0e8}
.foundation-ghost{width:31%!important;height:auto!important;aspect-ratio:1;opacity:.95!important;color:inherit;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--nucleus) 30%,transparent))}
.foundation-slot .nucleus-icon{color:inherit!important;width:100%;height:100%}
.foundation-count,.foundation-slot>small{display:none!important}
.foundation-name{display:block;color:#e9efec;font-size:clamp(7px,.78vw,10px);line-height:1;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.nucleus-bar{display:block;width:70%;height:3px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:2px}.nucleus-bar i{display:block;width:var(--nucleus-progress,0%);height:100%;background:linear-gradient(90deg,var(--nucleus-deep),var(--nucleus));border-radius:inherit;box-shadow:0 0 7px color-mix(in srgb,var(--nucleus) 40%,transparent);transition:width .25s ease}
.foundation-slot small{display:none!important}
.foundation-slot.nucleus-complete{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nucleus) 26%,transparent),0 0 18px color-mix(in srgb,var(--nucleus) 18%,transparent)}
.foundation-slot.drop-ok{box-shadow:inset 0 0 0 2px rgba(255,226,138,.24),0 0 22px rgba(255,224,138,.2)!important}

/* Área de jogo mais silenciosa: guias finas em vez de caixas. */
.tableau-wrap{margin-top:5px}
.tableau-slot{background:none!important;border:0!important;border-radius:0!important;position:relative;overflow:visible}
.tableau-slot::before{left:12%!important;right:12%!important;top:1px!important;height:2px!important;background:linear-gradient(90deg,transparent,rgba(209,231,230,.11),transparent)!important}
.tableau-slot::after{content:"â"!important;top:11px!important;font-size:17px!important;color:rgba(244,200,94,.12)!important}
.tableau-slot .empty-column-mark{top:12px!important;color:rgba(244,200,94,.17)!important}.empty-column-mark small{color:rgba(244,200,94,.42)!important}
.tableau-slot.drop-ok{background:linear-gradient(180deg,rgba(255,226,138,.045),transparent 27%)!important}.tableau-slot.drop-ok::before{height:3px!important;background:#ffe18a!important;box-shadow:0 0 16px rgba(255,225,138,.48)!important}

/* Dock de energia: o medidor agora é um objeto prismático, não uma barra genérica. */
.game-dock{width:min(calc(100% - 20px),980px);grid-template-columns:minmax(0,1fr) auto auto;padding:8px 10px 8px 14px;border-radius:24px;background:linear-gradient(180deg,rgba(7,31,35,.9),rgba(4,23,27,.88));border-color:rgba(225,192,112,.13);box-shadow:0 16px 38px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.025)}
.energy-wrap{min-width:0;display:grid;align-items:center}.energy-title{font-size:9px;letter-spacing:.13em;color:#8fa9aa}.energy-title span::after{content:""!important}.energy-title b{font-size:9px;padding:4px 7px;background:rgba(244,200,94,.09);border:1px solid rgba(244,200,94,.12)}
.prism-energy-row{display:flex;align-items:center;gap:10px;margin-top:4px;min-width:0}
.energy-gems{position:relative;width:54px;height:34px;margin:0;flex:0 0 auto;display:block;filter:drop-shadow(0 5px 8px rgba(0,0,0,.3))}
.energy-gems i{position:absolute;width:27px;height:22px;margin:0;clip-path:polygon(50% 0,100% 43%,72% 100%,28% 100%,0 43%);background:#173c43;box-shadow:none;opacity:.48;transition:background .2s ease,filter .2s ease,opacity .2s ease,transform .2s ease}
.energy-gems i:nth-of-type(1){left:13px;top:-1px;clip-path:polygon(50% 0,100% 55%,50% 100%,0 55%);transform:translateY(-2px)}
.energy-gems i:nth-of-type(2){left:27px;top:11px;clip-path:polygon(0 0,100% 35%,58% 100%,0 56%)}
.energy-gems i:nth-of-type(3){left:13px;top:16px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.energy-gems i:nth-of-type(4){left:0;top:11px;clip-path:polygon(100% 0,100% 56%,42% 100%,0 35%)}
.energy-gems i:nth-of-type(1).on{background:linear-gradient(145deg,#fff2a7,#f2aa26);opacity:1;filter:drop-shadow(0 0 6px rgba(242,180,60,.5))}
.energy-gems i:nth-of-type(2).on{background:linear-gradient(145deg,#bfcaff,#596bd2);opacity:1;filter:drop-shadow(0 0 6px rgba(102,120,217,.5))}
.energy-gems i:nth-of-type(3).on{background:linear-gradient(145deg,#ffb38e,#e4473d);opacity:1;filter:drop-shadow(0 0 6px rgba(239,91,71,.48))}
.energy-gems i:nth-of-type(4).on{background:linear-gradient(145deg,#bcefff,#42aed8);opacity:1;filter:drop-shadow(0 0 6px rgba(79,185,227,.48))}
.prism-core{position:absolute;left:25px;top:14px;width:6px;height:6px;border-radius:50%;background:#7d999b;box-shadow:0 0 7px rgba(255,255,255,.12);transition:.2s ease}.energy-gems[data-energy="4"] .prism-core{background:#fff6d2;box-shadow:0 0 9px #fff2b2,0 0 18px rgba(201,145,255,.65)}
.energy-copy{display:grid;min-width:0}.energy-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:18px;color:#f7e8bd;line-height:1}.energy-copy small{margin-top:2px;color:#688b8e;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.power-btn{min-width:154px;min-height:50px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:1fr 1fr;align-items:center;text-align:left;padding:5px 12px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));border-color:rgba(207,181,115,.13)}
.power-btn .power-prism{grid-row:1/3;display:grid;place-items:center;width:29px;height:29px;margin:0!important;border:1px solid rgba(244,200,94,.26);border-radius:10px;color:#d8b75e!important;background:rgba(244,200,94,.035);font-size:16px}.power-btn b{align-self:end;font-size:11px}.power-btn small{align-self:start;color:#6f9092;font-size:8px;font-weight:750}.power-btn.ready{background:linear-gradient(135deg,rgba(97,55,134,.96),rgba(35,102,122,.96))!important;border-color:rgba(222,190,255,.35);box-shadow:0 0 28px rgba(111,146,211,.17)!important}.power-btn.ready .power-prism{color:#fff1a6!important;border-color:rgba(255,239,165,.48);box-shadow:0 0 14px rgba(255,226,127,.13)}
.auto-btn{min-height:50px;border-radius:18px}

@media(max-width:600px){
  .board-top{margin-bottom:17px}.foundation-slot{padding:6% 3% 5%;gap:1px}.foundation-name{font-size:6px}.foundation-count{font-size:9px}.foundation-slot small{display:none!important}.nucleus-bar{width:65%;height:2px}.foundation-ghost{width:34%!important}
  .connection-legend .legend-cycle,.connection-legend .legend-temperature{font-size:8px}.connection-legend small{font-size:5px!important}.stock-slot small,.waste-slot small{display:none}
  .game-dock{grid-template-columns:minmax(0,1fr) auto;padding:7px 8px 7px 10px;border-radius:19px}.energy-title{font-size:8px}.prism-energy-row{gap:6px}.energy-gems{width:45px;height:30px;transform:scale(.86);transform-origin:left center;margin-right:-6px}.energy-copy strong{font-size:15px}.energy-copy small{display:none}.power-btn{min-width:112px;min-height:43px;grid-template-columns:28px 1fr;padding:4px 8px;border-radius:15px}.power-btn .power-prism{width:24px;height:24px;border-radius:8px}.power-btn b{font-size:9px}.power-btn small{font-size:7px}.tableau-wrap{margin-top:5px}
}
@media(max-width:390px){
  .foundation-name,.foundation-slot small{display:none!important}.foundation-count{font-size:8px}.foundation-ghost{width:40%!important}.nucleus-bar{width:55%}.connection-legend small{display:none!important}.connection-legend{grid-template-rows:1fr!important}.energy-title span{font-size:7px}.energy-copy strong{font-size:14px}.power-btn small{display:none}.power-btn{grid-template-rows:1fr;grid-template-columns:26px 1fr;min-width:103px}.power-btn .power-prism{grid-row:1}.power-btn b{align-self:center}
}
@media(max-height:600px) and (orientation:landscape){
  .board-top{margin-bottom:7px}.game-dock{padding-top:4px;padding-bottom:4px}.energy-title{display:none}.prism-energy-row{margin-top:0}.power-btn{min-height:37px}.foundation-slot{padding-top:4%;padding-bottom:4%}.foundation-slot small{display:none!important}
}

/* ==============================================================
   PRISMA V3 · ETAPA 3 â GAME FEEL
   Feedbacks de conexão, Fluxo, Convergência, Ressonância e energia.
   ============================================================== */
.game-feel-layer{position:fixed;inset:0;z-index:42;pointer-events:none;overflow:hidden}
.feel-beam{position:absolute;height:3px;transform-origin:0 50%;border-radius:999px;background:linear-gradient(90deg,var(--fx-a),#fff8cf 46%,var(--fx-b));box-shadow:0 0 8px color-mix(in srgb,var(--fx-a) 54%,transparent),0 0 18px color-mix(in srgb,var(--fx-b) 36%,transparent);opacity:0;transform:rotate(var(--beam-angle,0deg));animation:beamFlash .62s cubic-bezier(.2,.75,.2,1) both}
.feel-beam.refraction{height:4px;background:linear-gradient(90deg,var(--fx-a),#f4c85e,#b26de5,#58d0e4,var(--fx-b));box-shadow:0 0 10px rgba(244,200,94,.5),0 0 24px rgba(178,109,229,.3)}
.feel-beam.convergence{height:2px;animation-duration:.9s;background:linear-gradient(90deg,var(--fx-a),rgba(255,248,211,.96),var(--fx-b));box-shadow:0 0 10px var(--fx-a),0 0 26px rgba(255,239,173,.24)}
.feel-spark{position:absolute;width:18px;height:18px;transform:translate(-50%,-50%) rotate(45deg);border:2px solid #fff9db;background:linear-gradient(135deg,var(--fx-a),var(--fx-b));box-shadow:0 0 0 4px rgba(255,248,220,.10),0 0 24px var(--fx-b);opacity:0;animation:sparkPop .62s ease-out both}
.feel-spark.refraction{width:22px;height:22px;border-radius:4px;background:conic-gradient(var(--fx-a),#f4c85e,#a96de0,#58d0e4,var(--fx-b),var(--fx-a))}
.feel-spark.convergence{width:15px;height:15px;animation-duration:.9s}
@keyframes beamFlash{0%{opacity:0;transform:rotate(var(--beam-angle,0deg)) scaleX(.08)}22%{opacity:.95;transform:rotate(var(--beam-angle,0deg)) scaleX(1)}72%{opacity:.68;transform:rotate(var(--beam-angle,0deg)) scaleX(1)}100%{opacity:0;transform:rotate(var(--beam-angle,0deg)) scaleX(1.02);filter:blur(1px)}}
@keyframes sparkPop{0%{opacity:0;scale:.25}35%{opacity:1;scale:1.25}100%{opacity:0;scale:1.8}}

/* A tela responde ao Fluxo sem competir com a leitura das cartas. */
.game-screen[data-flow-tier="1"] .table-light{background:radial-gradient(ellipse at 50% 35%,rgba(255,231,168,.09),transparent 39%),linear-gradient(90deg,transparent,rgba(98,66,35,.05),transparent)}
.game-screen[data-flow-tier="2"] .table-light{background:radial-gradient(ellipse at 50% 35%,rgba(255,222,128,.115),transparent 40%),radial-gradient(circle at 50% 82%,rgba(88,190,213,.045),transparent 30%),linear-gradient(90deg,transparent,rgba(98,66,35,.05),transparent)}
.game-screen[data-flow-tier="3"] .table-light{background:radial-gradient(ellipse at 50% 35%,rgba(255,219,118,.14),transparent 41%),radial-gradient(circle at 20% 68%,rgba(239,91,82,.045),transparent 26%),radial-gradient(circle at 80% 68%,rgba(85,188,232,.055),transparent 26%)}
.game-screen[data-flow-tier="4"] .table-light{background:radial-gradient(ellipse at 50% 35%,rgba(255,220,119,.17),transparent 42%),radial-gradient(circle at 14% 55%,rgba(239,91,82,.055),transparent 25%),radial-gradient(circle at 86% 55%,rgba(85,188,232,.065),transparent 25%),radial-gradient(circle at 50% 80%,rgba(102,116,216,.055),transparent 25%)}
.game-screen[data-flow-tier="5"] .table-light{background:radial-gradient(ellipse at 50% 35%,rgba(255,227,151,.21),transparent 44%),radial-gradient(circle at 18% 58%,rgba(239,91,82,.065),transparent 25%),radial-gradient(circle at 82% 58%,rgba(85,188,232,.075),transparent 25%),radial-gradient(circle at 50% 76%,rgba(119,99,219,.075),transparent 28%)}
.game-screen.force-ripple::after{content:"";position:absolute;z-index:3;inset:12% 8% 15%;border-radius:50%;border:1px solid color-mix(in srgb,var(--last-force,#f4c85e) 42%,transparent);box-shadow:0 0 42px color-mix(in srgb,var(--last-force,#f4c85e) 14%,transparent);pointer-events:none;animation:forceRipple .58s ease-out both}
@keyframes forceRipple{0%{opacity:.7;transform:scale(.95)}100%{opacity:0;transform:scale(1.055)}}

.flow-callout{position:fixed;left:50%;bottom:96px;transform:translate(-50%,18px) scale(.96);min-width:210px;max-width:min(88vw,420px);padding:9px 14px 10px;border-radius:18px;background:linear-gradient(180deg,rgba(10,42,48,.96),rgba(6,28,33,.96));border:1px solid rgba(244,200,94,.28);box-shadow:0 14px 34px rgba(0,0,0,.28),0 0 24px rgba(244,200,94,.08);text-align:center;opacity:0}
.flow-callout small{display:block;color:#e8c56f;font-size:8px;letter-spacing:.18em;font-weight:950}.flow-callout b{display:inline-block;margin:2px 7px 0 0;font-family:var(--font-display);font-size:24px;color:#fff4cf}.flow-callout span{font-size:11px;color:#b8cdce}.flow-callout.show{animation:flowCallout 1.25s cubic-bezier(.2,.8,.2,1) both}
@keyframes flowCallout{0%{opacity:0;transform:translate(-50%,16px) scale(.94)}18%,72%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-8px) scale(.985)}}

.convergence-fx,.resonance-fx{position:fixed;left:50%;top:51%;transform:translate(-50%,-50%) scale(.82);display:flex;align-items:center;gap:13px;padding:14px 18px;border-radius:22px;background:rgba(5,27,31,.92);border:1px solid rgba(255,232,158,.35);box-shadow:0 24px 70px rgba(0,0,0,.35),0 0 60px rgba(244,200,94,.12);opacity:0;backdrop-filter:blur(10px)}
.convergence-fx.show{animation:convergenceCard 1.55s cubic-bezier(.2,.8,.2,1) both}.convergence-prism{width:54px;height:54px;display:grid;place-items:center;clip-path:polygon(50% 0,94% 50%,50% 100%,6% 50%);background:conic-gradient(from 45deg,var(--day),var(--hot),var(--night),var(--cold),var(--day));color:#fff;font-size:27px;filter:drop-shadow(0 0 15px rgba(255,225,139,.35))}.convergence-fx div{display:grid}.convergence-fx small{font-size:8px;letter-spacing:.13em;color:#b9cdce;font-weight:900}.convergence-fx b{font-family:var(--font-display);font-size:24px;color:#fff4cf}
@keyframes convergenceCard{0%{opacity:0;transform:translate(-50%,-48%) scale(.78)}16%,70%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-54%) scale(1.03)}}
.game-screen.convergence-active .table-light{filter:brightness(1.22) saturate(1.08)}

.resonance-fx{top:48%;display:grid;justify-items:center;gap:2px;min-width:250px;text-align:center;background:radial-gradient(circle at 50% 35%,rgba(80,64,133,.94),rgba(7,31,36,.96));border-color:rgba(226,202,255,.5)}.resonance-fx span{font-size:37px;color:#fff0a8;text-shadow:0 0 25px #d5a9ff}.resonance-fx b{font-family:var(--font-display);font-size:23px;letter-spacing:.04em}.resonance-fx small{color:#dfcaff;font-weight:900;letter-spacing:.12em}.resonance-fx.show{animation:resonanceCard 1.7s cubic-bezier(.2,.8,.2,1) both}
.game-screen.resonance-active .table-light{animation:resonanceTable 1.6s ease-out}.game-screen.resonance-active .energy-gems{filter:drop-shadow(0 0 20px rgba(217,170,255,.55)) drop-shadow(0 5px 8px rgba(0,0,0,.3))}
@keyframes resonanceCard{0%{opacity:0;transform:translate(-50%,-50%) scale(.72) rotate(-2deg)}15%,70%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-55%) scale(1.05)}}
@keyframes resonanceTable{0%{filter:brightness(1)}28%{filter:brightness(1.45) saturate(1.25)}100%{filter:brightness(1)}}

/* Energia ganhou peso físico: cada faceta acende, o núcleo desperta e o poder responde. */
.energy-gems i.energy-pop{animation:energyPop .52s cubic-bezier(.2,.9,.2,1)}.energy-gems.energy-ready-burst{animation:energyReady .95s ease-out}.power-btn.power-awaken{animation:powerAwaken .85s ease-out}.energy-gems.power-release{animation:powerRelease .72s ease-out}.game-screen.prism-cast .table-light{animation:prismCast .8s ease-out}
.energy-gems.flow-charged .prism-core{filter:brightness(1.2) drop-shadow(0 0 7px rgba(244,200,94,.26))}
@keyframes energyPop{0%{transform:scale(.55);filter:brightness(1)}42%{transform:scale(1.28);filter:brightness(1.7) drop-shadow(0 0 11px #ffe6a1)}100%{transform:scale(1);filter:brightness(1)}}
@keyframes energyReady{35%{filter:drop-shadow(0 0 18px rgba(244,200,94,.75)) drop-shadow(0 5px 8px rgba(0,0,0,.3));transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes powerAwaken{35%{box-shadow:0 0 0 4px rgba(222,185,255,.12),0 0 34px rgba(184,118,233,.4);transform:translateY(-2px)}100%{transform:none}}
@keyframes powerRelease{0%{transform:scale(1)}40%{transform:scale(1.14) rotate(3deg);filter:drop-shadow(0 0 20px rgba(213,172,255,.65))}100%{transform:scale(.98)}}
@keyframes prismCast{0%{filter:brightness(1)}35%{filter:brightness(1.35) saturate(1.18)}100%{filter:brightness(1)}}

/* Destinos permanecem visíveis durante seleção/drag e o destino sob o ponteiro ganha prioridade. */
.game-screen.selection-active .pile-slot.drop-ok,.game-screen.selection-active .tableau-slot.drop-ok{animation:validTargetBreath 1.25s ease-in-out infinite}.pile-slot.drop-hover,.tableau-slot.drop-hover{box-shadow:inset 0 0 0 3px rgba(255,238,163,.22),0 0 30px rgba(255,225,138,.32)!important}.tableau-slot.drop-hover::before{height:4px!important;box-shadow:0 0 22px rgba(255,225,138,.72)!important}
@keyframes validTargetBreath{50%{filter:brightness(1.18)}}

@media (prefers-reduced-motion:reduce){.feel-beam,.feel-spark,.flow-callout.show,.convergence-fx.show,.resonance-fx.show,.game-screen.force-ripple::after,.game-screen.resonance-active .table-light,.energy-gems i.energy-pop,.energy-gems.energy-ready-burst,.power-btn.power-awaken,.energy-gems.power-release,.game-screen.prism-cast .table-light,.game-screen.selection-active .pile-slot.drop-ok,.game-screen.selection-active .tableau-slot.drop-ok{animation:none!important}.flow-callout.show{opacity:1!important;transform:translate(-50%,0) scale(1)!important}.convergence-fx.show,.resonance-fx.show{opacity:1!important;transform:translate(-50%,-50%) scale(1)!important}}

/* ============================================================== 
   PRISMA V3 · ETAPA 4 â ENTRADA, ONBOARDING E CLAREZA DE INTERAÃÃO
   ============================================================== */

/* Abertura: quatro cartas orbitam um único cristal, comunicando a regra antes do menu. */
.splash-screen{overflow:hidden;background:
  radial-gradient(circle at 50% 34%,rgba(244,200,94,.13),transparent 22rem),
  radial-gradient(circle at 16% 18%,rgba(239,91,82,.12),transparent 22rem),
  radial-gradient(circle at 84% 22%,rgba(85,188,232,.13),transparent 23rem),
  linear-gradient(165deg,#10353c,#071b20 66%)}
.splash-screen::before,.menu-screen::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.025) 49%,transparent 67%);transform:translateX(-80%);animation:prismaSheen 3.8s ease-in-out infinite}
.splash-emblem{position:relative;width:280px;height:150px;margin-bottom:2px;filter:drop-shadow(0 18px 24px rgba(0,0,0,.24))}
.splash-card,.mini-force-card{position:absolute;display:grid;place-items:center;align-content:center;border-radius:16px;background:linear-gradient(180deg,#fff9ea,#f3e6cc);border:1px solid rgba(255,255,255,.72);box-shadow:0 13px 25px rgba(0,0,0,.27),inset 0 0 0 2px color-mix(in srgb,var(--mini-accent) 33%,transparent);color:#182529}
.splash-card{width:72px;height:104px;top:25px}.splash-card b,.mini-force-card b{color:var(--mini-accent);line-height:1}.splash-card b{font-size:30px}.splash-card small,.mini-force-card small{font-weight:950;letter-spacing:.06em;color:#39474a}.splash-card small{font-size:7px;margin-top:7px}
.splash-day,.mini-day{--mini-accent:var(--day)}.splash-night,.mini-night{--mini-accent:var(--night)}.splash-hot,.mini-hot{--mini-accent:var(--hot)}.splash-cold,.mini-cold{--mini-accent:var(--cold)}
.splash-day{left:15px;transform:rotate(-11deg)}.splash-night{left:76px;transform:rotate(-4deg)}.splash-hot{right:76px;transform:rotate(4deg)}.splash-cold{right:15px;transform:rotate(11deg)}
.splash-crystal,.hero-crystal{position:absolute;left:50%;top:50%;z-index:6;display:grid;place-items:center;transform:translate(-50%,-50%) rotate(45deg);background:conic-gradient(from 35deg,var(--day),var(--hot),#c075e5,var(--night),var(--cold),var(--day));border:2px solid rgba(255,249,218,.75);box-shadow:0 0 0 6px rgba(255,255,255,.035),0 0 36px rgba(244,200,94,.28);color:#fff}
.splash-crystal{width:65px;height:65px;border-radius:14px;font-size:32px;animation:crystalBreathe 2.2s ease-in-out infinite}.splash-crystal::after,.hero-crystal::after{content:"";position:absolute;inset:18%;border:1px solid rgba(255,255,255,.7);border-radius:4px}
.splash-screen h1{font-size:clamp(58px,10vw,102px);text-shadow:0 12px 35px rgba(0,0,0,.3),0 0 34px rgba(244,200,94,.06)}
.splash-tag{letter-spacing:.01em}.brand-mini{margin-top:0}
@keyframes crystalBreathe{50%{transform:translate(-50%,-50%) rotate(45deg) scale(1.06);filter:brightness(1.12)}}
@keyframes prismaSheen{0%,58%{transform:translateX(-90%)}85%,100%{transform:translateX(90%)}}

/* Menu: menos decisões antes da primeira partida, com os modos secundários recuados. */
.menu-screen{background:
  radial-gradient(circle at 18% 9%,rgba(239,91,82,.11),transparent 24rem),
  radial-gradient(circle at 82% 9%,rgba(85,188,232,.12),transparent 24rem),
  radial-gradient(circle at 50% 48%,rgba(244,200,94,.045),transparent 29rem),
  linear-gradient(160deg,#0e3036,#071b20 70%)}
.menu-main{width:min(100%,1040px);margin:0 auto 24px;gap:16px}.menu-hero{padding:12px 20px 20px}.menu-hero h1{margin:1px 0 8px}.hero-sub{max-width:670px;font-size:clamp(16px,1.75vw,20px)}
.hero-deck{position:relative;width:236px;height:104px;margin:0 auto 8px}.mini-force-card{width:58px;height:82px;top:9px}.mini-force-card b{font-size:23px}.mini-force-card small{font-size:6px;margin-top:5px}.mini-day{left:18px;transform:rotate(-11deg)}.mini-night{left:72px;transform:rotate(-4deg)}.mini-hot{right:72px;transform:rotate(4deg)}.mini-cold{right:18px;transform:rotate(11deg)}.hero-crystal{display:none!important}
.hero-actions{margin-top:21px;gap:10px}.continue-btn{background:linear-gradient(180deg,#fff0b0,#f2c95f 56%,#d79b35)}
.menu-paths{gap:12px}.path-card{padding:17px 19px;border-radius:24px;min-height:116px}.path-card strong{font-size:23px}.path-icon{width:55px;height:55px;border-radius:18px}.path-daily{border-color:rgba(244,200,94,.22);background:linear-gradient(150deg,rgba(244,200,94,.095),rgba(255,255,255,.035))}.path-daily .path-icon{box-shadow:0 8px 24px rgba(244,200,94,.13)}
.menu-secondary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.menu-secondary button{min-height:68px;padding:10px 13px;border:1px solid rgba(255,255,255,.09);border-radius:20px;background:rgba(255,255,255,.035);color:#d9e5e5;display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;text-align:left;align-items:center;column-gap:9px;cursor:pointer;transition:.16s}.menu-secondary button:hover{background:rgba(255,255,255,.07);border-color:rgba(244,200,94,.28);transform:translateY(-1px)}.menu-secondary button>span{grid-row:1/3;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.055);color:#efcd78;font-weight:950}.menu-secondary b{font-size:13px}.menu-secondary small{color:#87a4a6;font-size:10px}.menu-progress{opacity:.82}.menu-progress>div{padding:11px 14px;border-radius:17px}.menu-progress strong{font-size:22px}.menu-links{min-height:22px}.menu-links button{font-size:12px}

/* Onboarding contextual dentro da primeira partida. */
.onboarding-coach{position:fixed;z-index:58;left:50%;bottom:92px;transform:translateX(-50%);width:min(calc(100% - 26px),470px);padding:13px 15px 14px;border-radius:22px;background:linear-gradient(180deg,rgba(15,49,55,.98),rgba(6,27,32,.98));border:1px solid rgba(244,200,94,.34);box-shadow:0 20px 48px rgba(0,0,0,.38),0 0 40px rgba(244,200,94,.07);backdrop-filter:blur(14px)}
.coach-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.coach-head>span{color:#f1c96e;font-size:9px;font-weight:950;letter-spacing:.16em}.coach-head button{border:0;background:none;color:#8eabad;font-size:11px;cursor:pointer;padding:3px 0}.onboarding-coach strong{display:block;font-family:var(--font-display);font-size:20px;color:#fff5dc}.onboarding-coach p{margin:4px 0 0;color:#bbcecf;font-size:12px;line-height:1.42}.coach-action{margin-top:10px;border:1px solid rgba(244,200,94,.32);border-radius:999px;background:rgba(244,200,94,.12);color:#f8dfa1;padding:7px 13px;font-weight:900;cursor:pointer}
.onboard-focus,.onboard-target,.onboard-nucleus{position:relative;z-index:48!important}.card.onboard-focus .card-inner,.card.onboard-target .card-inner,.pile-slot.onboard-focus,.pile-slot.onboard-target,.foundation-slot.onboard-nucleus{animation:onboardPulse 1.15s ease-in-out infinite;box-shadow:0 0 0 3px rgba(255,230,145,.78),0 0 30px rgba(244,200,94,.34)!important}.onboard-target{--coach-ring:#8de0ff}.card.onboard-target .card-inner,.pile-slot.onboard-target{box-shadow:0 0 0 3px rgba(123,216,255,.82),0 0 32px rgba(85,188,232,.35)!important}.game-screen.onboarding-active .table-light{filter:brightness(.9)}
@keyframes onboardPulse{50%{filter:brightness(1.18);transform:translateY(-2px)}}

/* Seleção em toque: a regra relevante aparece perto do polegar sem cobrir o tabuleiro. */
.selection-helper{position:fixed;z-index:39;left:50%;bottom:78px;transform:translateX(-50%);max-width:min(90vw,420px);padding:7px 12px;border-radius:999px;background:rgba(4,27,31,.91);border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 25px rgba(0,0,0,.25);white-space:nowrap;text-align:center;pointer-events:none}.selection-helper b{color:#fff2c4;font-size:11px}.selection-helper span{margin-left:7px;color:#a9c0c2;font-size:10px}

@media (prefers-reduced-motion:reduce){.splash-screen::before,.menu-screen::before,.splash-crystal,.card.onboard-focus .card-inner,.card.onboard-target .card-inner,.pile-slot.onboard-focus,.pile-slot.onboard-target,.foundation-slot.onboard-nucleus{animation:none!important}}

/* Etapa 5 â retenção, conteúdo e modos curtos */
.play-promise{display:block;margin-top:-4px;color:#9fb9bb;font-size:11px;font-weight:800;letter-spacing:.04em}.menu-secondary{grid-template-columns:repeat(4,1fr)}
.journey-grid{display:grid;grid-template-columns:1fr;gap:22px}.journey-chapter{padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:28px;background:linear-gradient(155deg,rgba(255,255,255,.05),rgba(255,255,255,.018));box-shadow:0 18px 42px rgba(0,0,0,.12)}.chapter-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.chapter-head>span{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,rgba(244,200,94,.2),rgba(98,211,224,.08));border:1px solid rgba(244,200,94,.24);color:#f3d27d;font-size:26px}.chapter-head small{display:block;color:#d7b969;font-size:10px;font-weight:950;letter-spacing:.14em}.chapter-head h3{margin:1px 0 2px;font-family:var(--font-display);font-size:28px;color:#fff6e8}.chapter-head p{margin:0;color:#9fb8ba;font-size:13px}.chapter-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.level-card{min-height:164px}.level-card.finale{border-color:rgba(244,200,94,.34);background:linear-gradient(150deg,rgba(244,200,94,.105),rgba(109,95,210,.055),rgba(255,255,255,.035))}.level-finale{position:absolute;right:14px;top:16px;color:#f0cc73;font-size:9px;letter-spacing:.14em;font-weight:950;padding:5px 7px;border:1px solid rgba(240,204,115,.28);border-radius:999px;background:rgba(8,28,34,.55)}


/* ============================================================== 
   PRISMA V3 · ETAPA 6 â DUELOS, COMPARTILHAMENTO E REVANCHE
   ============================================================== */
.challenge-invite{display:grid;grid-template-columns:74px 1fr auto;gap:18px;align-items:center;padding:18px 20px;border-radius:26px;border:1px solid rgba(244,200,94,.34);background:linear-gradient(135deg,rgba(244,200,94,.115),rgba(95,110,220,.065),rgba(255,255,255,.035));box-shadow:0 18px 46px rgba(0,0,0,.14),inset 0 1px rgba(255,255,255,.05)}.challenge-invite-icon{width:70px;height:70px;border-radius:22px;display:grid;place-items:center;background:conic-gradient(from 35deg,var(--day),var(--hot),#bb70dc,var(--night),var(--cold),var(--day));border:2px solid rgba(255,246,204,.65);box-shadow:0 10px 30px rgba(0,0,0,.24),0 0 34px rgba(244,200,94,.12);font-size:34px;color:#fff;transform:rotate(45deg)}.challenge-invite-copy .eyebrow{margin:0;color:#e8c76e;font-size:9px;letter-spacing:.17em;font-weight:950}.challenge-invite-copy h2{margin:3px 0 4px;font-family:var(--font-display);font-size:27px;color:#fff3dc}.challenge-invite-copy>p:last-of-type{margin:0;color:#a8c0c2;font-size:12px}.challenge-invite-stats{display:flex;gap:7px;margin-top:11px}.challenge-invite-stats span{min-width:88px;padding:7px 10px;border-radius:14px;background:rgba(0,0,0,.12);border:1px solid rgba(255,255,255,.06)}.challenge-invite-stats small{display:block;color:#789a9d;font-size:8px;text-transform:uppercase;font-weight:950;letter-spacing:.08em}.challenge-invite-stats b{display:block;margin-top:2px;color:#f7e7b7;font-size:12px}.challenge-invite-actions{display:grid;gap:7px;min-width:178px}.challenge-invite-actions .primary-btn{padding-inline:18px;white-space:nowrap}.challenge-invite-actions .text-link{color:#98b1b3;font-size:11px}
.challenge-strip{width:min(calc(100% - 20px),980px);margin:0 auto 6px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 12px;border:1px solid rgba(244,200,94,.26);border-radius:15px;background:linear-gradient(90deg,rgba(244,200,94,.1),rgba(95,110,220,.08),rgba(7,30,35,.78));box-shadow:0 8px 18px rgba(0,0,0,.1)}.challenge-strip>span{color:#f0cb72;font-size:9px;font-weight:950;letter-spacing:.14em}.challenge-strip p{margin:0;color:#a9c1c3;font-size:10px}.challenge-strip strong{color:#fff0bd;font-size:11px;white-space:nowrap}
.duel-outcome{margin:13px 0;padding:11px 14px;border-radius:18px;background:linear-gradient(135deg,rgba(33,84,86,.1),rgba(194,136,47,.12));border:1px solid rgba(165,112,39,.18)}.duel-outcome small{display:block;color:#9a742f;font-size:8px;font-weight:950;letter-spacing:.16em}.duel-outcome b{display:block;margin-top:3px;font-family:var(--font-display);font-size:25px;color:#3c2a20}.duel-outcome span{display:block;margin-top:2px;color:#755e50;font-size:11px}.result-card-shell{margin:12px auto 0;max-width:310px}.result-card-preview{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 12px 35px rgba(24,15,10,.2);border:1px solid rgba(66,45,31,.12);background:#082a31}.result-card-shell>small{display:block;margin-top:6px;color:#897064;font-size:9px}.win-actions{grid-template-columns:1fr 1fr}.win-actions .primary-btn,.win-actions .text-link{grid-column:1/-1}.win-actions .text-link{justify-self:center}.menu-progress{grid-template-columns:repeat(4,1fr)}

/* Compactação do resultado: ações principais visíveis sem esconder a celebração. */
.win-panel{width:min(100%,560px);padding:22px 24px}.win-panel .win-prism{width:70px;height:70px;border-radius:22px;font-size:34px;margin-bottom:8px}.win-panel h2{font-size:33px;margin:4px 0 8px}.win-panel #win-copy{margin:5px 0;font-size:13px}.win-panel .win-stats{margin:11px 0}.win-panel .win-stats span{padding:9px}.win-panel .win-stats b{font-size:21px}.result-card-shell{max-width:225px}.result-card-shell>small{font-size:8px}.win-actions{margin-top:12px;gap:8px}.win-actions button{min-height:44px}.duel-outcome{margin:9px 0;padding:8px 12px}.duel-outcome b{font-size:22px}


/* Abertura: capas de catálogo (celular, tablet e desktop) em tela cheia. */
.splash-screen{display:block;padding:0;background:#071c22}
.splash-screen::before{content:none;animation:none}
.splash-picture{position:absolute;inset:0;display:block;margin:0}
.splash-picture img{width:100%;height:100%;display:block;object-fit:contain;object-position:center}

/* PRISMA V3 · ETAPA 7 â lançamento, acessibilidade e foco */
.skip-link{position:fixed;left:12px;top:12px;z-index:20000;transform:translateY(-180%);padding:10px 14px;border-radius:12px;background:#fff8df;color:#092a31;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.35);transition:transform .18s ease}.skip-link:focus{transform:translateY(0)}
.splash-title{font:800 clamp(52px,9vw,108px)/.9 Georgia,serif;letter-spacing:.08em;color:#fff4d8;text-shadow:0 12px 40px rgba(0,0,0,.38)}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #ffe282;outline-offset:3px}
.card:focus-visible .card-inner{box-shadow:0 0 0 3px #ffe282,0 0 24px color-mix(in srgb,var(--accent) 42%,transparent)}
.card[aria-pressed="true"] .card-inner{box-shadow:0 0 0 3px #ffe282,0 0 30px color-mix(in srgb,var(--accent) 52%,transparent)}
.overlay[role="dialog"]{overscroll-behavior:contain}.overlay[role="dialog"] .panel{max-height:min(92dvh,920px);overflow:auto;scrollbar-gutter:stable}
.noscript-card{position:fixed;z-index:30000;inset:20px;margin:auto;max-width:560px;height:max-content;padding:24px;border:1px solid rgba(255,225,130,.4);border-radius:22px;background:#092a31;color:#fff8df;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.5)}.noscript-card strong{font-size:22px}.noscript-card p{color:#c8d9d7;line-height:1.55}
@media (prefers-contrast:more){button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline-width:4px}.path-card,.menu-secondary button,.pile-slot,.game-dock,.panel{border-color:rgba(255,255,255,.55)}.hero-sub,.path-card p,.menu-secondary small{color:#eef8f7}}
@media (prefers-reduced-motion:reduce){.skip-link{transition:none}.card:focus-visible .card-inner{transition:none}}

/* Round 8 · fairness status */
.deal-cert-note{margin:-4px 0 14px;padding:8px 11px;border-radius:12px;background:rgba(56,145,111,.08);border:1px solid rgba(82,179,138,.18);color:#6f6a58;font-size:10px;font-weight:800;line-height:1.35}

/* Simplified menu + full-bleed board (no top HUD) */
.menu-screen .menu-main{min-height:100dvh;display:grid;align-content:center;justify-items:stretch;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom))}
.menu-hero{text-align:center}.menu-hero .hero-actions{justify-content:center}.menu-hero .legend-opposites{margin:0 0 8px;letter-spacing:.06em;color:#c9b68a}
.game-screen{padding-top:max(6px,env(safe-area-inset-top))}
.game-screen .board{flex:1 1 auto;width:min(100%,100vw);max-width:none;min-height:0;display:flex;flex-direction:column;padding-left:clamp(6px,1.2vw,14px);padding-right:clamp(6px,1.2vw,14px);padding-bottom:4px}
.game-screen .tableau-wrap{flex:1 1 auto;min-height:0;display:flex}
.game-screen .tableau-cols{flex:1 1 auto;width:100%;min-height:0;align-items:stretch}
.game-screen .tableau-slot{height:100%;min-height:0}
.connection-legend{grid-template-columns:1fr auto 1fr;grid-template-rows:1fr auto auto;gap:2px 4px;position:relative;z-index:25}
.connection-legend .legend-pause{grid-column:1/-1;justify-self:center;width:36px;height:36px;border-radius:12px;margin-top:2px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#e8f0f0;font-size:16px;cursor:pointer}
.connection-legend .legend-pause:hover{background:rgba(255,255,255,.14);border-color:rgba(244,200,94,.35)}
.compact-stats{position:absolute;top:max(8px,env(safe-area-inset-top));right:10px;z-index:30;padding:6px 10px;border-radius:12px;background:rgba(7,28,34,.55);backdrop-filter:blur(6px)}

/* Engrenagem fixa no topo; fileira do tableau vai até a borda direita */
.game-screen{padding-top:max(10px,env(safe-area-inset-top));padding-right:max(6px,env(safe-area-inset-right));box-sizing:border-box;overflow:hidden}
.game-screen .board{overflow:visible;padding-top:10px;padding-right:max(2px,env(safe-area-inset-right))}
.game-screen .board-top{margin-right:max(52px,calc(var(--nb-gs-safe,60px) - 8px));overflow:visible;position:relative;z-index:6;align-items:center}
.game-screen .tableau-wrap,.game-screen .tableau-cols{width:100%;max-width:none}
.game-screen .card-layer{overflow:visible;contain:none;z-index:7}
.pile-slot{overflow:visible}
.stock-slot,.waste-slot{overflow:visible}
.board-top{align-items:center}
.connection-legend{display:none!important}
.opposites-panel{text-align:center;max-width:420px}
.opposites-pairs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 14px}
.opposites-pair{display:grid;grid-template-columns:auto auto auto;justify-content:center;align-items:center;gap:8px;padding:14px 10px 12px;border-radius:18px;background:rgba(110,72,43,.06);border:1px solid rgba(91,57,36,.12)}
.opposites-pair b{font-size:28px;line-height:1}
.opposites-pair i{font-style:normal;color:#9a742f;font-weight:900}
.opposites-pair small{grid-column:1/-1;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#8a7060}
.opposites-pair .pair-day{color:#f0b548}.opposites-pair .pair-night{color:#7482df}.opposites-pair .pair-hot{color:#ef6252}.opposites-pair .pair-cold{color:#58bfe4}
.opposites-copy{margin:0 0 6px;color:#755e50;font-size:15px;line-height:1.45}

/* Dock e cristal de poder removidos da área de jogo */
.game-dock{display:none!important}
.energy-gems,.energy-wrap,.energy-title,.energy-copy,#energy-value,#flow-badge{display:none!important}
.power-crystal{display:none!important}
.auto-btn{
  position:absolute;left:50%;bottom:max(12px,env(safe-area-inset-bottom));
  transform:translateX(-50%);z-index:35;
  min-height:40px;padding:0 16px;border-radius:999px;
  border:0;background:linear-gradient(135deg,#e9bf58,#bf7a25);color:#261808;font-weight:900;cursor:pointer;
}

/* Dificuldade · 3 níveis */
.setting-difficulty{align-items:flex-start;flex-direction:column;gap:12px}
.setting-difficulty>span{display:grid;gap:2px}
.difficulty-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}
.diff-pill{
  min-height:44px;border-radius:14px;border:1px solid rgba(91,57,36,.16);
  background:#fffdf8;color:#4a3428;font-weight:900;font-size:13px;cursor:pointer;
  transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease;
}
.diff-pill:hover{transform:translateY(-1px);border-color:rgba(180,120,40,.35)}
.diff-pill.is-active,.diff-pill[aria-pressed="true"]{
  background:linear-gradient(180deg,#ffe692,#f3bf4d 55%,#dc982d);color:#271b08;
  border-color:rgba(155,104,39,.45);box-shadow:0 4px 0 #9b6827;
}
.diff-pill[data-diff="medium"].is-active,.diff-pill[data-diff="medium"][aria-pressed="true"]{
  background:linear-gradient(180deg,#9fd0e8,#4a9fc4);color:#062433;box-shadow:0 4px 0 #2d6f8c;border-color:rgba(45,111,140,.4)
}
.diff-pill[data-diff="hard"].is-active,.diff-pill[data-diff="hard"][aria-pressed="true"]{
  background:linear-gradient(180deg,#f0a090,#d45a4a);color:#2a0e0a;box-shadow:0 4px 0 #8f3228;border-color:rgba(143,50,40,.4)
}

.menu-difficulty{width:min(100%,420px);margin-top:6px;display:grid;gap:8px;justify-items:stretch}
.menu-difficulty__label{margin:0;color:#9db5b7;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;text-align:center}
.menu-screen .difficulty-pills{grid-template-columns:repeat(3,1fr)}
.menu-screen .diff-pill{
  background:rgba(255,255,255,.06);color:#e8f0f0;border-color:rgba(255,255,255,.14);box-shadow:none
}
.menu-screen .diff-pill:hover{background:rgba(255,255,255,.1);border-color:rgba(244,200,94,.35)}
.menu-screen .diff-pill.is-active,.menu-screen .diff-pill[aria-pressed="true"]{
  background:linear-gradient(180deg,#ffe692,#f3bf4d 55%,#dc982d);color:#271b08;box-shadow:0 4px 0 #9b6827;border-color:rgba(155,104,39,.45)
}
.menu-screen .diff-pill[data-diff="medium"].is-active,.menu-screen .diff-pill[data-diff="medium"][aria-pressed="true"]{
  background:linear-gradient(180deg,#9fd0e8,#4a9fc4);color:#062433;box-shadow:0 4px 0 #2d6f8c
}
.menu-screen .diff-pill[data-diff="hard"].is-active,.menu-screen .diff-pill[data-diff="hard"][aria-pressed="true"]{
  background:linear-gradient(180deg,#f0a090,#d45a4a);color:#2a0e0a;box-shadow:0 4px 0 #8f3228
}
#btn-settings-menu{margin-top:4px;color:#aac2c3}


/* ==============================================================
   PRISMA · MENU HERO (arte dia/noite + emblema)
   ============================================================== */
.menu-screen{
  position:relative;
  overflow-x:hidden;
  overflow-y:auto;
  background:#07101f;
  padding:0;
  -webkit-overflow-scrolling:touch;
}
.menu-screen::before{content:none;animation:none}
.menu-bg{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
}
.menu-bg picture,
.menu-bg img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.menu-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(4,10,24,.22) 0%,rgba(4,10,24,.1) 22%,rgba(4,10,24,.35) 55%,rgba(4,10,24,.82) 100%),
    radial-gradient(ellipse at 50% 18%,rgba(255,214,120,.1),transparent 42%);
}
.menu-settings-btn{
  position:fixed;
  top:max(12px,env(safe-area-inset-top));
  right:max(12px,env(safe-area-inset-right));
  z-index:5;
  width:48px;
  height:48px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  cursor:pointer;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.35));
  transition:transform .16s ease,filter .16s ease;
}
.menu-settings-btn img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.menu-settings-btn:hover{transform:scale(1.06);filter:drop-shadow(0 10px 20px rgba(244,200,94,.35))}
.menu-settings-btn:focus-visible{outline:3px solid #f3d27d;outline-offset:3px}
.menu-screen .menu-main{
  position:relative;
  z-index:2;
  width:min(100%,520px);
  min-height:100dvh;
  margin:0 auto;
  padding:max(56px,calc(env(safe-area-inset-top) + 44px)) 18px max(22px,env(safe-area-inset-bottom));
  display:grid;
  align-content:start;
  justify-items:stretch;
  gap:12px;
}
.menu-hero{
  text-align:center;
  padding:0;
  display:grid;
  justify-items:center;
  gap:0;
}
.hero-emblem{
  width:min(88vw,380px);
  margin:0 auto -10px;
  filter:drop-shadow(0 18px 36px rgba(0,0,0,.45));
}
.hero-emblem img{
  display:block;
  width:100%;
  height:auto;
}
.menu-logo{
  margin:0;
  width:min(82vw,340px);
  line-height:0;
}
.menu-logo img{
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.4));
}
.menu-tagline{
  margin:2px 0 0;
  color:#f4f0e6;
  font-family:var(--font-display);
  font-size:clamp(14px,3.6vw,17px);
  letter-spacing:.16em;
  text-transform:uppercase;
  text-shadow:0 2px 12px rgba(0,0,0,.55);
}
.menu-tagline::before,
.menu-tagline::after{
  content:"\25C6";
  display:inline-block;
  margin:0 .55em;
  color:#e8c56f;
  font-size:.65em;
  vertical-align:middle;
}
.menu-screen .hero-actions{
  width:min(100%,380px);
  margin-top:14px;
  display:grid;
  gap:10px;
  justify-items:stretch;
}
.menu-screen .primary-btn{
  border-radius:18px;
  min-height:56px;
  font-size:17px;
  letter-spacing:.02em;
  box-shadow:0 8px 0 #9b6827,0 16px 28px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.35);
  background:linear-gradient(180deg,#ffe9a0,#f3bf4d 48%,#d8942a);
  color:#241805;
}
.menu-screen .primary-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 0 #9b6827,0 20px 34px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.4);
}
.menu-screen .continue-btn{
  background:linear-gradient(180deg,#fff0b8,#f2c95f 52%,#d79b35);
}
.menu-difficulty{width:100%;margin-top:0;gap:10px}
.menu-difficulty__label{
  color:#f0e6c8;
  text-shadow:0 1px 8px rgba(0,0,0,.45);
}
.menu-screen .difficulty-pills{
  gap:8px;
  padding:6px;
  border-radius:16px;
  background:rgba(6,14,32,.45);
  border:1px solid rgba(232,197,111,.22);
  backdrop-filter:blur(8px);
}
.menu-screen .diff-pill{
  min-height:42px;
  border-radius:12px;
  background:rgba(255,255,255,.06);
  color:#dce6f0;
  border:1px solid rgba(255,255,255,.1);
  box-shadow:none;
}
.menu-screen .diff-pill.is-active,
.menu-screen .diff-pill[aria-pressed="true"]{
  background:linear-gradient(180deg,#ffe692,#f3bf4d 55%,#dc982d);
  color:#271b08;
  box-shadow:0 3px 0 #9b6827;
  border-color:rgba(155,104,39,.45);
}
.menu-screen .diff-pill[data-diff="medium"].is-active,
.menu-screen .diff-pill[data-diff="medium"][aria-pressed="true"],
.menu-screen .diff-pill[data-diff="hard"].is-active,
.menu-screen .diff-pill[data-diff="hard"][aria-pressed="true"]{
  background:linear-gradient(180deg,#ffe692,#f3bf4d 55%,#dc982d);
  color:#271b08;
  box-shadow:0 3px 0 #9b6827;
}
.menu-screen .challenge-invite{
  position:relative;
  z-index:3;
  backdrop-filter:blur(10px);
  background:linear-gradient(135deg,rgba(8,18,40,.82),rgba(20,40,70,.78));
}
@media (min-width:900px){
  .menu-screen .menu-main{
    width:min(100%,560px);
    align-content:center;
    padding-top:max(40px,env(safe-area-inset-top));
  }
  .hero-emblem{width:min(52vw,420px)}
  .menu-logo{width:min(42vw,360px)}
  .menu-bg img{object-position:center 40%}
}
@media (max-height:780px){
  .hero-emblem{width:min(72vw,300px);margin-bottom:-14px}
  .menu-logo{width:min(68vw,260px)}
  .menu-tagline{font-size:13px;letter-spacing:.12em}
  .menu-screen .hero-actions{margin-top:8px;gap:8px}
  .menu-screen .primary-btn{min-height:48px;font-size:15px}
  .menu-screen .diff-pill{min-height:38px}
}
@media (max-height:680px){
  .menu-screen .menu-main{padding-top:max(48px,calc(env(safe-area-inset-top) + 36px))}
  .hero-emblem{width:min(58vw,240px);margin-bottom:-16px}
  .menu-logo{width:min(54vw,220px)}
}
@media (prefers-reduced-motion:reduce){
  .menu-settings-btn{transition:none}
}
