:root{--bg-0: #0d0d10;--bg-1: #14141a;--bg-2: #1a1a22;--ink: #e8e4d8;--ink-dim: #b8b2a3;--ink-faint: #8a8578;--ink-muted: #524e44;--accent: #a8c0d4;--accent-dim: #6e8299;--rule: #2a2a32;--parchment-glow: rgba(232, 228, 216, .04);--sketch-speed: 1;--font-title: "Cormorant Garamond", "EB Garamond", Georgia, serif;--font-body: "EB Garamond", Georgia, serif;--font-mono: "JetBrains Mono", "IBM Plex Mono", monospace;--cx: 50vw;--cy: 50vh;--flick: 1}.landing-page{min-height:100vh;font-family:var(--font-body);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;background:radial-gradient(ellipse at 50% -10%,rgba(168,192,212,.05),transparent 60%),radial-gradient(ellipse at 50% 110%,rgba(168,192,212,.03),transparent 60%),var(--bg-0);color:var(--ink)}.lp-grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0px,rgba(255,255,255,.012) 1px,transparent 1px,transparent 3px),repeating-linear-gradient(90deg,rgba(255,255,255,.008) 0px,rgba(255,255,255,.008) 1px,transparent 1px,transparent 4px);mix-blend-mode:screen;opacity:.7}.lp-cursor-shadow{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;background:radial-gradient(circle 640px at var(--cx) var(--cy),rgba(0,0,0,0) 0%,rgba(0,0,0,.12) 55%,rgba(0,0,0,.28) 100%);mix-blend-mode:multiply}#lp-embers{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}#lp-candle-glow{position:fixed;top:0;left:0;width:720px;height:720px;pointer-events:none;z-index:9998;mix-blend-mode:screen;will-change:transform;background:radial-gradient(circle at 50% 50%,rgba(255,198,130,.2) 0%,rgba(245,175,105,.13) 14%,rgba(210,155,90,.07) 32%,rgba(170,192,210,.03) 56%,transparent 72%);filter:blur(2px)}#lp-oil-lamp{position:fixed;top:0;left:0;width:64px;height:84px;pointer-events:none;z-index:9999;will-change:transform;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 84 110' fill='none'><defs><radialGradient id='flame' cx='50%25' cy='30%25' r='55%25'><stop offset='0%25' stop-color='%23fff4d4' stop-opacity='1'/><stop offset='35%25' stop-color='%23ffc878' stop-opacity='0.95'/><stop offset='75%25' stop-color='%23e07a2c' stop-opacity='0.5'/><stop offset='100%25' stop-color='%23a3441a' stop-opacity='0'/></radialGradient><linearGradient id='brass' x1='0' x2='0' y1='0' y2='1'><stop offset='0%25' stop-color='%23c8a36a'/><stop offset='40%25' stop-color='%238a6a3e'/><stop offset='100%25' stop-color='%234a3520'/></linearGradient><linearGradient id='globe' x1='0' x2='0' y1='0' y2='1'><stop offset='0%25' stop-color='%23ffd58a' stop-opacity='0.7'/><stop offset='65%25' stop-color='%23c88040' stop-opacity='0.5'/><stop offset='100%25' stop-color='%23704020' stop-opacity='0.65'/></linearGradient></defs><path d='M 38 6 Q 42 0 46 6' stroke='%237a5a36' stroke-width='1.5' fill='none'/><path d='M 32 10 L 52 10 L 50 16 L 34 16 Z' fill='url(%23brass)' stroke='%23241608' stroke-width='0.6'/><path d='M 30 16 Q 28 28 30 42 Q 30 54 36 60 L 48 60 Q 54 54 54 42 Q 56 28 54 16 Z' fill='url(%23globe)' stroke='%23241608' stroke-width='0.7'/><ellipse cx='42' cy='38' rx='10' ry='16' fill='url(%23flame)'/><line x1='42' y1='52' x2='42' y2='46' stroke='%23241608' stroke-width='0.8'/><path d='M 42 30 Q 38 38 40 46 Q 42 50 44 46 Q 46 38 42 30 Z' fill='%23ffe6a8' opacity='0.92'/><path d='M 28 60 L 56 60 L 60 76 Q 60 82 54 84 L 30 84 Q 24 82 24 76 Z' fill='url(%23brass)' stroke='%23241608' stroke-width='0.7'/><path d='M 30 64 L 54 64' stroke='%23e0c084' stroke-width='0.6' opacity='0.6'/><path d='M 30 84 L 54 84 L 52 92 L 32 92 Z' fill='%23231408' stroke='%23241608' stroke-width='0.5'/></svg>");background-repeat:no-repeat;background-size:contain;filter:drop-shadow(0 3px 5px rgba(0,0,0,.7))}@media(hover:none){#lp-candle-glow,#lp-oil-lamp{display:none}}@media(hover:hover){.landing-page,.landing-page a,.landing-page button,.landing-page [role=button]{cursor:none}.landing-page input,.landing-page textarea,.landing-page select,.landing-page .begin-card{cursor:auto}.landing-page .begin-card a,.landing-page .begin-card button{cursor:pointer}}.nx-logo-link{position:fixed;top:18px;left:18px;width:64px;height:64px;display:block;z-index:9000;text-decoration:none;isolation:isolate;cursor:pointer!important;transition:transform .24s cubic-bezier(.2,.7,.2,1)}.nx-logo-link:hover{transform:scale(1.06)}.nx-logo-link:focus-visible{outline:1px solid rgba(255,220,170,.6);outline-offset:6px}.nx-logo-img{position:relative;width:100%;height:100%;display:block;z-index:2;filter:drop-shadow(0 0 3px rgba(255,220,170,.14));pointer-events:none}.nx-logo-glow{position:absolute;top:-55px;right:-55px;bottom:-55px;left:-55px;z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(255,220,170,.22) 0%,rgba(245,195,130,.14) 22%,rgba(220,170,110,.07) 44%,rgba(180,140,90,.03) 64%,transparent 80%);filter:blur(3px);transform-origin:50% 50%;animation:nxFlicker 3.7s ease-in-out infinite;mix-blend-mode:screen;will-change:opacity,transform}@keyframes nxFlicker{0%{opacity:.85;transform:scale(1)}9%{opacity:.7;transform:scale(.985)}17%{opacity:.95;transform:scale(1.02)}24%{opacity:.62;transform:scale(.97)}33%{opacity:.88;transform:scale(1.01)}42%{opacity:.74;transform:scale(.99)}53%{opacity:.96;transform:scale(1.025)}61%{opacity:.66;transform:scale(.98)}70%{opacity:.9;transform:scale(1.012)}79%{opacity:.78;transform:scale(.995)}88%{opacity:.94;transform:scale(1.015)}to{opacity:.85;transform:scale(1)}}@media(max-width:720px){.nx-logo-link{width:48px;height:48px;top:12px;left:12px}.nx-logo-glow{top:-40px;right:-40px;bottom:-40px;left:-40px}}.landing-page .hero-title,.landing-page .hero-sub,.landing-page .hero-prose p,.landing-page .section-title,.landing-page .section-sub,.landing-page .section-eyebrow,.landing-page .character-name,.landing-page .character-role,.landing-page .character-prose p,.landing-page .character-quote,.landing-page .character-caption,.landing-page .character-initial,.landing-page .cta,.landing-page .begin-foot,.landing-page .hero-eyebrow,.landing-page footer p{background-image:radial-gradient(circle 420px at var(--lcx, 50%) var(--lcy, 50%),rgba(255,248,232,1) 0%,rgba(232,228,216,.96) 18%,rgba(170,164,150,.92) 50%,rgba(118,114,104,.88) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.landing-page .hero-eyebrow,.landing-page .section-eyebrow,.landing-page .character-initial,.landing-page .character-caption,.landing-page .begin-foot,.landing-page .foot-license,.landing-page footer p,.landing-page .tabs button,.landing-page .field label{background-image:radial-gradient(circle 320px at var(--lcx, 50%) var(--lcy, 50%),rgba(220,214,200,.95) 0%,rgba(160,154,140,.9) 30%,rgba(110,106,96,.85) 70%,rgba(82,78,70,.85) 100%)}.landing-page .hero-title em,.landing-page .character-initial,.landing-page .character-role,.landing-page .hero-prose:first-letter,.landing-page .character-quote:before,.landing-page .character-quote:after{-webkit-text-fill-color:initial;color:var(--accent);background:none}.landing-page .hero-title,.landing-page .section-title,.landing-page .character-name{--sx: calc((50vw - var(--cx, 50vw)) * .012);--sy: calc((50vh - var(--cy, 50vh)) * .012);filter:drop-shadow(calc(var(--sx) * 1px) calc(var(--sy) * 1px) 6px rgba(0,0,0,.55)) drop-shadow(calc(var(--sx) * .4px) calc(var(--sy) * .4px) 2px rgba(0,0,0,.35))}.landing-page .character-prose p,.landing-page .hero-prose p,.landing-page .section-sub,.landing-page .hero-sub,.landing-page .character-quote{--sx: calc((50vw - var(--cx, 50vw)) * .006);--sy: calc((50vh - var(--cy, 50vh)) * .006);filter:drop-shadow(calc(var(--sx) * 1px) calc(var(--sy) * 1px) 3px rgba(0,0,0,.35))}.landing-page .lp-page{position:relative;z-index:3}.landing-page section{position:relative}.landing-page .hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 32px 64px;text-align:center;position:relative}.landing-page .hero-ornament{color:var(--ink-muted);width:min(320px,60%);margin-bottom:28px;opacity:.7}.landing-page .hero-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 18px}.landing-page .hero-title{font-family:var(--font-title);font-weight:400;font-size:clamp(56px,10vw,132px);line-height:.95;letter-spacing:.01em;margin:0;color:var(--ink);position:relative;text-shadow:0 0 40px rgba(168,192,212,.08);animation:lpFlicker 7s ease-in-out infinite}.landing-page .hero-title em{font-style:italic;color:var(--accent);font-weight:300}.landing-page .hero-title .of{font-family:var(--font-body);font-style:italic;font-size:.55em;color:var(--ink-faint);display:block;margin:.1em 0;letter-spacing:.12em}@keyframes lpFlicker{0%,to{opacity:1;text-shadow:0 0 40px rgba(168,192,212,.08)}43%{opacity:.94;text-shadow:0 0 30px rgba(168,192,212,.04)}48%{opacity:1;text-shadow:0 0 50px rgba(168,192,212,.12)}62%{opacity:.97}72%{opacity:.92;text-shadow:0 0 28px rgba(168,192,212,.05)}74%{opacity:1}}.landing-page .hero-rule{width:200px;height:1px;background:linear-gradient(90deg,transparent,var(--ink-muted),transparent);margin:36px 0 28px;opacity:.8}.landing-page .hero-sub{font-family:var(--font-title);font-style:italic;font-size:clamp(18px,2vw,24px);color:var(--ink-dim);max-width:640px;margin:0 0 44px;letter-spacing:.02em}.landing-page .cta{position:relative;display:inline-block;padding:18px 44px;background-color:transparent;border:1px solid var(--ink-muted);color:var(--ink);font-family:var(--font-title);font-size:18px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;cursor:pointer;overflow:hidden;transition:letter-spacing .5s ease,color .4s ease,border-color .4s ease}.landing-page .cta:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,rgba(168,192,212,.18),transparent 70%);opacity:0;transition:opacity .6s ease;pointer-events:none}.landing-page .cta:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--accent);opacity:0;transform:scale(1.08);transition:opacity .4s ease,transform .5s cubic-bezier(.4,.1,.2,1);pointer-events:none}.landing-page .cta:hover{color:var(--accent);border-color:var(--accent-dim);letter-spacing:.28em}.landing-page .cta:hover:before{opacity:1}.landing-page .cta:hover:after{opacity:.5;transform:scale(1)}.landing-page .cta .cta-mark{display:inline-block;margin:0 14px;color:var(--ink-faint);transition:color .4s ease,transform .5s ease}.landing-page .cta:hover .cta-mark{color:var(--accent);transform:translateY(-1px)}.landing-page .hero-prose{margin-top:72px;max-width:680px;font-family:var(--font-body);font-size:19px;line-height:1.85;color:var(--ink-dim);text-align:left;padding:0 8px}.landing-page .hero-prose:first-letter{font-family:var(--font-title);font-size:5.2em;line-height:.85;float:left;padding:.08em .12em 0 0;color:var(--accent);font-weight:400;font-style:italic}.landing-page .hero-prose>p:first-child{display:flow-root;padding-bottom:.4em}.landing-page .hero-scroll-hint{margin-top:72px;color:var(--ink-faint);font-family:var(--font-mono);font-size:10px;letter-spacing:.4em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:16px;animation:lpBreathe 4s ease-in-out infinite}@keyframes lpBreathe{0%,to{opacity:.5}50%{opacity:1}}.landing-page .hero-scroll-hint svg{color:var(--ink-faint)}.landing-page .section-eyebrow{text-align:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.44em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:14px}.landing-page .section-title{text-align:center;font-family:var(--font-title);font-weight:300;font-style:italic;font-size:clamp(36px,5vw,56px);margin:0 0 12px;color:var(--ink);letter-spacing:.01em}.landing-page .section-rule{width:100px;height:1px;background:var(--ink-muted);margin:0 auto 20px;opacity:.7}.landing-page .section-sub{text-align:center;font-style:italic;color:var(--ink-dim);max-width:560px;margin:0 auto 72px}.landing-page .characters{padding:140px 32px 120px;max-width:1240px;margin:0 auto}.landing-page .character{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:80px 0;border-bottom:1px solid var(--rule)}.landing-page .character:last-child{border-bottom:none}.landing-page .character.reverse{direction:rtl}.landing-page .character.reverse>*{direction:ltr}.landing-page .character-art{position:relative}.landing-page .sketch-portrait{aspect-ratio:1;width:100%;max-width:460px;margin:0 auto;position:relative;color:var(--ink-dim);outline:1px solid var(--rule);outline-offset:8px}.landing-page .sketch-portrait:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 75% 75% at 50% 50%,#0000 25%,#0000008c 55%,#000000e0 80%,#000000fa);mix-blend-mode:multiply;z-index:1}.landing-page .sketch-portrait:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle 360px at var(--lcx, 50%) var(--lcy, 50%),rgba(255,220,170,.45) 0%,rgba(245,195,130,.3) 18%,rgba(220,170,110,.15) 38%,rgba(180,165,140,.05) 60%,transparent 78%);mix-blend-mode:screen;z-index:2}.landing-page .sketch-portrait-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;opacity:var(--mask-opacity, 1);transition:opacity .24s ease-out}.landing-page .sketch-portrait-corners{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.landing-page .character-caption{text-align:center;margin-top:18px;font-family:var(--font-title);font-style:italic;color:var(--ink-faint);font-size:14px;letter-spacing:.1em}.landing-page .character-prose{opacity:0;transform:translateY(24px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.landing-page .character-prose.revealed{opacity:1;transform:translateY(0)}.landing-page .character-name-group{display:flex;align-items:baseline;margin:0 0 6px}.landing-page .character-initial{font-family:var(--font-title);font-style:italic;font-weight:300;font-size:clamp(56px,10vw,132px);line-height:1;color:var(--accent);margin:0;letter-spacing:0;text-transform:none}.landing-page .character-name{font-family:var(--font-title);font-weight:400;font-size:clamp(40px,4vw,58px);line-height:1;margin:0;color:var(--ink);letter-spacing:.005em}.landing-page .character-role{font-family:var(--font-title);font-style:italic;color:var(--accent);font-size:18px;margin:0 0 24px;letter-spacing:.08em}.landing-page .character-prose p{color:var(--ink-dim);font-size:18px;line-height:1.8;margin:0 0 1.25em}.landing-page .character-prose p+p{margin-top:.6em}.landing-page .character-quote{margin-top:28px;padding:18px 0 18px 24px;border-left:1px solid var(--ink-muted);font-family:var(--font-title);font-style:italic;font-size:17px;color:var(--ink-dim)}.landing-page .character-quote:before{content:"“";font-size:2.2em;line-height:0;vertical-align:-.2em;color:var(--accent);margin-right:4px}.landing-page .character-quote:after{content:"”";color:var(--accent);margin-left:2px}.landing-page .world{padding:140px 32px;max-width:1360px;margin:0 auto}.landing-page .world-map-wrap{position:relative;color:var(--ink-dim);padding:36px;background:radial-gradient(ellipse at center,rgba(232,228,216,.02),transparent 70%),linear-gradient(180deg,#14141a99,#0e0e1299);border:1px solid var(--rule);box-shadow:0 0 80px #0006 inset}.landing-page .world-map-svg{width:100%;height:auto;display:block;opacity:var(--mask-opacity, 1);transition:opacity .24s ease-out}.landing-page .map-title{font-family:var(--font-title);font-style:italic;font-size:26px;fill:var(--ink);letter-spacing:.2em}.landing-page .map-subtitle{font-family:var(--font-title);font-style:italic;font-size:12px;fill:var(--ink-faint);letter-spacing:.15em}.landing-page .map-region{font-family:var(--font-title);font-style:italic;font-size:14px;fill:var(--ink-dim);letter-spacing:.1em}.landing-page .map-sea{fill:var(--accent-dim)}.landing-page .map-place{font-family:var(--font-title);font-style:italic;font-size:10px;fill:var(--ink-faint);letter-spacing:.08em}.landing-page .map-route-label{font-family:var(--font-mono);font-size:8px;fill:var(--accent);letter-spacing:.2em;text-transform:uppercase}.landing-page .compass-letter{font-family:var(--font-title);font-size:11px;fill:var(--ink-faint);font-style:italic}.landing-page .map-scale{font-family:var(--font-title);font-size:10px;fill:var(--ink-faint);font-style:italic}.landing-page .begin{padding:140px 32px 120px;max-width:560px;margin:0 auto;text-align:center}.landing-page .begin-card{margin-top:48px;padding:48px 40px;border:1px solid var(--rule);background:linear-gradient(180deg,#14141acc,#0e0e12cc);position:relative}.landing-page .begin-card:before,.landing-page .begin-card:after{content:"";position:absolute;left:50%;width:40px;height:1px;background:var(--ink-muted);transform:translate(-50%)}.landing-page .begin-card:before{top:-1px}.landing-page .begin-card:after{bottom:-1px}.landing-page .tabs{display:flex;justify-content:center;gap:28px;margin-bottom:32px;font-family:var(--font-mono);font-size:11px;letter-spacing:.4em;text-transform:uppercase}.landing-page .tabs button{background:none;border:none;color:var(--ink-faint);cursor:pointer;padding:6px 0;border-bottom:1px solid transparent;font:inherit;letter-spacing:inherit;text-transform:inherit}.landing-page .tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.landing-page .field{margin-bottom:20px;text-align:left}.landing-page .field label{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;background-image:none!important;-webkit-text-fill-color:var(--ink)!important;color:var(--ink);margin-bottom:8px;text-shadow:0 0 8px rgba(10,10,14,.95),0 0 2px rgba(10,10,14,.95)}.landing-page .field input{width:100%;padding:12px 0;border:none;border-bottom:1px solid var(--ink-muted);background:transparent;color:var(--ink);font-family:var(--font-title);font-size:18px;outline:none;transition:border-color .3s ease}.landing-page .field input:focus{border-bottom-color:var(--accent)}.landing-page .submit{margin-top:16px;width:100%;padding:16px 0;background:transparent;border:1px solid var(--ink-muted);color:var(--ink);font-family:var(--font-title);font-size:16px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:all .4s ease}.landing-page .submit:hover{color:var(--accent);border-color:var(--accent-dim);letter-spacing:.28em}.landing-page .begin-foot{margin-top:20px;font-size:13px;color:var(--ink-faint);font-style:italic}.landing-page .begin-foot a{color:var(--accent-dim);text-decoration:none;border-bottom:1px solid var(--rule)}.landing-page .begin-error{margin-top:12px;font-family:var(--font-mono);font-size:12px;letter-spacing:.05em;color:#c87a60;-webkit-text-fill-color:#c87a60;background:none}.landing-page footer{padding:80px 32px 56px;border-top:1px solid var(--rule);text-align:center;font-size:13px;color:var(--ink-faint)}.landing-page footer .foot-ornament{color:var(--ink-muted);width:120px;margin:0 auto 20px;opacity:.7}.landing-page footer p{margin:6px 0}.landing-page footer a{color:var(--ink-dim);text-decoration:none;border-bottom:1px solid var(--rule)}.landing-page footer a:hover{color:var(--accent);border-bottom-color:var(--accent-dim)}.landing-page .foot-license{margin-top:16px;font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;color:var(--ink-muted);max-width:560px;margin-left:auto;margin-right:auto;line-height:1.8}@media(max-width:860px){.landing-page .character{grid-template-columns:1fr;gap:40px;padding:56px 0}.landing-page .character.reverse{direction:ltr}.landing-page .character-prose{text-align:left}.landing-page .characters{padding:80px 20px}.landing-page .world{padding:80px 16px}.landing-page .hero{padding:60px 20px 40px}.landing-page .hero-prose{padding:0}.landing-page .begin{padding:80px 20px}}.landing-page .reveal{opacity:0;transform:translateY(20px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.landing-page .reveal.revealed{opacity:1;transform:translateY(0)}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/games/HeartOfVirtue/assets/eb-garamond-cyrillic-ext-400-normal-CBMNjBwz.woff2) format("woff2"),url(/games/HeartOfVirtue/assets/eb-garamond-cyrillic-ext-400-normal-DvVFcYIV.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/games/HeartOfVirtue/assets/eb-garamond-cyrillic-400-normal-DLFur4M8.woff2) format("woff2"),url(/games/HeartOfVirtue/assets/eb-garamond-cyrillic-400-normal-Cgupd8z3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/games/HeartOfVirtue/assets/eb-garamond-greek-ext-400-normal-xgh5yVqR.woff2) format("woff2"),url(/games/HeartOfVirtue/assets/eb-garamond-greek-ext-400-normal-m3zVZPMF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/games/HeartOfVirtue/assets/eb-garamond-greek-400-normal-Bd9qxgO7.woff2) format("woff2"),url(/games/HeartOfVirtue/assets/eb-garamond-greek-400-normal-Co9-8-br.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/games/HeartOfVirtue/assets/eb-garamond-vietnamese-400-normal-CfDT8MMM.woff2) format("woff2"),url(/games/HeartOfVirtue/assets/eb-garamond-vietnamese-400-normal-yoRrTn3C.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/games/HeartOfVirtue/assets/eb-garamond-latin-ext-400-normal-8a_ZZ2Qq.woff2) format("woff2"),url(/games/HeartOfVirtue/assets/eb-garamond-latin-ext-400-normal-Ckqal4CG.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/games/HeartOfVirtue/assets/eb-garamond-latin-400-normal-DSJrtJSV.woff2) format("woff2"),url(/games/HeartOfVirtue/assets/eb-garamond-latin-400-normal-zgGxM6DR.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/games/HeartOfVirtue/assets/eb-garamond-cyrillic-ext-600-normal-DazFskEt.woff2) format("woff2"),url(/games/HeartOfVirtue/assets/eb-garamond-cyrillic-ext-600-normal-D_ymHnfD.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/games/HeartOfVirtue/assets/eb-garamond-cyrillic-600-normal-B9A__SKD.woff2) format("woff2"),url(/games/HeartOfVirtue/assets/eb-garamond-cyrillic-600-normal-DufMTKI9.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/games/HeartOfVirtue/assets/eb-garamond-greek-ext-600-normal-Snx9Wt8T.woff2) format("woff2"),url(/games/HeartOfVirtue/assets/eb-garamond-greek-ext-600-normal-9O-NAWHX.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/games/HeartOfVirtue/assets/eb-garamond-greek-600-normal-CyqIHpYl.woff2) format("woff2"),url(/games/HeartOfVirtue/assets/eb-garamond-greek-600-normal-_WbCDH6x.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/games/HeartOfVirtue/assets/eb-garamond-vietnamese-600-normal-teNMRGp3.woff2) format("woff2"),url(/games/HeartOfVirtue/assets/eb-garamond-vietnamese-600-normal-Be2Kv3D-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/games/HeartOfVirtue/assets/eb-garamond-latin-ext-600-normal-BFygXy1U.woff2) format("woff2"),url(/games/HeartOfVirtue/assets/eb-garamond-latin-ext-600-normal-CUzI_9EY.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/games/HeartOfVirtue/assets/eb-garamond-latin-600-normal-CdfBH7_K.woff2) format("woff2"),url(/games/HeartOfVirtue/assets/eb-garamond-latin-600-normal-DVm8LGcc.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Courier New,monospace,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-\[-12px\]{top:-12px;right:-12px;bottom:-12px;left:-12px}.inset-\[-8px\]{top:-8px;right:-8px;bottom:-8px;left:-8px}.bottom-full{bottom:100%}.left-1{left:.25rem}.left-1\/2{left:50%}.right-4{right:1rem}.top-1{top:.25rem}.top-4{top:1rem}.top-\[-2px\]{top:-2px}.top-\[-6px\]{top:-6px}.top-full{top:100%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-\[100\]{z-index:100}.z-\[150\]{z-index:150}.z-\[200\]{z-index:200}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-3{margin-bottom:.75rem}.mt-0\.5{margin-top:.125rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-0{height:0px}.h-1\.5{height:.375rem}.h-4{height:1rem}.h-\[75\%\]{height:75%}.h-full{height:100%}.w-0{width:0px}.w-4{width:1rem}.w-\[200px\]{width:200px}.w-\[75\%\]{width:75%}.w-full{width:100%}.min-w-\[120px\]{min-width:120px}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-gpu{transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[spin_4s_linear_infinite\]{animation:spin 4s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-b-\[3px\]{border-bottom-width:3px}.border-b-\[6px\]{border-bottom-width:6px}.border-b-\[8px\]{border-bottom-width:8px}.border-l-4{border-left-width:4px}.border-l-\[2px\]{border-left-width:2px}.border-l-\[6px\]{border-left-width:6px}.border-r-\[2px\]{border-right-width:2px}.border-r-\[6px\]{border-right-width:6px}.border-t{border-top-width:1px}.border-white\/10{border-color:#ffffff1a}.border-b-black\/90{border-bottom-color:#000000e6}.border-l-transparent{border-left-color:transparent}.border-r-transparent{border-right-color:transparent}.bg-black\/80{background-color:#000c}.bg-black\/90{background-color:#000000e6}.bg-black\/95{background-color:#000000f2}.bg-neutral-900{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-orange-900\/30{background-color:#7c2d124d}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-900\/30{background-color:#7f1d1d4d}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-\[2px\]{padding:2px}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pt-2{padding-top:.5rem}.text-center{text-align:center}.font-mono{font-family:Courier New,monospace,Noto Color Emoji}.font-serif{font-family:EB Garamond,serif}.text-\[10px\]{font-size:10px}.text-\[9px\]{font-size:9px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-relaxed{line-height:1.625}.tracking-wider{letter-spacing:.05em}.text-\[\#00ddaa\]{--tw-text-opacity: 1;color:rgb(0 221 170 / var(--tw-text-opacity, 1))}.text-lime-400{--tw-text-opacity: 1;color:rgb(163 230 53 / var(--tw-text-opacity, 1))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/30{color:#ffffff4d}.text-white\/40{color:#fff6}.text-white\/50{color:#ffffff80}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.opacity-90{opacity:.9}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-sm{--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@font-face{font-family:"Noto Color Emoji";src:url(/games/HeartOfVirtue/fonts/NotoColorEmoji.ttf) format("truetype");font-weight:400;font-style:normal}:root{--stage-portrait-width: 130px;--space-md: 12px;--space-lg: 16px;--color-secondary: #ffaa00;--color-border-light: rgba(255, 170, 0, .1);--color-text-dim: #666666}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0}body{font-family:Courier New,monospace,"Noto Color Emoji";background-color:#0a0a0a;color:#e0e0e0;line-height:1.5;-webkit-tap-highlight-color:transparent}button,[role=button],a{touch-action:manipulation}input,select,textarea{font-size:16px}@media(max-width:767px){#root{padding-bottom:env(safe-area-inset-bottom)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#1a1a1a;border-radius:4px}::-webkit-scrollbar-thumb{background:#444;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-dim)}.conversation-stage--wide{display:grid;align-items:stretch;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);grid-template-areas:"left dialogue right";gap:var(--space-lg);min-height:360px}.conversation-stage--wide .conversation-stage__portrait-column{min-width:0;width:100%}.conversation-stage--wide .conversation-stage__portrait-column img{width:clamp(var(--stage-portrait-width),12vw,185px)}.conversation-stage--wide .conversation-stage__dialogue{min-height:220px;padding:var(--space-lg)}@media(max-width:767px){.conversation-stage--wide{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"left right" "dialogue dialogue";gap:var(--space-md);min-height:0}.conversation-stage--wide .conversation-stage__portrait-column{min-height:150px}.conversation-stage--wide .conversation-stage__portrait-column img{width:min(38vw,150px)}.conversation-stage--wide .conversation-stage__dialogue{min-height:190px;padding:var(--space-md)}}.npc-chat-spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--color-border-light);border-top-color:var(--color-secondary);border-radius:50%;animation:npc-chat-spin .8s linear infinite;vertical-align:-2px}@keyframes npc-chat-spin{to{transform:rotate(360deg)}}.retro-border{border-width:2px}.retro-glow{box-shadow:0 10px 25px -5px #00ff884d}.text-lime{color:#0f8}.text-cyan{color:#0cf}.text-orange{color:#f60}.bg-dark-panel{background:linear-gradient(135deg,#1a1a2e,#16213e)}.bg-lime-glow{background:linear-gradient(90deg,#0c6,#0f8)}.bg-orange-glow{background:linear-gradient(90deg,#f60,#f84)}@keyframes feedback-glow{0%,to{box-shadow:0 0 4px #0ff,0 0 10px #0ff,0 0 18px #0ff6}50%{box-shadow:0 0 8px #0ff,0 0 20px #0ff,0 0 32px #00FFFFFFAA}}.beta-feedback-glow{animation:feedback-glow 1.6s ease-in-out infinite}@keyframes pulse-glow{0%,to{text-shadow:0 0 10px rgba(0,255,136,.5)}50%{text-shadow:0 0 20px rgba(0,255,136,1)}}.animate-pulse-glow{animation:pulse-glow 2s infinite}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .3s ease-out}@keyframes fade-in-scale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-opacity{0%,to{opacity:.6}50%{opacity:1}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes slideUp{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}@keyframes victory-pulse{0%,to{opacity:1}50%{opacity:.6}}.hp-bar{width:100%;height:6px;background:#333;border-radius:4px;overflow:hidden}.hp-fill-full{height:100%;background:linear-gradient(90deg,#4f4,#8f8)}.hp-fill-partial{height:100%;background:linear-gradient(90deg,#fa4,#fc4)}.hp-fill-critical{height:100%;background:linear-gradient(90deg,#f44,red)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:50}.modal-content{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #00ff88;border-radius:8px;padding:24px;max-width:448px;width:100%;box-shadow:0 10px 25px -5px #00ff884d}.btn{padding:8px 16px;border-radius:4px;border:1px solid;transition:all .2s}.btn-primary{background:linear-gradient(90deg,#0c6,#0f8);color:#000;font-weight:700;border:none}.btn-primary:hover{box-shadow:0 4px 12px #0f86}.btn-secondary{border:2px solid #00ff88;color:#0f8;background-color:transparent}.btn-secondary:hover{background-color:#0f8;color:#000}.btn-danger{border:2px solid #ff6600;color:#f60;background-color:transparent}.btn-danger:hover{background-color:#f60;color:#fff}.input-field{background-color:#1a1a2e;border:2px solid #00ff88;color:#0f8;border-radius:4px;padding:8px 12px}.input-field:focus{outline:none;border-color:#0fa;box-shadow:inset 0 0 4px #00ff8880}.game-btn:focus-visible{outline:2px solid #00ffaa;outline-offset:2px;box-shadow:0 0 8px #0f89}.status-badge{display:inline-block;padding:6px 12px;border-radius:9999px;font-size:.75rem;font-weight:700}.status-active{background-color:#0f8;color:#000}.status-inactive{background-color:#555;color:#ccc}.status-warning{background-color:#fa0;color:#000}.status-danger{background-color:#f44;color:#fff}@keyframes dialog-pop-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}70%{transform:translate(-50%,-50%) scale(1.02)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes dialog-pop-out{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.95)}}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.combat-panel-enter{animation:dialog-pop-in .25s cubic-bezier(.34,1.56,.64,1) forwards}.combat-panel-exit{animation:dialog-pop-out .15s ease-out forwards;pointer-events:none}.modal-fade-enter{animation:overlay-fade-in .2s ease-out forwards}.target-card-enter{animation:slide-up-fade .3s ease-out forwards}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.combat-button-press{transition:transform .1s ease,box-shadow .1s ease}.combat-button-press:active{transform:scale(.98)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.transitioning-shimmer{background:linear-gradient(90deg,#ffaa001a 25%,#fa03,#ffaa001a 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.animate-in{animation-duration:.3s;animation-fill-mode:forwards;animation-timing-function:cubic-bezier(.4,0,.2,1)}.fade-in{animation-name:overlay-fade-in}.slide-in-from-right-4{animation-name:slide-in-right-4}.slide-in-from-bottom-2{animation-name:slide-in-bottom-2}.zoom-in-95{transform:scale(.95);animation-name:zoom-in}@keyframes slide-in-right-4{0%{transform:translate(1rem);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-in-bottom-2{0%{transform:translateY(.5rem);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes zoom-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}@keyframes screen-shake{0%{transform:translate(0)}18%{transform:translate(-10px)}36%{transform:translate(10px)}54%{transform:translate(-7px)}72%{transform:translate(5px)}90%{transform:translate(-2px)}to{transform:translate(0)}}@keyframes damage-flash{0%{opacity:0}15%{opacity:.6}to{opacity:0}}body.damage-shake{animation:screen-shake .42s cubic-bezier(.36,.07,.19,.97) both}body.damage-flash-active:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#c00;z-index:99998;pointer-events:none;animation:damage-flash .42s ease-out forwards}@keyframes battlefield-pending-pulse{0%,to{box-shadow:0 0 10px 2px var(--pending-glow, rgba(255,255,255,.5))}50%{box-shadow:0 0 20px 7px var(--pending-glow, rgba(255,255,255,.5))}}.battlefield-pending-glow{animation:battlefield-pending-pulse 1.4s ease-in-out infinite}@keyframes battlefield-target-shake{0%{translate:0 0}15%{translate:-8% 3%}30%{translate:7% -4%}45%{translate:-6% 2%}60%{translate:5% -2%}75%{translate:-3% 1%}to{translate:0 0}}.battlefield-target-shake{animation:battlefield-target-shake .32s cubic-bezier(.36,.07,.19,.97) both}@keyframes battlefield-effect-ring{0%{transform:scale(.25);opacity:.95}70%{opacity:.55}to{transform:scale(var(--bf-ring-scale, 2.6));opacity:0}}.battlefield-effect-ring{border-radius:9999px;animation-name:battlefield-effect-ring;animation-timing-function:cubic-bezier(.2,.6,.4,1);animation-fill-mode:both}@keyframes battlefield-effect-rise{0%{transform:translateY(30%) scale(.6);opacity:0}20%{opacity:1}to{transform:translateY(-220%) scale(1.1);opacity:0}}.battlefield-effect-rise{animation-name:battlefield-effect-rise;animation-timing-function:ease-out;animation-fill-mode:both}@keyframes battlefield-float-text{0%{transform:translateY(0);opacity:1}60%{opacity:.85}to{transform:translateY(-120%);opacity:0}}.battlefield-float-text{animation-name:battlefield-float-text;animation-timing-function:linear;animation-fill-mode:both}.reduced-motion .battlefield-float-text{animation-name:none}@media(prefers-reduced-motion:reduce){.battlefield-float-text{animation-name:none}}@keyframes battlefield-jean-spotlight{0%,to{box-shadow:0 0 0 2px #ffcc00e6,0 0 18px 6px #ffcc008c}50%{box-shadow:0 0 0 3px #fff078,0 0 28px 12px #ffcc00bf}}.battlefield-jean-spotlight{animation:battlefield-jean-spotlight 1.6s ease-in-out infinite;border-radius:9999px}@keyframes battlefield-zoom-hint{0%,to{box-shadow:0 0 6px 1px #ffaa00b3,0 0 14px 3px #ffaa0059}50%{box-shadow:0 0 10px 2px #ffcc40,0 0 22px 6px #fa09}}.battlefield-zoom-hint{animation:battlefield-zoom-hint 1.3s ease-in-out infinite}@keyframes suggested-blink{0%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}to{opacity:.3;transform:scale(.8)}}@keyframes scroll-indicator-pulse{0%,to{opacity:.45}50%{opacity:.85}}.scroll-indicator-label{animation:scroll-indicator-pulse 1.8s ease-in-out infinite}@keyframes memory-flash-glow{0%,to{text-shadow:0 0 8px rgba(199,125,255,.7),0 0 18px rgba(150,80,220,.4);opacity:.92}50%{text-shadow:0 0 14px rgba(220,160,255,.95),0 0 30px rgba(170,100,240,.65);opacity:1}}@keyframes memory-flash-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.memory-flash-frame{position:relative;border-radius:10px;padding:var(--mf-pad, 18px);background:radial-gradient(120% 90% at 50% 0%,#7846b429,#140a2300 70%),#120a1e59;box-shadow:inset 0 0 60px #7846b438,0 0 22px #8c50dc40;border:1px solid rgba(180,130,240,.35)}.memory-flash-frame:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;pointer-events:none;box-shadow:inset 0 0 70px #280f468c}.memory-flash-banner{text-align:center;font-weight:700;letter-spacing:4px;color:#d7b3ff;text-transform:uppercase;animation:memory-flash-glow 2.6s ease-in-out infinite;-webkit-user-select:none;-moz-user-select:none;user-select:none}.memory-flash-fade{text-align:center;letter-spacing:3px;color:#b48be6;text-transform:uppercase;animation:memory-flash-rise .6s ease-out both,memory-flash-glow 2.6s ease-in-out infinite .6s;-webkit-user-select:none;-moz-user-select:none;user-select:none}@keyframes conversation-auto-advance-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.reduced-motion,.reduced-motion *{animation-duration:.001ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}
