@import"https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;700&family=Playfair+Display:ital,wght@0,600;1,400&display=swap";:root{--bg-color: #fdfcfb;--card-color: #f0ebe3;--primary-color: #a3734f;--text-color: #3d2b1f;--subtext-color: #6b5a4a;--gold-color: #c8970a;--serif-font: "Noto Serif SC", "Playfair Display", Georgia, serif;--sans-font: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif}body{margin:0;padding:0;background-color:var(--bg-color);color:var(--text-color);font-family:var(--sans-font);overflow:hidden;user-select:none;-webkit-user-select:none}.game-container{position:relative;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;background-color:var(--bg-color)}.bg-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80vmax;height:80vmax;background:radial-gradient(circle,#a3734f0d,#fdfcfb00 70%);z-index:0;pointer-events:none}.mute-btn{position:absolute;top:24px;right:24px;background:var(--card-color);border:1.5px solid rgba(163,115,79,.2);color:var(--primary-color);padding:10px;border-radius:50%;cursor:pointer;z-index:100;box-shadow:0 4px 12px #a3734f0f;transition:all .3s ease}.mute-btn:hover{transform:translateY(-2px);background-color:#e8e2d7;border-color:var(--primary-color)}.screen-overlay{position:absolute;z-index:10;display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;box-sizing:border-box}.storybook-card{background:var(--card-color);border:2px solid rgba(163,115,79,.25);border-radius:32px;padding:40px 32px;width:100%;max-width:460px;text-align:center;box-shadow:0 12px 40px #a3734f14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;box-sizing:border-box}.storybook-card:before{content:"";position:absolute;top:6px;left:6px;right:6px;bottom:6px;border:1px dashed rgba(163,115,79,.15);border-radius:26px;pointer-events:none}.decorative-stars{position:absolute;top:-15px;left:50%;transform:translate(-50%);display:flex;gap:80px;color:var(--gold-color);pointer-events:none}.sparkle-1{animation:float 3s ease-in-out infinite}.sparkle-2{animation:float 4s ease-in-out infinite 1s}.game-title{font-family:var(--serif-font);font-size:32px;color:var(--text-color);margin:0 0 10px;font-weight:700;letter-spacing:1px}.game-subtitle{font-family:var(--sans-font);font-size:15px;color:var(--subtext-color);margin:0 0 24px;font-style:italic}.plane-preview-box{width:120px;height:120px;margin:0 auto 24px;display:flex;justify-content:center;align-items:center}.floating-plane{width:80px;height:80px;animation:floatPlane 4s ease-in-out infinite}.high-score-badge{display:inline-flex;align-items:center;gap:8px;background:var(--bg-color);border:1.5px solid rgba(163,115,79,.15);color:var(--primary-color);padding:8px 18px;border-radius:20px;font-size:14px;font-weight:600;margin-bottom:28px;box-shadow:inset 0 2px 4px #a3734f08}.trophy-icon{color:var(--gold-color)}.btn-primary{background-color:var(--primary-color);color:var(--bg-color);border:none;border-radius:20px;padding:14px 36px;font-size:16px;font-weight:600;font-family:var(--sans-font);cursor:pointer;display:inline-flex;align-items:center;gap:10px;box-shadow:0 6px 18px #a3734f26;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 22px #a3734f38;background-color:#8c5f3e}.btn-icon{transition:transform .3s ease}.btn-primary:hover .btn-icon{transform:scale(1.1)}.instructions{margin-top:32px;border-top:1px solid rgba(163,115,79,.12);padding-top:20px;text-align:left}.instruction-title{font-weight:600;font-size:14px;color:var(--text-color);margin:0 0 8px}.instructions p{font-size:12px;color:var(--subtext-color);line-height:1.6;margin:4px 0}.hud-container{position:relative;width:100%;max-width:600px;height:100%;max-height:800px;aspect-ratio:3/4;display:flex;flex-direction:column;background-color:var(--bg-color);border-radius:24px;overflow:hidden;box-shadow:0 16px 48px #a3734f1f;border:2px solid rgba(163,115,79,.15)}.game-canvas{width:100%;height:100%;display:block;cursor:crosshair;touch-action:none}.hud-header{position:absolute;top:0;left:0;right:0;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;z-index:5;background:linear-gradient(to bottom,#fdfcfbf2 60%,#fdfcfb00)}.hud-left{display:flex;align-items:center;gap:16px}.chapter-badge{background-color:var(--primary-color);color:var(--bg-color);font-family:var(--serif-font);font-size:13px;padding:4px 12px;border-radius:12px;font-weight:600;box-shadow:0 2px 8px #a3734f26}.score-box{display:flex;flex-direction:column;transition:transform .15s ease}.score-box.bounce{transform:scale(1.15)}.score-label{font-size:11px;color:var(--subtext-color);text-transform:uppercase;letter-spacing:.5px}.score-num{font-family:var(--serif-font);font-size:24px;font-weight:700;color:var(--text-color);line-height:1}.score-num small{font-size:12px;font-weight:500;margin-left:2px;color:var(--subtext-color)}.lives-box{display:flex;gap:6px}.heart-icon{transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.heart-icon.active{color:var(--primary-color);transform:scale(1)}.heart-icon.lost{color:#a3734f33;transform:scale(.8)}.level-up-banner{position:absolute;top:120px;left:50%;transform:translate(-50%);background:#f0ebe3f2;border:1.5px solid var(--primary-color);border-radius:20px;padding:12px 32px;text-align:center;box-shadow:0 8px 24px #a3734f1a;z-index:8;pointer-events:none}.level-up-title{font-family:var(--serif-font);font-size:18px;font-weight:700;color:var(--primary-color);margin:0}.level-up-sub{font-size:12px;color:var(--subtext-color);margin:4px 0 0}.gameover-card{border-color:#a3734f59}.gameover-title{font-family:var(--serif-font);font-size:28px;color:var(--text-color);margin:0 0 8px}.gameover-subtitle{font-size:14px;color:var(--subtext-color);margin:0 0 28px}.results-box{background:var(--bg-color);border:1.5px solid rgba(163,115,79,.15);border-radius:20px;padding:18px 24px;margin-bottom:28px}.result-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.result-row:not(:last-child){border-bottom:1px dashed rgba(163,115,79,.1)}.result-label{font-size:14px;color:var(--subtext-color)}.result-val{font-family:var(--serif-font);font-size:18px;font-weight:700;color:var(--text-color)}.new-record-tag{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--gold-color);font-size:13px;font-weight:600;margin-top:10px;padding-top:10px;border-top:1px solid rgba(163,115,79,.1)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes floatPlane{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(3deg)}}
