[hidden]{display:none!important}:root{--color-brand-agro: #4ade80;--color-neutral-950: #0b1220;--color-neutral-950-panel: rgba(8, 12, 24, .85);--color-neutral-950-panel-strong: rgba(8, 12, 24, .95);--color-neutral-900-glass-light: rgba(30, 41, 59, .55);--color-neutral-900-glass-mid: rgba(15, 23, 42, .7);--color-border-glass: rgba(148, 163, 184, .25);--color-border-glass-strong: rgba(148, 163, 184, .45);--color-text-main: #f8fafc;--color-text-muted: #94a3b8;--color-text: #e8e8ed;--color-text-dim: #94a3b8;--color-text-bright: #ffffff;--color-accent: #38bdf8;--color-accent-strong: #2563eb;--radius-lg: 18px;--shadow-glass: 0 20px 60px rgba(0, 0, 0, .45);--shadow-card: 0 16px 30px rgba(0, 0, 0, .65);--ui-radius-xl: 18px;--ui-radius-lg: 14px;--ui-radius-md: 12px;--ui-radius-sm: 10px;--ui-radius-pill: 999px;--ui-control-height-lg: 52px;--ui-control-height-md: 44px;--ui-control-height-sm: 42px;--ui-control-height-xs: 40px;--ui-focus-ring: 2px solid rgba(125, 211, 252, .95);--ui-focus-ring-strong: 2px solid rgba(216, 248, 241, .88);--ui-focus-offset: 2px;--ui-safe-gap: 8px;--ui-safe-gap-tight: 6px;--ui-safe-gap-loose: 10px;--ui-surface-glass: linear-gradient(180deg, rgba(12, 20, 35, .88), rgba(8, 14, 26, .92));--ui-surface-glass-soft: linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .02));--ui-surface-glass-accent: linear-gradient(140deg, rgba(100, 209, 190, .12), rgba(99, 179, 255, .08)), rgba(8, 18, 32, .74);--ui-border-soft: rgba(173, 189, 214, .12);--ui-border-mid: rgba(173, 189, 214, .18);--ui-border-strong: rgba(180, 220, 255, .28);--ui-shadow-panel: 0 28px 60px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .04);--ui-shadow-card: 0 16px 32px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .03);--ui-pill-bg: rgba(8, 16, 30, .56);--ui-pill-border: rgba(118, 185, 255, .24);--ui-pill-text: #bfe0ff;--ui-pill-accent-bg: rgba(74, 222, 128, .12);--ui-pill-accent-border: rgba(74, 222, 128, .26);--ui-pill-accent-text: #d2ffe4;--surface: rgba(255, 255, 255, .03);--surface-hover: rgba(255, 255, 255, .08);--border: rgba(255, 255, 255, .06);--text: var(--color-text);--text-dim: var(--color-text-dim);--text-bright: var(--color-text-bright);--accent: var(--color-accent);--accent-strong: var(--color-accent-strong);--card-shadow: var(--shadow-card);--agro-green: var(--color-brand-agro);--ui-bg: var(--color-neutral-950);--ui-panel: var(--color-neutral-950-panel);--ui-panel-strong: var(--color-neutral-950-panel-strong);--glass-border: var(--color-border-glass);--glass-border-strong: var(--color-border-glass-strong);--glass-shadow: var(--shadow-glass);--glass-light: var(--color-neutral-900-glass-light);--glass-mid: var(--color-neutral-900-glass-mid);--text-main: var(--color-text-main);--text-muted: var(--color-text-muted);--accent-blue: var(--color-accent);--accent-blue-dark: var(--color-accent-strong);--layer-playfield: 1000;--layer-hud: 2000;--layer-card-hand: 6000;--layer-card-base: 6100;--layer-card: 7000;--layer-card-floating: 7200;--layer-toast: 8000;--layer-tooltip: 8500;--layer-tooltips: var(--layer-tooltip);--layer-modal: 9000;--layer-card-inspect: 9350;--layer-overlay-global: 9500;--layer-profile-select: 9600;--layer-profile-code-modal: 9700;--layer-debug: 11000}.tooltip-inline-icon{display:inline-block;vertical-align:middle;width:24px;height:24px;margin:0 4px;object-fit:contain}.tooltip-desc{line-height:1.6}body.page-game{--bg-deep: #0a0a0f;--bg-scene: #12121a;--game-shell-gap: clamp(8px, .9vw, 14px);--game-shell-padding-inline: clamp(10px, 1.4vw, 18px);--game-shell-padding-block: clamp(10px, 1.1vw, 14px);--game-shell-panel-bg: var(--ui-surface-glass);--game-shell-panel-border: var(--ui-border-soft);--game-shell-panel-shadow: var(--ui-shadow-panel);--energy: #fbbf24;--stress: #ef4444;--confidence: #a855f7;--motivation: #22c55e;--difficulty: #ef4444;--color-type-consigne: #3b82f6;--color-type-support: #22c55e;--color-type-analyse: #f59e0b;--color-type-lecture: #ec4899;--color-type-malus: #ef4444;--color-type-default: rgba(148, 163, 184, .55);--glow-strong: 0 0 28px rgba(255, 184, 79, .35)}*{box-sizing:border-box}html{height:100%;margin:0 auto}body.page-game{height:100%;margin:0 auto;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.05),transparent 35%),radial-gradient(circle at 70% 10%,rgba(120,160,255,.05),transparent 30%),var(--bg-deep);color:var(--text);font-family:Space Grotesk,system-ui,sans-serif;overflow:hidden}body.page-game{position:relative}.game-scene{position:relative;width:100%;height:100vh;overflow:visible;background:radial-gradient(120% 140% at 50% 20%,rgba(35,45,78,.45),transparent 60%),radial-gradient(90% 100% at 50% 120%,rgba(26,21,48,.65),transparent 50%),radial-gradient(circle at 18% 16%,rgba(125,211,252,.09),transparent 24%),radial-gradient(circle at 84% 14%,rgba(251,191,36,.08),transparent 18%),var(--bg-scene);display:grid;grid-template-rows:minmax(108px,auto) minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:var(--game-shell-gap);padding:var(--game-shell-padding-block) var(--game-shell-padding-inline) calc(var(--game-shell-padding-block) - 2px);align-items:stretch}.game-scene:after{content:"";position:absolute;inset:0;background:#080a1059;opacity:0;pointer-events:none;transition:opacity .14s ease;z-index:calc(var(--layer-playfield) + 1)}body.card-dragging .game-scene:after{opacity:1}.scene-grid{position:absolute;inset:-40%;background:repeating-linear-gradient(0deg,rgba(255,255,255,.03),rgba(255,255,255,.03) 1px,transparent 1px,transparent 90px),repeating-linear-gradient(90deg,rgba(255,255,255,.03),rgba(255,255,255,.03) 1px,transparent 1px,transparent 90px);transform:translateZ(-200px) rotateX(65deg);pointer-events:none;opacity:.45}.vignette{position:absolute;inset:0;background:radial-gradient(120% 120% at 50% 40%,transparent 40%,rgba(0,0,0,.55) 85%);pointer-events:none}.fullscreen-btn{position:fixed;right:16px;bottom:16px;width:46px;height:46px;border-radius:12px;border:1px solid var(--border);background:#000000a6;color:#fff;font-size:1.2rem;cursor:pointer;box-shadow:0 10px 30px #00000059;z-index:calc(var(--layer-hud) + 200)}.fullscreen-btn:hover{background:#ffffff1a}.fullscreen-btn:focus-visible{outline:3px solid rgba(56,189,248,.8);outline-offset:3px}.prof-portrait{--portrait-focus-x: 50%;--portrait-focus-y: 35%;width:150px;height:150px;border-radius:20px;overflow:hidden;border:none;outline:5px solid transparent;outline-offset:2px;box-shadow:0 20px 40px #0000005c;flex-shrink:0;position:relative;transition:outline-color .3s ease,box-shadow .3s ease}.prof-portrait img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.prof-portrait #prof-portrait-img{object-position:var(--portrait-focus-x) var(--portrait-focus-y)}.prof-portrait .prof-state{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .3s ease}.prof-portrait.show-state .prof-state{opacity:1}.prof-portrait.show-state #prof-portrait-img{opacity:0}.prof-portrait[data-state=neutral]{outline-color:transparent;box-shadow:0 8px 30px #0006}.prof-portrait.show-state[data-state=ok]{outline-color:var(--motivation);box-shadow:0 8px 30px #22c55e4d}.prof-portrait.show-state[data-state=help]{outline-color:var(--energy);box-shadow:0 8px 30px #fbbf2466;animation:pulse-help 1.5s ease-in-out infinite}.prof-portrait.show-state[data-state=win]{outline-color:var(--confidence);box-shadow:0 8px 40px #a855f780;animation:pulse-win 1s ease-in-out infinite}.prof-portrait.show-state[data-state=lose]{outline-color:var(--stress);box-shadow:0 8px 30px #ef444466}@keyframes pulse-help{0%,to{outline-color:var(--energy);box-shadow:0 8px 30px #fbbf244d}50%{outline-color:var(--energy);box-shadow:0 8px 40px #fbbf2499}}@keyframes pulse-win{0%,to{outline-color:var(--confidence);box-shadow:0 8px 40px #a855f766;transform:scale(1)}50%{outline-color:var(--confidence);box-shadow:0 8px 50px #a855f7b3;transform:scale(1.03)}}.hud-turn{font-family:JetBrains Mono,monospace;color:var(--text);font-size:.9rem;display:inline-flex;gap:6px;align-items:center;cursor:help}.stat-chip.energy,.stat-chip.stress{border-color:color-mix(in srgb,currentColor 35%,rgba(255,255,255,.18));box-shadow:0 10px 28px #00000059;transform:translateY(-2px)}.stat-chip.energy .stat-chip__value,.stat-chip.stress .stat-chip__value{font-size:1.28rem}.stat-chip{pointer-events:auto;min-width:150px;display:inline-flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:12px;backdrop-filter:blur(10px);box-shadow:0 6px 18px #00000040;font-family:JetBrains Mono,monospace;font-weight:700;color:var(--text)}.stat-chip .icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:1.1rem;color:#0a0a0f}.stat-chip.stress .icon{background:var(--stress);color:#fff}.stat-chip.confidence .icon{background:var(--confidence);color:#fff}.stat-chip.motivation .icon{background:var(--motivation);color:#04130a}.stat-chip.appui .icon{background:#22d3ee;color:#042f3a}.stat-chip.artefact .icon{background:#93c5fd;color:#0b1324}.stat-chip.artefact{--artefact-hud-icon-size: clamp(38px, 4vw, 52px)}.stat-chip--artefact-icons-only{min-width:auto;padding:8px 10px;gap:0}.stat-chip__content{display:flex;flex-direction:column;gap:4px;line-height:1.1}.stat-chip__label{font-size:.78rem;letter-spacing:.02em;color:var(--text-dim);font-weight:600;text-transform:uppercase}.stat-chip__value{font-size:1.15rem;color:var(--text-bright)}.stat-chip__meta{font-size:.68rem;line-height:1.25;letter-spacing:.02em;color:#bfdbfeeb;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-chip__value-row{display:inline-flex;align-items:center;gap:8px;min-height:24px}.stat-chip.artefact .stat-chip__content{justify-content:center}.stat-chip.artefact .stat-chip__value-row{min-height:var(--artefact-hud-icon-size);gap:10px}.stat-chip.artefact .stat-chip__value{font-size:clamp(1.8rem,2.2vw,2.25rem);line-height:1}.stat-chip__value-row--appui{flex-wrap:wrap}.stat-chip__artefacts{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-height:30px}.stat-chip.artefact .stat-chip__artefacts{gap:8px;flex-wrap:nowrap;min-height:var(--artefact-hud-icon-size)}.stat-chip__artefacts--inline{margin-left:2px}.stat-chip__artefacts[hidden]{display:none}.stat-chip__artefact-button{appearance:none;border:0;padding:0;margin:0;width:30px;height:30px;border-radius:7px;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:help}.stat-chip.artefact .stat-chip__artefact-button{width:var(--artefact-hud-icon-size);height:var(--artefact-hud-icon-size);border-radius:10px}.stat-chip__artefact-button:focus-visible{outline:2px solid rgba(147,197,253,.85);outline-offset:2px}.stat-chip__artefact-overflow{appearance:none;flex:0 0 auto;width:clamp(36px,3.5vw,44px);height:var(--artefact-hud-icon-size);border:1px solid rgba(191,219,254,.56);border-radius:10px;background:linear-gradient(180deg,#93c5fd33,#0f172a9e);color:var(--text-bright);font-weight:900;font-size:clamp(.82rem,1vw,.98rem);letter-spacing:0;cursor:help;box-shadow:inset 0 0 0 1px #ffffff0f,0 5px 12px #02061757}.stat-chip__artefact-overflow:hover{border-color:#bfdbfebd;transform:translateY(-1px)}.stat-chip__artefact-overflow:focus-visible{outline:2px solid rgba(147,197,253,.85);outline-offset:2px}.stat-chip__artefact-icon{width:30px;height:30px;border-radius:7px;border:1px solid rgba(255,255,255,.22);background:#0f172a2e;object-fit:contain;box-shadow:0 2px 8px #02061759;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.stat-chip.artefact .stat-chip__artefact-icon{width:var(--artefact-hud-icon-size);height:var(--artefact-hud-icon-size);border-radius:10px;background:transparent;border-color:#bfdbfe94}.stat-chip__artefact-button:hover .stat-chip__artefact-icon{transform:translateY(-1px);border-color:#bfdbfeb3;box-shadow:0 5px 12px #02061773}.deck-info{display:flex;flex-direction:row;gap:8px}.deck-chip{pointer-events:auto;appearance:none;width:104px;padding:10px;border-radius:12px;background:var(--surface);border:1px solid var(--border);backdrop-filter:blur(10px);text-align:center;font:inherit;color:inherit;box-shadow:0 6px 18px #00000040}.deck-chip .label{font-size:.75rem;letter-spacing:.08em;color:var(--text-dim);text-transform:uppercase}.layer-board{position:relative;grid-row:2;z-index:var(--layer-playfield)}.play-zones{position:relative;top:auto;left:auto;transform:none;margin:0 auto;display:grid;grid-template-columns:minmax(220px,1fr) minmax(360px,560px) minmax(220px,1fr);align-items:start;justify-content:center;gap:clamp(16px,2vw,26px);width:min(1280px,100%);max-height:100%;overflow:visible;align-self:center;justify-self:center}.zone{width:100%;min-height:140px;border-radius:24px;border:1px solid rgba(173,189,214,.18);background:linear-gradient(180deg,#ffffff0a,#ffffff04);color:var(--text-dim);display:flex;align-items:center;justify-content:center;text-align:center;transition:all .25s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;z-index:var(--layer-playfield);box-shadow:0 20px 40px #00000038}.zone-illust{position:absolute;inset:0;background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.78;filter:saturate(1.05);pointer-events:none}.zone-group .zone-illust{background-size:cover}.zone-illust--group{background-image:url(../../assets/images/groupe_classe/groupe_classe_tbp_ap.webp)}.zone:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000007a,#00000094);opacity:.76;pointer-events:none;transition:opacity .2s ease}.zone:hover{border-color:#bfdbfe47;background:linear-gradient(180deg,#ffffff0f,#ffffff05);box-shadow:0 22px 44px #00000047}.zone.is-target-selected{border-color:#38bdf894;box-shadow:0 0 0 2px #38bdf833,0 12px 30px #00000040}.zone:focus-visible{outline:3px solid rgba(56,189,248,.9);outline-offset:3px}.zone.drag-over{transform:translateY(-2px) scale(1.01)}.dropzone.drop-success{animation:drop-flash .12s ease}.card-dragging .dropzone{border-color:#94a3b859;background:#ffffff05}.card-dragging .dropzone--valid{border-color:#22c55e99;box-shadow:0 0 16px #22c55e40}.card-dragging .dropzone--invalid{opacity:.7;filter:grayscale(.2)}.drop-target-indicator{position:absolute;inset:10px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .14s ease,transform .14s ease;background:linear-gradient(180deg,#0609149e,#06091459);border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px #00000059}.card-dragging .dropzone--valid .drop-target-indicator{opacity:.9}.dropzone--valid.drag-over .drop-target-indicator{opacity:1;transform:translateY(0);box-shadow:0 12px 26px #00000059,0 0 18px #38bdf847}.dropzone--valid.drag-over{border-color:#22c55ecc;box-shadow:0 0 24px #22c55e59,inset 0 0 0 1px #fff3}.dropzone--invalid.drag-over{border-color:#94a3b873;box-shadow:0 0 18px #94a3b840}.drop-target-pill{padding:8px 14px;border-radius:999px;font-weight:800;font-size:.92rem;letter-spacing:.04em;color:#0c1224;text-transform:uppercase;box-shadow:0 10px 26px #00000059,0 0 16px #ffffff14}.drop-target-pill[data-target-type=group]{background:linear-gradient(120deg,#0ea5e9,#22d3ee)}.drop-target-pill[data-target-type=student]{background:linear-gradient(120deg,#c084fc,#ec4899)}.drop-target-hint{font-size:.8rem;color:var(--text-bright);text-shadow:0 2px 8px rgba(0,0,0,.45);letter-spacing:.02em;opacity:.9}.zone .label{font-family:Bebas Neue,sans-serif;letter-spacing:.14em;font-size:1rem;color:var(--text)}.zone .hint{margin-top:6px;font-size:.9rem;color:var(--text-dim)}.zone-group{width:100%;height:clamp(226px,30vh,272px)}.zones-students{display:contents}.zone-student{width:200px;height:clamp(208px,28vh,248px)}.student-slot,.group-slot{display:flex;flex-direction:column;align-items:center;gap:10px}.student-slot{width:200px;max-width:100%;flex:0 0 200px;justify-self:center}.play-zones[data-student-count="0"],.play-zones.play-zones--group-only{grid-template-columns:minmax(320px,560px);width:min(720px,100%);justify-content:center}.play-zones[data-student-count="0"] .group-slot,.play-zones.play-zones--group-only .group-slot{grid-column:1;justify-self:center;width:min(560px,100%);max-width:100%}.play-zones[data-student-count="3"]{grid-template-columns:minmax(150px,180px) minmax(320px,480px) repeat(2,minmax(150px,180px));gap:clamp(10px,1.2vw,16px);width:min(1360px,100%)}.play-zones[data-student-count="4"]{grid-template-columns:minmax(132px,158px) minmax(280px,420px) repeat(3,minmax(132px,158px));gap:clamp(8px,1vw,12px);width:min(1420px,100%)}.play-zones[data-student-count="3"] .student-slot,.play-zones[data-student-count="4"] .student-slot{width:100%;flex-basis:auto}.play-zones[data-student-count="3"] .zone-student,.play-zones[data-student-count="4"] .zone-student{width:100%;height:clamp(160px,22vh,190px)}.play-zones[data-student-count="3"] .student-meta,.play-zones[data-student-count="4"] .student-meta{gap:5px;padding:8px 9px;border-radius:14px;font-size:.76rem}.play-zones[data-student-count="3"] .student-name,.play-zones[data-student-count="4"] .student-name{font-size:.9rem}.group-slot{flex:1 1 auto;max-width:480px}.student-meta{position:relative;font-size:.85rem;color:var(--text);text-align:center;display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:16px;width:100%;min-width:0}.student-meta:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,#0c121de0,#101826a8);border:1px solid rgba(173,189,214,.16);backdrop-filter:blur(12px);box-shadow:0 18px 34px #0003;pointer-events:none;z-index:var(--layer-playfield)}.student-meta>*{position:relative;z-index:calc(var(--layer-playfield) + 1)}.student-name{font-weight:700;font-size:1rem;color:var(--text-bright);text-wrap:balance}.student-stats{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--stress)}.student-effects{color:var(--text-dim);font-size:.75rem}.zone .icon{font-size:1.4rem;margin-bottom:6px}.end-turn-btn{padding:12px 20px;font-weight:800;font-size:1rem;letter-spacing:.04em;color:#1b0f03;background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;border-radius:14px;box-shadow:0 10px 26px #00000059,0 0 10px #fbbf2447;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.end-turn-btn--pending{background:#e5e7eb;color:#6b7280;box-shadow:0 4px 10px #00000024;border:1px solid #d1d5db;transform:translateY(1px)}.end-turn-btn--pending:hover{transform:translateY(0);box-shadow:0 6px 12px #0000002e}.end-turn-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 16px 40px #00000073,0 0 16px #fbbf2459}.end-turn-btn.end-turn-btn--pending:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0003}.end-turn-btn:active{transform:translateY(0) scale(.98)}.end-turn-btn:focus-visible{outline:3px solid rgba(251,191,36,.8);outline-offset:3px}.end-turn-btn--confirm{filter:brightness(.96);box-shadow:0 6px 18px #0000004d,0 0 12px #fbbf2473}.ghost-btn{position:absolute;left:22px;bottom:24px;padding:10px 14px;font-weight:700;font-size:.9rem;color:var(--text);background:#ffffff0f;border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;z-index:calc(var(--layer-hud) + 50)}.ghost-btn:hover{transform:translateY(-2px);background:#ffffff1f}#hand-overlay{position:fixed;left:0;right:0;bottom:0;z-index:var(--layer-card-hand);pointer-events:none;display:flex;align-items:flex-end;justify-content:center;overflow:visible;padding:0 18px 12px}.hand-area{width:100%;height:auto;min-height:0;max-height:none;display:flex;align-items:flex-end;justify-content:center;overflow:visible;background:transparent;border-top:none;box-shadow:none}.ghost-btn:focus-visible{outline:3px solid rgba(56,189,248,.8);outline-offset:3px}#hand{position:relative;width:min(1260px,100%);height:auto;min-height:380px;padding-bottom:0;overflow-x:visible;overflow-y:visible;margin:0 auto;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;z-index:var(--layer-card-hand);overscroll-behavior-x:contain;overscroll-behavior-y:none;touch-action:pan-x}#hand.hand--row{display:flex;align-items:flex-end;justify-content:center;gap:max(var(--hand-gap, 16px),0px);padding:0 8px 12px;overflow-x:hidden;overflow-y:visible;transform:scaleX(var(--hand-scale-x, 1));transform-origin:center}#hand.hand--row .card{position:relative;left:auto;bottom:auto;transform:translateY(0);transform-origin:center bottom}#hand.hand--row .card:not(:first-child){margin-left:min(var(--hand-gap, 0px),0px)}#hand .card{pointer-events:auto}#hand::-webkit-scrollbar{height:10px}#hand::-webkit-scrollbar:vertical{width:0}#hand::-webkit-scrollbar-thumb:vertical{background:transparent}#hand::-webkit-scrollbar-corner{background:transparent}#hand:before{display:none}.log,#deck-list,#discard-list{display:none}body.debug-ui .log,body.debug-ui #deck-list,body.debug-ui #discard-list{display:block;position:fixed;right:16px;width:320px;background:#0f172ae6;border:1px solid rgba(148,163,184,.25);box-shadow:0 20px 50px #00000073;z-index:calc(var(--layer-hud) + 50)}body.debug-ui #deck-list{top:120px;max-height:26vh}body.debug-ui #discard-list{top:120px;right:348px;max-height:26vh}body.debug-ui .log{bottom:120px;max-height:30vh}@keyframes pulse-glow{0%,to{box-shadow:0 0 24px #ffb84f33}50%{box-shadow:0 0 40px #ffb84f66}}.difficulty-wrap{animation:pulse-glow 2.6s ease-in-out infinite}.dropzone.drag-over{animation:zone-pop .25s ease}@keyframes zone-pop{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.02)}to{transform:translateY(-2px) scale(1.01)}}@keyframes drop-flash{0%{box-shadow:0 0 #22c55e00}50%{box-shadow:0 0 26px #22c55e73,inset 0 0 0 2px #22c55e99}to{box-shadow:0 0 #22c55e00}}@media(max-height:820px)and (min-width:1025px){#hand{min-height:240px}.play-zones[data-student-count="3"],.play-zones[data-student-count="4"]{align-self:start;gap:clamp(8px,1vw,12px)}.play-zones[data-student-count="3"] .zone-group,.play-zones[data-student-count="4"] .zone-group{height:clamp(150px,21vh,176px)}.play-zones[data-student-count="3"] .zone-student,.play-zones[data-student-count="4"] .zone-student{height:clamp(130px,19vh,158px)}.play-zones[data-student-count="3"] .student-meta,.play-zones[data-student-count="4"] .student-meta{gap:4px;padding:6px 8px;font-size:.68rem}.play-zones[data-student-count="3"] .student-name,.play-zones[data-student-count="4"] .student-name{font-size:.82rem}.play-zones[data-student-count="3"] .student-stats,.play-zones[data-student-count="4"] .student-stats{gap:5px;font-size:.68rem}.play-zones[data-student-count="3"] .student-hp,.play-zones[data-student-count="4"] .student-hp{min-width:34px;font-size:.68rem}.play-zones[data-student-count="3"] .student-effects,.play-zones[data-student-count="4"] .student-effects{max-height:32px;overflow:hidden;gap:4px;margin-top:2px}.play-zones[data-student-count="3"] .student-effect-summary,.play-zones[data-student-count="4"] .student-effect-summary{max-height:22px;overflow:hidden;margin-top:2px}.play-zones[data-student-count="3"] .student-effect-summary__item,.play-zones[data-student-count="4"] .student-effect-summary__item{min-height:18px;padding:2px 6px;font-size:.56rem}.play-zones[data-student-count="3"] .group-meta,.play-zones[data-student-count="4"] .group-meta{padding:8px 10px;row-gap:5px}.play-zones[data-student-count="3"] .group-meta__row,.play-zones[data-student-count="4"] .group-meta__row{padding:6px 8px}}.stat-chip .icon,.deck-chip .icon{position:relative;width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.icon-themed{width:100%;height:100%;object-fit:contain;display:block}.icon-fallback{display:none;width:100%;height:100%;align-items:center;justify-content:center;font-size:1rem;background:var(--surface);border-radius:6px}.stat-chip.energy .icon{background:var(--energy)}.stat-chip.stress .icon{background:var(--stress)}.stat-chip.confidence .icon{background:var(--confidence)}.stat-chip.motivation .icon{background:var(--motivation)}.stat-chip.appui .icon{background:#22d3ee}.stat-chip.artefact .icon{background:#93c5fd}.deck-chip .icon{background:#ffffff1a}[data-tooltip]{cursor:help}.tooltip{position:fixed;z-index:calc(var(--layer-toast) + 500);max-width:320px;padding:14px 16px;background:#12121af5;border:1px solid var(--border);border-radius:12px;backdrop-filter:blur(16px);box-shadow:0 12px 40px #00000080,0 0 0 1px #ffffff0d;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease}.tooltip.visible{opacity:1;transform:translateY(0)}.tooltip-inner{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.tooltip-icon{width:54px;height:54px;border-radius:14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;overflow:hidden}.tooltip-icon-img{width:100%;height:100%;object-fit:contain;display:block}.tooltip-icon-fallback{display:none;width:100%;height:100%;align-items:center;justify-content:center;font-size:1.4rem}.tooltip-text{min-width:160px}.tooltip-title{font-family:Bebas Neue,sans-serif;font-size:1.1rem;letter-spacing:.08em;color:var(--text-bright);margin-bottom:6px}.tooltip-desc{font-size:.9rem;line-height:1.5;color:var(--text-dim);white-space:pre-line}.stat-chip.energy:hover~.tooltip .tooltip-title,[data-icon=energy]~.tooltip-title{color:var(--energy)}.stat-chip.stress:hover~.tooltip .tooltip-title{color:var(--stress)}.stat-chip.confidence:hover~.tooltip .tooltip-title{color:var(--confidence)}.stat-chip.motivation:hover~.tooltip .tooltip-title{color:var(--motivation)}.deck-chip{pointer-events:auto;appearance:none;min-width:110px;padding:12px 14px;min-height:104px;border-radius:12px;background:var(--surface);border:1px solid var(--border);backdrop-filter:blur(10px);text-align:center;box-shadow:0 6px 18px #00000040;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:help;position:relative;font:inherit;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.deck-chip:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000059}.deck-chip:focus-visible{outline:3px solid rgba(56,189,248,.8);outline-offset:3px}.deck-chip .value{font-family:JetBrains Mono,monospace;font-size:1.2rem;color:var(--text)}.deck-chip--icon-only{gap:0;justify-content:center}.deck-chip--icon-only .icon{width:64px;height:64px;border-radius:16px}.deck-chip--carnet{cursor:pointer;background:linear-gradient(135deg,#fbbf2426,#f59e0b1a);border-color:#fbbf2459}.deck-chip--carnet:hover{background:linear-gradient(135deg,#fbbf2440,#f59e0b2e);border-color:#fbbf2480;box-shadow:0 8px 24px #fbbf2433}.notif-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#f97316;color:#0f172a;border:2px solid var(--surface);font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:700;display:none;align-items:center;justify-content:center;box-shadow:0 0 0 2px #00000040}.deck-chip--carnet .label{color:#fbbf24}@media(max-width:1100px){.deck-info{flex-wrap:wrap;justify-content:flex-start}.prof-portrait{width:120px;height:120px}.play-zones{grid-template-columns:minmax(160px,1fr) minmax(260px,1fr) minmax(160px,1fr);gap:16px}}@media(max-width:1024px){.play-zones{grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;width:min(960px,96%)}.group-slot{grid-column:1 / -1;justify-self:center;width:min(100%,640px);max-width:640px}.student-slot{justify-self:center;width:min(100%,260px);max-width:260px}.student-slot .zone-student{width:100%}}@media(max-height:820px){.game-scene{grid-template-rows:minmax(110px,auto) minmax(0,1fr)}}@media(max-width:720px){.play-zones{grid-template-columns:minmax(0,1fr);gap:12px;width:min(560px,96%)}.group-slot,.student-slot{grid-column:auto;justify-self:center;width:min(100%,360px);max-width:360px}.zone-student,.zone-group{width:100%}#hand{min-height:320px}}@media(max-height:760px){#hand{min-height:270px}}.hud-echec{display:inline-flex;align-items:flex-start;gap:12px;margin-top:4px;padding:12px 16px;border-radius:16px;background:#0f172a73;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 30px #0006;color:#fff;transition:all .4s cubic-bezier(.23,1,.32,1);max-width:480px}.hud-echec__label{text-transform:uppercase;font-weight:800;color:#94a3b8;font-size:.7rem;display:inline-flex;align-items:center;gap:6px;margin-top:4px}.hud-echec__label:before{content:"\26a0\fe0f";font-size:.85rem}.hud-echec__pill{display:flex;flex-direction:column;gap:8px;flex:1}.hud-echec--sev-1{border-color:#fbbf244d;background:#fbbf2414}.hud-echec--sev-2{border-color:#f9731666;background:#f973161f}.hud-echec--sev-3{border-color:#ef444480;background:#ef444426;animation:hud-flash-danger 2s infinite ease-in-out}@keyframes hud-flash-danger{0%{box-shadow:0 10px 30px #0006,0 0 #ef444400}50%{box-shadow:0 10px 30px #0006,0 0 20px #ef44444d;border-color:#ef4444cc}to{box-shadow:0 10px 30px #0006,0 0 #ef444400}}.hud-echec__line{display:flex;align-items:center;gap:10px;line-height:1.4}.hud-echec__line--title{justify-content:space-between;margin-bottom:2px}.hud-echec__title-wrap{display:inline-flex;align-items:center;gap:8px;min-width:0}.hud-echec__title-icon{width:16px;height:16px;object-fit:contain;flex:0 0 auto}.hud-echec__title{font-family:Space Grotesk,sans-serif;font-weight:800;font-size:1.1rem;letter-spacing:-.01em}.hud-echec__severity{font-family:JetBrains Mono,monospace;font-size:.8rem;background:#00000040;padding:2px 8px;border-radius:6px;color:#94a3b8}.hud-echec--sev-3 .hud-echec__severity{color:#fca5a5;background:#ef444433}.hud-echec__reason{font-size:.9rem;color:#ffffffb3;font-style:italic}.hud-echec__impact{font-size:.95rem;background:#00000026;padding:6px 10px;border-radius:8px}.hud-echec__remediation{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.hud-echec__remediation-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff6}.hud-echec__tags-list{display:flex;gap:6px;flex-wrap:wrap}.hud-echec__tag{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#ffffff80;transition:all .2s ease}.hud-echec__tag--in-hand{background:#38bdf826;border-color:#38bdf84d;color:#7dd3fc;box-shadow:0 0 10px #38bdf833}.hud-echec__status{padding:2px 8px;border-radius:6px;background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3);font-size:.7rem;font-weight:800;text-transform:uppercase}.hud-echec--mitigated{border-color:#22c55e4d}.hud-echec__axes{display:grid;gap:7px;margin-top:2px;padding:8px 10px;border-radius:10px;background:#0f172a47;border:1px solid rgba(255,255,255,.08)}.hud-echec__axes-title{color:#e2e8f09e;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.hud-echec__axis{display:grid;grid-template-columns:minmax(96px,1fr) auto minmax(58px,auto);gap:8px;align-items:center;min-width:0;color:#e2e8f0a8;font-size:.78rem}.hud-echec__axis--active{color:#f8fafcf5}.hud-echec__axis-label,.hud-echec__axis-debt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud-echec__axis-meter{display:inline-grid;grid-template-columns:repeat(3,16px);gap:4px}.hud-echec__axis-meter-segment{display:block;width:16px;height:8px;border-radius:999px;background:#94a3b838;border:1px solid rgba(255,255,255,.08)}.hud-echec__axis-meter-segment.is-active{background:#fbbf24ad;border-color:#fbbf24e0;box-shadow:0 0 10px #fbbf2433}.failure-active-tooltip{display:grid;gap:10px;white-space:normal;color:#dbe6f7;text-wrap:pretty}.tooltip.tooltip--failure{max-width:min(92vw,540px);padding:16px 18px;background:radial-gradient(110% 125% at 0% 0%,rgba(244,63,94,.24) 0%,transparent 56%),linear-gradient(156deg,#120d1ffa,#0a0c19fa 60%,#080b18f7);border-color:#f472b661;box-shadow:0 18px 48px #020617a8,0 0 0 1px #f472b642,0 0 26px #f43f5e2e}.tooltip.tooltip--failure.visible{animation:tooltip-failure-pop .22s cubic-bezier(.18,.82,.24,1)}.tooltip--failure .tooltip-inner{grid-template-columns:1fr;gap:0}.tooltip--failure .tooltip-icon{display:none}.tooltip--failure .tooltip-text{min-width:0}.tooltip--failure .tooltip-title{margin-bottom:10px;font-size:1.2rem;letter-spacing:.06em;color:#ffecf4f5;text-shadow:0 0 14px rgba(244,63,94,.28)}.tooltip--failure .tooltip-desc{white-space:normal;color:#e2e8f0f5}.failure-active-tooltip__summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 9px;border-radius:8px;border:1px solid rgba(244,114,182,.42);background:linear-gradient(125deg,#be185d66,#4c05198f)}.failure-active-tooltip__summary-main{color:#ffe4ec;font-size:.86rem;font-weight:700;letter-spacing:.02em}.failure-active-tooltip__summary-side{flex:0 0 auto;padding:2px 8px;border-radius:999px;border:1px solid rgba(251,191,36,.44);background:#78350f66;color:#fde68a;font-size:.7rem;font-weight:700}.failure-active-tooltip__metrics{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.failure-active-tooltip__metric{display:grid;gap:4px;padding:8px 9px;border-radius:8px;border:1px solid rgba(148,163,184,.24);background:#0f172a75}.failure-active-tooltip__metric-label{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#fcd34df0}.failure-active-tooltip__metric-value{color:#f8fafc;line-height:1.35;font-size:.82rem}.failure-active-tooltip__metric--now{border-color:#fbbf246b;background:linear-gradient(130deg,#78350f5c,#1e293b8f)}.failure-active-tooltip__metric--next{border-color:#f43f5e6b;background:linear-gradient(130deg,#88133761,#1e293b8f)}.failure-active-tooltip__decision{display:grid;gap:4px;padding:8px 9px;border-radius:8px;border:1px solid rgba(16,185,129,.42);background:linear-gradient(130deg,#064e3b6b,#0f172a8f)}.failure-active-tooltip__decision-label{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#a7f3d0f5}.failure-active-tooltip__decision-value{font-size:.9rem;line-height:1.35;color:#ecfdf5}.failure-active-tooltip__decision-state{justify-self:start;padding:2px 8px;border-radius:999px;border:1px solid rgba(148,163,184,.38);background:#0f172aa3;color:#dbeafe;font-size:.7rem;font-weight:700}.failure-active-tooltip__status{padding:6px 9px;border-radius:8px;border:1px solid rgba(52,211,153,.44);background:#064e3b61;color:#bbf7d0;font-size:.79rem;font-weight:600}.failure-active-tooltip__tags{display:grid;gap:6px}.failure-active-tooltip__tags-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#bac8dee6}.failure-active-tooltip__tags-list{display:flex;flex-wrap:wrap;gap:6px}.failure-active-tooltip__tag{padding:2px 8px;border-radius:999px;border:1px solid rgba(56,189,248,.42);background:#082f4985;color:#bae6fd;font-size:.74rem;font-weight:700}.failure-active-tooltip__tag--empty{border-color:#fb923c70;background:#78350f6b;color:#fed7aa}.failure-active-tooltip__recommended{padding:6px 9px;border-radius:8px;border:1px solid rgba(56,189,248,.4);background:#082f4957;color:#dbeafe;font-size:.82rem;line-height:1.35}.failure-active-tooltip__hint{color:#bfdbfee0;font-size:.72rem;line-height:1.35;text-align:right}@keyframes tooltip-failure-pop{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:760px){.tooltip.tooltip--failure{max-width:min(94vw,430px);padding:14px}.tooltip--failure .tooltip-title{font-size:1.08rem;margin-bottom:8px}.failure-active-tooltip__summary{flex-direction:column;align-items:flex-start}.failure-active-tooltip__metrics{grid-template-columns:1fr}}.tooltip.tooltip--session-objective{--session-objective-tooltip-accent: #34d399;max-width:min(92vw,520px);padding:16px 18px;background:radial-gradient(120% 120% at 4% 0%,color-mix(in srgb,var(--session-objective-tooltip-accent) 24%,transparent) 0%,transparent 58%),linear-gradient(156deg,#0c161cf7,#0a121bf7 58%,#080d18f5);border-color:color-mix(in srgb,var(--session-objective-tooltip-accent) 42%,rgba(148,163,184,.24));box-shadow:0 18px 46px #0206179e,0 0 0 1px color-mix(in srgb,var(--session-objective-tooltip-accent) 26%,transparent),0 0 26px color-mix(in srgb,var(--session-objective-tooltip-accent) 16%,transparent)}.tooltip.tooltip--session-objective.visible{animation:tooltip-profile-pop .22s cubic-bezier(.16,.85,.36,1)}.tooltip--session-objective .tooltip-inner{grid-template-columns:1fr;gap:0}.tooltip--session-objective .tooltip-icon{display:none}.tooltip--session-objective .tooltip-text{min-width:0}.tooltip--session-objective .tooltip-title{margin-bottom:10px;font-size:1.2rem;letter-spacing:.05em;color:color-mix(in srgb,var(--session-objective-tooltip-accent) 32%,#f8fafc);text-shadow:0 0 12px color-mix(in srgb,var(--session-objective-tooltip-accent) 22%,transparent)}.tooltip--session-objective .tooltip-desc{white-space:normal;color:#dbeafe}.session-objective-tooltip{display:grid;gap:10px;white-space:normal;color:#dbeafe;text-wrap:pretty}.session-objective-tooltip__summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-radius:8px;border:1px solid color-mix(in srgb,var(--session-objective-tooltip-accent) 45%,rgba(125,211,252,.35));background:linear-gradient(125deg,color-mix(in srgb,var(--session-objective-tooltip-accent) 30%,rgba(8,47,73,.48)),#0e213194)}.session-objective-tooltip__summary-main{color:#ecfeff;font-size:.85rem;font-weight:700;letter-spacing:.02em}.session-objective-tooltip__summary-side{flex:0 0 auto;padding:2px 8px;border-radius:999px;border:1px solid rgba(125,211,252,.45);background:#0c4a6e6b;color:#cffafe;font-size:.7rem;font-weight:700}.session-objective-tooltip__metrics{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.session-objective-tooltip--compact .session-objective-tooltip__metrics,.session-objective-tooltip--inspect .session-objective-tooltip__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.session-objective-tooltip__metric{display:grid;gap:4px;padding:8px 9px;border-radius:8px;border:1px solid rgba(148,163,184,.24);background:#0f172a70}.session-objective-tooltip__metric--difficulty{border-color:color-mix(in srgb,var(--session-objective-tooltip-accent) 42%,rgba(110,231,183,.32));background:linear-gradient(130deg,color-mix(in srgb,var(--session-objective-tooltip-accent) 22%,rgba(6,78,59,.3)),#0f172a8f)}.session-objective-tooltip__metric-label{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#a7f3d0f2}.session-objective-tooltip__metric-value{color:#f8fafc;line-height:1.35;font-size:.82rem}.session-objective-tooltip__focus{display:grid;gap:4px;padding:8px 9px;border-radius:8px;border:1px solid rgba(45,212,191,.42);background:linear-gradient(130deg,#0d383094,#0c182c94)}.session-objective-tooltip__focus-label{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#99f6e4}.session-objective-tooltip__focus-value{display:block;font-size:.88rem;line-height:1.35;color:#ecfeff}.session-objective-tooltip__inspect-hint{font-size:.72rem;letter-spacing:.02em;color:#99f6e4e6;border-top:1px dashed rgba(45,212,191,.35);padding-top:7px}.tooltip.tooltip--artefact{--artefact-tooltip-accent: #93c5fd;max-width:min(92vw,480px);padding:14px 16px;background:radial-gradient(120% 125% at 4% 0%,color-mix(in srgb,var(--artefact-tooltip-accent) 24%,transparent) 0%,transparent 58%),linear-gradient(156deg,#0f172afa,#0a1121f7 58%,#060c19f5);border-color:color-mix(in srgb,var(--artefact-tooltip-accent) 44%,rgba(148,163,184,.26));box-shadow:0 16px 44px #0206179e,0 0 0 1px color-mix(in srgb,var(--artefact-tooltip-accent) 24%,transparent),0 0 24px color-mix(in srgb,var(--artefact-tooltip-accent) 18%,transparent)}.tooltip.tooltip--artefact.visible{animation:tooltip-profile-pop .22s cubic-bezier(.16,.85,.36,1)}.tooltip--artefact .tooltip-inner{grid-template-columns:1fr;gap:0}.tooltip--artefact .tooltip-icon{display:none}.tooltip--artefact .tooltip-text{min-width:0}.tooltip--artefact .tooltip-title{display:none}.tooltip--artefact .tooltip-desc{white-space:normal;color:#e2e8f0f2}.artefact-tooltip{display:grid;gap:10px;white-space:normal;text-wrap:pretty}.artefact-tooltip__hero{display:grid;grid-template-columns:138px minmax(0,1fr);gap:12px;align-items:stretch}.artefact-tooltip__hero-media{border-radius:12px;border:1px solid color-mix(in srgb,var(--artefact-tooltip-accent) 55%,rgba(148,163,184,.24));background:radial-gradient(105% 125% at 14% 6%,color-mix(in srgb,var(--artefact-tooltip-accent) 30%,rgba(30,41,59,.46)),#0f172aeb 74%);padding:8px;display:grid;place-items:center;min-height:138px}.artefact-tooltip__hero-image{width:100%;height:120px;object-fit:contain;border-radius:10px;image-rendering:auto;filter:drop-shadow(0 6px 12px rgba(2,6,23,.5))}.artefact-tooltip__hero-content{display:grid;gap:8px;align-content:start}.artefact-tooltip__hero-row{display:grid;gap:4px;padding:8px 10px;border-radius:9px;border:1px solid rgba(148,163,184,.24);background:#0f172a80}.artefact-tooltip__hero-row--effects{border-color:color-mix(in srgb,var(--artefact-tooltip-accent) 44%,rgba(148,163,184,.24))}.artefact-tooltip__hero-label{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#bfdbfee6;font-weight:700}.artefact-tooltip__hero-value{font-size:.88rem;line-height:1.3;color:#eff6ff;font-weight:700}.artefact-tooltip__summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-radius:8px;border:1px solid color-mix(in srgb,var(--artefact-tooltip-accent) 42%,rgba(148,163,184,.28));background:linear-gradient(125deg,color-mix(in srgb,var(--artefact-tooltip-accent) 28%,rgba(30,41,59,.42)),#0f172a8a)}.artefact-tooltip__summary-main{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#bfdbfef2;font-weight:700}.artefact-tooltip__summary-side{font-size:.8rem;color:#f8fafc;font-weight:700}.artefact-tooltip__preview{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;align-items:stretch}.artefact-tooltip__preview-frame{border-radius:10px;border:1px solid color-mix(in srgb,var(--artefact-tooltip-accent) 48%,rgba(148,163,184,.24));background:radial-gradient(100% 120% at 16% 6%,color-mix(in srgb,var(--artefact-tooltip-accent) 26%,rgba(30,41,59,.42)),#0f172ae6 72%);padding:6px;display:grid;place-items:center;min-height:88px}.artefact-tooltip__preview-image{width:100%;height:74px;object-fit:contain;border-radius:8px;image-rendering:auto;filter:drop-shadow(0 4px 8px rgba(2,6,23,.45))}.artefact-tooltip__preview-copy{display:grid;gap:5px;align-content:center;padding:7px 9px;border-radius:8px;border:1px solid rgba(148,163,184,.22);background:#0f172a73}.artefact-tooltip__preview-kicker{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#bfdbfee6;font-weight:700}.artefact-tooltip__preview-effect{font-size:.81rem;line-height:1.35;color:#eff6ff;font-weight:700}.artefact-tooltip__description{font-size:.88rem;line-height:1.4;color:#eff6fff2}.artefact-tooltip__flavor{font-size:.79rem;line-height:1.4;color:#bfdbfee0;border-left:2px solid rgba(125,211,252,.45);padding-left:8px}.artefact-tooltip__effects{list-style:none;margin:0;padding:0;display:grid;gap:6px}.artefact-tooltip__effect{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px;border-radius:7px;border:1px solid rgba(148,163,184,.24);background:#0f172a80}.artefact-tooltip__effect-label{font-size:.76rem;color:#e2e8f0eb}.artefact-tooltip__effect-value{font-size:.78rem;font-weight:700;color:#dbeafe;font-family:JetBrains Mono,monospace}.artefact-overflow-tooltip{display:grid;gap:8px;min-width:min(280px,80vw)}.artefact-overflow-tooltip__summary{font-weight:900;color:var(--text-bright)}.artefact-overflow-tooltip__item{display:grid;gap:3px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--artefact-tooltip-accent) 36%,rgba(148,163,184,.24));border-radius:8px;background:#0f172a85}.artefact-overflow-tooltip__name{font-weight:850;color:var(--text-bright)}.artefact-overflow-tooltip__effect{font-size:.82rem;line-height:1.25;color:#e2e8f0d1}.tooltip.tooltip--profile{--profile-tooltip-accent: #60a5fa;max-width:min(92vw,720px);padding:16px 18px;background:radial-gradient(120% 120% at 4% 0%,color-mix(in srgb,var(--profile-tooltip-accent) 22%,transparent) 0%,transparent 52%),linear-gradient(156deg,#101727f7,#0a0e1cf7 58%,#080c17f5);border-color:color-mix(in srgb,var(--profile-tooltip-accent) 38%,rgba(148,163,184,.24));box-shadow:0 18px 46px #0206179e,0 0 0 1px color-mix(in srgb,var(--profile-tooltip-accent) 28%,transparent),0 0 28px color-mix(in srgb,var(--profile-tooltip-accent) 18%,transparent);overflow:hidden}.tooltip.tooltip--profile:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:2px;background:linear-gradient(90deg,color-mix(in srgb,var(--profile-tooltip-accent) 80%,white) 0%,transparent 100%)}.tooltip.tooltip--profile.visible{animation:tooltip-profile-pop .22s cubic-bezier(.16,.85,.36,1)}.tooltip--profile .tooltip-inner{grid-template-columns:1fr;gap:0}.tooltip--profile .tooltip-text{min-width:0}.tooltip--profile .tooltip-title{margin-bottom:10px;font-size:1.2rem;letter-spacing:.05em;color:color-mix(in srgb,var(--profile-tooltip-accent) 26%,#f8fafc);text-shadow:0 0 12px color-mix(in srgb,var(--profile-tooltip-accent) 22%,transparent)}.tooltip--profile .tooltip-desc{white-space:normal;color:#dbe4ff}.profile-tooltip{display:grid;gap:10px}.profile-tooltip--compact{gap:8px}.profile-tooltip__hero{display:grid;grid-template-columns:168px minmax(0,1fr);gap:16px;align-items:stretch}.profile-tooltip__hero-copy{min-width:0;display:grid;gap:8px;align-content:start}.profile-tooltip__portrait{aspect-ratio:4 / 5;min-height:0;height:auto;display:grid;place-items:end center;overflow:hidden;border-radius:14px;border:1px solid color-mix(in srgb,var(--profile-tooltip-accent) 44%,rgba(148,163,184,.22));background:radial-gradient(100% 110% at 50% 8%,color-mix(in srgb,var(--profile-tooltip-accent) 22%,rgba(30,41,59,.52)) 0%,transparent 58%),linear-gradient(180deg,#1e293bad,#0f172aeb);box-shadow:inset 0 0 0 1px #ffffff0d,0 12px 26px #02061747}.profile-tooltip__hero-image{width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:drop-shadow(0 10px 18px rgba(2,6,23,.42))}.profile-tooltip__special{display:grid;gap:3px;padding:9px 11px;border-radius:10px;border:1px solid color-mix(in srgb,var(--profile-tooltip-accent) 34%,transparent);background:linear-gradient(120deg,color-mix(in srgb,var(--profile-tooltip-accent) 20%,transparent) 0%,transparent 85%),#1e293b61}.profile-tooltip__special-name{font-size:.86rem;font-weight:700;letter-spacing:.02em;color:color-mix(in srgb,var(--profile-tooltip-accent) 42%,#f8fafc)}.profile-tooltip__special-desc{font-size:.82rem;line-height:1.4;color:#e2e8f0e0}.profile-tooltip__description{font-size:.88rem;line-height:1.45;color:#e2e8f0eb;text-wrap:pretty}.profile-tooltip__inspect-hint{font-size:.72rem;letter-spacing:.02em;color:#bfdbfee0;border-top:1px dashed rgba(148,163,184,.35);padding-top:7px}.profile-tooltip__section{display:grid;gap:8px}.profile-tooltip__section-title{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--profile-tooltip-accent) 32%,rgba(226,232,240,.92))}.profile-tooltip__mods{list-style:none;margin:0;padding:0;display:grid;gap:7px}.profile-tooltip__mod{display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;padding:7px 9px;border-radius:9px;border:1px solid rgba(148,163,184,.2);background:linear-gradient(140deg,#1e293b99,#0f172a8f);transition:transform .14s ease,border-color .14s ease,background .14s ease}.tooltip--profile.visible .profile-tooltip__mod{animation:tooltip-mod-enter .23s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--mod-index, 0) * 30ms)}.profile-tooltip__mod:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--profile-tooltip-accent) 38%,rgba(148,163,184,.22));background:linear-gradient(140deg,#334155a3,#0f172a9e)}.profile-tooltip__mod-icon{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:#ffffff0d}.profile-tooltip__mod-icon img{width:18px;height:18px;object-fit:contain;filter:drop-shadow(0 1px 3px rgba(2,6,23,.5))}.profile-tooltip__mod-label{font-size:.82rem;color:#e2e8f0eb}.profile-tooltip__mod-value{font-size:.83rem;font-weight:700;color:#f8fafc}.profile-tooltip__mod--positive .profile-tooltip__mod-value{color:#86efac}.profile-tooltip__mod--negative .profile-tooltip__mod-value{color:#fda4af}.profile-tooltip__mod--neutral .profile-tooltip__mod-value{color:#bfdbfe}.profile-tooltip__cards{list-style:none;margin:0;padding:0;display:grid;gap:4px}.profile-tooltip__cards li{position:relative;padding-left:12px;font-size:.8rem;line-height:1.35;color:#e2e8f0e0;text-wrap:pretty}.profile-tooltip__card-line{display:block;line-height:1.3}.profile-tooltip__card-main{font-size:.82rem;font-weight:700;color:color-mix(in srgb,var(--profile-tooltip-accent) 28%,#f8fafc);display:inline}.profile-tooltip__card-note{font-size:.74rem;color:#bfdbfedb;display:inline;margin-left:.25rem}.profile-tooltip__cards li:before{content:"\2022";position:absolute;left:0;top:0;color:color-mix(in srgb,var(--profile-tooltip-accent) 70%,#bfdbfe)}@keyframes tooltip-profile-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tooltip-mod-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.tooltip.tooltip--artefact{max-width:min(94vw,340px);padding:12px}.artefact-tooltip__summary{flex-direction:column;align-items:flex-start}.artefact-tooltip__hero{grid-template-columns:94px minmax(0,1fr);gap:9px}.artefact-tooltip__hero-media{min-height:94px;padding:6px}.artefact-tooltip__hero-image{height:84px}.artefact-tooltip__preview{grid-template-columns:70px minmax(0,1fr)}.artefact-tooltip__preview-frame{min-height:70px;padding:5px}.artefact-tooltip__preview-image{height:60px}.tooltip.tooltip--profile{max-width:min(92vw,360px);padding:14px}.tooltip--profile .tooltip-title{font-size:1.05rem;margin-bottom:8px}.profile-tooltip{gap:8px}.profile-tooltip__hero{grid-template-columns:96px minmax(0,1fr);gap:9px}.profile-tooltip__portrait{border-radius:12px}.profile-tooltip__mod{grid-template-columns:22px 1fr auto;gap:7px;padding:6px 8px}.profile-tooltip__mod-icon{width:22px;height:22px}.profile-tooltip__mod-icon img{width:15px;height:15px}.profile-tooltip__mod-label{font-size:.77rem}.profile-tooltip__mod-value{font-size:.78rem}}.session-end-modal[hidden],.session-end-card [hidden]{display:none}.session-end-modal{position:fixed;inset:0;display:grid;place-items:center;padding:clamp(10px,2.6vw,28px);overflow-x:hidden;overflow-y:auto;z-index:var(--layer-overlay-global);--session-state: #7dd3fc;--session-state-soft: rgba(125, 211, 252, .2)}.session-end-modal.is-win{--session-state: #4ade80;--session-state-soft: rgba(74, 222, 128, .22)}.session-end-modal.is-lose{--session-state: #fb7185;--session-state-soft: rgba(251, 113, 133, .2)}.session-end-modal.is-stress{--session-state: #f59e0b;--session-state-soft: rgba(245, 158, 11, .22)}.session-end-modal:not([hidden]) .session-end-backdrop{animation:session-end-backdrop-in .22s ease both}.session-end-modal:not([hidden]) .session-end-card{animation:session-end-card-in .28s cubic-bezier(.2,.82,.24,1) both}.session-end-modal:not([hidden]) .session-end-portrait img{animation:session-end-fade-up .32s cubic-bezier(.2,.82,.24,1) 50ms both}.session-end-modal:not([hidden]) .session-end-header{animation:session-end-fade-up .26s ease 90ms both}.session-end-modal:not([hidden]) .session-end-flow{animation:session-end-fade-up .26s ease .11s both}.session-end-modal:not([hidden]) .session-end-summary{animation:session-end-fade-up .26s ease .13s both}.session-end-modal:not([hidden]) .session-end-profile-xp,.session-end-modal:not([hidden]) .session-end-glance{animation:session-end-fade-up .26s ease .17s both}.session-end-modal:not([hidden]) .session-end-details{animation:session-end-fade-up .26s ease .2s both}.session-end-modal:not([hidden]) .session-end-rewards,.session-end-modal:not([hidden]) .session-end-actions{animation:session-end-fade-up .26s ease .24s both}.session-end-backdrop{position:absolute;inset:0;background:#05080ec7;backdrop-filter:blur(6px)}.session-end-card{position:relative;z-index:calc(var(--layer-overlay-global) + 1);width:min(1040px,100%);max-height:min(90vh,860px);display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;background:linear-gradient(160deg,#121828fa,#090c15fa);border:1px solid color-mix(in srgb,var(--session-state) 30%,var(--border));box-shadow:0 28px 70px #0000008c;border-radius:22px;overflow:hidden}.session-end-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--session-state),transparent 88%);z-index:calc(var(--layer-overlay-global) + 1)}.session-end-portrait{position:relative;min-height:100%;background:radial-gradient(circle at 50% 20%,var(--session-state-soft),transparent 55%),linear-gradient(180deg,#ffffff0a,#ffffff03);padding:14px}.session-end-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.4));pointer-events:none}.session-end-portrait img{width:100%;height:auto;aspect-ratio:1 / 1;object-fit:contain;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#00000047;box-shadow:0 18px 34px #0000005c}.session-end-content{display:flex;flex-direction:column;gap:14px;padding:22px;min-width:0;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.session-end-header{display:flex;flex-direction:column;gap:8px}.session-end-flow{display:flex;align-items:center;gap:8px}.session-end-flow__step{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--session-state) 40%,rgba(255,255,255,.16));background:color-mix(in srgb,var(--session-state-soft) 52%,transparent);color:color-mix(in srgb,var(--text-bright) 85%,var(--session-state));font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.session-end-flow__label{font-size:.84rem;color:color-mix(in srgb,var(--text) 78%,#9ca3af)}.session-end-stage{display:flex;flex-direction:column;gap:12px}.session-end-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--session-state) 42%,transparent);background:color-mix(in srgb,var(--session-state-soft) 60%,transparent);color:color-mix(in srgb,var(--session-state) 85%,#e2e8f0);font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.session-end-content h2{margin:0;font-size:clamp(1.35rem,2.1vw,1.75rem);line-height:1.1}.session-end-content p{margin:0;color:color-mix(in srgb,var(--text) 76%,#94a3b8);line-height:1.45}.session-end-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.session-end-kpi{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:9px 10px;display:flex;flex-direction:column;gap:4px}.session-end-kpi__label{font-size:.74rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.session-end-kpi__value{font-size:1rem;color:var(--text-bright);font-weight:700;line-height:1.2}.session-end-kpi--secondary{background:#ffffff05;border-color:#ffffff0f}.session-end-kpi--secondary .session-end-kpi__label{color:color-mix(in srgb,var(--text-dim) 75%,#94a3b8)}.session-end-kpi--secondary .session-end-kpi__value{font-size:.92rem}.session-end-kpi--rank{border-color:color-mix(in srgb,#fbbf24 32%,rgba(255,255,255,.12));background:linear-gradient(135deg,#fbbf2414,#f59e0b0a)}.session-end-kpi--rank .session-end-kpi__label{color:color-mix(in srgb,var(--text-dim) 68%,#fcd34d)}.session-end-kpi--rank .session-end-kpi__value{color:#fcd34d;font-size:1rem}.session-end-kpi--rank.is-revealed{animation:session-end-fade-up .32s cubic-bezier(.2,.82,.24,1) both}.session-end-profile-xp{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 12px;border-radius:11px;border:1px solid color-mix(in srgb,var(--session-state) 24%,rgba(251,191,36,.28));background:linear-gradient(100deg,color-mix(in srgb,var(--session-state-soft) 46%,rgba(255,255,255,.015)),#fbbf241a)}.session-end-profile-xp__label{font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb,var(--text) 76%,#fcd34d)}.session-end-profile-xp__value{font-size:1rem;font-weight:800;color:color-mix(in srgb,var(--text-bright) 84%,#fde68a)}.session-end-glance{margin:0;padding:8px 10px;border-radius:10px;border:1px solid color-mix(in srgb,var(--session-state) 20%,rgba(255,255,255,.1));background:color-mix(in srgb,var(--session-state-soft) 30%,rgba(255,255,255,.015));color:color-mix(in srgb,var(--text) 78%,#cbd5e1);font-size:.84rem;line-height:1.45}.session-end-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.session-end-section{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px}.session-end-section__title{font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb,var(--text) 76%,#9ca3af);margin-bottom:6px}.session-end-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;min-height:32px;max-height:140px;overflow:auto;scrollbar-width:thin}.session-end-list li{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:6px 8px;font-size:.84rem;line-height:1.35;overflow-wrap:anywhere;word-break:normal}.session-end-list li.empty{opacity:.75;font-style:italic}.session-end-profile-intel{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--session-state) 26%,rgba(255,255,255,.12));background:linear-gradient(180deg,color-mix(in srgb,var(--session-state-soft) 78%,rgba(255,255,255,.01)),#ffffff05)}.session-end-profile-intel__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.session-end-profile-intel__item{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a}.session-end-profile-intel__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.session-end-profile-intel__profile{font-size:.88rem;font-weight:700;color:var(--text-bright)}.session-end-profile-intel__gain{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb,var(--session-state) 72%,#bfdbfe)}.session-end-profile-intel__progress{font-size:.81rem;color:var(--text);line-height:1.35;overflow-wrap:anywhere;word-break:normal}.session-end-profile-intel__meter{display:flex;flex-direction:column;gap:4px;margin-top:2px}.session-end-profile-intel__meter-track{position:relative;height:10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#0f172a8c;overflow:hidden;isolation:isolate}.session-end-profile-intel__meter-track:after{content:"";position:absolute;inset:-3px auto -3px -20%;width:18%;transform:skew(-18deg);background:linear-gradient(90deg,#fff0,#ffffff73,#fff0);opacity:0;pointer-events:none;z-index:calc(var(--layer-overlay-global) + 4)}.session-end-profile-intel__meter-fill{position:absolute;inset:0 auto 0 0;width:var(--intel-progress-from, 0%);border-radius:999px;background:linear-gradient(90deg,#38bdf88c,#4ade80b3);transition:width .62s cubic-bezier(.2,.82,.24,1)}.session-end-profile-intel__meter-gain{position:absolute;inset:0 auto 0 var(--intel-progress-from, 0%);width:0%;border-radius:999px;background:linear-gradient(90deg,#facc15f2,#f97316f2);box-shadow:0 0 12px #facc1599;opacity:0;transition:width .62s cubic-bezier(.2,.82,.24,1),opacity .24s ease}.session-end-profile-intel__item.is-animated .session-end-profile-intel__meter-fill{width:var(--intel-progress-to, 0%)}.session-end-profile-intel__item.is-animated .session-end-profile-intel__meter-gain{width:var(--intel-progress-gain, 0%);opacity:1;animation:session-end-gain-pulse .76s ease-out both}.session-end-profile-intel__item.is-animated .session-end-profile-intel__meter-track:after{animation:session-end-meter-scan .76s cubic-bezier(.2,.82,.24,1) both}.session-end-profile-intel__meter-target{position:absolute;top:-1px;bottom:-1px;left:var(--intel-target, 100%);width:2px;transform:translate(-50%);border-radius:999px;background:#fcd34df2;box-shadow:0 0 10px #fcd34d8c}.session-end-profile-intel__meter-target.is-complete{background:#4ade80f2;box-shadow:0 0 10px #4ade808c}.session-end-profile-intel__item.is-animated .session-end-profile-intel__meter-target:not(.is-complete){animation:session-end-target-pop .56s ease-out both}.session-end-profile-intel__meter-label{font-size:.74rem;color:color-mix(in srgb,var(--text) 78%,#93c5fd);letter-spacing:.02em}.session-end-profile-intel__source{font-size:.76rem;color:var(--text-dim);overflow-wrap:anywhere;word-break:normal}.session-end-details{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:8px 10px}.session-end-details--pedagogy{border-color:color-mix(in srgb,var(--session-state) 24%,rgba(255,255,255,.12));background:color-mix(in srgb,var(--session-state-soft) 34%,rgba(255,255,255,.02))}.session-end-details--pedagogy .session-end-sections{margin-top:10px}.session-end-details summary{cursor:pointer;list-style:none;font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb,var(--text) 74%,#9ca3af)}.session-end-details summary::-webkit-details-marker{display:none}.session-end-details summary:after{content:"\25be";margin-left:8px;color:var(--session-state)}.session-end-details[open] summary:after{content:"\25b4"}.session-end-runinfo{margin-top:10px;padding:0;border:none;background:transparent}.session-end-runinfo__list{margin:0;display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr);gap:6px 10px;font-size:.82rem}.session-end-runinfo__list dt{font-weight:600;color:var(--text)}.session-end-runinfo__list dd{margin:0;color:var(--text-dim);overflow-wrap:anywhere;word-break:normal}.session-end-copy-seed{margin-top:8px;width:auto;min-width:160px;max-width:240px;justify-content:center}.session-end-rewards{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--session-state) 30%,rgba(255,255,255,.12));background:linear-gradient(180deg,var(--session-state-soft),rgba(255,255,255,.02))}.session-end-rewards.is-awaiting-choice{border-color:color-mix(in srgb,#fbbf24 58%,rgba(255,255,255,.16));box-shadow:0 0 0 1px #fbbf2438,0 10px 26px #fbbf242e}.session-end-rewards.is-attention{animation:session-end-required-pulse .76s ease-out both}.session-end-rewards__title{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text);font-weight:700}.session-end-rewards__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.session-end-reward-hint{margin:2px 0 0;font-size:.8rem;font-weight:600;color:color-mix(in srgb,var(--text) 78%,#fbbf24);letter-spacing:.01em}.session-end-reward-hint.is-visible{display:block}.session-end-reward-hint.is-flash{animation:session-end-hint-flash .65s ease-out both}.session-end-reward-btn{width:100%;justify-content:center;min-height:42px;padding:10px 12px;font-size:.88rem;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.session-end-reward-btn:not(:disabled):hover{transform:translateY(-1px);filter:saturate(1.08)}.session-end-reward-btn:disabled{opacity:.75;cursor:default}.session-end-reward-btn.selected{border-color:var(--accent, #4ade80);background:#4ade801f}.session-end-reward-btn.is-attention:not(:disabled){animation:session-end-button-nudge .62s ease-out both}.session-end-card-selector{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.95fr);gap:14px;align-items:start}.session-end-card-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.session-end-card-option{width:100%;padding:0;border-radius:18px;border:1px solid rgba(148,163,184,.24);background:radial-gradient(circle at top,rgba(74,222,128,.08),transparent 54%),linear-gradient(180deg,#0f172af5,#070c16fa);text-align:left;overflow:hidden;box-shadow:0 14px 34px #0206174d;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.session-end-card-option:not(:disabled):hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent, #4ade80) 42%,rgba(255,255,255,.16));box-shadow:0 18px 40px #0206176b}.session-end-card-option:disabled{cursor:default}.session-end-card-option__frame{display:flex;flex-direction:column;min-height:100%}.session-end-card-option__art,.session-end-card-preview__visual{position:relative;display:block;overflow:hidden;background:linear-gradient(180deg,#0f172a5c,#020617b3),#0f172a}.session-end-card-option__art{aspect-ratio:.62;min-height:230px;padding:8px}.session-end-card-option__art .card__img,.session-end-card-preview__visual .card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.session-end-card-option__art .session-end-card-shell,.session-end-card-preview__visual .session-end-card-shell{position:relative;left:auto;bottom:auto;width:100%;height:100%;transform:none;transform-origin:center;animation:none;transition:none;cursor:default;pointer-events:none;z-index:auto;--ty-base: 0px;--hover-lift: 0px;--hover-scale: 1;--select-lift: 0px}.session-end-card-option__art .session-end-card-shell:before,.session-end-card-preview__visual .session-end-card-shell:before,.session-end-card-option__art .session-end-card-shell .card__inspect-btn,.session-end-card-preview__visual .session-end-card-shell .card__inspect-btn{display:none}.session-end-card-option__art .session-end-card-shell:hover .cardInner,.session-end-card-preview__visual .session-end-card-shell:hover .cardInner,.session-end-card-option__art .session-end-card-shell.is-selected .cardInner,.session-end-card-preview__visual .session-end-card-shell.is-selected .cardInner{transform:none}.session-end-card-shell .cardInner{border-width:1px;box-shadow:0 8px 20px #02061773}.session-end-card-shell .card-art,.session-end-card-shell .card__header{height:52%}.session-end-card-shell .card__headerTop{padding-inline:8px}.session-end-card-shell .badge{font-size:.56rem}.session-end-card-shell .card-cost img,.session-end-card-shell .card-icons img{width:11px;height:11px}.session-end-card-shell .card__title{left:8px;right:8px;bottom:-8px;padding:5px 7px;border-radius:9px;font-size:.78rem}.session-end-card-shell .card__body{gap:5px;padding:2px 8px 10px}.session-end-card-shell .card-tags{gap:3px}.session-end-card-shell .card-tag{padding:2px 5px;font-size:.55rem}.session-end-card-shell .effect{gap:4px;padding:6px 7px;border-radius:8px;font-size:.62rem}.session-end-card-shell .effect__text,.session-end-card-shell .effect__note{font-size:.62rem;line-height:1.35}.session-end-card-shell--preview .card__title{font-size:.86rem}.session-end-card-option__body{display:flex;flex-direction:column;gap:7px;padding:12px 12px 13px}.session-end-card-option__eyebrow,.session-end-card-preview__eyebrow{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb,var(--accent, #4ade80) 72%,#f8fafc)}.session-end-card-option__title,.session-end-card-preview__title{font-size:.96rem;font-weight:700;line-height:1.2;color:var(--text-bright)}.session-end-card-option__chips,.session-end-card-preview__chips{display:flex;flex-wrap:wrap;gap:6px}.session-end-card-chip{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;border:1px solid rgba(148,163,184,.2);background:#94a3b81f;font-size:.7rem;font-weight:700;color:#e2e8f0eb}.session-end-card-chip--accent{border-color:#4ade8047;background:#4ade8029;color:#d9ffe7}.session-end-card-option__summary,.session-end-card-preview__summary{font-size:.79rem;line-height:1.45;color:var(--text)}.session-end-card-option__meta,.session-end-card-preview__detail,.session-end-card-preview__placeholder-text{font-size:.76rem;line-height:1.45;color:var(--text-dim)}.session-end-card-option.is-previewed{border-color:#7dd3fc57;background:radial-gradient(circle at top,rgba(125,211,252,.12),transparent 56%),linear-gradient(180deg,#0f172af5,#070c16fa);box-shadow:0 18px 40px #0ea5e929}.session-end-card-option.selected{border-color:#4ade805c;background:radial-gradient(circle at top,rgba(74,222,128,.16),transparent 54%),linear-gradient(180deg,#0f172af5,#070c16fa);box-shadow:0 18px 40px #0206176b,0 0 0 1px #4ade8029}.session-end-card-option.is-attention:not(:disabled),.session-end-card-preview__confirm.is-attention:not(:disabled){animation:session-end-button-nudge .62s ease-out both}.session-end-card-preview{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:18px;border:1px solid rgba(148,163,184,.18);background:radial-gradient(circle at top right,rgba(74,222,128,.1),transparent 45%),linear-gradient(180deg,#0f172af0,#020617f5);box-shadow:inset 0 1px #ffffff08}.session-end-card-preview.is-previewing{border-color:#7dd3fc47}.session-end-card-preview.is-confirmed{border-color:#4ade8052;box-shadow:inset 0 1px #ffffff08,0 0 0 1px #4ade8024}.session-end-card-preview__body{min-height:100%}.session-end-card-preview__placeholder{display:flex;flex-direction:column;gap:10px;justify-content:center;min-height:100%;padding:8px 2px}.session-end-card-preview__hero{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:12px;align-items:start}.session-end-card-preview__visual{aspect-ratio:.62;padding:8px;border-radius:16px;border:1px solid rgba(148,163,184,.2)}.session-end-card-preview__copy{display:flex;flex-direction:column;gap:8px}.session-end-card-preview__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.session-end-card-preview__inspect,.session-end-card-preview__confirm{min-height:42px;justify-content:center}.session-end-card-preview__confirm:disabled{opacity:.82}.session-end-recap{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--session-state) 30%,rgba(255,255,255,.12));background:linear-gradient(180deg,color-mix(in srgb,var(--session-state-soft) 46%,rgba(255,255,255,.02)),#ffffff05)}.session-end-recap__title{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text);font-weight:700}.session-end-recap__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.session-end-recap__item{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.session-end-recap__label{font-size:.8rem;color:var(--text-dim)}.session-end-recap__value{font-size:.84rem;font-weight:700;color:var(--text-bright);text-align:right}.session-end-recap__item--evolution{border-color:#f5c54261;background:linear-gradient(90deg,#f5c54221,#b86b3814)}.session-end-recap__item--evolution.is-evolution-new{animation:session-end-evolution-pulse .76s cubic-bezier(.2,.82,.22,1) both}@keyframes session-end-evolution-pulse{0%{transform:scale(.985);box-shadow:0 0 #f5c54200}45%{transform:scale(1.01);box-shadow:0 0 24px #f5c54238}to{transform:scale(1);box-shadow:0 0 #f5c54200}}.session-end-boss-defeat{display:flex;flex-direction:column;gap:12px;padding:12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--session-state) 28%,rgba(255,255,255,.12));background:linear-gradient(180deg,color-mix(in srgb,var(--session-state-soft) 36%,rgba(255,255,255,.02)),#ffffff05)}.session-end-boss-defeat__title{font-size:.94rem;font-weight:700;letter-spacing:.01em;color:var(--text-bright)}.session-end-boss-defeat__desc{margin:0;color:var(--text);line-height:1.45}.session-end-boss-defeat__choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.session-end-boss-defeat__btn{width:100%;min-height:72px;padding:12px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;text-align:left}.session-end-boss-defeat__btn-title{font-size:.86rem;font-weight:700}.session-end-boss-defeat__btn-detail{font-size:.76rem;line-height:1.35;color:var(--text-dim)}.session-end-boss-defeat__cards{display:flex;flex-direction:column;gap:10px}.session-end-boss-defeat__cards-title{font-size:.82rem;font-weight:700;color:var(--text)}.session-end-boss-defeat__card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.session-end-boss-defeat__card-btn{min-height:48px;justify-content:center;text-align:center}.session-end-boss-defeat__card-btn.is-selected{border-color:#f97316;background:#f9731626}.session-end-boss-defeat__malus-info{margin:0;font-size:.75rem;color:color-mix(in srgb,var(--text-dim) 90%,#fca5a5)}.session-end-boss-defeat__confirm{display:flex;flex-direction:column;gap:10px}.session-end-boss-defeat__confirm p{margin:0;color:var(--text)}.session-end-boss-defeat__confirm-actions{display:flex;gap:8px;justify-content:flex-end}.session-end-boss-defeat__btn--confirm{min-width:168px}.session-end-actions{display:flex;justify-content:flex-end}.session-end-actions .end-turn-btn{min-width:220px}.session-end-actions .end-turn-btn.is-blocked{border-color:color-mix(in srgb,#fbbf24 64%,rgba(255,255,255,.3));color:color-mix(in srgb,var(--text-bright) 92%,#fef3c7);box-shadow:0 0 0 1px #fbbf2433,0 8px 24px #fbbf2433}body.page-game.mobile-ui.mobile-landscape .session-end-modal{padding:8px}body.page-game.mobile-ui.mobile-landscape .session-end-card{width:min(820px,100%);max-height:calc(100dvh - 16px);grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);border-radius:18px}body.page-game.mobile-ui.mobile-landscape .session-end-portrait{min-height:0;display:flex;align-items:center;justify-content:center;padding:12px 14px 0}body.page-game.mobile-ui.mobile-landscape .session-end-portrait:after{display:none}body.page-game.mobile-ui.mobile-landscape .session-end-portrait img{width:min(84px,18vw);height:min(84px,18vw);aspect-ratio:1 / 1;margin:0 auto}body.page-game.mobile-ui.mobile-landscape .session-end-content{gap:10px;padding:12px 14px 14px}body.page-game.mobile-ui.mobile-landscape .session-end-header,body.page-game.mobile-ui.mobile-landscape .session-end-flow{gap:6px}body.page-game.mobile-ui.mobile-landscape .session-end-content h2{font-size:clamp(1.18rem,2vw,1.4rem)}body.page-game.mobile-ui.mobile-landscape .session-end-content p,body.page-game.mobile-ui.mobile-landscape .session-end-flow__label{font-size:.82rem;line-height:1.35}body.page-game.mobile-ui.mobile-landscape .session-end-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}body.page-game.mobile-ui.mobile-landscape .session-end-kpi{padding:8px 9px}body.page-game.mobile-ui.mobile-landscape .session-end-kpi__label{font-size:.68rem}body.page-game.mobile-ui.mobile-landscape .session-end-kpi__value{font-size:.9rem}body.page-game.mobile-ui.mobile-landscape .session-end-profile-xp{padding:7px 10px}body.page-game.mobile-ui.mobile-landscape .session-end-details summary{font-size:.84rem}body.page-game.mobile-ui.mobile-landscape .session-end-actions{position:sticky;bottom:0;display:grid;gap:8px;padding-top:8px;background:linear-gradient(180deg,#090c1500,#090c15f0 28%,#090c15fa)}body.page-game.mobile-ui.mobile-landscape .session-end-actions .end-turn-btn{width:100%;min-width:0;min-height:44px}@media(max-height:430px){body.page-game.mobile-ui.mobile-landscape .session-end-card{max-height:calc(100dvh - 12px)}body.page-game.mobile-ui.mobile-landscape .session-end-portrait{padding:10px 12px 0}body.page-game.mobile-ui.mobile-landscape .session-end-portrait img{width:64px;height:64px}body.page-game.mobile-ui.mobile-landscape .session-end-content{gap:8px;padding:10px 12px 12px}body.page-game.mobile-ui.mobile-landscape .session-end-summary{grid-template-columns:repeat(2,minmax(0,1fr))}body.page-game.mobile-ui.mobile-landscape .session-end-content p,body.page-game.mobile-ui.mobile-landscape .session-end-flow__label,body.page-game.mobile-ui.mobile-landscape .session-end-details summary{font-size:.76rem}}@keyframes session-end-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes session-end-card-in{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes session-end-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes session-end-required-pulse{0%{transform:scale(1)}35%{transform:scale(1.008)}to{transform:scale(1)}}@keyframes session-end-button-nudge{0%{transform:translate(0)}25%{transform:translate(-2px)}50%{transform:translate(2px)}75%{transform:translate(-1px)}to{transform:translate(0)}}@keyframes session-end-hint-flash{0%{opacity:.35}35%{opacity:1}to{opacity:1}}@keyframes session-end-gain-pulse{0%{filter:saturate(1) brightness(1);box-shadow:0 0 #facc1500}35%{filter:saturate(1.14) brightness(1.06);box-shadow:0 0 14px #facc15b3}to{filter:saturate(1) brightness(1);box-shadow:0 0 8px #facc1559}}@keyframes session-end-meter-scan{0%{opacity:0;transform:translate(-20%) skew(-18deg)}20%{opacity:.55}to{opacity:0;transform:translate(620%) skew(-18deg)}}@keyframes session-end-target-pop{0%{transform:translate(-50%) scaleY(.6);opacity:.4}55%{transform:translate(-50%) scaleY(1.15);opacity:1}to{transform:translate(-50%) scaleY(1);opacity:1}}@media(max-width:980px){.session-end-card{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);max-height:min(92vh,900px)}.session-end-portrait{min-height:auto;padding:14px 14px 0}.session-end-portrait img{width:min(260px,60vw);margin:0 auto;display:block}.session-end-summary{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}@media(max-width:760px){.session-end-modal{padding:8px}.session-end-content{padding:16px;gap:12px}.session-end-sections,.session-end-rewards__grid,.session-end-card-selector{grid-template-columns:minmax(0,1fr)}.session-end-card-options{grid-template-columns:repeat(2,minmax(0,1fr))}.session-end-card-preview__hero{grid-template-columns:minmax(0,1fr)}.session-end-card-preview__visual{max-width:min(260px,100%)}.session-end-card-preview__actions,.session-end-boss-defeat__choices,.session-end-boss-defeat__card-grid{grid-template-columns:minmax(0,1fr)}.session-end-recap__item{flex-direction:column;align-items:flex-start;gap:4px}.session-end-recap__value{text-align:left}.session-end-actions{justify-content:stretch}.session-end-actions .end-turn-btn{width:100%;min-width:0}.session-end-copy-seed{width:100%;max-width:none}.session-end-boss-defeat__confirm-actions{flex-direction:column;align-items:stretch}.session-end-boss-defeat__btn--confirm{min-width:0;width:100%}}@media(max-width:560px){.session-end-card-options{grid-template-columns:minmax(0,1fr)}}@media(max-height:760px){.session-end-card{max-height:94vh}}@media(prefers-reduced-motion:reduce){.session-end-modal:not([hidden]) .session-end-backdrop,.session-end-modal:not([hidden]) .session-end-card,.session-end-modal:not([hidden]) .session-end-portrait img,.session-end-modal:not([hidden]) .session-end-header,.session-end-modal:not([hidden]) .session-end-flow,.session-end-modal:not([hidden]) .session-end-summary,.session-end-modal:not([hidden]) .session-end-profile-xp,.session-end-modal:not([hidden]) .session-end-glance,.session-end-modal:not([hidden]) .session-end-details,.session-end-modal:not([hidden]) .session-end-rewards,.session-end-modal:not([hidden]) .session-end-actions{animation:none}.session-end-reward-btn,.session-end-card-option,.session-end-card-preview__confirm,.session-end-profile-intel__meter-fill,.session-end-profile-intel__meter-gain{transition:none}.session-end-profile-intel__item.is-animated .session-end-profile-intel__meter-gain,.session-end-profile-intel__item.is-animated .session-end-profile-intel__meter-track:after,.session-end-profile-intel__item.is-animated .session-end-profile-intel__meter-target:not(.is-complete){animation:none}.session-end-rewards.is-attention,.session-end-reward-btn.is-attention:not(:disabled),.session-end-reward-hint.is-flash{animation:none}}.toast-center{position:fixed;top:14px;right:14px;z-index:calc(var(--layer-toast) + 120);display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}.toast-center-toggle{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:14px;border:1px solid #22c79f;background:#109376;box-shadow:0 0 0 1px #22c79f38,0 8px 22px #073c2f57;color:#f4fffb;font-family:Space Grotesk,sans-serif;font-size:.8rem;font-weight:700;cursor:pointer;transition:transform .13s ease,border-color .13s ease,box-shadow .13s ease}.toast-center-toggle:hover{transform:translateY(-1px);border-color:#35d8af;background:#12a382;box-shadow:0 0 0 1px #35d8af3d,0 10px 24px #073c2f66}.toast-center-toggle--new{animation:toastCenterTogglePulse .76s cubic-bezier(.2,.85,.32,1)}.toast-center-toggle__icon{width:20px;height:20px;border-radius:7px;overflow:hidden;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid #1aa980;background:#95decb}.toast-center-toggle__icon-img{width:15px;height:15px;object-fit:contain;display:block}.toast-center-toggle__text{letter-spacing:.01em}.toast-center-toggle__count{min-width:18px;height:18px;border-radius:999px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(170deg,#ffe668,#f4d80b);color:#0d5d47;font-size:.7rem;font-weight:700}.toast-center-toggle__count[hidden]{display:none}.toast-center-toggle__count--new{animation:toastCenterCountPulse .76s ease}.toast-center-panel{pointer-events:auto;width:min(392px,calc(100vw - 34px));max-height:min(65vh,500px);overflow:hidden;display:flex;flex-direction:column;gap:9px;padding:11px;border-radius:16px;border:1px solid #cfd9d5;background:linear-gradient(170deg,#f6f8f7fa,#eef3f1f5);box-shadow:0 14px 30px #0f172a42;backdrop-filter:blur(8px)}.toast-center-panel[hidden]{display:none}.toast-center-panel__identity{display:flex;align-items:center;gap:12px;min-width:0}.toast-center-panel__brand{display:flex;align-items:center;justify-content:center;width:74px;height:74px;border-radius:18px;border:1px solid #9ed8c7;background:linear-gradient(150deg,#c7efe3,#9fdccc);box-shadow:inset 0 1px #ffffffbf;flex:none}.toast-center-panel__brand-img{width:54px;height:54px;object-fit:contain;display:block;filter:drop-shadow(0 2px 4px rgba(23,48,76,.2))}.toast-center-panel__header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#f4fffb;background:linear-gradient(160deg,#19ae88,#0f7b5e);border-radius:14px;padding:10px 12px}.toast-center-panel__title-group{display:flex;flex-direction:column;gap:1px;min-width:0}.toast-center-panel__title-group strong{font-size:1.05rem;line-height:1.15;color:#f4fffb}.toast-center-panel__subtitle{font-size:.74rem;color:#dcf4ec;letter-spacing:.02em;font-family:JetBrains Mono,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast-center-panel__close{border:1px solid #a9d8ca;background:#f6fffb29;color:#f4fffb;border-radius:10px;padding:6px 10px;font-size:.76rem;font-family:Space Grotesk,sans-serif;font-weight:700;cursor:pointer;white-space:nowrap}.toast-center-panel__close:hover{background:#f6fffb47}.toast-center-panel__actions{display:flex;gap:8px}.toast-center-panel__action{flex:1;border:1px solid #c7d2cd;background:linear-gradient(160deg,#e8ecea,#dfe6e3);color:#3f5960;border-radius:9px;padding:7px 8px;font-size:.72rem;font-family:Space Grotesk,sans-serif;font-weight:700;cursor:pointer}.toast-center-panel__action:hover:enabled{border-color:#9cc9b8;background:linear-gradient(160deg,#deece6,#d5e7df);color:#1f6651}.toast-center-panel__action:disabled{opacity:.5;cursor:not-allowed}.toast-center-panel__action--ghost{border-color:#d0d7d4;background:#f3f5f4db;color:#51656d}.toast-center-panel__settings{border:1px solid #cdd8d4;border-radius:11px;background:#f4f8f6d9;padding:8px 9px;display:flex;flex-direction:column;gap:7px}.toast-center-panel__settings-label{font-size:.69rem;font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.04em;color:#496963}.toast-center-intervention{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.toast-center-intervention__btn{border:1px solid #c3d2cc;background:#f1f5f3;color:#47625e;border-radius:999px;padding:5px 6px;font-size:.67rem;font-family:Space Grotesk,sans-serif;font-weight:700;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,color .14s ease}.toast-center-intervention__btn:hover{border-color:#8bbcae;color:#195f4d}.toast-center-intervention__btn.is-active{border-color:#189873;background:#caeadf;color:#0e6b53}.toast-center-panel__settings-help{margin:0;font-size:.69rem;line-height:1.35;color:#56706a}.toast-center-panel__filters{display:flex;flex-wrap:wrap;gap:6px}.toast-center-filter{border:1px solid #c6d0cc;background:#f2f4f3e0;color:#4f6268;border-radius:999px;padding:4px 9px;font-size:.68rem;font-family:JetBrains Mono,monospace;font-weight:700;cursor:pointer;transition:border-color .13s ease,background-color .13s ease,color .13s ease}.toast-center-filter:hover{border-color:#7ebba6;color:#0f6f56}.toast-center-filter.is-active{border-color:#1a9d79;background:#cdebe1;color:#0b6a52}.toast-center-list{list-style:none;margin:0;padding:2px;display:flex;flex-direction:column;gap:7px;overflow-y:auto;min-height:56px}.toast-center-list__empty{border:1px dashed #b7d0c6;border-radius:11px;padding:12px;font-size:.78rem;color:#5f726f;text-align:center;background:#f8fbfae0}.toast-center-item{border:1px solid #d2ddd8;border-left:3px solid #9db5ad;border-radius:11px;padding:9px 10px;background:#fdfefee6;display:flex;flex-direction:column;gap:6px}.toast-center-item.is-unread{border-left-color:#17a17c;background:linear-gradient(165deg,#f2fbf8,#e6f4ef)}.toast-center-item--new{animation:toastCenterItemAppear .76s ease}.toast-center-item--warning{border-left-color:#de9a27}.toast-center-item--error{border-left-color:#dc5d5d}.toast-center-item--success{border-left-color:#1c9f73}.toast-center-item__header{display:flex;align-items:flex-start;gap:8px}.toast-center-item__icon{width:24px;height:24px;border-radius:8px;border:1px solid #bfd3cc;background:linear-gradient(155deg,#d7eee6,#c8e6dc);display:inline-flex;align-items:center;justify-content:center;flex:none}.toast-center-item__icon-img{width:16px;height:16px;object-fit:contain;display:block}.toast-center-item__top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex:1;min-width:0}.toast-center-item__title{font-size:.81rem;font-weight:700;color:#1f3e39}.toast-center-item__meta{font-size:.68rem;color:#68817a;font-family:JetBrains Mono,monospace;white-space:nowrap}.toast-center-item__intent{border-radius:999px;padding:2px 7px;font-size:.6rem;letter-spacing:.04em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-weight:700;color:#255b8d;background:#d7e9ff;border:1px solid #c2dbf8}.toast-center-item__message{font-size:.78rem;line-height:1.35;color:#3b5954}.toast-center-item__explain{font-size:.72rem;line-height:1.35;color:#55706c}.toast-center-item--intent-alert .toast-center-item__intent{color:#844e00;background:#ffe7c2;border-color:#f4ce89}.toast-center-item__replay{align-self:flex-start;border:1px solid #8bc3b1;background:#dff1eb;color:#0f6f56;border-radius:8px;padding:4px 8px;font-size:.7rem;font-family:Space Grotesk,sans-serif;font-weight:700;cursor:pointer}.toast-center-item__replay:hover{background:#cdebe1}@keyframes toastCenterTogglePulse{0%{transform:translateY(0) scale(1);box-shadow:0 0 0 1px #22c79f38,0 8px 22px #073c2f57}45%{transform:translateY(-2px) scale(1.035);box-shadow:0 0 0 2px #47e7bf5c,0 14px 30px #073c2f73}to{transform:translateY(0) scale(1);box-shadow:0 0 0 1px #22c79f38,0 8px 22px #073c2f57}}@keyframes toastCenterCountPulse{0%{transform:scale(1);filter:brightness(1)}40%{transform:scale(1.16);filter:brightness(1.08)}to{transform:scale(1);filter:brightness(1)}}@keyframes toastCenterItemAppear{0%{transform:translateY(-6px);box-shadow:0 0 #1d8e7000}55%{transform:translateY(0);box-shadow:0 0 0 2px #1d8e703d}to{transform:translateY(0);box-shadow:0 0 #1d8e7000}}@media(max-width:720px){.toast-center{top:10px;right:10px;left:10px;align-items:stretch}.toast-center-toggle{width:100%;justify-content:center}.toast-center-panel{width:100%;max-height:min(58vh,420px)}.toast-center-panel__brand{width:60px;height:60px;border-radius:16px}.toast-center-panel__brand-img{width:44px;height:44px}.toast-center-intervention{grid-template-columns:repeat(2,minmax(0,1fr))}}#toast-layer{position:fixed;top:auto;right:clamp(48px,12vw,280px);bottom:clamp(286px,37vh,430px);left:auto;display:flex;flex-direction:column;gap:8px;z-index:var(--layer-toast);align-items:center;width:min(430px,calc(100vw - 34px));max-height:min(42vh,360px);pointer-events:none}.toast{display:grid;grid-template-columns:58px minmax(0,1fr);column-gap:10px;width:100%;background:linear-gradient(165deg,#ebf7f3fa,#def2ecf7);border:1px solid #b9d7cd;border-left:4px solid #1b9a77;border-radius:14px;padding:10px 12px 9px 10px;box-shadow:0 8px 20px #0f172a3d;backdrop-filter:blur(7px);opacity:0;transform:translateY(10px) scale(.99);transition:opacity .18s ease,transform .18s ease;pointer-events:auto;overflow:hidden;--toast-duration-ms: 6.2s}.toast>:not(.toast__mentor){grid-column:2}.toast--visible{opacity:1;transform:translateY(0) scale(1)}.toast__mentor{grid-column:1;grid-row:1 / span 8;align-self:start;width:58px;height:72px;border-radius:13px;border:1px solid rgba(83,132,119,.45);background:linear-gradient(160deg,#dcefe8,#b8dccf);box-shadow:inset 0 1px #ffffffc7,0 8px 16px #0f172a29;overflow:hidden}.toast__mentor-img{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block}.toast--warning{border-left-color:#d18a12;box-shadow:0 8px 20px #f59e0b38}.toast--error{border-left-color:#cf4545;box-shadow:0 8px 20px #ef44443d}.toast--success{border-left-color:#1ea764;box-shadow:0 8px 20px #22c55e33}.toast--pulse{animation:toastPulse .22s ease}.toast__header{display:flex;align-items:flex-start;gap:8px}.toast__icon{width:30px;height:30px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex:none;margin-top:1px;color:#2d5f8f;background:linear-gradient(155deg,#d5efe7,#bde4d6);border:1px solid #8ec7b4;box-shadow:inset 0 1px #ffffffbf}.toast__icon-img{width:19px;height:19px;object-fit:contain;display:block}.toast--warning .toast__icon{color:#8b5e0a;background:linear-gradient(155deg,#ffecc6,#f9dd9e);border-color:#ebbb6f}.toast--error .toast__icon{color:#9b2c2c;background:linear-gradient(155deg,#ffdede,#f6c0c0);border-color:#e39f9f}.toast--success .toast__icon{color:#1f6b38;background:linear-gradient(155deg,#dcfae8,#b9eecf);border-color:#8ad3a9}.toast__title-wrap{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.toast__chips{display:flex;align-items:center;gap:6px}.toast__level{display:inline-flex;align-self:flex-start;border-radius:999px;padding:2px 7px;font-size:.62rem;line-height:1.2;text-transform:uppercase;letter-spacing:.08em;font-family:JetBrains Mono,monospace;font-weight:700;background:#ddebff;color:#184a7b}.toast__intent{display:inline-flex;align-self:flex-start;border-radius:999px;padding:2px 7px;font-size:.6rem;line-height:1.2;text-transform:uppercase;letter-spacing:.06em;font-family:JetBrains Mono,monospace;font-weight:700;background:#d6f1e7;color:#0f6c53;border:1px solid #a7dcc9}.toast--intent-alert .toast__intent{background:#ffe9c9;color:#7a4d05;border-color:#f6ca83}.toast--warning .toast__level{background:#ffe9c2;color:#7c4b00}.toast--error .toast__level{background:#ffd9d9;color:#8f2e2e}.toast--success .toast__level{background:#d8f7e4;color:#1d6a39}.toast__title{font-weight:700;line-height:1.25;letter-spacing:.01em;color:#11433d;font-size:.9rem}.toast__meta{font-size:.68rem;color:#4e6e67;font-family:JetBrains Mono,monospace}.toast__actions{display:inline-flex;align-items:center;gap:6px;margin-top:1px}.toast__repeat{border-radius:999px;padding:2px 7px;font-size:.65rem;font-family:JetBrains Mono,monospace;font-weight:700;background:#ffffffdb;border:1px solid #c6d8eb;color:#28517a}.toast__dismiss{width:20px;height:20px;border-radius:999px;border:1px solid #cbdbea;background:#ffffffd6;color:#315477;font-size:.95rem;line-height:1;padding:0;cursor:pointer;flex:none}.toast__dismiss:hover{background:#f1f8ff}.toast__body{font-size:.86rem;line-height:1.34;color:#1f4f46;font-weight:700;margin-top:5px}.toast__explain{margin-top:4px;border-left:2px solid #82c7b2;padding-left:8px;font-size:.75rem;line-height:1.35;color:#4c6f67}.toast__details-list{margin:6px 0 0;padding-left:16px;display:flex;flex-direction:column;gap:2px;color:#466964;font-size:.76rem;line-height:1.3}.toast__label{margin-top:7px;font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:#6a8098}.toast-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.toast-tags .toast-tag{padding:3px 8px;border-radius:999px;background:#e4f0ff;color:#1f4a74;font-size:.69rem}.toast-tags--suggested .toast-tag{background:#dcf7e6;color:#27673f}.toast__timer{margin-top:7px;height:3px;border-radius:999px;background:#dce8f6;overflow:hidden}.toast__timer-bar{display:block;width:100%;height:100%;transform-origin:left center;background:linear-gradient(90deg,#38bdf8,#22d3ee);animation:toastCountdown var(--toast-duration-ms) linear forwards}.toast--warning .toast__timer-bar{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.toast--error .toast__timer-bar{background:linear-gradient(90deg,#ef4444,#f87171)}.toast--success .toast__timer-bar{background:linear-gradient(90deg,#22c55e,#4ade80)}@keyframes toastCountdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes toastPulse{0%{transform:translateY(0) scale(1)}50%{transform:translateY(0) scale(1.015)}to{transform:translateY(0) scale(1)}}@media(max-width:720px){#toast-layer{bottom:calc(120px + env(safe-area-inset-bottom));left:50%;right:auto;width:min(360px,calc(100vw - 20px));align-items:stretch;max-height:min(46vh,300px);transform:translate(-50%)}.toast{width:100%;grid-template-columns:48px minmax(0,1fr);padding:9px 10px 8px 9px}.toast__mentor{width:48px;height:58px}}@media(min-width:721px)and (max-width:1400px){#toast-layer{right:18px;bottom:clamp(286px,39vh,360px);width:min(400px,calc(100vw - 34px))}}.effect-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#ef444433;border:1px solid rgba(239,68,68,.3);border-radius:20px;font-size:.7rem;color:var(--stress);cursor:help;transition:all .15s ease}.effect-badge:hover{background:#ef44444d;transform:scale(1.05)}.effect-ok{color:var(--motivation);font-weight:600}.student-memory-badge{align-self:center;display:inline-flex;align-items:center;justify-content:center;min-height:20px;min-width:68px;padding:2px 8px;border-radius:999px;font-size:.68rem;line-height:1;font-weight:800;letter-spacing:0;border:1px solid rgba(148,163,184,.26);background:#0f172a94;color:var(--text-bright)}.student-memory-badge--relieved{border-color:#4ade8080;background:#16653452;color:#bbf7d0}.student-memory-badge--tense{border-color:#f8717180;background:#7f1d1d57;color:#fecaca}.zone-student{border:2px solid transparent;background:transparent}.zone-student:hover{border-color:#ffffff26;background:#ffffff05}.zone-student.drag-over{border-color:var(--energy);border-style:solid}.zone-student:before{opacity:0}.zone-student:hover:before{opacity:.3}.zone-student.student--vaincu{border-color:var(--motivation);opacity:.7}.zone-student.student--vaincu:before{background:linear-gradient(180deg,#22c55e33,#22c55e1a)}.zone-student.student--vaincu .zone-illust{filter:grayscale(.5) brightness(1.1)}.zone-student.zone--hit{animation:zone-hit .2s ease}@keyframes zone-hit{0%,to{transform:scale(1);box-shadow:none}50%{transform:scale(.97);box-shadow:0 0 20px #ef444480}}.zone-student.student--vaincu-anim{animation:student-victory .6s ease}@keyframes student-victory{0%{transform:scale(1);box-shadow:none}50%{transform:scale(1.05);box-shadow:0 0 30px #22c55e99}to{transform:scale(1);box-shadow:0 0 15px #22c55e4d}}.damage-popup{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:Bebas Neue,sans-serif;font-size:2rem;color:var(--stress);text-shadow:0 2px 8px rgba(0,0,0,.8);pointer-events:none;opacity:0;z-index:calc(var(--layer-toast) + 100)}.damage-popup.animate{animation:damage-float 1s ease-out forwards}@keyframes damage-float{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}20%{opacity:1;transform:translate(-50%,-70%) scale(1.2)}to{opacity:0;transform:translate(-50%,-150%) scale(.8)}}.damage-bonus{font-size:.9rem;color:var(--motivation)}.damage-malus{font-size:.9rem;color:var(--energy)}.effect-notifications{position:fixed;top:100px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:calc(var(--layer-toast) - 200);pointer-events:none}.effect-notification{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#12121af2;border:1px solid var(--border);border-radius:10px;backdrop-filter:blur(12px);box-shadow:0 8px 24px #0006;transform:translate(100%);opacity:0;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.effect-notification.show{transform:translate(0);opacity:1}.effect-notification.hide{transform:translate(100%);opacity:0}.effect-notification--blocked{border-color:var(--stress);background:#ef44441a}.effect-notif{background:#1e1e28f2;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem;opacity:0;transform:translate(20px);transition:all .3s ease;box-shadow:0 4px 16px #0000004d}.effect-notif--visible{opacity:1;transform:translate(0)}.effect-notif__student{font-weight:600;color:var(--stress)}.effect-notif__effet{color:#888;font-size:.85rem}.effect-notif__value{margin-left:auto;font-weight:600;padding:.2rem .5rem;border-radius:4px;background:#ffffff1a}.effect-student{font-weight:700;color:var(--text-bright)}.effect-name{color:var(--text-dim);font-size:.85rem}.effect-impact{font-family:JetBrains Mono,monospace;font-size:.85rem;padding:2px 8px;border-radius:6px;background:var(--surface)}.effect-impact--confiance{color:var(--confidence)}.effect-impact--motivation{color:var(--motivation)}.effect-impact--stress{color:var(--stress)}.effect-impact--difficulte{color:var(--energy)}.student-meta{width:100%}.group-slot{align-items:stretch}.group-slot .zone-group,.group-slot .group-meta{width:100%}.group-meta{position:relative;z-index:calc(var(--layer-hud) + 10);border-radius:18px;padding:12px 14px;margin-top:4px;text-align:left;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:8px;box-sizing:border-box}.group-meta:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,#0c121de0,#101826ad);border:1px solid rgba(173,189,214,.16);backdrop-filter:blur(12px);box-shadow:0 20px 38px #00000038;pointer-events:none;z-index:var(--layer-playfield)}.group-meta>*{position:relative;z-index:calc(var(--layer-playfield) + 1)}.group-meta__row{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:12px;background:#0f172a6b;border:1px solid rgba(148,163,184,.2)}.group-heading{display:flex;flex-direction:column;gap:2px;min-width:0}.group-name{font-weight:700;font-size:1.04rem;color:var(--text-bright);letter-spacing:.01em}.group-heading__hint{font-size:.72rem;line-height:1.2;color:var(--text-dim);text-transform:none;letter-spacing:.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.group-remaining{grid-column:1;display:inline-flex;align-items:baseline;gap:8px;color:var(--text);white-space:nowrap}.group-remaining strong{font-family:JetBrains Mono,monospace;font-size:1.46rem;line-height:1;color:var(--text-bright)}.group-remaining span{font-size:.8rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.02em}.group-stats{grid-column:2;display:flex;align-items:center;gap:8px;min-width:0}.group-flow{grid-column:1 / -1;font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--text-bright);background:#0f172a85;border:1px solid rgba(148,163,184,.24);border-radius:10px;padding:5px 8px}.group-zone-alert{position:absolute;top:8px;right:8px;z-index:calc(var(--layer-hud) + 4);display:flex;flex-direction:row;align-items:center;gap:6px;pointer-events:none;max-width:min(94%,460px);padding:6px 9px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#020617ad;box-shadow:0 8px 22px #00000073;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);white-space:nowrap}.group-zone-alert[hidden]{display:none}.group-zone-alert__badge{pointer-events:auto;cursor:help;font-size:.64rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:4px 8px;border:1px solid transparent;background:#1e293be6;line-height:1;text-shadow:0 1px 0 rgba(0,0,0,.4)}.group-zone-alert__badge--warning{color:#fff7d6;background:#a16207db;border-color:#fbbf24f2}.group-zone-alert__badge--start{color:#e0ecff;background:#1e40afdb;border-color:#7dd3fcd9}.group-zone-alert__badge--on-track{color:#ecfdf5;background:#059669e6;border-color:#6ee7b7eb}.group-zone-alert__badge--critical{color:#fff1f2;background:#991b1be6;border-color:#f87171f5}.group-zone-alert__badge--success{color:#ecfdf5;background:#15803deb;border-color:#86efacf2}.group-zone-alert__cadence{pointer-events:auto;cursor:help;font-size:.73rem;font-weight:700;color:#e2e8f0;background:transparent;border:0;border-radius:0;padding:0;text-align:left;text-shadow:0 1px 0 rgba(0,0,0,.35)}@media(max-height:720px),(max-width:900px){.group-meta{grid-template-columns:minmax(0,1fr);padding:8px 10px;row-gap:6px}.group-remaining,.group-stats,.group-flow{grid-column:1 / -1}.group-remaining strong{font-size:1.24rem}.group-meta__row{padding:7px 8px}.group-heading__hint{font-size:.68rem}.group-zone-alert{top:6px;right:6px;max-width:min(96%,360px);gap:5px;padding:5px 7px}.group-zone-alert__badge{font-size:.62rem;padding:3px 7px}.group-zone-alert__cadence{font-size:.61rem}}.end-turn-confirm{font-size:.9rem;color:var(--text-dim)}.group-bar{flex:1;height:10px;background:#0006;border-radius:999px;overflow:hidden;border:1px solid rgba(148,163,184,.15)}.group-bar__fill{height:100%;border-radius:999px;transition:width .3s ease;background:linear-gradient(90deg,var(--energy),#f59e0b)}.group-bar__fill--turn-swap{animation:group-bar-turn-swap .46s ease-out}@keyframes group-bar-turn-swap{0%{filter:brightness(1.25)}45%{filter:brightness(1.7);box-shadow:0 0 18px #f59e0b7a}to{filter:brightness(1);box-shadow:none}}.group-hp{font-family:JetBrains Mono,monospace;font-size:.9rem;font-weight:700;color:var(--energy);min-width:64px;text-align:right}.student-stats{display:flex;align-items:center;gap:8px}.student-bar{flex:1;height:8px;background:#0006;border-radius:999px;overflow:hidden;border:1px solid rgba(148,163,184,.15)}.student-bar__fill{height:100%;border-radius:999px;transition:width .3s ease;background:var(--stress)}.student-hp{font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:600;min-width:45px;text-align:right}.student-effects{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:4px}.student-effect-summary{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;max-width:100%;margin-top:6px}.student-effect-summary__item{display:inline-flex;align-items:center;max-width:100%;min-height:20px;padding:2px 7px;border:1px solid rgba(148,163,184,.22);border-radius:999px;background:#0f172a7a;color:var(--text-dim);font-size:.64rem;font-weight:700;line-height:1.15;text-align:center}.student-effect-summary__item--known{border-color:#f8717157;color:var(--text-bright)}.student-effect-summary__item--partial{border-color:#f59e0b61;color:var(--energy)}.student-effect-summary__item--unknown,.student-effect-summary__item--more{border-color:#94a3b82e;color:var(--text-muted, var(--text-dim))}.group-remaining__tick[data-known-sources]{cursor:help}@media(max-height:720px),(max-width:900px){.student-effect-summary{gap:3px;margin-top:4px}.student-effect-summary__item{min-height:18px;padding:2px 6px;font-size:.58rem}}@media(max-height:820px)and (min-width:1025px){.game-scene .play-zones.play-zones--compact-students .student-slot.student-slot--compact .zone-student{width:100%!important;height:clamp(130px,19vh,158px)!important}.game-scene .play-zones.play-zones--compact-students .group-slot .zone-group,.game-scene .play-zones[data-student-count="3"] .group-slot .zone-group,.game-scene .play-zones[data-student-count="4"] .group-slot .zone-group{height:clamp(144px,19vh,166px)!important}.game-scene .play-zones[data-student-count="3"] .student-slot .zone-student,.game-scene .play-zones[data-student-count="4"] .student-slot .zone-student{width:100%;height:clamp(130px,19vh,158px)!important}.game-scene .play-zones[data-student-count="3"] .group-slot .group-meta,.game-scene .play-zones[data-student-count="4"] .group-slot .group-meta{padding:7px 9px;row-gap:4px}.game-scene .play-zones[data-student-count="3"] .group-meta__row,.game-scene .play-zones[data-student-count="4"] .group-meta__row{padding:5px 7px}.game-scene .play-zones[data-student-count="3"] .group-remaining strong,.game-scene .play-zones[data-student-count="4"] .group-remaining strong{font-size:1.1rem}}.student-helped{margin-top:6px;padding:4px 12px;background:#22c55e33;border:1px solid rgba(34,197,94,.4);border-radius:20px;color:var(--motivation);font-size:.75rem;font-weight:600;text-align:center}.zone-student[data-type=inhibition]{--student-color: var(--confidence)}.zone-student[data-type=decrochage]{--student-color: var(--energy)}.zone-student:after{content:"";position:absolute;bottom:8px;left:50%;transform:translate(-50%);width:40px;height:3px;background:var(--student-color, var(--border));border-radius:2px;opacity:.6}.student-slot--highlight{box-shadow:0 0 0 2px #38bdf8b3,0 0 26px #38bdf880;background:#38bdf814;border-radius:16px;transition:box-shadow .2s ease,background .2s ease;animation:student-highlight-pulse 1s ease}@keyframes student-highlight-pulse{0%{box-shadow:0 0 #38bdf800}50%{box-shadow:0 0 0 4px #38bdf859,0 0 30px #38bdf88c}to{box-shadow:0 0 0 2px #38bdf8b3,0 0 26px #38bdf880}}.carnet-modal{--carnet-overlay: rgba(0, 0, 0, .75);--carnet-surface: linear-gradient(180deg, rgba(30, 35, 50, .98), rgba(15, 20, 30, .98));--carnet-border: rgba(148, 163, 184, .25);--carnet-shadow: 0 25px 80px rgba(0, 0, 0, .6);--carnet-text: #e5e7eb;--carnet-title: #fff;--carnet-muted: #9ca3af;--carnet-panel: rgba(0, 0, 0, .25);--carnet-panel-border: rgba(148, 163, 184, .15);--carnet-warning: #fbbf24;--carnet-success: #22c55e;--carnet-close-bg: rgba(255, 255, 255, .1);--carnet-close-hover: rgba(255, 255, 255, .2);--carnet-section-border: rgba(148, 163, 184, .2);--carnet-effet-bg: rgba(0, 0, 0, .2);--carnet-effet-impact-bg: rgba(0, 0, 0, .25);--carnet-effet-badge-bg: rgba(34, 197, 94, .25);--carnet-effet-decouvert-border: rgba(251, 191, 36, .3);--carnet-effet-maitrise-border: rgba(34, 197, 94, .4);--carnet-effet-maitrise-bg: rgba(34, 197, 94, .08);--carnet-impact-muted: #6b7280;position:fixed;inset:0;z-index:calc(var(--layer-modal) + 150);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.carnet-modal.is-visible{opacity:1;visibility:visible}.carnet-modal__backdrop{position:absolute;inset:0;background:var(--carnet-overlay);backdrop-filter:blur(4px)}.carnet-modal__content{position:relative;width:min(600px,90vw);max-height:85vh;background:var(--carnet-surface);border:1px solid var(--carnet-border);border-radius:16px;box-shadow:var(--carnet-shadow);overflow:hidden;transform:translateY(20px);transition:transform .3s ease}.carnet-modal.is-visible .carnet-modal__content{transform:translateY(0)}.carnet-modal__close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:none;background:var(--carnet-close-bg);color:var(--carnet-title);font-size:1.2rem;border-radius:50%;cursor:pointer;transition:background .2s ease;z-index:calc(var(--layer-modal) + 10)}.carnet-modal__close:hover{background:var(--carnet-close-hover)}.carnet-modal__body{max-height:85vh;overflow-y:auto;padding:24px}.carnet{color:var(--carnet-text)}.carnet__header{text-align:center;margin-bottom:24px}.carnet__title{margin:0;font-size:1.6rem;font-weight:700;color:var(--carnet-title)}.carnet__subtitle{margin:8px 0 0;font-size:.9rem;color:var(--carnet-muted)}.carnet__stats{display:flex;justify-content:center;gap:24px;margin-bottom:28px;padding:16px;background:var(--carnet-panel);border-radius:12px;border:1px solid var(--carnet-panel-border)}.carnet__stat{display:flex;flex-direction:column;align-items:center;gap:4px}.carnet__stat-value{font-size:1.8rem;font-weight:800;color:var(--carnet-warning)}.carnet__stat-label{font-size:.75rem;color:var(--carnet-muted);text-transform:uppercase;letter-spacing:.05em}.carnet__section{margin-bottom:20px}.carnet__section-title{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--carnet-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--carnet-section-border);padding-bottom:8px}.carnet__effets{display:flex;flex-direction:column;gap:12px}.carnet__effet{padding:14px 16px;background:var(--carnet-effet-bg);border:1px solid var(--carnet-panel-border);border-radius:10px;transition:all .2s ease}.carnet__effet--inconnu{opacity:.5;filter:grayscale(.5)}.carnet__effet--decouvert{border-color:var(--carnet-effet-decouvert-border)}.carnet__effet--maitrise{border-color:var(--carnet-effet-maitrise-border);background:var(--carnet-effet-maitrise-bg)}.carnet__effet-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.carnet__effet-icone{font-size:1.4rem}.carnet__effet-nom{font-size:1.1rem;font-weight:700;color:var(--carnet-title)}.carnet__effet-badge{margin-left:auto;padding:4px 10px;background:var(--carnet-effet-badge-bg);color:var(--carnet-success);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:999px}.carnet__effet-description{font-size:.85rem;color:var(--carnet-muted);margin-bottom:8px}.carnet__effet-impact{font-size:.85rem;padding:8px 12px;background:var(--carnet-effet-impact-bg);border-radius:6px}.carnet__effet-locked{color:var(--carnet-muted);font-style:italic}.carnet__effet-progression{margin-top:8px;font-size:.75rem;color:var(--carnet-impact-muted)}.impact-bad{color:#ef4444}.impact-block{color:#f59e0b;font-weight:600}.btn-carnet{--carnet-button-bg: rgba(251, 191, 36, .15);--carnet-button-border: rgba(251, 191, 36, .35);--carnet-button-hover-bg: rgba(251, 191, 36, .25);--carnet-button-hover-border: rgba(251, 191, 36, .5);display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--carnet-button-bg);border:1px solid var(--carnet-button-border);border-radius:10px;color:var(--carnet-warning);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-carnet:hover{background:var(--carnet-button-hover-bg);border-color:var(--carnet-button-hover-border);transform:translateY(-1px)}.btn-carnet__icon{width:20px;height:20px;object-fit:contain}@media(max-width:500px){.carnet-modal__body{padding:16px}.carnet__stats{gap:16px}.carnet__stat-value{font-size:1.4rem}}.card{position:absolute;bottom:0;left:50%;z-index:var(--layer-card-base);transform-origin:50% 120%;width:178px;height:232px;--typeColor: rgba(148, 163, 184, .45);--card-z-base: var(--layer-card-base);--card-z-content: calc(var(--layer-card-base) + 1);--card-z-badge: calc(var(--layer-card-base) + 10);transition:transform .25s cubic-bezier(.22,1,.36,1);transform:translate(calc(-50% + var(--tx, 0px))) translateY(var(--ty, 0px)) rotate(var(--rot, 0deg));animation:card-entry .35s ease-out both;animation-delay:var(--card-delay, 0ms)}.cardInner{position:relative;width:100%;height:100%;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,#ffffff0f,#00000085),radial-gradient(circle at 20% 0%,rgba(255,255,255,.12),transparent 45%),#0c0e18eb;border:1px solid color-mix(in srgb,var(--typeColor) 65%,rgba(255,255,255,.08));box-shadow:0 10px 28px #0000008c,var(--card-shadow);transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .2s ease,border-color .2s ease,filter .25s ease;padding:12px;transform:translateY(0) scale(1);transform-origin:50% 120%}.card:hover{z-index:var(--layer-card-floating)}.card:hover .cardInner{transform:translateY(-180px) rotate(calc(-1 * var(--rot, 0deg))) scale(1.32);box-shadow:0 50px 150px #000000eb,0 0 36px #ffb84f73;filter:saturate(1.05) brightness(1.04)}.card.dragging{z-index:var(--layer-card-floating)}.card.dragging .cardInner{transform:translateY(-150px) rotate(calc(-1 * var(--rot, 0deg))) scale(1.18);box-shadow:0 40px 120px #000000e6,0 0 0 2px color-mix(in srgb,var(--typeColor) 60%,rgba(255,255,255,.2))}.card.is-selected{z-index:var(--layer-card-floating)}.card.is-selected .cardInner{transform:translateY(-180px) rotate(calc(-1 * var(--rot, 0deg))) scale(1.32);box-shadow:0 50px 150px #000000eb,0 0 36px #ffb84f73;filter:saturate(1.05) brightness(1.04)}.card .card__shadeTop,.card .card__shadeBottom{position:absolute;inset:0;pointer-events:none;z-index:var(--card-z-base)}.card__header{position:relative;z-index:var(--card-z-content);display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;pointer-events:none}.badge{padding:5px 10px;border-radius:8px;font-size:.75rem;letter-spacing:.1em;color:#0c0d18;font-weight:800;text-transform:uppercase;background:color-mix(in srgb,var(--typeColor) 75%,rgba(255,255,255,.7));box-shadow:0 6px 16px #00000059}.card__title{font-size:1.05rem;font-weight:800;color:var(--text);text-shadow:0 1px 6px rgba(0,0,0,.4)}.card__body{position:relative;z-index:var(--card-z-content);background:#00000047;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;border:1px solid rgba(255,255,255,.04);pointer-events:none;margin-top:auto}.card .pill{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:10px;font-size:.78rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:var(--text);font-weight:700}.effect{padding:10px 12px;border-radius:12px;background:#00000047;border:1px solid rgba(255,255,255,.08);color:var(--text);line-height:1.3;font-size:.9rem}.card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;image-rendering:crisp-edges;transform:scale(1.01);filter:saturate(.95) contrast(1.05);opacity:.22;z-index:var(--card-z-content)}.card__img--blur{filter:blur(8px) brightness(.7);transform:scale(1.04);opacity:.6;z-index:var(--card-z-base)}.card__imgPlaceholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;font-weight:800;line-height:1.1;color:#e2e8f0eb;background:radial-gradient(120% 120% at 20% 10%,#38bdf82e,#0f172af2)}.card__shadeTop{inset:0 0 auto;height:30%;background:linear-gradient(180deg,#000000c7,#0000)}.card__shadeBottom{inset:auto 0 0;height:46%;background:linear-gradient(0deg,#000000e0,#0000)}.costBadge{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:1rem;color:#fef3c7;text-shadow:0 2px 6px rgba(0,0,0,.6);z-index:var(--card-z-badge);pointer-events:none}.card-cost{display:inline-flex;align-items:center;gap:4px;letter-spacing:.04em}.hand--ribbon{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;overflow-y:visible;padding:8px 2px 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.hand--ribbon::-webkit-scrollbar{height:10px}.hand--ribbon::-webkit-scrollbar-thumb{background:#94a3b840;border-radius:999px}.card.card--type-consigne{--typeColor: var(--color-type-consigne)}.card.card--type-support{--typeColor: var(--color-type-support)}.card.card--type-analyse{--typeColor: var(--color-type-analyse)}.card.card--type-lecture{--typeColor: var(--color-type-lecture)}.card.card--type-malus{--typeColor: var(--color-type-malus)}.card.card--type-autre{--typeColor: var(--color-type-default)}.hand--ribbon .card{position:relative;width:178px;min-width:178px;height:210px;scroll-snap-align:start}.hand--ribbon .card .cardInner{padding:12px;overflow:hidden;transition:transform .16s ease,height .16s ease,box-shadow .16s ease,border-color .16s ease,opacity .16s ease}.hand:hover .card:not(:hover):not(.is-selected):not(.dragging) .cardInner{transform:translateY(0) scale(1)}.hand--ribbon .card .card-art{height:135px;padding-top:0;margin-bottom:10px;transition:height .3s ease}.hand--ribbon .card .card-cost,.hand--ribbon .card .card-effects{display:none}@media(max-width:780px){.hand{height:320px}.card{width:158px;height:206px}}@keyframes card-entry{0%{opacity:0;transform:translate(calc(-50% + var(--tx, 0px))) translateY(calc(var(--ty, 0px) + 30px)) rotate(var(--rot, 0deg)) scale(.9)}to{opacity:1;transform:translate(calc(-50% + var(--tx, 0px))) translateY(var(--ty, 0px)) rotate(var(--rot, 0deg)) scale(1)}}.panel--combat,.combat,.handWrap,.hand{overflow:visible}.card-art{position:relative;width:100%;padding-top:100%;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#0f172a,#020617);border:1px solid rgba(148,163,184,.18);margin-bottom:8px}.card-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center top;display:block;opacity:.9;filter:saturate(1.08) contrast(1.08) brightness(1.05)}.hand--ribbon .card .card-art{height:160px;padding-top:0;margin-bottom:10px}.hand--ribbon .card.is-selected .card-art,.hand--ribbon .card:hover:not(.no-hover-open) .card-art{height:220px}@media(max-width:780px){.hand--ribbon .card .card-art{height:140px}.hand--ribbon .card.is-selected .card-art,.hand--ribbon .card:hover:not(.no-hover-open) .card-art{height:200px}}.card{position:absolute;bottom:0;left:50%;--card-radius: 14px;--card-border-width: 2px;--card-band-height: 30px;--hover-lift: 200px;--select-lift: 230px;--drag-lift: 190px;--hover-scale: 1.16;--ty-base: 140px;--card-z-hover: var(--layer-card-floating);--card-z-selected: var(--layer-card-floating);--card-z-dragging: calc(var(--layer-card) + 2);--card-z-blocked-hover: calc(var(--layer-card-base) + 5);--card-z-base: var(--layer-card-base);--card-z-content: calc(var(--layer-card-base) + 1);--card-z-content-top: calc(var(--layer-card-base) + 2);--card-z-badge: calc(var(--layer-card-base) + 10);--card-z-overlay: calc(var(--layer-card-base) + 100);width:200px;height:360px;transform-origin:center bottom;transform:translate(calc(-50% + var(--tx, 0px))) translateY(calc(var(--ty-base, 0px) + var(--ty, 0px))) rotate(var(--rot, 0deg));--typeColor: rgba(148, 163, 184, .6);transition:transform .16s cubic-bezier(.34,1.56,.64,1);animation:card-enter .4s cubic-bezier(.34,1.56,.64,1) backwards;animation-delay:var(--card-delay, 0ms);cursor:pointer;z-index:var(--layer-card-base);pointer-events:auto}.cardInner{position:relative;width:100%;height:100%;border-radius:var(--card-radius);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;background:linear-gradient(180deg,#141923f2,#0a0c14fa);border:var(--card-border-width) solid color-mix(in srgb,var(--typeColor) 70%,rgba(255,255,255,.15));box-shadow:0 8px 24px #00000080;transition:transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .16s ease,border-color .16s ease;transform:translateY(0) scale(1);transform-origin:center bottom}.card:before{content:"";position:absolute;left:0;right:0;bottom:-14px;height:14px;pointer-events:auto}.card.dragging:before{display:none}.card:hover{z-index:var(--card-z-hover);pointer-events:auto}.card:hover:not(.card--blocked) .cardInner{transform:translateY(calc(-1 * var(--hover-lift))) rotate(calc(-1 * var(--rot, 0deg))) scale(var(--hover-scale));box-shadow:0 30px 60px #000000b3,0 0 40px #fbbf244d}.card:hover .card-art,.card:hover .card__shadeTop,.card:hover .card__shadeBottom,.card:hover .card__header,.card:hover .card__body{pointer-events:none}.hand:hover .card:not(:hover):not(.is-selected):not(.dragging) .cardInner{transform:scale(.96)}.hand:has(.card:hover) .card:not(:hover):not(.dragging){pointer-events:auto}.card.is-selected{z-index:var(--card-z-selected)}.card.is-selected .cardInner{transform:translateY(calc(-1 * var(--select-lift))) rotate(calc(-1 * var(--rot, 0deg))) scale(1.18);box-shadow:0 35px 70px #000c,0 0 50px #fbbf2466;border-color:#fbbf24}.hand:has(.card.is-selected) .card:not(.is-selected):not(.dragging) .cardInner{transform:scale(.94)}.card.dragging{z-index:var(--card-z-dragging);opacity:.85;cursor:grabbing;pointer-events:none;transition:none}.card.card--blocked{cursor:not-allowed;opacity:.7;filter:grayscale(70%) brightness(.7);pointer-events:auto}.card.card--blocked:hover{z-index:var(--card-z-blocked-hover)}.card.card--blocked:hover .cardInner{transform:translateY(0) scale(1.02);box-shadow:0 8px 24px #00000080,0 0 20px #ef444466}@keyframes card-blocked-shake{0%,to{transform:translate(calc(-50% + var(--tx, 0px))) translateY(calc(var(--ty-base, 0px) + var(--ty, 0px))) rotate(var(--rot, 0deg))}25%{transform:translate(calc(-50% + var(--tx, 0px) - 8px)) translateY(calc(var(--ty-base, 0px) + var(--ty, 0px))) rotate(var(--rot, 0deg))}75%{transform:translate(calc(-50% + var(--tx, 0px) + 8px)) translateY(calc(var(--ty-base, 0px) + var(--ty, 0px))) rotate(var(--rot, 0deg))}}.card.card--blocked.card--shake{animation:card-blocked-shake .4s ease}.card-art{position:relative;width:100%;height:190px;flex-shrink:0;overflow:hidden;background:linear-gradient(135deg,#1a2030,#0d1018);pointer-events:none}.card-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;opacity:.85;filter:saturate(1.1) contrast(1.05);pointer-events:none}.card__imgPlaceholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2rem;background:radial-gradient(circle at 30% 30%,rgba(56,189,248,.15),transparent);pointer-events:none}.card__shadeTop{position:absolute;top:0;left:0;right:0;height:40px;background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,transparent 100%);pointer-events:none;z-index:var(--card-z-content)}.card__shadeBottom{position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(0deg,rgba(0,0,0,.9) 0%,transparent 100%);pointer-events:none;z-index:var(--card-z-content)}.card__header{position:absolute;top:0;left:0;right:0;height:190px;z-index:var(--card-z-content-top);pointer-events:none}.card__headerTop{position:absolute;top:0;left:0;right:0;display:grid;grid-template-columns:1fr auto;grid-template-rows:var(--card-band-height) auto;grid-template-areas:"badge cost" "tags cost";align-items:center;gap:4px 8px;padding:0 12px;border-top-left-radius:calc(var(--card-radius) - var(--card-border-width));border-top-right-radius:calc(var(--card-radius) - var(--card-border-width));overflow:hidden;pointer-events:none;z-index:var(--card-z-content-top)}.card__headerTop .badge{grid-area:badge;background:transparent;box-shadow:none;padding:0;border-radius:0}.card__headerTop .costBadge{grid-area:cost;justify-self:end;position:static;align-self:center}.card__headerTop .card__pedago{grid-area:tags}.card__headerTop:before{content:"";position:absolute;top:0;left:0;right:0;height:var(--card-band-height);background:var(--typeColor);border-radius:inherit;z-index:var(--card-z-base)}.card__headerTop>*{position:relative;z-index:var(--card-z-content)}.badge{display:inline-block;padding:5px 10px;border-radius:8px;font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0c0d18;background:var(--typeColor);box-shadow:0 2px 8px #0000004d;pointer-events:none}.card__title{position:absolute;left:12px;right:12px;bottom:-10px;font-size:1.05rem;font-weight:800;color:#fff;line-height:1.25;text-shadow:0 1px 4px rgba(0,0,0,.5);text-align:center;padding:7px 10px;background:linear-gradient(180deg,#000000a6,#0000008c);border-radius:12px;border:1px solid rgba(255,255,255,.08);pointer-events:none}.card__body{position:relative;z-index:var(--card-z-content-top);flex:1;display:flex;flex-direction:column;gap:8px;padding:2px 12px 18px;margin-top:0;min-height:0;pointer-events:none}.card .stats{display:flex;flex-wrap:wrap;gap:6px}.card .pill{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:6px;font-size:.72rem;font-weight:700;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);color:#e8e8ed}.effect{display:flex;flex-direction:column;gap:6px;font-size:.74rem;line-height:1.4;color:#c8c8d0;padding:10px 12px;background:linear-gradient(180deg,#ffffff0a,#00000061);border-radius:10px;border:1px solid rgba(255,255,255,.08)}.effect__text{font-size:.7rem;color:#eef2ff;line-height:1.45}.effect em,.effect__note{font-size:.78rem;color:#cbd5e1}.costBadge{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:.95rem;color:#fef3c7;text-shadow:0 2px 6px rgba(0,0,0,.6);z-index:var(--card-z-badge);pointer-events:none}.card.card--type-consigne{--typeColor: #3b82f6}.card.card--type-support{--typeColor: #22c55e}.card.card--type-analyse{--typeColor: #f59e0b}.card.card--type-lecture{--typeColor: #ec4899}.card.card--type-malus{--typeColor: #ef4444}.card.card--type-autre{--typeColor: rgba(148, 163, 184, .7)}@keyframes card-enter{0%{opacity:0;transform:translate(calc(-50% + var(--tx, 0px))) translateY(calc(var(--ty-base, 0px) + 60px)) rotate(var(--rot, 0deg)) scale(.8)}to{opacity:1;transform:translate(calc(-50% + var(--tx, 0px))) translateY(calc(var(--ty-base, 0px) + var(--ty, 0px))) rotate(var(--rot, 0deg)) scale(1)}}.hand{position:relative;grid-row:3;width:min(1200px,98%);height:min(320px,32vh);min-height:180px;margin:0 auto;padding-bottom:12px;display:flex;align-items:flex-end;justify-content:center;pointer-events:auto;z-index:var(--layer-card-hand);overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;overscroll-behavior-y:none;touch-action:pan-x}.hand::-webkit-scrollbar{height:10px}.hand::-webkit-scrollbar:vertical{width:0}.hand::-webkit-scrollbar-thumb:vertical{background:transparent}.hand::-webkit-scrollbar-corner{background:transparent}.hand:before{display:none}@media(max-width:900px){.card{width:170px;height:235px}.card-art{height:120px}.card__title{font-size:.9rem}.effect{font-size:.72rem}.costBadge{font-size:.85rem}}@media(max-width:600px){.card{width:140px;height:200px}.card-art{height:95px}.card:hover:not(.card--blocked) .cardInner{transform:translateY(-110px) rotate(calc(-1 * var(--rot, 0deg))) scale(1.1)}}.card__blocked-overlay{position:absolute;inset:0;background:#00000080;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:var(--card-z-overlay);border-radius:inherit;backdrop-filter:blur(2px)}.card__blocked-icon{font-size:2.5rem;margin-bottom:.25rem;filter:drop-shadow(0 2px 8px rgba(0,0,0,.6));text-shadow:0 2px 8px rgba(0,0,0,.5);animation:pulse-blocked 1.5s ease-in-out infinite}.card__blocked-text{font-size:.75rem;font-weight:600;color:#ff6b6b;text-transform:uppercase;letter-spacing:.05em;text-shadow:0 1px 4px rgba(0,0,0,.8);background:#0009;padding:.2rem .5rem;border-radius:4px}@keyframes pulse-blocked{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.card--shake{animation:shake-card .4s ease-in-out}@keyframes shake-card{0%,to{transform:translate(0) rotate(var(--rot, 0deg))}10%,30%,50%,70%,90%{transform:translate(-5px) rotate(var(--rot, 0deg))}20%,40%,60%,80%{transform:translate(5px) rotate(var(--rot, 0deg))}}.effect-badge--inconnu{background:#64646499;color:#888;font-style:italic}.effect-badge--maitrise{background:#22c55e33;border-color:var(--motivation)}.blocked-card-notif{position:fixed;top:20%;left:50%;transform:translate(-50%) translateY(-20px);background:linear-gradient(135deg,#2d1f1f,#1a1212);border:2px solid #ff6b6b;border-radius:12px;padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem;z-index:calc(var(--layer-toast) + 200);opacity:0;transition:all .3s ease;box-shadow:0 8px 32px #ff6b6b4d}.blocked-card-notif--visible{opacity:1;transform:translate(-50%) translateY(0)}.blocked-card-notif__icon{font-size:2rem}.blocked-card-notif__text{display:flex;flex-direction:column;gap:.25rem}.blocked-card-notif__text strong{color:#ff6b6b;font-size:1rem}.blocked-card-notif__text span{color:#aaa;font-size:.85rem}.card__pedago,.card .card-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0;padding:0;overflow:hidden;min-width:0;pointer-events:none;max-width:100%}.card__body .card-tags{margin:-10px 0 6px;padding:0;width:100%;max-width:100%;max-height:64px;flex-shrink:0;align-content:flex-start;justify-content:flex-start}.card__body .card-lifecycle{display:flex;align-items:center;margin:-2px 0 4px}.card-lifecycle-chip{display:inline-flex;align-items:center;justify-content:center;min-height:18px;padding:1px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:#0f172ab3;color:#f8fafc;font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;max-width:100%}.card-lifecycle-chip--consume{background:#7f1d1db8;border-color:#fca5a5b8;color:#fee2e2}.card-lifecycle-chip--recycle{background:#1e40afb8;border-color:#93c5fdb8;color:#dbeafe}.card__body .card-tags.card-tags--single{margin-top:-8px}.card__body .card-tags.card-tags--triple{gap:4px}.card__body .card-tags.card-tags--triple.card-tags--packed .card-tag{max-width:calc((100% - 4px)/2);padding:3px 6px;font-size:.64rem}.card__body .card-tags.card-tags--triple.card-tags--packed.card-tags--packed-strong .card-tag{max-width:100%;font-size:.62rem;padding:2px 5px}.card__body .card-tags.card-tags--triple.card-tags--packed-strong{display:grid;grid-template-columns:1fr;gap:3px}.card__body .card-tags.card-tags--triple.card-tags--packed-strong .card-tag{width:fit-content;justify-self:start}.card__pedago--missing,.card .card-tags--missing{color:#dce7f5;font-size:.85rem;opacity:.9}.card .card-tag,.pedago-badge,.pedago-chip{display:inline-flex;align-items:center;flex:0 1 auto;width:fit-content;max-width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#38bdf824;color:#c8f0ff;border:1px solid rgba(56,189,248,.35);border-radius:999px;padding:4px 8px;font-size:.75rem;text-transform:lowercase;letter-spacing:.01em}.pedago-chip{padding:2px 8px;font-size:12px;line-height:1.1}.pedago-chip--more{opacity:.9;font-weight:600;cursor:help;pointer-events:auto}.card-tag--more{opacity:.85;font-weight:600}.card--refused{animation:card-refused .4s ease;box-shadow:0 0 0 2px #ef444499,var(--card-shadow, 0 16px 30px rgba(0, 0, 0, .65))}@keyframes card-refused{0%{transform:translateY(0) scale(1)}30%{transform:translateY(-6px) scale(1.03)}60%{transform:translateY(2px) scale(.98)}to{transform:translateY(0) scale(1)}}.card{pointer-events:auto;cursor:grab;user-select:none;-webkit-user-select:none;-moz-user-select:none}body.is-dragging,body.is-dragging *{cursor:grabbing}.card__header,.card__body,.card__shadeTop,.card__shadeBottom,.card__blocked-overlay,.card-art,.card__img,.card__img--blur,.card__imgPlaceholder{pointer-events:none}.card.dragging .cardInner{transform:translateY(-150px) rotate(calc(-1 * var(--rot, 0deg))) scale(1.18);box-shadow:0 40px 120px #000000e6,0 0 0 2px color-mix(in srgb,var(--typeColor) 60%,rgba(255,255,255,.2));transition:none}.hand:has(.card.dragging) .card:not(.dragging){opacity:.6;filter:brightness(.7);transition:opacity .2s ease,filter .2s ease}.target-zone.drag-over,.dropzone.drag-over{background:#94a3b81f;border-color:#94a3b88c;box-shadow:0 0 18px #94a3b847;transform:scale(1.02);transition:all .16s ease}.dropzone--valid.drag-over{background:#22c55e29;border-color:#22c55ed9;box-shadow:0 0 22px #22c55e59}.dropzone--invalid.drag-over{background:#94a3b81a;border-color:#94a3b88c;box-shadow:0 0 16px #94a3b833}.card *{user-select:none;-webkit-user-select:none;-moz-user-select:none}.card__header:after{content:"";position:absolute;left:14px;right:14px;bottom:-6px;height:1px;background:linear-gradient(90deg,transparent,rgba(226,232,240,.45),transparent)}.card__title{font-size:1.12rem;letter-spacing:.01em}.card__body{background:linear-gradient(180deg,#080c14a6,#020617e6);border:1px solid rgba(148,163,184,.14);border-radius:12px}.card-level-badge{position:absolute;top:8px;left:8px;z-index:var(--card-z-badge, 10);display:inline-flex;align-items:center;justify-content:center;width:58px;height:24px;border-radius:999px;border:1px solid rgba(255,255,255,.36);font-size:.66rem;font-weight:900;line-height:1;letter-spacing:0;white-space:nowrap;pointer-events:none;box-shadow:0 6px 16px #00000061}.card-level-badge--level-2{color:#2a1308;background:linear-gradient(135deg,#d39b63,#b86b38);border-color:#f6bc82eb}.card-level-badge--level-3{color:#2d2100;background:linear-gradient(135deg,#ffe89a,#f5c542 48%,#c8901c);border-color:#fff1aaf2;box-shadow:0 6px 18px #0006,0 0 18px #f5c54259}.card--level-2 .cardInner{border-color:color-mix(in srgb,#c27a41 74%,rgba(255,255,255,.2))}.card--level-3 .cardInner{border-color:color-mix(in srgb,#f5c542 80%,rgba(255,255,255,.24));box-shadow:0 8px 24px #00000080,0 0 18px #f5c54247}.card--level-3 .cardInner:after{content:"";position:absolute;inset:0;z-index:calc(var(--card-z-content-top, 2) + 1);pointer-events:none;background:linear-gradient(115deg,transparent 0 34%,rgba(255,255,255,.18) 44%,transparent 54% 100%);mix-blend-mode:screen;opacity:.32}.card-level-badge--pulse,.card--evolved-now .card-level-badge{animation:card-level-pulse .68s cubic-bezier(.18,.82,.22,1) both}@keyframes card-level-pulse{0%{transform:scale(.82);filter:brightness(1)}45%{transform:scale(1.15);filter:brightness(1.24)}to{transform:scale(1);filter:brightness(1)}}.effect{font-size:.8rem;color:#f1f5f9eb}.effect__text{font-size:.78rem;color:#f1f5f9f2}.effect__note{color:#cbd5e1e6}.card.card--hover:not(.card--blocked):not(.card--disabled),.card.card--hover.is-selected:not(.card--blocked):not(.card--disabled){z-index:var(--layer-card-floating)}.card.card--hover:not(.card--blocked):not(.card--disabled) .cardInner,.card.card--hover.is-selected:not(.card--blocked):not(.card--disabled) .cardInner{transform:translateY(calc(-1 * var(--hover-lift, 160px))) rotate(calc(-1 * var(--rot, 0deg))) scale(var(--hover-scale, 1.1));box-shadow:0 30px 60px #000000bf,0 0 45px #fbbf2459}.card.is-selected,.card.card--selected{outline:2px solid rgba(251,191,36,.7);outline-offset:2px}.card--disabled,.card--disabled.card--blocked{filter:grayscale(65%) brightness(.85);opacity:.8}.card--disabled:hover .cardInner{box-shadow:0 8px 24px #00000080,0 0 18px #ef444459}@media(max-width:780px){.card{--hover-lift: 160px;--select-lift: 180px;--drag-lift: 150px;--hover-scale: 1.1}.hand{min-height:240px}}@media(max-height:900px){.card{--hover-lift: 145px;--select-lift: 165px;--drag-lift: 140px;--hover-scale: 1.1}}@media(max-height:760px){.card{--hover-lift: 120px;--select-lift: 138px;--drag-lift: 118px;--hover-scale: 1.08}}@media(max-width:420px){.card{width:132px;height:190px}.card__title{font-size:.95rem}}.deck-modal-open{overflow:hidden}.deck-modal-overlay{--deck-modal-overlay: rgba(15, 23, 42, .75);--deck-modal-surface: #0b1220;--deck-modal-border: rgba(255, 255, 255, .08);--deck-modal-divider: rgba(255, 255, 255, .06);--deck-modal-title: #e2e8f0;--deck-modal-muted: #94a3b8;--deck-modal-chip: rgba(255, 255, 255, .08);--deck-modal-chip-hover: rgba(255, 255, 255, .12);--deck-modal-shadow: 0 20px 70px rgba(0, 0, 0, .6);--deck-card-shadow: 0 12px 36px rgba(0, 0, 0, .35);--deck-card-surface: linear-gradient(180deg, rgba(148, 163, 184, .1), rgba(15, 23, 42, .8));--deck-card-visual-bg: #0f172a;--deck-card-empty-bg: rgba(255, 255, 255, .04);--deck-card-malus-bg: linear-gradient(180deg, rgba(239, 68, 68, .08), rgba(15, 23, 42, .85));--deck-card-malus-border: rgba(239, 68, 68, .25);--deck-card-malus-chip: rgba(239, 68, 68, .16);--deck-card-malus-text: #fecaca;position:fixed;inset:0;background:var(--deck-modal-overlay);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:2rem 1.25rem;z-index:calc(var(--layer-modal) + 200)}.deck-modal-overlay.visible{display:flex}.deck-modal{background:var(--deck-modal-surface);border:1px solid var(--deck-modal-border);border-radius:16px;box-shadow:var(--deck-modal-shadow);max-width:1100px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.deck-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--deck-modal-divider);gap:1rem}.deck-modal__title{font-size:1.1rem;font-weight:700;color:var(--deck-modal-title)}.deck-modal__subtitle{font-size:.9rem;color:var(--deck-modal-muted);margin-top:.1rem}.deck-modal__close{border:none;background:var(--deck-modal-chip);color:var(--deck-modal-title);border-radius:999px;width:34px;height:34px;cursor:pointer;font-size:1rem;transition:background .2s ease,transform .1s ease}.deck-modal__close:hover{background:var(--deck-modal-chip-hover);transform:translateY(-1px)}.deck-modal__body{padding:1rem 1.25rem 1.25rem;overflow:auto;max-height:calc(90vh - 80px)}.deck-modal__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(208px,208px));justify-content:center;gap:1rem}.deck-modal__empty{padding:2rem;text-align:center;color:color-mix(in srgb,var(--deck-modal-title) 80%,#000);background:var(--deck-card-empty-bg);border:1px dashed var(--deck-modal-border);border-radius:12px}.deck-card{position:relative;width:200px;height:360px}.deck-modal .deck-card.card{--layer-card-floating: 1;--card-z-hover: 1;--card-z-selected: 1;--card-z-dragging: 1;--card-z-blocked-hover: 1;position:relative;left:auto;bottom:auto;width:200px;height:360px;transform:none;animation:none;z-index:calc(var(--layer-modal) + 1);cursor:zoom-in;pointer-events:auto}.deck-modal .deck-card.card:before{display:none}.deck-modal .deck-card.card:hover .cardInner,.deck-modal .deck-card.card.is-selected .cardInner,.deck-modal .deck-card.card.dragging .cardInner{transform:translateY(0) scale(1);filter:none;box-shadow:var(--deck-card-shadow)}.deck-modal .deck-card .cardInner{box-shadow:var(--deck-card-shadow);border-color:color-mix(in srgb,var(--typeColor, rgba(148, 163, 184, .55)) 60%,rgba(255,255,255,.18))}.deck-modal .deck-card:focus-visible{outline:3px solid rgba(56,189,248,.85);outline-offset:4px}.deck-modal .deck-card .card-art{height:190px}.deck-modal .deck-card .card__body{padding-bottom:18px}.deck-modal .deck-card .card-cost img{width:15px;height:15px;object-fit:contain;image-rendering:pixelated}.deck-modal .deck-card .card-cost{gap:3px}.deck-modal .deck-card .card-tag{font-size:.68rem}.deck-modal .deck-card .effect{font-size:.72rem}.deck-modal .deck-card .effect__text{white-space:pre-line}.deck-modal .deck-card .card-effect-badge{bottom:10px;right:10px}.deck-card__top-badge{position:absolute;top:-9px;right:10px;z-index:calc(var(--layer-modal) + 12);display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:999px;font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#0c0d18;background:linear-gradient(135deg,#fcd34d,#fbbf24);box-shadow:0 6px 18px #00000059}.deck-card--top .cardInner{box-shadow:0 12px 34px #0000007a,0 0 0 1px #fcd34d52}@media(max-width:720px){.deck-modal__grid{grid-template-columns:repeat(auto-fit,minmax(172px,172px));gap:.85rem}.deck-card,.deck-modal .deck-card.card{width:172px;height:312px}.deck-modal .deck-card .card-art{height:155px}.deck-modal .deck-card .card__title{font-size:.9rem}}.card{--reading-scale: 1;--reading-blur: 0}.card__pedago{opacity:0;max-height:0;overflow:hidden;transition:opacity .3s ease,max-height .3s ease .1s;pointer-events:none}.card__body{max-height:none;overflow:visible}.card--reading-mode{position:relative;z-index:calc(var(--layer-hud) + 50);box-shadow:0 0 0 2px #fbbf24b3,0 12px 32px #0006}body.has-card-reading{overflow:hidden}body.has-card-reading .group-actions,body.has-card-reading .topbar-turn-actions{opacity:0;visibility:hidden;pointer-events:none}.card__inspect-btn{position:absolute;bottom:8px;right:8px;width:32px;height:32px;border-radius:50%;border:1px solid rgba(148,163,184,.3);background:#0f172ad9;backdrop-filter:blur(8px);color:#fbbf24f2;font-size:1rem;cursor:pointer;display:none;align-items:center;justify-content:center;z-index:calc(var(--layer-card-base) + 5);transition:all .2s ease}.card__inspect-btn:hover{background:#fbbf2433;border-color:#fbbf2480;transform:scale(1.1)}.card__inspect-btn:active{transform:scale(.95)}@media(max-width:780px),(hover:none){.card__inspect-btn{display:flex}}.card.entering-reading-mode,.card.exiting-reading-mode{animation:none}.card:after{content:"";position:absolute;bottom:0;left:0;width:0%;height:2px;background:linear-gradient(90deg,#fbbf24,#f59e0b);border-radius:2px;opacity:0;transition:opacity .2s ease;pointer-events:none}.card.hover-timer-active:after{opacity:1;animation:hover-progress .4s linear forwards}@keyframes hover-progress{0%{width:0%}to{width:100%}}body.is-dragging .card:not(.dragging){pointer-events:none}.card:focus-visible{outline:3px solid rgba(251,191,36,.8);outline-offset:4px}.card--reading-mode:focus-visible{outline:4px solid rgba(251,191,36,1)}@media print{.card--reading-mode{position:relative;transform:none}}.card-tooltip,#ui-tooltips{pointer-events:none}#ui-tooltips{position:fixed;inset:0;z-index:var(--layer-tooltips)}.card-tooltip{--tooltip-bg: rgba(30, 20, 10, .95);--tooltip-border: #8b7355;--tooltip-text: #f5e6d3;--tooltip-divider: rgba(245, 230, 211, .25);--tooltip-type-color: rgba(245, 230, 211, .95);--tooltip-type-bg: rgba(255, 255, 255, .08);--tooltip-type-border: rgba(255, 255, 255, .2);--tooltip-cost-color: rgba(245, 230, 211, .9);--tooltip-cost-icon-color: #fef3c7;--tooltip-resolved-border: rgba(245, 230, 211, .22);--tooltip-hint-color: rgba(245, 230, 211, .8);position:fixed;z-index:calc(var(--layer-tooltips) + 1);width:min(360px,calc(100vw - 16px));max-width:min(360px,calc(100vw - 16px));box-sizing:border-box;background:var(--tooltip-bg);border:2px solid var(--tooltip-border);border-radius:8px;padding:12px 16px;box-shadow:0 4px 12px #00000080;color:var(--tooltip-text);font-size:14px;opacity:0;transition:opacity .2s ease-in-out,border-color .15s ease,background .15s ease}.card-tooltip.card-tooltip--malus{--tooltip-bg: linear-gradient(180deg, rgba(66, 8, 16, .98), rgba(28, 0, 6, .98));--tooltip-border: rgba(255, 76, 116, .96);--tooltip-text: #ffe4e6;--tooltip-divider: rgba(255, 103, 139, .55);--tooltip-type-color: #fff1f2;--tooltip-type-bg: rgba(255, 55, 95, .42);--tooltip-type-border: rgba(255, 140, 168, .92);--tooltip-cost-color: #ffd1d7;--tooltip-cost-icon-color: #ff8ea8;--tooltip-resolved-border: rgba(255, 103, 139, .48);--tooltip-hint-color: rgba(255, 228, 230, .94);box-shadow:0 8px 18px #000000a8,0 0 0 2px #ff4c743d,0 0 26px #ff3f6b6b}.card-tooltip.card-tooltip--malus.malus-tone-brutal{--tooltip-bg: linear-gradient(180deg, rgba(88, 8, 18, .985), rgba(36, 0, 8, .985));--tooltip-border: rgba(255, 70, 105, .98);--tooltip-type-bg: rgba(255, 48, 92, .5);--tooltip-type-border: rgba(255, 145, 170, .95);--tooltip-cost-icon-color: #ff89a5;box-shadow:0 8px 18px #000000a8,0 0 0 2px #ff466952,0 0 24px #ff2d5a57}.card-tooltip.card-tooltip--malus.malus-tone-neon{--tooltip-bg: linear-gradient(180deg, rgba(66, 10, 42, .985), rgba(26, 0, 20, .985));--tooltip-border: rgba(255, 111, 212, .98);--tooltip-type-bg: rgba(255, 78, 194, .5);--tooltip-type-border: rgba(255, 187, 236, .96);--tooltip-cost-icon-color: #ffa3dd;box-shadow:0 8px 18px #000000ad,0 0 0 2px #ff67ce57,0 0 30px #ff58c780}.card-tooltip.card-tooltip--malus.malus-tone-brutal.malus-tone-neon{--tooltip-bg: linear-gradient(180deg, rgba(96, 8, 34, .99), rgba(34, 0, 18, .99));--tooltip-border: rgba(255, 96, 178, .99);--tooltip-type-bg: linear-gradient(90deg, rgba(255, 51, 99, .56), rgba(255, 82, 196, .56));--tooltip-type-border: rgba(255, 197, 232, .98);--tooltip-cost-icon-color: #fface1;box-shadow:0 10px 20px #000000b3,0 0 0 2px #ff5ea85c,0 0 36px #ff4cb094}.card-tooltip.is-visible{opacity:1}.card-tooltip__meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-tooltip__type{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--tooltip-type-color);background:var(--tooltip-type-bg);border:1px solid var(--tooltip-type-border)}.card-tooltip__type.card-tooltip__type--malus{font-weight:900;letter-spacing:.1em;text-shadow:0 0 8px rgba(255,120,150,.45)}.card-tooltip__type.card-tooltip__type--malus.malus-tone-neon,.card-tooltip__type.card-tooltip__type--malus.malus-tone-brutal.malus-tone-neon{text-shadow:0 0 10px rgba(255,132,214,.58)}.card-tooltip__cost{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--tooltip-cost-color)}.card-tooltip__cost.card-tooltip__cost--malus{font-weight:700;text-shadow:0 0 8px rgba(255,120,150,.3)}.card-tooltip__cost.card-tooltip__cost--malus.malus-tone-neon,.card-tooltip__cost.card-tooltip__cost--malus.malus-tone-brutal.malus-tone-neon{text-shadow:0 0 10px rgba(255,120,206,.45)}.card-tooltip__cost-icon{font-weight:800;font-size:14px;color:var(--tooltip-cost-icon-color);text-shadow:0 2px 6px rgba(0,0,0,.6);letter-spacing:.04em}.card-tooltip__divider{height:1px;margin:8px 0;background:var(--tooltip-divider)}.card-tooltip__effect{font-size:13px;line-height:1.4;display:grid;gap:6px}.card-tooltip__resolved{margin-top:8px;padding-top:8px;border-top:1px solid var(--tooltip-resolved-border);display:grid;gap:4px}.card-tooltip__resolved-title{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#f5e6d3db}.card-tooltip__resolved-line{font-size:12px;line-height:1.35;color:#f5e6d3f0}.card-tooltip__resolved-line--good{color:#9ef7b7}.card-tooltip__resolved-line--warn{color:#ffd79a}.card-tooltip__special-prefix{display:inline-flex;align-items:center;margin-right:4px;vertical-align:-2px}.card-tooltip__stats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.card-tooltip__stat{display:inline-flex;align-items:center;gap:4px;font-weight:700;padding:3px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f}.card-tooltip__stat-value{font-family:JetBrains Mono,Courier New,monospace}.card-tooltip__stat--positive{color:#9ef7b7}.card-tooltip__stat--negative{color:#ffd79a}.card-tooltip__effect-text{color:#f5e6d3eb}.card-tooltip__special-line{display:inline-flex;align-items:flex-start;gap:4px;color:#f5e6d3f0}.card-tooltip__special-text{line-height:1.4}.card-tooltip__hint{margin-top:8px;font-size:12px;color:var(--tooltip-hint-color);text-align:right}.inline-icon-wrap{display:inline-flex;align-items:center;justify-content:center;vertical-align:-3px;margin:0 4px}.inline-icon{display:block;width:18px;height:18px;image-rendering:pixelated}.inline-icon--cards{filter:none}.card-tooltip__stat .inline-icon-wrap,.card-tooltip__special-line .inline-icon-wrap{margin:0;vertical-align:middle}.card-inspect-modal{--inspect-backdrop: rgba(0, 0, 0, .85);--inspect-panel-bg: rgba(16, 24, 32, .96);--inspect-panel-border: rgba(245, 230, 211, .2);--inspect-panel-shadow: 0 24px 60px rgba(0, 0, 0, .6);--inspect-left-bg: rgba(12, 18, 24, .95);--inspect-left-separator: rgba(245, 230, 211, .1);--inspect-image-bg: rgba(15, 23, 42, .7);--inspect-image-border: rgba(245, 230, 211, .2);--inspect-text: #f5e6d3;--inspect-close-bg: rgba(245, 230, 211, .1);--inspect-close-bg-hover: rgba(245, 230, 211, .2);--inspect-close-border: rgba(245, 230, 211, .3);--inspect-close-text: #f5e6d3;--inspect-cost-text: rgba(245, 230, 211, .85);--inspect-cost-icon: #fef3c7;--inspect-section-title: rgba(251, 191, 36, .9);--inspect-copy: rgba(245, 230, 211, .9);--inspect-statline: rgba(168, 214, 255, .9);--inspect-tag-bg: rgba(139, 115, 85, .35);--inspect-tag-border: rgba(139, 115, 85, .6);--inspect-footer-bg: rgba(0, 0, 0, .6);--inspect-footer-text: rgba(245, 230, 211, .85);--inspect-footer-meta: rgba(245, 230, 211, .78);--inspect-footer-meta-label: rgba(245, 230, 211, .9);position:fixed;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s ease-in-out;z-index:var(--layer-card-inspect)}.card-inspect-modal.card-inspect-modal--malus{--inspect-backdrop: rgba(16, 0, 4, .93);--inspect-panel-bg: linear-gradient(180deg, rgba(66, 8, 14, .98), rgba(30, 0, 8, .98));--inspect-panel-border: rgba(255, 86, 126, .9);--inspect-panel-shadow: 0 28px 66px rgba(0, 0, 0, .78), 0 0 0 2px rgba(255, 70, 110, .26), 0 0 42px rgba(255, 60, 105, .34);--inspect-left-bg: rgba(42, 4, 10, .98);--inspect-left-separator: rgba(255, 118, 153, .48);--inspect-image-bg: rgba(56, 6, 12, .9);--inspect-image-border: rgba(255, 122, 158, .62);--inspect-text: #fee2e2;--inspect-close-bg: rgba(255, 94, 130, .28);--inspect-close-bg-hover: rgba(255, 118, 151, .44);--inspect-close-border: rgba(255, 131, 163, .78);--inspect-close-text: #ffe4e6;--inspect-cost-text: #ffd4db;--inspect-cost-icon: #ff96ad;--inspect-section-title: #ff9bb0;--inspect-copy: #ffe4e6;--inspect-statline: #ffd2d9;--inspect-tag-bg: rgba(255, 55, 95, .28);--inspect-tag-border: rgba(255, 130, 160, .72);--inspect-footer-bg: rgba(34, 0, 8, .78);--inspect-footer-text: rgba(254, 226, 226, .92);--inspect-footer-meta: rgba(255, 213, 221, .88);--inspect-footer-meta-label: rgba(255, 233, 237, .98)}.card-inspect-modal.card-inspect-modal--malus.malus-tone-brutal{--inspect-panel-bg: linear-gradient(180deg, rgba(92, 8, 18, .99), rgba(34, 0, 8, .99));--inspect-panel-border: rgba(255, 74, 114, .95);--inspect-panel-shadow: 0 28px 66px rgba(0, 0, 0, .8), 0 0 0 2px rgba(255, 74, 114, .34), 0 0 34px rgba(255, 60, 102, .32);--inspect-left-bg: rgba(54, 4, 12, .98);--inspect-left-separator: rgba(255, 118, 153, .56);--inspect-image-border: rgba(255, 138, 170, .74);--inspect-cost-icon: #ff8ea8;--inspect-tag-bg: rgba(255, 62, 108, .32);--inspect-tag-border: rgba(255, 134, 164, .78)}.card-inspect-modal.card-inspect-modal--malus.malus-tone-neon{--inspect-panel-bg: linear-gradient(180deg, rgba(82, 8, 66, .99), rgba(28, 0, 22, .99));--inspect-panel-border: rgba(255, 110, 214, .95);--inspect-panel-shadow: 0 28px 66px rgba(0, 0, 0, .8), 0 0 0 2px rgba(255, 103, 208, .34), 0 0 42px rgba(255, 82, 204, .44);--inspect-left-bg: rgba(52, 4, 40, .98);--inspect-left-separator: rgba(255, 152, 224, .58);--inspect-image-border: rgba(255, 170, 232, .74);--inspect-section-title: #ffb6e6;--inspect-cost-icon: #ffb0e0;--inspect-tag-bg: rgba(255, 86, 200, .3);--inspect-tag-border: rgba(255, 164, 230, .76)}.card-inspect-modal.card-inspect-modal--malus.malus-tone-brutal.malus-tone-neon{--inspect-panel-bg: linear-gradient(180deg, rgba(102, 6, 54, .995), rgba(34, 0, 20, .995));--inspect-panel-border: rgba(255, 102, 196, .98);--inspect-panel-shadow: 0 30px 72px rgba(0, 0, 0, .82), 0 0 0 2px rgba(255, 95, 182, .36), 0 0 50px rgba(255, 76, 178, .56);--inspect-left-bg: rgba(62, 2, 32, .985);--inspect-left-separator: rgba(255, 154, 220, .64);--inspect-image-border: rgba(255, 182, 236, .8);--inspect-section-title: #ffc5ea;--inspect-cost-icon: #ffb8e4;--inspect-tag-bg: linear-gradient(90deg, rgba(255, 63, 118, .34), rgba(255, 96, 210, .34));--inspect-tag-border: rgba(255, 184, 232, .84)}.card-inspect-modal.card-inspect-modal--malus .card-inspect-modal__title{color:#fff1f2;text-shadow:0 0 14px rgba(255,118,151,.4)}.card-inspect-modal.card-inspect-modal--malus .card-inspect-modal__cost{font-weight:700;text-shadow:0 0 8px rgba(255,120,150,.32)}.card-inspect-modal.is-visible{opacity:1;pointer-events:auto}.card-inspect-modal__backdrop{position:absolute;inset:0;background:var(--inspect-backdrop)}.card-inspect-modal__panel{position:relative;display:grid;grid-template-columns:40% 60%;max-width:900px;width:min(900px,92vw);background:var(--inspect-panel-bg);border:2px solid var(--inspect-panel-border);border-radius:16px;overflow:hidden;box-shadow:var(--inspect-panel-shadow);z-index:calc(var(--layer-card-inspect) + 1)}.card-inspect-modal__left{display:flex;flex-direction:column;align-items:center;padding:24px;gap:16px;background:var(--inspect-left-bg);border-right:2px solid var(--inspect-left-separator)}.card-inspect-modal__image{width:100%;aspect-ratio:3 / 4;border-radius:12px;overflow:hidden;background:var(--inspect-image-bg);border:1px solid var(--inspect-image-border);display:flex;align-items:center;justify-content:center}.card-inspect-modal__image img{width:100%;height:100%;object-fit:contain;object-position:center top}.card-inspect-modal__right{padding:24px 28px;display:flex;flex-direction:column;gap:16px;color:var(--inspect-text)}.card-inspect-modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-inspect-modal__title{font-size:22px;margin:0;flex:1 1 auto;min-width:0}.card-inspect-modal__level-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:64px;height:26px;border-radius:999px;border:1px solid rgba(255,255,255,.36);font-size:.72rem;font-weight:900;letter-spacing:0;color:#2a1308;background:linear-gradient(135deg,#d39b63,#b86b38);box-shadow:0 8px 18px #00000047}.card-inspect-modal__level-badge--level-3{color:#2d2100;background:linear-gradient(135deg,#ffe89a,#f5c542 48%,#c8901c);border-color:#fff1aaf0;box-shadow:0 8px 18px #0000004d,0 0 18px #f5c54252}.card-inspect-modal__close{width:32px;height:32px;border-radius:8px;border:1px solid var(--inspect-close-border);background:var(--inspect-close-bg);color:var(--inspect-close-text);font-size:18px;cursor:pointer}.card-inspect-modal__close:hover{background:var(--inspect-close-bg-hover)}.card-inspect-modal__cost{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--inspect-cost-text)}.card-inspect-modal__cost-icon{display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:var(--inspect-cost-icon);text-shadow:0 2px 6px rgba(0,0,0,.6);letter-spacing:.04em}.card-inspect-modal__section h3{margin:0 0 6px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--inspect-section-title)}.card-inspect-modal__section p,.card-inspect-modal__section li{margin:0 0 6px;font-size:14px;line-height:1.5;color:var(--inspect-copy)}.card-inspect-modal__statline{font-weight:600;color:var(--inspect-statline)}.card-inspect-modal__rules ul{margin:0;padding-left:18px}.card-inspect-modal__tags{display:flex;flex-wrap:wrap;gap:6px;max-height:2.6em;overflow:hidden}.card-inspect-modal__tag{padding:4px 8px;border-radius:999px;background:var(--inspect-tag-bg);border:1px solid var(--inspect-tag-border);font-size:12px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-inspect-modal__tag-empty{font-size:12px;opacity:.7}.card-inspect-modal__tag--more{opacity:.8;font-weight:600}.card-inspect-modal__footer{width:100%;background:var(--inspect-footer-bg);border-radius:12px;padding:12px 14px;color:var(--inspect-footer-text);font-size:12px;line-height:1.4}.card-inspect-modal__footer-title{font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}.card-inspect-modal__footer-text{margin:0 0 6px}.card-inspect-modal__footer-meta{margin-top:3px;font-size:11px;line-height:1.35;color:var(--inspect-footer-meta)}.card-inspect-modal__footer-meta-label{font-weight:700;color:var(--inspect-footer-meta-label)}@media(max-width:900px){.card-inspect-modal__panel{grid-template-columns:1fr}.card-inspect-modal__left{border-right:none;border-bottom:2px solid var(--inspect-left-separator)}}body.has-card-reading .game-scene #hand .card{pointer-events:none;cursor:default}body.has-card-reading .game-scene #hand .card *{pointer-events:none}body.has-card-reading .game-scene #hand .card:hover,body.has-card-reading .game-scene #hand .card:focus,body.has-card-reading .game-scene #hand .card.is-hovered,body.has-card-reading .game-scene #hand .card.card--hover{opacity:1;scale:1}body.has-card-reading .game-scene #hand .card:hover .cardInner,body.has-card-reading .game-scene #hand .card:focus .cardInner,body.has-card-reading .game-scene #hand .card.is-hovered .cardInner,body.has-card-reading .game-scene #hand .card.card--hover .cardInner{transform:translateY(0) scale(1);filter:none;box-shadow:none}body.has-card-reading .game-scene .hand,body.has-card-reading .game-scene .hand-area,body.has-card-reading .game-scene #hand-overlay{pointer-events:none}body.has-card-reading .game-scene #hand .card:not(.dragging){transition:none}body.has-card-reading .game-scene #hand .card:not(.dragging) .cardInner{transform:translateY(0) scale(1);transition:none}.end-turn-btn.hand-at-rest{animation:end-turn-pulse 2s ease-in-out infinite;box-shadow:0 0 #4caf50b3;position:relative;z-index:calc(var(--layer-card) + 200)}@keyframes end-turn-pulse{0%{box-shadow:0 0 #4caf50b3;transform:scale(1)}50%{box-shadow:0 0 0 10px #4caf5000;transform:scale(1.05)}to{box-shadow:0 0 #4caf5000;transform:scale(1)}}.end-turn-btn.hand-at-rest:hover{transform:scale(1.08);box-shadow:0 4px 20px #4caf5066}:root{--teacher-profile-select-layer-base: var(--layer-profile-select, 9600);--teacher-profile-code-modal-layer-base: var(--layer-profile-code-modal, 9700)}.teacher-profile-select-overlay{position:fixed;inset:0;background:#02040aeb;display:flex;align-items:center;justify-content:center;z-index:var(--teacher-profile-select-layer-base);padding:12px;opacity:0;transition:opacity .35s ease;backdrop-filter:blur(6px)}.teacher-profile-select-overlay.is-visible{opacity:1}.teacher-profile-select{width:100%;max-width:1100px;height:100%;max-height:100%;background:radial-gradient(ellipse 80% 40% at 50% 0%,rgba(60,80,120,.12),transparent),linear-gradient(180deg,#0a0e18,#0f131c 40%,#0b0f17);color:#f4f5f8;border-radius:18px;padding:16px 20px 14px;border:1px solid rgba(255,255,255,.06);box-shadow:0 0 80px #0009,0 0 0 1px #ffffff08 inset;display:flex;flex-direction:column;gap:10px;position:relative;isolation:isolate;overflow:hidden}.teacher-profile-select:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(127,179,255,.5),transparent)}.teacher-profile-select__header{text-align:center;position:relative;padding:2px 0;flex-shrink:0}.teacher-profile-select__header-deco{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);width:280px;height:60px;background:radial-gradient(ellipse,rgba(127,179,255,.08),transparent 70%);pointer-events:none}.teacher-profile-select__title{font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:800;margin:0;letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(180deg,#fff 20%,#94b8e0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 8px rgba(127,179,255,.2));position:relative}.teacher-profile-select__guide-card{position:absolute;left:50%;bottom:62px;transform:translate(-50%);width:min(620px,calc(100% - 36px));max-width:min(620px,calc(100% - 36px));padding:14px 16px;border-radius:18px;border:2px solid rgba(196,214,235,.9);background:radial-gradient(rgba(69,94,132,.35) 1px,transparent 1px),linear-gradient(180deg,#09152afa,#071022fa);background-size:10px 10px,auto;box-shadow:0 20px 40px #00000075;pointer-events:auto;z-index:calc(var(--teacher-profile-select-layer-base) + 5);transition:top .18s ease,right .18s ease,left .18s ease,bottom .18s ease,width .18s ease,transform .18s ease}.teacher-profile-select[data-tutorial-coach-pos=top-right] .teacher-profile-select__guide-card{inset:60px 16px auto auto;transform:none;width:min(390px,36vw);max-width:min(390px,36vw)}.teacher-profile-select[data-tutorial-coach-pos=bottom-center] .teacher-profile-select__guide-card{inset:auto auto 62px 50%;transform:translate(-50%);width:min(620px,calc(100% - 36px));max-width:min(620px,calc(100% - 36px))}.teacher-profile-select[data-tutorial-coach-viewport=desktop-wide][data-tutorial-coach-pos=top-right] .teacher-profile-select__guide-card{top:52px;right:20px;width:min(410px,32vw);max-width:min(410px,32vw)}.teacher-profile-select[data-tutorial-coach-viewport=desktop][data-tutorial-coach-pos=top-right] .teacher-profile-select__guide-card{top:58px;right:16px;width:min(390px,35vw);max-width:min(390px,35vw)}.teacher-profile-select[data-tutorial-coach-viewport=laptop][data-tutorial-coach-pos=top-right] .teacher-profile-select__guide-card{top:64px;right:12px;width:min(360px,40vw);max-width:min(360px,40vw)}.teacher-profile-select[data-tutorial-coach-viewport=desktop-wide][data-tutorial-coach-pos=bottom-center] .teacher-profile-select__guide-card{bottom:66px;width:min(660px,calc(100% - 48px));max-width:min(660px,calc(100% - 48px))}.teacher-profile-select[data-tutorial-coach-viewport=desktop][data-tutorial-coach-pos=bottom-center] .teacher-profile-select__guide-card{bottom:62px;width:min(620px,calc(100% - 36px));max-width:min(620px,calc(100% - 36px))}.teacher-profile-select[data-tutorial-coach-viewport=laptop][data-tutorial-coach-pos=bottom-center] .teacher-profile-select__guide-card{bottom:58px;width:min(560px,calc(100% - 28px));max-width:min(560px,calc(100% - 28px))}.teacher-profile-select[data-tutorial-coach-viewport=mobile][data-tutorial-coach-pos=bottom-center] .teacher-profile-select__guide-card{right:10px;left:10px;bottom:56px;transform:none;width:auto;max-width:none}.teacher-profile-select__focus{position:absolute;z-index:calc(var(--teacher-profile-select-layer-base) + 3);pointer-events:none;border-radius:16px;border:2px solid rgba(250,204,21,.95);box-shadow:0 0 0 9999px #02060f85,0 0 0 7px #fbbf242e,0 18px 40px #00000075;transition:top .18s ease,left .18s ease,width .18s ease,height .18s ease}.teacher-profile-select__focus[hidden]{display:none}.teacher-profile-select .is-teacher-tutorial-focus-target{position:relative;z-index:calc(var(--teacher-profile-select-layer-base) + 2);outline:2px dashed rgba(250,204,21,.9);outline-offset:4px}.teacher-profile-select__grid.is-teacher-tutorial-focus-target{border-radius:14px}.teacher-profile-select__guide-step{margin:0 0 8px;display:inline-flex;padding:3px 10px;border-radius:999px;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#e0f2fe;border:1px solid rgba(125,211,252,.46);background:#0e2d48a6}.teacher-profile-select__guide-title{margin:0 0 8px;font-size:clamp(1.45rem,2.4vw,1.95rem);line-height:1.12;color:#e2e8f0}.teacher-profile-select__guide-description{margin:0 0 10px;color:#e2e8f0f0;font-size:clamp(1.05rem,1.7vw,1.18rem);line-height:1.38}.teacher-profile-select__guide-hint{margin:0 0 12px;padding:8px 10px;border-radius:12px;border:1px solid rgba(56,189,248,.58);background:#0369a133;color:#dbeafe;font-size:1.02rem;line-height:1.3}.teacher-profile-select__guide-actions{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 10px}.teacher-profile-select__guide-btn{border-radius:999px;min-height:44px;padding:0 22px;font-size:.95rem;font-weight:700;letter-spacing:.01em;cursor:pointer}.teacher-profile-select__guide-btn--secondary{justify-self:start;border:1px solid rgba(148,163,184,.5);background:#0f172a75;color:#e2e8f0e6}.teacher-profile-select__guide-btn--primary{justify-self:end;border:1px solid rgba(252,211,77,.76);background:linear-gradient(180deg,#fde047f0,#f59e0bf5);color:#1f2937;box-shadow:0 6px 14px #f59e0b3d}.teacher-profile-select__guide-btn--secondary:disabled,.teacher-profile-select__guide-btn--primary:disabled{opacity:.55;cursor:not-allowed}.teacher-profile-select[data-tutorial-overlay=locked] .teacher-profile-select__guide-card{border-color:#fbbf24a6}.teacher-profile-select[data-tutorial-overlay=profileInfo] .teacher-profile-select__guide-card{border-color:#c084fcb8}.teacher-profile-select[data-tutorial-overlay=profileInfo] .teacher-profile-select__guide-hint{border-color:#c084fc80;background:#581c873d;color:#f3e8fff5}.teacher-profile-select[data-tutorial-overlay=locked] .teacher-profile-select__guide-hint{border-color:#fbbf2473;background:#78350f42;color:#fef3c7f2}.teacher-profile-select[data-tutorial-overlay=ready] .teacher-profile-select__guide-card{border-color:#4ade80a6}.teacher-profile-select[data-tutorial-overlay=ready] .teacher-profile-select__guide-hint{border-color:#4ade806b;background:#15803d38;color:#dcfce7f5}.teacher-profile-select__message{min-height:18px;color:#ffb347;font-size:.8rem;text-align:center;flex-shrink:0}.teacher-profile-select__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;flex:1;min-height:0}@media(min-width:769px){.teacher-profile-select[data-profile-count="6"]{max-width:min(1500px,calc(100vw - 24px));padding-left:14px;padding-right:14px}.teacher-profile-select__grid[data-profile-count="6"]{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:10px;align-items:stretch}.teacher-profile-select__grid[data-profile-count="6"] .teacher-profile-card{height:100%;min-height:0}}.teacher-profile-card{--card-accent: #7fb3ff;position:relative;border-radius:14px;border:2px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#ffffff08,#00000026);color:inherit;padding:0;text-align:center;display:flex;flex-direction:column;cursor:pointer;transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease;overflow:hidden;animation:cardEntrance .45s ease both;animation-delay:calc(var(--card-index, 0) * .07s)}@keyframes cardEntrance{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.teacher-profile-card:focus{outline:2px solid var(--card-accent);outline-offset:2px}.teacher-profile-card:hover{transform:translateY(-3px)}.teacher-profile-card:not(.is-locked):hover{border-color:color-mix(in srgb,var(--card-accent) 50%,transparent);box-shadow:0 6px 24px #0006,0 0 16px color-mix(in srgb,var(--card-accent) 12%,transparent)}.teacher-profile-card.is-selected{border-color:var(--card-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--card-accent) 30%,transparent),0 0 20px color-mix(in srgb,var(--card-accent) 18%,transparent),0 4px 16px #0000004d}.teacher-profile-card.is-selected:after{content:"";position:absolute;inset:0;border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--card-accent) 6%,transparent),transparent 40%);pointer-events:none}.teacher-profile-card--tutorial-recommended:not(.is-selected){border-color:color-mix(in srgb,var(--card-accent) 72%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--card-accent) 40%,transparent),0 0 18px color-mix(in srgb,var(--card-accent) 22%,transparent);animation:tutorialRecommendedPulse 1.8s ease-in-out infinite}@keyframes tutorialRecommendedPulse{0%,to{transform:translateY(-1px);box-shadow:0 0 0 1px color-mix(in srgb,var(--card-accent) 40%,transparent),0 0 18px color-mix(in srgb,var(--card-accent) 20%,transparent)}50%{transform:translateY(-3px);box-shadow:0 0 0 1px color-mix(in srgb,var(--card-accent) 60%,transparent),0 0 24px color-mix(in srgb,var(--card-accent) 30%,transparent)}}.teacher-profile-card.is-locked{cursor:not-allowed}.teacher-profile-card.is-locked:before{content:"";position:absolute;inset:0;z-index:calc(var(--teacher-profile-select-layer-base) + 5);pointer-events:none;border-radius:12px;opacity:0;transition:opacity .3s ease;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,50,50,.04) 2px,rgba(255,50,50,.04) 4px);mix-blend-mode:screen}.teacher-profile-card.is-locked:hover:before{opacity:1}.teacher-profile-card.is-locked .teacher-profile-card__portrait-container{filter:saturate(.25) brightness(.7);transition:filter .35s ease}.teacher-profile-card.is-locked:hover .teacher-profile-card__portrait-container{filter:saturate(.4) brightness(.85)}.teacher-profile-card__portrait-container{position:relative;width:100%;flex:1;min-height:0;overflow:hidden;background:linear-gradient(180deg,#0000000d,#00000040)}.teacher-profile-card__aura{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:130%;height:50%;background:radial-gradient(ellipse at 50% 100%,color-mix(in srgb,var(--card-accent) 14%,transparent),transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.teacher-profile-card:not(.is-locked):hover .teacher-profile-card__aura,.teacher-profile-card.is-selected .teacher-profile-card__aura{opacity:1}.teacher-profile-card.is-locked:hover .teacher-profile-card__aura{opacity:.6;background:radial-gradient(ellipse at 50% 100%,rgba(255,40,40,.12),transparent 70%)}.teacher-profile-card__portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transition:opacity .35s ease,transform .4s ease}.teacher-profile-card__portrait--inactive{opacity:1}.teacher-profile-card__portrait--active{opacity:0;transform:scale(1.02)}.teacher-profile-card:hover .teacher-profile-card__portrait--inactive{opacity:0}.teacher-profile-card:hover .teacher-profile-card__portrait--active,.teacher-profile-card.is-selected .teacher-profile-card__portrait--active{opacity:1;transform:scale(1)}.teacher-profile-card.is-selected .teacher-profile-card__portrait--inactive{opacity:0}.teacher-profile-card__portrait-container:after{content:"";position:absolute;bottom:0;left:0;right:0;height:18%;background:linear-gradient(to top,#0a0e18,transparent);pointer-events:none;z-index:calc(var(--teacher-profile-select-layer-base) + 1)}.teacher-profile-card__lock{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:calc(var(--teacher-profile-select-layer-base) + 3)}.teacher-profile-card__lock-icon{width:32px;height:32px;fill:#ffffff80;filter:drop-shadow(0 2px 10px rgba(0,0,0,.8));transition:opacity .3s ease}.teacher-profile-card.is-locked:hover .teacher-profile-card__lock-icon{opacity:.3}.teacher-profile-card__info{padding:8px 8px 10px;display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;position:relative;z-index:calc(var(--teacher-profile-select-layer-base) + 2)}.teacher-profile-card__label{font-weight:800;font-size:clamp(.75rem,1.2vw,.95rem);line-height:1.2;color:#f4f5f8}.teacher-profile-card.is-locked .teacher-profile-card__label{color:#f4f5f866;font-style:italic}.teacher-profile-card__info-slot{width:70%;height:4px;border-radius:2px;background:#ffffff0f;transition:background .3s ease}.teacher-profile-card__info-slot.is-revealed{width:100%;height:auto;min-height:1.35em;border-radius:6px;padding:3px 6px;background:#ffffff14;color:#f4f5f8e0;font-size:.64rem;line-height:1.25;letter-spacing:.01em;text-align:left;display:-webkit-box;-webkit-box-orient:vertical;text-overflow:ellipsis;overflow:hidden}.teacher-profile-card__info-slot[data-slot=description]{width:85%}.teacher-profile-card__info-slot[data-slot=special]{width:55%}.teacher-profile-card__info-slot.is-revealed[data-slot=description],.teacher-profile-card__info-slot.is-revealed[data-slot=special]{width:100%}.teacher-profile-card__info-slot[data-slot=tagline].is-revealed{-webkit-line-clamp:1;text-align:center;font-weight:700}.teacher-profile-card__info-slot[data-slot=description].is-revealed{display:block;-webkit-line-clamp:unset;position:relative;max-height:5.2em;padding-bottom:.7em;overflow:hidden;text-overflow:clip}.teacher-profile-card__info-slot[data-slot=description].is-revealed:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.45em;pointer-events:none;background:linear-gradient(180deg,#0a0e1800,#0a0e18f5)}.teacher-profile-card__info-slot[data-slot=special].is-revealed{-webkit-line-clamp:1;text-align:center;color:color-mix(in srgb,var(--card-accent) 65%,#f4f5f8);font-style:italic}.teacher-profile-card:not(.is-locked):hover .teacher-profile-card__info-slot{background:color-mix(in srgb,var(--card-accent) 15%,transparent)}.teacher-profile-card.is-selected .teacher-profile-card__info-slot{background:color-mix(in srgb,var(--card-accent) 20%,transparent)}.teacher-profile-card.is-locked .teacher-profile-card__info-slot{background:#ffffff08}.teacher-profile-card.is-locked .teacher-profile-card__info-slot.is-revealed{background:#ffffff0d;color:#f4f5f894}.teacher-profile-card__intel{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:#f4f5f861}.teacher-profile-card:not(.is-locked):hover .teacher-profile-card__intel,.teacher-profile-card.is-selected .teacher-profile-card__intel{color:color-mix(in srgb,var(--card-accent) 75%,#f4f5f8)}.teacher-profile-card__selected{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--card-accent);margin-top:2px;opacity:0;transform:translateY(3px);transition:opacity .25s ease,transform .25s ease}.teacher-profile-card.is-selected .teacher-profile-card__selected{opacity:1;transform:translateY(0)}.teacher-profile-select__bottom{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding-top:6px}.teacher-profile-select__bottom--single-action{justify-content:flex-start}.teacher-profile-select__code-link{background:transparent;border:none;color:#f4f5f859;font-size:.78rem;cursor:pointer;padding:6px 12px;border-radius:6px;transition:color .2s ease,background .2s ease;letter-spacing:.02em}.teacher-profile-select__code-link:hover{color:#f4f5f8b3;background:#ffffff0a}.teacher-profile-select__code-link:focus{outline:1px solid rgba(127,179,255,.4);outline-offset:2px}.teacher-profile-select__confirm{background:linear-gradient(135deg,#5a9cff,#7fb3ff);border:none;color:#0a0e18;font-weight:800;font-size:.95rem;padding:12px 36px;border-radius:10px;cursor:pointer;text-transform:uppercase;letter-spacing:.06em;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 16px #5a9cff40}.teacher-profile-select__confirm:hover{transform:translateY(-2px);box-shadow:0 6px 24px #5a9cff59}.teacher-profile-select__confirm:active{transform:translateY(0)}.teacher-profile-select__confirm:focus{outline:2px solid #f4f5f8;outline-offset:3px}.code-modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:var(--teacher-profile-code-modal-layer-base);opacity:0;transition:opacity .25s ease;backdrop-filter:blur(4px)}.code-modal-overlay.is-visible{opacity:1}.code-modal{background:#12161f;border:1px solid rgba(127,179,255,.2);border-radius:14px;padding:28px 32px;width:min(400px,90vw);display:flex;flex-direction:column;gap:16px;box-shadow:0 20px 60px #00000080}.code-modal__title{margin:0;font-size:1.1rem;font-weight:700;color:#f4f5f8;text-align:center;letter-spacing:.03em}.code-modal__input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#f4f5f8;font-size:1rem;font-family:monospace;text-transform:uppercase;letter-spacing:.06em;text-align:center;box-sizing:border-box;transition:border-color .2s ease,background .2s ease}.code-modal__input:focus{outline:none;border-color:#7fb3ff;background:#7fb3ff14}.code-modal__input::placeholder{color:#f4f5f84d;text-transform:none}.code-modal__result{min-height:20px;font-size:.85rem;text-align:center}.code-modal__result--success{color:#6dd56d}.code-modal__result--error{color:#ff7b7b}.code-modal__actions{display:flex;gap:10px;justify-content:center}.code-modal__cancel{padding:10px 20px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:transparent;color:#f4f5f899;cursor:pointer;font-size:.9rem;transition:background .2s ease,color .2s ease}.code-modal__cancel:hover{background:#ffffff0d;color:#f4f5f8}.code-modal__submit{padding:10px 24px;border-radius:8px;border:none;background:linear-gradient(135deg,#5a9cff,#7fb3ff);color:#0a0e18;font-weight:700;cursor:pointer;font-size:.9rem;transition:transform .15s ease,box-shadow .15s ease}.code-modal__submit:hover{transform:translateY(-1px);box-shadow:0 4px 12px #5a9cff4d}.code-modal__cancel:focus,.code-modal__submit:focus{outline:2px solid #f4f5f8;outline-offset:2px}@media(max-width:768px){.teacher-profile-select__grid{grid-template-columns:repeat(3,1fr);gap:8px}.teacher-profile-select{padding:12px 10px 10px;gap:8px}.teacher-profile-select__guide-card{right:10px;left:10px;transform:none;width:auto;max-width:none;padding:12px}.teacher-profile-select__guide-title{font-size:clamp(1.25rem,4.2vw,1.6rem)}.teacher-profile-select__guide-description,.teacher-profile-select__guide-hint{font-size:.95rem}.teacher-profile-select__guide-actions{grid-template-columns:1fr}.teacher-profile-select__guide-btn--secondary,.teacher-profile-select__guide-btn--primary{justify-self:stretch}.teacher-profile-card__info-slot[data-slot=description].is-revealed{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;position:static;max-height:none;padding-bottom:3px;overflow:hidden;text-overflow:ellipsis}.teacher-profile-card__info-slot[data-slot=description].is-revealed:after{display:none}}@media(max-width:480px){.teacher-profile-select__grid{grid-template-columns:repeat(2,1fr);gap:6px}.teacher-profile-select__confirm{padding:10px 20px;font-size:.85rem}.teacher-profile-card__info{padding:6px 6px 8px}.teacher-profile-card__info-slot[data-slot=description].is-revealed{-webkit-line-clamp:2}}.game-topbar{grid-row:1;width:100%;display:flex;justify-content:center;pointer-events:auto;z-index:var(--layer-hud)}.game-topbar__inner{width:min(1360px,100%);display:flex;flex-direction:column;gap:4px;padding:4px 8px;border-radius:18px;background:var(--game-shell-panel-bg);border:1px solid var(--game-shell-panel-border);backdrop-filter:blur(16px);box-shadow:var(--game-shell-panel-shadow)}.game-topbar__row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.game-topbar__row--pilotage{justify-content:center;align-items:center}.game-topbar__row--diagnostic{min-height:34px;align-items:center;padding:1px 5px;border-radius:14px;background:var(--ui-surface-glass-soft);border:1px solid var(--ui-border-soft)}.game-topbar__cluster{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.game-topbar .icon-themed{width:100%;height:100%;object-fit:cover}.game-topbar .stat-chip[hidden],.game-topbar .deck-chip[hidden]{display:none}.game-topbar__portrait{position:relative;display:flex;align-items:center;flex:0 0 auto;padding:3px;border-radius:16px;background:var(--ui-surface-glass-soft);border:1px solid var(--ui-border-soft);box-shadow:inset 0 1px #ffffff0a}.game-topbar .prof-portrait{width:56px;height:56px;border-radius:12px;outline-width:2px}.teacher-profile-badge{position:absolute;left:4px;right:4px;bottom:4px;display:inline-flex;flex-direction:column;gap:1px;max-width:none;padding:2px 4px;border-radius:7px;background:#060a14d1;border:1px solid var(--ui-pill-border);box-shadow:0 6px 18px #00000057;backdrop-filter:blur(5px);pointer-events:auto;transition:opacity .12s ease,transform .12s ease}body.is-profile-tooltip-open .teacher-profile-badge{opacity:0;transform:translateY(3px);pointer-events:none}.teacher-profile-badge__name{font-size:.52rem;font-weight:700;color:var(--text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-profile-badge__special{font-size:.48rem;color:#d6e7ffe0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-cluster--primary,.game-topbar__cluster--resources{flex:0 1 auto;align-self:center;padding:3px;border-radius:14px;background:var(--ui-surface-glass-soft);border:1px solid var(--ui-border-soft);box-shadow:inset 0 1px #ffffff08}.hud-cluster--secondary,.game-topbar__cluster--secondary{flex:0 1 auto;align-self:center;padding:3px;border-radius:14px;background:var(--ui-surface-glass-soft);border:1px solid var(--ui-border-soft)}.hud-cluster--secondary{justify-content:flex-start}.game-topbar__carnet{flex:0 0 auto}.topbar-failure{flex:1 1 520px;min-width:220px;background:var(--ui-surface-glass-soft);border:1px solid var(--ui-border-soft);border-radius:12px;padding:6px 8px;color:var(--text);font-size:.8rem;text-align:left;cursor:pointer;transition:background .2s ease,border .2s ease;overflow:hidden}.topbar-failure:hover{background:var(--ui-surface-glass-accent);border-color:var(--ui-border-mid)}.topbar-failure:focus-visible{outline:var(--ui-focus-ring);outline-offset:2px}.topbar-failure--empty{cursor:default;opacity:.7}.topbar-failure--empty:hover{background:#ffffff0a;border-color:#ffffff1a}.topbar-failure:disabled{cursor:default}.topbar-failure[aria-disabled=true]{cursor:default}.topbar-failure--diagnostic{border-color:#7dd3fc47}.topbar-failure--source-failure{border-color:#f871717a;background:linear-gradient(135deg,#7f1d1d2e,#0f172a57),var(--ui-surface-glass-soft)}.topbar-failure--source-hand_malus,.topbar-failure--source-student,.topbar-failure--source-resource,.topbar-failure--source-cadence{border-color:#fbbf245c}.topbar-failure--source-enemy_malus{border-color:#38bdf857}.topbar-failure--source-stable{border-color:#22c55e42}.topbar-failure__text{display:flex;flex-direction:column;gap:1px;min-width:0}.topbar-failure__headline{display:flex;align-items:center;gap:8px;min-width:0}.topbar-failure__icon{width:16px;height:16px;object-fit:contain;flex:0 0 auto}.topbar-failure__headline-text{font-weight:700;color:var(--text-bright);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-failure__subline{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;line-height:1.2;color:#e2e8f0e6}.topbar-failure__segment{display:inline-block;max-width:100%;padding:1px 7px;border-radius:999px;border:1px solid transparent;vertical-align:middle}.topbar-failure__segment-label{font-weight:700;margin-right:4px}.topbar-failure__segment-text{color:#f8fafcf2}.topbar-failure__segment-sep{display:inline-block;margin:0 4px;color:#94a3b8cc}.topbar-failure__segment--now{background:#f59e0b29;border-color:#f59e0b6b}.topbar-failure__segment--now .topbar-failure__segment-label{color:#fcd34dfa}.topbar-failure__segment--risk{background:#ef444429;border-color:#ef444473}.topbar-failure__segment--risk .topbar-failure__segment-label{color:#fca5a5fa}.topbar-failure__segment--action{background:#10b98129;border-color:#10b98173}.topbar-failure__segment--action .topbar-failure__segment-label{color:#6ee7b7fa}.topbar-failure__segment--action .topbar-failure__segment-text{color:#dcfce7fa}.topbar-failure__segment--rule{background:#8b5cf629;border-color:#a78bfa73}.topbar-failure__segment--rule .topbar-failure__segment-label{color:#d8b4fefa}.topbar-failure__segment--rule .topbar-failure__segment-text{color:#ede9fefa}.topbar-failure__segment-label,.topbar-failure__segment-text{vertical-align:middle}.topbar-failure__segment-label,.topbar-failure__segment-text,.topbar-failure__segment-sep{white-space:nowrap}.topbar-failure__tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:26px}.topbar-failure__tags[hidden]{display:none}.hud-failure-axis-badge{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:5px 9px;border-radius:12px;border:1px solid var(--ui-border-soft);background:var(--ui-surface-glass-soft);color:var(--text-bright);font-size:.76rem;font-weight:800;white-space:nowrap}.hud-failure-axis-tooltip{display:grid;gap:8px;min-width:min(78vw,320px)}.hud-failure-axis-tooltip__title{color:#ffecf4f5;font-size:.92rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.hud-failure-axis-tooltip__row{display:grid;grid-template-columns:minmax(110px,1fr) auto auto;gap:8px;align-items:center;padding:6px 8px;border-radius:8px;background:#0f172a5c;border:1px solid rgba(255,255,255,.08)}.hud-failure-axis-tooltip__axis{color:#f8fafcf5;font-weight:700}.hud-failure-axis-tooltip__value,.hud-failure-axis-tooltip__debt{color:#e2e8f0d6;font-size:.78rem;white-space:nowrap}.game-mobile-hud-panel__section{display:grid;gap:6px;min-width:0}body.page-game:not(.mobile-ui) .game-topbar__row--diagnostic .game-mobile-hud-panel__section:not(.game-mobile-hud-panel__section--failure){display:none}body.page-game:not(.mobile-ui) .game-topbar__row--diagnostic .topbar-failure__tags{display:none}.game-mobile-hud-panel__section--failure{grid-template-columns:minmax(0,1fr);flex:1 1 100%;width:100%}.game-mobile-hud-panel__failure-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.game-mobile-hud-panel__turn-actions-anchor{display:flex;align-items:stretch;justify-content:flex-end}.game-mobile-hud-panel__turn-actions-anchor:empty{display:none}.game-mobile-hud-panel__turn-actions-anchor .topbar-turn-actions{margin-left:0;min-width:0;padding:0;border:0;background:none}.game-mobile-hud-panel__turn-actions-anchor .end-turn-btn.end-turn-btn--hud{min-width:clamp(160px,15vw,220px);min-height:44px}.topbar-tag{padding:2px 8px;border-radius:999px;font-size:.75rem;background:#38bdf81f;border:1px solid rgba(56,189,248,.35);color:var(--text-bright)}.topbar-tag--status{font-weight:700}.topbar-tag--status-ok{background:#22c55e2e;border-color:#22c55e73}.topbar-tag--status-ko{background:#ef444429;border-color:#ef444466}.topbar-tag--match{background:#22c55e2e;border-color:#22c55e73}.turn-diagnostic-tooltip{display:grid;gap:9px;width:min(78vw,520px);color:#e2e8f0f5;white-space:normal}.tooltip.tooltip--diagnostic{max-width:min(92vw,560px);padding:16px 18px;background:radial-gradient(112% 128% at 0% 0%,rgba(56,189,248,.18) 0%,transparent 56%),linear-gradient(156deg,#0f172afa,#0a0f1cfa 62%,#080c17f7);border-color:#7dd3fc52;box-shadow:0 18px 48px #020617a3,0 0 0 1px #7dd3fc2e,0 0 26px #38bdf821}.tooltip.tooltip--diagnostic.visible{animation:tooltip-failure-pop .22s cubic-bezier(.18,.82,.24,1)}.tooltip--diagnostic .tooltip-inner{grid-template-columns:1fr;gap:0}.tooltip--diagnostic .tooltip-icon{display:none}.tooltip--diagnostic .tooltip-text{min-width:0}.tooltip--diagnostic .tooltip-title{margin-bottom:10px;font-size:1.2rem;letter-spacing:.06em;color:#ecf8fffa;text-shadow:0 0 14px rgba(56,189,248,.22)}.tooltip--diagnostic .tooltip-desc{white-space:normal;color:#e2e8f0f5}.turn-diagnostic-tooltip__summary,.turn-diagnostic-tooltip__row,.turn-diagnostic-tooltip__links,.turn-diagnostic-tooltip__tags,.turn-diagnostic-tooltip__hint{min-width:0}.turn-diagnostic-tooltip__summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:3px;border-bottom:1px solid rgba(148,163,184,.2)}.turn-diagnostic-tooltip__title{min-width:0;color:#f8fafcfa;font-weight:800;overflow-wrap:anywhere}.turn-diagnostic-tooltip__source{flex:0 0 auto;color:#bae6fde0;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.turn-diagnostic-tooltip__row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:baseline}.turn-diagnostic-tooltip__label{color:#94a3b8e6;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.turn-diagnostic-tooltip__value{min-width:0;color:#f8fafcf0;line-height:1.35;overflow-wrap:anywhere;text-wrap:pretty}.turn-diagnostic-tooltip__links{color:#7dd3fceb;font-size:.8rem;font-weight:700}.turn-diagnostic-tooltip__tags{display:flex;flex-wrap:wrap;gap:6px}.turn-diagnostic-tooltip__tag,.turn-diagnostic-tooltip__empty{padding:3px 7px;border-radius:999px;border:1px solid rgba(148,163,184,.28);background:#0f172a57;color:#e2e8f0e6;font-size:.74rem}.turn-diagnostic-tooltip__tag--match{border-color:#22c55e6b;background:#22c55e29;color:#dcfce7fa}.turn-diagnostic-tooltip__hint{color:#cbd5e1b8;font-size:.76rem}.topbar-details-btn{width:32px;height:32px;padding:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:#ffffff0a;border:1px solid rgba(148,163,184,.32);color:#e2e8f0eb;font-weight:700;font-size:.88rem;line-height:1;cursor:pointer;transition:background .2s ease,border .2s ease}.topbar-details-btn[hidden]{display:none}.topbar-details-btn:hover{background:#38bdf829;border-color:#38bdf875}.topbar-details-btn:focus-visible{outline:2px solid rgba(56,189,248,.7);outline-offset:2px}.topbar-details-btn:disabled{opacity:.35;cursor:not-allowed}.topbar-turn-actions{margin-left:auto;position:relative;display:inline-flex;flex-direction:column;align-items:stretch;gap:3px;min-width:max-content;padding:3px;border-radius:14px;background:linear-gradient(180deg,#ffffff0b,#ffffff05);border:1px solid rgba(173,189,214,.12)}.end-turn-btn.end-turn-btn--hud{min-height:40px;padding:6px 10px;font-size:.76rem;letter-spacing:.02em;border-radius:12px;white-space:normal;text-align:center}.end-turn-confirm.end-turn-confirm--hud{position:absolute;top:calc(100% + 6px);right:0;max-width:250px;text-align:right;font-size:.72rem;line-height:1.25;color:#dbe4f3;padding:6px 8px;border-radius:8px;background:#0f172ae6;border:1px solid rgba(148,163,184,.28);box-shadow:0 10px 24px #00000061}.stat-chip{pointer-events:auto;min-width:96px;min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:4px 6px;background:linear-gradient(180deg,#ffffff12,#ffffff08);border:1px solid rgba(173,189,214,.14);border-radius:12px;backdrop-filter:blur(10px);box-shadow:0 10px 24px #00000038;font-family:JetBrains Mono,monospace;font-weight:700;color:var(--text)}.stat-chip.energy,.stat-chip.stress{min-width:104px;transform:none}.stat-chip.confidence,.stat-chip.motivation,.stat-chip.appui{min-width:100px}.stat-chip--time{min-width:84px;align-self:stretch;padding-inline:8px}.game-topbar .stat-chip .icon,.game-topbar .deck-chip .icon{width:30px;height:30px;border-radius:10px;font-size:.96rem}.game-topbar .deck-chip .icon{width:24px;height:24px;border-radius:8px}.game-topbar .stat-chip__content{gap:2px}.game-topbar .stat-chip__label{font-size:.62rem;letter-spacing:.05em}.game-topbar .stat-chip__value{font-size:1rem}.game-topbar .stat-chip.energy .stat-chip__value,.game-topbar .stat-chip.stress .stat-chip__value{font-size:1.08rem}.game-topbar .deck-chip,.game-topbar__carnet{min-width:72px;min-height:52px;height:52px;gap:2px;overflow:hidden}.game-topbar .deck-chip{width:74px;padding:3px 5px;border-radius:12px;background:linear-gradient(180deg,#ffffff0f,#ffffff06);border:1px solid rgba(173,189,214,.14);box-shadow:0 10px 24px #0003}.game-topbar__carnet{width:74px;min-width:74px;border-radius:12px;overflow:visible;position:relative}.game-topbar__carnet .label,.game-topbar .deck-chip .label{font-size:.52rem;letter-spacing:.06em;line-height:1}.game-topbar .deck-chip .value,.game-topbar__carnet .value{font-size:.82rem;line-height:1}.group-remaining__tick{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border:1px solid var(--ui-border-soft);border-radius:999px;background:var(--ui-surface-glass-soft);color:var(--text-bright);font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:800;line-height:1}.group-remaining__tick[hidden]{display:none}.group-remaining__tick--positive{border-color:var(--stress);color:var(--stress)}.group-remaining__tick--negative{border-color:var(--motivation);color:var(--motivation)}.enemy-intent-plan-host{min-width:0}.enemy-intent-plan{display:inline-flex;align-items:stretch;gap:6px;max-width:100%;min-height:36px;padding:4px;border:1px solid var(--ui-border-soft);border-radius:8px;background:var(--ui-surface-glass-soft);color:var(--text);font-size:.72rem;line-height:1.15}.enemy-intent-plan__title{display:inline-flex;align-items:center;padding:0 6px;color:var(--text-muted);font-size:.66rem;font-weight:700;text-transform:uppercase}.enemy-intent-plan__slot{display:inline-flex;flex-direction:column;justify-content:center;gap:2px;min-width:96px;max-width:132px;padding:5px 7px;border-radius:7px;background:var(--ui-surface-glass-accent);border:1px solid var(--ui-border-soft);overflow:hidden}.enemy-intent-plan__slot.is-muted{opacity:.58}.enemy-intent-plan__meta{color:var(--text-muted);font-size:.62rem;font-weight:700;text-transform:uppercase}.enemy-intent-plan__label{overflow:hidden;color:var(--text);font-size:.78rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}@media(max-width:920px){.game-topbar__row--pilotage{justify-content:flex-start}.teacher-profile-badge{left:5px;right:5px;bottom:5px;padding:3px 5px}.teacher-profile-badge__special{display:none}.hud-cluster--primary,.game-topbar__cluster--resources{flex:1 1 100%}.hud-cluster--primary,.hud-cluster--secondary,.topbar-turn-actions{width:100%}.topbar-turn-actions{margin-left:0;width:100%;align-items:stretch}.end-turn-btn.end-turn-btn--hud{width:100%}.end-turn-confirm.end-turn-confirm--hud{left:0;right:auto;max-width:min(100%,320px);text-align:left}}@media(max-height:800px){.game-topbar__inner{padding:8px 10px;gap:8px}.game-topbar__portrait,.hud-cluster--primary,.hud-cluster--secondary,.topbar-turn-actions,.game-topbar__row--diagnostic{padding:5px}.topbar-failure{font-size:.8rem;padding:5px 8px}.topbar-failure__subline{font-size:.72rem}.topbar-failure__segment{padding:1px 6px}.topbar-tag{font-size:.68rem;padding:1px 6px}.topbar-details-btn{width:30px;height:30px;font-size:.8rem}.end-turn-btn.end-turn-btn--hud{font-size:.76rem;padding:6px 10px}.teacher-profile-badge{left:4px;right:4px;bottom:4px;padding:2px 5px}.teacher-profile-badge__name{font-size:.6rem}}.failure-backdrop{position:fixed;inset:0;display:flex;align-items:flex-start;justify-content:center;padding:clamp(12px,4vh,36px) 0;overflow-y:auto;background:#050810b3;backdrop-filter:blur(6px);z-index:calc(var(--layer-modal) + 200)}.failure-modal{width:min(92vw,680px);background:#12141ef5;border-radius:16px;border:1px solid var(--border);box-shadow:0 24px 60px #00000073;overflow:hidden;display:flex;flex-direction:column}.failure-modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.failure-modal__header--compact{justify-content:flex-end;gap:0;min-height:0;padding:10px 12px 0;border-bottom:0}.failure-modal__title{font-size:1.1rem;font-weight:600;color:var(--text-bright);margin:0}.failure-modal__title-row{display:flex;align-items:center;gap:10px}.failure-modal__title-icon{width:24px;height:24px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.35))}.failure-modal__badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.75rem;background:#f8717133;border:1px solid rgba(248,113,113,.4);color:var(--text-bright);white-space:nowrap}.failure-modal__badge-icon{width:14px;height:14px;object-fit:contain}.failure-modal__close{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:10px;color:var(--text-bright);width:36px;height:32px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.failure-modal__close:focus-visible{outline:2px solid rgba(56,189,248,.7);outline-offset:2px}.failure-modal__body{padding:16px 20px;overflow:visible;display:flex;flex-direction:column;gap:12px;flex:1 1 auto;position:relative}.failure-modal__body>*{position:relative;z-index:calc(var(--layer-modal) + 1)}.failure-modal__hero{border-radius:12px;border:1px solid rgba(255,255,255,.1);overflow:hidden;background:#ffffff08}.failure-modal__hero-media{position:relative;isolation:isolate}.failure-modal__hero-img{width:100%;display:block;object-fit:cover;max-height:258px}.failure-modal__hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0407106b,#0407101a 34%,#040710c7);z-index:var(--layer-modal)}.failure-modal__hero-overlay{position:absolute;inset:10px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;pointer-events:none;z-index:calc(var(--layer-modal) + 1)}.failure-modal__hero-top{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.failure-modal__hero-title-row{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#040814c7;border:1px solid rgba(255,255,255,.22)}.failure-modal__hero-title{margin:0;font-size:1.02rem;font-weight:800;letter-spacing:-.01em;color:var(--text-bright)}.failure-modal__hero-title-icon{width:22px;height:22px;object-fit:contain}.failure-modal__hero-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.failure-modal__hero-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.failure-modal__hero-panel{display:flex;flex-direction:column;gap:4px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:#060a16bd;backdrop-filter:blur(2px);padding:7px 8px;min-height:56px}.failure-modal__hero-panel--now{border-color:#f59e0b70;background:#f59e0b24}.failure-modal__hero-panel--risk{border-color:#ef44447a;background:#ef444424}.failure-modal__hero-panel--action{border-color:#10b98175;background:#10b98124}.failure-modal__hero-panel-head{display:inline-flex;align-items:center;gap:6px}.failure-modal__hero-panel-step{width:16px;height:16px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:800;color:#f8fafcf5;background:#1e293bc7;border:1px solid rgba(255,255,255,.3)}.failure-modal__hero-panel--now .failure-modal__hero-panel-step{background:#f59e0b4d;border-color:#f59e0b99}.failure-modal__hero-panel--risk .failure-modal__hero-panel-step{background:#ef444452;border-color:#ef44449e}.failure-modal__hero-panel--action .failure-modal__hero-panel-step{background:#10b98152;border-color:#10b9819e}.failure-modal__hero-panel-label{font-size:.67rem;letter-spacing:.06em;text-transform:uppercase;color:#f1f5f9f2;font-weight:700}.failure-modal__hero-panel-text{font-size:.77rem;line-height:1.2;color:var(--text-bright)}.failure-modal__hero-panel--action .failure-modal__hero-panel-text{color:#dcfce7fa}.failure-modal__hero-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.76rem;font-weight:600;color:var(--text-bright);border:1px solid rgba(255,255,255,.24);background:#060a17cc;text-shadow:0 1px 3px rgba(0,0,0,.55)}.failure-modal__hero-chip img{width:14px;height:14px;object-fit:contain}.failure-modal__hero-chip--severity{border-color:#f8717180}.failure-modal__hero-chip--appui{border-color:#86efac8c}.failure-modal__hero-caption{margin:0;padding:9px 10px;font-size:.84rem;font-weight:600;color:#ecfdf5f2;border-top:1px solid rgba(255,255,255,.08);background:#070d1cd1}.failure-modal__hero--fallback .failure-modal__hero-caption{color:#fca5a5}.failure-modal__guidance-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.failure-modal__guidance-segment{border-radius:11px;border:1px solid rgba(255,255,255,.2);background:#080c18d1;padding:8px 10px;display:flex;flex-direction:column;gap:4px;min-height:70px}.failure-modal__guidance-label{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;font-weight:700;color:#f1f5f9f2}.failure-modal__guidance-text{margin:0;font-size:.83rem;line-height:1.3;color:#f8fafcf5}.failure-modal__guidance-segment--now{background:#f59e0b1f;border-color:#f59e0b70}.failure-modal__guidance-segment--now .failure-modal__guidance-label{color:#fcd34dfa}.failure-modal__guidance-segment--risk{background:#ef444424;border-color:#ef44447a}.failure-modal__guidance-segment--risk .failure-modal__guidance-label{color:#fca5a5fa}.failure-modal__guidance-segment--action{background:#10b98124;border-color:#10b98175}.failure-modal__guidance-segment--action .failure-modal__guidance-label{color:#6ee7b7fa}.failure-modal__guidance-segment--action .failure-modal__guidance-text{color:#dcfce7fa}.failure-modal__summary{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.failure-modal__urgency{display:inline-flex;align-self:flex-start;padding:3px 10px;border-radius:999px;font-size:.74rem;font-weight:700}.failure-modal__urgency--high{background:#ef44442e;border:1px solid rgba(239,68,68,.45);color:#fecaca}.failure-modal__urgency--medium{background:#f59e0b2e;border:1px solid rgba(245,158,11,.45);color:#fde68a}.failure-modal__urgency--low{background:#22c55e2e;border:1px solid rgba(34,197,94,.45);color:#bbf7d0}.failure-modal__priority{margin:0;color:var(--text-bright);font-size:.95rem;font-weight:600}.failure-modal__section{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:10px 12px}.failure-modal__section--now{background:#f59e0b14;border-color:#f59e0b40}.failure-modal__section--risk{background:#ef44441a;border-color:#ef444447}.failure-modal__section--action{background:#10b98114;border-color:#10b98142}.failure-modal__label{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px}.failure-modal__label--now{color:#fcd34df2}.failure-modal__label--risk{color:#fca5a5f2}.failure-modal__label--action{color:#6ee7b7f2}.failure-modal__text{margin:0;font-size:.95rem;color:var(--text-bright)}.failure-modal__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.failure-modal__chip{padding:4px 10px;border-radius:999px;background:#38bdf826;border:1px solid rgba(56,189,248,.35);font-size:.78rem;color:var(--text-bright)}.failure-modal__chip--match{background:#22c55e33;border-color:#22c55e80}.failure-modal__hint{margin:8px 0 0;font-size:.82rem;color:var(--text-dim)}.failure-modal__hint--ok{color:#86efac}.failure-modal__unlock{margin-top:8px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 10px;border-radius:10px;background:#22c55e14;border:1px solid rgba(34,197,94,.24)}.failure-modal__unlock-meta{font-size:.8rem;color:var(--text-dim)}.failure-modal__unlock-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(134,239,172,.42);border-radius:10px;background:#16a34a2e;color:#dcfce7;font-size:.82rem;font-weight:600;padding:6px 10px;cursor:pointer}.failure-modal__unlock-btn-icon{width:14px;height:14px;object-fit:contain}.failure-modal__unlock-btn:disabled{opacity:.5;cursor:not-allowed}.failure-modal__unlock-btn:focus-visible{outline:2px solid rgba(134,239,172,.65);outline-offset:2px}.failure-modal__cards{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.failure-modal__card{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.failure-modal__card-name{font-size:.93rem;font-weight:700;color:var(--text-bright)}.failure-modal__card-meta{font-size:.8rem;color:var(--text-dim)}.failure-modal__technical{border:1px dashed rgba(255,255,255,.16);border-radius:12px;padding:8px 10px}.failure-modal__technical summary{cursor:pointer;font-size:.82rem;color:var(--text-dim)}.failure-modal__technical[open]{background:#ffffff08}.failure-modal__footer{padding:12px 20px 16px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:flex-end}.failure-modal__footer button{background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:10px;color:var(--text-bright);padding:6px 14px;cursor:pointer}.failure-modal__footer button:focus-visible{outline:2px solid rgba(56,189,248,.7);outline-offset:2px}@media(max-width:720px){.failure-modal__hero-img{max-height:206px}.failure-modal__hero-title{font-size:.92rem}.failure-modal__hero-bottom,.failure-modal__guidance-strip{grid-template-columns:1fr}}.tutorial-overlay{position:fixed;inset:0;z-index:calc(var(--layer-toast) + 800);isolation:isolate;overflow:hidden}.tutorial-overlay[hidden]{display:none}.tutorial-overlay__backdrop{position:absolute;inset:0;background:transparent;pointer-events:none}.tutorial-overlay.is-intro-phase .tutorial-overlay__backdrop{background:radial-gradient(circle at 12% 20%,rgba(59,130,246,.42),transparent 38%),radial-gradient(circle at 90% 16%,rgba(16,185,129,.34),transparent 32%),radial-gradient(circle at 42% 85%,rgba(251,191,36,.2),transparent 40%),linear-gradient(135deg,#030810f2,#0b1220fc);opacity:.96;filter:saturate(.7)}body.tutorial-cinematic-active .game-scene{filter:blur(12px) brightness(.22) saturate(.52);transform:scale(1.015);transition:filter .28s ease,transform .28s ease}body.tutorial-cinematic-active #toast-layer,body.tutorial-cinematic-active #btn-fullscreen{opacity:0;pointer-events:none;transition:opacity .18s ease}.tutorial-focus-ring{position:fixed;z-index:calc(var(--layer-toast) + 2);pointer-events:none;border-radius:16px;border:2px solid rgba(250,204,21,.95);box-shadow:0 0 0 9999px #02060f94,0 0 0 8px #fbbf2433,0 18px 48px #00000080;transition:top .22s ease,left .22s ease,width .22s ease,height .22s ease}.tutorial-focus-ring[hidden]{display:none}.tutorial-card{position:relative;z-index:calc(var(--layer-toast) + 3);width:min(760px,94vw);border-radius:20px;border:3px solid #0f172a;background:linear-gradient(165deg,#0a1423f7,#101e34f7);box-shadow:0 24px 56px #0009;padding:clamp(20px,3vw,34px);color:#f1f5f9;text-align:left;overflow:hidden}.tutorial-card[hidden]{display:none}.tutorial-card:before{content:"";position:absolute;inset:-65% -15% auto -10%;height:190%;background-image:radial-gradient(rgba(148,163,184,.14) 1px,transparent 1px);background-size:10px 10px;transform:rotate(-9deg);pointer-events:none}.tutorial-card>*{position:relative}.tutorial-card h2{margin:0 0 12px;font-size:clamp(1.45rem,3vw,2.05rem);line-height:1.15;color:#e2e8f0}.tutorial-card p{margin:0 0 12px;color:#e2e8f0eb;line-height:1.5}#tutorial-intro-card{position:fixed;inset:0;z-index:calc(var(--layer-toast) + 4);width:100vw;border:none;border-radius:0;background:transparent;box-shadow:none;padding:0;overflow:visible}#tutorial-intro-card:before{display:none}#tutorial-intro-card>*{position:static}.tutorial-intro-stage{position:fixed;inset:0;z-index:calc(var(--layer-toast) + 5);display:block;cursor:pointer;background:#020617eb}.tutorial-intro-stage:before,.tutorial-intro-stage:after{content:"";position:absolute;left:0;right:0;z-index:calc(var(--layer-toast) + 2);pointer-events:none;height:0;background:linear-gradient(180deg,#010308f2,#010308c7);transition:height .26s cubic-bezier(.16,1,.3,1)}.tutorial-intro-stage:before{top:0}.tutorial-intro-stage:after{bottom:0;transform:rotate(180deg)}.tutorial-intro-stage:focus-visible{outline:2px solid rgba(125,211,252,.95);outline-offset:-4px}.tutorial-intro-stage.is-busy{cursor:progress}.tutorial-intro-stage__image{display:block;width:100vw;height:100vh;object-fit:contain;opacity:0;transform:scale(1);filter:saturate(1.02) contrast(1.04) brightness(1.05);transition:opacity .24s ease,transform .52s cubic-bezier(.22,1,.36,1),filter .36s ease}.tutorial-intro-stage__image.is-ready{opacity:1}.tutorial-intro-stage__image.is-ready[data-motion=a]{animation:tutacKenBurnsA 6.2s ease-out both}.tutorial-intro-stage__image.is-ready[data-motion=b]{animation:tutacKenBurnsB 6.2s ease-out both}.tutorial-intro-stage.is-cut:before,.tutorial-intro-stage.is-cut:after{height:clamp(16px,4.2vh,44px)}.tutorial-intro-stage.is-cut .tutorial-intro-stage__image{transform:scale(1.04);filter:saturate(.82) contrast(1.2) brightness(.76)}.tutorial-intro-stage__overlay{position:absolute;left:0;right:0;bottom:clamp(12px,2.5vw,28px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;pointer-events:auto}.tutorial-intro-stage__hint{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.42);background:#0206176b;color:#e2e8f0e0;font-size:.72rem;letter-spacing:.03em;pointer-events:none;user-select:none}.tutorial-intro-stage__caption{width:min(640px,calc(100vw - 32px));display:grid;gap:7px;margin-bottom:2px;pointer-events:none}.tutorial-intro-stage__caption[hidden]{display:none}.tutorial-intro-stage__bubble{width:fit-content;max-width:100%;margin:0;padding:8px 12px;border-radius:12px;border:1px solid rgba(226,232,240,.32);background:#030712b8;color:#f8fafcf0;box-shadow:0 10px 28px #0006;font-size:.9rem;line-height:1.32;text-wrap:pretty}.tutorial-intro-stage__bubble:nth-child(2n){justify-self:end;background:#0e192abd}.tutorial-intro-stage__bubble strong{color:#bae6fd;font-weight:800}.tutorial-intro-stage__hint[hidden]{display:none}.tutorial-intro-stage.is-cut .tutorial-intro-stage__overlay{animation:tutacHudFlash .32s ease}.tutorial-intro-launch{pointer-events:auto;position:relative;isolation:isolate;overflow:hidden;width:min(520px,calc(100vw - 28px));min-height:58px;display:inline-flex;align-items:center;justify-content:center;padding:16px 28px;border-radius:999px;border:1px solid rgba(186,230,253,.94);background:radial-gradient(circle at 18% 22%,rgba(186,230,253,.34),transparent 34%),linear-gradient(150deg,#0284c799,#0f172aeb);color:#f8fafc;box-shadow:0 14px 34px #02061794,0 0 0 7px #0ea5e91f,0 0 26px #38bdf847;cursor:pointer;text-align:center;font-size:clamp(.95rem,2vw,1.1rem);font-weight:800;letter-spacing:0;line-height:1.12;text-transform:uppercase;text-wrap:balance;touch-action:manipulation;user-select:none;transition:border-color .16s ease,box-shadow .22s ease,filter .16s ease,transform .16s ease;animation:tutacMentorPulse 2.6s ease-in-out infinite}.tutorial-intro-launch:before{content:"";position:absolute;inset:4px;border-radius:inherit;background:linear-gradient(90deg,transparent,rgba(224,242,254,.28),transparent);opacity:.72;transform:translate(-75%);animation:tutacMentorSweep 2.6s ease-in-out infinite;pointer-events:none}.tutorial-intro-launch[hidden]{display:none}.tutorial-intro-launch:hover{border-color:#7dd3fc;filter:brightness(1.08);transform:translateY(-2px) scale(1.01);animation:none;box-shadow:0 18px 40px #02061799,0 0 0 9px #0ea5e929,0 0 34px #38bdf86b}.tutorial-intro-launch:focus-visible{outline:3px solid rgba(250,204,21,.98);outline-offset:4px;animation:none;box-shadow:0 18px 40px #02061799,0 0 0 8px #0ea5e929,0 0 0 13px #facc1529,0 0 34px #38bdf86b}.tutorial-intro-launch:active{filter:brightness(1.02);transform:translateY(1px) scale(.99);animation:none}.tutorial-intro-launch:disabled{opacity:.72;cursor:progress;filter:saturate(.72);transform:none;animation:none;box-shadow:0 10px 26px #02061780,0 0 0 5px #0ea5e914}.tutorial-intro-launch:disabled:before{animation-play-state:paused;opacity:.26}@keyframes tutacKenBurnsA{0%{transform:scale(1.06) translate3d(-1.2%,-1.2%,0)}to{transform:scale(1) translateZ(0)}}@keyframes tutacKenBurnsB{0%{transform:scale(1.06) translate3d(1.2%,-.8%,0)}to{transform:scale(1) translateZ(0)}}@keyframes tutacHudFlash{0%{box-shadow:0 0 0 1px #f4f4f514,0 14px 42px #0000008c,0 0 #f8fafc33}45%{box-shadow:0 0 0 1px #f4f4f529,0 14px 42px #0000008c,0 0 0 9px #f8fafc00}to{box-shadow:0 12px 38px #00000073}}@keyframes tutacMentorPulse{0%,to{box-shadow:0 14px 34px #02061794,0 0 0 7px #0ea5e91f,0 0 26px #38bdf847}50%{box-shadow:0 16px 38px #0206179e,0 0 0 11px #0ea5e914,0 0 38px #38bdf861}}@keyframes tutacMentorSweep{0%,38%{transform:translate(-75%)}72%,to{transform:translate(75%)}}.tutorial-card--guide{position:fixed;top:18px;left:18px;width:min(410px,calc(100vw - 36px));max-height:min(620px,calc(100vh - 36px));display:flex;flex-direction:column;z-index:calc(var(--layer-toast) + 6);border-color:#e2e8f0cc;background:linear-gradient(180deg,#08101efa,#0b1526f7);overflow:hidden;transition:top .22s ease,left .22s ease}.tutorial-step-counter{margin:0 0 8px;display:inline-flex;padding:4px 10px;border-radius:999px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#e2e8f0;background:#1e293bb3;border:1px solid rgba(148,163,184,.55)}.tutorial-guide__description{min-height:0;overflow-y:auto;margin:0 0 10px;padding-right:4px;scrollbar-color:rgba(148,163,184,.58) transparent;scrollbar-width:thin}.tutorial-guide__hint{flex:0 1 auto;max-height:min(150px,24vh);overflow-y:auto;margin:0 0 16px;padding:10px 12px;border-radius:12px;border:1px solid rgba(56,189,248,.58);background:#0369a133;color:#dbeafe;font-size:.9rem;scrollbar-color:rgba(125,211,252,.5) transparent;scrollbar-width:thin}.tutorial-guide__description::-webkit-scrollbar,.tutorial-guide__hint::-webkit-scrollbar{width:6px}.tutorial-guide__description::-webkit-scrollbar-thumb,.tutorial-guide__hint::-webkit-scrollbar-thumb{border-radius:999px;background:#94a3b880}.tutorial-guide__description::-webkit-scrollbar-track,.tutorial-guide__hint::-webkit-scrollbar-track{background:transparent}.tutorial-guide__actions{flex:0 0 auto;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 10px}.tutorial-guide__actions #tutorial-guide-close,.tutorial-guide__actions #tutorial-prev,.tutorial-guide__actions #tutorial-next,.tutorial-guide__actions #tutorial-start{position:static;left:auto;bottom:auto;z-index:auto;border-radius:999px;min-height:40px;padding:0 18px;font-size:.95rem;font-weight:700;letter-spacing:.01em}.tutorial-guide__actions #tutorial-guide-close{grid-column:1 / -1;justify-self:stretch;border:1px dashed rgba(148,163,184,.62);background:#0f172a57;color:#e2e8f0db}.tutorial-guide__actions #tutorial-prev{justify-self:start;border:1px solid rgba(148,163,184,.5);background:#0f172a75;color:#e2e8f0e6}.tutorial-guide__actions #tutorial-next,.tutorial-guide__actions #tutorial-start{justify-self:end;border:1px solid rgba(252,211,77,.76);background:linear-gradient(180deg,#fde047f0,#f59e0bf5);color:#1f2937;box-shadow:0 6px 14px #f59e0b3d}.tutorial-guide__actions #tutorial-guide-close:hover,.tutorial-guide__actions #tutorial-prev:hover{border-color:#bae6fd9e;background:#0f172a9e}.tutorial-guide__actions #tutorial-next:hover,.tutorial-guide__actions #tutorial-start:hover{transform:translateY(-1px);box-shadow:0 8px 18px #f59e0b52}.tutorial-guide__actions #tutorial-guide-close:disabled,.tutorial-guide__actions #tutorial-prev:disabled,.tutorial-guide__actions #tutorial-next:disabled,.tutorial-guide__actions #tutorial-start:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.is-tutorial-focus-target{position:relative;z-index:calc(var(--layer-toast) + 3);outline:2px dashed rgba(250,204,21,.95);outline-offset:5px}@media(max-width:900px){.tutorial-card--guide{width:min(420px,calc(100vw - 24px))}.tutorial-intro-stage__overlay{left:10px;right:10px;bottom:10px}.tutorial-intro-stage__caption{width:min(580px,calc(100vw - 28px))}}body.page-game.mobile-ui.mobile-landscape .tutorial-card--guide{width:min(360px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:16px;border-radius:16px}body.page-game.mobile-ui.mobile-landscape .tutorial-card--guide h2{margin-bottom:8px;font-size:1.22rem;line-height:1.15}body.page-game.mobile-ui.mobile-landscape .tutorial-step-counter{margin-bottom:6px;padding:3px 8px;font-size:.68rem}body.page-game.mobile-ui.mobile-landscape .tutorial-guide__description{font-size:.88rem;line-height:1.38}body.page-game.mobile-ui.mobile-landscape .tutorial-guide__hint{max-height:92px;margin-bottom:10px;padding:8px 10px;font-size:.82rem;line-height:1.32}body.page-game.mobile-ui.mobile-landscape .tutorial-guide__actions{gap:6px 8px}body.page-game.mobile-ui.mobile-landscape .tutorial-guide__actions #tutorial-guide-close,body.page-game.mobile-ui.mobile-landscape .tutorial-guide__actions #tutorial-prev,body.page-game.mobile-ui.mobile-landscape .tutorial-guide__actions #tutorial-next,body.page-game.mobile-ui.mobile-landscape .tutorial-guide__actions #tutorial-start{min-height:34px;padding:0 14px;font-size:.82rem}body.page-game.mobile-ui.mobile-landscape .tutorial-intro-launch{width:min(560px,calc(100vw - 28px));min-height:60px;padding:16px 30px;font-size:1rem}@media(pointer:coarse){.tutorial-intro-launch{width:min(560px,calc(100vw - 28px));min-height:60px;padding:17px 30px}}@media(max-width:640px){.tutorial-intro-launch{width:min(540px,calc(100vw - 24px));min-height:60px;padding:16px 22px;font-size:.92rem}.tutorial-card{border-radius:16px;padding:18px}.tutorial-guide__actions{grid-template-columns:1fr;gap:8px}.tutorial-guide__actions #tutorial-guide-close,.tutorial-guide__actions #tutorial-prev,.tutorial-guide__actions #tutorial-next,.tutorial-guide__actions #tutorial-start{justify-self:stretch}.tutorial-intro-stage__caption{gap:5px}.tutorial-intro-stage__bubble{padding:6px 9px;font-size:.72rem}}@media(prefers-reduced-motion:reduce){.tutorial-intro-launch,.tutorial-intro-launch:before{animation:none}.tutorial-intro-launch{transition:border-color .12s ease,filter .12s ease,transform .12s ease}}.tutorial-advisor{position:fixed;top:auto;right:clamp(48px,12vw,280px);bottom:clamp(286px,37vh,430px);z-index:calc(var(--layer-toast) + 100);pointer-events:none;width:min(430px,calc(100vw - 34px));transform:translateY(10px) scale(.99);opacity:0;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .28s ease}.tutorial-advisor[hidden]{display:none}.tutorial-advisor.is-visible{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}.tutorial-advisor.is-leaving{transform:translateY(10px) scale(.99);opacity:0}.tutorial-advisor__card{display:grid;grid-template-columns:62px minmax(0,1fr) 26px;gap:12px;width:100%;padding:10px 12px 12px 10px;border-radius:14px;border:1px solid rgba(82,124,150,.62);border-left:4px solid #1fbf95;background:linear-gradient(180deg,#141f31f5,#0a121ff7),#0c1422f5;backdrop-filter:blur(11px) saturate(1.12);-webkit-backdrop-filter:blur(11px) saturate(1.12);box-shadow:0 12px 28px #00000061,inset 0 1px #ffffff12,0 0 24px #1fbf951f;color:#edf7f5}.tutorial-advisor__mentor{position:relative;width:62px;height:78px;border-radius:13px;border:1px solid rgba(122,175,157,.45);background:linear-gradient(160deg,#233951,#111d2f);box-shadow:inset 0 1px #ffffff2e,0 8px 16px #00000047;overflow:hidden}.tutorial-advisor__mentor-img{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block}.tutorial-advisor__content{min-width:0;display:grid;gap:8px}.tutorial-advisor__header{display:flex;align-items:center;gap:7px;min-width:0;color:#f7fbff;font-size:.78rem;line-height:1}.tutorial-advisor__header strong{min-width:0;overflow:hidden;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.tutorial-advisor__kicker{display:inline-flex;align-items:center;height:20px;padding:0 8px;border:1px solid rgba(31,191,149,.45);border-radius:999px;background:#1fbf9524;color:#9af0d2;font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.62rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.tutorial-advisor__section{display:grid;gap:3px;min-width:0;padding:8px 10px;border-radius:10px}.tutorial-advisor__section--situation{border:1px solid rgba(112,161,190,.26);background:#091220ad}.tutorial-advisor__section--advice{border:1px solid rgba(31,191,149,.3);background:#195c4d47}.tutorial-advisor__section-label{color:#b8d1e0bd;font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.58rem;font-weight:800;letter-spacing:0;line-height:1;text-transform:uppercase}.tutorial-advisor__text{margin:0;min-width:0;font-size:.78rem;font-weight:700;line-height:1.32;color:#eef7f6f2;overflow-wrap:anywhere;word-break:normal}.tutorial-advisor__section--advice .tutorial-advisor__text{color:#c7f6e7}.tutorial-advisor__dismiss{align-self:start;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(148,184,204,.28);background:#091220ad;color:#dbecf4b8;font-size:.75rem;cursor:pointer;transition:background .15s ease,color .15s ease}.tutorial-advisor__dismiss:hover{background:#1f2f46eb;color:#f4fbff}@media(max-width:640px){.tutorial-advisor{left:50%;right:auto;bottom:calc(120px + env(safe-area-inset-bottom));width:min(360px,calc(100vw - 20px));transform:translate(-50%) translateY(10px) scale(.99)}.tutorial-advisor.is-visible{transform:translate(-50%) translateY(0) scale(1)}.tutorial-advisor.is-leaving{transform:translate(-50%) translateY(10px) scale(.99)}.tutorial-advisor__card{grid-template-columns:50px minmax(0,1fr) 26px;padding:9px 10px 9px 9px;gap:9px}.tutorial-advisor__mentor{width:50px;height:62px;border-radius:10px}.tutorial-advisor__content{gap:6px}.tutorial-advisor__header{font-size:.72rem}.tutorial-advisor__kicker{height:18px;padding:0 6px;font-size:.56rem}.tutorial-advisor__section{padding:6px 8px}.tutorial-advisor__text{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.7rem}}@media(min-width:641px)and (max-width:1400px){.tutorial-advisor{right:18px;bottom:clamp(286px,39vh,360px);width:min(400px,calc(100vw - 34px))}}.tutorial-artefact-reward{position:fixed;inset:0;z-index:calc(var(--layer-modal) + 1200);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s ease}.tutorial-artefact-reward[hidden]{display:none}.tutorial-artefact-reward.is-visible{opacity:1}.tutorial-artefact-reward.is-leaving{opacity:0}.tutorial-artefact-reward__backdrop{position:absolute;inset:0;background:radial-gradient(circle at 30% 25%,rgba(251,191,36,.15),transparent 45%),radial-gradient(circle at 75% 70%,rgba(59,130,246,.12),transparent 40%),#02060fe0}.tutorial-artefact-reward__card{position:relative;z-index:calc(var(--layer-modal) + 1);width:min(1280px,calc(100vw - 32px));padding:clamp(24px,4vw,40px);border-radius:24px;border:2px solid rgba(252,211,77,.4);background:linear-gradient(165deg,#0a1423f7,#101e34f7);box-shadow:0 24px 64px #0009,0 0 0 1px #fcd34d1a;color:#f1f5f9;text-align:center}.tutorial-artefact-reward__title{margin:0 0 20px;font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.2;color:#fde68a}.tutorial-artefact-reward__subtitle{margin:0 0 24px;font-size:.95rem;color:#e2e8f0cc}.tutorial-artefact-reward__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tutorial-artefact-reward__artefact{display:flex;flex-direction:column;gap:12px;padding:24px 18px;border-radius:16px;border:2px solid rgba(148,163,184,.35);background:linear-gradient(180deg,#0f172acc,#1e293b99);color:#f1f5f9;cursor:pointer;text-align:left;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.tutorial-artefact-reward__artefact-visual{width:100%;display:flex;align-items:center;justify-content:center;margin-bottom:10px}.tutorial-artefact-reward__artefact-image{width:clamp(148px,13vw,210px);height:clamp(148px,13vw,210px);object-fit:contain;border-radius:18px;border:1px solid rgba(148,163,184,.45);background:radial-gradient(circle at 35% 30%,#1e293bf2,#020617e6);box-shadow:0 12px 28px #02061794;padding:12px}.tutorial-artefact-reward__artefact:hover:not(:disabled){border-color:#fcd34db3;transform:translateY(-4px);box-shadow:0 12px 28px #f59e0b33}.tutorial-artefact-reward__artefact:focus-visible{outline:2px solid rgba(125,211,252,.9);outline-offset:2px}.tutorial-artefact-reward__artefact.is-selected{border-color:#fcd34df2;background:linear-gradient(180deg,#1e293be6,#3c321499);box-shadow:0 0 20px #fbbf244d,0 8px 24px #0006;transform:scale(1.04)}.tutorial-artefact-reward__artefact.is-dimmed{opacity:.4;transform:scale(.96)}.tutorial-artefact-reward__artefact:disabled{cursor:default}.tutorial-artefact-reward__artefact-name{margin:0;font-size:1.05rem;font-weight:700;color:#fde68a;line-height:1.2}.tutorial-artefact-reward__artefact-effect{margin:0;font-size:.88rem;color:#bae6fdf2;line-height:1.35;font-weight:600}.tutorial-artefact-reward__artefact-flavor{margin:0;font-size:.8rem;color:#e2e8f099;line-height:1.4;font-style:italic}@media(max-width:700px){.tutorial-artefact-reward__grid{grid-template-columns:1fr;gap:12px}.tutorial-artefact-reward__card{padding:20px 16px}}.card__effects{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}.effect-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:8px;font-size:.85rem;font-weight:700;background:#0006;border:1.5px solid rgba(255,255,255,.15);transition:all .2s ease;white-space:nowrap}.effect-badge__icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;object-fit:contain;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.effect-badge__value{font-family:JetBrains Mono,Courier New,monospace;font-size:.9rem;font-weight:800;letter-spacing:-.02em}.effect-badge--difficulte{background:linear-gradient(135deg,#fbbf2433,#f59e0b26);border-color:#fbbf2466;color:#fbbf24;box-shadow:0 0 12px #fbbf2426}.effect-badge--confiance{background:linear-gradient(135deg,#38bdf833,#0ea5e926);border-color:#38bdf866;color:#38bdf8;box-shadow:0 0 12px #38bdf826}.effect-badge--confiance .effect-badge__icon{color:#38bdf8;filter:drop-shadow(0 0 3px rgba(56,189,248,.4))}.effect-badge--motivation{background:linear-gradient(135deg,#22c55e33,#16a34a26);border-color:#22c55e66;color:#22c55e;box-shadow:0 0 12px #22c55e26}.effect-badge--motivation .effect-badge__icon{color:#22c55e;filter:drop-shadow(0 0 3px rgba(34,197,94,.4))}.effect-badge--stress{background:linear-gradient(135deg,#ef444433,#dc262626);border-color:#ef444466;color:#ef4444;box-shadow:0 0 12px #ef444426}.effect-badge--stress .effect-badge__icon{color:#ef4444;filter:drop-shadow(0 0 3px rgba(239,68,68,.4))}.effect-badge--temps{background:linear-gradient(135deg,#a855f733,#9333ea26);border-color:#a855f766;color:#a855f7;box-shadow:0 0 12px #a855f726}.effect-badge--temps .effect-badge__icon{color:#a855f7;filter:drop-shadow(0 0 3px rgba(168,85,247,.4))}.effect-badge--energie{background:linear-gradient(135deg,#ffd70033,#ffc10726);border-color:#ffd70066;color:gold;box-shadow:0 0 12px #ffd70026}.effect-badge--energie .effect-badge__icon{color:gold;filter:drop-shadow(0 0 3px rgba(255,215,0,.4))}.effect-badge__value--positive{color:inherit;text-shadow:0 0 6px currentColor}.effect-badge__value--negative{color:inherit;opacity:.9}.effect-badge:hover{transform:scale(1.05);border-color:#ffffff4d;box-shadow:0 0 16px currentColor}@keyframes badge-appear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.effect-badge{animation:badge-appear .25s ease-out backwards;animation-delay:calc(var(--badge-index, 0) * .05s)}@media(max-width:780px){.effect-badge{padding:3px 6px;font-size:.75rem;gap:3px}.effect-badge__icon{width:16px;height:16px;font-size:.8rem}.effect-badge__value{font-size:.8rem}}.card .stats{display:none}.card__body .card__effects{padding:0;margin:0;background:transparent;border:none}.card__body--has-effect-badge{padding-bottom:34px}.card-effect-badge{position:absolute;right:12px;bottom:12px;z-index:calc(var(--layer-card-base) + 2);width:22px;height:22px;border-radius:8px;background:#00000059;backdrop-filter:blur(2px);display:inline-flex;align-items:center;justify-content:center;pointer-events:none}.card-effect-badge img{width:18px;height:18px;image-rendering:pixelated}.card-effect-text{display:none}.effect-badge[class*=effect-sev-]{position:relative;overflow:hidden;min-height:24px;padding-left:13px;border-color:var(--ui-border-mid)}.effect-badge[class*=effect-sev-]:before{content:"";position:absolute;top:3px;bottom:3px;left:4px;width:3px;border-radius:999px;background:var(--energy);opacity:.72}.effect-badge.effect-sev-2:before{width:5px;background:linear-gradient(180deg,var(--energy),var(--stress));opacity:.82}.effect-badge.effect-sev-3{border-color:var(--stress)}.effect-badge.effect-sev-3:before{width:7px;background:var(--stress);opacity:.95}.student-slot.student--helped{position:relative;animation:student-helped-halo .4s ease-out both}.student-slot.student--helped .zone-student,.zone-student.student--helped{border-color:var(--motivation);box-shadow:0 0 0 2px #22c55e3d,0 0 24px #22c55e33}.student-slot.student--helped .student-helped{display:inline-flex;align-items:center;justify-content:center;min-height:24px;color:var(--motivation);background:var(--ui-surface-glass-soft);border-color:var(--motivation);animation:student-helped-label-in .4s ease-out both}@keyframes student-helped-halo{0%{box-shadow:0 0 #22c55e00}55%{box-shadow:0 0 0 4px #22c55e47,0 0 28px #22c55e38}to{box-shadow:0 0 0 2px #22c55e29,0 0 18px #22c55e29}}@keyframes student-helped-label-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px)and (orientation:portrait){.effect-badge[class*=effect-sev-]{max-width:100%;min-height:22px;white-space:normal;line-height:1.2}.student-slot.student--helped .student-helped{min-height:22px;padding:3px 9px;font-size:.68rem}}.connection-indicator{display:inline-flex;align-items:center;gap:.35em;font-size:.72rem;font-family:Space Grotesk,system-ui,sans-serif;font-weight:500;letter-spacing:.02em;padding:.25em .6em;border-radius:999px;background:#1a1a1a99;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#b3b3b3;pointer-events:none;user-select:none;transition:opacity .3s ease;z-index:calc(var(--layer-hud, 2000) + 1)}.connection-indicator[hidden]{display:none}.connection-indicator__dot{width:.5em;height:.5em;border-radius:50%;flex-shrink:0;transition:background-color .3s ease}.connection-indicator[data-status=connected] .connection-indicator__dot{background-color:#21c45d;box-shadow:0 0 4px #21c45d80}.connection-indicator[data-status=guest] .connection-indicator__dot{background-color:#e7b008;box-shadow:0 0 4px #e7b00880}.connection-indicator[data-status=offline] .connection-indicator__dot{background-color:#db2424;box-shadow:0 0 4px #db242480}.connection-indicator__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:10em}.game-topbar .connection-indicator{position:absolute;top:.4em;right:.6em}.home-connection-slot{display:flex;justify-content:center;margin-top:.6em}.ribbon-connection-slot{display:flex;margin-top:.5em}.map-offline-banner{display:flex;align-items:center;gap:.5em;padding:.5em .8em;margin:.4em 0;border-radius:6px;background:#361717a6;color:#f49a9a;font-size:.78rem;font-family:Space Grotesk,system-ui,sans-serif}.map-offline-banner[hidden]{display:none}.map-offline-banner__icon{font-size:1em}.session-end-sync-status{display:inline-flex;align-items:center;gap:.3em;font-size:.72rem;font-family:Space Grotesk,system-ui,sans-serif;font-weight:500;margin-top:.5em;padding:.25em .6em;border-radius:6px;opacity:0;transition:opacity .4s ease}.session-end-sync-status[data-visible=true]{opacity:1}.session-end-sync-status[data-sync=success]{background:#17362299;color:#66e595}.session-end-sync-status[data-sync=pending]{background:#362e1799;color:#f9cf53}.session-end-sync-status[data-sync=none],.runtime-error-dialog[hidden]{display:none}.runtime-error-dialog{position:fixed;inset:0;z-index:calc(var(--layer-overlay-global, 5000) + 30);display:grid;place-items:center;padding:20px;background:#040810cc;backdrop-filter:blur(6px)}.runtime-error-dialog__panel{width:min(560px,100%);display:grid;gap:12px;padding:18px;border-radius:16px;border:1px solid rgba(248,113,113,.34);background:linear-gradient(165deg,#141825fa,#0b0f19fa);box-shadow:0 24px 58px #0000006b;color:#f8fafc}.runtime-error-dialog__eyebrow{margin:0;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fca5a5f0}.runtime-error-dialog__title{margin:0;font-size:clamp(1.2rem,2vw,1.5rem)}.runtime-error-dialog__message{margin:0;color:#e2e8f0eb;line-height:1.5;white-space:pre-wrap}.runtime-error-dialog__actions{display:flex;justify-content:flex-end}.runtime-error-dialog__btn{min-height:44px;min-width:120px;padding:0 16px;border-radius:11px;border:1px solid rgba(248,113,113,.46);background:linear-gradient(135deg,#ef44442e,#b91c1c57);color:#fff5f5;font:inherit;font-weight:700;cursor:pointer}.runtime-error-dialog__btn:focus-visible{outline:2px solid rgba(252,165,165,.95);outline-offset:2px}:root{--mobile-screen-gap: var(--ui-safe-gap, 8px);--mobile-screen-padding-top: var(--mobile-screen-gap);--mobile-screen-padding-right: var(--mobile-screen-gap);--mobile-screen-padding-bottom: var(--mobile-screen-gap);--mobile-screen-padding-left: var(--mobile-screen-gap);--mobile-screen-safe-inline: calc(var(--mobile-screen-padding-left) + var(--mobile-screen-padding-right));--mobile-screen-safe-block: calc(var(--mobile-screen-padding-top) + var(--mobile-screen-padding-bottom));--mobile-floating-top: var(--ui-safe-gap, 8px);--mobile-floating-right: var(--ui-safe-gap, 8px);--mobile-floating-bottom: var(--ui-safe-gap, 8px);--mobile-floating-left: var(--ui-safe-gap, 8px);--mobile-floating-safe-inline: calc(var(--mobile-floating-left) + var(--mobile-floating-right));--mobile-panel-radius: var(--ui-radius-md, 12px);--mobile-panel-radius-lg: var(--ui-radius-lg, 14px);--mobile-card-radius: var(--ui-radius-xl, 18px);--mobile-pill-radius: var(--ui-radius-pill, 999px);--mobile-touch-target-lg: var(--ui-control-height-lg, 52px);--mobile-touch-target: var(--ui-control-height-md, 44px);--mobile-touch-target-compact: var(--ui-control-height-sm, 42px);--mobile-touch-target-tight: var(--ui-control-height-xs, 40px);--mobile-focus-ring: var(--ui-focus-ring, 2px solid rgba(125, 211, 252, .95));--mobile-focus-offset: var(--ui-focus-offset, 2px);--mobile-glass-surface: rgba(8, 14, 26, .94);--mobile-glass-surface-soft: rgba(4, 8, 16, .62);--mobile-glass-surface-strong: rgba(6, 12, 24, .92);--mobile-glass-border: rgba(148, 163, 184, .34);--mobile-glass-border-strong: rgba(148, 163, 184, .42);--mobile-glass-border-soft: rgba(148, 163, 184, .24);--mobile-glass-shadow: 0 20px 44px rgba(0, 0, 0, .42);--mobile-glass-backdrop: blur(8px);--mobile-panel-top-offset: 52px;--mobile-panel-top-offset-lg: 58px}body.mobile-ui{--mobile-screen-gap: var(--ui-safe-gap, 8px);--mobile-screen-padding-top: max(var(--mobile-screen-gap), env(safe-area-inset-top));--mobile-screen-padding-right: max(var(--mobile-screen-gap), env(safe-area-inset-right));--mobile-screen-padding-bottom: calc(var(--mobile-screen-gap) + env(safe-area-inset-bottom));--mobile-screen-padding-left: max(var(--mobile-screen-gap), env(safe-area-inset-left));--mobile-screen-safe-inline: calc(var(--mobile-screen-padding-left) + var(--mobile-screen-padding-right));--mobile-screen-safe-block: calc(var(--mobile-screen-padding-top) + var(--mobile-screen-padding-bottom));--mobile-floating-top: max(var(--ui-safe-gap, 8px), env(safe-area-inset-top));--mobile-floating-right: max(var(--ui-safe-gap, 8px), env(safe-area-inset-right));--mobile-floating-bottom: max(var(--ui-safe-gap, 8px), env(safe-area-inset-bottom));--mobile-floating-left: max(var(--ui-safe-gap, 8px), env(safe-area-inset-left));--mobile-floating-safe-inline: calc(var(--mobile-floating-left) + var(--mobile-floating-right));--mobile-panel-radius: var(--ui-radius-md, 12px);--mobile-panel-radius-lg: var(--ui-radius-lg, 14px);--mobile-card-radius: var(--ui-radius-xl, 18px);--mobile-pill-radius: var(--ui-radius-pill, 999px);--mobile-touch-target-lg: var(--ui-control-height-lg, 52px);--mobile-touch-target: var(--ui-control-height-md, 44px);--mobile-touch-target-compact: var(--ui-control-height-sm, 42px);--mobile-touch-target-tight: var(--ui-control-height-xs, 40px);--mobile-focus-ring: var(--ui-focus-ring, 2px solid rgba(125, 211, 252, .95));--mobile-focus-offset: var(--ui-focus-offset, 2px);--mobile-glass-surface: rgba(8, 14, 26, .94);--mobile-glass-surface-soft: rgba(4, 8, 16, .62);--mobile-glass-surface-strong: rgba(6, 12, 24, .92);--mobile-glass-border: rgba(148, 163, 184, .34);--mobile-glass-border-strong: rgba(148, 163, 184, .42);--mobile-glass-border-soft: rgba(148, 163, 184, .24);--mobile-glass-shadow: 0 20px 44px rgba(0, 0, 0, .42);--mobile-glass-backdrop: blur(8px);--mobile-panel-top-offset: 52px;--mobile-panel-top-offset-lg: 58px}body.mobile-ui :where(button,[role=button],a,input,select,textarea){-webkit-tap-highlight-color:transparent}body.mobile-ui :where(button,[role=button],[type=button],[type=submit],a,input,select,textarea):focus-visible{outline:var(--mobile-focus-ring);outline-offset:var(--mobile-focus-offset)}body.mobile-ui :where(.auth-btn,.entry-auth__btn,.menu-btn,.pwa-install-banner__btn,.mobile-map-toolbar__btn,.mobile-map-recenter,.mobile-map-next-choices__choice,.ribbon-launch-btn,.yearly-composer__btn,.end-turn-btn.end-turn-btn--hud,.toast-center-toggle,#btn-game-hud-details){min-height:var(--mobile-touch-target)}body.page-title.mobile-ui :where(.entry-auth__btn,.menu-btn){min-height:var(--mobile-touch-target-lg)}body.page-profile.mobile-ui :where(.auth-tab,.form-field input,.form-field select,.auth-btn){min-height:var(--mobile-touch-target-compact)}body.page-profile.mobile-ui .shell-link{min-height:max(36px,calc(var(--mobile-touch-target-tight) - 4px))}.mobile-orientation-overlay[hidden]{display:none}.mobile-orientation-overlay{position:fixed;inset:0;display:grid;place-items:center;padding:18px;background:#050810e6;backdrop-filter:var(--mobile-glass-backdrop);z-index:var(--layer-overlay-global, 5000)}.mobile-orientation-overlay__card{width:min(360px,92vw);padding:18px 16px;border-radius:var(--mobile-panel-radius-lg);border:1px solid rgba(125,211,252,.35);background:linear-gradient(145deg,#10172af5,#070b17f5);text-align:center;box-shadow:0 20px 44px #0006}.mobile-orientation-overlay__eyebrow{margin:0 0 6px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#bae6fdf2}.mobile-orientation-overlay__title{margin:0;font-size:1.25rem;color:#f8fafc}.mobile-orientation-overlay__text{margin:8px 0 0;font-size:.9rem;color:#e2e8f0eb}.mobile-beta-warning{position:relative;isolation:isolate;display:grid;gap:4px;width:100%;margin:0;padding:10px 12px;border:1px solid rgba(52,211,153,.48);background:linear-gradient(150deg,#08221ddb,#061814cc);color:#defcf4f2;box-shadow:0 10px 20px #00000038,inset 0 0 0 1px #ffffff12}.mobile-beta-warning[hidden]{display:none}.mobile-beta-warning__title,.mobile-beta-warning__text{margin:0}.mobile-beta-warning__title{font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.mobile-beta-warning__text{font-size:.83rem;line-height:1.35}.mobile-panel-scrim[hidden]{display:none}.mobile-panel-scrim{position:fixed;inset:0;border:0;margin:0;padding:0;background:#03070f8f;backdrop-filter:blur(2px);z-index:calc(var(--layer-hud, 1200) + 1);touch-action:none}body.mobile-ui .mobile-panel-surface{border-radius:var(--mobile-panel-radius-lg);border:1px solid var(--mobile-glass-border);background:#0d1422e6;box-shadow:var(--mobile-glass-shadow)}.mobile-panel-header{display:none}body.mobile-ui .mobile-panel-header,body.mobile-ui .mobile-panel-surface__header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:calc(var(--mobile-touch-target) + 2px);padding:.55rem .72rem;border-bottom:1px solid var(--mobile-glass-border-soft);background:#080e1ad1}body.mobile-ui .mobile-panel-title,body.mobile-ui .mobile-panel-surface__title{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#e2e8f0f2}body.mobile-ui .mobile-panel-close,body.mobile-ui .mobile-panel-surface__close{width:var(--mobile-touch-target);height:var(--mobile-touch-target);min-width:var(--mobile-touch-target);min-height:var(--mobile-touch-target);border-radius:var(--ui-radius-sm);border:1px solid rgba(148,163,184,.32);background:#1e293b8c;color:#f8fafc;font:inherit;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}body.mobile-ui.mobile-panel-open{overscroll-behavior:none}.pwa-install-banner-host[hidden]{display:none}.pwa-install-banner-host{position:fixed;top:var(--mobile-floating-top);left:var(--mobile-floating-left);right:var(--mobile-floating-right);display:flex;justify-content:center;pointer-events:none;z-index:calc(var(--layer-hud, 1200) + 18)}.pwa-install-banner{width:min(560px,100%);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;pointer-events:auto;padding:12px 14px;border-radius:var(--mobile-card-radius);border:1px solid rgba(125,211,252,.28);background:linear-gradient(155deg,var(--mobile-glass-surface),rgba(6,18,24,.9));box-shadow:0 18px 36px #00000052;backdrop-filter:blur(10px)}.pwa-install-banner[data-context=internal]{width:min(360px,100%);padding:10px 12px;border-radius:var(--mobile-panel-radius-lg)}.pwa-install-banner__copy{min-width:0;display:grid;gap:4px}.pwa-install-banner__title,.pwa-install-banner__text{margin:0}.pwa-install-banner__title{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#bae6fdf5}.pwa-install-banner__text{font-size:.84rem;line-height:1.38;color:#e2e8f0f0}.pwa-install-banner[data-context=internal] .pwa-install-banner__text{font-size:.76rem}.pwa-install-banner__actions{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.pwa-install-banner__btn{min-height:var(--mobile-touch-target-compact);padding:0 14px;border-radius:var(--mobile-pill-radius);border:1px solid transparent;cursor:pointer;font:inherit;font-size:.76rem;font-weight:700;letter-spacing:.03em;transition:transform .16s ease,border-color .16s ease,background-color .16s ease}.pwa-install-banner__btn:hover,.pwa-install-banner__btn:focus-visible{transform:translateY(-1px)}.pwa-install-banner__btn--primary{color:#061019;background:linear-gradient(135deg,#4ade80,#7dd3fc)}.pwa-install-banner__btn--ghost{color:#f8fafc;border-color:#94a3b857;background:#ffffff0f}.app-standalone #btn-fullscreen{display:none}body.page-title .pwa-install-banner-host{top:calc(var(--mobile-floating-top) + 4px)}@media(max-width:640px){.pwa-install-banner{grid-template-columns:1fr;justify-items:stretch}.pwa-install-banner__actions{justify-content:stretch}.pwa-install-banner__btn{width:100%}}body.page-game.mobile-ui{--mobile-screen-gap: var(--ui-safe-gap-tight, 6px);overflow:hidden;touch-action:manipulation}body.page-game .game-mobile-action-hint,body.page-game .game-mobile-hud-panel__header,body.page-game .game-mobile-hud-panel__title,body.page-game .game-mobile-hud-panel__grid{display:none}body.page-game.mobile-ui .game-scene{width:100%;height:100vh;height:100dvh;min-height:100dvh;max-height:100dvh;gap:4px;padding-top:var(--mobile-screen-padding-top);padding-right:var(--mobile-screen-padding-right);padding-bottom:var(--mobile-screen-padding-bottom);padding-left:var(--mobile-screen-padding-left);overflow:hidden}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-scene{grid-template-rows:auto minmax(190px,1fr) auto;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:4px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-topbar{align-self:stretch;position:relative;z-index:calc(var(--layer-hud, 1200) + 3)}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-topbar__inner{padding:3px;border-radius:var(--mobile-panel-radius);gap:0}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-topbar__row--pilotage{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px;overflow:visible;padding-bottom:0}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-topbar__portrait,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .teacher-profile-badge,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .teacher-profile-badge__special{display:none}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .hud-cluster--primary,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .hud-cluster--secondary,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .topbar-turn-actions,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-topbar__row--diagnostic{padding:0;border:0;background:none;box-shadow:none}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .hud-cluster--primary{display:grid;grid-template-columns:repeat(4,minmax(0,84px)) minmax(96px,1fr);align-items:stretch;justify-content:start;flex:0 1 auto;width:auto;min-width:0;gap:4px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .hud-cluster--secondary .deck-info,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .hud-cluster--secondary .game-topbar__carnet,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .hud-cluster--secondary .stat-chip.motivation,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .hud-cluster--secondary .stat-chip.appui,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .hud-cluster--secondary .stat-chip.artefact{display:none}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .hud-cluster--secondary{display:inline-flex;align-items:stretch;justify-content:flex-end;width:auto}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-topbar__row--pilotage .stat-chip{min-height:var(--mobile-touch-target);min-width:0;width:100%;border-radius:var(--ui-radius-sm);padding:4px 5px;gap:3px;box-shadow:none;transform:none}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .hud-cluster--primary .stat-chip{width:84px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-topbar__row--pilotage .stat-chip__label{display:none}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-topbar__row--pilotage .stat-chip__value{font-size:.84rem;line-height:1;letter-spacing:.01em}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-topbar__row--pilotage .stat-chip .icon{width:20px;height:20px;border-radius:8px;font-size:.9rem}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .stat-chip--time{display:inline-flex;min-width:62px;width:84px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .topbar-turn-actions{margin-left:0;flex:0 0 auto;min-width:96px;width:96px;align-items:stretch;gap:3px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .end-turn-btn.end-turn-btn--hud{min-height:var(--mobile-touch-target);width:100%;max-width:none;padding:5px 6px;font-size:.7rem;line-height:1.04;white-space:normal;text-align:center;letter-spacing:.01em}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact #btn-game-hud-details{width:auto;height:var(--mobile-touch-target);min-width:58px;border-radius:var(--ui-radius-sm);display:inline-flex;align-items:center;justify-content:center;padding:0 10px;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;align-self:center}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact #btn-game-hud-details,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .end-turn-btn.end-turn-btn--hud{box-shadow:none}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .toast-center-toggle{min-height:var(--mobile-touch-target);max-width:128px;padding:8px 9px;font-size:.72rem}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact #game-mobile-hud-panel{position:fixed;top:calc(var(--mobile-floating-top) + var(--mobile-panel-top-offset));right:var(--mobile-floating-right);left:auto;width:min(280px,34vw,calc(100vw - var(--mobile-floating-safe-inline)));z-index:calc(var(--layer-hud, 1200) + 2);display:none;gap:8px;align-items:stretch;padding:8px;border-radius:var(--mobile-panel-radius);border:1px solid var(--mobile-glass-border);background:#080c15f5;box-shadow:var(--mobile-glass-shadow);max-height:calc(100dvh - (var(--mobile-floating-top) + 64px) - var(--mobile-floating-bottom));overflow:auto;opacity:0;transform:translate(18px);pointer-events:none;transition:opacity .14s ease,transform .14s ease,visibility .14s ease;visibility:hidden}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact.mobile-panel-right-open #game-mobile-hud-panel{display:grid;opacity:1;transform:translate(0);pointer-events:auto;visibility:visible}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact #game-mobile-hud-panel .topbar-failure{min-width:0;min-height:var(--mobile-touch-target);font-size:.78rem;padding:8px 9px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__section{display:grid;gap:6px;min-width:0}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__header,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__title,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__grid{display:grid}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__header-copy{display:grid;gap:2px;min-width:0}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__eyebrow,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__title{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#bae6fdeb}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__header .mobile-panel-close{align-self:stretch}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__failure-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact #game-mobile-hud-panel .topbar-failure__tags{min-height:0}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact #game-mobile-hud-panel .topbar-details-btn{width:var(--mobile-touch-target);height:var(--mobile-touch-target);align-self:stretch}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-scrim{z-index:calc(var(--layer-hud, 1200) + 1)}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__grid{gap:6px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__grid .stat-chip,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__grid .deck-info,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__grid .game-topbar__carnet{display:inline-flex;min-width:0}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__grid .stat-chip{width:100%;min-height:48px;padding:8px 9px;gap:8px;transform:none;box-shadow:none;border-radius:var(--mobile-panel-radius)}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__grid .stat-chip .icon{width:28px;height:28px;border-radius:9px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__grid .stat-chip__content{gap:2px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__grid .stat-chip__label{display:block;font-size:.64rem}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__grid .stat-chip__value{font-size:.9rem}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__grid--actions{gap:8px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__grid--actions .deck-info{width:100%}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__grid--actions .deck-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__grid--actions .deck-chip{width:100%;min-width:0;padding:8px 6px;min-height:var(--mobile-touch-target);border-radius:var(--mobile-panel-radius);box-shadow:none}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-hud-panel__grid--actions .game-topbar__carnet{width:100%;justify-content:center}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .layer-board{min-height:0;display:flex;align-items:stretch;justify-content:center;overflow:hidden;padding:0}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .play-zones{width:min(100%,920px);height:100%;min-height:0;grid-template-columns:minmax(84px,.72fr) minmax(0,2.6fr) minmax(84px,.72fr);gap:6px;align-items:center;align-content:center}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .group-slot{grid-column:2;width:100%;max-width:none;gap:6px;align-items:stretch}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .student-slot{width:100%;max-width:none;gap:4px;align-items:stretch;justify-content:center}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .zone{min-height:72px;border-radius:var(--mobile-panel-radius)}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .zone-group{height:clamp(96px,28vh,136px)}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .zone-student{height:clamp(68px,18vh,92px)}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .zone-student .zone-illust{inset:6px;border-radius:10px;background-size:contain;background-position:center top;background-color:#040a14eb;opacity:.96;filter:saturate(.92) brightness(.96)}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .zone-group .zone-illust{background-position:center 42%}body.page-game.mobile-ui .zone.is-target-selected{border-color:#fbbf24f5;box-shadow:0 0 0 2px #fbbf2457,0 0 24px #fbbf2433,0 12px 30px #0000004d}body.page-game.mobile-ui .zone.is-target-selected:before{opacity:.48;background:linear-gradient(180deg,#fbbf242e,#0f172ab8)}body.page-game.mobile-ui .zone.is-target-selected .drop-target-indicator{inset:auto 8px 8px;padding:0;border:none;background:none;box-shadow:none;align-items:flex-start;justify-content:flex-end;gap:4px;opacity:1;transform:translateY(0)}body.page-game.mobile-ui .zone.is-target-selected .drop-target-pill{padding:5px 10px;border-radius:999px;background:linear-gradient(120deg,#fbbf24,#f59e0b);color:#111827;font-size:.66rem;line-height:1;box-shadow:0 8px 18px #00000047}body.page-game.mobile-ui .zone.is-target-selected .drop-target-hint{padding:4px 8px;border-radius:999px;background:#08101cd6;color:#f8fafcf5;font-size:.62rem;line-height:1.1;box-shadow:0 6px 14px #0000003d}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .group-zone-alert,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .group-flow,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .student-effects,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .group-heading__hint{display:none}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .student-meta,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .group-meta{margin-top:0;padding:2px 5px 3px;gap:3px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .student-name{font-size:.74rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .group-name{font-size:.78rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .group-meta__row{padding:2px 4px;gap:4px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .student-stats{display:flex;align-items:center;gap:4px;min-height:0}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .student-bar,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .student-bar__fill,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .group-bar,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .group-bar__fill{border-radius:999px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .student-bar{height:4px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .student-hp{min-width:32px;font-size:.62rem;line-height:1}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .group-remaining{justify-content:flex-start;align-items:baseline;gap:4px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .group-remaining strong{font-size:.84rem;line-height:1}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .group-remaining span{font-size:.56rem;letter-spacing:.04em;text-transform:uppercase}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact #group-progress-wrap{display:flex;align-items:center;gap:6px;min-height:0}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .group-bar{height:6px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .group-hp{min-width:40px;font-size:.68rem}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact #hand-overlay{position:relative;left:auto;right:auto;bottom:auto;grid-row:3;pointer-events:auto;padding-top:0;padding-right:max(4px,env(safe-area-inset-right));padding-bottom:calc(2px + env(safe-area-inset-bottom));padding-left:max(4px,env(safe-area-inset-left));z-index:calc(var(--layer-card-hand) + 4)}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .hand-area{width:min(100%,980px);border-radius:var(--mobile-panel-radius);background:#090d16db;border:1px solid rgba(148,163,184,.3);backdrop-filter:var(--mobile-glass-backdrop);box-shadow:0 12px 28px #00000059;padding:3px 5px;display:grid;grid-template-rows:auto minmax(0,1fr);align-items:stretch;justify-items:stretch;gap:3px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-action-hint{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;margin:0;padding:4px 8px;border-radius:999px;border:1px solid rgba(125,211,252,.28);background:linear-gradient(90deg,#08101cf5,#0a182ae0);color:#e2e8f0eb;font-size:.58rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;justify-self:start}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-action-hint__current{color:#94a3b8eb;text-transform:none;letter-spacing:.02em}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-action-hint__current strong,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-action-hint__step{color:#f8fafc}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-action-hint__arrow{color:#fbbf24f5}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-action-hint__sep{color:#94a3b8e0}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-action-hint__note{color:#bae6fdf0;letter-spacing:.02em;text-transform:none}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact #hand{pointer-events:auto;width:100%;min-height:84px;max-height:104px;min-width:0;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;align-items:flex-end;padding:0 2px 2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;touch-action:pan-x;scroll-snap-type:x proximity}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact #hand .card{width:70px;height:104px;flex:0 0 auto;scroll-snap-align:start}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact #hand.hand--row{gap:8px;padding:0 2px 2px;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;transform:none}body.page-game.mobile-ui.mobile-landscape .card-inspect-modal{align-items:flex-start;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-top:max(var(--ui-safe-gap-loose, 10px),env(safe-area-inset-top));padding-right:max(var(--ui-safe-gap-loose, 10px),env(safe-area-inset-right));padding-bottom:max(var(--ui-safe-gap-loose, 10px),env(safe-area-inset-bottom));padding-left:max(var(--ui-safe-gap-loose, 10px),env(safe-area-inset-left))}body.page-game.mobile-ui.mobile-landscape .card-inspect-modal__panel{grid-template-columns:minmax(118px,32vw) minmax(0,1fr);width:min(780px,96vw);height:min(640px,calc(100dvh - max(20px,env(safe-area-inset-top) + env(safe-area-inset-bottom))));max-height:calc(100dvh - max(20px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));min-height:0;margin:auto}body.page-game.mobile-ui.mobile-landscape .card-inspect-modal__left{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:12px;gap:10px;border-right:2px solid var(--inspect-left-separator);border-bottom:none}body.page-game.mobile-ui.mobile-landscape .card-inspect-modal__image{min-height:180px;max-height:min(68dvh,320px);padding:8px}body.page-game.mobile-ui.mobile-landscape .card-inspect-modal__image img{object-fit:contain;object-position:center top;image-rendering:auto}body.page-game.mobile-ui.mobile-landscape .card-inspect-modal__footer{padding:10px 11px;font-size:.7rem}body.page-game.mobile-ui.mobile-landscape .card-inspect-modal__right{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:14px 16px;gap:12px}body.page-game.mobile-ui.mobile-landscape .card-inspect-modal__header{position:sticky;top:0;z-index:calc(var(--layer-card-inspect) + 1);padding-bottom:6px;background:linear-gradient(180deg,#09101cfa,#09101ceb 78%,#09101c00)}body.page-game.mobile-ui.mobile-landscape .card-inspect-modal__title{font-size:1rem}body.page-game.mobile-ui.mobile-landscape .card-inspect-modal__section h3{font-size:.68rem}body.page-game.mobile-ui.mobile-landscape .card-inspect-modal__section p,body.page-game.mobile-ui.mobile-landscape .card-inspect-modal__section li,body.page-game.mobile-ui.mobile-landscape .card-inspect-modal__cost{font-size:.76rem;line-height:1.4}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .end-turn-confirm.end-turn-confirm--hud{max-width:100%;font-size:.64rem;line-height:1.2}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .topbar-failure{font-size:.74rem;padding:6px 8px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .topbar-failure__subline{font-size:.68rem}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .topbar-tag{font-size:.62rem;padding:1px 6px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .connection-indicator{display:none}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact #toast-layer{bottom:calc(118px + env(safe-area-inset-bottom));width:min(360px,calc(100vw - var(--mobile-floating-safe-inline) - 16px));max-height:calc(100dvh - var(--mobile-floating-top) - 148px)}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .toast{grid-template-columns:44px minmax(0,1fr);max-height:156px;padding:8px 9px 7px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .toast__mentor{width:44px;height:52px;border-radius:10px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .toast__icon{width:26px;height:26px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .toast__icon-img{width:17px;height:17px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .toast__body,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .toast__details-list{font-size:.72rem}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .toast__body{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .toast__explain,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .toast__details-list,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .toast__label,body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .toast-tags,body.page-game.mobile-ui .card__inspect-btn{display:none}body.page-game.mobile-ui .deck-chip,body.page-game.mobile-ui .topbar-details-btn,body.page-game.mobile-ui .end-turn-btn,body.page-game.mobile-ui .ghost-btn,body.page-game.mobile-ui .topbar-failure{min-height:var(--mobile-touch-target)}body.page-game.mobile-ui .topbar-details-btn{width:var(--mobile-touch-target);height:var(--mobile-touch-target)}body.page-game.mobile-ui .toast-center{display:none}body.page-game.mobile-ui .dropzone,body.page-game.mobile-ui .zone,body.page-game.mobile-ui .topbar-turn-actions,body.page-game.mobile-ui .card{min-width:var(--mobile-touch-target);min-height:var(--mobile-touch-target)}body.page-game.mobile-ui .card{animation:none}@media(max-height:430px){body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-scene{grid-template-rows:auto minmax(190px,1fr) auto;gap:2px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .zone-group{height:clamp(84px,24vh,118px)}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .zone-student{height:clamp(56px,15vh,80px)}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact #hand{min-height:78px;max-height:96px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact #hand .card{width:64px;height:96px}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact #game-mobile-hud-panel{top:calc(var(--mobile-floating-top) + 50px);max-height:calc(100dvh - (var(--mobile-floating-top) + 58px) - var(--mobile-floating-bottom))}body.page-game.mobile-ui.mobile-landscape.mobile-hud-compact .game-mobile-action-hint{margin-bottom:2px;padding:3px 7px;font-size:.54rem}body.page-game.mobile-ui.mobile-landscape .card-inspect-modal__panel{grid-template-columns:minmax(106px,30vw) minmax(0,1fr);height:min(520px,calc(100dvh - max(16px,env(safe-area-inset-top) + env(safe-area-inset-bottom))))}body.page-game.mobile-ui.mobile-landscape .card-inspect-modal__image{min-height:148px;max-height:min(60dvh,250px)}}
