
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{background:#eef4f6;color:#1a2a33;font-family:'Manrope',system-ui,sans-serif;line-height:1.7;font-weight:300;min-height:100vh}
a{color:#3d7a95}
.wrap{max-width:1020px;margin:0 auto;padding:0 1.75rem}
header.site{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
padding:1.4rem 0;border-bottom:1px solid #cfdde3;position:sticky;top:0;background:rgba(238,244,246,.94);z-index:100}
.brand{font-family:'Cormorant Garamond','Times New Roman',serif;font-weight:700;font-size:1.25rem;color:#1a2a33;
text-decoration:none;letter-spacing:-0.005em}
nav{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
nav a{color:#5c7481;text-decoration:none;font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;transition:color .2s}
nav a:hover{color:#3d7a95}
#lang-switcher{position:relative}
#lang-btn{font-family:'Manrope',sans-serif;font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
padding:.4rem .8rem;background:transparent;border:1px solid #cfdde3;border-radius:3px;color:#3d7a95;cursor:pointer;
display:flex;align-items:center;gap:.4rem;transition:border-color .2s,color .2s}
#lang-btn:hover{border-color:#3d7a95}
#lang-btn .arrow{font-size:.55rem;transition:transform .2s}
#lang-btn.open .arrow{transform:rotate(180deg)}
#lang-dropdown{display:none;position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid #cfdde3;
border-radius:3px;overflow:hidden;z-index:200;min-width:160px;box-shadow:0 8px 30px rgba(26,42,51,.08)}
#lang-dropdown.open{display:block}
.lang-option{display:flex;gap:.5rem;padding:.55rem .9rem;font-size:.78rem;color:#5c7481;cursor:pointer;border-bottom:1px solid #eef4f6}
.lang-option:last-child{border-bottom:none}
.lang-option:hover{background:#f4f9fb;color:#3d7a95}
.lang-option.active{color:#3d7a95}
.hero{padding:3.5rem 0 3rem;text-align:center}
h1{font-family:'Cormorant Garamond','Times New Roman',serif;font-weight:400;font-size:clamp(2.8rem,8vw,5.2rem);
line-height:1.05;letter-spacing:-0.01em;margin-bottom:1.4rem;color:#1a2a33;text-shadow:0 0 42px rgba(61,122,149,.22)}
h1 i{font-style:italic;color:#3d7a95}
.lede{font-size:1rem;color:#5c7481;font-weight:300;max-width:460px;margin:0 auto}
.divider{width:1px;height:60px;background:#cfdde3;margin:2rem auto}
.eyebrow{font-size:.65rem;letter-spacing:.32em;color:#5c7481;font-weight:500;text-transform:uppercase;margin-bottom:.9rem;display:block}
.games{display:flex;flex-direction:column;gap:4.5rem;padding:2rem 0}
.ice{display:flex;gap:2rem;align-items:flex-start}
.ice-num{font-family:'Cormorant Garamond',serif;font-size:.85rem;letter-spacing:.15em;color:#3d7a95;font-weight:500;
min-width:70px;padding-top:.5rem;border-top:1px solid #3d7a95;transition:letter-spacing .3s,color .3s}
.ice:hover .ice-num{letter-spacing:.24em;color:#1a2a33}
.ice-body{flex:1}
.ice-kind{font-size:.65rem;letter-spacing:.32em;color:#5c7481;font-weight:500;margin-bottom:.75rem}
.ice-title{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:2.2rem;line-height:1.1;letter-spacing:-0.015em;
margin-bottom:1rem;color:#1a2a33;transition:color .3s}
.ice:hover .ice-title{color:#3d7a95}
.ice-desc{font-size:.95rem;color:#5c7481;margin-bottom:1.6rem;max-width:420px}
.ice-cta{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;color:#1a2a33;font-size:.72rem;
font-weight:500;letter-spacing:.24em;text-transform:uppercase;padding:.3rem 0;transition:color .2s,gap .2s}
.ice-cta-line{width:32px;height:1px;background:#1a2a33;transition:width .2s,background .2s}
.ice-cta:hover{color:#3d7a95;gap:1.25rem}
.ice-cta:hover .ice-cta-line{width:56px;background:#3d7a95}
.games-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;padding:2rem 0 3.5rem}
.legal{max-width:720px;margin:0 auto}
.card{background:#fff;border:1px solid #cfdde3;border-radius:4px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .3s,transform .3s}
.card:hover{border-color:#3d7a95;transform:translateY(-4px)}
.card-preview{height:140px;display:flex;align-items:center;justify-content:center;background:#f4f9fb;position:relative}
.card-icon{font-size:4rem;filter:drop-shadow(0 6px 14px rgba(61,122,149,.35))}
.card-badge{position:absolute;top:12px;right:12px;font-size:.6rem;letter-spacing:.28em;color:#3d7a95;border:1px solid #cfdde3;padding:2px 8px;background:#fff}
.card-body{padding:1.4rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.card-tag{font-size:.62rem;letter-spacing:.32em;color:#5c7481;font-weight:500;text-transform:uppercase}
.card-name{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.7rem;line-height:1.1;color:#1a2a33;transition:color .3s}
.card:hover .card-name{color:#3d7a95}
.card-desc{font-size:.88rem;color:#5c7481;line-height:1.7;flex:1}
.card-play{display:inline-block;text-align:center;padding:.7rem;border:1px solid #1a2a33;color:#1a2a33;text-decoration:none;font-size:.7rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;transition:color .2s,border-color .2s,background .2s}
.card-play:hover{color:#3d7a95;border-color:#3d7a95;background:#f4f9fb}
.brief{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;padding:0 0 1rem}
.brief article,.brief aside{background:#fff;border:1px solid #cfdde3;border-radius:4px;padding:1.5rem}
.brief h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.3rem;color:#1a2a33;margin-bottom:.5rem}
.brief p{font-size:.88rem;color:#5c7481;line-height:1.7}
.brief ul{list-style:none;font-size:.78rem;color:#5c7481;line-height:2;margin-bottom:.7rem}
.brief a{display:block;color:#1a2a33;text-decoration:none;font-size:.88rem;padding:.4rem 0;border-bottom:1px solid #eef4f6;transition:color .2s}
.brief a:hover{color:#3d7a95}
.about{padding:4.5rem 0 2.5rem;text-align:center;border-top:1px solid #cfdde3;margin-top:2rem}
.about h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.5rem;font-style:italic;color:#3d7a95;margin-bottom:1rem}
.about p{color:#5c7481;font-size:.95rem;max-width:480px;margin:0 auto 1.2rem}
.contact-mini{max-width:480px;margin:0 auto;text-align:left}
.contact-mini a{display:block;color:#1a2a33;text-decoration:none;font-size:.92rem;padding:.45rem 0;border-bottom:1px solid #eef4f6;transition:color .2s}
.contact-mini a:hover{color:#3d7a95}
.contact-mini a span{color:#5c7481}
.guide-strip{display:flex;flex-direction:column;gap:2.5rem;padding:1rem 0 3rem}
.guide-strip article{display:flex;gap:2rem;align-items:flex-start}
.guide-strip .num{font-family:'Cormorant Garamond',serif;font-size:.85rem;letter-spacing:.15em;color:#3d7a95;font-weight:500;
min-width:70px;padding-top:.4rem;border-top:1px solid #3d7a95}
.guide-strip h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.4rem;color:#1a2a33;margin-bottom:.4rem}
.guide-strip p{font-size:.92rem;color:#5c7481;max-width:460px}
.guide-body{padding:0 0 3rem}
.guide-body h2,section h2.block{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.6rem;color:#1a2a33;margin-bottom:1rem}
.score-chart div{display:flex;justify-content:space-between;gap:1rem;padding:.65rem .2rem;border-bottom:1px solid #eef4f6;font-size:.92rem}
.score-chart dt{color:#1a2a33}.score-chart dd{color:#3d7a95;font-weight:500}
.special-list article{padding:.9rem 0;border-bottom:1px solid #eef4f6}
.special-list strong{color:#3d7a95;font-weight:500;letter-spacing:.04em;font-size:.95rem}
.special-list p{font-size:.9rem;color:#5c7481;margin-top:.2rem}
.mode-table>div{display:flex;align-items:baseline;gap:1rem;padding:.7rem .2rem;border-bottom:1px solid #eef4f6}
.mode-table span{color:#1a2a33;min-width:120px;font-size:.92rem}
.mode-table strong{color:#3d7a95;font-weight:500;font-family:'Cormorant Garamond',serif;font-size:1.15rem}
.mode-table small{color:#5c7481;font-size:.8rem}
.guide-action{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;color:#1a2a33;font-size:.72rem;
font-weight:500;letter-spacing:.24em;text-transform:uppercase;margin-top:1.6rem;transition:color .2s,gap .2s}
.guide-action:hover{color:#3d7a95;gap:1.15rem}
.contact-shell section a{display:block;padding:.9rem .2rem;border-bottom:1px solid #eef4f6;text-decoration:none;color:#1a2a33;font-size:.95rem;transition:color .2s}
.contact-shell section a:hover{color:#3d7a95}
.contact-shell section a small{display:block;color:#5c7481;margin-top:.15rem;font-size:.8rem}
.contact-shell aside{margin-top:1.8rem;padding:1rem 1.2rem;border:1px solid #cfdde3;font-size:.82rem;color:#5c7481}
.contact-topics{list-style:none;font-size:.9rem;color:#1a2a33;line-height:2.1;margin:.4rem 0 .8rem}
.contact-topics strong{color:#3d7a95;font-weight:500}
.legal .policy-block{margin-bottom:1.8rem}
.legal h2{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.15rem;color:#3d7a95;margin-bottom:.5rem;letter-spacing:.005em}
.legal p{color:#1a2a33;font-size:1rem}
.legal ul{padding-left:1.2rem;color:#1a2a33;font-size:1rem}
footer{border-top:1px solid #cfdde3;margin-top:2rem}
footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem;padding:1.6rem 1.75rem 2.2rem;color:#5c7481;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase}
.footer-links a{color:#5c7481;margin-left:1.6rem;text-decoration:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.footer-links a:hover{color:#3d7a95;border-color:#3d7a95}
/* snowfall — original animation kept */
@keyframes snowfall{0%{transform:translateY(-10vh) translateX(0);opacity:0}10%{opacity:.6}90%{opacity:.6}100%{transform:translateY(105vh) translateX(30px);opacity:0}}
.flake{position:fixed;top:-10px;color:#3d7a95;font-size:14px;pointer-events:none;animation:snowfall 12s linear infinite;z-index:0;opacity:.5}
.flake:nth-child(1){left:6%;animation-delay:0s;animation-duration:14s}
.flake:nth-child(2){left:22%;animation-delay:3s;animation-duration:16s;font-size:10px}
.flake:nth-child(3){left:44%;animation-delay:6s;animation-duration:13s}
.flake:nth-child(4){left:68%;animation-delay:2s;animation-duration:17s;font-size:11px}
@media (max-width:860px){.games-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.games-grid{grid-template-columns:1fr}}
@media (max-width:520px){.ice{flex-direction:column;gap:1rem}.ice-num{border-top:none;padding-top:0}.guide-strip article{flex-direction:column;gap:.4rem}.guide-strip .num{border-top:none;padding-top:0}}
/* game pages: chrome above full-viewport games */
body.game-mode{display:flex;flex-direction:column;min-height:100vh}
body.game-mode main{flex:1;min-height:0;display:flex;flex-direction:column}
body.game-mode footer{flex:none}
