:root{
  --qs-deep:#17332c;
  --qs-green:#2d5b4d;
  --qs-paper:#fff8e9;
  --qs-gold:#efb94d;
  --qs-gold2:#ffe39b;
  --qs-muted:#627069;
  --qs-border:rgba(62,78,68,.22);
  --pe-bg:#fff8e9;
  --pe-panel:#fffaf0;
  --pe-text:#263a34;
  --pe-muted:#66726d;
  --pe-border:rgba(74,86,75,.25);
  --pe-accent:#8b641f;
  --pe-accent-contrast:#fff;
  --pe-selected:#fff0bd;
  --pe-success:#327251;
  --pe-error:#9e4f44;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--qs-deep)}
body{padding:16px;background:linear-gradient(125deg,#efe1bd,#dbe5dd)}
button,a{font:inherit}
.qs-shell{max-width:1180px;margin:0 auto}
.qs-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin:0 0 13px}
.qs-head h1{margin:3px 0 5px;font-size:clamp(1.55rem,3vw,2.3rem);line-height:1.06}
.qs-head p{margin:0;color:#5b6863;font-weight:650;max-width:720px}
.qs-eyebrow{color:var(--qs-green);font-size:.74rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.qs-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.qs-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border:0;border-radius:999px;background:var(--qs-green);color:#fff;text-decoration:none;font-weight:850;cursor:pointer;box-shadow:0 5px 14px rgba(26,51,43,.16)}
.qs-button-light{background:#fffaf0;color:#344a42;border:1px solid rgba(47,75,65,.24)}
.qs-scene-card{padding:8px;border-radius:24px;background:rgba(255,250,238,.82);box-shadow:0 18px 55px rgba(37,49,43,.2);border:1px solid rgba(71,74,58,.15)}
.qs-scene{position:relative;aspect-ratio:16/9;min-height:350px;overflow:hidden;border-radius:18px;background:#6f7a69;isolation:isolate}
.qs-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.qs-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(7,25,21,.05),rgba(7,25,21,.16));pointer-events:none}
.qs-scene-label{position:absolute;left:2.5%;top:3.5%;z-index:5;padding:7px 12px;border-radius:999px;background:rgba(255,250,235,.92);border:1px solid rgba(66,68,55,.2);color:#4a3a26;font-family:Georgia,serif;font-weight:800;box-shadow:0 5px 16px rgba(0,0,0,.14)}
.qs-trigger-layer{position:absolute;inset:0;z-index:8}
.qs-trigger{position:absolute;width:clamp(40px,4.5vw,55px);aspect-ratio:1;border:0;border-radius:50%;background:radial-gradient(circle at 38% 35%,#fffbd4 0 10%,#ffd56e 24%,#d89720 58%,#8e5d15 100%);box-shadow:0 0 0 5px rgba(255,226,133,.27),0 0 25px 10px rgba(255,207,79,.82);cursor:pointer;transform:translate(-50%,-50%);animation:qsPulse 1.45s ease-in-out infinite alternate;transition:transform .16s ease,filter .16s ease,opacity .16s ease}
.qs-trigger::after{content:attr(data-number);position:absolute;inset:0;display:grid;place-items:center;color:#4a310b;font-weight:950;font-size:clamp(.86rem,1.7vw,1.05rem);text-shadow:0 1px 0 rgba(255,255,255,.6)}
.qs-trigger:hover,.qs-trigger:focus-visible{transform:translate(-50%,-50%) scale(1.12);outline:3px solid #fff;outline-offset:3px}
.qs-trigger.solved{animation:none;background:radial-gradient(circle at 38% 35%,#f3fff1,#87c48e 38%,#397352 75%);box-shadow:0 0 0 5px rgba(193,238,191,.22),0 0 18px 7px rgba(99,177,114,.54)}
.qs-trigger.solved::after{content:"✓";color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.28)}
.qs-trigger.locked{animation:none;opacity:.34;filter:grayscale(.25);cursor:not-allowed;box-shadow:0 0 0 3px rgba(255,226,133,.12),0 0 10px 3px rgba(255,207,79,.2)}
.qs-trigger.locked:hover,.qs-trigger.locked:focus-visible{transform:translate(-50%,-50%);outline:none}
@keyframes qsPulse{from{filter:brightness(.93);box-shadow:0 0 0 4px rgba(255,226,133,.22),0 0 17px 6px rgba(255,207,79,.62)}to{filter:brightness(1.16);box-shadow:0 0 0 7px rgba(255,226,133,.32),0 0 31px 13px rgba(255,207,79,.88)}}
.qs-pointer{position:absolute;z-index:6;pointer-events:none;transition:left .55s cubic-bezier(.2,.75,.25,1),top .55s cubic-bezier(.2,.75,.25,1),transform .55s cubic-bezier(.2,.75,.25,1);filter:drop-shadow(0 10px 8px rgba(0,0,0,.25))}
.qs-pointer.mila{width:clamp(95px,13%,160px);left:6%;top:66%;transform:translate(-50%,-50%)}
.qs-pointer.hand{width:clamp(70px,8.5%,112px);left:8%;top:76%;transform:translate(-50%,-50%) rotate(-8deg)}
.qs-spark{position:absolute;z-index:7;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:rgba(255,245,181,.9);border:2px solid rgba(201,144,32,.72);box-shadow:0 0 18px rgba(255,211,89,.82);color:#81540d;font:900 15px/1 Georgia,serif;opacity:0;transform:translate(-50%,-50%) scale(.3);transition:opacity .28s ease,transform .36s cubic-bezier(.18,.89,.32,1.28)}
.qs-spark.on{opacity:1;transform:translate(-50%,-50%) scale(1)}

.qs-story{margin-top:13px;padding:18px 20px;border:1px solid rgba(68,79,68,.17);border-radius:17px;background:rgba(255,250,237,.94);box-shadow:0 8px 24px rgba(47,58,50,.1)}
.qs-story h2{margin:0 0 9px;font-family:Georgia,serif;font-size:clamp(1.2rem,2.5vw,1.65rem);color:#354f46}
.qs-story p{margin:0 0 9px;max-width:900px;line-height:1.55;color:#4f5f59;font-weight:560}
.qs-story p:last-of-type{margin-bottom:12px}
.qs-story-actions{display:flex;gap:9px;flex-wrap:wrap}
.qs-story-btn{min-height:40px;padding:8px 15px;border:1px solid rgba(47,75,65,.24);border-radius:999px;background:#fffaf0;color:#344a42;font-weight:850;cursor:pointer;box-shadow:0 4px 12px rgba(47,58,50,.08)}
.qs-story-btn:hover,.qs-story-btn:focus-visible{background:#f6ecd3;outline:2px solid rgba(45,91,77,.35);outline-offset:2px}
.qs-story-btn.is-playing{background:#2d5b4d;color:#fff;border-color:#2d5b4d}
.qs-status{display:grid;grid-template-columns:minmax(180px,300px) auto 1fr;align-items:center;gap:18px;margin-top:13px;padding:15px 18px;border:1px solid rgba(68,79,68,.17);border-radius:17px;background:rgba(255,250,237,.9);box-shadow:0 8px 24px rgba(47,58,50,.1)}
.qs-status-label{margin-bottom:5px;color:#6b5a40;font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.qs-progress{height:9px;overflow:hidden;border-radius:999px;background:#ded6c4}
.qs-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d99b27,#f2c75c);transition:width .35s ease}
#progress-text{white-space:nowrap;color:#36584d}
#status-text{margin:0;color:#53645e;font-weight:650}
.qs-finish{margin-top:13px;padding:17px;border-radius:18px;background:#eef5e9;border:1px solid #b9d5b4;color:#30533b;box-shadow:0 8px 24px rgba(47,58,50,.09)}
.qs-finish-inner{display:grid;grid-template-columns:minmax(110px,150px) 1fr;gap:18px;align-items:center}
.qs-finish img{width:100%;max-width:245px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.22))}
.qs-finish h2{margin:0 0 7px;font-family:Georgia,serif;font-size:clamp(1.3rem,3vw,1.85rem)}
.qs-finish p{margin:0 0 12px;line-height:1.45;color:#52685b}
.qs-finish-actions{display:flex;gap:9px;flex-wrap:wrap}
.qs-note{margin:9px 3px 0;color:#68756f;font-size:.88rem}
.pe-dialog{border:3px solid #44695d;background:linear-gradient(180deg,#fffdf6,#fff6df)}
.pe-kicker{color:#8b641f}
.pe-token-row{background:#f7edd7}
@media(max-width:760px){body{padding:9px}.qs-head{align-items:stretch;flex-direction:column;gap:11px}.qs-actions{justify-content:flex-start}.qs-scene{min-height:285px}.qs-status{grid-template-columns:1fr auto}.qs-status p{grid-column:1/-1}.qs-finish-inner{grid-template-columns:90px 1fr}.qs-pointer.mila{width:clamp(78px,17%,120px)}.qs-pointer.hand{width:clamp(56px,11%,84px)}}
@media(max-width:500px){.qs-scene{min-height:245px}.qs-trigger{width:39px}.qs-status{grid-template-columns:1fr}.qs-status p{grid-column:auto}.qs-finish-inner{grid-template-columns:1fr;text-align:center}.qs-finish img{margin:0 auto}.qs-finish-actions{justify-content:center}}
@media(prefers-reduced-motion:reduce){.qs-trigger{animation:none}.qs-pointer,.qs-spark{transition:none}}
