:root{--paper:#fffaf0;--ink:#45351f;--red:#9d3528;--gold:#f4c64f;--mint:#2fbf9f;--grape:#8064a9;--u:min(1vw,1vh);font-family:Noto Sans SC,Microsoft YaHei,sans-serif;color:var(--ink);background:#eadcc0}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit}.pad-shell{width:100%;height:100%;min-height:420px;padding:12px 18px 18px;background:radial-gradient(circle at 50% -20%,#fff9e8 0,#efe0be 58%,#d8c39b);display:flex;flex-direction:column}.pad-top{height:58px;display:flex;align-items:center;gap:16px;flex:none}.back{width:42px;height:42px;border:0;border-radius:50%;background:#fff8e9;color:var(--red);font-size:34px;box-shadow:0 3px 12px #7052222e;cursor:pointer}.route-nav{display:flex;align-items:center;gap:10px;flex:1}.route-dot{width:42px;height:42px;border-radius:50%;border:2px solid #d8c7a5;background:#f8eed9;filter:grayscale(.5);opacity:.75;cursor:pointer}.route-dot.done{background:#d8f3e8;border-color:var(--mint);filter:none;opacity:1}.route-dot.current{width:48px;height:48px;background:#fff;border-color:var(--gold);filter:none;opacity:1;box-shadow:0 0 0 5px #f4c64f3d}.chips{display:flex;gap:8px}.pchip{padding:9px 15px;border-radius:18px;color:#fff;font-weight:800;box-shadow:0 3px 10px #60451d33}.pchip.grape{background:var(--grape)}.pchip.gold{background:#c68e17}.pchip.bump{animation:bump .4s ease}@keyframes bump{40%{transform:scale(1.25)}}.pad-card{position:relative;flex:1;min-height:0;background:var(--paper);border:3px solid #b88c42;border-radius:20px;box-shadow:0 12px 35px #563b1740,inset 0 0 0 5px #f1dfb8;overflow:hidden}.corner{position:absolute;z-index:12;width:28px;height:28px;border-top:3px solid #b88c42;border-left:3px solid #b88c42}.corner.tl{top:6px;left:6px}.corner.tr{top:6px;right:6px;transform:rotate(90deg)}.corner.br{bottom:6px;right:6px;transform:rotate(180deg)}.corner.bl{bottom:6px;left:6px;transform:rotate(270deg)}.pad-title{position:absolute;z-index:10;top:12px;left:22px;padding:7px 15px;border-radius:14px;background:#fff9e9dd;border:1px solid #d7bc83;font-size:clamp(14px,1.6vw,20px);font-weight:700;box-shadow:0 3px 10px #72532325}.orn{color:var(--red);margin-right:6px}.pad-frame{position:absolute;z-index:4;inset:8px 33% 8px 8px;border-radius:12px;overflow:hidden;border:1px solid #efe7d6;box-shadow:0 4px 14px #785a281a;display:flex;align-items:center;justify-content:center;background:#f4ead6}.pad-photo{width:100%;height:100%;object-fit:contain;display:block;filter:brightness(1.2) saturate(1.3) contrast(.95) sepia(.05);background:transparent}.pmk{position:absolute;z-index:5;transform:translate(-50%,-100%);cursor:pointer;background:var(--gold);color:#6a4a00;border:2px solid #fff;border-radius:22px;padding:8px 15px;font-size:clamp(12px,1.35vw,16px);font-weight:900;box-shadow:0 5px 16px #aa7d1f99;animation:mkfloat 2s ease-in-out infinite;white-space:nowrap}.pmk:before{content:"";position:absolute;inset:-6px;border-radius:26px;border:2px solid var(--gold);opacity:.7;animation:mkripple 1.8s ease-out infinite}.pmk:after{content:"";position:absolute;left:50%;bottom:-8px;transform:translate(-50%);border:7px solid transparent;border-top-color:var(--gold)}.pmk.alt{background:var(--grape);color:#fff;box-shadow:0 5px 16px #5d488099}.pmk.alt:before{border-color:var(--grape)}.pmk.alt:after{border-top-color:var(--grape)}.pmk.hit{background:var(--mint);color:#fff;animation:none}.pmk.hit:before{display:none}.pmk.hit:after{border-top-color:var(--mint)}.pmk:active{transform:translate(-50%,-100%) translateY(2px)}@keyframes mkfloat{50%{transform:translate(-50%,-100%) translateY(-5px)}}@keyframes mkripple{0%{transform:scale(.82);opacity:.7}to{transform:scale(1.5);opacity:0}}.pad-bar{position:absolute;z-index:5;top:8px;right:8px;bottom:8px;width:31.5%;display:flex;flex-direction:column;align-items:center;padding:16px 14px 14px;gap:8px;background:linear-gradient(180deg,#f6ebd4,#fffaf0);border-left:1px solid #e3d0aa;border-radius:0 12px 12px 0}.bar-mascot{flex:none;height:34%;min-height:105px;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.mascot{max-height:100%;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 5px 5px #51381122)}.mascot.talking{transform-origin:center bottom;animation:talk .42s ease-in-out infinite alternate}@keyframes talk{to{transform:translateY(-3px) rotate(1deg)}}.bubble{position:relative;flex:1;width:100%;min-height:0;padding:18px 18px 14px;background:#fff;border:2px solid #d9bd81;border-radius:18px;box-shadow:0 5px 18px #6548171f;display:flex;flex-direction:column;justify-content:flex-start}.bubble:before{content:"";position:absolute;top:-13px;left:50%;width:22px;height:22px;background:#fff;border-left:2px solid #d9bd81;border-top:2px solid #d9bd81;transform:translate(-50%) rotate(45deg)}.pdlg-wrap{position:relative;flex:1;min-height:0;overflow:hidden}.pdlg{margin:0;font-size:clamp(15px,1.5vw,21px);line-height:1.62;font-weight:600;text-align:left}.pdlg mark{background:#ffe18b;color:#8a361e;border-radius:5px;padding:0 3px}.feedback{margin-top:7px;padding:7px;border-radius:9px;text-align:center;font-weight:800}.feedback.wrong{background:#fff0e8;color:#b44a32}.feedback.right{background:#e2f7ef;color:#218d75}.next-btn,.game-action{border:0;border-radius:22px;padding:10px 22px;background:linear-gradient(#d74d39,#a62e25);color:#fff;font-weight:900;box-shadow:0 5px #78241e;cursor:pointer}.next-btn{align-self:flex-end;margin-top:9px}.next-btn:active,.game-action:active{transform:translateY(3px);box-shadow:0 2px #78241e}.intro-panel,.finale,.judge-scene,.photo-task{width:100%;height:100%;padding:60px 8% 30px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle,#fffaf0,#ead4aa)}.lion-medal,.seal,.camera{width:90px;height:90px;border-radius:50%;display:grid;place-items:center;background:#9e3529;color:#f8dc82;border:5px double #f8dc82;font-size:42px;font-family:serif;box-shadow:0 7px 20px #67251f55}.intro-panel h1,.finale h1,.judge-scene h2,.photo-task h2{margin:15px 0 8px}.intro-panel p,.finale p,.photo-task p{margin:0 0 20px;color:#725d3d}.badge{font-size:80px;filter:drop-shadow(0 8px 5px #5a3c1733)}.judge-opts{display:flex;gap:26px;margin-top:22px}.judge-opt{min-width:150px;padding:18px;border:2px solid #c7a568;border-radius:16px;background:#fff9ea;color:var(--ink);font-size:22px;font-weight:800;cursor:pointer;box-shadow:0 6px 12px #5f451727}.judge-opt:hover{border-color:var(--red);transform:translateY(-2px)}.match{width:100%;height:100%;padding:65px 9% 35px;display:grid;grid-template-columns:1fr 26% 1fr;gap:8px;align-items:stretch;background:linear-gradient(135deg,#f5e9cf,#fffaf0)}.match-col{display:flex;flex-direction:column;justify-content:space-around;gap:12px}.match-node{min-height:58px;border:2px solid #ba9655;border-radius:15px;background:#fff;color:#59452a;font-size:18px;font-weight:800;cursor:pointer}.match-node.active{background:#fff0ae;border-color:#d38e18}.match-node:disabled{background:#dff3e9;border-color:var(--mint);color:#217a66}.match-lines{width:100%;height:100%;overflow:visible}.match-lines line{stroke:var(--mint);stroke-width:3;vector-effect:non-scaling-stroke}.jigsaw{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#dcc49b}.jigsaw img{width:100%;height:100%;object-fit:contain}.jigsaw-grid{position:absolute;width:62%;height:75%;border:2px solid #fff8;box-shadow:inset 0 0 0 2px #6a431c55;background:linear-gradient(90deg,transparent 49.5%,#fff8 50%,transparent 50.5%),linear-gradient(transparent 49.5%,#fff8 50%,transparent 50.5%)}.jigsaw .game-action{position:absolute;bottom:18px;right:18px}.rotate-tip{display:none}.portrait-app{padding:40px;text-align:center}.game-action{margin-top:14px}.finale .game-action{margin-top:10px}@media (orientation:portrait) and (max-width:700px){.pad-card,.pad-top{visibility:hidden}.rotate-tip{display:grid;position:fixed;inset:0;place-items:center;background:#f5e7c8;color:#8e3328;font-size:24px;font-weight:900}}@media (max-height:520px){.pad-shell{padding:6px 10px 10px}.pad-top{height:46px}.route-dot{width:34px;height:34px}.route-dot.current{width:39px;height:39px}.pad-bar{padding:8px}.bar-mascot{min-height:75px}.bubble{padding:12px}.pdlg{font-size:14px;line-height:1.45}}
