:root{color-scheme:dark;--gold:#d99b54;--ivory:#fff0d4}*{box-sizing:border-box}body,html{margin:0;min-height:100%;overflow-x:hidden}body{font-family:Georgia,Times New Roman,serif;background:#111;color:#fff}button{font:inherit}.game-shell{min-height:100vh;position:relative;overflow:hidden;background:linear-gradient(#1c193066,#34203c55),url(/games/harbor-fortunes/assets/harbor-fortunes/background.png) 50%/cover fixed}.game-shell:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 45%,transparent 15%,#29163030 60%,#07142d99 100%)}.game-layout{position:relative;z-index:1;min-height:100vh;width:min(1120px,100%);margin:auto;padding:clamp(4px,1vh,10px) 14px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center}.reel-stage{width:min(690px,72vh,82vw);aspect-ratio:1329/1183;position:relative;filter:drop-shadow(0 18px 30px #1b1028aa)}.reel-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2;pointer-events:none}.board{position:absolute;z-index:3;left:7.05%;right:7.1%;top:19.55%;bottom:5.55%;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(5,1fr);overflow:hidden}.cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;border-right:1px solid #df9f5266;border-bottom:1px solid #df9f5233;animation:drop .36s cubic-bezier(.18,.85,.35,1.2) both}.cell:nth-child(6n+2){animation-delay:25ms}.cell:nth-child(6n+3){animation-delay:.05s}.cell:nth-child(6n+4){animation-delay:75ms}.cell:nth-child(6n+5){animation-delay:.1s}.cell:nth-child(6n){animation-delay:.125s}.cell img{width:94%;height:94%;object-fit:contain;filter:drop-shadow(0 3px 4px #0008);-webkit-user-select:none;user-select:none}.cell.amphora img{width:88%;height:88%}.cell.winning{z-index:5;animation:winPulse .45s infinite alternate}.cell.winning img{filter:drop-shadow(0 0 9px #fff) drop-shadow(0 0 13px #62f7ff)}.cell.multiplier b{position:absolute;inset:0;display:grid;place-items:end center;padding-bottom:18%;font:700 clamp(9px,1.6vw,18px) Georgia;color:#fff4c6;text-shadow:0 2px 2px #562d00,0 0 5px #ffb100}.bonus-badge{position:absolute;z-index:6;left:50%;top:18%;transform:translateX(-50%);padding:7px 18px;border:2px solid #ffe7a7;border-radius:99px;background:linear-gradient(#e7a65b,#92501e);box-shadow:0 4px 18px #ffca6388;font-weight:700;font-size:11px;letter-spacing:.12em;white-space:nowrap}.result-multiplier{position:absolute;z-index:7;inset:20% 8% 5%;display:grid;place-items:center;pointer-events:none;color:#fff4c2;font-weight:900;font-size:clamp(70px,13vw,150px);text-shadow:0 5px #8b471f,0 0 15px #fff,0 0 40px #ffc65c;animation:divinePop .8s both}.status{position:relative;min-height:22px;margin:-3px 0 3px;color:#fff4d0;font:700 11px Arial,sans-serif;letter-spacing:.14em;text-shadow:0 2px 5px #07142d;text-align:center}.control-deck{position:relative;z-index:9;width:min(1070px,100%);min-height:90px;display:grid;grid-template-columns:1.15fr 1.65fr 150px 1.05fr 1.05fr 72px 72px;align-items:center;gap:6px;padding:7px 10px;border:2px solid #f7dab0;border-radius:20px;background:linear-gradient(180deg,#f6dfc9f2,#a55d40f2 12%,#e6b182f2 18%,#6c372df2 23%,#331e32f5);box-shadow:0 8px 25px #160d21aa,inset 0 0 0 3px #cd8b57}.meter{min-height:58px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:6px 8px;border:2px solid #d59c69;border-radius:10px;background:linear-gradient(#0b2a59,#041632);box-shadow:inset 0 0 12px #0008}.meter span{color:#f2d7b0;font:700 10px Arial,sans-serif;letter-spacing:.13em}.meter strong{margin-top:3px;font-size:clamp(16px,2vw,23px);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.win-text{color:#71fff2;text-shadow:0 0 10px #20dbff}.bet-cluster{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:2px}.asset-button{position:relative;padding:0;border:0;background:none;cursor:pointer;transition:transform .09s,filter .09s}.asset-button img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.asset-button:hover{filter:brightness(1.12) drop-shadow(0 0 7px #fff2b466)}.asset-button:active{transform:translateY(4px) scale(.96);filter:brightness(.82)}.asset-button:disabled{opacity:.46;filter:grayscale(.45);cursor:not-allowed}.asset-button.active{filter:drop-shadow(0 0 9px #44f4ff) brightness(1.2)}.asset-button.mini{width:48px;height:48px}.asset-button.small{width:67px;height:67px}.spin-button{width:154px;height:104px;margin:-17px -2px -12px}.spin-button.spinning img{animation:spinGlow .55s infinite alternate}.asset-button em{position:absolute;right:3px;top:1px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#57f5ff;color:#062248;font:700 11px Arial;font-style:normal}.menu-button{position:fixed;z-index:12;left:14px;top:14px;width:62px;height:62px}.modal-backdrop{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:20px;background:#061329cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.game-menu{position:relative;width:min(440px,100%);padding:30px;border:3px solid #f1d2a2;border-radius:25px;background:linear-gradient(145deg,#0d3260,#06152f 65%);box-shadow:0 20px 80px #000,inset 0 0 0 5px #a86c46;text-align:center;animation:menuIn .25s both}.menu-kicker{margin:0;color:#6cefff;font:700 10px Arial;letter-spacing:.2em}.game-menu h2{margin:5px 0 20px;color:#ffe3b4;font-size:30px}.close-menu{position:absolute;right:13px;top:9px;border:0;background:none;color:#ffe8c1;font-size:32px;cursor:pointer}.menu-actions,.menu-row{display:grid;gap:8px}.menu-row{grid-template-columns:52px 1fr auto;align-items:center;border:1px solid #da9e63;border-radius:14px;background:#071a38;color:#fff;padding:6px 14px;cursor:pointer;text-align:left}.menu-row img{width:48px;height:48px;object-fit:contain}.menu-row span{font:700 12px Arial;letter-spacing:.1em}.menu-row b{color:#70f6ff}.reset-button{border:1px solid #d99b63;border-radius:12px;background:#6a2c2c;color:#ffe9d0;padding:14px;font:700 11px Arial;letter-spacing:.1em;cursor:pointer}.rules{margin-top:20px;padding-top:12px;border-top:1px solid #ffffff22;text-align:left;color:#bcd0e8;font:12px/1.4 Arial}.rules p{margin:6px 0}.rules b{color:#f4c985}.bonus-mode:after{content:"";position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 100px #5beaff66;animation:bonusAura 1.4s infinite alternate}@keyframes drop{0%{opacity:0;transform:translateY(-55%) scale(.75)}}@keyframes winPulse{to{transform:scale(.88);filter:brightness(1.5)}}@keyframes divinePop{0%{opacity:0;transform:scale(.2)}55%{opacity:1;transform:scale(1.18)}to{opacity:0;transform:scale(1)}}@keyframes spinGlow{to{filter:brightness(1.35) drop-shadow(0 0 14px #fff1a7);transform:rotate(2deg)}}@keyframes menuIn{0%{opacity:0;transform:scale(.85)}}@keyframes bonusAura{to{box-shadow:inset 0 0 150px #ffd76b66}}@media(max-width:850px){.game-layout{justify-content:flex-start;padding-top:5px}.reel-stage{width:min(690px,80vw)}.control-deck{grid-template-columns:1fr 1.4fr 110px 1fr 60px 60px}.control-deck>.meter:nth-of-type(4){display:none}.spin-button{width:116px;height:85px}.asset-button.small{width:55px;height:55px}.meter{min-height:50px}.menu-button{width:50px;height:50px}}@media(max-width:620px){.game-layout{padding:48px 4px 6px;min-height:100svh}.reel-stage{width:min(96vw,63vh)}.status{font-size:8px;min-height:18px}.control-deck{grid-template-columns:1fr 1.35fr 92px 1fr 46px 46px;gap:2px;padding:5px 3px;min-height:72px;border-radius:12px}.control-deck>.meter:nth-of-type(4){display:none}.meter{min-height:46px;padding:4px 2px}.meter span{font-size:7px}.meter strong{font-size:13px}.bet-cluster{grid-template-columns:34px 1fr 34px}.asset-button.mini{width:34px;height:34px}.asset-button.small{width:44px;height:44px}.spin-button{width:96px;height:72px;margin:-10px}.menu-button{left:6px;top:5px;width:44px;height:44px}.cell.multiplier b{font-size:8px}.bonus-badge{font-size:7px;padding:4px 8px}.game-menu{padding:24px 17px}}@media(min-width:851px){.reel-stage{width:min(900px,80vh,92vw)}.control-deck{width:min(1200px,100%)}}.win-celebration{position:fixed;z-index:50;inset:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,#fff5b033 0,#284983bb 32%,#06142bee 73%);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);cursor:wait}.win-celebration:after,.win-celebration:before{content:"";position:absolute;width:70vmax;height:70vmax;border:2px solid #ffe7a555;border-radius:50%;animation:celestialRing 7s linear infinite}.win-celebration:after{width:52vmax;height:52vmax;animation-direction:reverse;animation-duration:5s}.win-rays{position:absolute;width:150vmax;height:150vmax;background:repeating-conic-gradient(from 0deg,#fff8cf22 0 3deg,transparent 3deg 12deg);animation:celestialRing 16s linear infinite}.win-content{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;text-align:center;filter:drop-shadow(0 10px 25px #000);animation:winReveal .8s cubic-bezier(.16,.9,.25,1.25) both}.win-content p{margin:0 0 8px;color:#96f7ff;font:700 clamp(10px,1.2vw,16px) Arial;letter-spacing:.28em}.win-content h2{margin:0;color:#fff1bd;font-size:clamp(58px,11vw,160px);line-height:.88;text-shadow:0 5px 0 #9b541f,0 0 12px #fff,0 0 40px #ffc85d}.win-content strong{margin-top:25px;color:#fff;font-size:clamp(36px,6vw,82px);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-shadow:0 0 18px #5cecff}.win-content span{margin-top:5px;padding:6px 18px;border:1px solid #ffdc96;border-radius:99px;background:#071b3dbb;color:#ffd98e;font:700 13px Arial;letter-spacing:.12em}.win-progress{width:min(420px,70vw);height:5px;margin-top:35px;border-radius:5px;background:#ffffff22;overflow:hidden}.win-progress i{display:block;height:100%;background:linear-gradient(90deg,#4feaff,#fff2ad);animation:winTimer 6s linear both}.win-cloud{position:absolute;bottom:-18%;width:65%;height:50%;border-radius:50%;background:radial-gradient(ellipse,#fff9e4aa,transparent 65%);filter:blur(22px);animation:cloudDrift 4s ease-in-out infinite alternate}.cloud-left{left:-12%}.cloud-right{right:-12%;animation-direction:alternate-reverse}@keyframes celestialRing{to{transform:rotate(1turn)}}@keyframes winReveal{0%{opacity:0;transform:scale(.3) translateY(80px)}}@keyframes winTimer{0%{width:0}to{width:100%}}@keyframes cloudDrift{to{transform:translateY(-9%) scale(1.08)}}.asset-button em,.menu-kicker,.menu-row span,.meter span,.reset-button,.rules,.status,.win-content p,.win-content span,body,button{font-family:var(--font-harbor-fortunes),"Palatino Linotype",Palatino,serif}.harbor-fortunes-site-exit{position:fixed;z-index:28;right:16px;top:16px;padding:11px 17px;border:1px solid #e2b655;border-radius:10px;background:linear-gradient(180deg,#075f6cdd,#032837ee);box-shadow:inset 0 0 0 2px #08202a,0 5px 16px #0009;color:#ffe4a1;text-decoration:none;text-transform:uppercase;font:700 10px Cinzel Decorative,serif;letter-spacing:.08em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.harbor-fortunes-site-exit:hover{filter:brightness(1.2)}@media(max-width:620px){.harbor-fortunes-site-exit{right:6px;top:6px;padding:8px 10px;font-size:8px}}.cell{animation-duration:.72s}.cell:nth-child(6n+2){animation-delay:.06s}.cell:nth-child(6n+3){animation-delay:.12s}.cell:nth-child(6n+4){animation-delay:.18s}.cell:nth-child(6n+5){animation-delay:.24s}.cell:nth-child(6n){animation-delay:.3s}.cell img{width:84%;height:84%;object-position:center;transform:translateY(-1.5%)}.cell.amphora img{width:80%;height:80%}.turbo-mode .cell{animation-duration:.22s}.turbo-mode .cell:nth-child(6n+2){animation-delay:18ms}.turbo-mode .cell:nth-child(6n+3){animation-delay:36ms}.turbo-mode .cell:nth-child(6n+4){animation-delay:54ms}.turbo-mode .cell:nth-child(6n+5){animation-delay:72ms}.turbo-mode .cell:nth-child(6n){animation-delay:.09s}@media(min-width:851px){.game-layout{width:min(1420px,100%)}.reel-stage{width:min(1120px,92vh,96vw)}.control-deck{width:min(1320px,96vw);grid-template-columns:1.15fr 1.65fr 210px 1.05fr 1.05fr 84px 84px;min-height:104px}.spin-button{width:210px;height:142px;margin:-26px -5px -20px}.asset-button.small{width:82px;height:82px}.meter{min-height:66px}}.play-area{width:100%;display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;justify-items:center;gap:14px}.feature-rail{width:190px;display:grid;gap:9px;align-content:center}.feature-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;width:100%;padding:12px 8px;border:2px solid #f3d39b;border-radius:15px;background:linear-gradient(160deg,#133b70,#061832 62%);color:#fff;box-shadow:inset 0 0 0 3px #a76343,0 8px 20px #0b0d20aa;cursor:pointer;transition:.15s}.feature-card:before{content:"";position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 35%,#ffffff26 50%,transparent 65%);transform:translateX(-60%);transition:.5s}.feature-card:hover:before{transform:translateX(60%)}.feature-card:active{transform:translateY(3px) scale(.98)}.feature-card:disabled{opacity:.45;cursor:not-allowed}.feature-card span{color:#73efff;font-size:11px;letter-spacing:.14em}.feature-card b{margin-top:2px;color:#fff0bd;font-size:14px}.feature-card strong{margin-top:5px;font-size:27px;color:#fff;text-shadow:0 0 10px #5de9ff}.feature-card small{margin-top:2px;color:#d3b68e;font-size:9px;letter-spacing:.1em}.divine-chance.enabled{border-color:#67f5ff;box-shadow:inset 0 0 18px #30dfff55,0 0 15px #30dfff66}.divine-chance.enabled strong{color:#69fff1}.spin-summary{min-height:118px;padding:10px;border:2px solid #d49a62;border-radius:14px;background:linear-gradient(#071932ee,#180d24ee);box-shadow:inset 0 0 14px #000}.spin-summary h3{margin:0 0 6px;text-align:center;color:#f6d29a;font-size:11px;letter-spacing:.14em}.spin-summary>p{margin:25px 0 0;text-align:center;color:#778ba6;font-size:10px}.summary-row{display:grid;grid-template-columns:29px 1fr auto;align-items:center;gap:5px;min-height:30px;border-top:1px solid #ffffff12;font-size:11px}.summary-row img{width:28px;height:28px;object-fit:contain}.summary-row span{color:#c7d7e8}.summary-row b{color:#75f4ff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cell.winning:after{content:"";position:absolute;z-index:4;inset:3%;border:3px solid #fff0a5;border-radius:10px;pointer-events:none;box-shadow:0 0 4px #fff,0 0 10px #ffbc35,0 0 20px #ff5d00,inset 0 0 9px #ff7b00;animation:divineFire .22s infinite alternate}.board.exiting .cell{animation:fallAway .7s cubic-bezier(.55,.05,.9,.45) forwards}.turbo-mode .board.exiting .cell{animation-duration:.22s}@keyframes divineFire{0%{filter:brightness(.9);box-shadow:0 0 3px #fff,0 0 8px #ffcd45,0 0 14px #ff6a00,inset 0 0 6px #ff8b00}to{filter:brightness(1.35);box-shadow:0 0 7px #fff,0 0 15px #ffe14f,0 0 26px #ff4d00,inset 0 0 14px #ff5b00}}@keyframes fallAway{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(145%) rotate(8deg)}}@media(min-width:851px){.reel-stage{width:min(1120px,92vh,calc(96vw - 215px))}}@media(max-width:850px){.play-area{grid-template-columns:1fr;gap:3px}.feature-rail{width:min(690px,94vw);grid-template-columns:1fr 1fr}.spin-summary{grid-column:1/-1;min-height:55px;display:flex;align-items:center;gap:8px;overflow-x:auto}.spin-summary h3{min-width:70px;margin:0}.spin-summary>p{margin:0}.summary-row{min-width:100px;border-top:0;border-left:1px solid #ffffff18;padding-left:5px}.feature-card{padding:7px}.feature-card strong{font-size:20px}}@media(min-width:851px){.game-layout{width:min(1660px,100%)}.play-area{grid-template-columns:240px minmax(0,1fr) 240px;gap:16px;align-items:stretch}.reel-stage{width:min(1120px,92vh,calc(96vw - 520px))}.feature-rail{grid-template-rows:1fr 1fr 2fr;align-content:stretch}.feature-rail,.right-rail{width:240px;height:100%}}.feature-card{min-height:0;border:0;border-radius:0;box-shadow:none;background-color:transparent;background-position:50%;background-size:100% 100%;background-repeat:no-repeat;padding:58px 28px 25px}.feature-card span{font-size:9px}.feature-card b{font-size:13px}.feature-card strong{font-size:23px}.feature-card:disabled{filter:grayscale(.55);opacity:.58}.feature-card.divine-chance.enabled{border:0;box-shadow:none;filter:drop-shadow(0 0 11px #44edff)}.spin-summary{height:100%;min-height:0;border:0;border-radius:0;box-shadow:none;background:transparent;padding:75px 34px 30px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cf965e transparent}.spin-summary h3{font-size:10px}.spin-summary>p{margin-top:35px}.summary-row{min-height:43px;grid-template-columns:38px 1fr auto}.summary-row img{width:37px;height:37px}.summary-row b{font-size:10px}.right-rail{display:block}@media(max-width:850px){.right-rail{display:none}.feature-rail{height:auto}.feature-card{min-height:125px;padding:42px 22px 18px;background-size:100% 145%}.spin-summary{height:230px;display:block;padding:55px 28px 24px;overflow-y:auto}.summary-row{min-width:0;border-left:0;border-top:1px solid #ffffff18}.spin-summary h3{margin:0 0 5px}.spin-summary>p{margin-top:25px}}@media(min-width:851px){.play-area{grid-template-columns:215px minmax(0,1fr) 215px;gap:12px;align-items:stretch}.reel-stage{width:min(1120px,92vh,calc(96vw - 454px))}.feature-rail,.right-rail{position:relative;top:19.55%;width:215px;height:74.9%;align-self:start}.feature-rail{gap:7px}}@keyframes guardianBreath{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.008)}}@keyframes guardianAura{0%,to{opacity:.38;transform:translate(-50%,-50%) scale(.92)}50%{opacity:.72;transform:translate(-50%,-50%) scale(1.06)}}@media(min-width:851px){.play-area{grid-template-columns:215px minmax(0,1fr) 480px;gap:5px}.reel-stage{width:min(1050px,92vh,calc(96vw - 710px))}.feature-rail{grid-template-rows:1.197fr 1.323fr 2.604fr;gap:2px}.feature-card,.spin-summary{background-size:contain;background-position:50%;background-repeat:no-repeat}.feature-card{padding-left:48px;padding-right:48px}.feature-card.buy-bonus{padding-top:22%}.feature-card.divine-chance{padding-top:24%}.spin-summary{padding:22% 51px 12%}.right-rail{width:480px;overflow:visible;pointer-events:none}.harbor-fortunes-guardian{position:absolute;left:0;bottom:0;height:100%;width:auto;max-width:none;object-fit:contain;filter:drop-shadow(0 16px 18px #07142dbb) drop-shadow(0 0 10px #5ee9ff44);transform-origin:45% 88%;animation:guardianBreath 5.5s ease-in-out infinite}.guardian-aura{position:absolute;z-index:-1;left:43%;top:50%;width:95%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#8df5ff44 0,#ffd87925 34%,transparent 68%);filter:blur(15px);animation:guardianAura 4s ease-in-out infinite}}@media(prefers-reduced-motion:reduce){.guardian-aura,.harbor-fortunes-guardian{animation:none}}@media(min-width:851px){.game-layout,.play-area{width:min(1320px,96vw)}.play-area{grid-template-columns:205px minmax(0,1fr) 205px;gap:8px}.reel-stage{width:100%;max-width:none}.control-deck{width:min(1320px,96vw)}.feature-rail,.right-rail{position:relative;top:19.55%;width:205px;height:74.9%;align-self:start}.feature-rail{display:grid;grid-template-rows:1fr 1fr;gap:6px}.right-rail{display:block;overflow:visible;pointer-events:auto}}.scroll-card{position:relative;width:100%;min-height:0;color:#20314a;text-align:center;filter:drop-shadow(0 8px 10px #08132988)}.action-scroll{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:21% 18% 16%;background:url(/games/harbor-fortunes/assets/harbor-fortunes/scrolls/action-scroll-transparent.png) 50%/100% 100% no-repeat}.scroll-kicker{color:#26768b;font-size:8px;font-weight:900;letter-spacing:.13em}.scroll-card h3{margin:4px 0;color:#173257;font-size:16px;line-height:1.05;text-shadow:0 1px #fff9dc;letter-spacing:.04em}.scroll-card strong{color:#8a421d;font-size:25px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.scroll-card small{margin-top:3px;color:#775b3f;font-size:8px;font-weight:700;letter-spacing:.11em}.scroll-action{margin-top:10px;min-width:112px;padding:8px 11px;border:2px solid #f6cf7d;border-radius:8px;background:linear-gradient(#1e5b8e,#092a58 58%,#061b3d);box-shadow:0 3px 0 #6d3519,0 5px 9px #31170b66,inset 0 0 0 2px #bd7d35;color:#fff1bf;font-size:10px;font-weight:900;letter-spacing:.08em;cursor:pointer;transition:transform .1s,filter .1s}.scroll-action:hover{filter:brightness(1.18)}.scroll-action:active{transform:translateY(3px);box-shadow:0 1px 0 #6d3519,inset 0 0 0 2px #bd7d35}.chance-toggle:disabled,.scroll-action:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.45)}.chance-scroll h3{font-size:13px}.chance-toggle{position:relative;width:116px;height:38px;margin-top:11px;padding:0;border:2px solid #a66b28;border-radius:99px;background:linear-gradient(#604d3c,#2b211c);box-shadow:inset 0 3px 8px #0008,0 2px 5px #4b2b16aa;cursor:pointer;transition:.2s}.chance-toggle .toggle-knob{position:absolute;left:3px;top:3px;width:28px;height:28px;border:2px solid #ffe5a2;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffffff,#65d9ee 32%,#0c4977 70%);box-shadow:0 0 7px #52dff0;transition:left .24s cubic-bezier(.2,.9,.3,1.15)}.chance-toggle b{position:absolute;right:17px;top:10px;color:#e9d7b5;font-size:10px;letter-spacing:.12em}.chance-scroll.enabled .chance-toggle{border-color:#50deed;background:linear-gradient(#3d9f91,#0c5b64);box-shadow:inset 0 2px 8px #003f49,0 0 9px #44e6ef}.chance-scroll.enabled .toggle-knob{left:81px}.chance-scroll.enabled .chance-toggle b{left:17px;right:auto;color:#eaffd9}.history-scroll.spin-summary{height:100%;padding:18% 17% 15%;overflow-y:auto;border:0;border-radius:0;box-shadow:none;background:url(/games/harbor-fortunes/assets/harbor-fortunes/scrolls/history-scroll-transparent.png) 50%/100% 100% no-repeat;scrollbar-width:thin;scrollbar-color:#a86d30 transparent}.history-scroll.spin-summary h3{margin:3px 0 10px;color:#173257;font-size:14px;letter-spacing:.12em}.history-scroll.spin-summary>p{margin:35px 0 0;color:#8c7458;font-size:9px}.history-scroll .summary-row{grid-template-columns:34px 1fr auto;min-height:58px;color:#253552;text-align:left}.history-scroll .summary-row img{width:33px;height:33px}.history-scroll .summary-row span{color:#5c4a3b}.history-scroll .summary-row b{color:#7b351b}.bonus-scroll h3{margin-bottom:7px;color:#102f59;font-size:20px;font-weight:900;letter-spacing:.08em;text-shadow:0 1px 0 #fff,0 0 3px #fff5d4}.bonus-scroll strong{color:#7d3218;font-size:32px;font-weight:900;text-shadow:0 1px 0 #ffe8bd}.bonus-scroll .scroll-action{margin-top:14px;font-size:11px;font-weight:900}.chance-scroll .scroll-kicker{color:#176a82;font-size:9px;font-weight:900;text-shadow:0 1px 0 #fff}.chance-scroll h3{margin:6px 0 5px;color:#102f59;font-size:15px;font-weight:900;line-height:1.12;text-shadow:0 1px 0 #fff,0 0 3px #fff5d4}.chance-scroll small{color:#60442c;font-size:9px;font-weight:900}.history-scroll.spin-summary{padding:16% 14% 15%}.history-scroll.spin-summary>p{margin-top:40px;font-weight:800}.history-scroll .summary-row{grid-template-columns:34px 30px minmax(0,1fr);gap:6px;min-height:64px;padding:0 2px;border-top:1px solid #98754755}.history-scroll .summary-row:first-child{border-top:0}.history-scroll .summary-row img{width:34px;height:34px;justify-self:center}.history-scroll .summary-row span{font-size:11px;font-weight:900;text-align:left}.history-scroll .summary-row b{justify-self:end;color:#743019;font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media(min-width:1100px){.control-deck{grid-template-columns:.65fr 1fr 210px .547fr .547fr 84px 84px}}.history-scroll.spin-summary{padding-left:19%;padding-right:20%}.history-scroll .summary-row{grid-template-columns:30px 26px minmax(0,1fr);gap:5px}.history-scroll .summary-row img{width:30px;height:30px}.history-scroll .summary-row span{font-size:10px}.history-scroll .summary-row b{font-size:9px;text-align:right}.bonus-celebration{background:radial-gradient(circle at 50% 43%,#fff2a64d 0,#245889d9 38%,#06142bf2 76%)}.bonus-celebration .win-content{gap:2px}.bonus-emblem{width:clamp(105px,15vw,210px);height:clamp(105px,15vw,210px);margin:-8px 0 -17px;object-fit:contain;filter:drop-shadow(0 0 12px #fff) drop-shadow(0 0 28px #55e8ff);animation:bonusEmblem 1.15s ease-in-out infinite alternate}.bonus-celebration .win-content h2{font-size:clamp(48px,8vw,112px)}.bonus-celebration .win-content strong{margin-top:13px;font-size:clamp(48px,7vw,96px);color:#fff2b8;text-shadow:0 4px #91491d,0 0 18px #fff,0 0 38px #51eaff}.bonus-celebration .win-progress{margin-top:24px}.bonus-celebration .win-progress i{animation-duration:4.5s}@keyframes bonusEmblem{to{transform:translateY(-7px) scale(1.06);filter:drop-shadow(0 0 18px #fff) drop-shadow(0 0 42px #66f1ff)}}.bonus-multiplier-meter{position:absolute;z-index:9;left:50%;top:17.2%;width:158px;height:54px;display:flex;align-items:center;justify-content:center;gap:4px;padding:5px 16px 5px 47px;border:2px solid #f8d68c;border-radius:10px;background:linear-gradient(180deg,#1b5d87,#082e61 48%,#071a3b);box-shadow:0 4px 0 #84451f,0 8px 18px #031127aa,inset 0 0 0 2px #b67938,inset 0 0 14px #4ce6ff33;transform:translateX(-50%);filter:drop-shadow(0 0 8px #ffd36b66);animation:multiplierMeterIn .45s cubic-bezier(.2,.9,.3,1.2) both}.bonus-multiplier-meter:after,.bonus-multiplier-meter:before{content:"";position:absolute;top:15px;width:25px;height:20px;border-top:3px solid #edc76f;border-bottom:2px solid #9b5d28;transform:skewY(-18deg)}.bonus-multiplier-meter:before{left:-20px}.bonus-multiplier-meter:after{right:-20px;transform:scaleX(-1) skewY(-18deg)}.bonus-multiplier-meter img{position:absolute;left:-9px;top:-8px;width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 3px 5px #0009) drop-shadow(0 0 8px #ffe486)}.bonus-multiplier-meter span{display:flex;flex-direction:column;align-items:center;line-height:1}.bonus-multiplier-meter small{color:#79ecf5;font-size:7px;font-weight:900;letter-spacing:.12em;white-space:nowrap}.bonus-multiplier-meter strong{margin-top:3px;color:#fff1b1;font-size:23px;line-height:1;text-shadow:0 2px #84431c,0 0 8px #fff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@keyframes multiplierMeterIn{0%{opacity:0;transform:translateX(-50%) translateY(-15px) scale(.75)}}.bonus-multiplier-meter{width:150px;padding:6px 18px;gap:0}.bonus-celebration .win-content .bonus-spins{display:flex;align-items:baseline;gap:12px;margin-top:18px;white-space:nowrap}.bonus-celebration .win-content .bonus-spins small{color:#fff1bd;font-size:clamp(18px,2.2vw,34px);font-weight:900;letter-spacing:.08em;text-shadow:0 2px #8b471f,0 0 10px #fff}:root{--gold:#d79b39;--ivory:#fff1c8}.game-shell{background:linear-gradient(#020d1d33,#00142255),url(/games/harbor-fortunes/assets/harbor-fortunes/background.png) 50%/cover fixed}.game-shell:before{background:radial-gradient(circle at 50% 48%,transparent 16%,#001c2833 62%,#010713aa 100%)}@media(min-width:851px){.play-area{grid-template-columns:160px minmax(0,1fr) 160px;gap:8px}.feature-rail,.right-rail{top:29.6%;width:160px;height:60.8%}.feature-rail{gap:5px}}.board{left:9.75%;right:9.75%;top:29.6%;bottom:9.6%}.cell{border-right-color:#d9a64122;border-bottom-color:#d9a64118}.cell img{width:88%;height:88%;filter:drop-shadow(0 4px 5px #000b) drop-shadow(0 0 3px #5bdfea33)}.control-deck{border-color:#f0c66c;background:linear-gradient(180deg,#0b4b5bf5,#052f3ff5 32%,#021623f7);box-shadow:0 8px 25px #010713cc,inset 0 0 0 3px #8c5b24}.meter{border-color:#b98132;background:linear-gradient(#073c50,#021526);box-shadow:inset 0 0 14px #000a,0 0 8px #2ad4e522}.meter span{color:#f5cf81}.win-text{color:#6fffe2;text-shadow:0 0 12px #1ee7d3}.status{color:#ffe4a0;text-shadow:0 2px 5px #00101d,0 0 8px #e6a52c55}.game-menu{border-color:#e8bd64;background:linear-gradient(145deg,#075064,#021828 68%);box-shadow:0 20px 80px #000,inset 0 0 0 5px #8a5b27}.menu-row{border-color:#b67a2e;background:#031c2c}.reset-button{border-color:#b77b30;background:#573121}.action-scroll{padding:25% 17% 14%}.scroll-card{filter:drop-shadow(0 9px 12px #010b16aa)}.scroll-kicker{color:#087483}.scroll-card h3{color:#063d54}.scroll-card strong{color:#8a4816}.scroll-action{border-color:#f1c260;background:linear-gradient(#087e83,#04545e 58%,#032f40);box-shadow:0 3px 0 #6d3d18,0 5px 9px #24140577,inset 0 0 0 2px #b77a2d}.chance-scroll.enabled .chance-toggle{border-color:#63f4eb;background:linear-gradient(#299c8b,#075766)}.history-scroll.spin-summary{padding-left:18%;padding-right:18%}.history-scroll .summary-row{grid-template-columns:27px 23px minmax(0,1fr);gap:3px}.history-scroll .summary-row img{width:27px;height:27px}.history-scroll .summary-row b{font-size:8px}.bonus-multiplier-meter{top:26.4%;border-color:#f0c764;background:linear-gradient(180deg,#087c83,#064a5e 48%,#03293e);box-shadow:0 4px 0 #704117,0 8px 18px #00101aaa,inset 0 0 0 2px #a76e29,inset 0 0 14px #57f4e244}.result-multiplier{inset:30% 10% 9%}.win-celebration{background:radial-gradient(circle at 50% 45%,#ffd97833 0,#075467cc 34%,#010d20f2 75%)}.bonus-celebration{background:radial-gradient(circle at 50% 43%,#ffd56d55 0,#086475d9 38%,#010d20f5 76%)}.cell{border-right:0;border-bottom:0}.cell img{object-position:50% 50%;transform:none}.cell img,.cell.amphora img{width:86%;height:86%}.history-scroll.spin-summary{padding:96px 25px 54px;overflow:hidden}.history-scroll .summary-row{width:100%;min-width:0;min-height:50px;grid-template-columns:1fr 1fr;gap:0;padding:0;overflow:hidden}.history-scroll .summary-symbol{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:3px;padding-right:7px}.history-scroll .summary-row img{width:24px;height:24px;flex:0 0 auto}.history-scroll .summary-row span{min-width:0;font-size:9px;white-space:nowrap}.history-scroll .summary-row b{min-width:0;max-width:100%;justify-self:stretch;align-self:center;overflow:hidden;padding-left:7px;font-size:10px;line-height:1;text-align:left;white-space:nowrap;text-overflow:clip}.mobile-control-deck{display:none}@media(max-width:620px){.game-layout,.game-shell{min-height:100svh}.game-layout{padding:44px 3px 151px;justify-content:center}.play-area{display:block;width:100%}.control-deck,.feature-rail,.right-rail{display:none}.reel-stage{width:min(98vw,calc(100svh - 205px));margin:auto}.status{z-index:19;bottom:158px;margin:0;min-height:14px;font-size:7px;pointer-events:none}.mobile-control-deck,.status{position:fixed;left:0;right:0}.mobile-control-deck{z-index:18;bottom:0;display:grid;grid-template-rows:55px 91px;width:100%;padding:3px max(4px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));background:linear-gradient(180deg,#073f50fa,#021622fd);border-top:2px solid #e5b452;box-shadow:0 -8px 22px #000b,inset 0 2px 0 #49c3c855}.mobile-feature-row{display:grid;grid-template-columns:1.35fr 1.35fr .72fr .72fr;align-items:center;gap:3px;padding:1px 3px 3px;border-bottom:1px solid #c9953f88}.mobile-feature-button{height:48px;min-width:0;padding:0;border:0;background:none;cursor:pointer;filter:drop-shadow(0 2px 3px #0008)}.mobile-feature-button img{display:block;width:100%;height:100%;object-fit:contain}.mobile-feature-button.active{filter:brightness(1.2) drop-shadow(0 0 6px #55fff0)}.mobile-feature-button:active{transform:translateY(2px) scale(.97)}.mobile-feature-button:disabled{opacity:.45;filter:grayscale(.4)}.mobile-round{justify-self:center;width:48px;height:48px}.mobile-main-row{display:grid;grid-template-columns:1fr 105px 1fr;align-items:center;gap:2px;padding:3px 5px;border:2px solid #d8a041;border-radius:13px;background:linear-gradient(#075066,#021c2b);box-shadow:inset 0 0 0 2px #07303d}.mobile-meter{min-width:0;height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #b87c2e;border-radius:8px;background:linear-gradient(#063a4d,#021522);box-shadow:inset 0 0 8px #0009}.mobile-meter span{color:#efc66c;font-size:7px;font-weight:900;letter-spacing:.08em}.mobile-meter strong{max-width:100%;color:#fff1c6;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.mobile-spin{z-index:2;width:112px;height:82px;margin-left:-4px}.mobile-bet{min-width:0;display:grid;grid-template-columns:20px minmax(0,1fr) 20px;align-items:center}.mobile-bet>button{z-index:2;width:24px;height:24px;padding:0;border:1px solid #d8a452;border-radius:50%;background:#06394c;color:#ffe09a;font-size:17px;font-weight:900;line-height:20px;cursor:pointer}.mobile-bet>button:first-child{margin-right:-5px}.mobile-bet>button:last-child{margin-left:-5px}.mobile-bet>button:disabled{opacity:.4}.menu-button{z-index:20}}