@font-face{font-family:Oswald;src:url(/fonts/Oswald-Light.ttf) format("truetype");font-weight:300;font-display:swap}@font-face{font-family:Oswald;src:url(/fonts/Oswald-Medium.ttf) format("truetype");font-weight:500;font-display:swap}:root{--bleu-nuit: #003366;--bleu-nuit-2: #002347;--blanc: #fefefe;--paper: #f4ecd8;--paper-2: #ece0c4;--paper-edge: rgba(254, 254, 254, .28);--ink: var(--blanc);--ink-soft: rgba(254, 254, 254, .72);--blue: #4a7fae;--blue-deep: var(--blanc);--gold: #c19a2e;--wax: #c9a227;--wax-dark: #9c7b17;--titre: Impact, "Haettenschweiler", "Arial Narrow Bold", "Oswald", sans-serif;--serif: "Oswald", ui-sans-serif, system-ui, sans-serif;--sans: "Oswald", ui-sans-serif, system-ui, sans-serif;--lisible: "Oswald", ui-sans-serif, system-ui, sans-serif;--shadow: 0 18px 40px -20px rgba(0, 0, 0, .65);--frise-hauteur: 7.4rem}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{font-family:var(--sans);font-weight:300;font-size:1.06rem;color:var(--blanc);background-color:var(--bleu-nuit);background-image:radial-gradient(120% 90% at 50% 0%,#ffffff1a,#fff0 55%),radial-gradient(140% 120% at 50% 120%,#00000073,#0000 60%),linear-gradient(0deg,var(--bleu-nuit-2),var(--bleu-nuit));background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}h1,h2,h3{font-family:var(--titre);font-weight:400;letter-spacing:.02em;color:var(--blanc);margin:0}a{color:var(--blanc)}button{font-family:var(--serif);font-size:1.05rem;cursor:pointer;color:#0b1c30;background:linear-gradient(180deg,#d8b64a,var(--wax-dark));border:3px solid #10182a;border-radius:999px;padding:.65em 1.6em;box-shadow:0 5px #10182a,0 10px 18px -8px #000000b3;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}button:hover{transform:translateY(-2px);box-shadow:0 7px #10182a,0 14px 22px -8px #000000b3;filter:brightness(1.06)}button:active{transform:translateY(3px);box-shadow:0 2px #10182a,0 6px 12px -8px #000000b3;filter:brightness(.96)}button.ghost{color:var(--blanc);background:#ffffff0f;border:3px solid #10182a;box-shadow:0 5px #10182a,0 10px 18px -8px #0009}button.ghost:hover{background:#fefefe29}input[type=text],input:not([type]){font-family:var(--lisible);font-size:1.1rem;color:var(--blanc);background:#ffffff1a;border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:.6em .9em;outline:none;transition:border-color .15s ease,background .15s ease}input::placeholder,textarea::placeholder{color:#fefefe80}input:focus{border-color:#ffffff8c;background:#ffffff2e}.stars{display:flex;gap:.5rem;justify-content:center;color:var(--gold);font-size:.9rem;letter-spacing:.2em}.step{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem 1.25rem var(--frise-hauteur);text-align:center}.panel-card{width:min(880px,100%);background:linear-gradient(180deg,#ffffff17,#ffffff0a);border:1px solid var(--paper-edge);border-radius:16px;padding:2.2rem 2rem;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:1.1rem}.instruction-line{font-family:var(--serif);font-size:1.15rem;color:var(--blanc);margin:0;max-width:68ch}.q-title{font-family:var(--titre);font-size:clamp(1.5rem,3.6vw,2rem);color:var(--blanc)}.hint-line{font-size:.95rem;color:var(--ink-soft);max-width:52ch;margin:0}.nope-line{font-family:var(--serif);color:var(--gold);margin:0}textarea{font-family:var(--lisible);font-size:1.05rem;color:var(--blanc);background:#ffffff1a;border:1px solid var(--paper-edge);border-radius:8px;padding:.9em 1em;outline:none;resize:vertical}textarea:focus{border-color:var(--blanc)}.shake-anim{animation:rs-shake .42s ease}@keyframes rs-shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-8px)}40%,60%{transform:translate(8px)}}
