/* Entry tutorial: a short, explicit gateway before the dashboard. */
.entry-tutorial-layer[hidden]{display:none!important}
.entry-tutorial-layer{position:fixed;z-index:1500;inset:0;display:grid;place-items:center;box-sizing:border-box;overflow:auto;padding:clamp(16px,3vw,42px);background:radial-gradient(circle at 13% 86%,rgba(0,133,255,.24),transparent 34%),radial-gradient(circle at 88% 14%,rgba(70,214,169,.18),transparent 32%),#040a17;color:#f6fbff}
.entry-tutorial-scene{width:min(1120px,100%);min-height:min(690px,calc(100vh - 32px));display:grid;align-items:stretch}
.entry-tutorial-stage{position:relative;isolation:isolate;display:flex;flex-direction:column;overflow:hidden;min-height:100%;border:1px solid rgba(130,196,255,.3);border-radius:32px;background:linear-gradient(120deg,rgba(5,19,43,.98),rgba(8,35,70,.96));box-shadow:0 36px 100px rgba(0,0,0,.54),inset 0 1px rgba(255,255,255,.08)}
.entry-tutorial-stage::before{position:absolute;z-index:-1;inset:0;content:"";opacity:.9;background:linear-gradient(120deg,transparent 0 41%,rgba(0,168,255,.09) 41.2% 41.5%,transparent 41.7% 100%)}
.entry-tutorial-orbit{position:absolute;z-index:-1;border:1px solid rgba(109,210,255,.22);border-radius:50%;pointer-events:none}.entry-tutorial-orbit-one{width:620px;height:620px;right:-300px;bottom:-360px}.entry-tutorial-orbit-two{width:380px;height:380px;left:-230px;top:-250px}
.entry-tutorial-stage header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 32px;border-bottom:1px solid rgba(160,210,255,.16);background:rgba(2,12,30,.38)}
.entry-tutorial-brand{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:.13em;color:#c4ddf5}.entry-tutorial-brand i{display:grid;place-items:center;width:29px;height:29px;border-radius:10px;background:linear-gradient(135deg,#1478ff,#36d9ff);box-shadow:0 0 18px rgba(29,145,255,.58);font-size:19px;font-style:normal;color:white}
.entry-tutorial-progress{display:flex;align-items:center;gap:12px}.entry-tutorial-progress span{display:flex;align-items:center;gap:7px;color:#7e9dbc;font-size:12px;font-weight:700}.entry-tutorial-progress i{display:grid;place-items:center;width:23px;height:23px;border:1px solid rgba(138,183,219,.38);border-radius:50%;font-style:normal;font-size:11px}.entry-tutorial-progress .active{color:#fff}.entry-tutorial-progress .active i{border-color:#4edfff;background:#167cff;box-shadow:0 0 15px rgba(47,175,255,.65)}.entry-tutorial-progress .done{color:#8ff0cd}.entry-tutorial-progress .done i{border-color:#36c98e;background:rgba(31,190,129,.16)}
.entry-tutorial-note{font-size:11px;font-weight:700;letter-spacing:.08em;color:#9bb2cb;text-transform:uppercase}
.entry-tutorial-stage main{display:grid;grid-template-columns:minmax(245px,.8fr) minmax(420px,1.2fr);align-items:stretch;flex:1;min-height:0}.entry-tutorial-character{position:relative;display:flex;align-items:end;justify-content:center;min-height:465px;overflow:hidden;padding:24px 0 0;background:radial-gradient(circle at 55% 31%,rgba(43,164,255,.42),transparent 28%),linear-gradient(165deg,rgba(14,80,136,.55),rgba(4,16,42,.08) 58%)}.entry-tutorial-character::after{position:absolute;inset:auto 0 0;height:38%;content:"";background:linear-gradient(transparent,rgba(2,8,21,.85));pointer-events:none}.entry-tutorial-character img{position:relative;z-index:1;display:block;width:min(100%,360px);max-height:490px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 22px 22px rgba(0,0,0,.36))}.entry-tutorial-character span{position:absolute;z-index:2;bottom:26px;left:25px;right:25px;color:#d1e9ff;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.entry-tutorial-copy{display:flex;flex-direction:column;justify-content:center;max-width:650px;padding:clamp(28px,5vw,66px)}.entry-tutorial-eyebrow{margin:0 0 13px;color:#6de1ff;font-size:11px;font-weight:800;letter-spacing:.13em}.entry-tutorial-copy h1{max-width:600px;margin:0;color:#fff;font-size:clamp(30px,4vw,52px);line-height:1.04;letter-spacing:-.05em}.entry-tutorial-text{max-width:590px;margin:19px 0 24px;color:#c3d4e8;font-size:clamp(15px,1.6vw,18px);line-height:1.55}
.entry-tutorial-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.entry-tutorial-cards article{display:flex;gap:11px;padding:15px;border:1px solid rgba(139,208,255,.2);border-radius:16px;background:rgba(113,192,255,.075)}.entry-tutorial-cards article>i{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:10px;background:rgba(24,133,255,.25);color:#7ee9ff;font-style:normal}.entry-tutorial-cards b{display:block;color:#ecf7ff;font-size:13px}.entry-tutorial-cards p{margin:5px 0 0;color:#a8bfd4;font-size:12px;line-height:1.35}
.entry-tutorial-actions{display:flex;align-items:center;gap:14px;margin-top:28px}.entry-tutorial-actions button{min-height:48px;border-radius:14px;cursor:pointer;font-weight:800;font-size:14px}.entry-tutorial-primary{padding:0 23px;border:1px solid #66d9ff;background:linear-gradient(135deg,#126cf1,#0fb7e9);box-shadow:0 10px 26px rgba(8,132,244,.3);color:#fff}.entry-tutorial-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.entry-tutorial-skip{padding:0 8px;border:0;background:transparent;color:#b8cee1;text-decoration:underline;text-underline-offset:4px}.entry-tutorial-skip:hover{color:#fff}.entry-tutorial-footnote{margin:17px 0 0;color:#7f9bb8;font-size:11px;line-height:1.4}
body.entry-tutorial-open{overflow:hidden}
@media (max-width:760px){.entry-tutorial-layer{align-items:start;padding:10px}.entry-tutorial-scene{min-height:calc(100vh - 20px)}.entry-tutorial-stage{border-radius:22px}.entry-tutorial-stage header{padding:15px;gap:10px}.entry-tutorial-brand span,.entry-tutorial-note{display:none}.entry-tutorial-progress{gap:8px}.entry-tutorial-progress span{font-size:10px}.entry-tutorial-stage main{grid-template-columns:1fr;grid-template-rows:195px auto}.entry-tutorial-character{min-height:195px;padding-top:8px}.entry-tutorial-character img{max-width:200px;max-height:215px}.entry-tutorial-character span{bottom:15px;left:18px;font-size:10px}.entry-tutorial-copy{padding:25px 20px 22px}.entry-tutorial-copy h1{font-size:31px}.entry-tutorial-text{margin:13px 0 18px;font-size:15px}.entry-tutorial-cards{gap:8px}.entry-tutorial-cards article{padding:10px}.entry-tutorial-cards article>i{flex-basis:25px;width:25px;height:25px;font-size:12px}.entry-tutorial-cards b{font-size:11px}.entry-tutorial-cards p{font-size:10px}.entry-tutorial-actions{margin-top:19px;flex-wrap:wrap}.entry-tutorial-primary{flex:1;min-width:190px}.entry-tutorial-footnote{margin-top:12px}}
@media (max-height:660px) and (orientation:landscape){.entry-tutorial-layer{padding:9px}.entry-tutorial-scene{min-height:calc(100vh - 18px)}.entry-tutorial-stage{border-radius:18px}.entry-tutorial-stage header{padding:11px 20px}.entry-tutorial-stage main{grid-template-columns:30% 70%}.entry-tutorial-character{min-height:390px}.entry-tutorial-character img{max-height:390px}.entry-tutorial-copy{padding:20px 28px}.entry-tutorial-copy h1{font-size:31px}.entry-tutorial-text{margin:10px 0 14px;font-size:14px}.entry-tutorial-cards article{padding:10px}.entry-tutorial-cards p{font-size:10px}.entry-tutorial-actions{margin-top:16px}.entry-tutorial-footnote{display:none}}
@media (prefers-reduced-motion:reduce){.entry-tutorial-primary:hover{transform:none}}

/* Parcours débutant local : un guide léger, toujours visible sans recouvrir le jeu. */
.beginner-path-coach{position:fixed;z-index:1280;right:clamp(14px,2.5vw,34px);bottom:clamp(14px,2.5vw,28px);width:min(360px,calc(100vw - 28px));padding:17px 18px 15px;border:1px solid rgba(118,208,255,.52);border-radius:20px;background:linear-gradient(145deg,rgba(6,27,60,.98),rgba(9,59,104,.96));box-shadow:0 20px 58px rgba(0,0,0,.42);color:#f4fbff;backdrop-filter:blur(16px)}
.beginner-path-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#a7dffa;font-size:10px;font-weight:900;letter-spacing:.14em}.beginner-path-head button{width:26px;height:26px;border:0;border-radius:50%;background:rgba(255,255,255,.11);color:#d9efff;cursor:pointer;font-size:18px;line-height:1}
.beginner-path-progress{display:flex;gap:5px;margin:12px 0 16px}.beginner-path-progress i{height:4px;flex:1;border-radius:999px;background:rgba(187,220,255,.2)}.beginner-path-progress i.active{background:#35d2ff;box-shadow:0 0 12px rgba(49,206,255,.7)}.beginner-path-progress i.done{background:#63dfaf}
.beginner-path-coach>p{margin:0;color:#74ddff;font-size:10px;font-weight:900;letter-spacing:.12em}.beginner-path-coach h2{margin:7px 0 8px;color:#fff;font-size:21px;line-height:1.06;letter-spacing:-.03em}.beginner-path-coach>small{display:block;min-height:50px;color:#c6dcef;font-size:13px;line-height:1.48}.beginner-path-coach>button:not(.beginner-path-link):not(.beginner-path-skip){width:100%;min-height:42px;margin-top:14px;border:1px solid #74e5ff;border-radius:12px;background:linear-gradient(135deg,#197bef,#13bfe5);box-shadow:0 9px 22px rgba(16,145,238,.25);color:#fff;cursor:pointer;font-weight:850;font-size:13px}.beginner-path-link,.beginner-path-skip{display:block;margin:10px auto 0;padding:0;border:0;background:transparent;color:#b8d5e9;cursor:pointer;font-size:12px;text-decoration:underline;text-underline-offset:3px}.beginner-path-skip{color:#91afc4}
@media (max-width:700px){.beginner-path-coach{right:10px;bottom:max(10px,env(safe-area-inset-bottom));box-sizing:border-box;width:calc(100vw - 20px);max-height:min(48dvh,390px);overflow:auto;padding:14px 15px;border-radius:17px;overscroll-behavior:contain}.beginner-path-coach h2{font-size:19px}.beginner-path-coach>small{min-height:0;font-size:12px}.beginner-path-coach>button:not(.beginner-path-link):not(.beginner-path-skip){min-height:40px;margin-top:11px}}

/* Scene tutorials use a Tycoon-style dialogue: a whole guide, then a clear speech card. */
@media (min-width:761px){
  .entry-tutorial-layer{padding:0;background:linear-gradient(rgba(2,8,22,.36),rgba(2,8,22,.5)),radial-gradient(circle at 62% 40%,rgba(39,145,248,.28),transparent 43%),#06162f}
  .entry-tutorial-scene{width:min(1420px,100%);min-height:100vh}
  .entry-tutorial-stage{border:0;border-radius:0;background:linear-gradient(110deg,rgba(4,17,39,.88),rgba(9,49,88,.76))}
  .entry-tutorial-stage main{grid-template-columns:minmax(310px,.72fr) minmax(500px,1.28fr);align-items:end;padding:26px clamp(32px,7vw,110px) 42px;gap:clamp(18px,4vw,70px)}
  .entry-tutorial-character{min-height:590px;padding:0;background:radial-gradient(circle at 52% 32%,rgba(66,180,255,.36),transparent 38%)}
  .entry-tutorial-character::after{display:none}
  .entry-tutorial-character img{width:min(100%,430px);max-height:650px}
  .entry-tutorial-character span{top:38px;bottom:auto;left:18px;right:auto;padding:7px 11px;border:1px solid rgba(174,219,255,.45);border-radius:999px;background:rgba(5,19,42,.76);font-size:10px;box-shadow:0 7px 18px rgba(0,0,0,.28)}
  .entry-tutorial-copy{position:relative;align-self:center;max-width:690px;padding:clamp(27px,3vw,44px);border:2px solid rgba(232,242,255,.86);border-radius:25px;background:linear-gradient(145deg,#fffef8,#e7f2ff);box-shadow:0 24px 55px rgba(0,0,0,.35);color:#102848}
  .entry-tutorial-copy::before{position:absolute;left:-22px;top:42%;width:0;height:0;border-top:18px solid transparent;border-bottom:18px solid transparent;border-right:22px solid #f8fcff;content:""}
  .entry-tutorial-copy h1{color:#102848}.entry-tutorial-text{color:#39536e}.entry-tutorial-eyebrow{color:#1475bd}.entry-tutorial-cards article{border-color:rgba(46,117,184,.2);background:rgba(37,138,230,.08)}.entry-tutorial-cards b{color:#193c63}.entry-tutorial-cards p{color:#48627c}.entry-tutorial-footnote{color:#57748e}.entry-tutorial-skip{color:#416181}
}
@media (max-width:760px){
  .entry-tutorial-layer{padding:0;align-items:stretch;background:linear-gradient(165deg,#061a38,#041126 62%,#071c38)}
  .entry-tutorial-scene{width:100%;min-height:100svh}
  .entry-tutorial-stage{min-height:100svh;border:0;border-radius:0;background:transparent;overflow:auto}
  .entry-tutorial-stage header{min-height:52px;padding:10px 16px;background:rgba(2,11,28,.76)}
  .entry-tutorial-stage main{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(248px,33svh) auto;align-items:start;flex:0;padding-bottom:18px}
  .entry-tutorial-character{min-height:248px;padding:0;align-items:flex-end;background:radial-gradient(circle at 50% 28%,rgba(53,179,255,.43),transparent 42%),linear-gradient(180deg,rgba(21,86,139,.46),rgba(4,15,35,.05))}
  .entry-tutorial-character::after{display:none}
  .entry-tutorial-character img{width:min(58vw,255px);max-width:72%;max-height:285px;object-position:center bottom}
  .entry-tutorial-character span{top:14px;bottom:auto;left:14px;right:auto;padding:6px 10px;border:1px solid rgba(175,222,255,.5);border-radius:999px;background:rgba(3,15,36,.78);font-size:9px;box-shadow:0 6px 15px rgba(0,0,0,.25)}
  .entry-tutorial-copy{position:relative;z-index:2;max-width:none;margin:0 12px;padding:20px 18px 18px;border:2px solid rgba(230,243,255,.94);border-radius:21px;background:linear-gradient(145deg,#fffefb,#e7f2ff);box-shadow:0 16px 38px rgba(0,0,0,.34);color:#102848}
  .entry-tutorial-copy::before{position:absolute;left:28px;top:-17px;width:0;height:0;border-right:14px solid transparent;border-left:14px solid transparent;border-bottom:17px solid #f8fcff;content:""}
  .entry-tutorial-copy h1{font-size:clamp(1.8rem,9vw,2.5rem);color:#102848}.entry-tutorial-text{margin:11px 0 15px;color:#39536e;font-size:.96rem;line-height:1.48}.entry-tutorial-eyebrow{margin-bottom:8px;color:#1371b7;font-size:9px}.entry-tutorial-cards{gap:8px}.entry-tutorial-cards article{padding:10px;border-color:rgba(46,117,184,.2);background:rgba(37,138,230,.08)}.entry-tutorial-cards b{color:#193c63}.entry-tutorial-cards p{color:#48627c}.entry-tutorial-actions{margin-top:17px}.entry-tutorial-primary{width:100%;min-height:50px}.entry-tutorial-skip{margin:auto;color:#416181}.entry-tutorial-footnote{display:none}
}
@media (max-width:760px) and (max-height:680px){
  .entry-tutorial-stage main{grid-template-rows:220px auto}.entry-tutorial-character{min-height:220px}.entry-tutorial-character img{max-height:238px}.entry-tutorial-copy{padding:16px}.entry-tutorial-cards p{display:none}
}
