.vn-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;z-index:10}.vn-overlay>*{pointer-events:auto}.vn-dialog{position:relative;padding:1.56cqw 1.875cqw 1.72cqw;width:100%;height:30%;box-sizing:border-box;overflow:visible;background:#080812e6;border-top:2px solid rgba(180,160,255,.35);box-shadow:0 -6px 32px #0009;cursor:pointer;-webkit-user-select:none;user-select:none}.vn-dialog__speaker{position:absolute;bottom:100%;left:1.56cqw;font-weight:700;color:#fff;background:#080812e6;border:2px solid rgba(180,160,255,.35);border-bottom:none;padding:.3cqw 1.4cqw;border-radius:.3cqw .3cqw 0 0;font-size:1cqw;letter-spacing:.04em}.vn-dialog__text{color:#e8e8f0;font-size:1.1cqw;line-height:1.75}.vn-choice{position:relative;padding:1.56cqw 1.875cqw 1.72cqw;width:100%;height:30%;box-sizing:border-box;overflow:visible;background:#080812e6;border-top:2px solid rgba(180,160,255,.35);box-shadow:0 -6px 32px #0009}.vn-choice__prompt{color:#e8e8f0;font-size:1.1cqw;margin-bottom:.94cqw;text-align:center;line-height:1.75}.vn-choice__options{display:flex;flex-direction:column;gap:.47cqw}.vn-choice__btn{padding:.7cqw 1.25cqw;background:#b4a0ff14;border:1px solid rgba(180,160,255,.3);border-radius:.25cqw;color:#e8e8f0;font-size:1cqw;cursor:pointer;transition:background .15s,border-color .15s;font-family:inherit;text-align:left}.vn-choice__btn:hover{background:#b4a0ff33;border-color:#b4a0ff8c}.vn-ended{text-align:center;color:#888;padding:20px}.vn-ended p{margin-bottom:12px}*{margin:0;padding:0;box-sizing:border-box}body{width:100vw;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#000}#game-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center}#game-viewport{position:relative;width:min(100vw,calc(100vh * 16 / 9));height:min(100vh,56.25vw);overflow:hidden;background:#1a1a2e;container-type:inline-size}#spine-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.hidden{display:none}.location-view{position:absolute;inset:0;background-size:cover;background-position:center;background-color:#111;z-index:5}.loading-screen{position:absolute;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#1a1a2e;color:#e8e8f0;font-size:clamp(12px,1.2cqw,24px)}:root{--game-accent: #7c5cff}.title-menu{position:absolute;inset:0;z-index:50;color:#fff;opacity:1;transition:opacity .3s ease}.title-menu.hidden{display:block;opacity:0;pointer-events:none}.title-menu__bg{position:absolute;inset:0;background-size:cover;background-position:center;background-color:#0d0d18;z-index:0}.title-menu__bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0a0a188c,#0a0a1826 35%,#0a0a1899);pointer-events:none}.title-menu__fg{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(24px,4cqw,64px)}.title-menu__heading{display:flex;flex-direction:column;gap:.5cqw;text-shadow:0 2px 12px rgba(0,0,0,.6)}.title-menu__title{font-size:clamp(32px,6cqw,88px);font-weight:900;letter-spacing:-.02em;line-height:1;margin:0}.title-menu__tagline{font-size:clamp(14px,1.6cqw,22px);opacity:.85;margin:0;font-weight:400}.title-menu__buttons{display:flex;flex-direction:column;align-items:flex-start;gap:.5cqw;margin-top:auto;margin-bottom:clamp(16px,3cqw,48px)}.title-menu__btn{appearance:none;border:none;background:#14142099;color:#fff;padding:.625cqw 1.75cqw;font-size:clamp(14px,1.5cqw,18px);font-weight:600;letter-spacing:.04em;cursor:pointer;border-left:.19cqw solid transparent;transition:background .15s,border-color .15s,transform .05s;font-family:inherit;min-width:clamp(160px,14cqw,240px);text-align:left;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.title-menu__btn:hover{background:#28283ccc;border-left-color:var(--game-accent)}.title-menu__btn:active{transform:translate(.12cqw)}.title-menu__btn--primary{background:var(--game-accent);border-left-color:var(--game-accent)}.title-menu__btn--primary:hover{background:color-mix(in srgb,var(--game-accent) 80%,white)}.title-menu__footer{position:absolute;bottom:clamp(16px,2cqw,32px);right:clamp(16px,2cqw,32px);font-size:clamp(11px,1cqw,14px);opacity:.6;font-family:monospace}.pause-menu{position:absolute;inset:0;z-index:60;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity .2s ease}.pause-menu.hidden{display:flex;opacity:0;pointer-events:none}.pause-menu__card{background:#141420eb;border:1px solid rgba(255,255,255,.08);padding:clamp(20px,3cqw,40px);min-width:clamp(240px,30cqw,360px);display:flex;flex-direction:column;gap:14px;border-radius:4px;box-shadow:0 16px 48px #0009;color:#fff}.pause-menu__title{font-size:clamp(18px,2.5cqw,28px);font-weight:800;letter-spacing:.02em;text-transform:uppercase;margin:0 0 4px;opacity:.85}.pause-menu__buttons{display:flex;flex-direction:column;gap:6px}.pause-menu__btn{appearance:none;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#fff;padding:10px 16px;font-size:clamp(13px,1.4cqw,16px);font-weight:500;letter-spacing:.04em;cursor:pointer;font-family:inherit;text-align:left;transition:background .15s,border-color .15s;border-radius:3px}.pause-menu__btn:hover{background:#ffffff1a;border-color:var(--game-accent)}.pause-menu__btn--primary{background:var(--game-accent);border-color:var(--game-accent);text-align:center;font-weight:700}.pause-menu__btn--primary:hover{background:color-mix(in srgb,var(--game-accent) 80%,white)}.save-load-menu{position:absolute;inset:0;z-index:70;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:clamp(16px,3cqw,48px);opacity:1;transition:opacity .2s ease}.save-load-menu.hidden{display:flex;opacity:0;pointer-events:none}.save-load-menu__card{background:#141420f2;border:1px solid rgba(255,255,255,.08);padding:clamp(16px,2.5cqw,32px);width:100%;max-width:880px;max-height:100%;display:flex;flex-direction:column;gap:14px;border-radius:4px;box-shadow:0 16px 48px #0009;color:#fff;overflow:hidden}.save-load-menu__header{display:flex;justify-content:space-between;align-items:center}.save-load-menu__title{font-size:clamp(16px,2cqw,24px);font-weight:800;margin:0;text-transform:uppercase;letter-spacing:.04em;opacity:.85}.save-load-menu__close{appearance:none;background:transparent;border:1px solid rgba(255,255,255,.15);color:#fff;width:32px;height:32px;font-size:14px;cursor:pointer;border-radius:3px;transition:background .15s,border-color .15s}.save-load-menu__close:hover{background:#ffffff1a;border-color:var(--game-accent)}.save-load-menu__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;overflow-y:auto}.save-load-slot{position:relative;padding:14px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:3px;min-height:90px;display:flex;flex-direction:column;gap:4px;transition:background .15s,border-color .15s}.save-load-slot--clickable{cursor:pointer}.save-load-slot--clickable:hover{background:#ffffff14;border-color:var(--game-accent)}.save-load-slot--disabled{opacity:.45}.save-load-slot--empty .save-load-slot__detail{font-style:italic;opacity:.6}.save-load-slot__label{font-size:clamp(12px,1.1cqw,14px);font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.7}.save-load-slot__detail{font-size:clamp(12px,1.2cqw,15px);flex:1}.save-load-slot__time{font-size:clamp(10px,.95cqw,12px);opacity:.55;font-family:monospace}.save-load-slot__delete{position:absolute;top:8px;right:8px;appearance:none;background:transparent;border:1px solid rgba(255,255,255,.15);color:#fff;width:22px;height:22px;font-size:11px;cursor:pointer;border-radius:3px;opacity:0;transition:opacity .15s,background .15s}.save-load-slot:hover .save-load-slot__delete{opacity:1}.save-load-slot__delete:hover{background:#ff50504d}.settings-menu{position:absolute;inset:0;z-index:70;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:clamp(16px,3cqw,48px);opacity:1;transition:opacity .2s ease}.settings-menu.hidden{display:flex;opacity:0;pointer-events:none}.settings-menu__card{background:#141420f2;border:1px solid rgba(255,255,255,.08);padding:clamp(18px,2.5cqw,36px);width:100%;max-width:560px;display:flex;flex-direction:column;gap:18px;border-radius:4px;box-shadow:0 16px 48px #0009;color:#fff}.settings-menu__header{display:flex;justify-content:space-between;align-items:center}.settings-menu__title{font-size:clamp(16px,2cqw,24px);font-weight:800;margin:0;text-transform:uppercase;letter-spacing:.04em;opacity:.85}.settings-menu__close{appearance:none;background:transparent;border:1px solid rgba(255,255,255,.15);color:#fff;width:32px;height:32px;font-size:14px;cursor:pointer;border-radius:3px;transition:background .15s,border-color .15s}.settings-menu__close:hover{background:#ffffff1a;border-color:var(--game-accent)}.settings-menu__rows{display:flex;flex-direction:column;gap:10px}.settings-row{display:grid;grid-template-columns:140px 1fr 60px;align-items:center;gap:12px}.settings-row__label{font-size:clamp(12px,1.2cqw,14px);opacity:.85}.settings-row__range{width:100%;accent-color:var(--game-accent)}.settings-row__value{font-size:clamp(11px,1.1cqw,13px);font-family:monospace;text-align:right;opacity:.8}.settings-menu__actions{display:flex;justify-content:flex-end}.settings-menu__reset{appearance:none;background:transparent;border:1px solid rgba(255,255,255,.15);color:#fff;padding:8px 14px;font-size:clamp(12px,1.1cqw,14px);cursor:pointer;border-radius:3px;font-family:inherit;transition:background .15s,border-color .15s}.settings-menu__reset:hover{background:#ff505026;border-color:#ff787880}.history-menu{position:absolute;inset:0;z-index:70;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:clamp(16px,3cqw,48px);opacity:1;transition:opacity .2s ease}.history-menu.hidden{display:flex;opacity:0;pointer-events:none}.history-menu__card{background:#141420f2;border:1px solid rgba(255,255,255,.08);padding:clamp(18px,2.5cqw,36px);width:100%;max-width:760px;max-height:100%;display:flex;flex-direction:column;gap:14px;border-radius:4px;box-shadow:0 16px 48px #0009;color:#fff;overflow:hidden}.history-menu__header{display:flex;justify-content:space-between;align-items:center}.history-menu__title{font-size:clamp(16px,2cqw,24px);font-weight:800;margin:0;text-transform:uppercase;letter-spacing:.04em;opacity:.85}.history-menu__close{appearance:none;background:transparent;border:1px solid rgba(255,255,255,.15);color:#fff;width:32px;height:32px;font-size:14px;cursor:pointer;border-radius:3px;transition:background .15s,border-color .15s}.history-menu__close:hover{background:#ffffff1a;border-color:var(--game-accent)}.history-menu__list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-right:6px}.history-menu__empty{margin:0;font-style:italic;opacity:.6;text-align:center;padding:24px 0}.history-entry{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-left:2px solid rgba(255,255,255,.1);font-size:clamp(13px,1.3cqw,16px);line-height:1.5}.history-entry--narrator{font-style:italic;opacity:.85;border-left-color:#ffffff0d}.history-entry__speaker{font-weight:700;font-size:clamp(11px,1.1cqw,13px);letter-spacing:.04em;color:var(--game-accent);opacity:.95}.history-entry__text{white-space:pre-wrap}.title-modal-overlay{position:absolute;inset:0;z-index:10;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:clamp(24px,4cqw,64px)}.title-modal{background:#141420f2;border:1px solid rgba(255,255,255,.1);padding:clamp(20px,3cqw,48px);max-width:700px;width:100%;max-height:80%;display:flex;flex-direction:column;gap:16px;color:#fff;border-radius:4px;box-shadow:0 12px 40px #0009}.title-modal__title{font-size:clamp(20px,2.5cqw,32px);margin:0}.title-modal__body{flex:1;overflow-y:auto;white-space:pre-wrap;font-family:inherit;font-size:clamp(13px,1.2cqw,16px);line-height:1.5;opacity:.85;margin:0}.title-modal button{align-self:flex-end}.console-panel{position:absolute;bottom:0;left:0;right:0;z-index:110;display:flex;flex-direction:column;pointer-events:auto;transition:height .2s ease;height:clamp(28px,3cqw,36px);overflow:hidden}.console-panel--expanded{height:clamp(160px,30cqh,280px)}.console-panel__header{display:flex;align-items:center;gap:8px;padding:0 clamp(8px,1cqw,14px);height:clamp(28px,3cqw,36px);min-height:clamp(28px,3cqw,36px);background:#0c0c14eb;border-top:1px solid rgba(255,255,255,.1);cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.console-panel__header:hover{background:#141422f2}.console-panel__title{font-size:clamp(11px,1.1cqw,13px);font-weight:700;color:#aaa;text-transform:uppercase;letter-spacing:.08em}.console-panel__badge{font-size:clamp(9px,.85cqw,11px);font-weight:700;background:#ffffff1f;color:#ccc;padding:1px 6px;border-radius:8px;font-family:monospace}.console-panel__actions{margin-left:auto;display:flex;gap:4px}.console-panel__btn{appearance:none;border:1px solid rgba(255,255,255,.15);background:transparent;color:#aaa;padding:2px 8px;font-size:clamp(10px,.9cqw,12px);font-family:inherit;cursor:pointer;border-radius:3px;transition:background .15s,border-color .15s,color .15s}.console-panel__btn:hover{background:#ffffff1a;border-color:var(--game-accent);color:#fff}.console-panel__btn--close:hover{background:#ff505033;border-color:#ff787880}.console-panel__body{flex:1;overflow-y:auto;background:#080810f2;padding:clamp(4px,.5cqw,8px) clamp(8px,1cqw,14px);font-family:monospace;font-size:clamp(10px,.95cqw,12px);line-height:1.6}.console-panel__line{display:flex;gap:8px;white-space:pre-wrap;word-break:break-all}.console-panel__line--error{background:#ff323214}.console-panel__line--warn{background:#ffc1070f}.console-panel__time{color:#555;flex-shrink:0}.console-panel__level{flex-shrink:0;font-weight:700;width:5ch}.console-panel__msg{color:#c8c8d0}
