.keeper{--sea:#163f4e;--ink:#173e49;--cream:#fff5dd;--gold:#ffda88;box-sizing:border-box;width:100%;min-height:640px;padding:26px 30px;color:var(--cream);background:radial-gradient(ellipse at 80% 0,#315f6c 0,transparent 60%),linear-gradient(160deg,#194653,#102f3f);font-family:var(--font-body),sans-serif;position:relative;isolation:isolate}.keeper *{box-sizing:border-box}.keeper button{font:inherit;cursor:pointer}.keeper button:focus-visible{outline:3px solid #ffe097;outline-offset:4px}.keeper button:disabled{cursor:default}.keeper h1,.keeper h2,.keeper p{margin:0}.keeper-kicker{font-size:11px!important;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:#c7d9d5!important}.keeper-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.keeper h2{font-size:30px;line-height:1.12;color:var(--cream);margin-top:6px}.keeper-text{color:var(--cream);background:transparent;border:0;text-decoration:underline;text-underline-offset:5px;min-height:44px;padding:8px;font-size:12px!important}.keeper-meters{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #a7d1cd36;border-radius:12px;overflow:hidden;background:#082a365c}.keeper-meters>span{display:flex;flex-direction:column;align-items:center;padding:11px 6px;gap:1px}.keeper-meters>span+span{border-left:1px solid #a7d1cd26}.keeper-meters small{color:#bed5d2;font-size:11px}.keeper-meters strong{font-size:25px;font-variant-numeric:tabular-nums;color:var(--gold)}.keeper-meters em{font-size:13px;font-style:normal;color:#c7d9d5}.keeper-progress{height:3px;background:#6d92913d;margin:12px 3px 18px;border-radius:3px;overflow:hidden}.keeper-progress>span{display:block;height:100%;background:var(--gold);transition:width .25s}.keeper-harbor-heading{display:flex;justify-content:space-between;font-size:10px;color:#b5d0cd;gap:10px;margin-bottom:9px}.keeper-harbor{display:grid;gap:14px}.keeper-channel-head{display:flex;justify-content:space-between;align-items:center;margin:0 3px 5px;font-size:12px;font-weight:800;gap:8px}.keeper-channel-head small{font-size:10px;font-weight:500;color:#e9d6ac}.keeper kbd{font:inherit;font-size:10px;color:#abcac7;border:1px solid #91b9b259;border-radius:4px;padding:1px 4px;margin-left:4px}.keeper-lane{position:relative;display:flex;align-items:center;width:100%;padding:4px 9px 4px 0;border:1px solid #83b4b140;border-radius:13px;background:linear-gradient(90deg,#477b8045,#46777e20);color:var(--cream);text-align:left;overflow:hidden;min-height:99px}.keeper-lane:hover:enabled{border-color:#ffe097;background:#7d9c7740}.keeper-beacon{width:37px;flex-shrink:0;text-align:center;font-size:29px;color:var(--gold);text-shadow:0 0 14px #ffde8955}.keeper-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;flex:1;min-width:0}.keeper-water{font-size:23px;text-align:center;color:#8ac8c83d;border-bottom:1px dashed #8ac8c821;height:55px}.keeper-boat{display:flex;flex-direction:column;align-items:center;min-width:0;position:relative;padding:0 1px 4px}.keeper-boat svg{width:100%;max-width:85px;aspect-ratio:100/76;display:block;filter:drop-shadow(0 3px 2px #071f3840)}.keeper-lights{display:flex;gap:4px;margin-top:-4px;min-height:9px}.keeper-lights i{width:8px;height:8px;border-radius:50%;border:1.5px solid #ffe1a2;background:#123e4b}.keeper-lights i.lit{background:#ffdb83;box-shadow:0 0 8px #ffdc8999}.keeper-boat-label{font-size:9px;line-height:1.4;color:#d2e4df;margin-top:3px;white-space:nowrap}.keeper-urgent{background:#f2bb6421;border-radius:8px;box-shadow:inset 0 0 0 1px #ffda8880}.keeper-flash-label{position:absolute;right:8px;top:6px;text-transform:uppercase;font-size:8px;letter-spacing:.1em;color:#b8d5d1;opacity:.75;pointer-events:none}.keeper-flashing .keeper-lane{animation:keeper-signal .32s ease-out}.keeper-feedback{margin-top:17px;border-left:3px solid var(--gold);padding:10px 13px;color:#fff2d3;background:#a8c4a514;font-size:13px;line-height:1.5;min-height:61px;border-radius:0 8px 8px 0}.keeper-combo{background:#e4bc5830;color:#ffe3a3}.keeper-forecast{display:flex;gap:12px;padding:14px 0 10px;border-bottom:1px solid #a7d1cd26;font-size:11px;line-height:1.5;color:#c6dbd6}.keeper-forecast strong{white-space:nowrap;color:#ffe3a3}.keeper-small{font-size:11px!important;line-height:1.6!important;color:#b8ceca!important;text-align:center}.keeper-reminder{margin-top:12px!important}.keeper-welcome,.keeper-ending{text-align:center;max-width:570px;margin:auto;padding:6px 0 12px}.keeper-welcome-art{width:160px;height:185px;margin:0 auto 10px;position:relative}.keeper-welcome-art svg{width:100%;height:100%}.keeper-spark{position:absolute;color:#ffe1a1}.keeper-spark--one{top:38px;left:0;font-size:19px}.keeper-spark--two{top:12px;right:12px;font-size:12px}.keeper h1{font-size:clamp(30px,5vw,45px);color:#fff3d8;line-height:1.03;margin:12px 0 17px;font-weight:900;letter-spacing:-.035em}.keeper-lead{color:#d8e6df;font-size:18px;line-height:1.5}.keeper-welcome-facts{display:flex;justify-content:center;gap:15px;font-size:11px;color:#c1d5ce;margin:25px 0}.keeper-primary,.keeper-secondary{display:flex;justify-content:space-between;align-items:center;gap:12px;width:min(100%,360px);margin:12px auto 5px;border-radius:10px;min-height:50px;padding:13px 20px;font-weight:850!important}.keeper-primary{background:var(--gold);color:#183e48;border:1px solid #ffe9b5;box-shadow:0 4px #a57b36}.keeper-primary:hover{background:#ffe5a7}.keeper-secondary{background:transparent;color:var(--cream);border:1px solid #9dc3bc66;justify-content:center}.keeper-guide{text-align:left;line-height:1.7;color:#deebe3;font-size:13px;padding:18px;background:#06243280;border:1px solid #97bfb14d;border-radius:12px;margin:12px 0 18px}.keeper-guide strong{color:#ffe3a3}.keeper-guide ol{padding-left:21px;margin:10px 0}.keeper-guide li+li{margin-top:7px}.keeper-ending-tower{width:90px;margin:0 auto}.keeper-ending h2{font-size:31px;max-width:390px;margin:12px auto}.keeper-stars{display:flex;justify-content:center;gap:12px;font-size:35px;margin:8px 0;color:#597d7e}.keeper-stars .earned{color:var(--gold);text-shadow:0 0 20px #ffdf8b33}.keeper-final-score{font-size:58px;font-weight:900;letter-spacing:-.06em;line-height:1.15;color:var(--gold)}.keeper-final-score small{display:block;font-size:11px;letter-spacing:.08em;font-weight:600;text-transform:uppercase;color:#bad4d0}.keeper-result-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:20px 0;font-size:11px;color:#c2d8d0}.keeper-result-stats strong{display:block;font-size:22px;color:#fff1d0}.keeper-postcard{font-family:Georgia,serif;font-style:italic;font-size:17px;line-height:1.5;padding:18px;margin:8px 0 16px!important;border:1px solid #d6debb3b;border-radius:10px;background:#c5c7a515;color:#f1e7cf}body.play-theme-cozy-lighthouse-keeper{background:#173d49!important}body.play-theme-cozy-lighthouse-keeper .play-shell[data-game-shell] .game-stage{aspect-ratio:auto!important;height:auto!important;max-height:none!important;min-height:0!important}body.play-theme-cozy-lighthouse-keeper .play-shell[data-game-shell]{width:min(760px,calc(100vw - 24px))!important;max-width:none}body.play-theme-cozy-lighthouse-keeper .play-shell:fullscreen .game-stage-wrap{overflow-y:auto}body.play-theme-cozy-lighthouse-keeper .play-shell:fullscreen .keeper{min-height:100%}@keyframes keeper-signal{0%{background:#ffe09788;box-shadow:inset 0 0 35px #ffe09777}to{background:#477b8030;box-shadow:inset 0 0 0 transparent}}@media(max-width:520px){.keeper{padding:19px 12px;min-height:590px}.keeper h2{font-size:24px}.keeper-top{margin-bottom:15px}.keeper-kicker{font-size:9px!important}.keeper-meters strong{font-size:22px}.keeper-lane{min-height:85px;padding-right:4px}.keeper-beacon{width:24px;font-size:23px}.keeper-harbor{gap:12px}.keeper-lights{gap:3px}.keeper-lights i{width:7px;height:7px}.keeper-boat-label{font-size:8px}.keeper-channel-head small{font-size:9px}.keeper-feedback{font-size:12px;padding:9px 10px}.keeper-welcome-art{height:155px;width:135px}.keeper-welcome-facts{gap:10px;font-size:10px}.keeper-lead{font-size:16px}.keeper-guide{font-size:12px;padding:13px}.keeper-harbor-heading{font-size:8px}.keeper-text{font-size:10px!important}.keeper-ending h2{font-size:26px}.keeper-flash-label{font-size:7px;top:4px}.keeper-postcard{font-size:15px}}@media(prefers-reduced-motion:reduce){.keeper *{animation:none!important;transition:none!important}}
