:root{--accent-primary: #e91e63;--accent-secondary: #ff4081;--premium-gold: #ffd700;--dialogue-bg: rgba(18, 18, 18, .75);--glass-blur: blur(16px);--border-radius-lg: 24px;--border-radius-md: 12px;--font-main: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-dialogue: Georgia, "Times New Roman", serif;--btn-bg: rgba(40, 40, 40, .8);--btn-bg-hover: rgba(60, 60, 60, .9);--btn-border: rgba(255, 255, 255, .2);--btn-text: #ffffff;--btn-shadow: 0 4px 20px rgba(0, 0, 0, .4);--btn-radius: 24px}.vn-ui{position:relative;width:100%;height:var(--app-height, 100dvh);overflow:hidden}.vn-letterbox-backdrop{position:absolute;top:-48px;right:-48px;bottom:-48px;left:-48px;z-index:0;pointer-events:none;background-color:#050505;background-repeat:no-repeat;background-size:cover;background-position:center;filter:blur(30px) saturate(1.18) brightness(.92);transform:scale(1.08);opacity:1;transition:opacity .18s ease}.vn-letterbox-vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(circle at center,#0000000d,#000000a6);opacity:1;transition:opacity .18s ease}@media (max-width: 520px) and (max-aspect-ratio: 9/16){.vn-letterbox-backdrop,.vn-letterbox-vignette{opacity:0}}.vn-container{width:100%;max-width:480px;height:100vh;height:100dvh;height:var(--app-height, 100dvh);margin:0 auto;display:flex;flex-direction:column;justify-content:flex-end;background-color:#050505;background-size:cover;background-position:center;position:relative;overflow:hidden;box-shadow:0 0 100px #000c;font-family:var(--font-main);color:#fff}.vn-background-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background-repeat:no-repeat;background-size:cover;background-position:center;will-change:transform}.vn-dialogue-fill{position:absolute;left:0;right:0;bottom:0;height:10%;z-index:2;pointer-events:none;background:linear-gradient(to top,#121212,#121212eb 35%,#12121200)}.vn-center-text-container{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,24px);text-align:center}.vn-center-text{max-width:92%;font-size:calc(clamp(1.15rem,5.2vw,1.5rem) * var(--dialogue-text-scale, 1));font-weight:800;letter-spacing:.5px;color:#fff;text-shadow:0 3px 14px rgba(0,0,0,.85),0 0 40px rgba(0,0,0,.35);animation:vnCenterTextFade .35s ease-out both}@keyframes vnCenterTextFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.character-name-wrapper{position:absolute;top:-24px;left:calc(clamp(12px,4vw,20px) + env(safe-area-inset-left,0px));right:calc(clamp(12px,4vw,20px) + env(safe-area-inset-right,0px));z-index:5}.character-name-tag{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));padding:6px 20px;border-radius:8px;font-weight:800;font-size:calc(clamp(.9rem,3.6vw,1.05rem) * var(--name-tag-scale, 1));text-transform:uppercase;letter-spacing:1px;color:#fff;box-shadow:0 4px 15px var(--accent-glow, rgba(233, 30, 99, .4));border:1px solid rgba(255,255,255,.2);display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.vn-log-overlay,.vn-log-overlay *{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.dialogue-box-container{position:relative;padding:0;z-index:10}.dialogue-box{background:var(--dialogue-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-top:1.5px solid rgba(255,255,255,.15);border-left:0;border-right:0;border-bottom:0;padding-top:clamp(16px,calc(var(--app-height, 100dvh) / 28),30px);padding-right:calc(clamp(14px,4vw,25px) + env(safe-area-inset-right,0px));padding-bottom:calc(clamp(8px,calc(var(--app-height, 100dvh) / 50),16px) + env(safe-area-inset-bottom,0px));padding-left:calc(clamp(14px,4vw,25px) + env(safe-area-inset-left,0px));border-radius:0;box-shadow:0 -10px 40px #00000080;display:flex;flex-direction:column}.dialogue-text{font-family:var(--font-dialogue);font-size:calc(clamp(1.05rem,4.2vw,1.35rem) * var(--dialogue-text-scale, 1) * var(--dialogue-auto-scale, 1));line-height:1.45;color:#f0f0f0;text-shadow:0 1px 2px rgba(0,0,0,.5);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.vn-center-text,.vn-container,.vn-container *{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.vn-container img,.vn-container svg{-webkit-user-drag:none;user-drag:none}.vn-ui,.vn-ui *{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}.vn-ui img,.vn-ui svg{-webkit-user-drag:none;user-drag:none}.vn-ui input,.vn-ui textarea,.vn-ui select,.vn-ui option,.editor-overlay,.editor-overlay *{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.editor-overlay input,.editor-overlay textarea,.editor-overlay select,.editor-overlay option{user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.dialogue-text b{color:var(--accent-secondary);font-weight:700}.dialogue-text i{opacity:.9}.choices-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(12px,3vh,30px);padding-top:clamp(16px,4vw,30px);padding-right:calc(clamp(16px,4vw,30px) + env(safe-area-inset-right,0px));padding-bottom:calc(clamp(12px,3.5vw,22px) + env(safe-area-inset-bottom,0px));padding-left:calc(clamp(16px,4vw,30px) + env(safe-area-inset-left,0px));overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:100}.choice-button{width:100%;max-width:400px;padding:clamp(12px,2.6vh,18px) clamp(16px,5vw,24px);font-size:calc(clamp(1rem,4.4vw,1.25rem) * var(--dialogue-text-scale, 1));font-weight:700;color:var(--choice-btn-text, var(--btn-text));background:var(--choice-btn-bg, var(--btn-bg));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--choice-btn-border, var(--btn-border));border-radius:var(--choice-btn-radius, var(--btn-radius));cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:var(--choice-btn-shadow, var(--btn-shadow));text-align:center}.choice-button:hover,.choice-button.focused{transform:translateY(-2px) scale(1.02);background:var(--choice-btn-bg-hover, var(--btn-bg-hover));border-color:var(--choice-btn-border, var(--btn-border));box-shadow:var(--choice-btn-shadow, var(--btn-shadow))}.choice-button:active{transform:scale(.98)}.choice-button.premium{border:2px solid var(--premium-gold);background:linear-gradient(135deg,#3c3214cc,#281e0ae6)}.choice-button.premium:hover{box-shadow:0 0 20px #ffd7004d}.menu-button{width:80%;padding:clamp(12px,2.6vh,18px) clamp(16px,5vw,24px);font-size:clamp(1rem,4.2vw,1.2rem);font-weight:700;color:var(--btn-text);background:var(--btn-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--btn-border);border-radius:var(--btn-radius);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:var(--btn-shadow);text-align:center;display:flex;align-items:center;justify-content:center;gap:10px}.menu-button:hover,.menu-button.focused{transform:translateY(-2px) scale(1.02);background:var(--btn-bg-hover);border-color:var(--btn-border);box-shadow:var(--btn-shadow)}.menu-button:active{transform:scale(.98)}.menu-button.primary{background:var(--btn-bg-hover);border-color:var(--btn-border)}.menu-button.secondary{background:var(--btn-bg)}.menu-button.gold{color:var(--premium-gold);border-color:var(--btn-border)}.hud-button-container{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));z-index:150;display:flex;gap:clamp(8px,2vw,10px)}.hud-button-container.left{left:calc(12px + env(safe-area-inset-left,0px))}.hud-button-container.right{right:calc(12px + env(safe-area-inset-right,0px))}.hud-button{background:var(--hud-btn-bg, var(--btn-bg));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--hud-btn-border, var(--btn-border));color:var(--hud-btn-text, var(--btn-text));border-radius:var(--hud-btn-radius, 50%);width:44px;height:44px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.hud-button svg{width:24px;height:24px;stroke:currentColor;stroke-width:2.5px}.hud-button:hover{background:var(--hud-btn-bg-hover, var(--btn-bg-hover));transform:scale(1.1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.transition-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:200}.fade-effect{animation:fadeEffect 1s forwards;background:#000}.flash-effect{animation:flashEffect .55s forwards;background:#fffffff2}@keyframes fadeEffect{0%,to{opacity:0}40%,60%{opacity:1}}@keyframes flashEffect{0%{opacity:0}18%{opacity:1}to{opacity:0}}.char-sprite{position:absolute;bottom:-20px;left:50%;transform:translate(-50%) scale(var(--char-scale, 1));transform-origin:bottom center;max-height:85vh;z-index:var(--char-z, 2);transition:all .5s ease;filter:drop-shadow(0 10px 20px rgba(0,0,0,.5));user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;user-drag:none;pointer-events:none}.char-fade-in{animation:charFadeIn .45s ease-out both;will-change:transform,opacity}.char-slide-in-left{animation:charSlideInLeft .5s cubic-bezier(.2,.9,.2,1) both;will-change:transform,opacity}.char-slide-in-right{animation:charSlideInRight .5s cubic-bezier(.2,.9,.2,1) both;will-change:transform,opacity}.char-shake{animation:charShake .6s ease-in-out both;will-change:transform}@keyframes charFadeIn{0%{opacity:0;transform:translate(-50%) translateY(16px) scale(var(--char-scale, 1))}to{opacity:1;transform:translate(-50%) translateY(0) scale(var(--char-scale, 1))}}@keyframes charSlideInLeft{0%{opacity:0;transform:translate(-70%) translateY(0) scale(var(--char-scale, 1))}to{opacity:1;transform:translate(-50%) translateY(0) scale(var(--char-scale, 1))}}@keyframes charSlideInRight{0%{opacity:0;transform:translate(-30%) translateY(0) scale(var(--char-scale, 1))}to{opacity:1;transform:translate(-50%) translateY(0) scale(var(--char-scale, 1))}}@keyframes charShake{0%,to{transform:translate(-50%) translateY(0) scale(var(--char-scale, 1))}10%{transform:translate(calc(-50% - 6px)) translateY(-2px) scale(var(--char-scale, 1))}25%{transform:translate(calc(-50% + 6px)) translateY(2px) scale(var(--char-scale, 1))}40%{transform:translate(calc(-50% - 5px)) translateY(1px) scale(var(--char-scale, 1))}55%{transform:translate(calc(-50% + 5px)) translateY(-1px) scale(var(--char-scale, 1))}70%{transform:translate(calc(-50% - 3px)) translateY(0) scale(var(--char-scale, 1))}85%{transform:translate(calc(-50% + 3px)) translateY(0) scale(var(--char-scale, 1))}}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;justify-content:center;align-items:center;padding-top:calc(12px + env(safe-area-inset-top,0px));padding-right:calc(12px + env(safe-area-inset-right,0px));padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));padding-left:calc(12px + env(safe-area-inset-left,0px));overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:500}.settings-modal{background:var(--dialogue-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);width:min(420px,100%);max-height:calc(var(--app-height, 100dvh) - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:var(--border-radius-lg);border:1.5px solid rgba(255,255,255,.15);box-shadow:0 20px 50px #0009;overflow:hidden;color:#fff;display:flex;flex-direction:column}.settings-header{padding:clamp(14px,4vw,20px);background:#ffffff0d;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.settings-header h2{margin:0;font-size:1.25rem;font-weight:800}.settings-content{padding:clamp(14px,4vw,22px);display:flex;flex-direction:column;gap:20px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(clamp(14px,4vw,22px) + env(safe-area-inset-bottom,0px));flex:1}.settings-row{display:flex;flex-direction:column;gap:8px}.settings-row label{font-size:.85rem;font-weight:800;color:var(--accent-secondary);text-transform:uppercase;letter-spacing:.8px}.close-button{font-size:2rem;cursor:pointer;line-height:.5}.language-selector{display:flex;gap:10px}.language-selector button{flex:1;padding:12px;background:var(--btn-bg);border:2px solid var(--btn-border);color:var(--btn-text);border-radius:var(--btn-radius);cursor:pointer;font-weight:700;transition:all .2s}.language-selector button.active{background:var(--btn-bg-hover);border-color:var(--btn-border);box-shadow:var(--btn-shadow)}.settings-toggle{width:100%;padding:12px;background:var(--btn-bg);border:2px solid var(--btn-border);color:var(--btn-text);border-radius:var(--btn-radius);cursor:pointer;font-weight:700;transition:all .2s}.settings-toggle:hover{background:var(--btn-bg-hover)}.slider-container{display:flex;align-items:center;gap:15px}.slider-container input[type=range]{flex:1;accent-color:var(--accent-primary);cursor:pointer}.slider-container span{min-width:45px;font-weight:800;color:#f0f0f0;font-size:.9rem}.settings-footer{padding:15px;background:#0003;text-align:center;font-size:.75rem;color:#666}.vn-ui .vn-button{background:var(--btn-bg);color:var(--btn-text);border:2px solid var(--btn-border);border-radius:var(--btn-radius);box-shadow:var(--btn-shadow);transition:all .2s cubic-bezier(.4,0,.2,1)}.vn-ui .vn-button:hover{background:var(--btn-bg-hover)}.vn-ui .vn-icon-button{background:var(--btn-bg);border:2px solid var(--btn-border);color:var(--btn-text);border-radius:999px;box-shadow:var(--btn-shadow)}:root{font-family:Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;--app-height: 100dvh;-webkit-text-size-adjust:100%;text-size-adjust:100%;color-scheme:light dark;color:#ffffffde;background-color:#111;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;overscroll-behavior-y:none}#root{width:100%;height:100%}@media (pointer: coarse){.vn-ui,.vn-container{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.vn-ui img,.vn-container img,.vn-ui svg,.vn-container svg{-webkit-user-drag:none;user-drag:none}input,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text;-webkit-touch-callout:default;touch-action:auto}}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
