*{box-sizing:border-box;margin:0;padding:0}:root{--crimson:#dc143c;--crimson-dark:#b8172b;--gold:gold;--gold-light:#ffed4e;--green:#228b22;--green-dark:#1b6b1b;--text-dark:#2c3e50;--text-gray:#5a6c7d;--bg-gradient:linear-gradient(135deg,#0f2027,#203a43 50%,#2c5364);--shadow-sm:0 2px 8px rgba(0,0,0,.1);--shadow-md:0 4px 16px rgba(0,0,0,.15);--shadow-lg:0 8px 32px rgba(0,0,0,.2);--shadow-xl:0 16px 48px rgba(0,0,0,.25)}@keyframes snowfall{0%{transform:translateY(-100vh) translateX(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(100vh) translateX(100px);opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes twinkle{0%,to{opacity:1}50%{opacity:.3}}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes glow{0%,to{box-shadow:0 0 20px rgba(255,215,0,.5),0 0 40px rgba(255,215,0,.3),0 4px 20px rgba(0,0,0,.2)}50%{box-shadow:0 0 30px rgba(255,215,0,.8),0 0 60px rgba(255,215,0,.5),0 4px 20px rgba(0,0,0,.2)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;background:var(--bg-gradient);background-attachment:fixed;color:#fff;padding:clamp(12px,3vw,20px);min-height:100vh;overflow-x:hidden;position:relative;display:flex;align-items:center;justify-content:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 50%,rgba(255,215,0,.1) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(220,20,60,.1) 0,transparent 50%),radial-gradient(circle at 40% 20%,rgba(34,139,34,.1) 0,transparent 50%);z-index:0}.snowflake,body:before{position:fixed;pointer-events:none}.snowflake{top:-10px;color:#fff;font-size:1em;z-index:1000;animation:snowfall linear infinite;text-shadow:0 0 5px hsla(0,0%,100%,.8)}.container{max-width:540px;width:100%;margin:0 auto;background:linear-gradient(135deg,hsla(0,0%,100%,.98),hsla(0,100%,99%,.99));padding:clamp(24px,5vw,36px);border-radius:clamp(20px,4vw,28px);box-shadow:0 20px 60px rgba(0,0,0,.35),0 8px 24px rgba(0,0,0,.25),0 0 80px rgba(255,215,0,.15),inset 0 1px 0 hsla(0,0%,100%,.9);position:relative;z-index:1;animation:slideIn .6s cubic-bezier(.16,1,.3,1);border:1px solid hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%)}.container:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,gold,#dc143c,#228b22,gold);border-radius:24px;z-index:-1;opacity:0;transition:opacity .3s ease}h1{font-size:clamp(28px,7vw,38px);margin-bottom:16px;text-align:center;background:linear-gradient(135deg,var(--crimson) 0,var(--gold) 50%,var(--green) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800;letter-spacing:.5px;animation:shimmer 4s linear infinite;background-size:200% auto;filter:drop-shadow(0 2px 6px rgba(220,20,60,.25));line-height:1.2}h2{font-size:clamp(18px,4vw,24px);margin-bottom:24px;color:var(--crimson);line-height:1.3}.progress,h2{text-align:center;font-weight:700;letter-spacing:.3px}.progress{font-size:clamp(13px,3vw,15px);color:var(--text-gray);margin-bottom:20px;padding:10px 20px;background:linear-gradient(135deg,rgba(255,215,0,.12),rgba(220,20,60,.12));border-radius:24px;border:1.5px solid rgba(220,20,60,.25);box-shadow:var(--shadow-sm)}.category{display:inline-block;background:linear-gradient(135deg,#228b22,#2e8b57);color:#fff;padding:6px 16px;border-radius:20px;font-size:12px;font-weight:700;margin-bottom:16px;box-shadow:0 4px 12px rgba(34,139,34,.3);animation:twinkle 2s ease-in-out infinite;border:1px solid hsla(0,0%,100%,.3);text-transform:uppercase;letter-spacing:.5px}.question{font-size:clamp(18px,4.5vw,21px);font-weight:600;margin-bottom:28px;line-height:1.65;color:var(--text-dark);text-align:left;padding:20px;background:linear-gradient(135deg,rgba(255,215,0,.08),rgba(220,20,60,.04));border-radius:18px;border-left:5px solid var(--crimson);box-shadow:var(--shadow-sm);letter-spacing:.2px}button{width:100%;min-height:clamp(54px,12vw,60px);font-size:clamp(15px,3.5vw,17px);font-weight:700;border:none;border-radius:16px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);margin-bottom:14px;position:relative;overflow:hidden;letter-spacing:.4px;-webkit-tap-highlight-color:transparent;line-height:1.4}button:focus{outline:none;box-shadow:0 0 0 3px rgba(220,20,60,.3)}button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.3);transform:translate(-50%,-50%);transition:width .6s,height .6s}button:active:before{width:300px;height:300px}button:last-child{margin-bottom:0}button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:linear-gradient(135deg,var(--crimson) 0,var(--crimson-dark) 100%);color:#fff;box-shadow:0 8px 24px rgba(220,20,60,.35),0 4px 12px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.2);border:1.5px solid rgba(255,215,0,.4);text-transform:uppercase}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 32px rgba(220,20,60,.4),0 6px 16px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.2)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-option{background:linear-gradient(135deg,#fff,#fafbfc);color:var(--text-dark);text-align:left;padding:clamp(14px,3.5vw,18px) clamp(16px,4vw,22px);border:2px solid rgba(34,139,34,.18);box-shadow:var(--shadow-md),inset 0 1px 0 hsla(0,0%,100%,.8);font-weight:600}.btn-option:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.12),inset 0 1px 0 hsla(0,0%,100%,.8);border-color:rgba(34,139,34,.3)}.btn-option:active:not(:disabled){transform:translateY(0) scale(.98);background:linear-gradient(135deg,#228b22,#2e8b57);color:#fff;border-color:gold;box-shadow:0 6px 20px rgba(34,139,34,.4),0 0 30px rgba(255,215,0,.3)}.date-select{display:flex;gap:clamp(8px,2vw,12px);margin-bottom:28px}.date-select select{flex:1 1;min-height:clamp(50px,11vw,56px);font-size:clamp(15px,3.5vw,17px);font-weight:600;padding:12px;border:2px solid rgba(220,20,60,.25);border-radius:14px;background:linear-gradient(135deg,#fff,#fffbfb);color:var(--text-dark);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm),inset 0 1px 0 hsla(0,0%,100%,.8);letter-spacing:.2px}.date-select select:hover{border-color:rgba(220,20,60,.4);transform:translateY(-2px);box-shadow:var(--shadow-md),inset 0 1px 0 hsla(0,0%,100%,.8)}.date-select select:focus{outline:none;border-color:var(--crimson);box-shadow:0 0 0 3px rgba(220,20,60,.2)}.map-container{margin-bottom:28px;border:3px solid rgba(255,215,0,.4);border-radius:18px;overflow:hidden;position:relative;box-shadow:var(--shadow-lg),0 0 50px rgba(255,215,0,.15),inset 0 1px 0 hsla(0,0%,100%,.5);transition:all .3s cubic-bezier(.4,0,.2,1)}.map-container:hover{transform:scale(1.01);border-color:rgba(255,215,0,.6);box-shadow:0 12px 40px rgba(0,0,0,.2),0 0 60px rgba(255,215,0,.2),inset 0 1px 0 hsla(0,0%,100%,.5)}.map-container img{width:100%;height:auto;display:block;cursor:crosshair;-moz-user-select:none;user-select:none;-webkit-user-select:none}.pin-marker-overlay{position:absolute;width:24px;height:24px;background:linear-gradient(135deg,var(--crimson),var(--crimson-dark));border:3.5px solid var(--gold);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 6px 16px rgba(220,20,60,.6),0 0 24px rgba(255,215,0,.8),inset 0 1px 0 hsla(0,0%,100%,.3);animation:pulse 1.5s ease-in-out infinite}.result-text{font-size:clamp(26px,6vw,36px);font-weight:800;text-align:center;margin-bottom:32px;background:linear-gradient(135deg,var(--crimson) 0,var(--gold) 50%,var(--green) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 4s linear infinite;background-size:200% auto;filter:drop-shadow(0 3px 8px rgba(0,0,0,.15));padding:0 24px;line-height:1.3;letter-spacing:.3px}.prize-text{font-size:clamp(16px,4vw,18px);line-height:1.7;text-align:center;margin-bottom:32px;white-space:pre-line;color:var(--text-dark);font-weight:500;background:linear-gradient(135deg,rgba(255,215,0,.1),rgba(220,20,60,.06));padding:28px;border-radius:18px;border:2px solid rgba(255,215,0,.35);box-shadow:var(--shadow-lg),inset 0 1px 0 hsla(0,0%,100%,.5);animation:glow 3s ease-in-out infinite}.feedback{font-size:clamp(19px,4.5vw,24px);font-weight:700;text-align:center;padding:24px;border-radius:18px;margin-bottom:24px;animation:fadeIn .5s cubic-bezier(.16,1,.3,1),pulse 2s ease-in-out infinite;letter-spacing:.3px;line-height:1.4}.feedback.correct{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;border:3px solid #28a745;box-shadow:0 10px 28px rgba(40,167,69,.3),0 0 50px rgba(40,167,69,.15),inset 0 1px 0 hsla(0,0%,100%,.6)}.feedback.incorrect{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24;border:3px solid #dc3545;box-shadow:0 10px 28px rgba(220,53,69,.3),0 0 50px rgba(220,53,69,.15),inset 0 1px 0 hsla(0,0%,100%,.6)}.ai-evaluation{background:linear-gradient(135deg,rgba(255,215,0,.08),rgba(34,139,34,.04));border-left:5px solid var(--green);padding:28px;margin:28px 0;border-radius:18px;box-shadow:var(--shadow-md),inset 0 1px 0 hsla(0,0%,100%,.5);animation:slideIn .6s cubic-bezier(.16,1,.3,1)}.ai-evaluation p{font-size:clamp(15px,3.8vw,17px);line-height:1.8;color:var(--text-dark);margin:0;font-weight:500;letter-spacing:.2px}@media (max-width:480px){body{padding:10px}.container{padding:20px;border-radius:18px}h1{margin-bottom:12px}h2{margin-bottom:18px}.question{padding:16px;margin-bottom:24px}.progress{margin-bottom:16px}.date-select,.map-container{margin-bottom:24px}.feedback{padding:18px;margin-bottom:20px}.ai-evaluation{padding:22px;margin:24px 0}.result-text{margin-bottom:28px;padding:20px}.prize-text{padding:24px;margin-bottom:28px}}@media (hover:none) and (pointer:coarse){.btn-option:hover,.btn-primary:hover,.date-select select:hover,.map-container:hover,button:hover{transform:none}}*{-webkit-tap-highlight-color:transparent}