*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg,#0a0e17);color:var(--text,#e0e0e0);overflow-x:hidden;-webkit-tap-highlight-color:transparent;transition:background .5s,color .5s}.card{background:var(--bgCard,rgba(255,255,255,.03))!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:16px!important;padding:16px;margin-bottom:14px;border:1px solid var(--borderLight,rgba(255,255,255,.06))!important;transition:all .3s}.page{min-height:100vh;background:var(--bg,#0a0e17);color:var(--text,#e0e0e0);transition:background .5s,color .5s}.scene-card,.gate,.quest,.rank-item,.hot-item,.stat-card{animation:fadeInUp .6s ease backwards}.scene-card:nth-child(2),.gate:nth-child(2),.quest:nth-child(2){animation-delay:.08s}.scene-card:nth-child(3),.gate:nth-child(3),.quest:nth-child(3){animation-delay:.16s}.scene-card:nth-child(4){animation-delay:.24s}.scene-card:nth-child(5){animation-delay:.32s}.scene-card:nth-child(6){animation-delay:.4s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px);filter:blur(2px)}}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-left-enter-active,.slide-left-leave-active{transition:all .3s ease}.slide-left-enter-from{transform:translate(30px);opacity:0}.slide-left-leave-to{transform:translate(-30px);opacity:0}.zoom-enter-active,.zoom-leave-active{transition:all .35s ease}.zoom-enter-from{transform:scale(.92);opacity:0}.zoom-leave-to{transform:scale(1.05);opacity:0}.producer-bar{position:fixed;bottom:56px;left:0;right:0;text-align:center;color:var(--textMuted);font-size:10px;padding:4px 0;z-index:998;background:var(--bg);opacity:.95;pointer-events:none;transition:background .5s}.bnav{position:fixed;bottom:0;left:0;right:0;background:var(--bg);opacity:.97;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--borderLight);display:flex;justify-content:space-around;padding:4px 0 env(safe-area-inset-bottom,8px);z-index:999;transition:background .5s,border-color .5s}.bnav button{display:flex;flex-direction:column;align-items:center;gap:1px;text-decoration:none;color:var(--textSecondary);font-size:11px;padding:2px 0;min-width:44px;min-height:44px;justify-content:center;transition:color .2s;background:none;border:none;cursor:pointer}.bnav .na{color:var(--accent)!important;animation:tabGlow 2s ease-in-out infinite}.k2-nav .ni{font-size:36px!important}.k2-nav .nl{display:none}.k2-nav button{min-height:60px!important;padding:6px 0!important}@keyframes tabGlow{0%,to{text-shadow:0 0 8px rgba(88,166,255,.3)}50%{text-shadow:0 0 18px rgba(88,166,255,.6)}}body{overflow-x:hidden;-webkit-overflow-scrolling:touch}input,select,button,textarea{font-size:16px!important;max-width:100%}@media (min-width:768px){.location-list{grid-template-columns:repeat(4,1fr)!important}.coll-grid{grid-template-columns:repeat(6,1fr)!important}.scene-grid,.feature-grid,.gates{grid-template-columns:repeat(2,1fr)!important}}@media (min-width:1024px){.page,.map-scene,.ai-train-scene{max-width:900px!important}.location-list{grid-template-columns:repeat(5,1fr)!important}.coll-grid{grid-template-columns:repeat(8,1fr)!important}.scene-grid{grid-template-columns:repeat(3,1fr)!important}}@media (max-width:380px){.bnav a{font-size:10px}.bnav a .bi{font-size:16px}.location-list{grid-template-columns:repeat(3,1fr)!important}}.bnav button:active{transform:scale(.9)}.tab-badge{position:absolute;top:0;right:2px;width:8px;height:8px;border-radius:50%;background:#f44336;animation:badgePulse 1.5s ease-in-out infinite}@keyframes badgePulse{0%,to{transform:scale(1);box-shadow:0 0 #f4433666}50%{transform:scale(1.3);box-shadow:0 0 0 6px #f4433600}}.ni{font-size:22px}.nl{font-size:10px}.companion{position:fixed;z-index:200;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;transition:none}.companion:active{cursor:grabbing}.comp-emoji{font-size:40px;display:block;filter:drop-shadow(0 4px 12px rgba(79,195,247,.4))}.comp-modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#00000080;display:flex;align-items:flex-end;justify-content:center}.comp-modal{background:var(--bg,#0a0e17);border-radius:20px 20px 0 0;width:100%;max-width:500px;max-height:70vh;display:flex;flex-direction:column;border:1px solid var(--borderLight,rgba(255,255,255,.08));animation:slideUp .3s}.comp-modal-hdr{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--borderLight,rgba(255,255,255,.06));font-size:15px;color:var(--text,#e0e0e0);font-weight:600}.comp-modal-hdr button{background:none;border:none;color:var(--textMuted,#888);font-size:18px;cursor:pointer}.comp-msgs{flex:1;overflow-y:auto;padding:14px;min-height:200px;max-height:40vh;display:flex;flex-direction:column;gap:8px}.comp-empty{text-align:center;color:var(--textMuted,#888);padding:40px 0;font-size:14px}.comp-msg{padding:10px 14px;border-radius:14px;font-size:13px;line-height:1.5;max-width:85%}.comp-msg.user{align-self:flex-end;background:var(--accent,#58a6ff);color:#fff}.comp-msg.ai{align-self:flex-start;background:var(--bgCard,rgba(255,255,255,.04));color:var(--text,#e0e0e0)}.comp-input-row{display:flex;gap:8px;padding:12px;border-top:1px solid var(--borderLight,rgba(255,255,255,.06))}.comp-input{flex:1;padding:10px 14px;background:#ffffff0a;border:1px solid var(--borderLight,rgba(255,255,255,.08));border-radius:12px;color:var(--text,#e0e0e0);font-size:13px;outline:none}.comp-send{padding:10px 18px;background:var(--accent,#58a6ff);color:#fff;border:none;border-radius:12px;font-size:13px;font-weight:600;cursor:pointer}.comp-send:disabled{opacity:.4;cursor:default}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.comp-bubble{position:absolute;bottom:48px;right:-10px;background:#1f6feb;color:#fff;padding:6px 12px;border-radius:10px 10px 4px;font-size:12px;white-space:nowrap;animation:pop-in .3s;pointer-events:none}@keyframes pop-in{0%{transform:scale(0);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.combo-fire{animation:firePulse .3s ease-out}@keyframes firePulse{0%{transform:scale(1.3)}50%{transform:scale(.9)}to{transform:scale(1)}}.coin-drop{position:fixed;animation:coinFall 1.5s ease-in forwards;pointer-events:none;z-index:1000;font-size:24px}@keyframes coinFall{0%{opacity:1;transform:translateY(0) rotate(0) scale(1.5)}60%{opacity:1;transform:translateY(300px) rotate(360deg) scale(1)}to{opacity:0;transform:translateY(500px) rotate(720deg) scale(.5)}}
