@font-face{font-family:Nunito;src:url('/assets/nunito-600.ttf') format('truetype');font-style:normal;font-weight:400 600;font-display:swap}
@font-face{font-family:Nunito;src:url('/assets/nunito-800.ttf') format('truetype');font-style:normal;font-weight:700 800;font-display:swap}
@font-face{font-family:Nunito;src:url('/assets/nunito-900.ttf') format('truetype');font-style:normal;font-weight:900;font-display:swap}
:root{font-family:Nunito,ui-rounded,'Arial Rounded MT Bold',system-ui,sans-serif;font-synthesis:none;font-weight:600;color:#254b3b;background:#fbfcf4;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #d5a23d;outline-offset:5px}svg{display:block}img{display:block;max-width:100%}[hidden]{display:none!important}
.welcome-shell{width:min(1160px,100%);min-height:100svh;margin:0 auto;padding:0 44px 28px}
.welcome-header{min-height:97px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #e3e9db}
.brand{display:flex;align-items:center;gap:4px;text-decoration:none;font-size:38px;line-height:1;letter-spacing:-1.8px;font-weight:900;border-radius:10px}.brand img{width:45px;height:45px;object-fit:contain}.brand-dot{color:#ee8878}
.language-switch{display:flex;align-items:center;gap:2px;padding:4px;border:1px solid #e0e6d5;border-bottom:3px solid #d9e2cc;border-radius:15px;background:#f1f4e9}
.language-switch button{min-width:44px;min-height:39px;padding:8px 11px;border:0;border-radius:10px;color:#8b9b7c;background:transparent;font-size:11px;line-height:1.4;letter-spacing:.4px;font-weight:900}
.language-switch button[aria-pressed=true]{color:#41663e;background:#fffef8;box-shadow:0 2px 0 #dae4ce}.language-switch button:hover{color:#456e40;background:#fafcf5}
.welcome-main{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;gap:32px;min-height:min(720px,calc(100svh - 125px));padding:49px 0 30px}
.welcome-copy{position:relative;z-index:1;min-width:0;padding-bottom:7px}
h1{font-size:clamp(40px,4.6vw,57px);font-weight:900;line-height:1.13;letter-spacing:-1.75px;max-width:570px;margin:0 0 21px}h1>span{display:block}.title-day{color:#649454}
.welcome-description{font-size:17px;line-height:1.75;color:#819276;max-width:390px;margin:0 0 24px}
.colour-guide{width:292px;max-width:100%;margin:0 0 27px}
.colour-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;align-items:center}
.colour-tile{display:grid;place-items:center;aspect-ratio:1;border:1px solid #254b3b0b;border-radius:11px;box-shadow:inset 0 -4px #254b3b15}
.tile-cold{background:#EEF1F3}.tile-yellow{background:#FFE14F}.tile-orange{background:#F88A1F}.tile-red{background:#DA3934}.tile-purple{background:#9953D7}.tile-found{background:#45AF6A}
.tile-found svg{width:25px;height:25px;fill:none;stroke:#fffef8;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.colour-labels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;color:#98a78a;font-size:10px;line-height:1.5;font-weight:800;margin-top:8px;text-align:center}
.colour-labels>span:first-child{grid-column:1}.colour-labels>span:nth-child(2){grid-column:5}.colour-labels>span:last-child{grid-column:6;color:#739863}
.play-button{display:flex;align-items:center;justify-content:center;gap:18px;width:max-content;max-width:100%;min-height:58px;padding:15px 24px;border:1px solid #358553;border-bottom:5px solid #287847;border-radius:17px;background:#449c63;color:#fffef9;text-decoration:none;font-weight:900;font-size:16px;line-height:1.5;box-shadow:0 3px 0 #254b3b05;transition:background .15s,transform .15s}
.play-button:hover{background:#4da76b}.play-button:active{transform:translateY(2px);border-bottom-width:3px}.play-button svg{flex-shrink:0;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.game-facts{display:flex;align-items:center;flex-wrap:wrap;column-gap:21px;row-gap:11px;list-style:none;padding:0;margin:25px 0 0;max-width:470px}
.game-facts li{display:flex;align-items:center;gap:7px;min-width:0;color:#8d9d80;font-size:11px;line-height:1.6;font-weight:800}
.game-facts svg{flex-shrink:0;width:16px;height:17px;fill:none;stroke:#94aa80;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.welcome-art-wrap{min-width:0;align-self:center;position:relative;padding-bottom:16px}
.welcome-art{position:relative;isolation:isolate;width:100%;aspect-ratio:.97}
.scene-wash{position:absolute;inset:10% -3% 1% 0;border:1.5px solid #dce8d8;border-radius:43% 54% 45% 48% / 45% 39% 57% 51%;background:#e9f2e7;transform:rotate(-8deg);z-index:-3}

.netherlands-map{position:absolute;left:17%;top:-4%;width:83%;height:94%;overflow:visible;transform:rotate(7deg);z-index:-2;opacity:.78}
.map-land{fill:#f7f5df;stroke:#c5d3b7;stroke-width:1.4;stroke-linejoin:round;fill-rule:evenodd}.map-provinces{fill:none;stroke:#bfcdae;stroke-width:.85;stroke-linejoin:round;opacity:.6}
.hero-tulip{position:absolute;width:66%;height:84%;left:11%;bottom:1%;object-fit:contain;filter:drop-shadow(0 9px 6px #365a2d11);transform:rotate(-4deg)}
.scene-ground{position:absolute;width:49%;height:5%;bottom:1%;left:21%;border-radius:50%;background:#b7cda7;opacity:.26;filter:blur(3px);z-index:-1}



.map-credit{display:block;width:max-content;max-width:100%;margin:13px auto 0;color:#a3b095;font-size:8px;line-height:1.6;text-align:center;text-decoration:none;text-underline-offset:3px}.map-credit:hover{text-decoration:underline;color:#7d956a}
@media(min-width:1200px){.welcome-main{column-gap:65px}.welcome-art-wrap{margin-right:4px}}
@media(max-width:900px) and (min-width:701px){.welcome-shell{padding-left:30px;padding-right:30px}.welcome-main{gap:20px}h1{font-size:43px}.welcome-description{font-size:15px}.play-button{font-size:14px;padding-left:19px;padding-right:19px;gap:12px}.game-facts{column-gap:15px;row-gap:9px}.welcome-art{aspect-ratio:.86}.hero-tulip{width:73%;left:7%}}
@media(max-width:700px){
  .welcome-shell{padding:0 23px 25px}.welcome-header{min-height:77px;gap:16px}.brand{font-size:33px;letter-spacing:-1.5px}.brand img{width:40px;height:40px}.language-switch{padding:3px;border-radius:14px}.language-switch button{min-width:40px;min-height:40px;font-size:10px;padding:8px 10px;border-radius:9px}
  .welcome-main{display:flex;flex-direction:column;gap:12px;min-height:0;padding:20px 0 0}.welcome-art-wrap{order:-1;width:100%;max-width:300px;height:223px;padding-bottom:0;margin:0 auto}.welcome-art{height:223px;aspect-ratio:auto;width:100%}.scene-wash{inset:8% 2% 1% 1%}.netherlands-map{top:-1%;left:28%;width:62%;height:95%;transform:rotate(9deg);opacity:.75}.hero-tulip{width:58%;height:99%;left:15%;bottom:-1%;transform:rotate(-4deg)}.scene-ground{left:21%;bottom:0;width:48%;height:5%}.map-credit{position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);font-size:7px;white-space:nowrap;margin:0;opacity:.88}
  .welcome-copy{width:100%;text-align:center;padding-top:15px;padding-bottom:0}h1{font-size:34px;line-height:1.13;letter-spacing:-1.05px;max-width:430px;margin:0 auto 15px}.welcome-description{font-size:14px;line-height:1.7;max-width:335px;margin:0 auto 18px}.colour-guide{width:266px;margin:0 auto 21px}.colour-tiles,.colour-labels{gap:7px}.colour-tile{border-radius:10px;box-shadow:inset 0 -3px #254b3b15}.tile-found svg{width:23px;height:23px}.colour-labels{font-size:9px;margin-top:6px}
  .play-button{width:100%;max-width:390px;min-height:55px;gap:13px;padding:13px 15px;font-size:14px;border-radius:16px;margin:0 auto}.play-button svg{width:19px;height:19px}.game-facts{justify-content:center;column-gap:17px;row-gap:8px;max-width:390px;margin:20px auto 0}.game-facts li{font-size:10px;gap:6px}.game-facts svg{width:15px;height:16px}
}
@media(max-width:390px){.welcome-shell{padding-left:19px;padding-right:19px}.welcome-header{min-height:73px}.brand{font-size:31px}.brand img{width:38px;height:38px}.welcome-main{padding-top:18px;gap:11px}.welcome-art-wrap,.welcome-art{height:202px}.welcome-art-wrap{max-width:278px}.welcome-copy{padding-top:16px}h1{font-size:31px;letter-spacing:-.9px;max-width:330px;margin-bottom:13px}.welcome-description{font-size:13px;max-width:310px;margin-bottom:17px}.colour-guide{width:251px;margin-bottom:20px}.play-button{font-size:13px;min-height:54px;gap:11px;padding-left:13px;padding-right:13px}.game-facts{column-gap:14px;font-size:9px;margin-top:18px}}
@media(max-width:700px) and (max-height:740px){.welcome-main{padding-top:13px;gap:7px}.welcome-art-wrap,.welcome-art{height:172px}.welcome-art-wrap{max-width:260px}.welcome-copy{padding-top:14px}h1{font-size:31px;margin-bottom:12px}.welcome-description{font-size:13px;margin-bottom:14px}.colour-guide{width:237px;margin-bottom:17px}.colour-labels{margin-top:5px}.game-facts{margin-top:17px;row-gap:7px}}
@media(max-width:700px) and (max-height:600px){.welcome-art-wrap,.welcome-art{height:139px}.welcome-art-wrap{max-width:220px}.welcome-main{padding-top:10px}.welcome-copy{padding-top:13px}h1{font-size:28px;max-width:340px}.welcome-description{font-size:12px;line-height:1.6;max-width:310px}.colour-guide{width:218px}.play-button{min-height:50px}.game-facts{margin-top:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.welcome-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:11px;max-width:520px}.welcome-actions .play-button{min-width:148px}.welcome-signin{display:flex;align-items:center;justify-content:center;min-height:58px;padding:14px 19px;border:1.5px solid #d8e3ca;border-bottom:4px solid #ccdabc;border-radius:17px;background:#f5f9ed;color:#62844f;font-size:14px;font-weight:900;line-height:1.5;text-decoration:none}.welcome-signin:hover{background:#edf5e3}
@media(max-width:700px){.welcome-actions{width:100%;max-width:390px;margin:0 auto;gap:9px}.welcome-actions .play-button,.welcome-signin{width:100%;min-height:51px;margin:0;font-size:13px}.welcome-signin{padding:11px 15px;border-radius:15px}}

/* Keep the full stepped scale square and its end labels on a single line. */
.colour-guide{--heat-gap:clamp(3px,.65vw,6px);width:min(480px,calc(100% - 20px));max-width:100%;overflow:visible}
.colour-tiles,.colour-labels{gap:var(--heat-gap)}
.colour-tile{width:100%;min-width:0;height:auto;aspect-ratio:1 / 1;border-radius:clamp(4px,.8vw,8px)}
.colour-labels{overflow:visible}
.colour-labels>span{justify-self:center;width:max-content;max-width:none;white-space:nowrap;line-height:1.3}

@media(max-width:420px){.colour-labels>span:not(:last-child){width:auto;max-width:100%;white-space:normal;overflow-wrap:normal}}
