:root{--panel:#10161894;--panel-solid:#0e1315db;--rule:#f6f0de61;--rule-strong:#f6f0debf;--text:#f6f0de;--text-dim:#f6f0dea8;--accent:#b9d77a;--accent-deep:#6f9a3a;--gold:#f0d58c;--danger:#e98b6e;--blur:blur(10px) saturate(1.15);--shadow:0 8px 30px #00000047;--ease-out:cubic-bezier(.2, .9, .25, 1);--ease-spring:cubic-bezier(.3, 1.45, .5, 1);--title:"Marcellus", "Cormorant Garamond", Georgia, serif;--body:"Alegreya Sans", "Segoe UI", system-ui, sans-serif;font-family:var(--body)}#hud{pointer-events:none;-webkit-user-select:none;user-select:none;color:var(--text);font-family:var(--body);position:fixed;inset:0}#hud *{box-sizing:border-box}.glass{background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--rule);box-shadow:var(--shadow)}.status{pointer-events:auto;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);background:linear-gradient(90deg,#0a101280,#0a10122e);border-radius:999px;align-items:center;gap:22px;padding:8px 16px 8px 10px;display:flex;position:absolute;top:18px;left:22px}.badge{letter-spacing:.02em;text-shadow:0 1px 2px #00000080;align-items:center;gap:9px;font-size:18px;font-weight:500;display:flex}.badge .ic{width:26px;height:26px;color:var(--text);place-items:center;display:grid}.badge .ic svg{width:26px;height:26px}.badge small{font-family:var(--title);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px;font-size:11px;line-height:1.1;display:block}.pop-meter{background:#f6f0de29;border-radius:3px;width:150px;height:6px;position:relative;overflow:hidden}.pop-meter>i{background:linear-gradient(90deg, var(--accent-deep), var(--accent));width:50%;transition:width .8s var(--ease-out);border-radius:3px;position:absolute;inset:0;box-shadow:0 0 10px #b9d77a99}.season{pointer-events:auto;position:absolute;top:18px;right:22px}.dock{pointer-events:auto;background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--rule);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:10px;padding:9px 14px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.dock .sep{background:var(--rule);width:1px;height:30px;margin:0 3px}.slot{cursor:pointer;width:50px;height:50px;color:var(--text);transition:transform .25s var(--ease-spring), background .2s, border-color .2s, box-shadow .25s, opacity .3s;background:#f6f0de0f;border:1px solid #f6f0de38;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.slot img,.slot svg{pointer-events:none;filter:drop-shadow(0 1px 1px #00000073);width:30px;height:30px}.slot:hover{border-color:var(--rule-strong);background:#f6f0de24;transform:translateY(-3px)scale(1.06)}.slot:active{transform:scale(.94)}.slot.locked{opacity:.28;cursor:default}.slot.locked:hover{background:#f6f0de0f;transform:none}.slot.hidden{display:none}.slot.selected{color:#1a2410;background:radial-gradient(circle at 50% 40%, #eaf5c8, var(--accent) 70%);border-color:#eef7d0;transform:translateY(-3px);box-shadow:0 0 0 3px #b9d77a47,0 0 22px #b9d77a8c}.slot.selected svg{filter:none}.slot.fresh{animation:slot-new .9s var(--ease-spring)}@keyframes slot-new{0%{opacity:0;transform:scale(.3)}60%{opacity:1;box-shadow:0 0 30px var(--gold);transform:scale(1.18)}to{transform:scale(1)}}.slot .key{text-align:center;min-width:15px;height:15px;color:var(--text-dim);background:#0a0e10cc;border-radius:8px;padding:0 3px;font-size:10px;line-height:15px;position:absolute;bottom:-3px;right:-2px}.slot .tip{opacity:0;white-space:nowrap;pointer-events:none;font-family:var(--title);letter-spacing:.08em;color:var(--text);background:var(--panel-solid);border:1px solid var(--rule);transition:opacity .18s, transform .25s var(--ease-out);border-radius:6px;padding:5px 12px;font-size:14px;position:absolute;bottom:64px;left:50%;transform:translate(-50%,6px)}.slot:hover .tip{opacity:1;transform:translate(-50%)}.hover-tag{white-space:nowrap;font-family:var(--title);letter-spacing:.06em;color:var(--text);background:var(--panel-solid);border:1px solid var(--rule);box-shadow:var(--shadow);opacity:0;will-change:transform;border-radius:5px;padding:3px 10px 4px;font-size:15px;transition:opacity .15s;position:absolute;top:0;left:0}.hover-tag.show{opacity:1}.bubble{min-width:150px;max-width:340px;color:var(--text);background:var(--panel-solid);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--rule);animation:bubble-in .32s var(--ease-out);border-radius:10px;padding:18px 18px 14px;font-size:18px;font-weight:400;line-height:1.38;position:absolute;transform:translate(-50%,-100%);box-shadow:0 10px 34px #00000059}.bubble:after{content:"";background:inherit;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);-webkit-backdrop-filter:none;backdrop-filter:none;width:14px;height:14px;margin-left:-7px;position:absolute;bottom:-8px;left:50%;transform:rotate(45deg)}.bubble:before{content:none}.bubble .who{font-family:var(--title);letter-spacing:.1em;color:#1b2412;background:var(--accent);border-radius:4px;padding:2px 10px 3px;font-size:13px;position:absolute;top:-12px;left:14px;box-shadow:0 2px 8px #0000004d}.bubble .who:empty{display:none}.bubble.thought{color:var(--text-dim);font-style:italic}.bubble.offscreen{opacity:.8}.bubble.leaving{animation:.22s forwards bubble-out}@keyframes bubble-in{0%{opacity:0;transform:translate(-50%,calc(10px - 100%))}}@keyframes bubble-out{to{opacity:0;transform:translate(-50%,calc(-100% - 8px))}}#hud .status,#hud .dock,#hud .bubble{transition:opacity .6s var(--ease-out)}#hud.cinematic .status,#hud.cinematic .dock{opacity:0;pointer-events:none}.picture.cinematic{background:0 0}.picture.cinematic .bar{height:11vh;transition:transform .9s var(--ease-out);background:#05080a;position:absolute;left:0;right:0}.picture.cinematic .bar.top{top:0;transform:translateY(-100%)}.picture.cinematic .bar.bottom{bottom:0;transform:translateY(100%)}.picture.cinematic.show .bar{transform:none}.cine-caption{opacity:0;text-align:center;width:min(760px,86vw);color:var(--text);text-shadow:0 2px 18px #0009;transition:opacity 1.2s .5s, transform 1.4s .5s var(--ease-out);position:absolute;bottom:15vh;left:50%;transform:translate(-50%,12px)}.picture.show .cine-caption{opacity:1;transform:translate(-50%)}.cine-caption .season-name{font-family:var(--title);letter-spacing:.22em;text-transform:uppercase;margin-bottom:8px;font-size:56px;display:block}.cine-caption span:last-child{color:var(--text-dim);font-size:20px;font-style:italic}.picture{pointer-events:auto;cursor:pointer;z-index:20;opacity:0;transition:opacity .7s var(--ease-out);background:#0d1214;place-items:center;display:grid;position:absolute;inset:0}.picture.show{opacity:1}.picture img{object-fit:cover;width:100%;height:100%}.picture .caption,.aerial .caption{text-align:center;background:var(--panel-solid);max-width:68%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--rule);border-radius:10px;padding:14px 28px;font-size:22px;line-height:1.35;position:absolute;bottom:7%;left:50%;transform:translate(-50%)}.picture .fallback{font-family:var(--title);letter-spacing:.1em;color:var(--text);text-shadow:0 2px 16px #00000080;place-items:center;font-size:52px;display:grid;position:absolute;inset:0}.narration{cursor:pointer;text-align:center;max-width:640px;font-size:24px;font-style:italic;line-height:1.45}.toast{font-family:var(--title);letter-spacing:.06em;color:var(--text);background:var(--panel-solid);border:1px solid var(--rule);box-shadow:var(--shadow);animation:toast-in .35s var(--ease-out);border-radius:999px;padding:9px 22px;font-size:16px;position:absolute;top:22px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-10px)}}.menu{pointer-events:auto;z-index:30;animation:menu-in .35s var(--ease-out);background:radial-gradient(circle at 50% 45%,#080c0e26,#080c0e99);place-items:center;display:grid;position:absolute;inset:0}@keyframes menu-in{0%{opacity:0}}.menu .card{text-align:center;min-width:380px;color:var(--text);background:var(--panel);-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);border:1px solid var(--rule);animation:card-in .45s var(--ease-out);border-radius:14px;padding:30px 40px 26px;box-shadow:0 24px 70px #0006}@keyframes card-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}.menu h1{font-family:var(--title);letter-spacing:.08em;margin:0 0 6px;font-size:34px;font-weight:400}.menu h2{color:var(--text-dim);margin:0 0 20px;font-size:16px;font-style:italic;font-weight:400}.menu button{cursor:pointer;width:100%;font-family:var(--title);letter-spacing:.1em;color:var(--text);text-align:center;transition:background .2s, border-color .2s, letter-spacing .3s var(--ease-out);background:0 0;border:1px solid #0000;border-radius:8px;margin:6px 0;padding:11px 18px;font-size:19px;display:block;position:relative}.menu button:before{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 10px var(--accent);transition:transform .25s var(--ease-spring);margin-top:-4px;position:absolute;top:50%;left:14px;transform:rotate(45deg)scale(0)}.menu button:hover,.menu button:focus-visible{border-color:var(--rule);letter-spacing:.14em;background:#f6f0de14;outline:none}.menu button:hover:before,.menu button:focus-visible:before{transform:rotate(45deg)scale(1)}.menu button:first-of-type{color:#1b2412;background:linear-gradient(180deg, #d4eb9c, var(--accent));border-color:#eef7d0;box-shadow:0 6px 20px #6f9a3a59}.menu button:first-of-type:before{box-shadow:none;background:#1b2412}.menu button.secondary{color:var(--text-dim)}.menu .row{justify-content:space-between;align-items:center;gap:14px;margin:12px 0;font-size:17px;display:flex}.menu input[type=range]{width:180px;accent-color:var(--accent)}.menu select{font:inherit;color:var(--text);border:1px solid var(--rule);background:#0a0e1099;border-radius:6px;padding:4px 8px}.soul .card{text-align:left;min-width:460px}.soul .bar,.stats .bar{margin:12px 0}.soul .bar label,.stats .bar label{font-family:var(--title);letter-spacing:.1em;color:var(--text-dim);justify-content:space-between;margin-bottom:5px;font-size:13px;display:flex}.soul .bar .track,.stats .bar .track{background:#f6f0de24;border-radius:3px;height:6px;overflow:hidden}.soul .bar .track>i,.stats .bar .track>i{background:linear-gradient(90deg, var(--accent-deep), var(--accent));height:100%;transition:width .8s var(--ease-out);border-radius:3px;display:block}.stats{text-align:left;margin:6px 0 16px}.title-menu{background:linear-gradient(#080c0e00 30%,#080c0e8c)}.title-card{background:#0e13156b;min-width:420px}.logo{line-height:1;font-family:var(--title);color:var(--text);text-shadow:0 2px 24px #00000059;margin:2px 0 10px;font-weight:400}.logo small{letter-spacing:.42em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px;font-size:15px;display:block}.logo b{letter-spacing:.06em;font-size:60px;font-weight:400;display:block}.logo:after{content:"";background:linear-gradient(90deg, transparent, var(--rule-strong), transparent);width:120px;height:1px;margin:16px auto 0;display:block}.credit{color:var(--text-dim);margin:16px 0 0;font-size:13px;font-style:italic}.aerial{cursor:pointer}.crystal{width:min(78vh,78vw);height:min(78vh,78vw);box-shadow:0 0 0 1px var(--rule-strong), 0 0 0 10px #0e131580, 0 30px 80px #00000080, inset 0 0 70px #96c8ff8c;border-radius:50%;position:relative;overflow:hidden}.crystal canvas{filter:saturate(1.1);width:100%;height:100%;display:block}.crystal:after{content:"";background:radial-gradient(circle at 32% 26%,#ffffff80,#fff0 28%),radial-gradient(circle,#0000 60%,#2846784d);border-radius:50%;position:absolute;inset:0}.skip{pointer-events:auto;cursor:pointer;font-family:var(--title);letter-spacing:.1em;color:var(--text);background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--rule);transition:background .2s, transform .25s var(--ease-spring);border-radius:999px;padding:9px 20px;font-size:15px;position:absolute;bottom:24px;right:24px}.skip:hover{background:#f6f0de24;transform:translate(3px)}.loading{z-index:50;color:var(--text);font:400 20px var(--title);letter-spacing:.18em;background:radial-gradient(circle at 50% 40%,#2a3a2c,#0e1416);place-items:center;transition:opacity .6s;display:grid;position:fixed;inset:0}@media (max-width:720px){.dock{gap:6px;padding:7px 10px;bottom:10px}.slot{width:42px;height:42px}.slot svg,.slot img{width:24px;height:24px}.status{gap:14px;top:10px;left:10px}.pop-meter{width:100px}.menu .card{width:calc(100vw - 32px);min-width:0;padding:24px 20px}.logo b{font-size:42px}}.save-indicator{background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--rule);font-family:var(--title);letter-spacing:.12em;color:var(--text);opacity:0;transition:opacity .3s, transform .4s var(--ease-out);pointer-events:none;border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 10px;font-size:13px;display:flex;position:absolute;bottom:92px;right:24px;transform:translateY(6px)}.save-indicator.show{opacity:1;transform:none}.save-indicator i{border:2px solid var(--rule);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.slots-card{flex-direction:column;width:min(980px,100vw - 32px);max-height:calc(100vh - 64px);display:flex}.slot-grid{text-align:left;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin:6px 0 14px;padding:4px;display:grid;overflow-y:auto}.slot-wrap{position:relative}.menu button.save-slot{text-align:left;border:1px solid var(--rule);letter-spacing:normal;background:#0a0e1073;border-radius:10px;flex-direction:column;gap:0;width:100%;margin:0;padding:0;display:flex;overflow:hidden}.menu button.save-slot:before{display:none}.menu button.save-slot:hover{border-color:var(--rule-strong);letter-spacing:normal;background:#f6f0de14;transform:translateY(-2px)}.menu button.save-slot:first-of-type{color:var(--text);box-shadow:none;background:#0a0e1073}.menu button.save-slot.armed{border-color:var(--gold);box-shadow:0 0 0 2px #f0d58c66}.menu button.save-slot.busy{opacity:.6;pointer-events:none}.save-slot .thumb{aspect-ratio:16/9;color:var(--text-dim);background:#1b2426 50%/cover no-repeat;place-items:center;font-size:42px;display:grid;position:relative}.save-slot.new .thumb{border-bottom:1px dashed var(--rule);background:#b9d77a14}.save-slot .tag{letter-spacing:.1em;color:#1b2412;background:var(--accent);border-radius:4px;padding:2px 8px;font-size:11px;font-style:normal;position:absolute;top:8px;left:8px}.save-slot .info{font-family:var(--body);flex-direction:column;gap:2px;padding:9px 12px 11px;display:flex}.save-slot .info b{font-family:var(--title);letter-spacing:.04em;font-size:16px;font-weight:400}.save-slot .info span{color:var(--text-dim);font-size:13px}.save-slot .info .stats{color:var(--text);opacity:.8}.slot-tools{opacity:0;gap:6px;transition:opacity .2s;display:flex;position:absolute;top:8px;right:8px}.slot-wrap:hover .slot-tools{opacity:1}.menu button.mini{letter-spacing:.06em;border:1px solid var(--rule);width:auto;box-shadow:none;color:var(--text);background:#0a0e10cc;border-radius:5px;margin:0;padding:3px 10px;font-size:12px}.menu button.mini:before{display:none}.menu button.mini.danger:hover,.menu button.mini.armed{color:#fff;background:#8e3a2c;border-color:#c96a55}.slot-actions{justify-content:flex-end;margin:0}.slot-actions button{width:auto;margin:0}.slot-grid .empty{text-align:center;color:var(--text-dim);grid-column:1/-1;font-style:italic}.menu button .sub{font-family:var(--body);letter-spacing:.02em;opacity:.75;margin-top:2px;font-size:13px;display:block}.menu .slot-actions button,.menu .slot-actions button:first-of-type{color:var(--text-dim);box-shadow:none;background:0 0;border-color:#0000}.menu .slot-actions button:hover{color:var(--text);border-color:var(--rule);background:#f6f0de14}:is(#hud:has(.menu) .bubble,#hud:has(.menu) .dock,#hud:has(.menu) .status,#hud:has(.menu) .hover-tag){opacity:0;pointer-events:none}.slot{overflow:visible}.slot svg{z-index:1;position:relative}.slot .cd{pointer-events:none;z-index:2;background:conic-gradient(#080c0e9e var(--cd,0deg), transparent 0);border-radius:50%;position:absolute;inset:0}.slot.locked{opacity:.55}.slot .key{z-index:3}.slot .tip{white-space:normal;text-align:left;width:240px;font-family:var(--body);letter-spacing:normal;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.slot .tip b{font-family:var(--title);letter-spacing:.04em;font-size:16px;font-weight:400}.slot .tip span{color:var(--text-dim);font-size:13.5px;line-height:1.35}.slot .tip em{color:var(--accent);font-size:12px;font-style:normal}.hover-tag{flex-direction:column;gap:1px;display:flex}.hover-tag b{font-weight:400}.hover-tag span{font-family:var(--body);letter-spacing:.02em;color:var(--text-dim);font-size:12.5px}.pop-meter.hp>i{background:linear-gradient(90deg,#a8452e,#e98b6e);box-shadow:0 0 10px #e98b6e80}.season-chip{font-family:var(--title);letter-spacing:.1em;background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--rule);pointer-events:none;border-radius:999px;padding:6px 14px;font-size:14px;position:absolute;top:20px;right:22px}.season-chip:empty{display:none}.target-banner{opacity:0;font-family:var(--title);letter-spacing:.06em;color:#1b2412;background:var(--accent);transition:opacity .2s, transform .3s var(--ease-out);pointer-events:none;border-radius:999px;padding:8px 18px;position:absolute;bottom:96px;left:50%;transform:translate(-50%,8px);box-shadow:0 6px 20px #0000004d}.target-banner.show{opacity:1;transform:translate(-50%)}.wheel{pointer-events:auto;z-index:15;width:0;height:0;position:absolute}.wheel:before{content:"";pointer-events:none;width:256px;height:256px;animation:wheel-in .2s var(--ease-out);background:radial-gradient(circle,#0a0e108c 30%,#0a0e1000 70%);border-radius:50%;position:absolute;top:-128px;left:-128px}@keyframes wheel-in{0%{opacity:0;transform:scale(.6)}}.wheel-title{white-space:nowrap;font-family:var(--title);letter-spacing:.06em;text-shadow:0 1px 6px #000000b3;font-size:15px;position:absolute;top:-6px;transform:translate(-50%,-50%)}.wheel-label{white-space:nowrap;color:var(--accent);text-shadow:0 1px 6px #000c;font-size:13px;position:absolute;top:0;transform:translate(-50%,-50%)}.wheel-item{cursor:pointer;width:50px;height:50px;color:var(--text);background:var(--panel-solid);border:1px solid var(--rule-strong);opacity:0;transition:opacity .18s, scale .25s var(--ease-spring), background .15s;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:-25px;left:-25px;scale:.4;box-shadow:0 4px 14px #00000059}.wheel-item.in{opacity:1;scale:1}.wheel-item svg{width:28px;height:28px}.wheel-item:hover{background:var(--accent);color:#1b2412;scale:1.12}.wheel-item.locked{opacity:.45;cursor:default}.wheel-item.locked:hover{background:var(--panel-solid);color:var(--text);scale:1}.wheel-item:after{content:"";background:conic-gradient(#080c0e99 var(--cd,0deg), transparent 0);pointer-events:none;border-radius:50%;position:absolute;inset:0}.wheel-item kbd{min-width:16px;font:10px/16px var(--body);color:var(--text-dim);background:#0a0e10e6;border-radius:8px;padding:0 4px;position:absolute;bottom:-4px;right:-4px}.item-card{opacity:0;background:var(--panel-solid);max-width:min(460px,100vw - 32px);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--gold);box-shadow:0 0 40px #f0d58c40, var(--shadow);pointer-events:none;border-radius:14px;align-items:center;gap:16px;padding:16px 22px;display:flex;position:absolute;top:18%;left:50%;transform:translate(-50%,-12px)}.item-card.show{animation:card-pop .6s var(--ease-out) forwards}.item-card.leave{animation:.5s forwards card-out}@keyframes card-pop{to{opacity:1;transform:translate(-50%)}}@keyframes card-out{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-8px)}}.item-card .ic{width:58px;height:58px;color:var(--gold);border:1px solid var(--gold);border-radius:50%;flex:none;place-items:center;display:grid}.item-card .ic svg{width:34px;height:34px}.item-card small{font-family:var(--title);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-size:11px;display:block}.item-card b{font-family:var(--title);font-size:22px;font-weight:400;display:block}.item-card span{color:var(--text-dim);font-size:14.5px;line-height:1.35;display:block}.item-card em{color:var(--accent);margin-top:4px;font-size:13px;font-style:normal;display:block}.help-overlay{pointer-events:auto;z-index:25;background:#080c0e73;place-items:center;animation:.25s menu-in;display:grid;position:absolute;inset:0}.help-card{background:var(--panel-solid);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--rule);border-radius:14px;max-width:calc(100vw - 32px);padding:24px 32px}.help-card h2{font-family:var(--title);letter-spacing:.1em;text-align:center;margin:0 0 12px;font-weight:400}.help-cols{flex-wrap:wrap;gap:40px;display:flex}.help-card dl{grid-template-columns:auto auto;gap:6px 18px;margin:0;display:grid}.help-card dt{font-family:var(--title);color:var(--accent);text-align:right;white-space:nowrap}.help-card dd{color:var(--text);margin:0}.help-card dd i{color:var(--text-dim);font-size:13px}.help-card p{text-align:center;color:var(--text-dim);margin:14px 0 0;font-size:13px}:is(#hud:has(.menu) .season-chip,#hud:has(.menu) .target-banner){opacity:0}.float-text{white-space:nowrap;pointer-events:none;opacity:0;font-family:var(--title);letter-spacing:.06em;text-shadow:0 2px 6px #000000bf,0 0 2px #000000e6;font-size:17px;position:absolute;top:0;left:0}.float-text.up{color:var(--accent)}.float-text.down{color:var(--danger)}.float-text.gold{color:var(--gold)}.dialogue{opacity:0;pointer-events:none;width:min(940px,100% - 32px);transition:opacity .25s, transform .4s var(--ease-out);position:absolute;bottom:92px;left:50%;transform:translate(-50%,18px)}.dialogue.show{opacity:1;pointer-events:auto;cursor:pointer;transform:translate(-50%)}.dlg-portrait{opacity:0;pointer-events:none;filter:drop-shadow(0 10px 18px #00000073);width:250px;height:250px;transition:opacity .3s, filter .3s, transform .4s var(--ease-out);position:absolute;bottom:64px}.dlg-portrait img{object-fit:contain;width:100%;height:100%;display:block}.dlg-portrait.left{left:6px;transform:translate(-24px)}.dlg-portrait.right{right:6px;transform:translate(24px)}.dlg-portrait.right img{transform:scaleX(-1)}.dlg-portrait.in{opacity:1;transform:none}.dlg-portrait.listening{opacity:.85;filter:brightness(.42)saturate(.5)drop-shadow(0 10px 18px #00000073);transform:translateY(8px)scale(.94)}.dlg-card{border:1px solid var(--rule);background:linear-gradient(#141a1bf0,#0c1011f5);border-radius:14px;min-height:118px;padding:24px 34px 32px;position:relative;box-shadow:0 16px 50px #00000073,inset 0 1px #f6f0de14}.dlg-card:before{content:"";background:linear-gradient(90deg, transparent, var(--mood,var(--accent)), transparent);opacity:.85;border-radius:2px;height:2px;position:absolute;top:-1px;left:24px;right:24px}.dialogue[data-mood=angry]{--mood:#e98b6e}.dialogue[data-mood=happy]{--mood:#f0d58c}.dialogue[data-mood=worried]{--mood:#8caad2}.dlg-name{font-family:var(--title);letter-spacing:.1em;color:#1b2412;background:var(--accent);border-radius:5px;padding:3px 14px 4px;font-size:16px;position:absolute;top:-15px;left:56px;box-shadow:0 2px 10px #00000059}.dialogue:not(.from-left) .dlg-name{left:auto;right:56px}.dlg-name:empty{display:none}.dlg-text{color:var(--text);text-wrap:pretty;min-height:2.9em;font-size:21px;line-height:1.45}.dlg-next{letter-spacing:.06em;color:var(--text-dim);opacity:0;font-size:13px;transition:opacity .2s;position:absolute;bottom:10px;right:22px}.dialogue.complete:not(.waiting) .dlg-next{opacity:1;animation:1.4s ease-in-out infinite dlg-bob}.dlg-key{border:1px solid var(--rule);color:var(--text);border-radius:4px;margin-right:4px;padding:0 6px;font-size:11px;line-height:17px;display:inline-block}.dialogue.waiting .dlg-text{color:var(--text-dim);transition:color .3s}@keyframes dlg-bob{50%{transform:translateY(-3px)}}.dlg-marker{opacity:0;pointer-events:none;filter:drop-shadow(0 2px 3px #00000080);width:16px;height:16px;transition:opacity .2s;position:absolute;top:0;left:0}.dlg-marker:after{content:"";border-right:3px solid var(--accent);border-bottom:3px solid var(--accent);animation:1.4s ease-in-out infinite dlg-bob;position:absolute;inset:0;transform:rotate(45deg)}.dlg-marker.show{opacity:1}:is(#hud:has(.menu) .dialogue,#hud:has(.menu) .dlg-marker){opacity:0;pointer-events:none}#hud:has(.dialogue.show) .hover-tag{opacity:0}@media (max-width:720px){.dialogue{bottom:78px}.dlg-portrait{width:150px;height:150px;bottom:80px}.dlg-card{padding:22px 20px 30px}.dlg-name{left:24px}.dialogue:not(.from-left) .dlg-name{right:24px}.dlg-text{font-size:17px}}
