*{box-sizing:border-box;margin:0;padding:0;} html,body{width:100%;height:100%;overflow:hidden;} body{background:var(--dk);color:var(--tx);font-family:'Rajdhani',sans-serif;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;} canvas { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; background: #000; } /* ── LAUNCHER ────────────────────── */ #launcher{position:absolute;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;background:var(--dk);overflow:hidden;} #artC{position:absolute;inset:0;width:100%;height:100%;} .title-center{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;} .art-eyebrow{font-size:clamp(9px,1vw,11px);letter-spacing:8px;color:#3a2010;margin-bottom:22px;text-transform:uppercase;} .art-h1{font-family:'Cinzel',serif;font-size:clamp(42px,9vw,108px);font-weight:900;line-height:.82;color:#c0a070; text-shadow:0 2px 4px rgba(0,0,0,.9),0 0 40px rgba(100,20,8,.5),0 0 80px rgba(60,10,4,.3); animation:titleFloat 3.6s ease-in-out infinite; } .art-h1 span{color:#8a3010;display:block; text-shadow:0 2px 4px rgba(0,0,0,.9),0 0 30px rgba(80,16,8,.55); } @keyframes titleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}} .art-foot{margin-top:18px;font-size:clamp(8px,.75vw,10px);letter-spacing:7px;color:#2a1508;text-transform:uppercase;} .play-btn{ margin-top:48px; background:#5a1008;border:1px solid #3a0c06;border-top:1px solid rgba(180,100,30,.18);color:#c0a060;padding:17px 58px; font-family:'Cinzel',serif;font-size:14px;letter-spacing:5px;font-weight:700; cursor:pointer;border-radius:1px;transition:all .24s cubic-bezier(.34,1.4,.64,1); box-shadow:0 4px 28px rgba(60,10,5,.6),inset 0 1px 0 rgba(200,140,40,.08);position:relative;overflow:hidden; } .play-btn::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(200,140,40,.2),transparent);} .play-btn::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,200,100,.07),transparent);transform:translateX(-100%);transition:transform .55s;} .play-btn:hover::after{transform:translateX(100%);} .play-btn:hover{background:#7a1a0c;border-color:#5a1008;color:#d4b870;box-shadow:0 6px 38px rgba(80,14,6,.7);transform:translateY(-3px) scale(1.03);} .play-btn:active{transform:translateY(0) scale(1);} .lang-row{display:flex;gap:8px;margin-top:20px;} .lpill{background:transparent;border:1px solid #1e0e06;color:#2a1508;padding:7px 22px;font-family:'Rajdhani',sans-serif;font-size:11px;letter-spacing:3px;cursor:pointer;border-radius:1px;transition:all .2s;text-align:center;} .lpill:hover{border-color:#3a1808;color:#6a3010;} .lpill.on{border-color:#5a1808;color:#8a4018;background:rgba(80,20,8,.12);} .best-line{margin-top:16px;font-size:9px;color:#2a1208;letter-spacing:3px;} .ver-badge{position:absolute;bottom:20px;right:20px;font-size:8px;letter-spacing:4px;color:#1e0e06;} /* ── HUD ────────────────────────── */ #hud{position:absolute;top:0;left:0;right:0;z-index:100;display:none;pointer-events:none;} #top-bar{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(6,2,8,.9) 0%,transparent 100%);padding:10px 15px 22px;gap:10px;} .hpanel{background:rgba(6,2,8,.85);border:1px solid var(--br);border-radius:2px;padding:7px 13px;display:flex;flex-direction:column;gap:2px;min-width:100px;} .hpanel.ct{align-items:center;min-width:130px;} .hv{font-family:'Cinzel',serif;font-size:17px;color:#fff;letter-spacing:1px;} .hl{font-size:9px;letter-spacing:3px;color:var(--dim);text-transform:uppercase;} #bar-row{display:flex;align-items:flex-start;gap:9px;padding:0 15px;flex-wrap:wrap;} .bg{display:flex;flex-direction:column;gap:3px;} .blr{display:flex;justify-content:space-between;align-items:center;gap:6px;} .bl2{font-size:9px;letter-spacing:2px;color:var(--dim);} .bv{font-size:9px;color:var(--tx);} .btrack{height:6px;background:#06040a;border-radius:1px;overflow:hidden;border:1px solid var(--br);} .bfill{height:100%;border-radius:1px;transition:width .12s;} #bf-hp{background:linear-gradient(90deg,#3a0808,#8b1a1a,#c03020);width:200px;} #bf-od{background:linear-gradient(90deg,var(--or),var(--or2),#d07010);width:130px;} #bf-ul{background:linear-gradient(90deg,#2a0f40,#5030a0,#8060c0);width:130px;} #bf-rg{background:linear-gradient(90deg,#083020,#106040,#18a060);width:130px;} #bt-hp{width:200px;}#bt-od{width:130px;}#bt-ul{width:130px;}#bt-rg{width:130px;} .hpanel{background:rgba(4,2,7,.92);border:1px solid var(--br);border-radius:1px;padding:7px 13px;display:flex;flex-direction:column;gap:2px;min-width:100px;box-shadow:inset 0 1px 0 rgba(255,200,100,.04);} .hpanel.ct{align-items:center;min-width:130px;} .hv{font-family:'Cinzel',serif;font-size:17px;color:#c0a070;letter-spacing:1px;} .hl{font-size:9px;letter-spacing:3px;color:var(--dim);text-transform:uppercase;} /* combo counter */ #combo-hud{position:absolute;top:50%;right:18px;transform:translateY(-50%);z-index:110;pointer-events:none;text-align:right;display:none;} #combo-val{font-family:'Cinzel',serif;font-size:clamp(28px,5vw,52px);font-weight:900;color:var(--g2);text-shadow:0 0 24px var(--g),0 0 48px rgba(212,160,23,.3);line-height:1;transition:transform .08s;} #combo-lbl{font-size:10px;letter-spacing:4px;color:var(--g);margin-top:4px;} #combo-mult{font-family:'Cinzel',serif;font-size:14px;color:var(--or2);letter-spacing:2px;} /* wave announce */ #wave-announce{ position:absolute;top:38%;left:50%;transform:translate(-50%,-50%); z-index:400;pointer-events:none;text-align:center;display:none; animation:waveIn .45s cubic-bezier(.17,.67,.4,1.4) forwards; } @keyframes waveIn{from{opacity:0;transform:translate(-50%,-50%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}} #wave-title{font-family:'Cinzel',serif;font-size:clamp(22px,5vw,58px);font-weight:900;color:#fff;letter-spacing:8px;text-shadow:0 0 40px var(--r),0 0 80px rgba(192,48,32,.5);} #wave-sub{font-size:clamp(9px,1.2vw,13px);letter-spacing:6px;color:var(--r2);margin-top:6px;} /* streak pop */ #streak-pop{ position:absolute;top:26%;left:50%;transform:translateX(-50%); z-index:400;pointer-events:none;display:none;text-align:center; } #streak-txt{font-family:'Cinzel',serif;font-size:clamp(18px,3vw,36px);font-weight:900;letter-spacing:5px;text-shadow:0 0 30px currentColor;} /* ── SKILL BAR ──────────────────── */ #skill-bar{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:none;gap:5px;align-items:flex-end;z-index:100;} .sk{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;} .skb{position:relative;width:62px;height:62px;background:var(--pan);border:1px solid var(--br);border-radius:2px;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;transition:border-color .18s,box-shadow .18s;} .skb.rdy{border-color:var(--bl2);box-shadow:0 0 10px rgba(0,212,255,.22);} .skb.ultb{width:74px;height:74px;} .skb.ultb.rdy{border-color:var(--pu2);box-shadow:0 0 14px rgba(188,0,255,.32);} .sk-k{font-family:'Cinzel',serif;font-size:12px;color:var(--bl2);font-weight:700;} .ultb .sk-k{color:var(--pu2);} .sk-n{font-size:8px;letter-spacing:1px;color:var(--dim);text-transform:uppercase;margin-top:1px;} .sk-ov{position:absolute;bottom:0;left:0;width:100%;height:0%;background:rgba(0,0,0,.72);} .sk-cd{position:absolute;font-family:'Cinzel',serif;font-size:15px;color:#fff;font-weight:700;} .sk-lbl{font-size:8px;letter-spacing:2px;color:var(--dim);} /* ── ELITE BAR ──────────────────── */ #elite-bar{position:absolute;bottom:92px;left:50%;transform:translateX(-50%);display:none;z-index:100;text-align:center;min-width:260px;} #elite-nm{font-family:'Cinzel',serif;font-size:10px;letter-spacing:4px;color:var(--or2);margin-bottom:5px;text-shadow:0 0 10px var(--or);} #elite-tr{width:260px;height:7px;background:#08040c;border-radius:1px;overflow:hidden;border:1px solid #201008;margin:0 auto;} #elite-fi{height:100%;background:linear-gradient(90deg,#500800,var(--or2));border-radius:1px;transition:width .1s;} /* ── OVERLAYS ───────────────────── */ .ov{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--pan);border:1px solid var(--br);border-top:1px solid rgba(200,150,10,.15);padding:32px 26px;display:none;z-index:200;min-width:300px;max-width:92vw;max-height:88vh;overflow-y:auto;border-radius:1px;box-shadow:0 30px 80px rgba(0,0,0,.85),0 0 0 1px rgba(200,150,10,.05);} .ov-tt{font-family:'Cinzel',serif;font-size:18px;letter-spacing:4px;color:var(--g2);margin-bottom:5px;} .ov-ds{font-size:11px;letter-spacing:1px;color:var(--dim);margin-bottom:20px;} .cg{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;} .card{background:rgba(8,5,12,.9);border:1px solid var(--br);border-top:1px solid rgba(200,150,10,.09);color:var(--tx);padding:15px 11px;cursor:pointer;border-radius:1px;width:136px;text-align:left;transition:all .17s;position:relative;overflow:hidden;} .card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(200,150,10,.2),transparent);} .card:hover{border-color:var(--r2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(100,20,10,.3);} .ctype{font-size:8px;letter-spacing:3px;color:var(--g2);margin-bottom:4px;text-transform:uppercase;} .cname{font-family:'Cinzel',serif;font-size:12px;color:#d4b070;margin-bottom:4px;} .cdesc{font-size:10px;color:var(--dim);line-height:1.5;} .rbtn{background:transparent;border:1px solid var(--br);color:var(--tx);padding:11px 26px;cursor:pointer;font-family:'Rajdhani',sans-serif;font-size:13px;letter-spacing:3px;border-radius:1px;transition:all .2s;margin-top:14px;display:block;width:100%;} .rbtn:hover{border-color:var(--r2);color:#d4b070;} /* ── ACHIEVEMENT ────────────────── */ #ach{position:absolute;top:76px;left:50%;transform:translateX(-50%);background:var(--pan);border:1px solid var(--g);padding:9px 20px;display:none;z-index:300;border-radius:2px;white-space:nowrap;text-align:center;} #ach-l{font-size:8px;letter-spacing:3px;color:var(--g);} #ach-t{font-family:'Cinzel',serif;font-size:12px;color:#fff;margin-top:3px;} /* ── NOTIFS ─────────────────────── */ #notifs{position:absolute;top:120px;right:13px;display:flex;flex-direction:column;gap:5px;z-index:150;pointer-events:none;} .nf{background:var(--pan);border-left:2px solid var(--r);padding:5px 11px;font-size:11px;letter-spacing:1px;border-radius:0 2px 2px 0;animation:nfIn .22s ease;} @keyframes nfIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}} /* ── PAUSE ───────────────────────── */ #pause-ov{ position:absolute;inset:0;z-index:500;display:none; align-items:center;justify-content:center;flex-direction:column; background:rgba(2,1,4,.82);backdrop-filter:blur(3px); } #pause-ov.show{display:flex;} .pause-box{ background:rgba(5,3,9,.97);border:1px solid var(--br);border-top:1px solid rgba(180,100,20,.12); padding:44px 52px;text-align:center;border-radius:1px; box-shadow:0 30px 80px rgba(0,0,0,.9),0 0 0 1px rgba(160,80,10,.04); animation:pauseIn .22s cubic-bezier(.17,.67,.4,1.3) forwards; } @keyframes pauseIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}} .pause-title{ font-family:'Cinzel',serif;font-size:clamp(18px,3vw,28px);font-weight:900; letter-spacing:8px;color:#8a5020;margin-bottom:6px; text-shadow:0 2px 12px rgba(80,30,8,.5); } .pause-sub{font-size:10px;letter-spacing:4px;color:#2a1508;margin-bottom:36px;text-transform:uppercase;} .pause-sep{width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(120,60,10,.25),transparent);margin:0 0 28px;} .pbtn{ display:block;width:100%;padding:14px 0;margin-bottom:10px; font-family:'Cinzel',serif;font-size:13px;letter-spacing:4px;font-weight:700; cursor:pointer;border-radius:1px;transition:all .2s cubic-bezier(.34,1.4,.64,1); position:relative;overflow:hidden; } .pbtn::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,200,100,.07),transparent);transform:translateX(-100%);transition:transform .5s;} .pbtn:hover::after{transform:translateX(100%);} .pbtn-continue{ background:#3a0e06;border:1px solid #5a1808;border-top:1px solid rgba(180,80,20,.18);color:#c09050; box-shadow:0 4px 22px rgba(50,10,4,.5); } .pbtn-continue:hover{background:#5a1808;border-color:#7a2010;color:#d4a860;transform:translateY(-2px);box-shadow:0 6px 28px rgba(70,14,5,.65);} .pbtn-retry{ background:transparent;border:1px solid var(--br);color:#3a1e0c; box-shadow:none; } .pbtn-retry:hover{border-color:#3a1008;color:#6a2810;transform:translateY(-2px);} .pbtn:active{transform:translateY(0);} .pause-hint{font-size:9px;letter-spacing:3px;color:#1e0e06;margin-top:18px;} /* OD FLASH */ #od-fl{position:absolute;inset:0;pointer-events:none;z-index:50;display:none;border:3px solid var(--or);box-shadow:inset 0 0 70px rgba(255,136,0,.18);} /* vignette */ #vignette{position:absolute;inset:0;z-index:10;pointer-events:none;background:radial-gradient(ellipse at center,transparent 50%,rgba(4,1,6,.7) 100%);} /* hit vignette */ #hit-vignette{position:absolute;inset:0;z-index:45;pointer-events:none;background:radial-gradient(ellipse at center,transparent 40%,rgba(180,20,10,0) 100%);opacity:0;transition:opacity .08s;}
Roguelite · Dark Fantasy · Action
THE CURSEDBOSS
OVERLORD EDITION · 2025
v2.1 ULTIMATE
0
SOULS
00:00
LV.1
♦♦♦
LIVES
HP1000
OVERDRIVE
ULTIMATE
DRAIN
0
COMBO
WAVE 1
PREPARE FOR BATTLE
R
DRAIN
Drain
Q
SUMMON
Summon
SPC
STOMP
Stomp
T
JUDG.
Ultimate
E
NOVA
Nova
ELITE
ACHIEVEMENT
LEVEL UP
Choose one upgrade.
PRICE OF EVOLUTION
Your body fell, but the abyss raises you again.
ETERNAL DEATH
All soul flames extinguished.
0
PAUSED
— game suspended —
ESC · RESUME