*{box-sizing:border-box} :root{--ink:#382f2a;--muted:#7d716a;--cream:#fffaf6;--rose:#bf6f77;--rose2:#e5a0a5;--line:#eaded6;--glass:rgba(255,255,255,.74)}
html,body{margin:0;min-height:100%;font-family:Inter,ui-rounded,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f8efe8;color:var(--ink)}
body{overflow-x:hidden;background:linear-gradient(155deg,#fbf6f0 0%,#f4e7df 58%,#efe0d8 100%)}button,input,textarea{font:inherit}button{cursor:pointer}
.bg-orb{position:fixed;border-radius:50%;filter:blur(4px);opacity:.34;pointer-events:none}.one{width:430px;height:430px;background:#f5b8ba;right:-150px;top:90px}.two{width:360px;height:360px;background:#e7c8ab;left:-120px;bottom:-80px}
.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,5vw,64px);position:relative;z-index:3}.brand{text-decoration:none;color:var(--ink);font-weight:850;letter-spacing:.16em}.heart{color:var(--rose)}.user-chip{display:flex;gap:14px;align-items:center}
.app-shell{width:min(1160px,calc(100% - 28px));margin:0 auto 70px;position:relative;z-index:1}.glass,.panel,.feature-card,.mini-panel,.invite-card{background:var(--glass);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.85);box-shadow:0 18px 60px rgba(91,63,49,.08)}
.hero{min-height:calc(100vh - 120px);display:grid;align-items:center}.auth-layout{grid-template-columns:1.2fr .8fr;gap:60px}.hero h1,.dashboard-head h1,.center-stage h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,78px);line-height:.98;margin:12px 0 22px;font-weight:500}.hero h1 em{color:var(--rose);font-weight:500}.hero-copy>p,.dashboard-head p,.center-stage>p{font-size:18px;color:var(--muted);max-width:700px;line-height:1.6}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.18em;color:#a05e64;text-transform:uppercase}.mini-cards{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.mini-cards span{background:#fff8;border:1px solid #fff;padding:10px 14px;border-radius:999px}
.auth-card{border-radius:28px;padding:28px}.tabs{display:flex;background:#f5e9e2;border-radius:14px;padding:4px;margin-bottom:20px}.tab{flex:1;border:0;background:transparent;padding:11px;border-radius:10px;color:var(--muted)}.tab.active{background:white;color:var(--ink);box-shadow:0 2px 10px #0000000d}.tab-panel{display:none}.tab-panel.active{display:grid;gap:14px}
label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#675b55}input,textarea{width:100%;border:1px solid var(--line);background:#fffaf9;padding:13px 14px;border-radius:13px;outline:none;color:var(--ink)}input:focus,textarea:focus{border-color:#ca8d92;box-shadow:0 0 0 3px #e5a0a522}textarea{min-height:110px;resize:vertical}
.primary,.secondary,.soft{border:0;border-radius:14px;padding:12px 18px;font-weight:800}.primary{background:linear-gradient(135deg,#b96670,#d98b91);color:white;box-shadow:0 10px 24px #a95f6630}.secondary{background:#493d38;color:white}.soft{background:#f5e8e1;color:#6f514e}.wide{width:100%;margin-top:16px}.link-btn{background:none;border:0;color:#995f64;text-decoration:underline}.msg{min-height:22px;margin-top:14px;color:#9a3f46}
.center-stage{padding:70px 0;text-align:center}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:35px auto 0;max-width:900px}.choice{border-radius:26px;padding:28px;text-align:left}.big-icon{font-size:38px}.choice h2{margin:10px 0}.choice p{color:var(--muted);min-height:48px}.choice button{width:100%;margin-top:15px}
.dashboard-head{display:flex;justify-content:space-between;align-items:flex-end;padding:38px 0 26px}.dashboard-head h1{font-size:clamp(42px,6vw,70px);margin-bottom:8px}.invite-card{border-radius:18px;padding:16px 18px;min-width:180px;text-align:center}.invite-card small{display:block;color:var(--muted)}.invite-card strong{display:block;font-size:24px;letter-spacing:.15em;margin:5px}
.nav-pills{display:flex;gap:7px;overflow:auto;padding:7px;background:#ffffff66;border:1px solid #ffffffaa;border-radius:16px;margin-bottom:22px;position:sticky;top:8px;z-index:5;backdrop-filter:blur(12px)}.nav-pill{border:0;background:transparent;padding:10px 16px;border-radius:11px;white-space:nowrap;color:var(--muted);font-weight:800}.nav-pill.active{background:white;color:var(--ink);box-shadow:0 3px 12px #0000000d}
.view{display:none}.view.active{display:block}.feature-card{border-radius:30px;padding:34px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;overflow:hidden}.feature-card h2{font-family:Georgia,serif;font-size:44px;margin:8px 0 10px;font-weight:500}.feature-card p{color:var(--muted);font-size:17px}.illustration-heart{text-align:center;font-size:170px;color:#ca7a82;text-shadow:20px 22px 0 #f3d4d3}.duration-row{display:flex;gap:8px;margin-top:22px}.duration{border:1px solid var(--line);background:#fff9;padding:9px 14px;border-radius:11px}.duration.active{background:#5a4840;color:white}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}.mini-panel{padding:22px;border-radius:22px}.mini-panel>span{font-size:27px}.mini-panel h3{margin:9px 0 5px}.mini-panel p{color:var(--muted);min-height:48px}.game-wrap{max-width:760px;margin:30px auto;text-align:center}.game-top{display:flex;justify-content:space-between;align-items:center}.question-card{background:#fffdfb;border-radius:34px;padding:70px 45px;margin:18px 0;box-shadow:0 24px 70px #6d4a3c14;border:1px solid white}.question-card h2{font-family:Georgia,serif;font-size:clamp(30px,5vw,52px);font-weight:500;line-height:1.2;margin:0}.answer-box{display:grid;gap:10px}.waiting{color:var(--muted);padding:12px}.answers-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.answer-card{background:white;border-radius:20px;padding:20px;text-align:left}.answer-card small{color:var(--rose);font-weight:800}.game-actions{display:flex;gap:10px;justify-content:center;margin-top:16px}.section-title{display:flex;justify-content:space-between;align-items:center;padding:24px 2px 14px}.section-title h2{font-family:Georgia,serif;font-size:40px;font-weight:500;margin:6px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{border-radius:24px;padding:22px}.mission-list{display:grid;gap:9px}.mission{padding:14px;border-radius:14px;background:#fff9;border:1px solid #f2e7df}.mission b{display:block;margin-bottom:3px}.mission span{color:var(--muted);font-size:14px}.inline-form{display:flex;gap:10px;margin-bottom:18px}.inline-form input{flex:1}.goal-board{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.goal-card{background:white;border-radius:20px;padding:18px;border:1px solid #f2e4db}.goal-card h3{margin-top:0}.goal-card select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}.capsule-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}.capsule{background:#fffaf8;border:1px solid #ecdcd4;padding:18px;border-radius:20px}.capsule.locked{opacity:.75}.profile-panel{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;margin-top:28px}.avatar-big{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:#d98b91;color:white;font-size:30px;font-weight:900}.profile-panel .inline-form{grid-column:1/-1;margin:0}
@media(max-width:800px){.auth-layout{grid-template-columns:1fr;gap:20px;padding:30px 0}.hero{min-height:auto}.hero h1{font-size:50px}.choice-grid,.two-col,.quick-grid,.goal-board,.capsule-list{grid-template-columns:1fr}.dashboard-head{align-items:flex-start;gap:18px;flex-direction:column}.feature-card{grid-template-columns:1fr}.illustration-heart{font-size:100px}.answers-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.profile-panel{grid-template-columns:auto 1fr}.topbar{padding:0 16px}.app-shell{width:min(100% - 18px,1160px)}}
@media(max-width:520px){.hero h1{font-size:42px}.feature-card h2{font-size:34px}.feature-card{padding:24px}.question-card{padding:50px 24px}.duration-row{display:grid;grid-template-columns:1fr 1fr}.inline-form{flex-direction:column}.user-chip>span{display:none}.nav-pills{top:4px}}


/* ===== Identité A CŒUR OUVERT ===== */
:root{
  --aco-hot:#ff2f78;
  --aco-hot-2:#ef2e68;
  --aco-pink:#f29bc2;
  --aco-pink-soft:#f7bad4;
  --aco-blue:#4d88df;
  --aco-cyan:#98d9e2;
  --aco-ink:#29353a;
  --aco-paper:#fffefe;
}
body{background:linear-gradient(160deg,#fff 0%,#fff7fb 48%,#fdf0f5 100%);color:var(--aco-ink)}
.bg-orb.one{background:var(--aco-pink)}.bg-orb.two{background:var(--aco-cyan)}
.brand{display:flex;align-items:center;gap:10px;letter-spacing:.08em;font-weight:900}
.brand img{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(255,47,120,.12))}
.brand span{white-space:nowrap}.hero-logo{display:block;width:min(230px,52vw);height:auto;margin:0 0 12px;object-fit:contain}
.heart{color:var(--aco-hot)}
.eyebrow{color:var(--aco-hot);letter-spacing:.22em}
.primary{background:linear-gradient(135deg,var(--aco-hot),var(--aco-hot-2));box-shadow:0 10px 24px rgba(255,47,120,.22)}
.secondary{background:var(--aco-ink)}.soft{background:#ffe8f1;color:#9a315c}.link-btn{color:#be2e64}
.tabs{background:#ffeaf2}.tab.active{color:var(--aco-hot)}
.nav-pill.active{color:var(--aco-hot)}
.illustration-heart{color:var(--aco-hot);text-shadow:20px 22px 0 var(--aco-cyan)}
.avatar-big{background:linear-gradient(135deg,var(--aco-hot),var(--aco-blue))}

/* Cartes calquées sur les références fournies */
.question-card{
  --card-bg:#fff;
  --card-fg:var(--aco-ink);
  --card-accent:var(--aco-hot);
  position:relative;
  min-height:min(68vh,680px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:center;
  background:var(--card-bg);
  color:var(--card-fg);
  border-radius:30px;
  padding:42px 44px 34px;
  margin:18px auto;
  box-shadow:0 24px 70px rgba(41,53,58,.13);
  border:1px solid rgba(255,255,255,.9);
  overflow:hidden;
}
.card-kicker{align-self:flex-start;font-size:17px;font-weight:800;letter-spacing:.22em;color:var(--card-accent)}
.question-card h2{max-width:630px;margin:auto 0;font-family:Inter,ui-rounded,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(32px,5vw,57px);line-height:.93;font-weight:900;letter-spacing:-.055em;text-align:center;color:inherit}
.card-symbol{position:absolute;top:108px;left:50%;transform:translateX(-50%);width:92px;height:86px;opacity:.98}
.card-symbol span{position:absolute;font-size:56px;line-height:1}.heart-up{color:var(--aco-hot);left:8px;top:0}.heart-down{color:var(--aco-blue);right:7px;bottom:0;transform:rotate(180deg)}
.card-chat{height:44px;display:flex;justify-content:center;align-items:center;margin-top:16px}.card-chat span{width:54px;height:34px;border-radius:16px;background:var(--aco-hot);display:block;position:relative}.card-chat span+span{background:var(--aco-cyan);margin-left:-10px;margin-top:14px}.card-chat span:after{content:"";position:absolute;bottom:-7px;left:12px;border:8px solid transparent;border-top-color:inherit}
.card-theme{align-self:stretch;text-align:right;font-size:14px;font-weight:850;letter-spacing:.24em;margin-top:22px;color:var(--card-fg);text-transform:uppercase}
.question-card[data-style="pink"]{--card-bg:var(--aco-pink);--card-fg:#fff;--card-accent:#fff}
.question-card[data-style="hot"]{--card-bg:var(--aco-hot);--card-fg:#fff;--card-accent:#fff}
.question-card[data-style="blue"]{--card-bg:#fff;--card-fg:var(--aco-ink);--card-accent:var(--aco-blue)}
.question-card[data-style="reflection"]{--card-bg:#fff;--card-fg:var(--aco-ink);--card-accent:var(--aco-hot)}
.question-card[data-style="hot"] .card-chat span{background:#fff}.question-card[data-style="hot"] .card-chat span+span{background:var(--aco-cyan)}
.question-card[data-style="pink"] .card-symbol .heart-up{color:#fff}.question-card[data-style="pink"] .card-symbol .heart-down{color:var(--aco-blue)}

.mini-panel:nth-child(1){border-top:5px solid var(--aco-pink)}.mini-panel:nth-child(2){border-top:5px solid var(--aco-hot)}.mini-panel:nth-child(3){border-top:5px solid var(--aco-blue)}
.goal-card{border-top:4px solid var(--aco-cyan)}.capsule{border-top:4px solid var(--aco-pink)}
@media(max-width:800px){.brand span{font-size:13px}.brand img{width:40px;height:40px}.hero-logo{width:180px}.question-card{min-height:62vh;padding:32px 22px 26px}.card-symbol{top:88px;transform:translateX(-50%) scale(.82)}.card-theme{text-align:center;font-size:11px}.question-card h2{font-size:clamp(31px,9vw,48px)}}


/* ===== V3 : vraie sensation de jeu de cartes ===== */
.setup-block{margin-top:18px}.setup-block>small{display:block;font-size:10px;letter-spacing:.18em;font-weight:900;color:var(--muted);margin-bottom:8px}.choice-row,.category-row{display:flex;gap:8px;flex-wrap:wrap}.game-mode,.depth,.category,.path-btn{border:1px solid var(--line);background:#fff9;padding:9px 12px;border-radius:999px;color:var(--ink);font-weight:750}.game-mode.active,.depth.active,.category.active,.path-btn.active{background:var(--aco-ink);color:white;border-color:var(--aco-ink)}
.playing-card-wrap{perspective:1200px;display:grid;place-items:center;margin:18px 0 24px}.question-card.playing-card{width:min(430px,88vw);aspect-ratio:2.5/3.5;min-height:0;margin:0;border-radius:28px;border:8px solid rgba(255,255,255,.94);outline:2px solid rgba(39,50,53,.12);box-shadow:0 30px 55px rgba(33,28,26,.20),0 7px 0 rgba(76,57,48,.08);padding:50px 38px 34px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transform:rotateX(1.5deg) rotateZ(-.35deg);transition:transform .35s ease,box-shadow .35s ease;background:var(--card-bg,#fff);overflow:hidden}
.question-card.playing-card:hover{transform:rotateX(0) rotateZ(0) translateY(-4px);box-shadow:0 38px 65px rgba(33,28,26,.24),0 8px 0 rgba(76,57,48,.07)}
.question-card.playing-card.flipping{animation:cardDeal .55s cubic-bezier(.2,.8,.2,1)}
@keyframes cardDeal{0%{transform:translateX(70px) rotateY(80deg) rotateZ(6deg);opacity:.15}65%{transform:translateX(-8px) rotateY(-8deg) rotateZ(-1deg);opacity:1}100%{transform:rotateX(1.5deg) rotateZ(-.35deg)}}
.card-corner{position:absolute;display:flex;flex-direction:column;align-items:center;font-weight:950;line-height:.9;color:var(--card-accent,var(--aco-hot));font-size:18px}.card-corner b{font-size:21px}.card-corner span{font-size:12px;letter-spacing:.05em;margin-top:4px}.top-left{left:17px;top:17px}.bottom-right{right:17px;bottom:17px;transform:rotate(180deg)}
.question-card.playing-card .card-kicker{position:absolute;top:26px;left:50%;transform:translateX(-50%);font-size:13px;letter-spacing:.24em;white-space:nowrap}.question-card.playing-card .card-symbol{position:relative;top:auto;left:auto;transform:none;margin:6px 0 14px}.question-card.playing-card h2{font-size:clamp(28px,5vw,42px);line-height:1.03;margin:8px 0 12px;max-width:100%}.question-card.playing-card .card-chat{margin-top:6px}.question-card.playing-card .card-theme{text-align:center;font-size:11px;letter-spacing:.20em;margin-top:18px}.depth-badge{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.15em;font-weight:900;opacity:.58;white-space:nowrap}
.reaction-bar,.seed-bar{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;flex-wrap:wrap}.reaction-bar span{font-size:13px;color:var(--muted);font-weight:700}.reaction-bar button{width:43px;height:43px;border-radius:50%;border:1px solid var(--line);background:white;font-size:20px;box-shadow:0 5px 14px #0000000a}.reaction-bar button.selected{outline:3px solid #ff2f7844;background:#fff0f5}.answer-tools{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.answer-tools button{padding:7px 10px;font-size:12px}
.path-selector{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin-bottom:16px}.path-selector h3{margin:0 0 4px}.path-selector p{margin:0;color:var(--muted)}.path-buttons{display:flex;gap:8px}.path-progress{grid-column:1/-1}.progress-track{height:12px;background:#f1e4dd;border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--aco-hot),var(--aco-blue));border-radius:99px}.progress-copy{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:6px}
.memory-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:18px}.memory-card{background:white;border:1px solid #f0e2db;border-radius:22px;overflow:hidden;box-shadow:0 15px 35px #6d4a3c10}.memory-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.memory-body{padding:16px}.memory-body h3{margin:0 0 6px}.memory-body p{margin:0;color:var(--muted);line-height:1.45}.memory-placeholder{aspect-ratio:4/3;display:grid;place-items:center;background:linear-gradient(135deg,#ffeff5,#eaf7ff);font-size:54px}
.history-list{display:grid;gap:12px}.history-card{background:#fff9;border:1px solid #f0e2db;border-radius:20px;padding:18px;display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center}.history-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#ff8fb9,#7bcfea);font-size:25px}.history-card h3{margin:0 0 4px}.history-card p{margin:0;color:var(--muted);font-size:13px}.history-stat{font-weight:900;color:var(--aco-hot)}
@media(max-width:800px){.playing-card-wrap{margin-top:12px}.question-card.playing-card{width:min(390px,92vw);padding:44px 27px 31px;border-radius:24px;border-width:6px}.question-card.playing-card h2{font-size:clamp(28px,8.5vw,39px)}.question-card.playing-card .card-symbol{transform:scale(.84);margin:-3px 0 5px}.path-selector{grid-template-columns:1fr}.path-buttons{width:100%}.path-buttons button{flex:1}.memory-grid{grid-template-columns:1fr 1fr}.history-card{grid-template-columns:auto 1fr}.history-stat{grid-column:2}}
@media(max-width:520px){.choice-row,.category-row{display:grid;grid-template-columns:1fr 1fr}.depth-row{grid-template-columns:1fr}.memory-form{grid-template-columns:1fr}.memory-grid{grid-template-columns:1fr}.question-card.playing-card{width:94vw;max-height:68vh}.question-card.playing-card .card-theme{margin-top:8px}.depth-badge{bottom:18px}}


/* ===== VERSION FINALE : paquet, dos de carte, cartes spéciales, résumé ===== */
.deck-stage{height:86px;position:relative;display:grid;place-items:center;margin:10px auto -6px;width:190px;perspective:800px}.deck-card{position:absolute;width:82px;height:116px;border-radius:12px;border:4px solid #fff;box-shadow:0 9px 22px #2f273522;background:linear-gradient(145deg,#ff2f78,#ff6aa0 52%,#4d88df);transform-origin:50% 100%}.deck-card:before{content:"";position:absolute;inset:7px;border:1px solid #ffffffaa;border-radius:8px;background:repeating-linear-gradient(45deg,#ffffff15 0 5px,#00000008 5px 10px)}.back-1{transform:translateX(0) rotate(0deg)}.back-2{transform:translateX(-12px) rotate(-6deg)}.back-3{transform:translateX(12px) rotate(6deg)}.deck-logo{position:absolute;z-index:5;display:flex;flex-direction:column;align-items:center;transform:scale(.72);pointer-events:none}.deck-logo img{width:38px;height:38px;object-fit:contain}.deck-logo span{font-size:7px;color:#fff;font-weight:950;letter-spacing:.12em;text-shadow:0 1px 2px #0005}.deck-stage.shuffling .back-2{animation:shuffleLeft .55s ease}.deck-stage.shuffling .back-3{animation:shuffleRight .55s ease}.deck-stage.shuffling .back-1{animation:shuffleCenter .55s ease}@keyframes shuffleLeft{50%{transform:translateX(-58px) translateY(-10px) rotate(-18deg)}100%{transform:translateX(-12px) rotate(-6deg)}}@keyframes shuffleRight{50%{transform:translateX(58px) translateY(-10px) rotate(18deg)}100%{transform:translateX(12px) rotate(6deg)}}@keyframes shuffleCenter{50%{transform:translateY(-18px) rotate(3deg)}100%{transform:none}}
.special-badge{position:absolute;right:18px;top:18px;background:#1f2a30;color:white;border-radius:999px;padding:7px 10px;font-size:8px;letter-spacing:.12em;font-weight:950;box-shadow:0 5px 14px #0002;z-index:3}.question-card[data-special="joker"]{outline:3px solid #ffcf4a;box-shadow:0 30px 70px #ffcf4a33}.question-card[data-special="instant"]{outline:3px solid #ff2f78}.question-card[data-special="secret"]{outline:3px dashed #29353a}.question-card[data-special="choice"]{outline:3px solid #4d88df}.game-actions{flex-wrap:wrap}.summary-shell{max-width:860px;margin:40px auto;text-align:center}.summary-shell h2{font-family:Georgia,serif;font-size:clamp(38px,6vw,68px);font-weight:500;margin:8px 0 10px}.summary-lead{color:var(--muted);font-size:18px;margin-bottom:26px}.summary-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.summary-stats>div{background:white;border:1px solid #f1e2e8;border-radius:20px;padding:20px 12px;box-shadow:0 12px 30px #6334470d}.summary-stats b{display:block;font-size:26px;color:var(--aco-hot)}.summary-stats span{display:block;font-size:11px;letter-spacing:.08em;color:var(--muted);margin-top:5px}.summary-highlights{display:grid;gap:10px;text-align:left}.summary-highlights blockquote{margin:0;background:#fff9;border-left:5px solid var(--aco-pink);padding:14px 16px;border-radius:12px}.summary-highlights p{margin:5px 0}.summary-highlights small{color:var(--muted)}.summary-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}@media(max-width:650px){.summary-stats{grid-template-columns:1fr 1fr}.deck-stage{transform:scale(.9);margin-top:0}}

/* === A COEUR OUVERT — animation finale de distribution lente === */
/* Le paquet se mélange d'abord, puis une carte semble en sortir et grandit au centre. */
.deck-stage.shuffling .back-2{animation:acoShuffleLeft .9s cubic-bezier(.22,.72,.24,1)}
.deck-stage.shuffling .back-3{animation:acoShuffleRight .9s cubic-bezier(.22,.72,.24,1)}
.deck-stage.shuffling .back-1{animation:acoShuffleCenter .9s cubic-bezier(.22,.72,.24,1)}
@keyframes acoShuffleLeft{
  0%,100%{transform:translateX(-12px) rotate(-6deg)}
  45%{transform:translateX(-68px) translateY(-15px) rotate(-22deg)}
  70%{transform:translateX(3px) translateY(-7px) rotate(3deg)}
}
@keyframes acoShuffleRight{
  0%,100%{transform:translateX(12px) rotate(6deg)}
  45%{transform:translateX(68px) translateY(-15px) rotate(22deg)}
  70%{transform:translateX(-3px) translateY(-7px) rotate(-3deg)}
}
@keyframes acoShuffleCenter{
  0%,100%{transform:translateY(0) rotate(0)}
  45%{transform:translateY(-24px) rotate(5deg)}
  70%{transform:translateY(-5px) rotate(-2deg)}
}

.question-card.playing-card.flipping{
  animation:acoCardGrow 1.75s cubic-bezier(.16,.84,.22,1) .42s both;
  transform-origin:50% 0%;
  will-change:transform,opacity,filter;
}
@keyframes acoCardGrow{
  0%{
    transform:translateY(-155px) scale(.22) rotateY(72deg) rotateZ(10deg);
    opacity:.05;
    filter:blur(3px);
    box-shadow:0 5px 12px rgba(33,28,26,.08);
  }
  28%{
    transform:translateY(-112px) scale(.40) rotateY(42deg) rotateZ(7deg);
    opacity:.55;
    filter:blur(1.5px);
  }
  58%{
    transform:translateY(-48px) scale(.72) rotateY(12deg) rotateZ(2deg);
    opacity:.9;
    filter:blur(0);
  }
  82%{
    transform:translateY(7px) scale(1.055) rotateY(-3deg) rotateZ(-.8deg);
    opacity:1;
    box-shadow:0 38px 68px rgba(33,28,26,.25),0 8px 0 rgba(76,57,48,.07);
  }
  100%{
    transform:rotateX(1.5deg) rotateZ(-.35deg) scale(1);
    opacity:1;
    filter:none;
    box-shadow:0 30px 55px rgba(33,28,26,.20),0 7px 0 rgba(76,57,48,.08);
  }
}

/* Sur petit écran l'effet reste ample sans sortir de l'écran. */
@media(max-width:520px){
  @keyframes acoCardGrow{
    0%{transform:translateY(-120px) scale(.24) rotateY(65deg) rotateZ(8deg);opacity:.05;filter:blur(2px)}
    32%{transform:translateY(-86px) scale(.44) rotateY(35deg) rotateZ(5deg);opacity:.58;filter:blur(1px)}
    62%{transform:translateY(-34px) scale(.76) rotateY(9deg) rotateZ(1deg);opacity:.92;filter:blur(0)}
    84%{transform:translateY(5px) scale(1.035) rotateY(-2deg) rotateZ(-.5deg);opacity:1}
    100%{transform:rotateX(1.5deg) rotateZ(-.35deg) scale(1);opacity:1;filter:none}
  }
}

@media(prefers-reduced-motion:reduce){
  .question-card.playing-card.flipping,.deck-stage.shuffling .deck-card{animation-duration:.01ms!important;animation-delay:0s!important}
}


/* === A COEUR OUVERT — dos de carte visible puis retournement lent === */
.question-card.playing-card{
  position:relative;
  overflow:hidden;
  transform-style:preserve-3d;
  perspective:1400px;
}
.question-card.playing-card.dealing > *{
  animation:acoFrontReveal 2.45s ease both;
}
.question-card.playing-card.dealing::before,
.question-card.playing-card.dealing::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
}
.question-card.playing-card.dealing::before{
  z-index:9;
  background:
    linear-gradient(145deg, rgba(255,47,120,.98), rgba(255,106,160,.95) 50%, rgba(77,136,223,.95)),
    url('../images/logo-a-coeur-ouvert.png') center 42% / 110px 110px no-repeat;
  border:6px solid #ffffff;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.42), inset 0 0 0 14px rgba(255,255,255,.07);
  transform-origin:center center;
  backface-visibility:hidden;
  animation:acoBackFaceReveal 2.45s cubic-bezier(.16,.84,.22,1) both;
}
.question-card.playing-card.dealing::after{
  z-index:10;
  inset:18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.52);
  background:
    repeating-linear-gradient(45deg, rgba(255,255,255,.08) 0 10px, rgba(255,255,255,0) 10px 20px);
  mix-blend-mode:screen;
  animation:acoBackDecorFade 2.45s ease both;
}
.question-card.playing-card.dealing{
  animation:acoDealAndFlip 2.45s cubic-bezier(.16,.84,.22,1) both;
  transform-origin:50% 0%;
  will-change:transform,opacity,filter;
}
@keyframes acoDealAndFlip{
  0%{transform:translateY(-165px) scale(.2) rotateY(0deg) rotateZ(11deg);opacity:.02;filter:blur(3px);}
  18%{transform:translateY(-132px) scale(.3) rotateY(0deg) rotateZ(8deg);opacity:.85;filter:blur(1.6px);}
  36%{transform:translateY(-92px) scale(.48) rotateY(0deg) rotateZ(5deg);opacity:1;filter:blur(.8px);}
  52%{transform:translateY(-44px) scale(.69) rotateY(86deg) rotateZ(2deg);opacity:1;filter:blur(0);}
  72%{transform:translateY(8px) scale(1.065) rotateY(-6deg) rotateZ(-.9deg);opacity:1;}
  100%{transform:rotateX(1.5deg) rotateZ(-.35deg) scale(1);opacity:1;filter:none;}
}
@keyframes acoBackFaceReveal{
  0%,34%{opacity:1;transform:rotateY(0deg);}
  48%{opacity:1;transform:rotateY(35deg);}
  56%{opacity:.92;transform:rotateY(88deg);}
  57%,100%{opacity:0;transform:rotateY(90deg);}
}
@keyframes acoBackDecorFade{
  0%,34%{opacity:.9;transform:scale(1);}
  50%{opacity:.55;transform:scale(.98);}
  57%,100%{opacity:0;transform:scale(.96);}
}
@keyframes acoFrontReveal{
  0%,42%{opacity:0;transform:translateZ(0) scale(.98);}
  58%{opacity:.15;transform:translateZ(18px) scale(.99);}
  72%{opacity:.88;transform:translateZ(0) scale(1.015);}
  100%{opacity:1;transform:none;}
}

/* On ralentit légèrement aussi le mélange du paquet pour accompagner le retournement. */
.deck-stage.shuffling .back-2{animation:acoShuffleLeft 1.15s cubic-bezier(.22,.72,.24,1)}
.deck-stage.shuffling .back-3{animation:acoShuffleRight 1.15s cubic-bezier(.22,.72,.24,1)}
.deck-stage.shuffling .back-1{animation:acoShuffleCenter 1.15s cubic-bezier(.22,.72,.24,1)}

@media(max-width:520px){
  .question-card.playing-card.dealing::before{background:linear-gradient(145deg, rgba(255,47,120,.98), rgba(255,106,160,.95) 50%, rgba(77,136,223,.95)), url('../images/logo-a-coeur-ouvert.png') center 42% / 88px 88px no-repeat;}
  @keyframes acoDealAndFlip{
    0%{transform:translateY(-125px) scale(.24) rotateY(0deg) rotateZ(8deg);opacity:.03;filter:blur(2px)}
    18%{transform:translateY(-102px) scale(.34) rotateY(0deg) rotateZ(6deg);opacity:.82;filter:blur(1.2px)}
    40%{transform:translateY(-70px) scale(.53) rotateY(0deg) rotateZ(3deg);opacity:1;filter:blur(.4px)}
    56%{transform:translateY(-28px) scale(.77) rotateY(86deg) rotateZ(1deg);opacity:1;filter:none}
    76%{transform:translateY(4px) scale(1.04) rotateY(-4deg) rotateZ(-.5deg);opacity:1}
    100%{transform:rotateX(1.5deg) rotateZ(-.35deg) scale(1);opacity:1;filter:none}
  }
}

@media(prefers-reduced-motion:reduce){
  .question-card.playing-card.dealing,
  .question-card.playing-card.dealing::before,
  .question-card.playing-card.dealing::after,
  .question-card.playing-card.dealing > *{animation-duration:.01ms!important;animation-delay:0s!important}
}


/* === A COEUR OUVERT — finition premium : dos de carte enrichi === */
.question-card.playing-card.dealing::before{
  background:
    radial-gradient(circle at 50% 36%, rgba(255,255,255,.20) 0 16%, transparent 17%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.08) 0 24%, transparent 25%),
    radial-gradient(circle at 22% 18%, rgba(255,255,255,.14) 0 2.2%, transparent 2.4%),
    radial-gradient(circle at 78% 18%, rgba(255,255,255,.14) 0 2.2%, transparent 2.4%),
    radial-gradient(circle at 22% 82%, rgba(255,255,255,.14) 0 2.2%, transparent 2.4%),
    radial-gradient(circle at 78% 82%, rgba(255,255,255,.14) 0 2.2%, transparent 2.4%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.08) 0 8px, rgba(255,255,255,0) 8px 16px),
    linear-gradient(145deg, rgba(255,47,120,.98), rgba(255,106,160,.95) 52%, rgba(77,136,223,.95));
  border:6px solid #ffffff;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.45),
    inset 0 0 0 12px rgba(255,255,255,.06),
    inset 0 0 0 24px rgba(255,255,255,.03);
}
.question-card.playing-card.dealing::after{
  inset:14px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.48);
  background:
    url('../images/logo-a-coeur-ouvert.png') center 36% / 96px 96px no-repeat,
    linear-gradient(to bottom, transparent 0 56%, rgba(255,255,255,.04) 56% 100%);
  mix-blend-mode:normal;
}
.question-card.playing-card .back-wordmark,
.question-card.playing-card .back-submark{display:none}
.question-card.playing-card.dealing .back-wordmark,
.question-card.playing-card.dealing .back-submark{display:none}
.question-card.playing-card.dealing .back-stamp{display:none}
.question-card.playing-card.dealing::before,
.question-card.playing-card.dealing::after{backdrop-filter:none}
.question-card.playing-card.dealing .card-theme{letter-spacing:.23em}
.question-card.playing-card.dealing::after{
  content:'A CŒUR OUVERT\A LE JEU DU COUPLE';
  white-space:pre;
  padding-top:63%;
  text-align:center;
  font-size:12px;
  line-height:1.8;
  font-weight:900;
  letter-spacing:.22em;
  color:rgba(255,255,255,.98);
  text-shadow:0 2px 6px rgba(90,33,63,.35);
}
.question-card.playing-card.dealing::before{
  background-position:center center, center center, 22% 18%, 78% 18%, 22% 82%, 78% 82%, center center, center center;
}
.question-card.playing-card.dealing{box-shadow:0 35px 80px rgba(40,24,38,.28),0 10px 0 rgba(76,57,48,.08)}
.deck-card{background:
  radial-gradient(circle at 50% 35%, rgba(255,255,255,.16) 0 18%, transparent 19%),
  repeating-linear-gradient(45deg, rgba(255,255,255,.08) 0 7px, rgba(255,255,255,0) 7px 14px),
  linear-gradient(145deg,#ff2f78,#ff6aa0 52%,#4d88df)}
.deck-card:before{background:
  linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.08)),
  repeating-linear-gradient(45deg,#ffffff15 0 5px,#00000008 5px 10px)}
.deck-logo img{filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}

@media(max-width:520px){
  .question-card.playing-card.dealing::after{
    background:url('../images/logo-a-coeur-ouvert.png') center 35% / 78px 78px no-repeat, linear-gradient(to bottom, transparent 0 56%, rgba(255,255,255,.04) 56% 100%);
    padding-top:68%;
    font-size:10px;
  }
}

/* === Lisibilité renforcée des vraies cartes === */
.question-card h2,
.question-card.playing-card h2{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,Helvetica,sans-serif;
  font-weight:800;
  line-height:1.12;
  letter-spacing:-.025em;
  text-wrap:balance;
  overflow-wrap:anywhere;
  hyphens:auto;
}
.question-card.playing-card h2{
  font-size:clamp(27px,4.25vw,38px);
  max-width:96%;
}
.question-card.playing-card.long-text h2{
  font-size:clamp(25px,3.7vw,34px);
  line-height:1.14;
}
.question-card.playing-card.extra-long-text h2{
  font-size:clamp(22px,3.2vw,30px);
  line-height:1.16;
}
.question-card.playing-card .card-kicker{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,Helvetica,sans-serif;
  font-weight:800;
  letter-spacing:.13em;
  font-size:12px;
}
.question-card.playing-card .card-theme{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,Helvetica,sans-serif;
  font-weight:800;
  letter-spacing:.13em;
  line-height:1.25;
}
.waiting{
  max-width:650px;
  margin:0 auto;
  padding:14px 16px;
  border-radius:14px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(255,255,255,.82);
  font-weight:650;
  line-height:1.45;
}
.answer-box textarea{font-size:16px;line-height:1.5}
.answers-grid .answer-card p{font-size:17px;line-height:1.5}
@media(max-width:520px){
  .question-card.playing-card h2{font-size:clamp(26px,7.3vw,34px);line-height:1.12}
  .question-card.playing-card.long-text h2{font-size:clamp(23px,6.5vw,30px)}
  .question-card.playing-card.extra-long-text h2{font-size:clamp(20px,5.8vw,27px)}
}

/* Onboarding + niveau de couple */
.onboarding-questions{display:grid;gap:12px;margin-top:12px}.onboarding-questions select{width:100%;border:1px solid var(--line);background:#fffaf9;padding:13px 14px;border-radius:13px;color:var(--ink)}.stage-help{margin:15px 0 4px;padding:13px 14px;border-radius:14px;background:linear-gradient(135deg,#fff0f5,#eef8ff);display:grid;gap:4px;text-align:left}.stage-help b{color:#b42c62}.stage-help span{font-size:12px;color:var(--muted);line-height:1.4}.relationship-stage{display:inline-flex;margin-top:8px;padding:7px 11px;border-radius:999px;background:#fff0f5;color:#8e3d61;font-size:12px}.admin-link{text-decoration:none;display:inline-flex;align-items:center}

/* Administration */
.admin-shell{padding-bottom:50px}.admin-tabs{display:flex;gap:8px;margin:10px 0 20px;flex-wrap:wrap}.admin-tabs button{border:0;border-radius:12px;padding:11px 15px;background:#fff;color:var(--muted);font-weight:800}.admin-tabs button.active{background:#2f2830;color:#fff}.admin-panel{display:none}.admin-panel.active{display:block}.admin-head{display:flex;justify-content:space-between;align-items:center;margin:14px 0}.admin-card-form,.admin-question-form{background:#ffffffd9;border:1px solid #efdfE7;border-radius:20px;padding:18px;margin-bottom:13px;box-shadow:0 10px 30px #4c28300d}.admin-card-id{font-size:11px;color:var(--muted);font-weight:900;margin-bottom:8px}.admin-grid,.admin-settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.admin-card-form textarea{min-height:85px}.admin-card-form select,.admin-question-form select,.admin-settings-grid select{width:100%;border:1px solid var(--line);padding:11px;border-radius:11px;background:white}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;margin:10px 0}.check input{width:auto}.admin-actions{display:flex;gap:8px}.admin-link{background:#2f2830!important;color:#fff!important}@media(max-width:760px){.admin-grid,.admin-settings-grid{grid-template-columns:1fr}.admin-head{align-items:flex-start;gap:10px;flex-direction:column}}


/* === Mode partie plein écran + première carte optimisée === */
html.aco-game-fullscreen,body.aco-game-fullscreen{height:100%;overflow:hidden;overscroll-behavior:none;background:#f7eee9}
body.aco-game-fullscreen .topbar,body.aco-game-fullscreen .nav-pills{display:none!important}
body.aco-game-fullscreen .app-shell{width:100%;max-width:none;height:100dvh;margin:0;padding:0;overflow:hidden}
body.aco-game-fullscreen #view-game.view.active{display:block!important;position:fixed;inset:0;z-index:9999;background:linear-gradient(145deg,#fbf6f1,#f4e6df 62%,#eddde6);padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow:hidden}
body.aco-game-fullscreen .game-wrap{height:100%;max-width:1400px;margin:0 auto;display:grid;grid-template-columns:minmax(330px,.9fr) minmax(360px,1.1fr);grid-template-rows:auto 1fr;gap:10px 34px;align-items:center;text-align:center}
body.aco-game-fullscreen .game-top{grid-column:1/-1;min-height:42px;margin:0;align-self:start}
body.aco-game-fullscreen .deck-stage{grid-column:1;grid-row:2;position:absolute;left:calc(25% - 95px);top:48px;transform:scale(.72);transform-origin:center top;margin:0;z-index:1;opacity:.92}
body.aco-game-fullscreen .playing-card-wrap{grid-column:1;grid-row:2;margin:0;align-self:center;justify-self:center;width:100%;z-index:2}
body.aco-game-fullscreen .question-card.playing-card{width:min(390px,34vw);max-height:calc(100dvh - 90px);aspect-ratio:2.5/3.5;padding:48px 34px 32px}
body.aco-game-fullscreen .answer-box,body.aco-game-fullscreen .waiting,body.aco-game-fullscreen .answers-grid,body.aco-game-fullscreen .reaction-bar,body.aco-game-fullscreen .seed-bar,body.aco-game-fullscreen .game-actions{grid-column:2;grid-row:2;width:min(680px,100%);justify-self:center}
body.aco-game-fullscreen .answer-box{align-self:center;display:grid!important;gap:12px}
body.aco-game-fullscreen .answer-box[style*="display: none"]{display:none!important}
body.aco-game-fullscreen .answer-box textarea{min-height:160px;max-height:28vh;font-size:18px;background:rgba(255,255,255,.9)}
body.aco-game-fullscreen .waiting{align-self:center;font-size:17px}
body.aco-game-fullscreen .answers-grid{align-self:center;grid-template-columns:1fr 1fr;gap:14px}
body.aco-game-fullscreen .reaction-bar{align-self:end;margin-bottom:94px}
body.aco-game-fullscreen .seed-bar{align-self:end;margin-bottom:48px}
body.aco-game-fullscreen .game-actions{align-self:end;margin-bottom:0;position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:calc(50% - 34px);max-width:680px}
.fullscreen-control{min-width:44px;padding:10px 13px;font-size:18px}
.question-card.playing-card.card-loading{visibility:hidden}
.question-card.playing-card.card-ready{visibility:visible}
.question-card.playing-card h2{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-weight:800;line-height:1.14;letter-spacing:-.018em}
.question-card.playing-card .card-kicker,.question-card.playing-card .card-theme,.depth-badge{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif}
.reaction-bar button{transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.reaction-bar button:active{transform:scale(.9)}
.reaction-bar button.selected{background:#fff0f6;outline:3px solid #ff2f78;box-shadow:0 0 0 5px #ff2f7822,0 8px 18px #8a284018;transform:scale(1.08)}
.answer-reactions{font-size:22px;min-height:26px;letter-spacing:.08em}
.answer-card.partner{border:2px solid rgba(255,47,120,.16)}
.answer-card.mine{border:2px solid rgba(77,136,223,.14)}

@media(max-width:900px){
 body.aco-game-fullscreen #view-game.view.active{overflow:auto}
 body.aco-game-fullscreen .game-wrap{height:auto;min-height:100%;display:flex;flex-direction:column;gap:8px;max-width:760px;padding-bottom:82px}
 body.aco-game-fullscreen .game-top{width:100%;position:sticky;top:0;z-index:20;background:rgba(247,238,233,.84);backdrop-filter:blur(10px);padding:4px 0}
 body.aco-game-fullscreen .deck-stage{position:absolute;left:50%;top:44px;transform:translateX(-50%) scale(.56);opacity:.65}
 body.aco-game-fullscreen .playing-card-wrap{width:100%;margin:6px 0 4px;z-index:2}
 body.aco-game-fullscreen .question-card.playing-card{width:min(340px,78vw);height:min(475px,55dvh);max-height:55dvh;padding:42px 26px 28px;border-width:6px}
 body.aco-game-fullscreen .question-card.playing-card h2{font-size:clamp(23px,5.5vw,32px);line-height:1.13}
 body.aco-game-fullscreen .question-card.playing-card.long-text h2{font-size:clamp(21px,5vw,29px)}
 body.aco-game-fullscreen .question-card.playing-card.extra-long-text h2{font-size:clamp(19px,4.6vw,26px)}
 body.aco-game-fullscreen .answer-box,body.aco-game-fullscreen .waiting,body.aco-game-fullscreen .answers-grid,body.aco-game-fullscreen .reaction-bar,body.aco-game-fullscreen .seed-bar,body.aco-game-fullscreen .game-actions{width:100%;position:static;margin:0;max-width:660px}
 body.aco-game-fullscreen .answer-box textarea{min-height:88px;max-height:20dvh;font-size:16px}
 body.aco-game-fullscreen .answers-grid{grid-template-columns:1fr 1fr}
 body.aco-game-fullscreen .game-actions{position:sticky;bottom:0;background:linear-gradient(180deg,transparent,#f7eee9 22%);padding:16px 0 max(4px,env(safe-area-inset-bottom));z-index:22}
 body.aco-game-fullscreen .reaction-bar{padding-top:4px}
}
@media(max-width:560px){
 body.aco-game-fullscreen .game-wrap{padding-bottom:72px}
 body.aco-game-fullscreen .question-card.playing-card{width:min(300px,82vw);height:min(420px,50dvh);max-height:50dvh;padding:38px 22px 25px}
 body.aco-game-fullscreen .question-card.playing-card h2{font-size:clamp(21px,6.1vw,29px)}
 body.aco-game-fullscreen .answers-grid{grid-template-columns:1fr;max-height:27dvh;overflow:auto}
 body.aco-game-fullscreen .answer-card{padding:13px}
 body.aco-game-fullscreen .answer-card p{font-size:15px;line-height:1.35;margin:6px 0}
 body.aco-game-fullscreen .reaction-bar button{width:40px;height:40px}
 body.aco-game-fullscreen .game-actions{gap:7px}
 body.aco-game-fullscreen .game-actions button{padding:10px 12px;font-size:13px}
}
