:root{color-scheme:light;--ink: #2a2140;--ink-2: #5a4f78;--ink-3: #8d84a8;--glass: #f2f8f3;--glass-hi: #fbfefb;--well: #dcebe3;--well-2: #c9dfd4;--lantern: #ffc23d;--lantern-2: #ffe08a;--coral: #f07167;--lagoon: #4fc3d9;--kelp: #2e8b72;--sea: #1e2240;--sea-2: #2c3566;--cream: #fbf1d9;--ch-local: #2a2140;--ch-global: #7b55c7;--ch-pm: #c93a73;--ch-game: #2a7a62;--ch-sys: #9a6417;--tag-self: #ffd25e;--tag-player: #fbf1d9;--tag-npc: #bdf3ff;--tag-mob: #ffc9c2;--scrim: rgba(30, 34, 64, .42);--font-display: "Recursive", "Trebuchet MS", ui-rounded, system-ui, sans-serif;--font-body: "Recursive", "Trebuchet MS", ui-rounded, system-ui, sans-serif;--casual: "CASL" 1;--semi: "CASL" .45;--t-xs: 11px;--t-s: 13px;--t-m: 15px;--t-l: 19px;--t-xl: 26px;--t-xxl: clamp(44px, 9vw, 84px);--stroke: 2.5px;--r-panel: 18px;--r-slot: 11px;--r-pill: 999px;--lift: 0 3px 0 var(--ink);--lift-lg: 0 5px 0 var(--ink);--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px);--gap: 12px;--dock-h: 0px}html,body{height:100%;margin:0;overflow:hidden;background:var(--sea);color:var(--ink);font-family:var(--font-body);font-variation-settings:var(--semi);font-size:var(--t-m);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;touch-action:manipulation;overscroll-behavior:none}#app{position:fixed;inset:0;overflow:hidden;user-select:none;-webkit-user-select:none}#world{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}#overlay{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0;isolation:isolate}#hud,#screens{position:absolute;inset:0;pointer-events:none;z-index:1}#screens{z-index:2}#hud>*,#screens>*{pointer-events:auto}button{font:inherit;color:inherit;font-variation-settings:inherit}input,textarea{font:inherit;font-variation-settings:var(--semi);user-select:text;-webkit-user-select:text}:focus-visible{outline:3px solid var(--lagoon);outline-offset:2px}.ico{display:inline-grid;place-items:center;width:22px;height:22px;flex:none}.ico svg{width:100%;height:100%}.glass{background:var(--glass);border:var(--stroke) solid var(--ink);border-radius:var(--r-panel);box-shadow:var(--lift)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border:var(--stroke) solid var(--ink);border-radius:13px;background:var(--glass-hi);box-shadow:var(--lift);font-weight:700;cursor:pointer;transition:transform .06s ease,box-shadow .06s ease,background .12s}.btn:hover{background:#fff}.btn:active,.btn.is-down{transform:translateY(3px);box-shadow:0 0 0 var(--ink)}.btn--primary{background:var(--lantern);font-variation-settings:var(--casual);font-weight:800}.btn--primary:hover{background:var(--lantern-2)}.btn--danger{background:var(--coral);color:#fff}.btn--small{min-height:32px;padding:0 11px;border-radius:10px;font-size:var(--t-s)}.btn--icon{width:42px;padding:0}.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:var(--lift)}.chip{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px 0 7px;border:var(--stroke) solid var(--ink);border-radius:var(--r-pill);background:var(--glass);box-shadow:0 2px 0 var(--ink);font-size:var(--t-s);font-weight:700;white-space:nowrap;cursor:pointer}.chip .ico{width:17px;height:17px}.chip--quiet{cursor:default}.field{width:100%;min-height:42px;box-sizing:border-box;padding:0 12px;border:var(--stroke) solid var(--ink);border-radius:12px;background:#fff;color:var(--ink);font-size:16px}.field::placeholder{color:var(--ink-3)}.bar{position:relative;height:9px;border:2px solid var(--ink);border-radius:var(--r-pill);background:var(--well);overflow:hidden}.bar>i{position:absolute;inset:0 auto 0 0;background:var(--kelp);border-radius:var(--r-pill);transition:width .3s ease}.slot{position:relative;aspect-ratio:1;max-width:100%;border:2px solid var(--well-2);border-radius:var(--r-slot);background:var(--well);display:grid;place-items:center;cursor:pointer;transition:background .1s,border-color .1s}.slot:hover{border-color:var(--ink-3)}.slot img{width:82%;height:82%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}.slot--full{background:var(--glass-hi);border-color:var(--well-2)}.slot--sel{border-color:var(--ink);background:var(--lantern-2)}.slot--drag{opacity:.35}.slot .qty{position:absolute;left:4px;top:2px;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink);text-shadow:0 0 2px #fff,0 0 2px #fff,0 0 2px #fff}.slot .qty--big{color:var(--kelp)}.slot .price{position:absolute;right:3px;bottom:1px;font-size:11px;font-weight:800;color:var(--ch-sys);text-shadow:0 0 2px #fff,0 0 2px #fff}.slot .lock{position:absolute;right:3px;top:2px;font-size:10px;font-weight:800;color:var(--coral)}.empty-note{color:var(--ink-2);font-size:var(--t-s);text-align:center;padding:18px 8px;line-height:1.45}.tag{position:absolute;left:0;top:0;width:0;height:0;will-change:transform}.tag .nm{position:absolute;left:0;bottom:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;font-family:var(--font-display);font-variation-settings:var(--casual);font-weight:800;font-size:13px;line-height:1.05;white-space:nowrap;color:var(--tag-player);text-shadow:0 1.5px 0 var(--ink),1.5px 0 0 var(--ink),-1.5px 0 0 var(--ink),0 -1.5px 0 var(--ink),1px 1px 0 var(--ink),-1px 1px 0 var(--ink),1px -1px 0 var(--ink),-1px -1px 0 var(--ink);transition:opacity .2s}.tag .nm small{font-size:10.5px;font-weight:600;font-variation-settings:var(--semi);opacity:.92}.tag-self .nm{color:var(--tag-self)}.tag-npc .nm{color:var(--tag-npc)}.tag-mob .nm{color:var(--tag-mob);font-size:12px}.tag .hp{position:absolute;left:-24px;bottom:19px;width:48px;height:6px;border:2px solid var(--ink);border-radius:4px;background:var(--coral);overflow:hidden;transition:opacity .25s}.tag .hp i{position:absolute;inset:0 auto 0 0;background:#7bd85a;transition:width .2s}.tag .bubbles{position:absolute;left:0;bottom:22px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;width:210px}.bubble{position:relative;max-width:200px;padding:6px 10px 7px;border:2px solid var(--ink);border-radius:14px;background:var(--glass-hi);box-shadow:0 2px 0 var(--ink);font-size:13px;font-weight:600;line-height:1.3;text-align:center;overflow-wrap:anywhere;animation:bubble-in .22s cubic-bezier(.2,1.6,.4,1) both}.bubble:last-child:after{content:"";position:absolute;left:50%;bottom:-8px;width:10px;height:10px;margin-left:-6px;background:var(--glass-hi);border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg)}.bubble.react{padding:2px 6px;font-size:26px;border-radius:50%;line-height:1.2}.bubble.out{animation:bubble-out .35s ease both}@keyframes bubble-in{0%{transform:scale(.5) translateY(8px);opacity:0}}@keyframes bubble-out{to{transform:translateY(-8px);opacity:0}}.tag .splats{position:absolute;left:0;bottom:30px}.splat{position:absolute;left:0;bottom:0;transform:translate(-50%);min-width:26px;height:26px;padding:0 4px;box-sizing:border-box;display:grid;place-items:center;border:2px solid var(--ink);border-radius:50%/60% 60% 40% 40%;background:var(--coral);color:#fff;font-weight:900;font-size:14px;font-variation-settings:var(--casual);animation:splat 1.05s ease-out both}.splat.miss{background:var(--lagoon)}@keyframes splat{0%{transform:translate(calc(-50% + var(--dx, 0px)),6px) scale(.4);opacity:0}15%{transform:translate(calc(-50% + var(--dx, 0px))) scale(1.15);opacity:1}70%{transform:translate(calc(-50% + var(--dx, 0px)),-14px) scale(1);opacity:1}to{transform:translate(calc(-50% + var(--dx, 0px)),-26px) scale(.9);opacity:0}}.hud-top-left{position:absolute;left:calc(var(--gap) + var(--sal));top:calc(var(--gap) + var(--sat));display:flex;flex-direction:column;align-items:flex-start;gap:7px;max-width:calc(100% - 200px)}.place{font-family:var(--font-display);font-variation-settings:var(--casual);font-weight:900;font-size:var(--t-xl);line-height:.95;letter-spacing:-.01em;color:var(--cream);text-shadow:0 2px 0 var(--ink),2px 0 0 var(--ink),-2px 0 0 var(--ink),0 -2px 0 var(--ink),2px 2px 0 var(--ink),-2px 2px 0 var(--ink),2px -2px 0 var(--ink),-2px -2px 0 var(--ink),0 4px 0 var(--ink);white-space:nowrap}.place-chips{display:flex;gap:6px;flex-wrap:wrap}.hover-text{min-height:20px;font-weight:800;font-size:var(--t-s);color:var(--cream);text-shadow:0 1.5px 0 var(--ink),1.5px 0 0 var(--ink),-1.5px 0 0 var(--ink),0 -1.5px 0 var(--ink)}.hud-top-right{position:absolute;right:calc(var(--gap) + var(--sar));top:calc(var(--gap) + var(--sat));display:grid;grid-template-columns:auto auto;align-items:start;gap:8px}.minimap{position:relative;width:132px;height:132px;border-radius:50%;border:3px solid var(--ink);box-shadow:var(--lift);overflow:hidden;background:var(--sea-2);cursor:pointer;grid-row:span 3}.minimap canvas{width:100%;height:100%;display:block}.orbs{display:flex;flex-direction:column;gap:7px}.orb{display:flex;align-items:center;gap:4px;min-width:64px;height:34px;padding:0 9px 0 6px;box-sizing:border-box;border:var(--stroke) solid var(--ink);border-radius:var(--r-pill);background:var(--glass);box-shadow:0 2px 0 var(--ink);font-weight:800;font-variant-numeric:tabular-nums;font-size:var(--t-s);cursor:pointer;position:relative;overflow:hidden}.orb .fill{position:absolute;inset:0 auto 0 0;opacity:.32;transition:width .3s}.orb>*:not(.fill){position:relative}.orb--hp .fill{background:var(--coral)}.orb--hp .ico{color:#c93a3a}.orb--run .fill{background:var(--lagoon)}.orb--run.on{background:var(--lantern-2)}.orb--clock{cursor:default}.xp-drops{position:absolute;right:calc(var(--gap) + var(--sar) + 10px);top:calc(var(--sat) + 168px);display:flex;flex-direction:column;align-items:flex-end;gap:4px;pointer-events:none}.xp-drop{display:flex;align-items:center;gap:5px;font-weight:900;font-variation-settings:var(--casual);font-size:14px;color:var(--cream);text-shadow:0 1.5px 0 var(--ink),1.5px 0 0 var(--ink),-1.5px 0 0 var(--ink),0 -1.5px 0 var(--ink);animation:xp-rise 2.2s ease-out both}.xp-drop .ico{width:20px;height:20px;padding:2px;border:2px solid var(--ink);border-radius:7px;color:var(--ink)}@keyframes xp-rise{0%{transform:translateY(14px);opacity:0}12%{transform:translateY(0);opacity:1}75%{opacity:1}to{transform:translateY(-34px);opacity:0}}.toast-level{position:absolute;left:50%;top:calc(var(--sat) + 70px);transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:10px 18px 12px 12px;border:3px solid var(--ink);border-radius:20px;background:var(--lantern);box-shadow:var(--lift-lg);animation:level-in 3.4s cubic-bezier(.2,1.4,.4,1) both;pointer-events:none}.toast-level .badge{display:grid;place-items:center;width:44px;height:44px;border:2.5px solid var(--ink);border-radius:13px;background:var(--glass-hi)}.toast-level .badge .ico{width:28px;height:28px}.toast-level b{display:block;font-family:var(--font-display);font-variation-settings:var(--casual);font-weight:900;font-size:var(--t-l);line-height:1.05}.toast-level span{font-size:var(--t-s);font-weight:600}@keyframes level-in{0%{transform:translate(-50%,-30px) scale(.6);opacity:0}10%{transform:translate(-50%) scale(1);opacity:1}85%{transform:translate(-50%) scale(1);opacity:1}to{transform:translate(-50%,-14px) scale(.96);opacity:0}}.status-pill{position:absolute;left:50%;top:calc(var(--sat) + 14px);transform:translate(-50%);padding:7px 14px;border:var(--stroke) solid var(--ink);border-radius:var(--r-pill);background:var(--lantern-2);box-shadow:var(--lift);font-weight:800;font-size:var(--t-s);white-space:nowrap}.chat{position:absolute;left:calc(var(--gap) + var(--sal));bottom:calc(var(--gap) + var(--sab));width:min(400px,calc(100% - 380px));min-width:300px;height:236px;display:flex;flex-direction:column;background:#f2f8f3e6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.chat-tabs{display:flex;gap:2px;padding:6px 6px 0}.chat-tab{flex:1;height:28px;border:none;border-radius:9px;background:transparent;font-size:var(--t-s);font-weight:700;color:var(--ink-2);cursor:pointer;position:relative}.chat-tab.on{background:var(--ink);color:var(--cream)}.chat-tab .dot{position:absolute;top:3px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--ch-pm)}.chat-log{flex:1;min-height:0;overflow-y:auto;padding:6px 10px;font-size:var(--t-s);line-height:1.38;user-select:text;-webkit-user-select:text;overscroll-behavior:contain;scrollbar-width:thin}.msg{overflow-wrap:anywhere;padding:1px 0}.msg .from{font-weight:800;cursor:pointer}.msg .tagline{font-weight:700;font-size:11px;margin-right:4px;padding:0 5px 1px;border-radius:6px;color:#fff;vertical-align:1px}.msg--local .from{color:var(--ch-local)}.msg--global{color:#3f2c6e}.msg--global .tagline{background:var(--ch-global)}.msg--pm{color:#7a1f47}.msg--pm .tagline{background:var(--ch-pm)}.msg--game{color:var(--ch-game);font-weight:600}.msg--sys{color:var(--ch-sys);font-weight:700}.chat-input{display:flex;gap:6px;padding:6px;border-top:2px solid var(--well-2)}.chat-input .field{min-height:38px;font-size:15px}.chan{flex:none;min-width:66px;height:38px;border:var(--stroke) solid var(--ink);border-radius:11px;background:var(--glass-hi);font-weight:800;font-size:var(--t-s);cursor:pointer}.chan--global{background:var(--ch-global);color:#fff}.chan--pm{background:var(--ch-pm);color:#fff}.chat-input .btn{min-height:38px;width:42px;padding:0}.ticker{position:absolute;left:calc(var(--gap) + var(--sal));right:96px;bottom:calc(var(--dock-h) + var(--sab) + 10px);display:none;flex-direction:column;gap:3px;pointer-events:none}.ticker .msg{align-self:flex-start;max-width:100%;padding:3px 9px 4px;border-radius:10px;background:#f2f8f3e0;border:2px solid var(--ink);font-size:13px;animation:ticker-fade 9s ease both}@keyframes ticker-fade{0%{opacity:0;transform:translateY(6px)}4%,80%{opacity:1;transform:none}to{opacity:0}}.side{position:absolute;right:calc(var(--gap) + var(--sar));bottom:calc(var(--gap) + var(--sab) + 60px);width:286px;max-height:calc(100% - 250px - var(--sat) - var(--sab));min-height:200px;display:flex;flex-direction:column;overflow:hidden}.side[hidden]{display:none}.side-head,.win-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 10px 8px 14px}.side-head h2,.win-head h2{margin:0;font-family:var(--font-display);font-variation-settings:var(--casual);font-weight:900;font-size:var(--t-l);line-height:1.1;text-wrap:balance}.side-head .aside{font-size:var(--t-s);font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}.side-body{flex:1;min-height:0;overflow-y:auto;padding:2px 12px 12px;scrollbar-width:thin;overscroll-behavior:contain}.dock{position:absolute;right:calc(var(--gap) + var(--sar));bottom:calc(var(--gap) + var(--sab));display:flex;gap:6px;padding:5px}.dock-btn{position:relative;display:grid;place-items:center;width:42px;height:42px;border:var(--stroke) solid transparent;border-radius:12px;background:transparent;cursor:pointer}.dock-btn:hover{background:var(--well)}.dock-btn.on{background:var(--lantern);border-color:var(--ink)}.dock-btn .ico{width:24px;height:24px}.dock-btn .badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;box-sizing:border-box;border:2px solid var(--ink);border-radius:var(--r-pill);background:var(--ch-pm);color:#fff;font-size:10px;font-weight:900;display:grid;place-items:center}.dock-btn--chat{display:none}.inv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,54px));justify-content:center;gap:6px}.inv-foot{display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-size:var(--t-s);color:var(--ink-2);font-weight:700}.coins{display:inline-flex;align-items:center;gap:5px;color:var(--ch-sys);font-weight:900;font-variant-numeric:tabular-nums}.coins .ico{width:18px;height:18px}.skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.skill{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;row-gap:4px;align-items:center;padding:7px 8px;border:2px solid var(--well-2);border-radius:13px;background:var(--glass-hi);cursor:pointer;text-align:left}.skill:hover{border-color:var(--ink-3)}.skill .sk-ico{grid-row:span 2;display:grid;place-items:center;width:30px;height:30px;border:2px solid var(--ink);border-radius:10px}.skill .sk-ico .ico{width:20px;height:20px}.skill .sk-top{display:flex;justify-content:space-between;align-items:baseline;gap:4px;font-size:12px;font-weight:700;min-width:0}.skill .sk-top span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill .sk-top b{font-size:17px;font-weight:900;font-variant-numeric:tabular-nums;font-variation-settings:var(--casual)}.skill .bar{height:7px;border-width:1.5px}.skill-detail{margin-top:10px;padding:10px 12px;border-radius:13px;background:var(--well);font-size:var(--t-s);line-height:1.45}.skill-detail b{font-variant-numeric:tabular-nums}.skill-total{display:flex;justify-content:space-between;margin-top:10px;font-weight:800;font-size:var(--t-s)}.gear{display:grid;grid-template-columns:1fr 1.25fr 1fr;grid-template-rows:auto auto;gap:8px;align-items:center;justify-items:center}.gear .slot{width:64px}.gear .portrait{grid-row:span 2;width:100%;max-width:120px;aspect-ratio:3 / 4;border-radius:14px;background:radial-gradient(circle at 50% 40%,var(--glass-hi),var(--well));border:2px solid var(--well-2);object-fit:cover}.gear .slot-label{font-size:11px;font-weight:700;color:var(--ink-3);margin-top:-4px}.gear-stats{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin-top:14px;padding:10px 12px;border-radius:13px;background:var(--well);font-size:var(--t-s);font-weight:600}.gear-stats b{font-variant-numeric:tabular-nums;text-align:right}.friend-add{display:flex;gap:6px;margin-bottom:10px}.friend{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:9px;padding:8px 4px 8px 8px;border-bottom:2px solid var(--well)}.friend .st{width:10px;height:10px;border-radius:50%;border:2px solid var(--ink);background:var(--well-2)}.friend .st.on{background:#6ad46a}.friend .who{min-width:0}.friend .who b{display:block;font-weight:800}.friend .who span{font-size:12px;color:var(--ink-2)}.friend .acts{display:flex;gap:4px}.emote-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.emote{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px 6px;border:2px solid var(--well-2);border-radius:13px;background:var(--glass-hi);font-size:12px;font-weight:700;cursor:pointer}.emote:hover{border-color:var(--ink)}.emote:active{transform:translateY(2px)}.emote .e{font-size:24px;line-height:1.1}.react-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-top:8px}.react{min-width:0;padding:0;height:40px;border:2px solid var(--well-2);border-radius:11px;background:var(--glass-hi);font-size:21px;cursor:pointer}.react:hover{border-color:var(--ink)}.sub{margin:14px 0 7px;font-size:var(--t-s);font-weight:800;color:var(--ink-2)}.set-row{display:grid;gap:6px;padding:10px 0;border-bottom:2px solid var(--well)}.set-row label{font-weight:800;font-size:var(--t-s);display:flex;justify-content:space-between}.set-row input[type=range]{width:100%;accent-color:var(--kelp)}.seg{display:flex;border:var(--stroke) solid var(--ink);border-radius:11px;overflow:hidden}.seg button{flex:1;height:34px;border:none;background:var(--glass-hi);font-weight:700;font-size:var(--t-s);cursor:pointer}.seg button+button{border-left:2px solid var(--ink)}.seg button.on{background:var(--lantern)}.toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800;font-size:var(--t-s);cursor:pointer}.toggle input{width:20px;height:20px;accent-color:var(--kelp)}.set-actions{display:grid;gap:8px;margin-top:14px}.fine{font-size:12px;color:var(--ink-2);line-height:1.45}.scrim{position:absolute;inset:0;background:var(--scrim);animation:fade-in .15s ease both}@keyframes fade-in{0%{opacity:0}}.win{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100% - 32px));max-height:calc(100% - 120px);display:flex;flex-direction:column;overflow:hidden;animation:win-in .18s cubic-bezier(.2,1.3,.4,1) both}.win--wide{width:min(760px,calc(100% - 32px))}@keyframes win-in{0%{transform:translate(-50%,-46%) scale(.96);opacity:0}}.win-body{flex:1;min-height:0;overflow-y:auto;padding:2px 16px 16px;scrollbar-width:thin}.win-cols{display:grid;grid-template-columns:1.5fr 1fr;gap:14px}.win-cols>*{min-width:0}.win-tabs{display:none;gap:4px;padding:0 14px 8px}.win-tabs button{flex:1;height:34px;border:var(--stroke) solid var(--ink);border-radius:11px;background:var(--glass-hi);font-weight:800;cursor:pointer}.win-tabs button.on{background:var(--lantern)}.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.win-foot{display:flex;gap:8px;justify-content:space-between;align-items:center;margin-top:12px}.hint{font-size:12px;color:var(--ink-2);font-weight:600}.recipe{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:2px solid var(--well)}.recipe .slot{width:48px}.recipe .name{font-weight:800}.recipe .needs{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:3px;font-size:12px;font-weight:700}.recipe .needs span{display:inline-flex;align-items:center;gap:3px}.recipe .needs img{width:18px;height:18px}.recipe .needs .short{color:#b53a3a}.recipe .lvl{font-size:12px;font-weight:700;color:var(--ink-2)}.recipe .lvl.short{color:#b53a3a}.recipe .go{display:flex;gap:4px}.recipe--off .slot,.recipe--off .name{opacity:.55}.talking .chat{visibility:hidden}.dlg{position:absolute;left:calc(var(--gap) + var(--sal));bottom:calc(var(--gap) + var(--sab));width:min(600px,calc(100% - 330px));display:grid;grid-template-columns:96px 1fr;gap:14px;padding:14px 16px 16px 12px;box-sizing:border-box;animation:dlg-in .2s cubic-bezier(.2,1.3,.4,1) both}@keyframes dlg-in{0%{transform:translateY(16px);opacity:0}}.dlg .face{width:96px;height:96px;border-radius:16px;border:2px solid var(--well-2);background:radial-gradient(circle at 50% 40%,var(--glass-hi),var(--well))}.dlg .who{font-family:var(--font-display);font-variation-settings:var(--casual);font-weight:900;font-size:var(--t-l);line-height:1.1}.dlg .who small{font-family:var(--font-body);font-variation-settings:var(--semi);font-weight:700;font-size:var(--t-s);color:var(--ink-2);margin-left:6px}.dlg p{margin:6px 0 12px;line-height:1.45;max-width:62ch}.dlg .opts{display:flex;flex-wrap:wrap;gap:7px}.dlg .opts .btn{min-height:36px;font-size:14px}.dlg .opts .btn kbd{font:inherit;font-size:11px;color:var(--ink-3)}.menu{position:absolute;min-width:190px;max-width:min(300px,calc(100% - 24px));padding:6px;z-index:50;animation:menu-in .1s ease both}@keyframes menu-in{0%{transform:scale(.94);opacity:0}}.menu .mt{padding:4px 8px 6px;font-weight:800;font-size:12px;color:var(--ink-2);border-bottom:2px solid var(--well);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu button{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;min-height:38px;padding:0 10px;border:none;border-radius:10px;background:transparent;text-align:left;font-weight:700;font-size:14.5px;cursor:pointer}.menu button:first-of-type{font-weight:900}.menu button:hover,.menu button:focus-visible{background:var(--lantern-2)}.menu button small{color:var(--ink-3);font-weight:700;font-size:12px}.menu button.danger{color:#b53a3a}.tip{position:absolute;max-width:230px;padding:8px 10px;border:2px solid var(--ink);border-radius:11px;background:var(--glass-hi);box-shadow:0 2px 0 var(--ink);font-size:12.5px;line-height:1.4;pointer-events:none;z-index:60}.tip b{display:block;font-size:14px}.chart{position:relative;border-radius:14px;overflow:hidden;border:2px solid var(--ink);background:#1f6f82;aspect-ratio:16 / 10;max-width:100%}.chart canvas{width:100%;height:100%;display:block}.chart .isle{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;border:none;background:none;cursor:pointer;padding:4px}.chart .isle b{font-family:var(--font-display);font-variation-settings:var(--casual);font-weight:900;font-size:15px;color:var(--cream);white-space:nowrap;text-shadow:0 1.5px 0 var(--ink),1.5px 0 0 var(--ink),-1.5px 0 0 var(--ink),0 -1.5px 0 var(--ink)}.chart .isle.sel b{color:var(--lantern)}.chart .here{padding:2px 7px;border:2px solid var(--ink);border-radius:var(--r-pill);background:var(--lantern);font-size:11px;font-weight:900}.isle-info{display:grid;gap:8px;margin-top:12px}.isle-info h3{margin:0;font-family:var(--font-display);font-variation-settings:var(--casual);font-weight:900;font-size:var(--t-l)}.isle-info p{margin:0;color:var(--ink-2);line-height:1.45;font-size:14px}.shards{display:flex;flex-wrap:wrap;gap:6px}.shard{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;min-width:108px;padding:6px 10px;border:2px solid var(--ink);border-radius:12px;background:var(--glass-hi);cursor:pointer;font-size:13px;font-weight:800;text-align:left}.shard.cur{background:var(--lantern-2)}.shard .pop{grid-column:1 / -1;height:6px;border-radius:var(--r-pill);background:var(--well);overflow:hidden}.shard .pop i{display:block;height:100%;background:var(--kelp)}.shard small{font-weight:700;color:var(--ink-2);text-align:right}.pcard{display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:center}.pcard img{width:88px;height:88px;border-radius:16px;background:radial-gradient(circle at 50% 40%,var(--glass-hi),var(--well));border:2px solid var(--well-2)}.pcard .acts{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.travel{position:absolute;inset:0;display:grid;place-items:center;background:#1f6f82;animation:fade-in .3s ease both}.travel canvas{position:absolute;inset:0;width:100%;height:100%}.travel .label{position:relative;text-align:center;color:var(--cream);font-family:var(--font-display);font-variation-settings:var(--casual);font-weight:900;font-size:clamp(26px,5vw,44px);text-shadow:0 3px 0 var(--ink),3px 0 0 var(--ink),-3px 0 0 var(--ink),0 -3px 0 var(--ink),2px 2px 0 var(--ink),-2px 2px 0 var(--ink),2px -2px 0 var(--ink),-2px -2px 0 var(--ink)}.travel .label small{display:block;font-size:16px;font-weight:700;margin-top:6px}.title{position:absolute;inset:0;overflow-y:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);align-items:center;gap:32px;padding:calc(28px + var(--sat)) calc(40px + var(--sar)) calc(28px + var(--sab)) calc(40px + var(--sal));box-sizing:border-box;background:linear-gradient(90deg,#1e22408c,#1e224000 60%)}.title.leaving{animation:title-out .5s ease both}@keyframes title-out{to{opacity:0;transform:scale(1.02)}}.logo{margin:0;font-family:var(--font-display);font-variation-settings:var(--casual);font-weight:1000;font-size:var(--t-xxl);line-height:.86;letter-spacing:-.02em;color:var(--lantern);text-shadow:0 4px 0 var(--ink),4px 0 0 var(--ink),-4px 0 0 var(--ink),0 -4px 0 var(--ink),3px 3px 0 var(--ink),-3px 3px 0 var(--ink),3px -3px 0 var(--ink),-3px -3px 0 var(--ink),0 10px 0 var(--ink);text-wrap:balance}.logo span{display:block;color:var(--cream)}.pitch{max-width:34ch;margin:22px 0 0;color:var(--cream);font-size:17px;line-height:1.45;font-weight:700;text-shadow:0 2px 0 var(--ink),1.5px 0 0 var(--ink),-1.5px 0 0 var(--ink),0 -1.5px 0 var(--ink)}.card{padding:18px;display:grid;gap:14px}.card h2{margin:0;font-family:var(--font-display);font-variation-settings:var(--casual);font-weight:900;font-size:22px}.creator{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:start}.creator canvas{width:150px;height:170px;border-radius:16px;border:2px solid var(--well-2);background:radial-gradient(circle at 50% 42%,var(--glass-hi),var(--well))}.opt-row{display:grid;gap:5px}.opt-row>span{font-size:12px;font-weight:800;color:var(--ink-2)}.swatches{display:flex;flex-wrap:wrap;gap:5px}.swatch{width:24px;height:24px;border-radius:50%;border:2px solid var(--ink);cursor:pointer;padding:0}.swatch.on{box-shadow:0 0 0 3px var(--glass),0 0 0 5px var(--ink)}.pills{display:flex;flex-wrap:wrap;gap:5px}.pills button{height:28px;padding:0 10px;border:2px solid var(--ink);border-radius:var(--r-pill);background:var(--glass-hi);font-weight:700;font-size:12.5px;cursor:pointer}.pills button.on{background:var(--lantern)}.form-error{margin:-4px 0 0;color:#b53a3a;font-weight:700;font-size:var(--t-s)}.offline-note{font-size:12.5px;line-height:1.45;color:var(--ink-2);padding:9px 11px;border-radius:12px;background:var(--well)}.continue{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center}.continue img{width:64px;height:64px;border-radius:14px;border:2px solid var(--well-2);background:radial-gradient(circle at 50% 40%,var(--glass-hi),var(--well))}.continue b{font-family:var(--font-display);font-variation-settings:var(--casual);font-weight:900;font-size:20px}@media(max-width:760px){:root{--gap: 10px;--dock-h: 62px;--t-xl: 22px}.hud-top-left{max-width:calc(100% - 170px)}.minimap{width:104px;height:104px}.orb{min-width:58px;height:30px;font-size:12px}.orb .ico{width:18px;height:18px}.hover-text{display:none}.xp-drops{top:calc(var(--sat) + 132px)}.dock{left:0;right:0;bottom:0;justify-content:space-around;gap:0;padding:6px calc(8px + var(--sar)) calc(6px + var(--sab)) calc(8px + var(--sal));border-radius:20px 20px 0 0;border-bottom:none;border-left:none;border-right:none;box-shadow:none}.dock-btn{width:46px;height:46px}.dock-btn--chat{display:grid}.side,.chat{left:0;right:0;width:auto;min-width:0;bottom:calc(var(--dock-h) + var(--sab) - 2px);height:min(50%,430px);border-radius:20px 20px 0 0;border-left:none;border-right:none;box-shadow:0 -3px 0 var(--ink);padding-left:var(--sal);padding-right:var(--sar)}.chat{display:none;background:var(--glass)}.chat.open,.ticker{display:flex}.chat.open~.ticker,.side:not([hidden])~.ticker{display:none}.inv-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.emote-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.emote{padding:6px 0 4px;font-size:10px}.react-row{grid-template-columns:repeat(12,minmax(0,1fr))}.react{height:36px;font-size:18px}.talking .chat{visibility:visible}.dlg{left:var(--gap);right:var(--gap);width:auto;bottom:calc(var(--dock-h) + var(--sab) + 10px);grid-template-columns:64px 1fr;gap:10px;padding:12px}.dlg .face{width:64px;height:64px}.win{inset:auto 0 0;transform:none;width:auto;max-height:calc(100% - 64px - var(--sat));border-radius:22px 22px 0 0;border-left:none;border-right:none;border-bottom:none;box-shadow:0 -3px 0 var(--ink);padding-bottom:var(--sab);animation:sheet-in .22s cubic-bezier(.2,1.1,.4,1) both}@keyframes sheet-in{0%{transform:translateY(40px);opacity:0}}.win-cols{grid-template-columns:1fr}.win-cols.tabbed>*{display:none}.win-cols.tabbed>.on{display:block}.win-tabs{display:flex}.grid-5{grid-template-columns:repeat(6,1fr)}.grid-4{grid-template-columns:repeat(7,1fr)}.title{grid-template-columns:1fr;align-content:start;gap:18px;padding:calc(24px + var(--sat)) calc(16px + var(--sar)) calc(24px + var(--sab)) calc(16px + var(--sal));background:linear-gradient(180deg,#1e224080,#1e224000 45%)}.pitch{font-size:15px;margin-top:12px}.creator{grid-template-columns:112px 1fr}.creator canvas{width:112px;height:132px}.status-pill{top:calc(var(--sat) + 132px)}}@media(max-width:380px){.place{font-size:19px}.dock-btn{width:42px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
