@import "https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap";:root{color:#e5e4de;font-synthesis:none;--gold:#d7b877;--muted:#91a0a6;--line:#55616a55;--game-width:1280px;--game-height:720px;background:#090e16;font-family:Noto Sans KR,Malgun Gothic,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline-offset:5px;outline:2px solid #f5d494}button{transition:background .16s,border-color .16s,transform .16s}button:active:not(:disabled){transform:translateY(1px)}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}small{font-size:12px}#game{justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}#game canvas{image-rendering:pixelated;flex:none;width:var(--game-width)!important;height:var(--game-height)!important}body[data-mode=menu] #game{visibility:hidden}#ui{pointer-events:none;position:absolute;inset:0}#ui button,#ui input,#ui a{pointer-events:auto}.pixel-icon{background-image:url(/assets/icons.webp);background-size:704px 32px;background-position:calc(var(--frame) * -32px) 0;width:32px;height:32px;image-rendering:pixelated;vertical-align:middle;flex-shrink:0;display:inline-block}.pixel-icon.big{background-size:1056px 48px;background-position:calc(var(--frame) * -48px) 0;width:48px;height:48px}.pixel-icon.huge{background-size:1408px 64px;background-position:calc(var(--frame) * -64px) 0;width:64px;height:64px}.portrait{background-image:url(/assets/actors.webp);background-size:1024px 128px;background-position:calc(var(--hero) * -64px) 0;width:64px;height:64px;image-rendering:pixelated;flex-shrink:0;display:inline-block}.portrait.large{background-size:2560px 320px;background-position:calc(var(--hero) * -160px) 0;filter:drop-shadow(0 10px 14px #0008);width:160px;height:160px;position:relative}.sanctuary{pointer-events:auto;background:#101824;grid-template-rows:auto 1fr auto;grid-template-columns:1fr 340px;gap:20px 40px;height:100%;padding:38px 5.5%;display:grid;position:relative;overflow:auto}.sanctuary:before{content:"";image-rendering:pixelated;opacity:.85;background:url(/assets/title.webp) 50%/cover;position:absolute;inset:0}.sanctuary:after{content:"";pointer-events:none;background:linear-gradient(90deg,#080e17ee 0%,#0a111ca8 35%,#0a111c22 68%,#0a111c55),linear-gradient(#0a111c33,#0000 68%,#080e17 100%);position:absolute;inset:0}.sanctuary>*{z-index:1;position:relative}.menu-header{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.wordmark{letter-spacing:2px;color:#c3c7c8;align-items:center;gap:13px;font-size:12px;font-weight:700;display:flex}.wordmark small{color:#71818d;letter-spacing:4px;margin-top:3px;font-size:10px;display:block}.header-right{align-items:center;gap:25px;display:flex}.wallet{align-items:center;gap:10px;display:flex}.wallet b{color:#eddbb7;font-size:18px}.wallet small{letter-spacing:2px;color:#819198;font-size:10px}.quiet-button{color:#bdc6c9;background:#10192588;border:1px solid #81929930;padding:9px 16px;font-size:12px}.quiet-button:hover{background:#243340;border-color:#b8c4c850}.intro{align-self:center;max-width:600px;padding-bottom:12px}.eyebrow{letter-spacing:2.5px;color:var(--gold);font-size:11px;font-weight:600}.intro .eyebrow{align-items:center;gap:12px;display:flex}.eyebrow>span{background:var(--gold);width:22px;height:1px}h1{letter-spacing:8px;color:#e3ded0;text-shadow:0 4px #101b26,0 9px 22px #0006;margin:25px 0 9px;font-size:clamp(64px,6.5vw,100px);font-weight:900;line-height:1.2}h1 span{color:#c5b58e;display:block}.intro-en{letter-spacing:8px;color:#99a6ac;font-size:13px}.gold-rule{background:var(--gold);width:48px;height:2px;margin:29px 0 22px}.intro-copy{color:#a8b2b6;letter-spacing:.5px;font-size:15px;line-height:1.95}.run-spec{color:#8a989f;align-items:center;gap:11px;margin:20px 0 25px;font-size:11px;display:flex}.run-spec i{background:#78838c;width:2px;height:2px}.start-button{color:#19212a;letter-spacing:.5px;background:#ceb37c;border:1px solid #ecd4a1;justify-content:space-between;align-items:center;width:310px;padding:17px 23px;font-size:15px;font-weight:800;display:flex;box-shadow:inset 0 0 0 3px #151a1b1a,0 8px 30px #0003}.start-button:hover:not(:disabled){background:#e7ca92;box-shadow:0 0 30px #ceb37c18}.start-button>span{font-size:21px;font-weight:400}.upgrade-link{color:#c6c3b9;background:0 0;border:0;align-items:center;gap:9px;padding:15px 0;font-size:13px;display:flex}.upgrade-link>span:last-child{color:#80919b;border-left:1px solid #5d717755;margin-left:4px;padding-left:10px;font-size:10px}.upgrade-link .pixel-icon{margin-left:-3px;transform:scale(.75)}.roster{background:linear-gradient(145deg,#18212dde,#0b131df2);border:1px solid #77818342;align-self:center;padding:23px 22px 19px;position:relative;box-shadow:0 15px 50px #050a1155}.roster:before,.roster:after{content:"";border-color:#a38d61;width:12px;height:12px;position:absolute}.roster:before{color:#a38d61;border-top:2px solid;border-left:2px solid;top:-1px;left:-1px}.roster:after{color:#a38d61;border-bottom:2px solid;border-right:2px solid;bottom:-1px;right:-1px}.panel-caption{letter-spacing:1px;color:#a7b0b5;justify-content:space-between;font-size:11px;display:flex}.panel-caption>span{color:#657983;font-size:10px}.hero-stage{justify-content:center;align-items:center;height:185px;margin:8px 0;display:flex;position:relative}.hero-halo{background:radial-gradient(ellipse, var(--hero-color), transparent 70%);opacity:.14;border:1px solid #75889624;border-radius:50%;position:absolute;inset:14px 54px 1px}.hero-halo:after{content:"";border:1px solid #a7b5ae;border-radius:50%;position:absolute;inset:13px}.locked-label{color:#c8c5bb;letter-spacing:2px;background:#0b131de0;border:1px solid #71829366;padding:5px 13px;font-size:10px;position:absolute;bottom:6px}.hero-description{text-align:center}.hero-description>small{letter-spacing:2px;color:var(--gold);font-size:10px}.hero-description h2{letter-spacing:3px;margin-top:5px;font-size:24px}.hero-description>p{color:#819198;margin:11px 0 15px;font-size:11px;line-height:1.6}.trait{color:#b3c8bc;background:#47615b12;border:1px solid #617c7844;padding:5px 11px;font-size:11px;display:inline-block}.starter{text-align:left;justify-content:center;align-items:center;gap:8px;margin:18px 0 20px;font-size:12px;display:flex}.starter small{color:#71858d;margin-bottom:2px;font-size:9px;display:block}.hero-picks{border-top:1px solid #81908e22;grid-template-columns:repeat(3,1fr);gap:7px;padding-top:16px;display:grid}.hero-pick{background:#111c29;border:1px solid #677e8230;flex-direction:column;align-items:center;padding:4px 4px 10px;display:flex;position:relative}.hero-pick .portrait{background-size:768px 96px;background-position:calc(var(--hero) * -48px) 0;width:48px;height:48px}.hero-pick>span:last-of-type{font-size:11px}.hero-pick small{color:#8b969b;margin-top:3px;font-size:9px}.hero-pick.selected{background:#c7ab7012;border-color:#c7ab70}.hero-pick:hover{border-color:#859390}.menu-footer{color:#7d8a94;border-top:1px solid #74808026;grid-column:1/-1;justify-content:space-between;gap:25px;padding-top:19px;font-size:10px;display:flex}.controls{align-items:center;gap:18px;display:flex}.controls>span{align-items:center;gap:4px;display:flex}kbd{color:#b3bfc1;background:#21313c4d;border:1px solid #7c8b9544;border-bottom-width:2px;justify-content:center;align-items:center;min-width:18px;height:19px;padding:1px 4px;font-family:inherit;font-size:9px;font-weight:500;display:inline-flex}.best-record{align-items:center;gap:9px;display:flex}.best-record b{color:#bac0bb;font-weight:500}.hud{width:var(--game-width);height:var(--game-height);background:radial-gradient(#0000 50%,#080e1835);max-width:100%;max-height:100%;padding:21px 25px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hud-top{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.vitals{align-items:center;gap:7px;min-width:230px;display:flex}.vitals .portrait{background-size:768px 96px;background-position:calc(var(--hero) * -48px) 0;filter:drop-shadow(0 3px 2px #000a);width:48px;height:48px}.vital-bars{width:177px}.health-label{text-shadow:0 2px 3px #000;justify-content:space-between;font-size:10px;display:flex}.health-label b{color:#e4d4b1;font-size:12px}.health-track,.experience-track{background:#090f1de6;border:1px solid #8a84836b;height:11px;margin-top:5px;padding:2px}.health-track i{background:#b46872;height:100%;display:block;box-shadow:inset 0 2px #d58a82}.experience-track{border-color:#76878755;height:5px;margin-top:4px;padding:1px}.experience-track i{background:#9cc0b4;height:100%;display:block}.vital-bars>small{color:#b8c9c7;text-shadow:0 2px 3px #000;margin-top:4px;font-size:10px;display:block}.timer{text-align:center;background:#0b141bc4;border:1px solid #7a898a36;min-width:106px;padding:7px 19px 10px}.timer small{color:#97a8ac;letter-spacing:2px;font-size:9px;display:block}.timer strong{color:#edddb8;letter-spacing:3px;font-variant-numeric:tabular-nums;font-size:24px;font-weight:600}.combat-meta{color:#c1ccc8;text-shadow:0 2px 2px #000;align-items:center;gap:18px;font-size:12px;display:flex}.combat-meta b{color:#eadab5;margin-left:9px}.combat-meta .quiet-button{padding:8px 10px;font-size:10px}.combat-meta kbd{margin-left:6px}.boss-bar{text-align:center;color:#e7b1a9;text-shadow:0 2px #111;width:300px;font-size:11px;position:absolute;top:100px;left:50%;transform:translate(-50%)}.boss-bar[hidden]{display:none}.boss-bar>div{background:#161823;border:1px solid #966a735e;height:7px;margin-top:7px;padding:1px}.boss-bar i{background:#b36980;height:100%;display:block}.loadout{align-items:flex-end;gap:17px;display:flex;position:absolute;bottom:23px;left:50%;transform:translate(-50%)}.loadout-group{gap:5px;display:flex;position:relative}.loadout-group>small{color:#9eafb2;letter-spacing:2px;text-shadow:0 1px #000;font-size:9px;position:absolute;top:-18px}.loadout-slot{background:#101b29e6;border:1px solid #8e9d9c80;justify-content:center;align-items:center;width:45px;height:45px;display:flex;position:relative;box-shadow:inset 0 0 0 3px #050c1640}.loadout-slot b{color:#e8d5a7;text-shadow:0 1px #000;font-size:9px;position:absolute;bottom:2px;right:3px}.loadout-slot.empty{background:#0c1523aa;border-color:#5a6c7555}.in-game-hint{color:#a3b0b7;text-shadow:0 1px 3px #000;font-size:10px;position:absolute;bottom:27px;left:26px}.in-game-hint span{padding:0 9px}.modal-shade{pointer-events:auto;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080e17c9;justify-content:center;align-items:center;padding:30px;display:flex;position:absolute;inset:0}.modal{background:linear-gradient(140deg,#1c2733,#101923);border:1px solid #87918a50;width:min(720px,100%);padding:32px;position:relative;box-shadow:0 22px 100px #0007}.modal h2{letter-spacing:1px;margin:10px 0;font-size:24px}.modal p{color:#8fa0aa;font-size:12px;line-height:1.9}.modal-heading{justify-content:space-between;align-items:flex-start;display:flex}.close{color:#9faeb4;background:#28384655;border:1px solid #71848c44;width:32px;height:32px;font-size:22px}.upgrade-wallet{color:#81939a;align-items:center;gap:9px;margin:22px 0;font-size:12px;display:flex}.upgrade-wallet b{color:#ddc797;font-size:22px}.upgrade-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.upgrade-card{background:#0c172240;border:1px solid #62778350;grid-template-columns:48px 1fr;gap:14px 10px;padding:18px 13px;display:grid}.upgrade-card h3{color:#d8d8cb;margin:3px 0 4px;font-size:13px}.upgrade-card p{font-size:11px}.upgrade-card p b{color:#c2b484}.rank-pips{gap:4px;margin-top:11px;display:flex}.rank-pips i{background:#3b4b57;width:15px;height:4px}.rank-pips i.filled{background:#d5bc84}.upgrade-card button{color:#dcc38f;background:#89794718;border:1px solid #a89b7366;grid-column:1/-1;padding:9px;font-size:12px}.upgrade-card button:hover:not(:disabled){background:#a48d5140}.modal-note{color:#778c96!important;margin-top:21px!important;font-size:10px!important}.settings-modal{width:440px}.settings-modal label{justify-content:space-between;gap:15px;margin:26px 0;font-size:13px;display:flex}.settings-modal input{accent-color:#d7b877;width:230px}.pause-modal{text-align:center;width:450px;padding:40px}.pause-modal h2{font-size:22px}.pause-modal .start-button{width:100%;margin:28px 0 10px}.pause-modal small{color:#778b96;margin-top:20px;font-size:10px;line-height:1.7;display:block}.secondary-button{color:#b8c6c8;background:#15212c;border:1px solid #6c7c8655;width:100%;padding:12px 20px;font-size:12px}.secondary-button:hover{background:#263540}.level-modal{width:min(1000px,100%)}.level-heading{text-align:center;margin-bottom:32px}.level-heading .eyebrow{letter-spacing:4px;font-size:14px}.level-heading h2{color:#ebe2cf;letter-spacing:1px;margin:12px 0 10px;font-size:28px}.level-heading p{letter-spacing:1px;color:#92a4aa;font-size:12px}.choice-grid{justify-content:center;gap:18px;display:flex}.choice-card{text-align:left;background:linear-gradient(160deg,#24323cf2,#121c29f5);border:1px solid #76858a77;flex-direction:column;flex:1;align-items:flex-start;max-width:310px;min-height:330px;padding:21px 23px;display:flex;box-shadow:0 12px 45px #0004}.choice-card:hover,.choice-card:focus-visible{border-color:var(--card-color);background:linear-gradient(160deg,#35444d,#142230);transform:translateY(-5px)}.choice-type{letter-spacing:1px;color:#9bacb0;justify-content:space-between;align-items:center;width:100%;font-size:10px;display:flex}.choice-type kbd{color:var(--card-color)}.choice-card .huge{filter:drop-shadow(0 0 15px #ffffff12);margin:19px auto 17px}.choice-new{letter-spacing:1px;color:var(--card-color);font-size:10px}.choice-card h3{color:#e5e4d9;margin:6px 0 11px;font-size:21px}.choice-card p{color:#a1b0b5;min-height:47px;font-size:12px;line-height:1.9}.choice-card>small{color:#788f99;margin:10px 0 21px;font-size:10px;line-height:1.7}.choice-cta{width:100%;color:var(--card-color);border-top:1px solid #a1b3b62b;justify-content:space-between;margin-top:auto;padding-top:14px;font-size:12px;display:flex}.selection-hint{color:#798f98;justify-content:center;align-items:center;gap:5px;margin-top:25px;font-size:10px;display:flex}.selection-hint kbd:last-of-type{margin-right:8px}.result-modal{text-align:center;width:600px;padding:42px}.result-modal h2{margin:14px 0 11px;font-size:25px}.result-stats{border-top:1px solid #71858e33;border-bottom:1px solid #71858e33;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0;padding:24px 0;display:grid}.result-stats small{letter-spacing:1px;color:#92a6ad;font-size:10px;display:block}.result-stats strong{color:#d8d8c7;margin-top:8px;font-size:28px;font-weight:600;display:block}.result-gold{color:#a6b6b8;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.result-gold strong{color:#e4c68b;font-size:25px}.result-skills{justify-content:center;gap:8px;margin:20px 0 25px;display:flex}.result-skills>span{background:#0c172477;border:1px solid #4f697455;padding:4px;position:relative}.result-skills small{color:#e3cc8e;font-size:9px;position:absolute;bottom:1px;right:2px}.result-modal .start-button{width:100%;margin-bottom:11px}.notice{color:#ddcda1;text-align:center;z-index:9;background:#2e2b22f2;border:1px solid #86724a;padding:10px 15px;font-size:11px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.notice.error{background:#402b2f;top:5px;bottom:auto}.qa-panel{z-index:100;pointer-events:auto;background:#081522eb;border:1px solid #53798c;flex-wrap:wrap;gap:5px;max-width:500px;padding:7px;font-size:10px;display:flex;position:absolute;bottom:3px;right:3px}.qa-panel button{background:#263949;border:1px solid #546b7a;padding:5px;font-size:10px}.qa-panel>span{color:#b7d0ba;width:100%}.qa-panel>b{color:#d9bc8b;width:100%}@media (min-width:1600px){.sanctuary{grid-template-columns:1fr 380px;padding:45px 8%}.roster{padding:28px}.hero-stage{height:210px}.intro{padding-left:2vw}.intro-copy{font-size:17px}.menu-footer{font-size:12px}.controls{gap:25px}}@media (max-height:800px){.sanctuary{gap:12px 35px;padding-top:22px;padding-bottom:20px}.intro h1{margin-top:16px;font-size:68px}.gold-rule{margin:20px 0 16px}.intro-copy{font-size:13px}.run-spec{margin:14px 0 20px}.roster{padding:17px 19px}.hero-stage{height:145px;margin:4px 0}.portrait.large{transform:scale(.9)}.hero-description>p{margin:8px 0 10px}.starter{margin:12px 0 15px}.menu-footer{padding-top:12px}.modal{padding:25px}.choice-card{min-height:300px}.level-heading{margin-bottom:20px}.result-modal{padding:28px 35px}.result-stats{margin:20px 0;padding:18px 0}}@media (max-width:1000px){.sanctuary{grid-template-columns:1fr 280px;gap:15px 20px;padding-left:30px;padding-right:30px}.roster{padding:17px}.intro h1{font-size:63px}.intro .eyebrow{letter-spacing:1.5px;font-size:9px}.best-record{display:none}.combat-meta .quiet-button{padding:6px;font-size:9px}.combat-meta{gap:6px}.vitals{min-width:200px}.vital-bars{width:140px}.hud{padding:12px}.loadout{bottom:17px}.loadout-slot{width:36px;height:36px}.in-game-hint{display:none}.choice-card{min-height:290px;padding:15px}.choice-card h3{font-size:17px}.choice-card p{font-size:11px}.level-heading h2{font-size:22px}.choice-grid{gap:10px}}@media (max-width:680px){body{overflow:auto}.sanctuary{grid-template-rows:auto auto auto auto;grid-template-columns:1fr;min-height:800px;padding:22px}.intro{text-align:center;max-width:none}.intro .eyebrow{justify-content:center}.intro h1{font-size:54px}.intro h1 span{display:inline}.intro-en{font-size:10px}.gold-rule{margin:15px auto}.intro-copy{font-size:12px}.run-spec{justify-content:center}.start-button{width:100%;margin:auto}.upgrade-link{margin:auto}.roster{justify-self:center;width:100%;max-width:340px}.hero-stage,.hero-description>p,.starter{display:none}.hero-description h2{font-size:18px}.hero-description .trait{margin-top:8px}.hero-picks{margin-top:12px}.menu-footer{grid-column:1;justify-content:center}.wordmark{font-size:10px}.header-right{gap:8px}.wallet small{display:none}.wallet b{font-size:13px}.modal-shade{padding:12px}.upgrade-grid{grid-template-columns:1fr}.level-heading h2{font-size:18px}.choice-card{padding:10px}.choice-card .huge{margin:5px auto;transform:scale(.75)}.selection-hint{font-size:8px}.choice-card>small{display:none}.result-modal h2{font-size:19px}}
