:root{--bg: rgba(10, 22, 28, .78);--fg: #e8f6ff;--accent: #7fd0ff;--good: #6be0a0;--warn: #ffc04d;--bad: #ff6b6b}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#0c1a20;color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,sans-serif;user-select:none;-webkit-user-select:none;touch-action:none}#game{position:fixed;inset:0;width:100%;height:100%;display:block}.hidden{display:none!important}#loading{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,#1f4a5a,#0c1a20);z-index:50}.logo{font-size:clamp(36px,8vw,72px);font-weight:800;letter-spacing:.04em;background:linear-gradient(90deg,#9fe8ff,#b9ffcf,#ffe39f);-webkit-background-clip:text;background-clip:text;color:transparent}#loadmsg{margin-top:12px;opacity:.8}#hud{position:fixed;inset:0;pointer-events:none;z-index:5;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#bars{position:absolute;top:12px;left:12px;background:var(--bg);border-radius:14px;padding:10px 12px;width:220px}.bar{display:flex;align-items:center;gap:8px;font-size:13px;margin:3px 0}.bar .ic{width:20px;text-align:center}.bar .track{flex:1;height:9px;border-radius:5px;background:#ffffff1f;overflow:hidden}.bar .fill{height:100%;border-radius:5px;transition:width .3s}#info{position:absolute;top:12px;right:12px;background:var(--bg);border-radius:14px;padding:10px 14px;font-size:13px;line-height:1.55;text-align:right;min-width:0}#info b{color:var(--accent)}#inventory{position:absolute;bottom:14px;left:50%;transform:translate(-50%);display:flex;gap:6px;flex-wrap:wrap;justify-content:center;max-width:70vw}.inv{background:var(--bg);border-radius:10px;padding:4px 8px;font-size:15px}.inv small{opacity:.75;margin-left:2px}#inventory{cursor:pointer;pointer-events:auto}.bag-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08)}.bag-item{flex:1 1 160px}.trade-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.trade-box{display:flex;flex-wrap:wrap;gap:6px;min-height:38px;padding:6px;border-radius:10px;background:#ffffff0d;margin-bottom:8px}.warn{color:#ffb36b}#emotes{position:absolute;left:50%;bottom:58px;transform:translate(-50%);display:flex;align-items:center;gap:6px;pointer-events:auto;max-width:92vw}#emotes button{border:1px solid rgba(255,255,255,.25);background:var(--bg);color:var(--fg);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:18px;line-height:1;width:52px;height:48px;padding:2px}#emotes button small{font-size:9px;margin-top:3px;opacity:.8;white-space:nowrap}#emotes button:hover{background:#3c7896b3}#emotes .emote-toggle{width:40px;height:40px;border-radius:50%}#emotes .emote-list{display:none;gap:4px;flex-wrap:wrap;justify-content:center}#emotes.open .emote-list{display:flex}body.touch #emotes{left:150px;right:330px;transform:none;bottom:calc(8px + env(safe-area-inset-bottom));max-width:none}body.touch #emotes .emote-list{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;touch-action:pan-x;scrollbar-width:none}body.touch #emotes .emote-toggle,body.touch #emotes .emote-list button{flex:none}body.touch #emotes button{width:40px;height:40px;font-size:16px}body.touch #emotes button small{display:none}#quests{position:absolute;top:175px;left:12px;width:240px;background:var(--bg);border-radius:14px;padding:8px 10px;font-size:12px;pointer-events:auto;cursor:pointer}#quests:empty{display:none}#quests .qhead{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:4px}#quests .q{display:flex;gap:8px;margin:5px 0;line-height:1.3}.qn{color:var(--good);font-weight:600}.qrow{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:14px}.qrow .qi{font-size:20px;width:26px;text-align:center}.qrow.done{opacity:.55}.qrow.locked{opacity:.35}.qrow.active{background:#7fd0ff14;border-radius:10px;padding-left:6px}body.touch #quests{top:146px;width:170px;font-size:10px;padding:5px 8px}body.touch #quests .muted{display:none}#minimap{position:absolute;left:12px;bottom:12px;width:180px;height:180px;border-radius:50%;pointer-events:auto;cursor:pointer;box-shadow:0 2px 10px #0006}body.touch #minimap{inset:128px 12px auto auto;width:110px;height:110px}#worldmapwrap{position:fixed;inset:0;z-index:15;background:#040a0eb3;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:auto}#worldmap{width:min(90vw,82vh);height:min(90vw,82vh);border-radius:16px;border:2px solid rgba(127,208,255,.5)}.maphint{margin-top:8px;font-size:13px;opacity:.8}#prompt{position:absolute;bottom:70px;left:50%;transform:translate(-50%);background:var(--bg);border:1px solid var(--accent);padding:8px 16px;border-radius:20px;font-size:15px;white-space:nowrap;max-width:92vw;overflow:hidden;text-overflow:ellipsis}#prompt:empty{display:none}#toasts{position:absolute;top:40%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;align-items:center}.toast{background:var(--bg);padding:8px 16px;border-radius:16px;font-size:15px;animation:toast 3.5s forwards;text-align:center;max-width:80vw}@keyframes toast{0%{opacity:0;transform:translateY(10px)}10%,80%{opacity:1;transform:none}to{opacity:0}}#status{position:absolute;top:12px;left:50%;transform:translate(-50%);font-size:14px;background:var(--bg);padding:5px 14px;border-radius:14px}#status:empty{display:none}#touchui{position:fixed;inset:0;pointer-events:none;z-index:6}#joystick{position:absolute;width:120px;height:120px;border-radius:50%;background:#ffffff1f;border:2px solid rgba(255,255,255,.3);display:none}#joyknob{position:absolute;left:35px;top:35px;width:50px;height:50px;border-radius:50%;background:#ffffff80}#touchbtns{position:absolute;right:calc(12px + env(safe-area-inset-right));bottom:calc(60px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,58px);gap:8px;pointer-events:auto;direction:rtl}#touchbtns button,#touchtop button{direction:ltr;pointer-events:auto;width:58px;height:58px;border-radius:50%;border:2px solid rgba(255,255,255,.35);background:#0a161c8c;color:#fff;font-size:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}#touchbtns button small{font-size:9px;margin-top:2px;opacity:.8}#touchbtns button.big{width:58px;height:58px;background:#286e8c99}#touchbtns button.down{background:#7fd0ff99}#touchtop{position:absolute;top:250px;left:12px;display:flex;flex-direction:column;gap:8px;pointer-events:auto}#touchtop button{width:46px;height:46px;font-size:18px}body:not(.touch) #touchui{display:none!important}body:not(.can-breathe) #breathebtn{display:none}body:not(.can-fly) #descendbtn{display:none}body.touch #bars{width:170px;padding:6px 8px}body.touch .bar{font-size:11px;margin:1px 0}body.touch #info{font-size:11px;padding:6px 10px;min-width:0}body.touch #inventory{bottom:auto;top:12px;max-width:40vw;left:auto;right:calc(50% - 60px);transform:none}body.touch .inv{font-size:12px}body.touch #prompt{bottom:auto;top:54%;font-size:13px}@media (max-width: 700px){body.touch #inventory .inv:not(.cap){display:none}}#menu{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#040a0e8c;backdrop-filter:blur(3px);pointer-events:auto}#menu.editor{background:transparent;backdrop-filter:none;justify-content:flex-end}#menucard{background:#0c1a20f0;border:1px solid rgba(127,208,255,.4);border-radius:18px;padding:18px 20px;width:min(560px,94vw);max-height:92vh;overflow-y:auto;user-select:text;-webkit-user-select:text}#menu.editor #menucard{margin-right:2vw;width:min(460px,60vw)}@media (max-width: 700px){#menu.editor{align-items:flex-end;justify-content:center}#menu.editor #menucard{margin:0;width:100vw;max-height:55vh;border-radius:18px 18px 0 0}}#menucard h1{margin:0 0 4px;font-size:26px}#menucard h2{margin:14px 0 6px;font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}#menucard p{margin:6px 0;line-height:1.45;opacity:.9;font-size:14px}.grid{display:flex;flex-wrap:wrap;gap:6px}.chip.big{padding:12px 16px;font-size:16px;line-height:1.3}.chip.big small{opacity:.7;font-size:12px}.btn:disabled{opacity:.4;cursor:not-allowed}.chip{border:1px solid rgba(255,255,255,.25);background:#ffffff0f;color:var(--fg);padding:8px 12px;border-radius:12px;font-size:14px;cursor:pointer}.chip.on{background:#6be0a040;border-color:var(--good)}.chip:disabled{opacity:.4;cursor:default}.swatch{width:30px;height:30px;border-radius:50%;border:2px solid transparent;cursor:pointer}.swatch.on{border-color:#fff;box-shadow:0 0 0 2px var(--accent)}.btn{margin-top:14px;width:100%;padding:13px;font-size:17px;font-weight:700;border:0;border-radius:14px;background:linear-gradient(90deg,#4fb3d9,#6be0a0);color:#08202a;cursor:pointer}.btn.secondary{background:#ffffff1f;color:var(--fg);font-weight:500}input[type=text]{width:100%;padding:10px 12px;font-size:16px;border-radius:10px;border:1px solid rgba(255,255,255,.3);background:#0000004d;color:var(--fg)}input[type=range]{width:100%}.row{display:flex;gap:8px;align-items:center}.muted{opacity:.7;font-size:13px}table.keys{width:100%;font-size:14px;border-collapse:collapse}table.keys td{padding:3px 4px;border-bottom:1px solid rgba(255,255,255,.08)}table.keys td:first-child{color:var(--accent);white-space:nowrap;width:40%}#vrbutton-slot button{position:static!important;transform:none!important;width:100%!important;margin-top:10px}.tabs{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0 4px;position:sticky;top:-18px;background:#0c1a20f7;padding:6px 0;z-index:1}.tab{border:0;background:#ffffff12;color:var(--fg);padding:7px 10px;border-radius:10px;font-size:13px;cursor:pointer}.tab.on{background:#7fd0ff4d}.cpick{width:34px;height:30px;border:0;padding:0;background:none;cursor:pointer}.pics{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:10px 0}.pic{display:flex;flex-direction:column;align-items:center;gap:2px;width:120px;padding:12px 6px;border-radius:16px;border:2px solid #b4c4cb;background:#b4c4cb;color:#0c1a20;font-size:14px;font-weight:600;cursor:pointer}.pic span{font-size:52px;line-height:1.1}.pic small{opacity:.6;font-size:11px}.pic.on{background:#cfeedd;border-color:var(--good);box-shadow:0 0 0 2px var(--good)}.pics.small .pic{width:74px;padding:8px 4px;font-size:12px}.pics.small .pic span{font-size:34px}#exitbtn{position:absolute;right:12px;bottom:12px;pointer-events:auto;border:1px solid rgba(255,255,255,.3);background:var(--bg);color:var(--fg);border-radius:14px;padding:8px 14px;font-size:14px;cursor:pointer}body.touch #exitbtn{bottom:auto;top:246px;padding:6px 10px;font-size:12px}#e-passkey{text-align:center;margin-top:12px}#e-passkey a{color:inherit;text-decoration:underline;text-underline-offset:3px}#info,#bars,#quests{pointer-events:auto}#info .irow,#bars .bar,#quests .q,#quests .qhead{cursor:default}#info .irow{white-space:nowrap}#quests .q{display:flex;align-items:center;gap:6px}.logomark{width:clamp(96px,20vw,160px);height:auto;margin-bottom:12px}h1.brand{display:flex;align-items:center;gap:10px}h1.brand img{width:40px;height:40px}.pic img{width:100%;aspect-ratio:1;object-fit:contain}.pics.row{align-items:stretch;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;gap:6px;margin:8px 0;padding-bottom:4px;scrollbar-width:thin}.pics.row .pic{justify-content:flex-start;line-height:1.15;flex:1 0 64px;max-width:92px;width:auto;padding:4px 2px 6px;font-size:11px;font-weight:600;background:#b4c4cb;color:#0c1a20;border:2px solid #b4c4cb;border-radius:12px}.pics.row .pic img{width:100%;border-radius:8px}.pics.row .pic.on{background:#cfeedd;border-color:var(--good);box-shadow:0 0 0 2px var(--good)}.pics.row.subs{padding:6px;background:#ffffff0f;border-radius:14px}.pics.row.subs .pic{flex-basis:52px;max-width:76px}#menu.entry #menucard{width:min(720px,96vw);padding:22px 26px}#menu.entry .pics.row .pic{max-width:110px;font-size:12px}#menu.entry .pics.row.subs .pic{max-width:96px}.chip.ctl{min-width:54px}select.ctlvr{background:#ffffff0f;color:var(--fg);border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:4px 6px}.seg{display:flex;gap:0;margin:8px auto;width:fit-content;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.25)}.seg button{padding:7px 22px;border:0;background:#ffffff0f;color:var(--fg);font-size:14px;font-weight:600;cursor:pointer}.seg button.on{background:#b4c4cb;color:#0c1a20}:root{--pop1: #ff5fd2;--pop2: #8a6bff;--pop3: #3ee7ff;--pop4: #c6ff4a;--ink: #0b0820;--display: "Bricolage Grotesque", system-ui, sans-serif}#loading{background:radial-gradient(60% 50% at 20% 20%,#8a6bff66,transparent 70%),radial-gradient(50% 50% at 85% 75%,#ff5fd255,transparent 70%),radial-gradient(40% 40% at 60% 30%,#3ee7ff44,transparent 70%),var(--ink)}#loading .logomark{animation:e-bob 2.4s ease-in-out infinite;filter:drop-shadow(0 10px 30px #8a6bff88)}.logo{font-family:var(--display);font-weight:800;letter-spacing:-.03em;background:linear-gradient(90deg,var(--pop3),var(--pop1),var(--pop4),var(--pop3));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;animation:e-shine 6s linear infinite}.loadbar{width:min(260px,60vw);height:8px;border-radius:99px;background:#ffffff1a;overflow:hidden;margin-top:18px}.loadbar i{display:block;height:100%;width:40%;border-radius:99px;background:linear-gradient(90deg,var(--pop3),var(--pop1));animation:e-load 1.3s ease-in-out infinite}#loadmsg{font-family:var(--display);font-weight:500;opacity:.85}#menu.entry{background:linear-gradient(160deg,#1a0b3dcc,#0b0820e6 55%,#0a2a3acc);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4)}#menu.entry #menucard{position:relative;overflow-x:hidden;width:min(680px,96vw);padding:26px 26px 20px;border-radius:32px;border:1px solid #ffffff2e;background:linear-gradient(180deg,#ffffff14,#ffffff08);box-shadow:0 30px 80px -20px #000a,inset 0 1px #fff3;font-family:var(--display);scrollbar-width:none;animation:e-in .6s cubic-bezier(.2,1.4,.4,1) both}#menu.entry #menucard>*{position:relative;z-index:1}.e-blobs{position:absolute!important;inset:0;z-index:0!important;pointer-events:none;overflow:hidden;border-radius:inherit}.e-blobs i{position:absolute;width:260px;height:260px;border-radius:50%;filter:blur(60px);opacity:.55;animation:e-float 12s ease-in-out infinite alternate}.e-blobs i:nth-child(1){background:var(--pop2);top:-80px;left:-60px}.e-blobs i:nth-child(2){background:var(--pop1);top:30%;right:-100px;animation-delay:-4s}.e-blobs i:nth-child(3){background:var(--pop3);bottom:-120px;left:25%;animation-delay:-8s;opacity:.35}.e-hero{text-align:center;margin-bottom:8px}.e-logo{animation:e-bob 3s ease-in-out infinite;filter:drop-shadow(0 8px 20px #ff5fd277)}.e-title{margin:2px 0 0!important;font-size:clamp(40px,9vw,64px)!important;font-weight:800;letter-spacing:-.045em;line-height:.95}.e-title span{background:linear-gradient(90deg,var(--pop1),var(--pop2),var(--pop3),var(--pop1));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:e-shine 6s linear infinite}#menucard .e-tag{margin:8px 0 0;font-size:16px;opacity:.85}.e-step{margin-top:18px}.e-label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#fffc;margin-bottom:10px}.e-label b{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--pop4);color:var(--ink);font-size:13px;transform:rotate(-6deg)}#menu.entry .e-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}#menu.entry .e-modes .pic{width:auto;padding:16px 10px 14px;border-radius:22px;border:2px solid #ffffff22;background:#ffffff0f;color:#fff;font-family:var(--display);font-size:18px;font-weight:700;transition:transform .2s cubic-bezier(.2,1.6,.4,1),background .2s,border-color .2s}#menu.entry .e-modes .pic span{font-size:44px;transition:transform .3s cubic-bezier(.2,1.6,.4,1)}#menu.entry .e-modes .pic small{opacity:.65;font-weight:500;font-size:13px}#menu.entry .e-modes .pic:hover{transform:translateY(-3px);border-color:#fff5}#menu.entry .e-modes .pic:hover span{transform:scale(1.12) rotate(-6deg)}#menu.entry .e-modes .pic.on{background:linear-gradient(135deg,#ff5fd240,#8a6bff40);border-color:var(--pop1);box-shadow:0 0 0 4px #ff5fd233,0 12px 30px -10px #ff5fd2aa}.e-namerow{display:flex;gap:10px;align-items:stretch}#menu.entry #e-name{flex:1;min-width:0;padding:14px 18px;font-family:var(--display);font-size:18px;font-weight:600;border-radius:18px;border:2px solid #ffffff22;background:#00000040;color:#fff;outline:none;transition:border-color .2s,box-shadow .2s}#menu.entry #e-name:focus{border-color:var(--pop3);box-shadow:0 0 0 4px #3ee7ff33}#menu.entry .seg{margin:0;border-radius:18px;border:2px solid #ffffff22;padding:4px;gap:4px;background:#00000040}#menu.entry .seg button{border-radius:13px;padding:0 16px;font-family:var(--display);background:transparent;color:#ffffffb0;transition:background .2s,color .2s}#menu.entry .seg button.on{background:var(--pop3);color:var(--ink)}#menu.entry .pics.row{gap:10px;padding:4px 2px 8px;scrollbar-width:none}#menu.entry .pics.row::-webkit-scrollbar{display:none}#menu.entry .pics.row .pic{max-width:108px;flex-basis:84px;padding:6px 6px 8px;border-radius:20px;border:2px solid #ffffff1f;background:#ffffff12;color:#fff;font-family:var(--display);font-size:13px;font-weight:700;transition:transform .2s cubic-bezier(.2,1.6,.4,1),border-color .2s,background .2s}#menu.entry .pics.row .pic img{border-radius:14px;background:radial-gradient(circle at 50% 35%,#ffffff30,#ffffff08)}#menu.entry .pics.row .pic:hover{transform:translateY(-3px) rotate(-1.5deg)}#menu.entry .pics.row .pic.on{background:linear-gradient(160deg,#3ee7ff38,#8a6bff38);border-color:var(--pop3);box-shadow:0 0 0 3px #3ee7ff2e,0 10px 24px -10px #3ee7ffaa}#menu.entry .pics.row.subs{margin-top:4px;padding:10px;border-radius:24px;background:#0003;border:1px dashed #ffffff22}#menu.entry .pics.row.subs .pic{max-width:96px;flex-basis:72px}#menu.entry .e-go{margin-top:22px;padding:18px;border-radius:22px;font-family:var(--display);font-size:22px;font-weight:800;letter-spacing:-.01em;color:var(--ink);background:linear-gradient(90deg,var(--pop4),var(--pop3),var(--pop1),var(--pop4));background-size:300% 100%;box-shadow:0 6px #0005,0 18px 40px -12px #ff5fd2aa;animation:e-shine 5s linear infinite;transition:transform .15s,box-shadow .15s}#menu.entry .e-go span{display:inline-block;transition:transform .2s}#menu.entry .e-go:hover:not(:disabled){transform:translateY(-2px) scale(1.01)}#menu.entry .e-go:hover:not(:disabled) span{transform:translate(6px)}#menu.entry .e-go:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px #0005}#menu.entry .e-go:disabled{opacity:1;filter:grayscale(1) brightness(.6);animation:none}#menu.entry #e-passkey{font-size:14px;opacity:.75}@media (max-width: 520px){#menu.entry #menucard{padding:18px 14px 14px;border-radius:26px}.e-namerow{flex-direction:column}#menu.entry .seg{align-self:center;height:46px}#menu.entry .e-modes .pic span{font-size:36px}}@media (prefers-reduced-motion: reduce){#menu.entry *,#loading *{animation:none!important;transition:none!important}}@keyframes e-shine{to{background-position:300% 0}}@keyframes e-bob{50%{transform:translateY(-6px) rotate(-3deg)}}@keyframes e-load{0%{transform:translate(-100%)}to{transform:translate(260%)}}@keyframes e-float{to{transform:translate(40px,30px) scale(1.15)}}@keyframes e-in{0%{opacity:0;transform:translateY(24px) scale(.96)}}.e-title span,.logo{padding-right:.08em;margin-right:-.08em}.e-logo{width:76px;height:76px;border-radius:22px}#loading .logomark{border-radius:26%}
