*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#141d30;color:#f5ead6;font-family:Arial,sans-serif}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid #ffe2a0;outline-offset:5px}#game,#scene{width:100%;height:100%;display:block}#scene{touch-action:none;cursor:crosshair}header{position:absolute;left:44px;right:40px;top:32px;display:flex;justify-content:space-between;pointer-events:none}header button{pointer-events:auto}.eyebrow{font-size:11px;letter-spacing:3px;font-weight:600;color:#d5c9b1}h1{font-family:Georgia,serif;font-size:42px;font-weight:400;margin:8px 0;letter-spacing:-1.5px}h1 span{font-family:serif;font-size:24px;color:#f4c677;display:inline-block;margin-left:11px;vertical-align:top;margin-top:4px}.round{position:relative;background:#ffffff08;border:1px solid #ffffff30;border-radius:50%;width:44px;height:44px;font-size:24px}.slash{font-size:18px;position:absolute;left:21px;top:15px}.objective{position:absolute;top:163px;left:44px;width:247px;pointer-events:none}.chapter{font-size:12px;letter-spacing:.7px;color:#c3b6a8}.chapter span{margin:0 7px;color:#8e8490}.objective p{font-family:Georgia,serif;font-size:22px;line-height:1.4;color:#ece0ca;margin:16px 0 22px}.progress{width:100%;height:3px;background:#ffffff20;border-radius:4px;overflow:hidden}#progressFill{height:100%;width:0;background:#ffd78d;transition:width .6s}.counts{display:flex;justify-content:space-between;font-size:12px;color:#c7c2ba;margin-top:12px}.counts b{color:#ffdf9a;font-weight:400}footer{position:absolute;bottom:30px;left:44px;right:40px;display:flex;align-items:center;justify-content:space-between;gap:15px}.instructions{display:flex;align-items:center;font-size:13px;color:#ddd4c7;gap:11px;line-height:1.6}.instructions i{font-style:normal;margin:0 8px;color:#a8a1a1}.mouse{font-size:25px}#home,dialog button{background:#ecd4a4;color:#302b2a;border:1px solid #ffe5b5;border-radius:28px;padding:14px 23px;font-size:14px;box-shadow:0 4px 25px #0002;white-space:nowrap}#home{display:flex;gap:10px;align-items:center}#homeCount{font-size:12px}#toast{position:absolute;left:50%;bottom:100px;transform:translateX(-50%);font-size:14px;text-align:center;color:#f5e4c6;max-width:90%;width:max-content;padding:11px 20px;background:#131b2ccc;border:1px solid #e9d5b11c;border-radius:24px;transition:opacity .5s;pointer-events:none}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 160px #050b2055}#loading{position:absolute;inset:0;background:#141d30;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:5}#loading h2{font:normal 27px Georgia,serif}#loading p{color:#adaeba;font-size:14px}.loader{font-size:40px;color:#fbd490;animation:turn 5s linear infinite}@keyframes turn{to{transform:rotate(360deg)}}dialog{background:#1b2638ed;backdrop-filter:blur(15px);border:1px solid #e9d5b144;border-radius:16px;color:#f3e4cc;text-align:center;padding:45px;box-shadow:0 20px 100px #0008;max-width:92vw}dialog::backdrop{background:#080e2044}dialog h2{font:normal 38px/1.15 Georgia,serif;margin:25px 0 20px}dialog p{font-size:15px;line-height:1.8;color:#c4c5c7}dialog button{margin:15px 4px 0}.secondary{background:transparent;color:#e8dac2;border-color:#e8dac233}@media(max-width:700px){header{left:22px;right:20px;top:22px}h1{font-size:32px}.eyebrow{font-size:9px;letter-spacing:2px}.objective{left:22px;top:114px;width:195px}.objective p{font-size:18px;margin:10px 0 16px}.chapter{font-size:10px}footer{left:20px;right:20px;bottom:20px}.instructions{font-size:11px;max-width:175px}.instructions i{margin:0 3px}.mouse{display:none}#home{padding:12px 15px}#toast{bottom:85px;font-size:12px;width:85%;line-height:1.5}.counts{font-size:11px}}

@media(max-width:700px){.objective{top:112px;width:220px}.objective p{font-size:16px;margin:8px 0 12px}.objective p br{display:none}.objective{padding:12px 14px;background:#14203599;border:1px solid #ddc89d18;border-radius:10px}.counts{color:#e0d6c5}.instructions{color:#eee4d3}.chapter{font-size:10px}h1{margin:6px 0}}

@media(min-width:701px) and (max-width:1000px){header{left:24px;top:24px}h1{font-size:34px}.objective{left:24px;top:120px;width:210px}.objective p{display:none}.progress{margin-top:16px}footer{left:24px;right:24px}.instructions{font-size:11px;max-width:250px}}

.rig-link{pointer-events:auto;position:absolute;right:90px;top:35px;color:#eee4ce;font:12px sans-serif;text-decoration:none;padding:10px;border:1px solid #ffffff30;border-radius:20px;background:#15202699}@media(max-width:600px){.rig-link{top:82px;right:25px}}

#sound{display:grid;place-items:center;padding:0;background:#172438b3;color:#f2dfba;transition:background .2s,border-color .2s}#sound:hover{background:#354254;border-color:#e7d1a570}#sound svg{width:23px;height:23px}#sound .sound-muted{display:none}#sound[aria-pressed="false"] .sound-waves{display:none}#sound[aria-pressed="false"] .sound-muted{display:block}#sound[aria-pressed="false"]{color:#b6bdc8}

#lookAround{position:absolute;right:58px;top:0;pointer-events:auto;border:1px solid #ffffff35;border-radius:24px;padding:12px 16px;background:#172438d9;color:#f2dfba;font-size:13px;min-height:44px}#lookAround[aria-pressed="true"]{background:#e8d3a8;color:#26313a;border-color:#ffe5b5}#home:disabled{opacity:.4;cursor:default}@media(max-width:600px){#lookAround{top:64px;right:0;padding:10px 13px}}

.keeper-bubble{position:fixed;z-index:20;transform:translate(-50%,-100%);width:210px;padding:12px 16px;border-radius:17px;background:rgba(255,241,207,.72);color:#393c35;box-shadow:0 5px 20px #0003;text-align:center;font:500 14px/1.4 system-ui,sans-serif;pointer-events:none}.keeper-bubble:after{content:"";position:absolute;bottom:-9px;left:calc(50% - 9px);border-left:9px solid transparent;border-right:9px solid transparent;border-top:10px solid rgba(255,241,207,.72)}.keeper-bubble[hidden]{display:none}

#toast{background:#131b2c88;backdrop-filter:blur(8px)}dialog{background:#1b2638c9}.keeper-bubble{backdrop-filter:blur(6px)}
.light-panel{margin-top:18px;padding:15px;border:1px solid #ffe0a525;border-radius:18px;background:linear-gradient(135deg,#192a3b99,#121b2c66);box-shadow:0 8px 30px #0002;backdrop-filter:blur(10px)}.light-panel-top,.timer-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.light-panel-top{font-size:10px;letter-spacing:1.8px;color:#b8c4cf}#progressLabel{color:#ffe2a7;font-size:12px;letter-spacing:.5px}.light-slots{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin:14px 0}.light-slot{height:26px;display:grid;place-items:center;background:#ffffff08;border:1px solid #ffffff15;border-radius:8px;transition:background .5s,box-shadow .5s,border-color .5s}.light-slot i{font-style:normal;font-size:14px;color:#ffffff26;transition:color .4s,transform .4s}.light-slot.carried{border-color:#eed4a966}.light-slot.carried i{color:#dfc69288}.light-slot.on{background:linear-gradient(145deg,#ffe8a6,#d7994e);border-color:#ffe8b7;box-shadow:0 0 12px #ffce8059}.light-slot.on i{color:#fff8df;text-shadow:0 0 7px white;animation:light-arrive .65s ease-out}.light-panel .progress{height:4px;margin:0 0 14px;background:#ffffff0d}.light-panel #progressFill{background:linear-gradient(90deg,#cf9754,#fff0be);box-shadow:0 0 12px #ffce80}.timer-row{font-size:9px;letter-spacing:1.5px;color:#acb8c5}#runTime{font:500 22px/1.2 ui-monospace,monospace;letter-spacing:-1px;color:#f9e9c8;font-variant-numeric:tabular-nums}.best-row{margin-top:6px;text-align:right;font-size:9px;letter-spacing:1px;color:#a7b5c3}.best-row span{margin-left:6px;color:#d3d9da}.light-panel.complete{border-color:#ffe0a580;box-shadow:0 0 28px #ffc77526}@keyframes light-arrive{0%{transform:scale(.4)}45%{transform:scale(1.6)}100%{transform:scale(1)}}
.counts>span:first-child{display:none}.counts{justify-content:flex-end;padding-right:4px;color:#e1d6bd}
@media(prefers-reduced-motion:reduce){.light-slot.on i{animation:none}}

header{justify-content:flex-end;gap:14px}footer{justify-content:flex-end}.objective{top:28px}.light-panel{margin-top:0}#toast{display:none}@media(max-width:1000px){.objective{top:22px}}@media(max-width:480px){.objective{top:86px;width:190px}}
/* Compact eight-light capsule, matching the supplied reference. */
.objective{width:270px}.light-panel{padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;border-radius:0}.light-panel-top,.light-panel .progress{display:none}.light-slots{display:flex;gap:7px;align-items:center;justify-content:center;margin:0 0 13px;padding:7px 9px;border:3px solid #f3f2e9;border-radius:999px;background:#171d22b8;box-shadow:0 2px 7px #0005,inset 0 0 0 1px #ffffff20}.light-slot{flex:1;aspect-ratio:1;height:auto;border:3px solid #ffbc49;border-radius:50%;background:transparent;box-shadow:none;transition:background .35s,box-shadow .35s}.light-slot i{display:none}.light-slot.carried{border-color:#ffbc49;background:transparent}.light-slot.on{border-color:#ffbc49;background:#ffbc49;box-shadow:0 0 6px #ffbc4933}.light-panel.complete{border:0;box-shadow:none}.timer-row{padding:0 10px;font-size:9px;color:#dedfd8}.timer-row strong{font-size:19px;letter-spacing:0;color:#f3efe1}.best-row{padding:0 10px;margin-top:5px}.counts{padding-right:10px;margin-top:9px;font-size:11px}@media(max-width:1000px){.objective{width:245px}}@media(max-width:480px){.objective{width:225px}.light-slots{gap:5px;padding:6px 8px}.light-slot{border-width:2.5px}}
/* Half-filled circles are carried lights; solid circles are delivered lights. */
.light-slot.carried{background:linear-gradient(to top,#ffbc49 0%,#ffbc49 50%,transparent 50%,transparent 100%);border-color:#ffbc49}.counts{display:none}.timer-row #runTime{font-size:15px;letter-spacing:0}

.timer-row>span{letter-spacing:.2px;font-size:10px;line-height:1.4;max-width:165px}.timer-row #runTime{flex-shrink:0}

.keeper-bubble{background:rgba(255,241,207,.43);backdrop-filter:blur(4px)}.keeper-bubble:after{display:none}dialog{background:#1b263878;backdrop-filter:blur(9px);padding:32px 38px}dialog::backdrop{background:#080e2022}dialog h2{font-size:30px;margin:4px 0 22px}dialog #finishTime{font:600 clamp(42px,8vw,66px)/1.15 ui-monospace,monospace;color:#ffe4a7;margin:12px 0 20px;letter-spacing:-2px;text-shadow:0 0 22px #ffce8044}

.light-slots{border:1px solid #ffffff35;box-shadow:0 2px 7px #0003}
