:root{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:#533d2c;background:#f5f0e7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}#app{max-width:430px;min-height:100dvh;margin:auto;background:#fffaf0;overflow:hidden;box-shadow:0 0 40px rgba(93,61,27,.1)}.screen{position:relative;min-height:800px;background:#fffaf0}.topbar{position:relative;z-index:4;display:flex;justify-content:space-between;align-items:center;padding:20px 25px 0;color:#8b663a;font-size:14px;font-weight:850}.brand-dot{display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:50%;background:#25a596}.top-pill{border:1px solid #f0c766;border-radius:20px;background:#fff8df;color:#a87337;padding:5px 11px;font-size:13px}.hero{position:absolute;inset:0 0 auto;height:366px;background:radial-gradient(circle at 82% 32%,#fff7b7 0 22%,transparent 23%),linear-gradient(153deg,#ffe878,#f9d65d 64%,#f7bc65);border-bottom-left-radius:50% 8%;border-bottom-right-radius:50% 8%}.hero::before,.hero::after{content:"";position:absolute;border:2px solid #fff5c4;border-radius:50%}.hero::before{width:190px;height:190px;left:-70px;top:114px}.hero::after{width:176px;height:176px;right:-50px;bottom:15px}.home h1{position:absolute;z-index:2;top:64px;left:27px;margin:0;font-size:38px;line-height:1.13;letter-spacing:1px;font-weight:950;text-shadow:3px 3px 0 #fff7d3,-2px -2px 0 #fff7d3,2px -2px 0 #fff7d3,-2px 2px 0 #fff7d3}.home h1 .red{color:#d93838}.home h1 .orange{color:#ed9639}.home h1 .green{color:#168d82}.hero-sub{position:absolute;z-index:2;top:160px;left:28px;width:180px}.hero-tag{display:inline-block;background:#fff8db;border-radius:20px;padding:5px 11px;color:#a97134;font-size:15px;font-weight:850;box-shadow:0 3px 0 #eaa854}.hero-sub p{margin:8px 0;color:#744d29;font-size:16px;font-weight:850;line-height:1.45}.elders{position:absolute;z-index:2;top:143px;right:-10px;width:218px;height:229px;object-fit:contain}.shine{position:absolute;color:#fffdf0;font-size:26px;z-index:2}.shine.s1{right:35px;top:100px}.shine.s2{left:30px;top:270px}.swoop{position:absolute;top:325px;left:-15px;right:-15px;height:75px;background:#fffaf0;border-radius:50% 50% 0 0}.home-card{position:relative;z-index:3;margin:282px 22px 14px;padding:17px 22px 19px;border-radius:24px;background:#fffefa;border:1px solid #ffeed1;box-shadow:0 12px 34px rgba(112,78,30,.13)}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:850;color:#df8850}.home-card h2{margin:1px 0 10px;font-size:24px;font-weight:950}.field{display:block;margin:0 0 8px}.field span{display:block;margin-bottom:5px;font-size:16px;font-weight:850}.field input{width:100%;height:46px;padding:12px 15px;border:2px solid #f0e2cb;border-radius:14px;background:#fffaf1;outline:none;font-size:16px;color:#4f3a2b}.field input:focus{border-color:#25a596}.field input::placeholder{color:#ad9f91}.rules{margin-top:5px;padding:10px 13px;border-radius:14px;border:1px solid #f7dfa9;background:#fff4da}.rules h3{margin:0 0 3px;font-size:16px;color:#805628}.rules p{margin:0;color:#6d5a43;font-size:14px;font-weight:650;line-height:1.55}.primary{display:flex;justify-content:center;align-items:center;width:100%;height:53px;border:0;border-radius:14px;background:#dd6243;color:white;font-size:20px;font-weight:950;box-shadow:0 5px 0 #a94335}.home-card .primary{margin-top:12px}.primary:active{transform:translateY(3px);box-shadow:0 2px 0 #a94335}.privacy{margin-top:13px;text-align:center;font-size:12px;color:#a18d75}.home-error{min-height:18px;color:#c84230;font-size:13px;font-weight:800;margin-top:5px}
.quiz{background:linear-gradient(180deg,#fff6df 0,#fffaf0 38%)}.quiz .topbar{padding-top:18px}.quiz .topbar button{border:0;background:transparent;color:#9a7955;font-size:13px;font-weight:800}.qhead{display:flex;justify-content:space-between;align-items:center;padding:27px 24px 0}.qcount{font-size:20px;font-weight:950}.qcount strong{font-size:28px;color:#df6747}.timer{background:#fff;border:2px solid #f3dbc3;border-radius:28px;padding:7px 12px;color:#d75d43;font-size:17px;font-weight:950;box-shadow:0 5px 14px rgba(112,78,30,.08)}.timer.urgent{background:#ffece8;animation:pulse 1s infinite}@keyframes pulse{50%{transform:scale(1.04)}}.progress{height:8px;margin:19px 24px 0;border-radius:20px;background:#f1e0c3;overflow:hidden}.progress span{display:block;height:100%;background:#25a590;border-radius:20px;transition:width .3s}.qcard{position:relative;margin:21px 22px 0;padding:14px 19px;min-height:139px;border-radius:23px;border:1px solid #f8ead3;background:#fff;box-shadow:0 9px 25px rgba(120,86,43,.09)}.qbadge{display:inline-block;background:#ffecb2;border-radius:20px;color:#bc7434;font-size:14px;font-weight:900;padding:4px 11px}.hint-button{position:absolute;top:14px;right:17px;max-width:57%;padding:7px 10px;border:1.5px solid #e9bf69;border-radius:22px;background:#fff8df;color:#9b662e;font-size:14px;font-weight:900;box-shadow:0 3px 0 #e6c98e}.qcard h2{margin:10px 0 0;color:#493729;font-size:21px;font-weight:950;line-height:1.35}.play-title{text-align:center;margin:14px 0 13px;font-size:17px;font-weight:950;color:#77593b}.play-title em{color:#168f84;font-style:normal}.item-zone{height:167px;margin:0 28px;border:2px dashed #edcc89;border-radius:27px;background:radial-gradient(circle at 50% 45%,#fffefa 0,#fff6dd 80%);box-shadow:inset 0 2px 18px rgba(231,194,112,.11);display:flex;justify-content:center;align-items:center;position:relative}.item-zone::before,.item-zone::after{content:"✦";position:absolute;color:#f4bc4d;font-size:23px}.item-zone::before{left:20px;top:14px}.item-zone::after{right:20px;bottom:8px}.item-art{height:145px;width:255px;object-fit:contain;touch-action:none;user-select:none;cursor:grab;filter:drop-shadow(0 9px 7px rgba(87,59,34,.12));animation:fall .65s cubic-bezier(.2,1.5,.55,1) both}@keyframes fall{from{transform:translateY(-58px) rotate(-6deg);opacity:0}to{transform:translateY(0);opacity:1}}.item-art:active{cursor:grabbing}.drag-hint{text-align:center;color:#a47d55;font-size:14px;font-weight:800;margin:12px 0 8px}.drag-hint span{font-size:22px;color:#df9d4d;vertical-align:-2px}.answers{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 22px 20px}.answer-target{position:relative;height:110px;border:2px solid #eee3d1;border-radius:16px;background:#fff;box-shadow:0 4px 12px rgba(92,65,30,.07);text-align:left;transition:transform .15s,border-color .15s,background .15s}.answer-target:hover,.answer-target.drop-hover{border-color:#f0b859;background:#fffcf0;transform:translateY(-2px)}.answer-letter{position:absolute;top:7px;left:8px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#f6eee2;color:#9b7860;font-size:13px;font-weight:900}.bin-target{display:flex;align-items:center;gap:7px;padding:7px 9px}.bin{width:67px;height:70px;flex:none;position:relative;margin-top:20px}.bin-lid{position:absolute;left:2px;top:5px;width:62px;height:10px;border-radius:4px;background:var(--bin)}.bin-lid::before{content:"";position:absolute;top:-6px;left:21px;width:20px;height:8px;border-radius:5px 5px 0 0;background:var(--bin)}.bin-body{position:absolute;top:18px;left:7px;width:53px;height:47px;border-radius:3px 3px 10px 10px;background:var(--bin);box-shadow:inset -8px 0 0 rgba(0,0,0,.1)}.bin-glyph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:white;font-size:25px;font-weight:950}.bin-name{font-size:16px;font-weight:950;white-space:nowrap}.bin-sub{color:#9e8d78;font-size:11px;font-weight:750}.choice-target{padding:28px 11px 8px 13px;display:flex;align-items:center}.choice-target .choice-text{font-size:14px;font-weight:850;line-height:1.32}.choice-target.long .choice-text{font-size:12.5px}.answer-target:disabled{opacity:.7}.drag-ghost{position:fixed;z-index:30;width:180px;height:120px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 12px 15px rgba(50,35,17,.35));transform:translate(-50%,-50%) rotate(-5deg)}
.overlay{position:fixed;z-index:50;inset:0;display:flex;align-items:center;justify-content:center;padding:26px;background:rgba(54,43,30,.55)}.overlay[hidden]{display:none}.modal{width:min(100%,380px);max-height:calc(100dvh - 52px);overflow:auto;border:4px solid #ffe2a5;border-radius:27px;background:#fffdf5;box-shadow:0 20px 60px rgba(47,32,19,.28);padding:23px 25px 22px;text-align:center}.modal-icon{width:72px;height:72px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffe6a0;font-size:35px}.modal-kicker{color:#d68c43;font-size:16px;font-weight:900;letter-spacing:2px}.modal h2{margin:7px 0 10px;color:#c44f38;font-size:23px;line-height:1.3}.modal p{margin:0 0 11px;color:#765c42;font-size:16.5px;line-height:1.6;text-align:left}.modal .memory{margin-bottom:9px;padding:10px 9px;border-radius:12px;background:#fff0ce;color:#8c612e;font-size:15px;font-weight:850}.modal .source{margin-bottom:15px;color:#a8977d;font-size:11px}.modal .primary{height:51px;font-size:18px}.modal .secondary{margin-top:12px;width:100%;height:42px;border:1px solid #e9cfac;border-radius:12px;background:#fff8e8;color:#845d3c;font-size:15px;font-weight:850}.feedback-correct .modal-icon{background:#dcf6dd}.feedback-wrong .modal-icon{background:#ffe2d3}.feedback-summary{text-align:center!important;font-weight:900;color:#55402f!important}.feedback-answer{background:#fff0ce;border-radius:12px;padding:10px;margin:12px 0;color:#96592d;font-size:17px;font-weight:900}.result{min-height:800px;padding-bottom:30px;background:linear-gradient(180deg,#ffe884 0,#fffaf0 45%)}.result-hero{text-align:center;padding:68px 24px 25px}.result-hero .trophy{font-size:76px}.result-hero h1{font-size:32px;margin:12px 0 5px;color:#a95833}.result-hero p{font-size:17px;color:#795a38}.score-card{margin:0 22px;padding:23px 16px;border-radius:24px;background:#fff;box-shadow:0 12px 30px rgba(115,79,32,.12);text-align:center}.score-num{font-size:64px;font-weight:950;color:#d95e40}.score-num small{font-size:26px;color:#9d8165}.score-card p{margin:0;color:#765b42;font-size:17px}.result-list{margin:17px 22px 0}.result-list h2{font-size:20px}.result-row{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #f0e5d4;background:#fff}.result-row:first-of-type{border-radius:14px 14px 0 0}.result-row:last-of-type{border-radius:0 0 14px 14px}.result-row span{max-width:79%;font-size:14px;line-height:1.35}.result-row strong{white-space:nowrap;color:#149b7e}.result-row strong.no{color:#d65a47}.result .primary{width:calc(100% - 44px);margin:25px 22px 0}.toast{position:fixed;z-index:90;bottom:25px;left:50%;transform:translateX(-50%);max-width:360px;padding:10px 16px;border-radius:12px;background:#4f3c30;color:#fff;font-size:15px;opacity:0;pointer-events:none;transition:opacity .2s}.toast.show{opacity:1}
@media(max-width:380px){.home h1{font-size:34px}.home .elders{width:195px}.qcard h2{font-size:19px}.hint-button{font-size:12px}.bin-name{font-size:14px}.answer-target{height:107px}.choice-target .choice-text{font-size:12.5px}}@media(max-height:760px){.screen{min-height:800px}}@media(min-width:700px){body{padding:25px 0}}
/* 保持常见手机一屏内可看到四个完整选项 */
.quiz .qhead{padding-top:18px}
.quiz .progress{margin-top:14px}
.quiz .qcard{margin-top:15px;min-height:130px;padding:12px 18px}
.quiz .play-title{margin:11px 0 10px}
.quiz .item-zone{height:158px}
.quiz .item-art{height:140px}
.quiz .drag-hint{margin:9px 0 7px}
.quiz .answer-target{height:104px}
.home-card{margin-bottom:6px}
.home-card .privacy{margin-top:9px}
.result{padding-bottom:15px}
.result-hero{padding:45px 24px 16px}
.result-hero .trophy{font-size:64px}
.score-card{padding:17px 16px}
.result-list{margin-top:12px}
.result-list h2{margin:0 0 9px}
.result-row{padding:10px 13px}
.result .primary{margin-top:18px}
.home-card{margin-top:335px}
.home-card h2{margin-bottom:12px}
.home-card .rules{padding:14px 15px}
.home-card .rules p{font-size:15px;line-height:1.7}
.result-row>div{max-width:79%}
.result-row>div span{display:block;max-width:none}
.result-row small{display:block;margin-top:6px;color:#ae6940;font-size:12px;font-weight:850;line-height:1.4}
.item-zone{overflow:hidden;justify-content:center;align-items:center}
.item-art{display:block;flex:none;max-width:calc(100% - 20px);object-position:center;margin:var(--art-offset,0px) auto 0}
.home-card{padding-bottom:20px}
