:root{--primary-dark: #2c1e16;--red-dark: #8b0000;--gold: #daa520;--gold-light: #f4d03f;--paper: #f4e8d3;--text-main: #3e2723}*{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;user-select:none}body{font-family:KaiTi,STKaiti,Microsoft YaHei,serif;background-color:#1a1a1a;color:var(--text-main);overflow:hidden}.app-container{width:100vw;height:100vh;max-width:600px;margin:0 auto;background:radial-gradient(circle at center,var(--paper) 0%,#d7c4a1 100%);position:relative;display:flex;flex-direction:column;box-shadow:0 0 30px #00000080}.start-screen,.end-screen{justify-content:center;align-items:center;text-align:center;gap:30px}.cloud-badge{position:absolute;top:20px;right:20px;display:flex;align-items:center;gap:6px;font-size:14px;color:#666;background:#ffffff80;padding:4px 10px;border-radius:20px}.title-box h1{font-size:4rem;color:var(--red-dark);text-shadow:2px 2px 4px rgba(0,0,0,.2);margin-bottom:10px;letter-spacing:4px}.subtitle{font-size:1.2rem;color:#555;letter-spacing:2px}.high-score-display{display:flex;align-items:center;gap:10px;font-size:1.2rem;font-weight:700;color:var(--primary-dark);background:#daa52033;padding:10px 20px;border-radius:8px;border:1px solid var(--gold)}.btn-primary{background:linear-gradient(135deg,var(--red-dark),#600000);color:var(--gold-light);border:2px solid var(--gold);padding:12px 40px;font-size:1.5rem;font-family:inherit;border-radius:4px;cursor:pointer;box-shadow:0 4px 10px #8b000066;text-shadow:1px 1px 2px #000;transition:filter .2s}.btn-primary:disabled{filter:grayscale(1);cursor:not-allowed}.game-header{padding:15px;background:#2c1e16e6;color:var(--paper);display:flex;flex-direction:column;gap:10px;border-bottom:2px solid var(--gold)}.level-info{font-size:1.1rem;display:flex;align-items:center;gap:8px;font-weight:700}.siege-progress{display:flex;justify-content:space-between;position:relative;height:30px;align-items:center;padding:0 10px;border-radius:15px;overflow:hidden;background:#000}.siege-bg{position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:center;opacity:.4;z-index:0}.siege-node{width:24px;height:24px;border-radius:50%;background:#555;border:2px solid #888;display:flex;justify-content:center;align-items:center;z-index:1;color:#fff;transition:all .3s}.siege-node.captured{background:var(--red-dark);border-color:var(--gold);box-shadow:0 0 10px var(--gold)}.battlefield{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:20px;position:relative}.character-area{display:flex;align-items:center;gap:20px}.enemy-area{justify-content:flex-end}.player-area{justify-content:flex-start}.avatar-frame{position:relative;width:80px;height:80px;border-radius:50%;border:3px solid var(--gold);background:#333;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 8px #0000004d}.avatar-frame img{width:100%;height:100%;object-fit:cover;border-radius:50%}.fallback-emoji{font-size:40px}.hp-bar-container{position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:100px;height:16px;background:#222;border:2px solid var(--primary-dark);border-radius:8px;overflow:hidden}.hp-bar{height:100%;transition:width .3s ease}.player-hp{background:linear-gradient(90deg,#2e7d32,#4caf50)}.enemy-hp{background:linear-gradient(90deg,#c62828,#ef5350)}.hp-text{position:absolute;width:100%;text-align:center;top:-1px;font-size:10px;color:#fff;font-weight:700;text-shadow:1px 1px 1px #000}.shield-badge{position:absolute;top:-10px;right:-10px;background:#1565c0;color:#fff;border:2px solid #90caf9;border-radius:12px;padding:2px 6px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:2px;box-shadow:0 2px 4px #00000080}.turn-indicator{font-size:1.2rem;font-weight:700;color:var(--red-dark);text-shadow:1px 1px 2px rgba(255,255,255,.8);transition:opacity .3s}.battle-logs{background:#0009;border:1px solid var(--gold);border-radius:8px;height:120px;display:flex;flex-direction:column;margin:10px 0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.log-header{background:#daa52033;color:var(--gold);padding:4px 10px;font-size:12px;display:flex;align-items:center;gap:5px;border-bottom:1px solid rgba(218,165,32,.3)}.log-content{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px}.log-item{font-size:13px;display:flex;align-items:center;gap:4px}.log-item.system{color:#aaa;font-style:italic;justify-content:center}.log-item.player{color:#4caf50}.log-item.enemy{color:#ef5350}.game-footer{background:var(--primary-dark);padding:10px;border-top:2px solid var(--gold)}.resource-hud{display:flex;justify-content:space-around;background:#0006;padding:8px;border-radius:6px;margin-bottom:10px;border:1px solid #444}.res-item{display:flex;align-items:center;gap:6px;color:#fff;font-weight:700;font-size:1.1rem}.hand-cards{display:flex;gap:10px;overflow-x:auto;padding:10px 5px;scrollbar-width:none}.hand-cards::-webkit-scrollbar{display:none}.card{min-width:110px;height:160px;background:#fff;border-radius:8px;padding:4px;cursor:pointer;border:2px solid var(--gold);box-shadow:0 4px 8px #00000080;position:relative}.card.disabled{opacity:.6;filter:grayscale(.5);cursor:not-allowed}.card-inner{width:100%;height:100%;border-radius:4px;background-size:cover;background-position:center;position:relative}.card-inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#f4e8d3e6;border-radius:4px}.card-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;padding:8px}.card-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--gold);padding-bottom:4px;margin-bottom:6px}.card-name{font-weight:700;font-size:14px;color:var(--red-dark)}.card-desc{font-size:11px;color:#444;flex:1;line-height:1.4}.card-cost{display:flex;gap:4px;flex-wrap:wrap;background:#0000001a;padding:4px;border-radius:4px;margin-top:auto}.cost-item{display:flex;align-items:center;gap:2px;font-size:10px;font-weight:700;color:var(--primary-dark)}.toast{position:absolute;top:80px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:10px 20px;border-radius:20px;border:1px solid var(--gold);z-index:100;font-size:14px;box-shadow:0 4px 12px #00000080}
