:root{--gold: #f5c842;--gold-dim: #c8942a;--red: #cc2222;--parchment: #f0e6c8;--parchment-dark: #d4c090;--shadow-text: 0 2px 6px rgba(0,0,0,.7);--font-medieval: "Cinzel", serif;--font-deco: "Cinzel Decorative", serif}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;z-index:10;font-family:var(--font-medieval)}#hud-top{display:flex;align-items:flex-start;justify-content:space-between;padding:14px 18px 0;gap:12px;pointer-events:all}#hud-left{display:flex;flex-direction:column;gap:8px}#hud-controls{display:flex;gap:10px}.hud-btn{background:#0000008c;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--parchment);font-family:var(--font-medieval);font-size:13px;padding:5px 12px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .15s,transform .1s;pointer-events:all}.hud-btn:hover{background:#000000bf;transform:scale(1.05)}.hud-btn:active{transform:scale(.97)}#hp-bar{display:flex;gap:3px;flex-wrap:wrap;max-width:160px}.heart{font-size:16px;line-height:1;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6));transition:filter .2s,opacity .2s}.heart.empty{opacity:.25;filter:grayscale(1) drop-shadow(0 1px 2px rgba(0,0,0,.4))}.heart.cracked{opacity:.55;filter:sepia(.6) drop-shadow(0 1px 2px rgba(0,0,0,.4))}#hud-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.hud-stat{background:#00000080;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:4px 12px;font-size:15px;font-weight:600;color:var(--parchment);text-shadow:var(--shadow-text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.04em;white-space:nowrap}.hud-stat span{color:var(--gold)}#buff-bar{display:flex;gap:10px;padding:0 18px 18px;align-items:flex-end;flex-wrap:wrap;justify-content:center;pointer-events:none}.buff-pill{display:flex;align-items:center;gap:8px;background:#000000a6;border:1px solid rgba(255,220,100,.3);border-radius:30px;padding:6px 14px 6px 10px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:slideUp .25s cubic-bezier(.2,1.5,.5,1) both;transition:opacity .25s;min-width:120px}.buff-pill.expiring{animation:pulse .5s infinite alternate;border-color:#ff646480}.buff-icon{font-size:18px;line-height:1}.buff-info{display:flex;flex-direction:column;gap:3px;flex:1}.buff-label{font-size:11px;color:var(--parchment);letter-spacing:.05em;text-transform:uppercase}.buff-timer{font-size:13px;font-weight:700;color:var(--gold);text-shadow:0 0 8px rgba(245,200,66,.5)}.buff-track{width:100%;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.buff-fill{height:100%;background:linear-gradient(90deg,var(--gold-dim),var(--gold));border-radius:2px;transition:width .25s linear}.game-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0a0806d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;animation:fadeIn .3s ease both}.overlay-card{background:linear-gradient(160deg,#2a1a08,#1a0f03);border:2px solid rgba(245,200,66,.35);border-radius:20px;padding:44px 52px;text-align:center;box-shadow:0 24px 80px #000c,0 0 0 1px #ffc83214 inset;max-width:420px;width:92%;animation:slideUp .35s cubic-bezier(.2,1.5,.5,1) both}.overlay-title{font-family:var(--font-deco);font-size:2rem;color:var(--gold);text-shadow:0 0 20px rgba(245,200,66,.5);margin-bottom:8px}.overlay-subtitle{font-size:.9rem;color:var(--parchment-dark);margin-bottom:28px;letter-spacing:.08em}.overlay-stat-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:14px;color:var(--parchment)}.overlay-stat-row span{color:var(--gold);font-weight:700}.big-btn{display:block;width:100%;margin-top:24px;padding:13px 28px;background:linear-gradient(135deg,#c8941a,#f5c842);border:none;border-radius:12px;font-family:var(--font-deco);font-size:1rem;color:#1a0f03;font-weight:900;cursor:pointer;letter-spacing:.06em;box-shadow:0 4px 20px #f5c8424d;transition:transform .12s,box-shadow .12s}.big-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px #f5c84273}.big-btn:active{transform:translateY(0)}.ghost-btn{display:block;width:100%;margin-top:12px;padding:11px 28px;background:transparent;border:1px solid rgba(245,200,66,.3);border-radius:12px;font-family:var(--font-medieval);font-size:.85rem;color:var(--parchment-dark);cursor:pointer;letter-spacing:.05em;transition:border-color .15s,color .15s}.ghost-btn:hover{border-color:var(--gold);color:var(--gold)}#homepage{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:60;background:radial-gradient(ellipse at 60% 40%,#3d1a06,#0a0604 70%);animation:fadeIn .4s ease both}.hp-card{background:linear-gradient(170deg,#2e1a07,#160b02);border:2px solid rgba(245,200,66,.35);border-radius:20px;padding:0 52px 40px;text-align:center;box-shadow:0 32px 100px #000000e6;max-width:440px;width:92%;overflow:hidden;animation:slideUp .4s cubic-bezier(.2,1.5,.5,1) both}.hp-banner{display:block;width:calc(100% + 104px);margin-left:-52px;margin-right:-52px;aspect-ratio:1 / 1;object-fit:cover;object-position:center top;border-radius:18px 18px 0 0;margin-bottom:16px;max-height:260px}.hp-tagline{font-size:.8rem;color:var(--parchment-dark);letter-spacing:.18em;text-transform:uppercase;margin-bottom:36px}.hp-label{font-size:.82rem;color:var(--parchment-dark);text-align:left;margin-bottom:8px;letter-spacing:.1em;text-transform:uppercase}.hp-input{display:block;width:100%;background:#ffffff0f;border:1px solid rgba(245,200,66,.3);border-radius:10px;padding:12px 16px;font-family:var(--font-medieval);font-size:1rem;color:var(--parchment);outline:none;transition:border-color .15s,box-shadow .15s;margin-bottom:24px}.hp-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #f5c84226}.hp-input::placeholder{color:#f0e6c84d}.hp-highscore{font-size:.82rem;color:var(--parchment-dark);margin-bottom:8px}.hp-highscore span{color:var(--gold);font-weight:700}.hp-theme-toggle{display:flex;gap:10px;margin-bottom:24px}.hp-theme-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:#ffffff0a;border:1px solid rgba(245,200,66,.2);border-radius:12px;font-family:var(--font-medieval);font-size:.78rem;color:var(--parchment-dark);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;transition:border-color .15s,background .15s,color .15s}.hp-theme-btn:hover{border-color:#f5c84280;background:#f5c8420f;color:var(--parchment)}.hp-theme-btn.active{border-color:var(--gold);background:#f5c8421f;color:var(--gold);box-shadow:0 0 12px #f5c84233}.hp-theme-icon{font-size:1.5rem;line-height:1}.hp-leaderboard-wrap{margin-top:22px;width:100%;border-top:1px solid rgba(245,200,66,.18);padding-top:16px}.hp-leaderboard-title{font-family:var(--font-medieval);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);opacity:.75;text-align:center;margin-bottom:10px}.hp-leaderboard-list{display:flex;flex-direction:column;gap:3px}.hp-lb-row{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;border-radius:7px;background:#ffffff08;font-size:.78rem;color:var(--parchment);transition:background .12s}.hp-lb-row:first-child{background:#f5c8421a}.hp-lb-row:hover{background:#f5c84212}.hp-lb-left{display:flex;align-items:center;gap:6px;min-width:0}.hp-lb-rank{font-size:.68rem;opacity:.45;flex-shrink:0}.hp-lb-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hp-lb-score{color:var(--gold);font-weight:700;font-size:.78rem;white-space:nowrap;margin-left:8px;flex-shrink:0}.hp-lb-loading,.hp-lb-empty{font-size:.76rem;color:var(--parchment-dark);opacity:.5;text-align:center;padding:8px 0}#vctrl{position:fixed;bottom:0;left:0;right:0;height:160px;display:flex;align-items:flex-end;justify-content:space-between;padding:0 20px 24px;pointer-events:none;z-index:50;padding-bottom:max(24px,env(safe-area-inset-bottom))}#vctrl-actions{display:flex;flex-direction:column;gap:12px;pointer-events:all}.vctrl-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;border:2px solid rgba(245,200,66,.5);background:#140a02b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--gold);font-size:1.5rem;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:background .1s,transform .08s;box-shadow:0 4px 16px #00000080}.vctrl-btn span{font-family:var(--font-medieval);font-size:.55rem;letter-spacing:.05em;margin-top:2px;opacity:.75}.vctrl-btn:active{background:#f5c84238;transform:scale(.92)}#vctrl-joystick-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:all;touch-action:none}#vctrl-joystick-track{position:relative;width:130px;height:60px;border-radius:30px;background:#140a02b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:2px solid rgba(245,200,66,.45);box-shadow:0 4px 16px #00000080;display:flex;align-items:center;justify-content:center}#vctrl-joystick-thumb{width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 38% 36%,#f5c842e6,#b48214b3);border:2px solid rgba(245,200,66,.6);box-shadow:0 2px 8px #0009;will-change:transform;transition:transform .04s linear}#vctrl-joystick-labels{display:flex;justify-content:space-between;width:130px;padding:0 10px;font-size:.75rem;color:var(--gold);opacity:.55;-webkit-user-select:none;user-select:none}.achievement-toast{position:absolute;top:64px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#5000a0d9,#280050eb);border:1px solid rgba(180,80,255,.55);border-radius:40px;padding:10px 24px 10px 16px;color:#e8c8ff;font-family:var(--font-deco);font-size:.95rem;letter-spacing:.06em;white-space:nowrap;pointer-events:none;box-shadow:0 0 24px #a03cff73,0 4px 20px #0009;animation:achievementPop 3s cubic-bezier(.2,1.4,.4,1) forwards;z-index:20}.achievement-icon{font-size:1.3rem;line-height:1}.achievement-text{text-shadow:0 0 12px rgba(200,100,255,.7)}@keyframes achievementPop{0%{opacity:0;transform:translate(-50%) translateY(-18px) scale(.85)}12%{opacity:1;transform:translate(-50%) translateY(0) scale(1.05)}20%{transform:translate(-50%) translateY(0) scale(1)}75%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-10px) scale(.95)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:.7}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0;pointer-events:none}}.fade-out{animation:fadeOut .4s ease forwards}
