:root{--paper:#FAFAF8;--ink:#17150F;--muted:#6F6B61;--line:#D8D2C6;--pine:#1E4D3C;--ocre:#B8862F;--red:#B23B3B;--black:#050505;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html,body{margin:0;height:100%;background:#d0d0d0;color:var(--ink);font-family:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}main{height:100svh;position:relative;overflow:hidden}.only-mobile{display:none}.view{position:absolute;inset:0;display:none;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .26s var(--ease),transform .26s var(--ease);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.view-active{display:block;opacity:1;pointer-events:auto;transform:translateY(0)}.home-surface.view-active{display:flex}.detail-board.view-active{display:grid}.app-nav{position:fixed;right:18px;bottom:18px;z-index:220;display:flex;gap:8px;background:rgba(250,250,248,.78);backdrop-filter:blur(14px);border:1px solid rgba(23,21,15,.08);border-radius:999px;padding:7px;box-shadow:0 16px 45px rgba(0,0,0,.08)}.app-nav button{border:0;background:transparent;border-radius:999px;padding:9px 12px;font-size:13px;cursor:pointer;color:var(--muted)}.app-nav button.is-active{background:var(--ink);color:var(--paper)}.return-home{position:fixed;left:22px;top:22px;z-index:230;display:flex;gap:8px;align-items:center;border:1px solid rgba(23,21,15,.1);background:rgba(250,250,248,.82);color:var(--ink);border-radius:999px;padding:11px 14px;font-size:14px;cursor:pointer;backdrop-filter:blur(14px);box-shadow:0 16px 42px rgba(0,0,0,.1);opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .22s var(--ease),transform .22s var(--ease)}body[data-current-view]:not([data-current-view="home"]) .return-home{opacity:1;pointer-events:auto;transform:translateY(0)}.return-home:hover{transform:translateY(-2px)}
.home-surface{height:100svh;background:var(--paper);border:8px solid #ccc;display:flex;flex-direction:column;padding:0 18px 18px;overflow:hidden}.white-zone{position:relative;min-height:22vh;border:0;background:transparent;text-align:left;width:100%;cursor:pointer;padding:10px 0 0}.logo-stack{position:absolute;left:0;top:8px;display:grid;line-height:.86;font-weight:300;font-size:clamp(24px,2.15vw,35px);letter-spacing:-.06em}.logo-pine{color:var(--pine)}.logo-ochre{color:var(--ocre)}.logo-red{color:var(--red)}.logo-ink{color:var(--ink)}.white-zone h1{position:absolute;right:0;bottom:8px;margin:0;color:#67645d;font-weight:300;letter-spacing:-.06em;font-size:clamp(34px,4vw,58px);line-height:.94}.white-zone-hint{position:absolute;right:0;top:16px;color:#9a968b;font-size:14px;opacity:0;transform:translateY(-4px);transition:.18s var(--ease)}.white-zone:hover .white-zone-hint{opacity:1;transform:translateY(0)}.grid-wrap{position:relative;flex:1;display:flex;align-items:end}.question-grid{width:100%;display:grid;grid-template-columns:repeat(13,1fr);gap:13px;padding:0 0 2px}.question-cell{aspect-ratio:1/1;border:0;border-radius:0;cursor:pointer;transition:transform .18s var(--ease),opacity .18s var(--ease),box-shadow .18s var(--ease),filter .18s var(--ease);animation:pop .42s var(--ease) both;animation-delay:var(--delay,0ms)}@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}.question-cell:hover{transform:translateY(-8px);box-shadow:0 18px 28px rgba(0,0,0,.11);z-index:3}.question-cell.is-selected{outline:3px solid var(--ink);outline-offset:3px}.question-cell.vert{background:var(--pine)}.question-cell.ocre{background:var(--ocre)}.question-cell.rouge{background:var(--red)}.question-cell.paper{background:var(--paper)}.question-cell.is-hidden{display:none}.question-grid.is-filtering .question-cell:not(.is-active){opacity:.18;filter:saturate(.35)}.cell-tooltip{position:fixed;z-index:260;max-width:390px;background:var(--ink);color:var(--paper);border-radius:16px;padding:14px 16px;font-size:14px;line-height:1.24;box-shadow:0 22px 70px rgba(0,0,0,.25);opacity:0;pointer-events:none;transform:translate(-50%,-115%) scale(.98);transition:.14s var(--ease)}.cell-tooltip.is-visible{opacity:1;transform:translate(-50%,-120%) scale(1)}.cell-tooltip small{display:block;color:#d0ccc2;margin-top:8px;font-size:12px}.legend{position:absolute;left:22px;bottom:24px;z-index:6;display:grid;gap:8px}.legend-row{display:flex;gap:8px;flex-wrap:wrap}.legend button{background:rgba(250,250,248,.82);border:1px solid rgba(23,21,15,.1);backdrop-filter:blur(10px);border-radius:999px;padding:9px 12px;font-size:13px;cursor:pointer;color:var(--muted)}.legend button.is-current{background:var(--ink);color:var(--paper)}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.dot.good{background:var(--pine)}.dot.amber{background:var(--ocre)}.dot.red{background:var(--red)}
.board{min-height:100svh;background:var(--paper);padding:24px 24px 110px;border-top:8px solid #ccc}.board-header{display:grid;grid-template-columns:1fr auto 64px;gap:28px;align-items:start;border-bottom:1px solid var(--ink);padding-bottom:18px}.board-header h2{margin:0;font-size:clamp(42px,5vw,72px);letter-spacing:-.07em;line-height:.9}.board-header p{margin:8px 0 0;font-size:18px}.measure-meta{border-left:1px solid var(--ink);padding-left:28px}.measure-meta p{margin:0 0 10px;font-size:18px}.back-top{width:56px;height:56px;border:0;border-radius:50%;background:var(--ink);color:var(--ink);cursor:pointer}.card{background:var(--paper);border:1px solid var(--line);padding:22px}.paper-card,.market-card,.competitors-card,.source-overview,.error-card{background:var(--paper)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:6px}.kpi{min-height:190px}.kpi span,.error-card span{font-size:18px;font-weight:600}.kpi strong,.error-card strong{display:block;margin-top:22px;font-size:clamp(54px,6vw,82px);line-height:.8;letter-spacing:-.08em}.kpi em{font-style:normal;font-size:.5em;font-weight:300}.kpi p,.error-card p{margin:22px 0 0;font-size:15px;color:var(--muted)}.general-main{display:grid;grid-template-columns:1.2fr .9fr;gap:6px;margin-top:6px}.card-title{display:flex;gap:18px;align-items:baseline}.card-title h3,.competitors-card h3,.source-overview h3{margin:0;font-size:24px;letter-spacing:-.04em}.card-title p{margin:0;color:var(--muted)}.intent-bars{margin-top:22px;display:grid;gap:9px}.intent-bars div{display:grid;grid-template-columns:260px 1fr 70px;gap:14px;align-items:center}.intent-bars span,.intent-bars b{font-size:14px}.intent-bars i{height:12px;background:#ebe7dd;position:relative}.intent-bars i:after{content:"";display:block;height:100%;width:var(--w);background:var(--ocre)}.threshold{text-align:center;color:var(--muted);font-size:14px}.competitors-card ol{list-style:none;margin:14px 0 22px;padding:0}.competitors-card li{display:grid;grid-template-columns:34px 1fr 70px;gap:14px;border-bottom:1px solid var(--line);padding:10px 0;align-items:center}.competitors-card b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ece8dd}.competitors-card strong{text-align:right}.minor-title{margin-top:18px!important;color:var(--muted)}.reflex li{opacity:.72}.source-row{display:grid;grid-template-columns:1fr .3fr;gap:6px;margin-top:6px}.source-family-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.source-family-grid div{min-height:150px;padding:16px;border:1px solid var(--line);background:var(--paper)}.source-family-grid span{font-weight:600}.source-family-grid strong{display:block;margin-top:12px;font-size:34px}.source-family-grid p{margin:14px 0 0;padding-top:12px;border-top:2px solid var(--ink);font-size:13px;color:var(--muted)}.error-card{display:flex;flex-direction:column;justify-content:center}.error-card strong{color:var(--red)}
.detail-board{min-height:100svh;padding:clamp(30px,5vw,80px) clamp(18px,5vw,80px) 120px;background:var(--paper);place-items:start center}.detail-shell{width:min(1280px,100%);display:grid;grid-template-columns:1.05fr 1.05fr 1.55fr;grid-template-rows:auto minmax(220px,auto) minmax(220px,auto) minmax(220px,auto);gap:12px;background:var(--black);padding:14px;border-radius:30px;box-shadow:0 30px 100px rgba(0,0,0,.16);margin:auto}.pill,.detail-card,.detail-back{border-radius:22px;background:var(--paper);padding:22px}.pill{height:78px;border:0;display:flex;align-items:center;gap:18px;font-weight:500;font-size:18px}.status-pill i{width:24px;height:24px;border-radius:50%;background:currentColor;box-shadow:inset 0 0 0 6px rgba(0,0,0,.1)}.interactive-pill{cursor:pointer;text-align:left}.interactive-pill small{margin-left:auto;color:var(--muted);font-size:12px}.question-card{grid-column:1/3}.question-card h2{font-size:clamp(32px,3.5vw,54px);line-height:1.08;letter-spacing:-.06em;margin:24px 0 0;font-weight:300}.detail-card span{display:block;font-size:16px;font-weight:600;margin-bottom:16px}.position-card{grid-column:3;grid-row:1/3}.position-card strong{display:block;font-size:clamp(82px,11vw,190px);line-height:.9;font-weight:250;letter-spacing:-.08em}.small-card strong{display:block;font-size:clamp(34px,3vw,48px);letter-spacing:-.06em;font-weight:300}.small-card p,.cause-card p{font-size:17px;line-height:1.25;margin:0}.ranking-card ol{list-style:none;margin:0;padding:0}.ranking-card li{display:grid;grid-template-columns:32px 1fr;gap:14px;border-bottom:1px solid var(--line);padding:10px 0}.ranking-card b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ece8dd}.raw-card blockquote{margin:0;font-size:16px;line-height:1.35}.sources-card ul,.actions-card ul{margin:0;padding-left:18px;font-size:16px;line-height:1.65}.detail-card button{border:0;background:transparent;padding:0;margin-top:18px;cursor:pointer;font-size:14px;text-align:left}.detail-card button:hover{text-decoration:underline}.detail-back{border:0;font-size:18px;font-weight:600;cursor:pointer}.detail-green .accent-card,.detail-green .status-pill{background:var(--pine);color:var(--paper)}.detail-green .small-card,.detail-green .cause-card{background:var(--paper)}.detail-green .ranking-card li:first-child b{background:var(--pine);color:var(--paper)}.detail-amber .accent-card,.detail-amber .status-pill,.detail-amber .cause-card{background:var(--ocre);color:var(--paper)}.detail-amber .ranking-card li:first-child b{background:var(--ocre);color:var(--paper)}.detail-red .accent-card,.detail-red .status-pill,.detail-red .cause-card{background:var(--red);color:var(--paper)}.detail-red .ranking-card li:first-child b{background:var(--red);color:var(--paper)}
@media(max-width:980px){html,body,main{height:auto;overflow:auto}.view{position:relative}.home-surface{min-height:100svh;height:auto}.white-zone{min-height:28vh}.white-zone h1{left:0;right:auto;font-size:40px}.only-mobile{display:block}.question-grid{grid-template-columns:repeat(8,1fr);gap:8px}.legend{position:static;margin-top:14px}.board-header,.kpi-grid,.general-main,.source-row,.source-family-grid,.detail-shell{grid-template-columns:1fr}.detail-shell{display:grid}.question-card,.position-card{grid-column:auto;grid-row:auto}.app-nav{left:10px;right:10px;justify-content:center;overflow:auto}.return-home{left:12px;top:12px}.intent-bars div{grid-template-columns:1fr}.board{padding:70px 14px 120px}.detail-board{padding:70px 14px 120px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* animations légères */
.intent-bars i:after{ transition: width .7s var(--ease); }
.question-cell:hover{ transform: translateY(-8px) scale(1.06); }
