
:root{--bg:#06070b;--ink:#f5efe2;--muted:#bdb5a8;--gold:#d6b36a;--gold2:#9d7435;--panel:#0e1018;--line:rgba(226,195,123,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Georgia,'Times New Roman',serif;background:radial-gradient(circle at 50% -10%,#202131 0,#090a10 40%,#050609 75%);min-height:100vh}button,a{font:inherit}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px clamp(16px,4vw,48px);border-bottom:1px solid #ffffff14;background:#06070bdc;backdrop-filter:blur(10px);position:sticky;top:0;z-index:40}.topbar a{color:#efe4cc;text-decoration:none}.brand{letter-spacing:.08em}.top-actions{display:flex;align-items:center;gap:10px}.backlink{color:#c8b991!important;font-size:.94rem}.sound-btn{border:1px solid #ffffff24;background:#ffffff08;color:#d8cdb7;border-radius:999px;padding:7px 10px;cursor:pointer;font-size:.82rem}.sound-btn[aria-pressed="false"]{opacity:.62}
.hero{max-width:1180px;margin:0 auto;padding:44px 20px 14px;text-align:center}.eyebrow{color:#cbb57d;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem}.hero h1{font-size:clamp(2.5rem,7vw,5.2rem);font-weight:400;line-height:.95;margin:.15em 0 .2em;color:#f4dfad}.hero p{max-width:760px;margin:0 auto;color:var(--muted);font-size:1.04rem;line-height:1.65}.rotation-pill{display:inline-flex;margin-top:18px;border:1px solid var(--line);border-radius:999px;padding:8px 14px;background:#ffffff08;color:#e9d9b5}
.scene-wrap{max-width:1180px;margin:0 auto;padding:12px 20px 34px}.stage-card{border:1px solid #ffffff12;border-radius:28px;background:linear-gradient(180deg,#0f1118,#07080d);box-shadow:0 40px 120px #000a;overflow:hidden}.canvas-shell{position:relative;min-height:640px;background:radial-gradient(circle at 50% 12%,rgba(209,166,81,.10),transparent 28%),radial-gradient(circle at 20% 60%,rgba(78,90,128,.09),transparent 26%),#07080d}.canvas-shell canvas{display:block;width:100%;height:clamp(560px,69vw,760px);touch-action:none;cursor:grab}.canvas-shell canvas:active{cursor:grabbing}.scene-status{position:static;max-width:none;padding:12px 18px;border:0;border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff0f;border-radius:0;background:#090b10;box-shadow:none;pointer-events:none;display:flex;align-items:baseline;gap:12px;min-height:46px}.scene-status strong{display:block;color:#f0cf86;font-size:1.02rem;font-weight:400;white-space:nowrap}.scene-status span{display:block;color:#bdb3a0;font-size:.8rem;margin-top:0;line-height:1.35}.open-chest{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);border:1px solid #e0bd70;background:linear-gradient(135deg,#e6c77e,#a8813f);color:#171109;border-radius:999px;padding:12px 20px;font-weight:700;cursor:pointer;box-shadow:0 12px 30px #0008}.open-chest[hidden]{display:none}.webgl-fallback{position:absolute;inset:30% 12%;display:grid;place-items:center;text-align:center;color:#d8cfbe;background:#080a0fd9;border:1px solid #ffffff20;border-radius:18px;padding:28px;line-height:1.6}.scene-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 18px;border-top:1px solid #ffffff12;background:#090b10}.selected-name small{display:block;color:#9f9789;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.selected-name strong{display:block;color:#f0cf86;font-weight:400;font-size:1.15rem;margin-top:2px}.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ghost-btn,.gold-btn{border-radius:999px;padding:9px 14px;cursor:pointer}.ghost-btn{border:1px solid #ffffff2f;background:#ffffff08;color:#eee3cd}.gold-btn{border:1px solid #e0bd70;background:linear-gradient(135deg,#e6c77e,#a8813f);color:#171109;font-weight:600}.gold-btn:disabled{opacity:.45;cursor:not-allowed}.draw-help{text-align:center;color:#aea594;font-size:.84rem;padding:0 18px 14px;background:#090b10}
.reading-section{max-width:1120px;margin:0 auto 34px;padding:22px 20px;border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff12}.reading-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px}.reading-head h2{margin:.15em 0 0;font-weight:400;color:#f1d18c;font-size:clamp(1.7rem,4vw,2.6rem)}.reading-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.reading-grid article{background:linear-gradient(145deg,#10121a,#090a0f);border:1px solid #ffffff16;border-radius:16px;padding:16px;min-width:0}.reading-grid h3{margin:.1em 0 .45em;color:#e8c77f;font-size:1rem}.reading-grid p{margin:0;color:#cec5b5;line-height:1.55;font-size:.9rem}.resonance{margin-top:16px;padding:18px;border:1px solid #d3af6740;border-radius:18px;background:#0b0d13}.resonance h3{margin:0 0 8px;color:#f0cf86;font-weight:400}.resonance p{margin:0;color:#ded5c4;line-height:1.62}
.catalogue{max-width:1120px;margin:8px auto 70px;padding:0 20px}.catalogue-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:35px 0 18px}.catalogue h2{font-weight:400;color:#f1d18c;font-size:clamp(1.8rem,4vw,2.8rem);margin:0}.catalogue p{color:#aaa294;margin:.35em 0;line-height:1.55}.deck-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.deck-card{appearance:none;text-align:left;color:inherit;border:1px solid #ffffff16;border-radius:16px;background:linear-gradient(145deg,#10121a,#090a0f);padding:15px;cursor:pointer;min-height:130px;position:relative;transition:.25s}.deck-card:hover{transform:translateY(-3px);border-color:#d5b26855}.deck-card.active{border-color:#d5b26855;background:linear-gradient(145deg,#151620,#101015)}.deck-card h3{margin:.1em 0 .35em;color:#ecd49c;font-size:1.02rem;padding-right:55px}.deck-card p{font-size:.87rem;margin:0;line-height:1.42}.deck-card .status{position:absolute;right:10px;top:10px;font-size:.7rem;border-radius:999px;padding:4px 7px;border:1px solid #ffffff22;color:#c9c0af}.deck-card.active .status{color:#f1ce7c;border-color:#d5b26866}.footer-note{max-width:900px;margin:0 auto 35px;padding:0 20px;text-align:center;color:#948c7e;line-height:1.55;font-size:.88rem}.footer-note a{color:#cdb881}
dialog{width:min(720px,92vw);border:1px solid #c9a45a55;border-radius:22px;background:linear-gradient(160deg,#11131b,#08090e);color:var(--ink);padding:0;box-shadow:0 30px 100px #000d}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.dialog-inner{padding:26px}.dialog-top{display:flex;justify-content:space-between;gap:16px;align-items:start}.dialog-top h2{margin:0;color:#f2d18a;font-weight:400;font-size:clamp(1.5rem,4vw,2.3rem)}.close-x{border:1px solid #ffffff26;background:#ffffff08;color:#eee;border-radius:50%;width:38px;height:38px;cursor:pointer}.deck-meta{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.deck-meta span{border:1px solid #ffffff1f;border-radius:999px;padding:6px 9px;color:#c9c0af;font-size:.8rem}.dialog-inner p{color:#d2c8b7;line-height:1.65}.dialog-usage{padding:13px 15px;border-left:2px solid #caa75e;background:#ffffff08}.dialog-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}
@media(max-width:820px){.canvas-shell{min-height:560px}.canvas-shell canvas{height:620px}.scene-toolbar{align-items:flex-start}.toolbar-actions{max-width:66%}.deck-list{grid-template-columns:repeat(2,1fr)}.reading-grid{grid-template-columns:1fr}.reading-head{align-items:flex-start}.scene-status{max-width:none}}
@media(max-width:560px){.scene-status{display:block}.scene-status strong{white-space:normal}.scene-status span{margin-top:3px}.hero{padding-top:28px}.scene-wrap{padding-inline:10px}.stage-card{border-radius:18px}.canvas-shell canvas{height:580px}.scene-status{max-width:none}.open-chest{bottom:18px}.scene-toolbar{display:block}.toolbar-actions{max-width:none;margin-top:10px;justify-content:flex-start}.toolbar-actions button{font-size:.8rem;padding:8px 10px}.deck-list{grid-template-columns:1fr}.catalogue-head{display:block}.topbar{padding-inline:14px}.brand{font-size:.82rem}.backlink{font-size:.75rem}.sound-btn{font-size:.72rem;padding:6px 8px}.reading-head{display:block}.reading-head button{margin-top:10px}.deck-card h3{padding-right:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.open-chest,.deck-card{transition:none!important}}

/* Audit V04 — visibility, mobile framing and readable cards. */
[hidden]{display:none!important}
html{scroll-padding-top:100px}
.reading-section,.catalogue{scroll-margin-top:100px}
.topbar{flex-wrap:wrap}.top-actions{flex-wrap:wrap}.brand{overflow-wrap:anywhere}
.scene-toolbar>*,.reading-head>*,.catalogue-head>*{min-width:0}
.scene-status strong{white-space:normal}.scene-status{flex-wrap:wrap}
button:focus-visible,a:focus-visible{outline:2px solid #f1ce7c;outline-offset:4px}
button{min-height:44px}.close-x{flex:0 0 44px;width:44px;height:44px}
dialog{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
.dialog-top>div{min-width:0}.dialog-top h2{overflow-wrap:anywhere}
.card-visual{width:min(100%,220px);aspect-ratio:2/3;margin:0 auto 18px;border:1px solid #d6b36a50;border-radius:8px;background-repeat:no-repeat;background-color:#080a10}
.card-position{font-size:.78rem;color:#bdb5a8;margin-bottom:8px;line-height:1.5}
.reading-path{display:block;color:#f1d18c;line-height:1.6}.reading-paragraph{display:block;margin-top:14px}
@media(max-width:560px){.canvas-shell{min-height:0}.canvas-shell canvas{height:clamp(320px,110vw,480px);touch-action:pan-y pinch-zoom}.open-chest{width:max-content;max-width:calc(100% - 32px);bottom:14px}.top-actions{gap:8px}.dialog-inner{padding:18px}.card-visual{width:230px;max-width:100%}}

/* V05 : table rapprochée, commandes hors de la scène. */
.table-focus .hero{display:none}
.table-focus .scene-wrap{max-width:1500px;padding-top:12px;scroll-margin-top:90px}
.table-focus .canvas-shell{min-height:0}
.table-focus .canvas-shell canvas{height:clamp(420px,68dvh,800px)}
.table-focus .scene-toolbar{flex-wrap:wrap}
.table-focus .toolbar-actions{max-width:none}
@media(max-width:560px){.table-focus .canvas-shell canvas{height:clamp(440px,65dvh,720px)}.table-focus .scene-wrap{padding-inline:6px}.table-focus .scene-toolbar{padding-bottom:22px}}
@media(max-height:500px) and (min-width:561px){.table-focus .canvas-shell canvas{height:72dvh;min-height:250px}}

.table-focus .stage-card{display:flex;flex-direction:column}
.table-focus .scene-toolbar{order:0}.table-focus .canvas-shell{order:1}.table-focus .scene-status{order:2}.table-focus .draw-help{order:3}
body.constellation-nav-mounted{padding-bottom:76px}
.table-focus .scene-toolbar button{scroll-margin-bottom:85px}
@media(max-width:560px){.table-focus .scene-toolbar{padding:10px 14px}.table-focus .toolbar-actions{display:flex;gap:6px;margin-top:8px}.table-focus .toolbar-actions button{font-size:.8rem;padding:7px 10px}}

/* Phase 147 — commandes compactes, dans l’esprit du Palais des Glyphes. */
.open-chest,.ghost-btn,.gold-btn,.sound-btn{min-height:36px;padding:7px 11px;border-radius:7px;font:500 .81rem/1.35 system-ui,sans-serif;max-width:100%;transition:background .16s,border-color .16s,box-shadow .16s}
.open-chest{padding:8px 14px;font-weight:600;white-space:normal}
.ghost-btn:hover,.sound-btn:hover{background:#ffffff12;border-color:#d6b36a80}
.gold-btn:hover:not(:disabled),.open-chest:hover{box-shadow:0 0 0 2px #d6b36a30}
.scene-toolbar{padding:10px 14px;gap:10px}.toolbar-actions{gap:7px;align-items:center}
.table-focus .toolbar-actions button{min-height:36px;font-size:.81rem;padding:7px 11px}
.close-x{width:36px;height:36px;min-height:36px;flex:0 0 36px;font:20px/1 system-ui}
.reading-head>.gold-btn,.catalogue-head>.ghost-btn{flex-shrink:0}
@media(pointer:coarse){.open-chest,.ghost-btn,.gold-btn,.sound-btn{min-height:40px}.table-focus .toolbar-actions button{min-height:40px}.close-x{width:40px;height:40px;flex-basis:40px}}
@media(max-width:560px){.table-focus .scene-toolbar{padding:10px 12px}.toolbar-actions{gap:7px}.catalogue-head>.ghost-btn{margin-top:10px}}
