:root{--bg:#0f1922;--panel:#1a2632;--panel2:#223242;--text:#eaf2ff;--muted:#9fb0c3;--btnDark:#2a3a4a;--btnBlue:#2f67ff;--btnYellow:#f2b233;--shadow:0 16px 40px rgba(0,0,0,.35);--radius:18px}*{box-sizing:border-box}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica Neue,Helvetica,sans-serif;background:radial-gradient(1200px 700px at 50% -10%,hsla(0,0%,100%,.06),transparent 55%),radial-gradient(900px 500px at 50% 110%,hsla(0,0%,100%,.05),transparent 60%),var(--bg);color:var(--text);min-height:100vh;padding:0;display:flex;flex-direction:column}.weather-header{width:100%;background:rgba(20,32,43,.85);border-bottom:1px solid hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 20px;box-shadow:0 2px 12px rgba(0,0,0,.2)}.weather-header-content{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.weather-main{display:flex;align-items:center;gap:14px;flex:1 1}.weather-icon{flex-shrink:0}.weather-icon img{width:48px;height:48px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.weather-temp{display:flex;align-items:baseline;gap:4px;font-weight:700;line-height:1}.weather-temp-value{font-size:clamp(28px,4vw,42px);color:var(--text)}.weather-temp-unit{font-size:clamp(16px,2.5vw,24px);color:var(--muted);opacity:.8}.weather-info{display:flex;flex-direction:column;gap:4px;flex:1 1}.weather-description{font-size:clamp(14px,1.8vw,18px);font-weight:500;color:var(--text);text-transform:capitalize}.weather-details{font-size:clamp(11px,1.3vw,13px);color:var(--muted);opacity:.85}.weather-location{display:flex;align-items:center;gap:6px;font-size:clamp(12px,1.6vw,16px);color:var(--muted);font-weight:500;white-space:nowrap}.weather-location-icon{font-size:16px}.weather-error,.weather-loading{font-size:14px;color:var(--muted);text-align:center;width:100%;padding:8px 0}.wrap{width:min(980px,100%);text-align:center;flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;margin:0 auto}.title{font-weight:700;letter-spacing:.08em;font-size:clamp(18px,3vw,26px);opacity:.95}.date{margin-top:10px;font-size:clamp(18px,2.6vw,34px);color:var(--text);opacity:.9;font-weight:500}.clock{margin-top:22px;font-size:clamp(84px,16vw,170px);font-weight:700;letter-spacing:.02em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.clock-separator{animation:blink 1s infinite;display:inline-block}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:.3}}.buttons{margin:34px auto 14px;display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;width:min(740px,100%)}.buttons.secondary{margin-top:18px}button{border:none;cursor:pointer;border-radius:var(--radius);padding:22px 20px;font-size:clamp(22px,3vw,40px);font-weight:500;color:var(--text);box-shadow:var(--shadow);transition:transform .08s ease,filter .12s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}button:active{transform:translateY(2px) scale(.995)}button:disabled{opacity:.6;cursor:not-allowed}.btn-dark{background:hsla(0,0%,100%,.1)}.btn-blue{background:var(--btnBlue)}.btn-yellow{background:var(--btnYellow);color:#fff}.btn-pause{background:#e8b54f;color:#fff}.btn-outline{background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.12);box-shadow:none}.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;padding:22px;z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal.show{display:flex}.card{width:min(560px,100%);background:rgba(20,32,43,.92);border:1px solid hsla(0,0%,100%,.1);border-radius:26px;box-shadow:0 24px 70px rgba(0,0,0,.55);position:relative;overflow:hidden}.card-large{width:min(900px,95%)!important;max-width:900px!important}.card-header{padding:22px 22px 6px;display:flex;align-items:center;justify-content:space-between;gap:12px}.card-title{font-size:18px;color:var(--muted);text-align:left}.close{width:42px;height:42px;border-radius:999px;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.1);color:var(--text);font-size:22px;display:grid;place-items:center;cursor:pointer}.card-body{padding:8px 22px 22px}.pin-title{margin:6px 0 10px;font-size:22px;font-weight:600}.pin-sub{margin:0 0 16px;color:var(--muted);font-size:14px}.dots{display:flex;justify-content:center;gap:14px;margin:10px 0 20px}.dot{width:14px;height:14px;border-radius:999px;background:hsla(0,0%,100%,.18);border:1px solid hsla(0,0%,100%,.12)}.dot.filled{background:hsla(0,0%,100%,.92)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;padding:6px 6px 0;margin:0 auto;width:min(380px,100%)}.key{height:72px;border-radius:16px;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.1);box-shadow:none;font-size:28px;font-weight:600}.key.action{font-size:16px;font-weight:700;letter-spacing:.02em}.key.danger{background:hsla(0,0%,100%,.08);color:#ffdfdf}.keypad-azerty{display:flex;flex-direction:column;max-width:100%;align-items:center}.keypad-azerty,.keypad-row{gap:10px;width:100%;margin:0 auto}.keypad-row{display:grid;grid-template-columns:repeat(10,1fr);grid-gap:10px;max-width:800px}.keypad-row:last-of-type{grid-template-columns:repeat(10,1fr)}.keypad-row-last{justify-items:center;grid-template-columns:repeat(7,auto)!important;max-width:-moz-fit-content;max-width:fit-content;margin:0 auto}.keypad-row-actions{grid-template-columns:1fr 1fr!important;max-width:400px;margin:0 auto}@media (max-width:900px){.keypad-row{grid-template-columns:repeat(8,1fr);gap:8px}}@media (max-width:700px){.keypad-row{grid-template-columns:repeat(6,1fr);gap:6px}}@media (max-width:500px){.keypad-row{grid-template-columns:repeat(5,1fr);gap:5px}}.pin-actions{display:flex;gap:12px;margin-top:16px;justify-content:center;flex-wrap:wrap}.small{font-size:16px;padding:14px 16px;border-radius:16px;box-shadow:none}.status{margin-top:14px;min-height:22px;color:var(--muted);font-size:14px}.status.ok{color:#baf7c3}.status.err{color:#ffb6b6}.choice{padding:6px 22px 22px}.choice-title{font-size:20px;color:var(--muted);margin:10px 0 12px;text-align:center}.modal-clock{font-size:clamp(32px,6vw,48px);font-weight:700;letter-spacing:.02em;line-height:1;text-align:center;margin:12px 0 18px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.choice-buttons{display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px}.button-content{display:flex;align-items:center;gap:16px;text-align:left;width:100%}.button-icon{font-size:32px;line-height:1;flex-shrink:0}.button-text{display:flex;flex-direction:column;gap:4px;flex:1 1}.button-main{font-size:clamp(20px,2.5vw,28px);font-weight:600;line-height:1.2}.button-secondary{font-size:clamp(14px,1.8vw,18px);font-weight:400;opacity:.85;line-height:1.3}.logo-container{margin-top:30px;display:flex;justify-content:center;align-items:center}.logo{max-width:120px;height:auto;opacity:.9}.version{margin-top:10px;font-size:14px;color:var(--muted);opacity:.7;text-align:center}@media (max-width:520px){.buttons{grid-template-columns:1fr}button{font-size:28px;padding:18px 16px}.clock{font-size:86px}}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0deg);opacity:1}to{transform:translateY(100vh) rotate(2turn);opacity:0}}@keyframes birthday-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes birthday-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.weather-background{transition:opacity .5s ease-in-out}.rain-drop{position:absolute;width:2px;height:25px;background:linear-gradient(180deg,rgba(173,216,230,.9),rgba(173,216,230,.3));animation:rain-fall linear infinite;top:-25px;box-shadow:0 0 3px rgba(173,216,230,.5)}.rain-drop-medium{position:absolute;width:1.5px;height:18px;background:linear-gradient(180deg,rgba(173,216,230,.7),rgba(173,216,230,.2));animation:rain-fall-medium linear infinite;top:-18px}.rain-drop-small{position:absolute;width:1px;height:12px;background:linear-gradient(180deg,rgba(173,216,230,.6),rgba(173,216,230,.1));animation:rain-fall-small linear infinite;top:-12px}@keyframes rain-fall{0%{transform:translateY(0) translateX(0);opacity:1}50%{opacity:1}85%{opacity:1}to{transform:translateY(100vh) translateX(5px);opacity:0}}.rain-drop-bounce{position:absolute;width:3px;height:12px;background:linear-gradient(180deg,rgba(173,216,230,.95),rgba(173,216,230,.5),rgba(173,216,230,.2));border-radius:2px;animation:rain-bounce-on-button linear infinite;top:-12px;box-shadow:0 0 5px rgba(173,216,230,.7);transform-origin:center bottom;--bounce-top:55vh}@keyframes rain-bounce-on-button{0%{transform:translateY(0) translateX(0) rotate(0deg) scaleY(1);opacity:1}42%{transform:translateY(calc(var(--bounce-top, 55vh) - 5px)) translateX(0) rotate(0deg) scaleY(1);opacity:1}45%{transform:translateY(var(--bounce-top,55vh)) translateX(0) rotate(0deg) scaleY(1.2);opacity:1}48%{transform:translateY(var(--bounce-top,55vh)) translateX(calc(var(--bounce-distance, 25px) * .2 * var(--bounce-direction, 1))) rotate(calc(var(--bounce-angle, 15deg) * .3)) scaleY(.5);opacity:.95}52%{transform:translateY(calc(var(--bounce-top, 55vh) - 12px)) translateX(calc(var(--bounce-distance, 25px) * .4 * var(--bounce-direction, 1))) rotate(calc(var(--bounce-angle, 15deg) * .6)) scaleY(.7);opacity:.9}58%{transform:translateY(calc(var(--bounce-top, 55vh) - 6px)) translateX(calc(var(--bounce-distance, 25px) * .65 * var(--bounce-direction, 1))) rotate(calc(var(--bounce-angle, 15deg) * .85)) scaleY(.85);opacity:.85}65%{transform:translateY(var(--bounce-top,55vh)) translateX(calc(var(--bounce-distance, 25px) * .85 * var(--bounce-direction, 1))) rotate(calc(var(--bounce-angle, 15deg) * 1)) scaleY(.95);opacity:.8}75%{transform:translateY(calc(var(--bounce-top, 55vh) + 8px)) translateX(calc(var(--bounce-distance, 25px) * 1 * var(--bounce-direction, 1))) rotate(calc(var(--bounce-angle, 15deg) * 1.1)) scaleY(1);opacity:.7}85%{transform:translateY(calc(var(--bounce-top, 55vh) + 20px)) translateX(calc(var(--bounce-distance, 25px) * 1.1 * var(--bounce-direction, 1))) rotate(calc(var(--bounce-angle, 15deg) * 1.2)) scaleY(.95);opacity:.6}to{transform:translateY(100vh) translateX(calc(var(--bounce-distance, 25px) * 1.3 * var(--bounce-direction, 1))) rotate(calc(var(--bounce-angle, 15deg) * 1.4)) scaleY(.8);opacity:0}}@keyframes rain-fall-medium{0%{transform:translateY(0) translateX(0);opacity:.8}90%{opacity:.8}to{transform:translateY(100vh) translateX(-3px);opacity:0}}@keyframes rain-fall-small{0%{transform:translateY(0) translateX(0);opacity:.6}95%{opacity:.6}to{transform:translateY(100vh) translateX(2px);opacity:0}}.rain-splash{position:absolute;width:8px;height:8px;background:radial-gradient(circle,rgba(173,216,230,.6),transparent);border-radius:50%;animation:rain-splash linear infinite;opacity:0}@keyframes rain-splash{0%{transform:scale(0);opacity:0}10%{transform:scale(1.2);opacity:.8}30%{transform:scale(1.5);opacity:.6}50%{transform:scale(1.8);opacity:.4}to{transform:scale(2.5);opacity:0}}.rain-slide{position:absolute;width:4px;height:2px;background:linear-gradient(90deg,rgba(173,216,230,.7),transparent);border-radius:2px;animation:rain-slide linear infinite;opacity:0}@keyframes rain-slide{0%{transform:translateX(0) scaleX(1);opacity:0}20%{opacity:.7}50%{transform:translateX(30px) scaleX(1.5);opacity:.5}80%{opacity:.3}to{transform:translateX(60px) scaleX(2);opacity:0}}.snowflake{position:absolute;width:8px;height:8px;background:hsla(0,0%,100%,.8);border-radius:50%;animation:snow-fall linear infinite;top:-10px;box-shadow:0 0 6px hsla(0,0%,100%,.5)}.snowflake-round{border-radius:50%;background:hsla(0,0%,100%,.85)}.snowflake-star{-webkit-clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:hsla(0,0%,100%,.9);box-shadow:0 0 8px hsla(0,0%,100%,.6)}.snowflake-crystal{-webkit-clip-path:polygon(50% 0,60% 20%,100% 20%,100% 40%,60% 40%,50% 60%,40% 40%,0 40%,0 20%,40% 20%);clip-path:polygon(50% 0,60% 20%,100% 20%,100% 40%,60% 40%,50% 60%,40% 40%,0 40%,0 20%,40% 20%);background:hsla(0,0%,100%,.9);box-shadow:0 0 10px rgba(200,220,255,.7)}.snowflake-medium{width:6px;height:6px;top:-6px}.snowflake-medium,.snowflake-small{position:absolute;animation:snow-fall linear infinite}.snowflake-small{width:4px;height:4px;background:hsla(0,0%,100%,.6);border-radius:50%;top:-4px;box-shadow:0 0 3px hsla(0,0%,100%,.4)}@keyframes snow-fall{0%{transform:translateY(0) translateX(0) rotate(0deg);opacity:1}50%{opacity:.9}to{transform:translateY(100vh) translateX(60px) rotate(2turn);opacity:0}}.snowflake-bounce{position:absolute;width:8px;height:8px;background:hsla(0,0%,100%,.9);border-radius:50%;animation:snow-bounce-on-button linear infinite;top:-10px;box-shadow:0 0 8px hsla(0,0%,100%,.7);transform-origin:center center;--bounce-top:55vh}.snowflake-bounce.snowflake-star{-webkit-clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.snowflake-bounce.snowflake-crystal{-webkit-clip-path:polygon(50% 0,60% 20%,100% 20%,100% 40%,60% 40%,50% 60%,40% 40%,0 40%,0 20%,40% 20%);clip-path:polygon(50% 0,60% 20%,100% 20%,100% 40%,60% 40%,50% 60%,40% 40%,0 40%,0 20%,40% 20%)}@keyframes snow-bounce-on-button{0%{transform:translateY(0) translateX(0) rotate(0deg) scale(1);opacity:1}38%{transform:translateY(calc(var(--bounce-top, 55vh) - 10px)) translateX(0) rotate(160deg) scale(1);opacity:1}42%{transform:translateY(var(--bounce-top,55vh)) translateX(0) rotate(180deg) scale(1.4);opacity:1}46%{transform:translateY(var(--bounce-top,55vh)) translateX(calc(var(--bounce-distance, 18px) * .12 * var(--bounce-direction, 1))) rotate(calc(200deg + var(--bounce-angle, 18deg) * .15)) scale(.6);opacity:.95}52%{transform:translateY(calc(var(--bounce-top, 55vh) - 12px)) translateX(calc(var(--bounce-distance, 18px) * .3 * var(--bounce-direction, 1))) rotate(calc(240deg + var(--bounce-angle, 18deg) * .35)) scale(.75);opacity:.9}60%{transform:translateY(calc(var(--bounce-top, 55vh) - 6px)) translateX(calc(var(--bounce-distance, 18px) * .5 * var(--bounce-direction, 1))) rotate(calc(280deg + var(--bounce-angle, 18deg) * .55)) scale(.9);opacity:.85}68%{transform:translateY(var(--bounce-top,55vh)) translateX(calc(var(--bounce-distance, 18px) * .7 * var(--bounce-direction, 1))) rotate(calc(320deg + var(--bounce-angle, 18deg) * .75)) scale(1);opacity:.8}76%{transform:translateY(calc(var(--bounce-top, 55vh) + 10px)) translateX(calc(var(--bounce-distance, 18px) * .85 * var(--bounce-direction, 1))) rotate(calc(1turn + var(--bounce-angle, 18deg) * .9)) scale(1.05);opacity:.75}85%{transform:translateY(calc(var(--bounce-top, 55vh) + 25px)) translateX(calc(var(--bounce-distance, 18px) * .95 * var(--bounce-direction, 1))) rotate(calc(400deg + var(--bounce-angle, 18deg) * 1)) scale(1.02);opacity:.7}to{transform:translateY(100vh) translateX(calc(var(--bounce-distance, 18px) * 1.15 * var(--bounce-direction, 1))) rotate(calc(2turn + var(--bounce-angle, 18deg) * 1.2)) scale(.95);opacity:0}}.wind-line{width:90px;height:2px;background:linear-gradient(90deg,transparent 0,hsla(0,0%,78%,.3) 20%,hsla(0,0%,78%,.7) 50%,hsla(0,0%,78%,.3) 80%,transparent);box-shadow:0 0 4px hsla(0,0%,78%,.4)}.wind-line,.wind-line-medium{position:absolute;animation:wind-move-curved linear infinite;border-radius:1px}.wind-line-medium{width:70px;height:1.5px;background:linear-gradient(90deg,transparent 0,hsla(0,0%,78%,.25) 25%,hsla(0,0%,78%,.6) 50%,hsla(0,0%,78%,.25) 75%,transparent)}.wind-line-small{position:absolute;width:50px;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,78%,.4),transparent);animation:wind-move linear infinite;border-radius:.5px}.wind-particle{width:2px;height:2px;background:hsla(0,0%,78%,.8);box-shadow:0 0 4px hsla(0,0%,78%,.6)}.wind-particle,.wind-particle-small{position:absolute;border-radius:50%;animation:wind-particle-move-realistic linear infinite}.wind-particle-small{width:1px;height:1px;background:hsla(0,0%,78%,.6);box-shadow:0 0 2px hsla(0,0%,78%,.4)}.wind-swirl{width:40px;height:40px;border:1px solid hsla(0,0%,78%,.3);border-radius:50%;animation:wind-swirl-move linear infinite}.wind-swirl,.wind-wave{position:absolute;opacity:0}.wind-wave{width:120px;height:3px;background:linear-gradient(90deg,transparent,hsla(0,0%,78%,.2) 30%,hsla(0,0%,78%,.4) 50%,hsla(0,0%,78%,.2) 70%,transparent);border-radius:2px;animation:wind-wave-move linear infinite;filter:blur(1px)}@keyframes wind-move{0%{transform:translateX(-100px) translateY(0);opacity:0}25%{opacity:.5}75%{opacity:.5}to{transform:translateX(100vw) translateY(0);opacity:0}}@keyframes wind-move-curved{0%{transform:translateX(-100px) translateY(0) rotate(0deg);opacity:0}20%{opacity:.6;transform:translateX(10vw) translateY(calc(var(--wind-curve, 0px) * .3)) rotate(calc(var(--wind-curve, 0px) * .1deg))}50%{opacity:.7;transform:translateX(50vw) translateY(calc(var(--wind-curve, 0px) * .6)) rotate(calc(var(--wind-curve, 0px) * .2deg))}80%{opacity:.6;transform:translateX(90vw) translateY(calc(var(--wind-curve, 0px) * .3)) rotate(calc(var(--wind-curve, 0px) * .1deg))}to{transform:translateX(100vw) translateY(0) rotate(0deg);opacity:0}}@keyframes wind-particle-move-realistic{0%{transform:translateX(-60px) translateY(0) rotate(0deg) scale(1);opacity:0}15%{opacity:.8;transform:translateX(5vw) translateY(-8px) rotate(45deg) scale(1.1)}30%{opacity:.9;transform:translateX(20vw) translateY(-15px) rotate(90deg) scale(1.2)}50%{opacity:.85;transform:translateX(50vw) translateY(-20px) rotate(135deg) scale(1.1)}70%{opacity:.8;transform:translateX(80vw) translateY(-15px) rotate(180deg) scale(1)}85%{opacity:.7;transform:translateX(95vw) translateY(-8px) rotate(225deg) scale(.9)}to{transform:translateX(100vw) translateY(0) rotate(270deg) scale(.8);opacity:0}}@keyframes wind-swirl-move{0%{transform:translateX(-50px) translateY(0) rotate(0deg) scale(.5);opacity:0}20%{opacity:.4;transform:translateX(20vw) translateY(-10px) rotate(180deg) scale(1)}50%{opacity:.5;transform:translateX(50vw) translateY(-15px) rotate(1turn) scale(1.2)}80%{opacity:.4;transform:translateX(80vw) translateY(-10px) rotate(540deg) scale(1)}to{transform:translateX(100vw) translateY(0) rotate(2turn) scale(.5);opacity:0}}@keyframes wind-wave-move{0%{transform:translateX(-150px) translateY(0) scaleX(.5);opacity:0}25%{opacity:.4;transform:translateX(25vw) translateY(-5px) scaleX(1)}50%{opacity:.5;transform:translateX(50vw) translateY(0) scaleX(1.2)}75%{opacity:.4;transform:translateX(75vw) translateY(5px) scaleX(1)}to{transform:translateX(100vw) translateY(0) scaleX(.5);opacity:0}}.cold-crystal{position:absolute;width:12px;height:12px;background:rgba(200,220,255,.7);animation:cold-float linear infinite;box-shadow:0 0 8px rgba(200,220,255,.6)}.cold-crystal-0{-webkit-clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.cold-crystal-1{-webkit-clip-path:polygon(50% 0,60% 20%,100% 20%,100% 40%,60% 40%,50% 60%,40% 40%,0 40%,0 20%,40% 20%);clip-path:polygon(50% 0,60% 20%,100% 20%,100% 40%,60% 40%,50% 60%,40% 40%,0 40%,0 20%,40% 20%)}.cold-crystal-2{-webkit-clip-path:polygon(50% 0,80% 10%,100% 50%,80% 90%,50% 100%,20% 90%,0 50%,20% 10%);clip-path:polygon(50% 0,80% 10%,100% 50%,80% 90%,50% 100%,20% 90%,0 50%,20% 10%)}.cold-crystal-3{-webkit-clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%);clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%)}.cold-crystal-medium{width:9px;height:9px;background:rgba(200,220,255,.6);box-shadow:0 0 6px rgba(200,220,255,.5)}.cold-crystal-medium,.cold-crystal-small{position:absolute;animation:cold-float linear infinite}.cold-crystal-small{width:6px;height:6px;background:rgba(200,220,255,.5);-webkit-clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);box-shadow:0 0 4px rgba(200,220,255,.4)}.frost-effect{position:absolute;width:15px;height:15px;background:radial-gradient(circle,rgba(220,240,255,.4),transparent);border-radius:50%;animation:frost-glow linear infinite;box-shadow:0 0 10px rgba(200,220,255,.5)}@keyframes cold-float{0%{transform:translateY(0) rotate(0deg);opacity:.7}50%{opacity:.9;transform:translateY(50vh) rotate(180deg)}to{transform:translateY(100vh) rotate(1turn);opacity:0}}@keyframes frost-glow{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.3);opacity:.7}}.lightning{position:absolute;width:3px;height:60px;background:linear-gradient(180deg,#fff,hsla(0,0%,100%,.3));animation:lightning-flash linear infinite;box-shadow:0 0 10px hsla(0,0%,100%,.8)}.lightning-vertical{-webkit-clip-path:polygon(50% 0,60% 20%,40% 30%,55% 50%,45% 70%,50% 100%);clip-path:polygon(50% 0,60% 20%,40% 30%,55% 50%,45% 70%,50% 100%)}.lightning-diagonal{-webkit-clip-path:polygon(50% 0,65% 15%,55% 35%,70% 50%,50% 70%,30% 50%,45% 35%,35% 15%);clip-path:polygon(50% 0,65% 15%,55% 35%,70% 50%,50% 70%,30% 50%,45% 35%,35% 15%)}.lightning-zigzag{-webkit-clip-path:polygon(50% 0,60% 15%,40% 30%,60% 45%,40% 60%,60% 75%,50% 100%);clip-path:polygon(50% 0,60% 15%,40% 30%,60% 45%,40% 60%,60% 75%,50% 100%)}.lightning-medium{width:2.5px;height:50px;background:linear-gradient(180deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.25));box-shadow:0 0 8px hsla(0,0%,100%,.7)}.lightning-medium,.lightning-small{position:absolute;-webkit-clip-path:polygon(50% 0,60% 20%,40% 30%,55% 50%,45% 70%,50% 100%);clip-path:polygon(50% 0,60% 20%,40% 30%,55% 50%,45% 70%,50% 100%);animation:lightning-flash linear infinite}.lightning-small{width:2px;height:35px;background:linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,.2));box-shadow:0 0 6px hsla(0,0%,100%,.6)}.storm-flash{width:100px;height:100px;background:radial-gradient(circle,hsla(0,0%,100%,.6),transparent);animation:storm-flash-pulse linear infinite;box-shadow:0 0 30px hsla(0,0%,100%,.8)}.electric-particle,.storm-flash{position:absolute;border-radius:50%}.electric-particle{width:2px;height:2px;background:hsla(0,0%,100%,.9);animation:electric-spark linear infinite;box-shadow:0 0 5px rgba(200,220,255,.8)}@keyframes lightning-flash{0%,88%,to{opacity:0}12%,3%{opacity:1}8%{opacity:.5}}@keyframes storm-flash-pulse{0%,85%,to{transform:scale(0);opacity:0}10%,5%{transform:scale(1.2);opacity:.8}7%{transform:scale(1);opacity:.6}}@keyframes electric-spark{0%,80%,to{transform:scale(0) translateY(0);opacity:0}15%,5%{transform:scale(1.5) translateY(-10px);opacity:1}10%{transform:scale(1) translateY(-5px);opacity:.7}}.weather-rain .buttons button,.weather-rain .choice-buttons button,.weather-rain .pin-actions button{position:relative;overflow:hidden}.weather-rain .buttons button:before,.weather-rain .choice-buttons button:before,.weather-rain .pin-actions button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at var(--splash-x,50%) var(--splash-y,50%),rgba(173,216,230,.5) 0,rgba(173,216,230,.3) 20%,rgba(173,216,230,.15) 35%,rgba(173,216,230,.05) 50%,transparent 70%);pointer-events:none;animation:button-rain-impact .6s ease-out infinite;opacity:0;border-radius:inherit}@keyframes button-rain-impact{0%{opacity:0;transform:scale(0) rotate(0deg)}10%{opacity:1;transform:scale(1.2) rotate(5deg)}25%{opacity:.8;transform:scale(1.5) rotate(-3deg)}50%{opacity:.5;transform:scale(2) rotate(2deg)}to{opacity:0;transform:scale(3) rotate(0deg)}}.weather-rain .buttons button,.weather-rain .choice-buttons button,.weather-rain .pin-actions button{animation:button-rain-bounce .2s ease-out infinite}@keyframes button-rain-bounce{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-1.5px) scale(1.003)}60%{transform:translateY(.5px) scale(.999)}}.weather-rain .buttons button:after,.weather-rain .choice-buttons button:after,.weather-rain .pin-actions button:after{content:"";position:absolute;top:0;left:50%;width:5px;height:12px;background:linear-gradient(180deg,#add8e6,rgba(173,216,230,.7),transparent);pointer-events:none;animation:button-rain-drop-bounce-realistic .5s cubic-bezier(.68,-.55,.265,1.55) infinite;opacity:0;transform:translateX(-50%) translateY(-20px);border-radius:2px;box-shadow:0 0 6px rgba(173,216,230,.9);transform-origin:center bottom}@keyframes button-rain-drop-bounce-realistic{0%{opacity:0;transform:translateX(-50%) translateY(-20px) rotate(0deg) scaleY(1)}20%{opacity:1;transform:translateX(-50%) translateY(0) rotate(0deg) scaleY(1.3)}25%{opacity:1;transform:translateX(-50%) translateY(2px) rotate(5deg) scaleY(.6)}30%{opacity:.9;transform:translateX(calc(-50% + 8px)) translateY(-5px) rotate(25deg) scaleY(.8)}40%{opacity:.8;transform:translateX(calc(-50% + 15px)) translateY(-3px) rotate(35deg) scaleY(.9)}50%{opacity:.7;transform:translateX(calc(-50% + 20px)) translateY(0) rotate(40deg) scaleY(1)}60%{opacity:.6;transform:translateX(calc(-50% + 22px)) translateY(3px) rotate(42deg) scaleY(.95)}to{opacity:0;transform:translateX(calc(-50% + 25px)) translateY(15px) rotate(45deg) scaleY(.7)}}.weather-rain .buttons button,.weather-rain .choice-buttons button,.weather-rain .pin-actions button{background-image:radial-gradient(circle at 20% 30%,rgba(173,216,230,.3) 0,transparent 25%),radial-gradient(circle at 60% 50%,rgba(173,216,230,.25) 0,transparent 30%),radial-gradient(circle at 80% 70%,rgba(173,216,230,.2) 0,transparent 35%);background-size:100% 100%;animation:button-rain-bounce .2s ease-out infinite,button-rain-splash-particles 1.2s ease-out infinite}@keyframes button-rain-splash-particles{0%,to{background-position:0 0,0 0,0 0;opacity:.3}25%{background-position:10% 5%,-5% 10%,8% -5%;opacity:.5}50%{background-position:-8% 8%,12% -8%,-10% 12%;opacity:.4}75%{background-position:5% -10%,-12% 5%,10% 8%;opacity:.45}}.weather-rain .buttons button,.weather-rain .choice-buttons button,.weather-rain .pin-actions button{box-shadow:0 16px 40px rgba(0,0,0,.35),inset 0 0 15px rgba(173,216,230,.2),inset 0 -2px 10px rgba(173,216,230,.15)}.weather-rain .buttons button:hover,.weather-rain .choice-buttons button:hover,.weather-rain .pin-actions button:hover{box-shadow:0 16px 40px rgba(0,0,0,.35),inset 0 0 25px rgba(173,216,230,.3),inset 0 -3px 15px rgba(173,216,230,.2),0 2px 8px rgba(173,216,230,.4);filter:brightness(1.05)}.weather-snow .buttons button,.weather-snow .choice-buttons button,.weather-snow .pin-actions button{position:relative;overflow:visible}.weather-snow .buttons button:before,.weather-snow .choice-buttons button:before,.weather-snow .pin-actions button:before{content:"";position:absolute;top:-3px;left:0;right:0;height:5px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.6) 15%,hsla(0,0%,100%,.8) 30%,hsla(0,0%,100%,.9) 50%,hsla(0,0%,100%,.8) 70%,hsla(0,0%,100%,.6) 85%,transparent);pointer-events:none;animation:button-snow-accumulate .5s ease-out infinite;opacity:0;border-radius:3px 3px 0 0;box-shadow:0 3px 6px hsla(0,0%,100%,.4),0 0 10px hsla(0,0%,100%,.3)}@keyframes button-snow-accumulate{0%{opacity:0;transform:translateY(-10px);height:0;filter:blur(0)}25%{opacity:.8;transform:translateY(-2px);height:3px;filter:blur(.5px)}50%{opacity:1;transform:translateY(0);height:5px;filter:blur(0)}75%{opacity:.7;transform:translateY(2px);height:4px;filter:blur(.3px)}to{opacity:.4;transform:translateY(5px);height:2px;filter:blur(1px)}}.weather-snow .buttons button:after,.weather-snow .choice-buttons button:after,.weather-snow .pin-actions button:after{content:"";position:absolute;top:var(--snow-impact-y,20%);left:var(--snow-impact-x,50%);width:12px;height:12px;background:radial-gradient(circle,#fff 0,hsla(0,0%,100%,.7) 30%,hsla(0,0%,100%,.4) 50%,hsla(0,0%,100%,.2) 70%,transparent 100%);border-radius:50%;pointer-events:none;animation:button-snow-impact .7s ease-out infinite;opacity:0;transform:translate(-50%,-50%);box-shadow:0 0 12px hsla(0,0%,100%,.8),0 0 20px hsla(0,0%,100%,.5),inset 0 0 8px hsla(0,0%,100%,.6)}@keyframes button-snow-impact{0%{opacity:0;transform:translate(-50%,-50%) scale(0) rotate(0deg);filter:blur(0)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.5) rotate(90deg);filter:blur(.5px)}30%{opacity:.9;transform:translate(-50%,-50%) scale(2) rotate(180deg);filter:blur(1px)}50%{opacity:.7;transform:translate(-50%,-50%) scale(2.5) rotate(270deg);filter:blur(1.5px)}to{opacity:0;transform:translate(-50%,-50%) scale(3.5) rotate(540deg);filter:blur(2px)}}.weather-snow .buttons button,.weather-snow .choice-buttons button,.weather-snow .pin-actions button{background-image:radial-gradient(circle at 15% 25%,hsla(0,0%,100%,.4) 0,transparent 20%),radial-gradient(circle at 55% 45%,hsla(0,0%,100%,.35) 0,transparent 25%),radial-gradient(circle at 85% 65%,hsla(0,0%,100%,.3) 0,transparent 30%),radial-gradient(circle at 35% 75%,hsla(0,0%,100%,.25) 0,transparent 28%);background-size:100% 100%;animation:button-snow-particles 1.5s ease-out infinite}@keyframes button-snow-particles{0%,to{background-position:0 0,0 0,0 0,0 0;opacity:.3}20%{background-position:8% 3%,-5% 8%,10% -3%,-8% 5%;opacity:.5}40%{background-position:-10% 6%,12% -5%,-8% 10%,10% -8%;opacity:.4}60%{background-position:5% -10%,-12% 3%,8% 8%,-5% 12%;opacity:.45}80%{background-position:-8% 8%,10% -8%,-5% 5%,12% 3%;opacity:.35}}.weather-snow .buttons button,.weather-snow .choice-buttons button,.weather-snow .pin-actions button{box-shadow:0 16px 40px rgba(0,0,0,.35),inset 0 0 30px hsla(0,0%,100%,.2),inset 0 -3px 15px hsla(0,0%,100%,.25),0 2px 10px hsla(0,0%,100%,.15);transition:box-shadow .3s ease,filter .3s ease;filter:brightness(1.02)}.weather-snow .buttons button:hover,.weather-snow .choice-buttons button:hover,.weather-snow .pin-actions button:hover{box-shadow:0 16px 40px rgba(0,0,0,.35),inset 0 0 40px hsla(0,0%,100%,.3),inset 0 -4px 20px hsla(0,0%,100%,.35),0 3px 15px hsla(0,0%,100%,.25);filter:brightness(1.05) contrast(1.02)}