*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#dfeee7;color:#173b35;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}body{display:flex;justify-content:center}.app{width:375px;min-height:100vh;background:#f7fbf8;overflow:hidden;position:relative;box-shadow:0 0 40px #b8d4c8}footer{padding:24px 22px 28px;background:#eef7f1;border-top:1px solid #d7e9dd;color:#71847d;font-size:11px;line-height:1.7;overflow-wrap:anywhere}footer strong{display:block;margin-bottom:12px;color:#276653;font-size:13px;letter-spacing:1px}footer p{margin:0;padding:8px 0 8px 14px;border-bottom:1px solid #dcebe1;position:relative}footer p:last-child{border-bottom:0;padding-bottom:0}footer p::before{content:'•';position:absolute;left:0;color:#31a878;font-size:15px;line-height:1.3}.hero{min-height:100vh;padding:62px 28px 150px;background:radial-gradient(circle at 85% 12%,#b9ebd2 0 2px,transparent 3px),linear-gradient(145deg,#0d6451,#1f876c 65%,#d8f3e2);color:#fff}.brand-mark{height:52px;width:52px;border:2px solid #c9f4db;border-radius:16px;display:grid;place-items:center;font-size:28px;font-weight:800}.eyebrow{letter-spacing:2px;font-size:11px;font-weight:700;opacity:.75;margin:30px 0 14px}.hero h1{font-size:36px;line-height:1.2;margin:0;letter-spacing:0}.hero-copy{font-size:15px;opacity:.82}.stamp-row{display:flex;gap:10px;margin-top:34px}.stamp-row span{padding:8px 14px;border:1px solid #b7e9cf;border-radius:20px;font-size:12px}.shade{position:fixed;inset:0;background:#123b327a;display:flex;align-items:flex-end;justify-content:center;z-index:5}.modal{width:375px;background:#fff;border-radius:24px 24px 0 0;padding:28px 25px 24px;animation:rise .55s cubic-bezier(.2,1.3,.4,1)}.modal-kicker{color:#168461;font-size:12px;font-weight:700}.modal h2{font-size:24px;margin:8px 0 20px}.modal h3{font-size:13px;margin:14px 0 5px;color:#168461}.modal p,.rules{font-size:12px;line-height:1.7;margin:0;color:#61736e}.rules{padding-left:17px}.modal button,.result button{width:100%;border:0;border-radius:12px;background:#168461;color:#fff;padding:15px;margin-top:22px;font-size:15px;font-weight:700}.modal button b,.result button b{float:right}.notice{margin-top:12px;color:#c94c43;text-align:center;font-size:12px}.countdown{height:100vh;color:white;background:#0c5445;display:grid;place-items:center;align-content:center;position:relative;overflow:hidden}.countdown:before{content:"";position:absolute;width:250px;height:250px;background:#53d89122;border-radius:50%;filter:blur(15px);animation:breathe 1.4s infinite}.count-number{font-size:86px;font-weight:800;z-index:1;animation:pop .9s cubic-bezier(.2,1.4,.4,1)}.countdown p{font-size:12px;letter-spacing:2px;opacity:.7}.ripple{position:absolute;width:160px;height:160px;border:1px solid #7bedb2;border-radius:50%;animation:ripple 1s ease-out}.quiz{min-height:100vh;padding:34px 22px 30px;background:linear-gradient(180deg,#e3f5e9,#f8fbf9 42%);animation:question-in .3s ease-out}.quiz header{display:flex;justify-content:space-between;align-items:end}.quiz header small{display:block;color:#6b847d;font-size:11px}.quiz header strong{font-size:24px}.quiz header em{font-style:normal;color:#86a097;font-size:13px;font-weight:400}.time{font-size:16px;font-weight:700;color:#168461}.time span{font-size:26px}.urgent{color:#d7564b!important;animation:blink .5s infinite}.progress{height:5px;background:#cde5d7;border-radius:5px;margin:16px 0 28px}.progress span{display:block;height:100%;width:100%;background:#27a578;border-radius:5px;transition:width 1s linear}.question-head{display:flex;justify-content:space-between;align-items:center}.tag{padding:6px 10px;border-radius:6px;font-size:11px;font-weight:700}.tag.single{background:#d9edff;color:#2671a9}.tag.multiple{background:#fff0cf;color:#ac7717}.tag.judge{background:#e7defb;color:#7553a3}.hint,.quiz-tip{font-size:11px;color:#8a9d97}.question{font-size:23px;line-height:1.5;margin:23px 0 28px}.options{display:grid;gap:12px}.option{display:flex;align-items:center;gap:13px;text-align:left;width:100%;padding:15px 14px;background:#fff;border:1px solid #deebe4;border-radius:12px;color:#36544d;font-size:14px;line-height:1.4;box-shadow:0 3px 10px #bad5c51c;transition:.2s}.option i{font-style:normal;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#edf5ef;color:#238263;font-weight:700;flex:none}.option.selected{background:#dff5e9;border-color:#28a577;transform:scale(1.02);box-shadow:0 5px 14px #55b98b44}.confirm{border:0;background:#173f36;color:#fff;border-radius:12px;padding:14px;width:100%;margin-top:18px;font-size:14px}.quiz-tip{text-align:center;margin-top:28px}.result,.prize{min-height:100vh;padding:60px 25px;background:linear-gradient(160deg,#d9f4e4,#f9fcfa);position:relative;text-align:center}.confetti{color:#e4a53d;font-size:28px;letter-spacing:8px;animation:float 2s infinite}.result-card{margin-top:38px;background:#fff;padding:32px 25px;border-radius:22px;box-shadow:0 12px 35px #4d9b7925;animation:rise .6s ease}.success-icon{margin:auto;width:55px;height:55px;border-radius:50%;background:#ddf5e7;color:#169064;display:grid;place-items:center;font-size:30px}.result h1,.prize h1{font-size:28px;margin:8px 0}.score{display:flex;justify-content:center;gap:11px;align-items:center;color:#5a716a;margin:20px}.score b,.prize-score b{font-size:62px;line-height:1;color:#168461}.score span{text-align:left;font-size:13px}.score small,.prize-score small{color:#8ba099}.muted{font-size:13px;color:#84958f}.prize{overflow:hidden}.prize-light{position:absolute;top:80px;left:75px;width:220px;height:220px;border-radius:50%;background:#b8efd144;filter:blur(4px);animation:breathe 3s infinite}.prize>*:not(.prize-light){position:relative}.prize .eyebrow{margin-top:90px;color:#168461}.prize h1{animation:prize-title .7s ease-out}.prize-level{display:inline-block;padding:7px 14px;border:1px solid currentColor;border-radius:20px;font-size:12px;font-weight:700;animation:level-in .6s .15s both}.prize-sparkles{position:absolute!important;top:88px;left:0;width:100%;font-size:27px;letter-spacing:8px;opacity:.8;animation:sparkle 1.8s infinite}.prize-score{display:flex;justify-content:center;gap:10px;align-items:center;margin:34px 0}.prize-score b{font-size:62px;line-height:1;color:#168461;animation:score-in .8s .1s both}.prize-score span{text-align:left;color:#769087}.claim{padding:24px 18px;background:#fff;border:1px solid #dbede2;border-radius:16px}.claim strong{font-size:16px}.claim p{font-size:13px;color:#60766e}.claim-line{border-top:1px dashed #c9ded2;margin-top:18px;padding-top:15px;font-size:12px;color:#168461}.prize-note{font-size:12px;color:#789089;margin-top:28px}.prize-perfect .prize-light{background:#f7cf694d}.prize-perfect .prize-score b,.prize-perfect .claim-line,.prize-perfect .prize-level{color:#c58a16}.prize-perfect .claim{border-color:#efd58b}.prize-excellent .prize-light{background:#8be0b044}.prize-excellent .prize-score b,.prize-excellent .claim-line,.prize-excellent .prize-level{color:#168461}.prize-good .prize-light{background:#8bc8f044}.prize-good .prize-score b,.prize-good .claim-line,.prize-good .prize-level{color:#2877ad}.prize-good .claim{border-color:#b9dbef}.prize-pass .prize-light{background:#f4bd7044}.prize-pass .prize-score b,.prize-pass .claim-line,.prize-pass .prize-level{color:#c47716}.prize-pass .claim{border-color:#efd1a0}.prize-low .prize-light{background:#f19a9144}.prize-low .prize-score b,.prize-low .claim-line,.prize-low .prize-level{color:#c94c43}.prize-low .claim{border-color:#f0b7b1}.confirm:disabled{background:#a8bdb5;color:#eef5f1;cursor:not-allowed;opacity:.8}.option:disabled{cursor:default}.feedback{min-height:24px;margin-top:14px;text-align:center;font-size:14px;font-weight:700}.feedback.is-correct{color:#168461}.feedback.is-wrong{color:#c94c43}.option.correct-feedback{background:#dff5e9;border:2px solid #27a578;color:#176149;position:relative;animation:option-correct .45s ease-out forwards}.option.correct-feedback:after{content:'✓';position:absolute;right:14px;top:50%;transform:translateY(-50%) scale(.2);color:#168461;font-size:22px;font-weight:800;animation:mark-pop .45s .08s ease-out forwards}.option.wrong-feedback{background:#ffe6e3;border:2px solid #d7564b;color:#a43d36;position:relative;animation:option-wrong .45s ease-out forwards}.option.wrong-feedback:after{content:'✕';position:absolute;right:14px;top:50%;transform:translateY(-50%) scale(.2);color:#c94c43;font-size:21px;font-weight:800;animation:mark-pop .45s .08s ease-out forwards}.feedback-correct{animation:feedback-correct .45s ease-out}.feedback-wrong{animation:feedback-wrong .45s ease-out}@keyframes option-correct{0%{transform:scale(1);box-shadow:0 0 0 0 #27a578}33%{transform:scale(1.02);box-shadow:0 0 0 2px #27a578}100%{transform:scale(1);box-shadow:0 0 0 0 #27a578}}@keyframes option-wrong{0%{transform:scale(1);box-shadow:0 0 0 0 #d7564b}33%{transform:scale(1.02);box-shadow:0 0 0 2px #d7564b}100%{transform:scale(1);box-shadow:0 0 0 0 #d7564b}}@keyframes mark-pop{0%{transform:translateY(-50%) scale(.2);opacity:0}65%{transform:translateY(-50%) scale(1.18);opacity:1}100%{transform:translateY(-50%) scale(1);opacity:1}}@keyframes feedback-correct{0%{transform:scale(1);box-shadow:inset 0 0 0 0 #27a578}30%{transform:scale(1.02);box-shadow:inset 0 0 0 2px #27a578}100%{transform:scale(1);box-shadow:inset 0 0 0 0 #27a578}}@keyframes feedback-wrong{0%{transform:scale(1);box-shadow:inset 0 0 0 0 #d7564b}30%{transform:scale(1.02);box-shadow:inset 0 0 0 2px #d7564b}100%{transform:scale(1);box-shadow:inset 0 0 0 0 #d7564b}}@keyframes question-in{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}@keyframes rise{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pop{0%{transform:scale(.2);opacity:0}70%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}@keyframes ripple{to{transform:scale(2.5);opacity:0}}@keyframes breathe{50%{transform:scale(1.15);opacity:.6}}@keyframes blink{50%{opacity:.35}}@keyframes float{50%{transform:translateY(10px)}}@keyframes prize-title{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes level-in{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes score-in{from{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}@keyframes sparkle{50%{transform:scale(1.12);opacity:1}}
