:root{--font-body: system-ui, "Segoe UI", Roboto, sans-serif;--font-display: "Press Start 2P", ui-monospace, "Cascadia Mono", "Consolas", monospace;--font-mono: ui-monospace, "Cascadia Mono", "Consolas", monospace;--ui-font: var(--font-body);--ui-1: calc(clamp(9px, .6vw, 11px) * var(--ui-scale));--ui-2: calc(clamp(11px, .75vw, 13px) * var(--ui-scale));--ui-3: calc(clamp(13px, .85vw, 15px) * var(--ui-scale));--ui-4: calc(clamp(15px, 1vw, 18px) * var(--ui-scale));--glass: rgba(12, 16, 24, .74);--glass-soft: rgba(18, 24, 34, .55);--glass-strong: rgba(8, 11, 17, .88);--edge: rgba(255, 255, 255, .1);--edge-bright: rgba(255, 255, 255, .22);--text: #e8eef5;--text-dim: #9fb0c3;--accent: #5ee8e0;--accent-deep: #1f8f89;--good: #8be28b;--bad: #ff6b6b;--warn: #ffb86c;--danger: #d8484f;--slot: calc(clamp(40px, 2.9vw, 54px) * var(--ui-scale));--icon: calc(16px * var(--ui-scale));--radius: 12px;--trans: .16s ease;--ui-scale: 1;--shadow: 0 10px 40px rgba(0, 0, 0, .5), 0 2px 8px rgba(0, 0, 0, .4)}html,body{margin:0;height:100%;overflow:hidden;background:#0b0e13;font-family:var(--font-body);color:var(--text)}html{font-size:calc(1rem * var(--ui-scale))}canvas{display:block}.ts-hud{position:fixed;inset:0;pointer-events:none;font-size:calc(clamp(12px,.9vw,16px) * var(--ui-scale));z-index:10}.ts-hud-off{display:none}.ts-crosshair{position:absolute;left:50%;top:50%;width:calc(21px * var(--ui-scale));height:calc(21px * var(--ui-scale));margin:calc(-10.5px * var(--ui-scale)) 0 0 calc(-10.5px * var(--ui-scale))}.ts-crosshair:before,.ts-crosshair:after{content:"";position:absolute;background:#ffffffeb;border-radius:1px;box-shadow:0 0 0 1px #0009,0 0 3px #0000008c;transition:width .12s ease-out,height .12s ease-out,top .12s ease-out,left .12s ease-out}.ts-crosshair:before{left:calc(9.5px * var(--ui-scale));top:0;width:calc(2px * var(--ui-scale));height:calc(21px * var(--ui-scale))}.ts-crosshair:after{top:calc(9.5px * var(--ui-scale));left:0;height:calc(2px * var(--ui-scale));width:calc(21px * var(--ui-scale))}.ts-crosshair:not(.ts-crosshair--dot):not(.ts-crosshair--circle).swing:before{height:calc(24px * var(--ui-scale));top:calc(-1.5px * var(--ui-scale))}.ts-crosshair:not(.ts-crosshair--dot):not(.ts-crosshair--circle).swing:after{width:calc(24px * var(--ui-scale));left:calc(-1.5px * var(--ui-scale))}.ts-hitmarker{position:absolute;inset:0;opacity:0;--tick: rgba(255, 255, 255, .95)}.ts-hitmarker:before,.ts-hitmarker:after{content:"";position:absolute;left:50%;top:50%;width:calc(2px * var(--ui-scale));height:calc(5px * var(--ui-scale));margin:calc(-10.5px * var(--ui-scale)) 0 0 calc(-1px * var(--ui-scale));background:var(--tick);border-radius:1px;box-shadow:0 0 0 1px #00000059,0 calc(16px * var(--ui-scale)) 0 0 var(--tick)}.ts-hitmarker:before{transform:rotate(45deg)}.ts-hitmarker:after{transform:rotate(-45deg)}.ts-hitmarker.crit{--tick: #ff5a49}.ts-hitmarker.on{animation:ts-hitmarker-life .18s ease-out forwards}@keyframes ts-hitmarker-life{0%{opacity:1;transform:scale(1.15)}to{opacity:0;transform:scale(1)}}.ts-crosshair--dot:before{left:calc(50% - 2px * var(--ui-scale));top:calc(50% - 2px * var(--ui-scale));width:calc(4px * var(--ui-scale));height:calc(4px * var(--ui-scale));border-radius:50%}.ts-crosshair--dot:after{display:none}.ts-crosshair--circle:before{left:50%;top:50%;width:calc(11px * var(--ui-scale));height:calc(11px * var(--ui-scale));margin:calc(-6.5px * var(--ui-scale)) 0 0 calc(-6.5px * var(--ui-scale));background:transparent;border:calc(1.5px * var(--ui-scale)) solid rgba(255,255,255,.9)}.ts-crosshair--circle:after{display:none}.ts-clock{position:absolute;top:clamp(10px,1.2vw,22px);right:clamp(10px,1.2vw,22px);padding:.35em .8em;border-radius:999px;background:var(--glass-soft);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(8px);font-family:var(--ui-font);font-size:var(--ui-2);letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--text-dim)}.ts-minimap{position:absolute;right:clamp(10px,1.2vw,22px);top:calc(clamp(10px,1.2vw,22px) + 2.8em);width:168px;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none;user-select:none}.ts-minimap canvas{width:168px;height:168px;border-radius:50%;background:#080b108c;border:1px solid rgba(255,255,255,.28);box-shadow:0 4px 16px #00000073}@media(max-width:700px){.ts-minimap{width:120px}.ts-minimap canvas{width:120px;height:120px}}.ts-debug{position:absolute;top:clamp(10px,1.2vw,22px);left:clamp(10px,1.2vw,22px);margin:0;max-width:60vw;max-height:80vh;overflow:hidden;padding:.8em 1em;border-radius:var(--radius);background:#06090eb8;border:1px solid var(--edge);backdrop-filter:blur(6px);font-family:var(--font-mono);font-size:calc(clamp(10px,.75vw,14px) * var(--ui-scale));line-height:1.55;color:#c8f5ef;text-shadow:0 1px 2px #000;white-space:pre-wrap}.ts-target{position:absolute;left:50%;top:calc(50% + 26px);transform:translate(-50%);padding:0 .4em;font-family:var(--ui-font);font-size:var(--ui-2);letter-spacing:.03em;color:#e8eef5db;text-shadow:0 1px 2px rgba(0,0,0,.85);white-space:nowrap}.ts-digring{position:absolute;left:50%;top:50%;width:calc(42px * var(--ui-scale));height:calc(42px * var(--ui-scale));margin:calc(-21px * var(--ui-scale)) 0 0 calc(-21px * var(--ui-scale));opacity:0;transition:opacity .12s ease;pointer-events:none}.ts-digring.on{opacity:.85}.ts-digring-track{fill:none;stroke:#00000061;stroke-width:1.5}.ts-digring-arc{fill:none;stroke:#ffffffeb;stroke-width:1.5;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.ts-effects{position:absolute;top:clamp(10px,1.2vw,22px);left:clamp(10px,1.2vw,22px);display:flex;flex-direction:column;gap:6px}.ts-fx-badge{display:flex;align-items:center;gap:7px;padding:3px 9px 3px 5px;border-radius:11px;background:var(--glass-soft);border:1px solid var(--fx, var(--edge));backdrop-filter:blur(6px);box-shadow:0 2px 8px #00000059}.ts-fx-time{font-family:var(--font-mono);font-size:.72em;letter-spacing:.04em;color:var(--fx, var(--text-dim));font-variant-numeric:tabular-nums;text-shadow:0 1px 2px rgba(0,0,0,.7)}.ts-fx-blink{animation:ts-fx-blink .6s steps(2,start) infinite}@keyframes ts-fx-blink{50%{opacity:.25}}.ts-fx-glyph{position:relative;width:16px;height:16px;flex:0 0 16px}.ts-fx-glyph:before,.ts-fx-glyph:after{content:"";position:absolute}.ts-fx-speed:before{left:0;top:6.5px;width:9px;height:3px;background:var(--fx);border-radius:1px}.ts-fx-speed:after{left:8px;top:2px;width:0;height:0;border:6px solid transparent;border-left:8px solid var(--fx);border-right-width:0}.ts-fx-regeneration:before{left:2px;top:5px;width:8px;height:11px;background:var(--fx);border-radius:8px 8px 0 0;transform:rotate(-45deg);transform-origin:0 100%}.ts-fx-regeneration:after{left:5px;top:5px;width:8px;height:11px;background:var(--fx);border-radius:8px 8px 0 0;transform:rotate(45deg);transform-origin:100% 100%}.ts-fx-strength:before{left:6px;top:0;width:4px;height:12px;background:var(--fx);border-radius:1px 1px 0 0;transform:rotate(45deg)}.ts-fx-strength:after{left:4.5px;top:10px;width:9px;height:2.5px;background:var(--fx);border-radius:1px;transform:rotate(45deg)}.ts-fx-night_vision:before{inset:2px 0;border:2px solid var(--fx);border-radius:50%}.ts-fx-night_vision:after{left:5px;top:5px;width:6px;height:6px;background:var(--fx);border-radius:50%}.ts-fx-fire_resistance:before{left:3px;top:1px;width:10px;height:10px;background:var(--fx);border-radius:0 50% 50%;transform:rotate(45deg)}.ts-fx-fire_resistance:after{left:6px;top:6px;width:5px;height:5px;background:#fff0d2e6;border-radius:50%}.ts-fx-water_breathing:before{inset:1px;border:2px solid var(--fx);border-radius:50%}.ts-fx-water_breathing:after{left:4px;top:3px;width:4px;height:3px;background:#fffc;border-radius:50%}.ts-brush{position:absolute;left:50%;top:calc(50% + 62px);transform:translate(-50%);display:flex;gap:.6em;align-items:baseline;padding:.4em 1em;border-radius:999px;background:#5ee8e01f;border:1px solid rgba(94,232,224,.35);backdrop-filter:blur(6px);font-family:var(--ui-font);font-size:var(--ui-2);white-space:nowrap;opacity:0;transition:opacity .35s ease}.ts-brush.on{opacity:1}.ts-brush-mode{color:var(--accent);font-weight:600;letter-spacing:.06em}.ts-brush-size{color:var(--text-dim);font-variant-numeric:tabular-nums}.ts-toast{position:absolute;left:50%;bottom:calc(var(--slot) * 2 + 2.6rem);transform:translate(-50%);padding:.45em 1.1em;border-radius:999px;background:var(--glass);border:1px solid var(--edge);backdrop-filter:blur(10px);box-shadow:var(--shadow);font-size:.95em;letter-spacing:.04em;opacity:0}.ts-toast.show{animation:ts-toast-life 2.2s ease forwards}@keyframes ts-toast-life{0%{opacity:0;transform:translate(-50%,8px)}12%{opacity:1;transform:translate(-50%)}72%{opacity:1}to{opacity:0;transform:translate(-50%,-6px)}}.ts-vignette{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at center,transparent 58%,rgba(168,26,36,.42) 100%)}.ts-vignette.flash{animation:ts-damage .35s ease-out forwards}@keyframes ts-damage{0%{opacity:var(--ts-hit, 1)}to{opacity:0}}.ts-vignette-low{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at center,transparent 64%,rgba(150,22,32,.3) 100%);transition:opacity .4s ease}.ts-vignette-low.on{opacity:1}.ts-dmg-arc{position:absolute;left:50%;top:50%;width:104vmin;height:104vmin;margin:-52vmin 0 0 -52vmin;border-radius:50%;opacity:0;pointer-events:none;border:calc(2.4rem * var(--ui-scale)) solid transparent;border-top-color:#d8342c8c;filter:blur(15px)}.ts-dmg-arc.on{animation:ts-dmg-arc-life .6s ease-out forwards}@keyframes ts-dmg-arc-life{0%{opacity:1}to{opacity:0}}.ts-water{position:absolute;inset:0;opacity:0;transition:opacity .3s ease;background:radial-gradient(ellipse at center,#145aa01f 40%,#08285a73),#18548c2e}.ts-water.on{opacity:1}.ts-status{position:absolute;left:50%;bottom:calc(var(--slot) + 3.2rem);transform:translate(-50%);width:calc(var(--slot) * 9 + 8 * .25rem + 1.2rem + 8px);display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;box-sizing:border-box;padding:3px 7px 4px;border-radius:9px;background:#080a0842}.ts-status-left{display:flex;flex-direction:column;gap:2px;align-items:flex-start}.ts-status-right{display:flex;flex-direction:column;gap:2px;align-items:flex-end}.ts-xp{position:absolute;left:50%;bottom:calc(var(--slot) + 1.5rem);transform:translate(-50%);width:calc(var(--slot) * 9 + 8 * .25rem + 1.2rem + 8px);display:flex;flex-direction:column;align-items:center;gap:2px}.ts-xp-track{position:relative;width:100%;height:4px;background:#0000009e;border:1px solid rgba(0,0,0,.8);border-radius:2px;overflow:hidden;box-shadow:inset 0 1px 1px #0009,0 1px #ffffff0f}.ts-xp-fill{height:100%;width:0%;background:linear-gradient(180deg,#c4ff63,#78dc2e 55%,#52b41f);border-radius:3px;transition:width .3s ease-out}.ts-xp-track:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 1px),rgba(0,0,0,.28) calc(10% - 1px) 10%)}.ts-xp-level{font-weight:700;font-size:1.05em;line-height:1;color:#90ee4a;text-shadow:-1px -1px 0 #16250a,1px -1px 0 #16250a,-1px 1px 0 #16250a,1px 1px 0 #16250a,0 2px 3px rgba(0,0,0,.8);font-variant-numeric:tabular-nums}.ts-xp-level.levelup{animation:ts-xp-pop .52s ease-out}@keyframes ts-xp-pop{0%{transform:scale(1.6);color:#e9ffb4}to{transform:scale(1);color:#90ee4a}}.ts-xp-shine{position:absolute;top:0;left:-30%;width:24%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);opacity:0;pointer-events:none}.ts-xp-shine.gain{animation:ts-xp-shine-sweep .55s ease-out}@keyframes ts-xp-shine-sweep{0%{opacity:.85;left:-24%}to{opacity:0;left:104%}}.ts-pickups{position:absolute;left:calc(50% + var(--slot) * 4.5 + 1.4rem);bottom:calc(var(--slot) + 1.4rem);display:flex;flex-direction:column;gap:3px;pointer-events:none}.ts-pickup{display:flex;align-items:center;gap:.4em;padding:.15em .6em .15em .3em;border-radius:6px;background:#0a0e0a85;border:1px solid rgba(255,255,255,.1);font-size:.85em;line-height:1.3;color:var(--text);text-shadow:0 1px 2px rgba(0,0,0,.85);opacity:0;white-space:nowrap}.ts-pickup img{width:1.2em;height:1.2em;image-rendering:pixelated}.ts-pickup.in{animation:ts-pickup-in .24s ease-out forwards}@keyframes ts-pickup-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}.ts-pickup.bump{animation:ts-pickup-bump .26s ease-out forwards}@keyframes ts-pickup-bump{0%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.ts-pickup.out{animation:ts-pickup-out .4s ease forwards}@keyframes ts-pickup-out{0%{opacity:1;transform:none}to{opacity:0;transform:translate(10px)}}.ts-icon-row{display:flex;gap:1px;filter:drop-shadow(0 0 1px rgba(0,0,0,.9)) drop-shadow(0 1px 2px rgba(0,0,0,.55))}.ts-icon-row.ts-heart-hit{animation:ts-shake .2s linear}@keyframes ts-heart-flash{0%{background-color:#fff}to{background-color:var(--c, #ff4d5e)}}.ts-icon-row.ts-low .ts-icon.full,.ts-icon-row.ts-low .ts-icon.half{animation:ts-heart-pulse 1.5s ease-in-out infinite}@keyframes ts-heart-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.ts-icon-row.ts-heart-hit .ts-icon.full{animation:ts-heart-flash .2s ease-out}.ts-icon-row.ts-heart-ripple .ts-icon,.ts-icon-row.ts-heart-ripple .ts-icon.full{animation:ts-heart-ripple 80ms ease-out;animation-delay:calc(var(--ripple-i, 0) * 40ms)}@keyframes ts-heart-ripple{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.ts-icon-row.ts-hunger-jitter{animation:ts-hunger-jitter .9s ease-in-out infinite}@keyframes ts-hunger-jitter{0%,to{transform:translate(0)}25%{transform:translate(.7px,-.5px)}50%{transform:translate(-.6px,.3px)}75%{transform:translate(.4px,.5px)}}.ts-icon{width:var(--icon);height:var(--icon);background-color:#ffffff1a;-webkit-mask:var(--mask) center / contain no-repeat;mask:var(--mask) center / contain no-repeat;transition:background-color var(--trans)}.icon-heart{--mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E")}.icon-food{--mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='9.8' cy='9.4' rx='6.8' ry='5.2' transform='rotate(45 9.8 9.4)'/%3E%3Cpath d='M11.2 11.2l7.4 7.4-1.6 1.6-7.4-7.4z'/%3E%3Ccircle cx='19' cy='17.4' r='2.4'/%3E%3Ccircle cx='17.4' cy='19' r='2.4'/%3E%3C/svg%3E")}.icon-armor{--mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.2c-1.9 0-3.6.6-4.6 1.1L4.4 6.2l1.6 4 1.3-.7v10.2c0 1.1.8 1.9 1.9 1.9h5.6c1.1 0 1.9-.8 1.9-1.9V9.5l1.3.7 1.6-4-3-1.9c-1-.5-2.7-1.1-4.6-1.1z'/%3E%3C/svg%3E")}.icon-air{--mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E")}.ts-icon.full{background-color:var(--c, #fff)}.ts-icon.half{background-image:linear-gradient(90deg,var(--c, #fff) 0 50%,rgba(255,255,255,.1) 50% 100%);background-color:transparent}.ts-icon.empty{background-color:#ffffff1a}.icon-heart.full,.icon-heart.half{--c: #ff4d5e}.icon-food.full,.icon-food.half{--c: #c1742f}.icon-armor.full,.icon-armor.half{--c: #bcc3ca}.icon-food.full{background-image:linear-gradient(128deg,#d18a45,#a55f28 46%,#f0e1bf 72%,#dfc9a0)}.icon-air.full,.icon-air.half{--c: #7fd0ff}.ts-item-name{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);font-size:13px;font-weight:600;line-height:1;color:var(--text);text-shadow:-1px -1px 0 rgba(0,0,0,.7),1px -1px 0 rgba(0,0,0,.7),-1px 1px 0 rgba(0,0,0,.7),1px 1px 0 rgba(0,0,0,.7),0 2px 4px rgba(0,0,0,.6);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s ease}.ts-item-name.show{opacity:1}.ts-shake{animation:ts-shake .45s linear infinite}@keyframes ts-shake{0%,to{transform:translate(0)}25%{transform:translate(-1.5px)}75%{transform:translate(1.5px)}}.ts-hotbar{position:absolute;left:50%;bottom:.65rem;transform:translate(-50%);display:flex;gap:.25rem;padding:.4rem;background:var(--glass);border:1px solid var(--edge);border-radius:calc(var(--radius) - 2px);backdrop-filter:blur(14px) saturate(1.25);box-shadow:var(--shadow)}.ts-slot{position:relative;width:var(--slot);height:var(--slot);border-radius:6px;background:linear-gradient(180deg,#ffffff0d,#fff0);border:1px solid rgba(255,255,255,.07);box-shadow:inset 1px 1px 2px #00000073,inset -1px -1px #ffffff1a;transition:border-color var(--trans),background-color var(--trans),box-shadow var(--trans),transform .12s ease-out}.ts-slot img{position:absolute;inset:12%;width:76%;height:76%;image-rendering:pixelated;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55))}.ts-slot-count{position:absolute;right:3px;bottom:1px;font-size:calc(11px * var(--ui-scale));font-weight:700;color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.95),-1px 1px 0 rgba(0,0,0,.6),1px -1px 0 rgba(0,0,0,.6);pointer-events:none;font-variant-numeric:tabular-nums}.ts-dur{position:absolute;left:12%;right:12%;bottom:3px;height:3px;background:#0000008c;border-radius:2px;overflow:hidden}.ts-dur-fill{height:100%;width:100%;background:#7fe08a;border-radius:2px;transition:width .12s linear,background-color var(--trans)}.ts-dur-fill.low{background:#ff5a5a}.ts-hotbar .ts-slot.selected{border:2px solid rgba(94,232,224,.9);background:linear-gradient(180deg,#5ee8e014,#fff0);box-shadow:0 0 10px #5ee8e073,inset 0 1px #ffffff1f,inset 0 -2px 3px #00000059;transform:scale(1.06)}.ts-chat-wrap{position:fixed;left:.9rem;bottom:.9rem;width:min(42vw,500px);display:flex;flex-direction:column;gap:.35rem;pointer-events:none;font-size:calc(clamp(11px,.85vw,15px) * var(--ui-scale));z-index:20}.ts-chat-log{display:flex;flex-direction:column;gap:2px}.ts-chat-msg{width:fit-content;max-width:100%;padding:3px 8px;background:#04060a42;border-radius:6px;font-family:var(--ui-font);font-size:calc(13px * var(--ui-scale));line-height:1.35;word-wrap:break-word;text-shadow:0 1px 2px rgba(0,0,0,.6)}.ts-chat-msg.ts-system{font-style:italic;color:#d6dce2a8}.ts-chat-msg.ts-tinted{font-style:normal}.ts-chat-msg.ts-own{color:#ffffffd1}.ts-chat-msg.ts-cmd{color:#e8d6a080}.ts-chat-name{font-weight:600}.ts-chat-text{color:#ffffffeb}.ts-chat-msg.ts-adv{font-style:normal;color:#5ee8e0e6}.ts-chat-msg.ts-adv:before{content:"✦";margin-right:.45em;color:#5ee8e0}.ts-chat-msg.ts-fading{animation:ts-chat-fade var(--ts-fade-ms, 7s) ease forwards}@keyframes ts-chat-fade{0%,70%{opacity:1}to{opacity:0}}.ts-chat-input-row{pointer-events:auto}.ts-chat-input{width:100%;box-sizing:border-box;padding:.5em .8em;background:var(--glass-strong);color:var(--text);border:1px solid var(--edge-bright);border-radius:8px;font-family:inherit;font-size:inherit;outline:none;backdrop-filter:blur(10px);box-shadow:var(--shadow)}.ts-chat-input:focus{border-color:var(--accent)}.ts-chat-time{display:none;margin-right:.45em;color:#e8eef559;font-size:.8em;font-variant-numeric:tabular-nums}.ts-chat-wrap.ts-open .ts-chat-time{display:inline}.ts-chat-wrap.ts-open .ts-chat-msg{background:transparent;padding:1px 2px;text-shadow:none}.ts-chat-wrap.ts-open .ts-chat-log{gap:3px;pointer-events:auto;max-height:min(36vh,264px);overflow-y:auto;padding:.5em .7em .5em .55em;background:#080a0e8c;border:1px solid var(--edge);border-radius:8px;backdrop-filter:blur(6px);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.ts-chat-wrap.ts-open .ts-chat-log::-webkit-scrollbar{width:6px}.ts-chat-wrap.ts-open .ts-chat-log::-webkit-scrollbar-track{background:transparent}.ts-chat-wrap.ts-open .ts-chat-log::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.ts-chat-wrap.ts-open .ts-chat-log::-webkit-scrollbar-thumb:hover{background:#ffffff52}.ts-chat-msg.ts-emote{font-style:italic;color:#c7a2eee6}.ts-chat-msg.ts-whisper{font-style:italic;color:#c792ea}.ts-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:2rem;z-index:40;overflow:hidden}.ts-screen-hidden{display:none}.ts-backdrop{position:absolute;inset:-4%;background:radial-gradient(95% 62% at 74% 4%,rgba(255,199,128,.28) 0%,transparent 56%),radial-gradient(120% 85% at 14% 0%,#16344f 0%,transparent 62%),linear-gradient(180deg,#060c15,#0b1827 44%,#143049,#1e5165)}.ts-backdrop.death{background:radial-gradient(120% 90% at 30% 12%,#3d1218 0%,transparent 55%),linear-gradient(160deg,#0d0709,#26100f 60%,#0d0709)}.ts-menu-pause .ts-backdrop,.ts-menu-disconnected .ts-backdrop{background:#05090f99;backdrop-filter:blur(14px) saturate(.9)}.ts-menu-death .ts-backdrop{background:radial-gradient(120% 105% at 50% 50%,#0800008c,#78000059);backdrop-filter:blur(12px) saturate(1.15);animation:ts-death-veil .6s ease both}@keyframes ts-death-veil{0%{opacity:0}to{opacity:1}}.ts-menu-pause .ts-hills-far,.ts-menu-pause .ts-hills-near,.ts-menu-disconnected .ts-hills-far,.ts-menu-disconnected .ts-hills-near,.ts-menu-death .ts-hills-far,.ts-menu-death .ts-hills-near{display:none}.ts-shape{position:absolute;border-radius:42% 58% 55% 45%/50% 45% 55% 50%;background:radial-gradient(circle at 35% 30%,#5ee8e02e,#5ee8e000 70%);filter:blur(34px);animation:ts-drift 30s ease-in-out infinite alternate}.ts-backdrop.death .ts-shape{background:radial-gradient(circle at 35% 30%,#d8484f2e,#d8484f00 70%)}.ts-shape:nth-child(2){background:radial-gradient(circle at 60% 40%,rgba(127,208,255,.14),transparent 70%)}.ts-shape:nth-child(3){background:radial-gradient(circle at 40% 60%,rgba(189,147,249,.1),transparent 70%)}.ts-shape:nth-child(4){background:radial-gradient(circle at 50% 35%,rgba(255,184,108,.1),transparent 70%)}@keyframes ts-drift{0%{transform:translate(0) scale(1) rotate(0)}50%{transform:translate(6vw,-4vh) scale(1.18) rotate(24deg)}to{transform:translate(-5vw,3vh) scale(.92) rotate(-16deg)}}.ts-hills-far,.ts-hills-near{position:absolute;left:-30%;width:160%;bottom:-4%;pointer-events:none}.ts-hills-far{height:44%;background:radial-gradient(52% 100% at 14% 100%,#12293f 0 60%,transparent 61%),radial-gradient(68% 122% at 52% 100%,#12293f 0 58%,transparent 59%),radial-gradient(46% 92% at 90% 100%,#12293f 0 62%,transparent 63%);opacity:.9;animation:ts-hill-scroll 90s ease-in-out infinite alternate}.ts-hills-near{height:27%;background:radial-gradient(40% 120% at 6% 100%,#0c2a22 0 58%,transparent 59%),radial-gradient(56% 140% at 46% 100%,#0c2a22 0 56%,transparent 57%),radial-gradient(44% 115% at 86% 100%,#0c2a22 0 60%,transparent 61%);animation:ts-hill-scroll 55s ease-in-out infinite alternate-reverse}@keyframes ts-hill-scroll{0%{transform:translate(-3.5%)}to{transform:translate(3.5%)}}.ts-panel{position:relative;background:linear-gradient(180deg,#101722f7,#080c13f5);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius);box-shadow:0 24px 70px #0000009e,0 3px 12px #00000073,inset 0 1px #ffffff12;backdrop-filter:blur(10px);padding:clamp(1.1rem,1.8vw,2rem);animation:ts-pop .2s ease-out}@keyframes ts-pop{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}.ts-panel-menu{width:min(430px,92vw);max-height:88vh;overflow-y:auto;display:flex;flex-direction:column;gap:.9rem;text-align:center}.ts-menu-main .ts-panel-menu{width:min(560px,94vw)}.ts-panel-center{align-items:center}.ts-brand{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin-bottom:.5rem}.ts-logo{font-family:var(--font-body);font-weight:900;font-size:clamp(2.3rem,6vw,4.4rem);line-height:1.05;letter-spacing:-.015em;margin:0;background:linear-gradient(168deg,#ffd98c,#f2a65a 36%,#7ed08b 74%,#4cc3b0);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 5px 16px rgba(0,0,0,.55)) drop-shadow(0 0 28px rgba(244,180,110,.22))}.ts-logo-small{font-size:clamp(1rem,2vw,1.6rem);letter-spacing:0;filter:drop-shadow(0 3px 10px rgba(0,0,0,.5))}.ts-panorama-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}.ts-panorama-vignette{position:fixed;inset:0;z-index:6;pointer-events:none;background:radial-gradient(120% 90% at 50% 42%,transparent 45%,rgba(4,8,13,.38) 78%,rgba(3,6,10,.62) 100%),linear-gradient(180deg,rgba(4,8,13,.28) 0%,transparent 26%,transparent 72%,rgba(3,6,10,.32) 100%)}body.ts-panorama-on .ts-backdrop{background:none}body.ts-panorama-on .ts-shape,body.ts-panorama-on .ts-hills-far,body.ts-panorama-on .ts-hills-near{display:none}body.ts-panorama-on .ts-menu-main .ts-panel{background:linear-gradient(180deg,#0e141ecc,#070b12bd)}body.ts-panorama-on .ts-menu-main .ts-logo{filter:drop-shadow(0 6px 18px rgba(0,0,0,.72)) drop-shadow(0 0 30px rgba(244,180,110,.25))}body.ts-panorama-on .ts-menu-main .ts-tagline,body.ts-panorama-on .ts-menu-main .ts-version{text-shadow:0 2px 10px rgba(0,0,0,.75)}.ts-tagline{margin:0;font-size:clamp(.82rem,1vw,1rem);font-weight:600;letter-spacing:.34em;text-indent:.34em;text-transform:uppercase;color:#cfdce9;text-shadow:0 1px 2px rgba(0,0,0,.6)}.ts-version{margin:.1rem 0 0;color:#93a7bb;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.2em}.ts-panel-title{margin:.1rem 0 .3rem;font-size:clamp(1.15rem,1.6vw,1.6rem);font-weight:800;letter-spacing:.01em}.ts-panel-menu h3.ts-panel-title{font-size:clamp(.85rem,1.05vw,1.05rem);font-weight:700;color:#b9c9da}.ts-death-title{font-family:var(--font-display);font-size:34px;font-weight:700;color:#e0483e;margin:.3rem 0;text-shadow:0 2px 5px rgba(0,0,0,.65),0 0 16px rgba(224,72,62,.26)}.ts-death-message{color:#c6d3e0;font-size:15px;margin:0 0 .4rem}.ts-menu-death .ts-panel-menu{animation:none;transition:opacity .3s ease .25s,transform .3s ease .25s}.ts-death-enter{opacity:0;transform:scale(.96)}.ts-death-enter.ts-death-in{opacity:1;transform:scale(1)}.ts-btn:disabled{opacity:.55;cursor:default;pointer-events:none}.ts-menu{display:flex;flex-direction:column;gap:.55rem}.ts-btn{appearance:none;cursor:pointer;padding:.78em 1.5em;font:inherit;font-size:1.02em;font-weight:700;letter-spacing:.01em;color:#fff;background:linear-gradient(180deg,#2b3a4e,#1b2634);border:1px solid rgba(255,255,255,.24);border-radius:10px;box-shadow:0 2px 6px #00000059,inset 0 1px #ffffff14;transition:background .14s ease,border-color .14s ease,transform .14s ease,box-shadow .14s ease}.ts-btn:hover{background:linear-gradient(180deg,#3a4c63,#243244);border-color:#fff6;transform:translateY(-2px);box-shadow:0 8px 20px #00000073,inset 0 1px #ffffff1f}.ts-btn:active{transform:translateY(0) scale(.98);box-shadow:0 1px 4px #0006}.ts-btn:focus-visible{outline:3px solid rgba(94,232,224,.95);outline-offset:2px}.ts-btn.primary{background:linear-gradient(180deg,#0e7568,#0a5a50);border-color:#7af0e499;box-shadow:0 4px 18px #0e756866,inset 0 1px #ffffff24}.ts-btn.primary:hover{border-color:#96faf0d9;box-shadow:0 8px 26px #0e82748c,inset 0 1px #ffffff2e}.ts-btn.danger{background:linear-gradient(180deg,#9e3038,#771f26);border-color:#ff8a928c;color:#ffe3e4}.ts-btn.danger:hover{background:linear-gradient(180deg,#b23840,#8a262e);border-color:#ffa0a8bf;color:#fff}.ts-form{display:flex;flex-direction:column;gap:.7rem;text-align:left}.ts-field{display:flex;flex-direction:column;gap:.25rem}.ts-field label{font-size:.78em;font-weight:600;color:#b9c9da;letter-spacing:.05em;text-transform:uppercase}.ts-input{padding:.5em .7em;background:#00000073;border:1px solid rgba(255,255,255,.2);border-radius:7px;color:var(--text);font:inherit;outline:none;transition:border-color var(--trans),box-shadow var(--trans)}.ts-input::placeholder{color:#7e91a5}.ts-input:hover{border-color:#ffffff52}.ts-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #5ee8e040}select.ts-input{cursor:pointer}select.ts-input option{background:#101724;color:var(--text)}.ts-field-head{display:flex;justify-content:space-between;align-items:baseline}.ts-value{font-family:var(--font-mono);font-size:.78em;color:var(--accent)}.ts-row-buttons{display:flex;gap:.5rem;justify-content:center;margin-top:.3rem}.ts-error{color:var(--bad);font-size:.8em;min-height:1em;text-align:center}input[type=range]{appearance:none;width:100%;height:22px;background:transparent;cursor:pointer}input[type=range]:focus-visible{outline:3px solid rgba(94,232,224,.95);outline-offset:4px;border-radius:8px}input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:3px;background:linear-gradient(90deg,var(--accent-deep),rgba(255,255,255,.14))}input[type=range]::-webkit-slider-thumb{appearance:none;margin-top:-5px;width:15px;height:15px;border-radius:50%;background:#eafffe;border:2px solid var(--accent);box-shadow:0 1px 5px #00000080;transition:transform var(--trans)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}input[type=range]::-moz-range-track{height:5px;border-radius:3px;background:#ffffff29}input[type=range]::-moz-range-progress{height:5px;border-radius:3px;background:var(--accent-deep)}input[type=range]::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:#eafffe;border:2px solid var(--accent)}.ts-field-toggle{flex-direction:row;align-items:center;justify-content:space-between}.ts-switch{position:relative;width:40px;height:22px;flex:none}.ts-switch input{opacity:0;width:0;height:0;position:absolute}.ts-switch-track{position:absolute;inset:0;border-radius:999px;cursor:pointer;background:#00000073;border:1px solid var(--edge);transition:background var(--trans),border-color var(--trans)}.ts-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#9fb0c3;transition:transform var(--trans),background var(--trans)}.ts-switch input:checked+.ts-switch-track{background:#1f8f898c;border-color:var(--accent)}.ts-switch input:checked+.ts-switch-track:after{transform:translate(18px);background:#eafffe}.ts-switch input:focus-visible+.ts-switch-track{outline:3px solid rgba(94,232,224,.95);outline-offset:2px}.ts-worldlist{display:flex;flex-direction:column;gap:.45rem;max-height:32vh;overflow-y:auto;padding-right:2px}.ts-world-empty{color:#a9bacd;font-size:.85em;text-align:center;padding:1rem 0}.ts-worldrow{display:flex;align-items:center;gap:.6rem;padding:.5rem .7rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.16);border-radius:9px;transition:border-color var(--trans),background var(--trans),box-shadow var(--trans);text-align:left}.ts-worldrow:hover{border-color:#5ee8e080;background:#5ee8e014;box-shadow:0 0 0 1px #5ee8e033}.ts-world-info{flex:1;min-width:0}.ts-world-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-world-meta{font-size:.72em;color:#a9bacd;margin-top:2px}.ts-badge{display:inline-block;padding:.05em .5em;border-radius:999px;font-size:.9em;text-transform:uppercase;letter-spacing:.08em}.ts-badge.survival{background:#8be28b26;color:var(--good);border:1px solid rgba(139,226,139,.35)}.ts-badge.creative{background:#bd93f926;color:#bd93f9;border:1px solid rgba(189,147,249,.4)}.ts-worldrow .ts-btn{padding:.35em .9em;font-size:.85em}.ts-controls{display:grid;grid-template-columns:1fr;gap:.3rem;text-align:left}.ts-control-row{display:flex;align-items:baseline;gap:.8rem;font-size:.85em}.ts-control-row kbd{flex:none;min-width:7.5em;text-align:center;background:#00000073;border:1px solid var(--edge-bright);border-bottom-width:2px;border-radius:5px;padding:.1em .5em;font-family:var(--font-mono);font-size:.85em;color:var(--accent)}.ts-control-row span{color:#c2d1e0}.ts-menu-controls .ts-panel{max-height:92vh;overflow-y:auto}.ts-bind-note{font-size:.72em;color:#9fb3c8;letter-spacing:.03em;margin:.15rem 0 .35rem;min-height:1.2em}.ts-bind-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.2rem .9rem;margin-bottom:.6rem}.ts-bind-row{display:flex;align-items:center;gap:.6rem;font-size:.82em;min-width:0}.ts-bind-label{color:#c2d1e0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-bind-key{flex:none;min-width:6.6em;text-align:center;cursor:pointer;background:#00000073;border:1px solid var(--edge-bright);border-bottom-width:2px;border-radius:5px;padding:.18em .5em;color:var(--accent);font-family:var(--font-mono);font-size:.95em;transition:border-color .12s ease,box-shadow .12s ease}.ts-bind-key:hover{border-color:var(--accent)}.ts-bind-key.ts-bind-capture{color:#fff;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 12px #66bbe059;animation:ts-bind-pulse 1s ease-in-out infinite alternate}@keyframes ts-bind-pulse{0%{box-shadow:0 0 0 1px var(--accent),0 0 4px #66bbe033}to{box-shadow:0 0 0 1px var(--accent),0 0 14px #66bbe08c}}.ts-bind-actions{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}.ts-menu-loading .ts-backdrop{background:linear-gradient(180deg,#04070ca8,#020408d1)}body.ts-panorama-on .ts-menu-loading .ts-backdrop{background:linear-gradient(180deg,#04070c8c,#020407cc)}.ts-menu-loading .ts-panel-menu{min-height:34vh;justify-content:flex-start;gap:1rem;background:none;border:none;box-shadow:none;backdrop-filter:none}.ts-loading-text{font-size:13px;color:#ffffffb3;letter-spacing:.04em}.ts-loading-tip{margin-top:auto;padding-top:1.2rem;font-size:12px;color:#ffffff7a;font-style:italic;transition:opacity .3s ease;opacity:1}.ts-loading-tip-out{opacity:0}.ts-progress{width:min(240px,70vw);height:4px;background:#00000073;border:1px solid rgba(255,255,255,.14);border-radius:999px;overflow:hidden}.ts-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent-deep),var(--accent));border-radius:999px;box-shadow:0 0 12px #5ee8e08c;transition:width .25s ease}.ts-progress.indeterminate:after{content:"";display:block;height:100%;width:36%;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:ts-indeterminate 1.15s ease-in-out infinite}@keyframes ts-indeterminate{0%{transform:translate(-110%)}to{transform:translate(310%)}}@media(prefers-reduced-motion:reduce){.ts-panel,.ts-shape,.ts-hills-far,.ts-hills-near{animation:none}.ts-btn{transition:none}.ts-death-enter{opacity:1;transform:none}.ts-menu-death .ts-panel-menu,.ts-loading-tip,.ts-adv-toast{transition:none}.ts-adv-row.ts-adv-celebrate{animation:none}.ts-adv-progress-fill{transition:none}.ts-menu-death .ts-backdrop{animation:none;opacity:1}}.ts-panel-inv{--slot: calc(44px * var(--ui-scale));width:calc(900px * var(--ui-scale));max-width:94vw;min-height:calc(560px * var(--ui-scale));max-height:92vh;display:flex;flex-direction:column;gap:.7rem;overflow:hidden;user-select:none;-webkit-user-select:none;background:linear-gradient(165deg,#221c18f7,#141212f7 52%,#0b0c0ffa);border:1px solid rgba(255,226,190,.16);border-radius:12px;box-shadow:0 22px 64px #0000009e,0 4px 14px #00000073,inset 0 1px #fff0dc1f,inset 0 0 52px #00000052}.ts-panel-inv.ts-panel-compact{width:auto}.ts-inv-layout{display:flex;gap:1.1rem;min-height:0;flex:1}.ts-inv-left{display:flex;flex-direction:column;gap:.8rem;min-height:0;overflow-y:auto;scrollbar-width:thin}.ts-chest-wrap{display:flex;flex-direction:column}.ts-chest-label{margin-bottom:.5rem}.ts-inv-right{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.ts-grid9{display:grid;grid-template-columns:repeat(9,var(--slot));gap:.25rem}.ts-armor-row{display:flex;gap:.25rem}.ts-armor-col{flex-direction:column}.ts-main-grid{align-content:start}.ts-hotbar-row{border-top:1px solid var(--edge);padding-top:.55rem}.ts-inv-label{font-size:var(--ui-1);font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#ffe2be80;line-height:1}.ts-char-card{position:relative;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:.9rem;width:fit-content;margin:0 auto;padding:12px;background:radial-gradient(70% 60% at 50% 30%,rgba(255,199,128,.07),transparent 70%),#00000038;border:1px solid var(--edge);border-radius:10px}.ts-char-card .ts-slot{width:calc(var(--slot) * .875);height:calc(var(--slot) * .875)}.ts-char-card .ts-armor-row{gap:3px}.ts-char-canvas{width:calc(75px * var(--ui-scale));height:calc(150px * var(--ui-scale));image-rendering:pixelated;filter:drop-shadow(0 3px 8px rgba(0,0,0,.55))}.ts-equip-stats{display:flex;flex-direction:column;gap:.3rem;align-items:flex-start;min-width:3.4rem}.ts-equip-stat-label{font-size:var(--ui-1);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffe2be73;line-height:1}.ts-equip-stat-value{font-size:1.3em;font-weight:700;color:var(--text);line-height:1;font-variant-numeric:tabular-nums}.ts-slot-empty{background:#0003;border-color:#ffffff0d}.ts-slot-armor{border-color:#ffe2be17}.ts-slot:hover{border-color:#ffffff73;background:#ffffff14}.ts-hotbar-row .ts-slot.selected{border-color:#ffffffeb;background:#ffffff1a;box-shadow:0 0 0 1px #ffffff8c,inset 1px 1px #0000006b,inset -1px -1px #ffffff1a}.ts-armor-glyph{position:absolute;inset:16%;background:#d5e4f2;opacity:.17;pointer-events:none;-webkit-mask:no-repeat center / contain;mask:no-repeat center / contain}.ts-armor-glyph-head{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1C4.7 1 2 3.7 2 7v5h3V8c0-1.7.6-3 3-3s3 1.3 3 3v4h3V7c0-3.3-2.7-6-6-6z'/%3E%3Cpath d='M2 12.5h12V15H2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1C4.7 1 2 3.7 2 7v5h3V8c0-1.7.6-3 3-3s3 1.3 3 3v4h3V7c0-3.3-2.7-6-6-6z'/%3E%3Cpath d='M2 12.5h12V15H2z'/%3E%3C/svg%3E")}.ts-armor-glyph-chest{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5.5 1h5l4 2.5-1.5 3L11.5 6v9h-7V6L3 6.5 1.5 3.5l4-2.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5.5 1h5l4 2.5-1.5 3L11.5 6v9h-7V6L3 6.5 1.5 3.5l4-2.5z'/%3E%3C/svg%3E")}.ts-armor-glyph-legs{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 1h10v4l-1.4 10H9L8 7.5 7 15H4.4L3 5V1z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 1h10v4l-1.4 10H9L8 7.5 7 15H4.4L3 5V1z'/%3E%3C/svg%3E")}.ts-armor-glyph-feet{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 1h5v7.5h2c1.7 0 3 1.3 3 3V15H4V1z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 1h5v7.5h2c1.7 0 3 1.3 3 3V15H4V1z'/%3E%3C/svg%3E")}.ts-container-section{padding:.55rem;background:#00000038;border:1px solid var(--edge);border-radius:10px;align-self:flex-start}.ts-furnace{display:flex;align-items:center;justify-content:center;gap:1.5rem;min-height:calc(200px * var(--ui-scale));padding:.5rem .8rem}.ts-furnace-col{display:flex;flex-direction:column;align-items:center;gap:.45rem}.ts-furnace-label{font-size:var(--ui-1)}.ts-furnace-mid{display:flex;align-items:center}.ts-slot-furnace-out{width:calc(var(--slot) * 1.25);height:calc(var(--slot) * 1.25)}.ts-furnace-arrow{width:92px;height:10px;border-radius:999px;overflow:hidden;background:#00000080;border:1px solid var(--edge)}.ts-furnace-progress{height:100%;width:0%;background:var(--accent);transition:width .15s linear}.ts-furnace-flame{position:relative;width:26px;height:34px;margin:.15rem 0;display:flex;align-items:flex-end;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 20'%3E%3Cpath d='M8 .5c.5 3.5 5.5 5.5 5.5 10.5a5.5 5.5 0 0 1-11 0C2.5 8 5.5 7 6 4c.8 1.7 1.5 2.4 2-3.5z'/%3E%3C/svg%3E") no-repeat center / contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 20'%3E%3Cpath d='M8 .5c.5 3.5 5.5 5.5 5.5 10.5a5.5 5.5 0 0 1-11 0C2.5 8 5.5 7 6 4c.8 1.7 1.5 2.4 2-3.5z'/%3E%3C/svg%3E") no-repeat center / contain}.ts-furnace-flame:before{content:"";position:absolute;inset:0;background:#ffffff17}.ts-furnace-burn{position:relative;width:100%;height:0%;background:linear-gradient(180deg,#ffd97a,#ff8a3c 55%,#ff5a2a);filter:drop-shadow(0 0 5px rgba(255,140,60,.85));transition:height .15s linear}.ts-enchant{display:flex;align-items:center;gap:1.2rem}.ts-enchant-caption{font-size:.78em;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.ts-enchant-btns{display:flex;flex-direction:column;gap:.4rem;min-width:200px}.ts-enchant-offer{appearance:none;cursor:pointer;text-align:left;font:inherit;display:flex;align-items:baseline;justify-content:space-between;gap:.8em;padding:.45em .8em;border-radius:8px;color:var(--text);background:linear-gradient(180deg,#7a2fa852,#46186452);border:1px solid rgba(178,106,255,.35);transition:background .12s ease,border-color .12s ease,transform .12s ease}.ts-enchant-offer:hover:not(:disabled){background:linear-gradient(180deg,#9646cd73,#5a228273);border-color:#c88cff99;transform:translateY(-1px)}.ts-enchant-offer:disabled{cursor:default;opacity:.45;filter:grayscale(.6)}.ts-enchant-offer.empty{border-style:dashed}.ts-enchant-name{font-weight:650;color:#d9b3ff}.ts-enchant-offer.affordable .ts-enchant-name{color:#e4cdff}.ts-enchant-cost{font-size:.82em;color:var(--text-dim)}.ts-enchant-offer.affordable .ts-enchant-cost{color:var(--good);font-weight:650}.ts-slot-glint:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,transparent 32%,rgba(196,130,255,.3) 46%,rgba(255,255,255,.22) 50%,rgba(196,130,255,.3) 54%,transparent 68%);background-size:260% 100%;box-shadow:inset 0 0 12px #aa64ff8c,inset 0 0 0 1px #be8cff73;animation:ts-glint-sweep 2.8s linear infinite}@keyframes ts-glint-sweep{0%{background-position:130% 0}to{background-position:-130% 0}}@media(prefers-reduced-motion:reduce){.ts-slot-glint:after{animation:none;background-position:50% 0}}.ts-book-tabs{display:flex;gap:.35rem}.ts-tab{appearance:none;cursor:pointer;padding:.35em .95em;font:inherit;font-size:.85em;color:var(--text-dim);background:#ffffff0a;border:1px solid var(--edge);border-bottom:none;border-radius:8px 8px 0 0;transition:color var(--trans),background var(--trans)}.ts-tab:hover{color:var(--text)}.ts-tab.active{color:var(--accent);background:#5ee8e014;border-color:#5ee8e059}.ts-book-search{padding:.4em .7em;background:#00000059;border:1px solid var(--edge);border-radius:7px;color:var(--text);font:inherit;font-size:.9em;outline:none}.ts-book-search:focus{border-color:var(--accent)}.ts-book-filter{display:flex;align-items:center;gap:.5rem}.ts-book-filter .ts-book-search{flex:1;min-width:0}.ts-book-only{display:inline-flex;align-items:center;gap:.35em;font-size:.8em;color:var(--text-dim);white-space:nowrap;cursor:pointer;user-select:none;-webkit-user-select:none;transition:color var(--trans)}.ts-book-only:hover{color:var(--text)}.ts-book-only input{accent-color:var(--accent);cursor:pointer;margin:0}.ts-book-list{flex:1;min-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:3px;padding:.4rem;background:#00000038;border:1px solid var(--edge);border-radius:9px}.ts-recipe{display:flex;align-items:center;gap:.55rem;padding:.32rem .55rem;border-radius:7px;cursor:pointer;opacity:.85;transition:background var(--trans),opacity var(--trans),border-color var(--trans);border:1px solid transparent}.ts-recipe:hover{background:#ffffff12;border-color:var(--edge);opacity:1}.ts-recipe.craftable{opacity:1;box-shadow:inset 2px 0 #5ee8e08c}.ts-recipe.craftable:hover{background:#5ee8e01f;border-color:#5ee8e066;box-shadow:inset 2px 0 #5ee8e08c,inset 0 0 18px #5ee8e014}.ts-recipe:not(.craftable) .ts-recipe-name{opacity:.6}.ts-recipe-icon{width:28px;height:28px;image-rendering:pixelated;flex:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.ts-recipe-label{display:flex;align-items:baseline;gap:.35rem;min-width:0}.ts-recipe-name{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ts-recipe-yield{font-size:.78em;color:var(--text-dim);font-variant-numeric:tabular-nums;flex:none}.ts-recipe-ins{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.ts-ing{display:inline-flex;align-items:center;gap:3px;padding:1px 6px 1px 2px;border-radius:999px;background:#00000047;border:1px solid rgba(255,255,255,.09)}.ts-ing img{width:16px;height:16px;image-rendering:pixelated;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}.ts-ing-count{font-size:.7em;font-weight:650;color:#ffffff8c;font-variant-numeric:tabular-nums}.ts-ing.ok .ts-ing-count{color:#7ddc8a}.ts-ing.short img{filter:grayscale(.9) brightness(.7)}.ts-craft-btn{flex:none;width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:.56em;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#052420;background:var(--accent);border:1px solid rgba(94,232,224,.7);box-shadow:0 1px 3px #0006;transition:box-shadow var(--trans),background var(--trans)}.ts-recipe.craftable:hover .ts-craft-btn{box-shadow:0 1px 3px #0006,0 0 10px #5ee8e059}.ts-craft-btn.off{color:var(--text-dim);background:#ffffff0d;border-color:var(--edge);box-shadow:none}.ts-station-badge{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border-radius:999px;background:#00000047;border:1px solid rgba(255,255,255,.09)}.ts-station-badge img{width:14px;height:14px;image-rendering:pixelated;filter:grayscale(.5) opacity(.8)}.ts-station-badge.ok{border-color:#8be28b80;background:#8be28b1f}.ts-station-badge.ok img{filter:none}.ts-creative-grid{flex:1;min-height:180px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--slot),1fr));gap:.25rem;padding:.4rem;background:#00000038;border:1px solid var(--edge);border-radius:9px;grid-auto-rows:var(--slot)}.ts-creative-item{position:relative;cursor:pointer;border-radius:6px;border:1px solid rgba(255,255,255,.07);background:#ffffff0a;transition:border-color var(--trans),background var(--trans),transform var(--trans)}.ts-creative-item img{position:absolute;inset:11%;width:78%;height:78%;image-rendering:pixelated;pointer-events:none}.ts-creative-item:hover{border-color:var(--accent);background:#5ee8e01f;transform:scale(1.06)}.ts-cursor-stack{position:fixed;left:0;top:0;z-index:60;width:calc(var(--slot) * .72);height:calc(var(--slot) * .72);pointer-events:none;filter:drop-shadow(0 4px 6px rgba(0,0,0,.6))}.ts-cursor-stack img{width:100%;height:100%;image-rendering:pixelated}.ts-cursor-stack .ts-slot-count{right:-2px;bottom:-3px}.ts-tooltip{position:fixed;left:0;top:0;z-index:70;max-width:260px;padding:.45em .7em;background:#07080bf5;border:1px solid rgba(255,255,255,.28);border-radius:8px;box-shadow:var(--shadow);backdrop-filter:blur(8px);font-size:clamp(11px,.8vw,14px);line-height:1.45;pointer-events:none}.tt-line{white-space:pre}.tt-title{color:#fff;font-weight:650}.tt-ench{color:#c9a0f5;font-style:italic;font-size:.92em}.tt-dim{color:var(--text-dim);font-size:.92em}.tt-ok{color:var(--good);font-size:.92em}.tt-bad{color:var(--bad);font-size:.92em}.tt-hint{color:var(--warn);font-size:.92em;font-style:italic}.tt-r-uncommon .tt-title{color:#ffd35e}.tt-r-rare .tt-title{color:#5ee8e0}.tt-r-enchanted .tt-title{color:#c9a0f5}.ts-panel ::-webkit-scrollbar,.ts-worldlist::-webkit-scrollbar,.ts-book-list::-webkit-scrollbar,.ts-creative-grid::-webkit-scrollbar{width:9px}.ts-panel ::-webkit-scrollbar-track,.ts-worldlist::-webkit-scrollbar-track,.ts-book-list::-webkit-scrollbar-track,.ts-creative-grid::-webkit-scrollbar-track{background:transparent}.ts-panel ::-webkit-scrollbar-thumb,.ts-worldlist::-webkit-scrollbar-thumb,.ts-book-list::-webkit-scrollbar-thumb,.ts-creative-grid::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:999px;border:2px solid transparent;background-clip:content-box}.ts-panel ::-webkit-scrollbar-thumb:hover{background:#ffffff42;background-clip:content-box}@media(max-width:1500px){:root{--slot: clamp(40px, 2.9vw, 46px)}.ts-panel-inv{width:min(960px,95vw)}}@media(max-width:1280px){:root{--slot: 40px;--icon: 16px}.ts-screen{padding:1rem}.ts-chat-wrap{width:min(60vw,460px)}}@media(min-width:2400px){:root{--slot: 58px;--icon: 20px;font-size:18px}.ts-panel-menu{width:min(500px,90vw)}}@media(min-width:3400px){:root{--slot: 66px;--icon: 24px;font-size:21px}}.ts-hint{position:absolute;left:50%;top:64px;transform:translate(-50%);display:flex;align-items:center;gap:.6em;max-width:480px;padding:.35em .85em;border-radius:999px;background:var(--glass-soft);border:1px solid var(--edge);backdrop-filter:blur(10px);box-shadow:var(--shadow);font-family:var(--ui-font);font-size:var(--ui-2);line-height:1.45;letter-spacing:.03em;text-align:center;opacity:0;translate:0 -10px;pointer-events:none;transition:opacity .25s ease,translate .25s ease}.ts-hint.show{opacity:.85;translate:0 0}.ts-hint svg{flex:none;width:1.05em;height:1.05em;color:var(--warn)}.ts-hint .ts-hint-text{color:var(--text);text-shadow:0 1px 2px rgba(0,0,0,.6)}.ts-key{display:inline-block;margin:0 .15em;padding:.05em .45em;border-radius:5px;background:var(--glass-soft);border:1px solid var(--edge-bright);box-shadow:0 1px #00000080;font-family:var(--font-mono);font-size:.85em;line-height:1.3;color:var(--text);white-space:nowrap}.ts-adv-toasts{position:absolute;z-index:30;pointer-events:none;user-select:none;right:clamp(10px,1.2vw,22px);top:calc(clamp(10px,1.2vw,22px) + 2.8em + 190px);display:flex;flex-direction:column;gap:8px;align-items:flex-end}@media(max-width:700px){.ts-adv-toasts{top:calc(clamp(10px,1.2vw,22px) + 2.8em + 140px)}}.ts-adv-toast{display:flex;align-items:center;gap:.7em;min-width:250px;max-width:340px;padding:.55em .9em;border-radius:var(--radius);background:var(--glass);border:1px solid var(--edge-bright);backdrop-filter:blur(10px);box-shadow:var(--shadow);opacity:0;translate:24px 0;transition:opacity .26s ease-out,translate .26s ease-out}.ts-adv-toast-show{opacity:1;translate:0 0}.ts-adv-toast-hide{opacity:0;translate:24px 0}.ts-adv-toast-icon{flex:none;width:40px;height:40px;image-rendering:pixelated;background:var(--glass-soft);border:1px solid var(--edge);border-radius:6px;padding:2px;box-shadow:0 0 0 2px #4cd1c473,0 0 10px #4cd1c438}.ts-adv-toast-challenge .ts-adv-toast-icon{box-shadow:0 0 0 2px #ffd16b99,0 0 12px #ffd16b4d}.ts-adv-toast-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#5ee8e0;text-shadow:0 1px 2px rgba(0,0,0,.6)}.ts-adv-toast-challenge .ts-adv-toast-label{color:#ffd97f}.ts-adv-toast-title{font-size:14px;font-weight:600;color:var(--text);text-shadow:0 1px 2px rgba(0,0,0,.6)}.ts-screen.ts-adv-screen{position:fixed;z-index:40;inset:0;display:flex;align-items:center;justify-content:center;background:#04070c9e;backdrop-filter:blur(6px)}.ts-screen.ts-adv-screen.ts-screen-hidden{display:none}.ts-adv-panel{width:min(640px,92vw);max-height:84vh;display:flex;flex-direction:column;gap:.7em;padding:1.1em 1.3em;border-radius:var(--radius);background:var(--glass-strong);border:1px solid var(--edge-bright);box-shadow:var(--shadow)}.ts-adv-header{display:flex;flex-direction:column;gap:.45em;flex:none;border-bottom:1px solid var(--edge);padding-bottom:.55em}.ts-adv-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:1em}.ts-adv-title{margin:0;font-size:1.25em;letter-spacing:.05em;color:var(--accent)}.ts-adv-progress{font-family:var(--font-mono);font-size:.9em;color:var(--text-dim);font-variant-numeric:tabular-nums}.ts-adv-progressbar{height:6px;border-radius:999px;overflow:hidden;background:#00000059;border:1px solid var(--edge)}.ts-adv-progress-fill{height:100%;width:0;border-radius:999px;min-width:0;background:linear-gradient(90deg,#1f8f89f2,#5ee8e0e6);box-shadow:0 0 8px #5ee8e059;transition:width .3s ease}.ts-adv-list{overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding-right:4px}.ts-adv-row{display:flex;align-items:center;gap:.7em;position:relative;padding:.45em .6em .45em calc(10px + var(--adv-indent, 0) * 18px);border-radius:8px;background:var(--glass-soft);border:1px solid var(--edge);opacity:.55;transition:opacity .15s ease}.ts-adv-row.ts-adv-next{opacity:.85;border-left:2px dashed rgba(94,232,224,.55)}.ts-adv-row.ts-adv-earned{opacity:1;border-color:#5ee8e059;background:linear-gradient(90deg,rgba(31,143,137,.18),var(--glass-soft))}.ts-adv-row-child:before{content:"";position:absolute;width:1px;left:calc(26px + (var(--adv-indent, 1) - 1) * 18px);top:-5px;height:calc(50% + 4px);background:linear-gradient(#5ee8e073,#5ee8e01f)}.ts-adv-list>.ts-adv-row-child:first-child:before{display:none}.ts-adv-icon{flex:none;width:32px;height:32px;image-rendering:pixelated;background:#0000004d;border:1px solid var(--edge);border-radius:6px;padding:2px;transition:filter .15s ease,border-color .15s ease}.ts-adv-earned .ts-adv-icon{border-color:#5ee8e08c;box-shadow:0 0 0 1px #5ee8e040,0 0 10px #5ee8e02e}.ts-adv-locked .ts-adv-icon{filter:grayscale(1) brightness(.8)}.ts-adv-row-text{min-width:0;flex:1}.ts-adv-row-title{font-size:.92em;font-weight:600;color:var(--text)}.ts-adv-check{display:none;margin-left:auto;flex:none;color:var(--accent);font-weight:700;text-shadow:0 0 6px rgba(94,232,224,.55)}.ts-adv-earned .ts-adv-check{display:block}.ts-adv-lock{display:none;margin-left:auto;flex:none;font-size:.7em;opacity:.75}.ts-adv-locked .ts-adv-lock{display:block}.ts-adv-row-desc{font-size:.78em;color:var(--text-dim)}@keyframes ts-adv-row-glow{0%{box-shadow:0 0 0 2px #5ee8e0cc,0 0 22px #5ee8e073}to{box-shadow:0 0 #5ee8e000}}.ts-adv-row.ts-adv-celebrate{animation:ts-adv-row-glow .9s ease-out}.ts-adv-hint{font-family:var(--font-mono);font-size:.72em;letter-spacing:.05em;color:var(--text-dim);text-align:center}.ts-screen.ts-trade-screen{position:fixed;z-index:40;inset:0;display:flex;align-items:center;justify-content:center;background:#04070c9e;backdrop-filter:blur(6px)}.ts-screen.ts-trade-screen.ts-screen-hidden{display:none}.ts-trade-panel{width:min(560px,92vw);max-height:84vh;display:flex;flex-direction:column;gap:.7em;padding:1.1em 1.3em;border-radius:12px;background:linear-gradient(165deg,#221c18f7,#141212f7 52%,#0b0c0ffa);border:1px solid rgba(255,226,190,.16);box-shadow:0 22px 64px #0000009e,0 4px 14px #00000073,inset 0 1px #fff0dc1f}.ts-trade-header{display:flex;align-items:center;justify-content:space-between;gap:1em;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:.55em}.ts-trade-head{display:flex;align-items:baseline;gap:.55em}.ts-trade-robe-dot{width:10px;height:10px;border-radius:50%;flex:none;align-self:center;border:1px solid rgba(255,255,255,.35);box-shadow:0 0 8px #00000080,inset 0 1px #ffffff59}.ts-trade-title{margin:0;font-size:1.05em;font-weight:700;letter-spacing:.06em;color:#fff0e0f2;text-shadow:0 1px 3px rgba(0,0,0,.6)}.ts-trade-kicker{font-size:.72em;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#ffe2be73}.ts-trade-hint{font-family:var(--font-mono);font-size:.72em;color:var(--text-dim)}.ts-trade-list{overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-right:4px}.ts-trade-row{position:relative;display:flex;align-items:center;gap:.8em;padding:.5em .7em;border-radius:10px;background:linear-gradient(180deg,#ffecd60d,#00000038);border:1px solid rgba(255,255,255,.08);transition:border-color .12s ease,background .12s ease,box-shadow .12s ease,opacity .12s ease}.ts-trade-row.ts-trade-affordable{cursor:pointer;border-color:#5ee8e047}.ts-trade-row.ts-trade-affordable:hover{background:linear-gradient(90deg,#5ee8e01f,#00000038);border-color:#5ee8e0a6;box-shadow:0 0 14px #5ee8e038,inset 0 0 18px #5ee8e00f}.ts-trade-row.ts-trade-affordable:focus-visible{outline:2px solid rgba(94,232,224,.9);outline-offset:1px}.ts-trade-row.ts-trade-unaffordable{opacity:.55}.ts-trade-row.ts-trade-unaffordable .ts-trade-icon{filter:saturate(.55)}.ts-trade-row.ts-trade-soldout{opacity:.42}.ts-trade-row.ts-trade-soldout .ts-trade-icon{filter:grayscale(.85)}.ts-trade-give,.ts-trade-get{display:flex;align-items:center;gap:5px}.ts-trade-cell{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:42px}.ts-trade-icon{width:36px;height:36px;image-rendering:pixelated;background:#00000052;border:1px solid rgba(255,255,255,.08);border-radius:7px;padding:2px}.ts-trade-cell-get .ts-trade-icon{border-color:#5ee8e059;box-shadow:0 0 10px #5ee8e01f}.ts-trade-cell-short .ts-trade-icon{border-color:#f06454bf}.ts-trade-count{font-family:var(--font-mono);font-size:.72em;color:var(--text-dim)}.ts-trade-count-get{color:#fff0e0e6;font-weight:600}.ts-trade-missing{position:absolute;top:-5px;right:-3px;font-family:var(--font-mono);font-size:.68em;font-weight:700;line-height:1.4;padding:0 4px;border-radius:6px;color:#ffb4a6;background:#96281ae6;border:1px solid rgba(240,100,84,.6)}.ts-trade-arrow{color:#5ee8e0d9;font-size:1.1em;padding:0 2px}.ts-trade-info{margin-left:auto;text-align:right;min-width:90px;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.ts-trade-ench{font-size:.74em;color:#9ad8ff}.ts-trade-uses{font-family:var(--font-mono);font-size:.7em;color:var(--text-dim);margin-top:1px}.ts-trade-exhausted{color:#d86a5a;font-weight:600}.ts-trade-bar{width:76px;height:4px;margin-top:3px;background:#0006;border:1px solid rgba(255,255,255,.06);border-radius:2px;overflow:hidden}.ts-trade-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-deep),var(--accent));border-radius:2px}.ts-trade-tag{display:none;font-size:.68em;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#e6e6e6bf;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:1px 8px}.ts-trade-row.ts-trade-soldout .ts-trade-tag{display:inline-block}.ts-trade-row.ts-trade-pulse{animation:ts-trade-pulse-anim .14s ease-out 1}@keyframes ts-trade-pulse-anim{0%{background:#5ee8e059;border-color:#5ee8e0e6;box-shadow:0 0 18px #5ee8e080}to{background:#5ee8e000;border-color:#5ee8e047;box-shadow:0 0 #5ee8e000}}.ts-screen.ts-sign-screen{position:fixed;z-index:40;inset:0;display:flex;align-items:center;justify-content:center;background:#04070c9e;backdrop-filter:blur(6px)}.ts-screen.ts-sign-screen.ts-screen-hidden{display:none}.ts-sign-panel{width:min(460px,92vw);display:flex;flex-direction:column;gap:.9em;padding:1.1em 1.3em;border-radius:12px;background:linear-gradient(165deg,#221c18f7,#141212f7 52%,#0b0c0ffa);border:1px solid rgba(255,226,190,.16);box-shadow:0 22px 64px #0000009e,0 4px 14px #00000073,inset 0 1px #fff0dc1f}.ts-sign-header{display:flex;align-items:baseline;justify-content:space-between;gap:1em;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:.55em}.ts-sign-title{margin:0;font-size:1.05em;font-weight:700;letter-spacing:.06em;color:#e0b878;text-shadow:0 0 12px rgba(224,184,120,.35)}.ts-sign-hint{font-family:var(--font-mono);font-size:.72em;color:var(--text-dim)}.ts-sign-board{display:flex;flex-direction:column;gap:7px;padding:18px 22px;border-radius:9px;background:repeating-linear-gradient(180deg,#603e1c00 0px 13px,#40281047 13px 14px),repeating-linear-gradient(90deg,#ffe2aa0d 0px 3px,#5838180f 3px 7px),linear-gradient(180deg,#c8a86b,#b48f52 48%,#a5813e);border:2px solid #6f4f2a;box-shadow:inset 0 0 24px #3c26128c,inset 0 2px #fff0c859,inset 0 -3px 6px #2e1c0c73,0 6px 18px #00000073}.ts-sign-input{width:100%;padding:.3em .5em;text-align:center;font-family:Georgia,Palatino Linotype,Book Antiqua,Times New Roman,serif;font-size:1.05em;color:#2b1a0c;font-weight:600;letter-spacing:.02em;text-shadow:0 1px 0 rgba(255,240,200,.45);background:#fff4da29;border:1px solid transparent;border-radius:5px;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.ts-sign-input:hover{background:#fff4da42}.ts-sign-input:focus{outline:none;border-color:#5ee8e0cc;background:#fff8e680;box-shadow:0 0 0 2px #5ee8e040,0 0 10px #2b1a0c59}.ts-sign-input::placeholder{color:#2b1a0c66}.ts-sign-foot{display:flex;justify-content:flex-end;align-items:center;gap:.8em}.ts-sign-done{cursor:pointer;padding:.45em 1.6em;border-radius:9px;font-size:.85em;font-weight:700;letter-spacing:.06em;color:#06231f;background:linear-gradient(180deg,var(--accent),var(--accent-deep));border:1px solid rgba(94,232,224,.6);box-shadow:0 3px 10px #0006,inset 0 1px #ffffff59;transition:filter .12s ease,box-shadow .12s ease}.ts-sign-done:hover{filter:brightness(1.12);box-shadow:0 3px 14px #5ee8e059,inset 0 1px #ffffff59}.ts-sign-done:focus-visible{outline:3px solid rgba(94,232,224,.95);outline-offset:2px}.ts-look{display:flex;gap:1.1rem;align-items:flex-start;margin:.4rem 0 .8rem}.ts-look-preview{width:96px;height:auto;image-rendering:pixelated;flex:none;background:#ffffff0a;border:1px solid var(--edge);border-radius:10px;padding:6px}.ts-look-rows{display:flex;flex-direction:column;gap:.45rem;min-width:0}.ts-look-row{display:flex;align-items:center;gap:.6rem}.ts-look-row label{width:3.6em;color:var(--text-dim);font-size:.9em}.ts-look-swatches{display:flex;flex-wrap:wrap;gap:.3rem}.ts-swatch{appearance:none;cursor:pointer;width:22px;height:22px;padding:0;border-radius:6px;border:2px solid rgba(255,255,255,.15);transition:transform var(--trans),border-color var(--trans)}.ts-swatch:hover{transform:scale(1.1)}.ts-swatch-on{border-color:var(--accent, #4fd1c5);box-shadow:0 0 0 2px #4fd1c559}.ts-screen.ts-worldmap-screen{position:fixed;z-index:40;inset:0;display:block;background:#04070cc7;backdrop-filter:blur(4px);cursor:crosshair}.ts-screen.ts-worldmap-screen.ts-screen-hidden{display:none}.ts-worldmap-canvas{position:absolute;left:8px;top:8px;width:calc(100% - 16px);height:calc(100% - 76px);border:1px solid var(--edge-bright, rgba(255, 255, 255, .18));border-radius:var(--radius, 10px);background:#100c06;box-shadow:var(--shadow, 0 12px 40px rgba(0, 0, 0, .5));cursor:grab}.ts-worldmap-canvas:active{cursor:grabbing}.ts-worldmap-readout{position:absolute;left:0;top:0;padding:2px 8px;border-radius:6px;font:600 12px ui-monospace,DejaVu Sans Mono,monospace;color:#f5ead2;background:#04070cb8;border:1px solid rgba(255,255,255,.12);pointer-events:none;white-space:nowrap}.ts-worldmap-input{position:absolute;left:0;top:0;display:none;width:160px;padding:4px 8px;font:600 13px system-ui,sans-serif;color:#f5ead2;background:var(--glass-strong, rgba(16, 22, 32, .92));border:1px solid var(--edge-bright, rgba(255, 255, 255, .2));border-radius:6px;outline:none}.ts-worldmap-input:focus{border-color:var(--accent, #4fd1c5)}.ts-worldmap-screen:after{content:"Drag to pan · Wheel to zoom · Right-click to add/remove a waypoint · N to close";position:absolute;left:50%;bottom:22px;transform:translate(-50%);padding:4px 14px;border-radius:8px;font:500 12px system-ui,sans-serif;letter-spacing:.02em;color:#f5ead2d9;background:#04070c99;border:1px solid rgba(255,255,255,.1);pointer-events:none;white-space:nowrap}.ts-bossbar{position:absolute;left:50%;top:96px;transform:translate(-50%);width:min(520px,72vw);pointer-events:none;text-align:center}.ts-bossbar-name{margin-bottom:5px;font-size:.95em;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#bfeeea;text-shadow:0 0 10px rgba(79,209,197,.75),0 1px 3px rgba(0,0,0,.85);transition:color .3s ease}.ts-bossbar-track{height:13px;border-radius:7px;overflow:hidden;background:#04070cb8;border:1px solid rgba(120,220,214,.45);box-shadow:var(--shadow),inset 0 1px 3px #0009}.ts-bossbar-fill{height:100%;width:100%;border-radius:6px;background:linear-gradient(90deg,#0f6f6d,#17b8ab 55%,#57ecdd);box-shadow:0 0 12px #4fecdd8c;transition:width .26s ease-out,background .4s ease}.ts-bossbar.enraged .ts-bossbar-fill{background:linear-gradient(90deg,#6d1436,#b8336a 50%,#2fd4c6 130%);box-shadow:0 0 16px #d63d7b99}.ts-bossbar.enraged .ts-bossbar-name{color:#ffd9e6;text-shadow:0 0 12px rgba(214,61,123,.8),0 1px 3px rgba(0,0,0,.85)}.ts-compass{position:absolute;right:calc(50% - 190px);bottom:108px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 9px 6px;border-radius:12px;pointer-events:none;background:var(--glass);border:1px solid var(--edge);backdrop-filter:blur(8px);box-shadow:var(--shadow)}.ts-compass-needle{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffffff38,#00000059),#10202e;border:2px solid rgba(224,181,58,.85);position:relative;transition:transform .12s linear}.ts-compass-needle:before{content:"";position:absolute;left:50%;top:3px;width:0;height:0;transform:translate(-50%);border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:13px solid #3fe0d0;filter:drop-shadow(0 0 5px rgba(63,224,208,.9))}.ts-compass-needle:after{content:"";position:absolute;left:50%;bottom:4px;width:0;height:0;transform:translate(-50%);border-left:3.4px solid transparent;border-right:3.4px solid transparent;border-top:10px solid rgba(200,214,224,.65)}.ts-compass-dist{font:600 11px system-ui,sans-serif;color:#d9f3ef;text-shadow:0 1px 2px rgba(0,0,0,.8)}.ts-compass-depth{font:600 10px system-ui,sans-serif;color:#8fd8d0;text-shadow:0 1px 2px rgba(0,0,0,.8);min-height:1em}.ts-victory{position:absolute;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 90% at 50% 30%,#0a2c34e6,#03080ef7 68%);opacity:0;transition:opacity .9s ease}.ts-victory.show{opacity:1}.ts-victory-panel{display:flex;flex-direction:column;align-items:center;gap:18px;max-width:560px;padding:0 26px;text-align:center;animation:ts-victory-rise 1.1s ease both}@keyframes ts-victory-rise{0%{transform:translateY(18px);opacity:0}to{transform:none;opacity:1}}.ts-victory-title{font-size:2.1em;letter-spacing:.06em;color:#c9f4ee;text-shadow:0 0 22px rgba(79,236,221,.6),0 2px 6px rgba(0,0,0,.8)}.ts-victory-text{font-size:1.02em;line-height:1.65;color:#def0ece6}.ts-victory-credits{height:150px;overflow:hidden;position:relative;width:100%;mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent)}.ts-victory-credits-track{display:flex;flex-direction:column;gap:5px;animation:ts-credits-scroll 26s linear infinite}.ts-victory-credits-track>div{font:500 13px system-ui,sans-serif;letter-spacing:.05em;color:#c8e8e2d9;min-height:1.2em}@keyframes ts-credits-scroll{0%{transform:translateY(150px)}to{transform:translateY(-100%)}}.ts-victory-button{padding:10px 26px;border-radius:10px;cursor:pointer;font-size:1em;letter-spacing:.04em;color:#d8fff8;background:#1c5e5ca6;border:1px solid rgba(110,232,218,.55);box-shadow:var(--shadow);transition:background .15s ease,transform .15s ease}.ts-victory-button:hover{background:#267e7acc;transform:translateY(-1px)}body.ts-high-contrast{--glass: rgba(0, 0, 0, .95);--glass-soft: rgba(0, 0, 0, .9);--glass-strong: rgba(0, 0, 0, .98);--edge: rgba(255, 255, 255, .45);--edge-bright: rgba(255, 255, 255, .85);--text: #ffffff;--text-dim: #d9e6f2}body.ts-high-contrast *,body.ts-high-contrast *:before,body.ts-high-contrast *:after{backdrop-filter:none!important}body.ts-high-contrast :focus-visible{outline:3px solid var(--accent);outline-offset:2px}body.ts-reduce-motion *,body.ts-reduce-motion *:before,body.ts-reduce-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.ts-field-choice{flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem}.ts-choices{display:flex;gap:.3rem}.ts-choice{font:inherit;padding:.3em .8em;cursor:pointer;border-radius:calc(var(--radius) * .55);background:var(--glass-soft);border:1px solid var(--edge);color:var(--text-dim);transition:var(--trans)}.ts-choice:hover{color:var(--text);border-color:var(--edge-bright)}.ts-choice.selected{background:var(--accent);border-color:var(--accent);color:#052420;font-weight:700}.ts-stat-row{display:flex;justify-content:space-between;align-items:baseline;gap:1.2em;padding:5px 10px;border-radius:calc(var(--radius) * .55);background:var(--glass-soft)}.ts-stat-row.ts-stat-indent{margin-left:18px;background:transparent}.ts-stat-name{font-size:.88em;color:var(--text-dim)}.ts-stat-value{font-size:.92em;font-weight:600;color:var(--text)}.ts-stat-section .ts-stat-name{color:var(--text);font-weight:600}.ts-book-cats{display:flex;flex-wrap:nowrap;gap:.3rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 24px),transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 24px),transparent 100%)}.ts-book-cats::-webkit-scrollbar{display:none}.ts-cat-chip{font:inherit;font-size:.78em;letter-spacing:.03em;cursor:pointer;padding:.15em 8px;flex:none;white-space:nowrap;border-radius:999px;color:var(--text-dim);background:var(--glass-soft);border:1px solid transparent;transition:color .12s,border-color .12s}.ts-cat-chip:hover{color:var(--text);border-color:var(--edge)}.ts-cat-chip.active{background:var(--accent);border-color:var(--accent);color:#052420;font-weight:700}.ts-book-recent{display:flex;align-items:center;gap:.35rem;min-height:0}.ts-recent-label{font-size:.68em;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);flex:none}.ts-recent-item{width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:calc(var(--radius) * .55);border:1px solid var(--edge);background:var(--glass-soft);cursor:pointer;opacity:.6;transition:opacity .12s,border-color .12s}.ts-recent-item:hover{opacity:1;border-color:var(--edge-bright)}.ts-recent-item.craftable{opacity:.9}.ts-recent-item.craftable:hover{border-color:#5ee8e08c;box-shadow:0 0 6px #5ee8e040}.ts-recent-item img{width:26px;height:26px;image-rendering:pixelated;pointer-events:none}.ts-recipe.pinned{border-left:2px solid var(--accent)}.ts-pin{font-size:.6em;font-weight:700;letter-spacing:.08em;flex:none;color:var(--accent);border:1px solid rgba(94,232,224,.45);border-radius:3px;padding:0 3px}.ts-craft-toast{position:absolute;left:50%;bottom:2.2rem;transform:translate(-50%);padding:.35em 1em;border-radius:999px;pointer-events:none;background:var(--glass);border:1px solid var(--edge);backdrop-filter:blur(10px);box-shadow:var(--shadow);font-size:.9em;letter-spacing:.04em;opacity:0}.ts-craft-toast.show{animation:ts-craft-toast-life 1.5s ease forwards}@keyframes ts-craft-toast-life{0%{opacity:0;transform:translate(-50%,6px)}10%{opacity:1;transform:translate(-50%)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-5px)}}.ts-photo-panel{position:fixed;left:50%;bottom:26px;transform:translate(-50%);z-index:60;display:none;flex-direction:column;gap:6px;min-width:320px;padding:12px 16px;border-radius:10px;background:#080c12db;border:1px solid rgba(255,255,255,.14);color:#e8eef5;font:13px system-ui,sans-serif;backdrop-filter:blur(6px)}.ts-photo-row{display:flex;align-items:center;gap:10px}.ts-photo-row span{flex:0 0 90px;color:var(--text-dim)}.ts-photo-row input[type=range]{flex:1;accent-color:var(--accent)}.ts-photo-value{flex:0 0 auto;text-align:left;color:#e8eef5;font-variant-numeric:tabular-nums}.ts-photo-actions{display:flex;align-items:center;gap:10px;margin-top:4px}.ts-photo-btn{padding:5px 12px;border-radius:7px;cursor:pointer;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#e8eef5;font:13px system-ui,sans-serif}.ts-photo-btn:hover{background:#ffffff2e}.ts-photo-status{color:var(--accent);font-size:12px;min-height:14px;white-space:nowrap}.ts-photo-hint{flex:1;text-align:right;color:var(--text-dim);font-size:11px}.ts-photo-flash{position:fixed;inset:0;z-index:70;background:#fff;opacity:0;pointer-events:none}.ts-photo-flash.go{animation:ts-photo-flash .38s ease-out forwards}@keyframes ts-photo-flash{0%{opacity:.9}to{opacity:0}}.ts-panel-menu{font-family:var(--ui-font);font-size:var(--ui-3)}.ts-menu-settings .ts-panel-menu{max-height:86vh;overflow:hidden;gap:0;padding:0}.ts-settings-header{flex:none;padding:1.05rem 1.3rem .55rem;background:linear-gradient(180deg,#0e151ffc,#0b1019f2);border-bottom:1px solid var(--edge)}.ts-settings-header .ts-panel-title{margin:0 0 .5rem}.ts-settings-tabs{display:flex;flex-wrap:nowrap;justify-content:center;gap:.1rem}.ts-settings-tab{padding:.3rem .45rem;white-space:nowrap;border-radius:6px;text-decoration:none;font-size:calc(11px * var(--ui-scale));font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);transition:color var(--trans),background var(--trans)}.ts-settings-tab:hover{color:var(--accent);background:#5ee8e014}.ts-settings-tab:focus-visible{outline:3px solid rgba(94,232,224,.95);outline-offset:1px}.ts-settings-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:.6rem 1.1rem .9rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}.ts-settings-footer{flex:none;padding:.6rem 1.3rem 1.05rem;background:linear-gradient(180deg,#0b1019f2,#0e151ffc);border-top:1px solid var(--edge)}.ts-settings-footer .ts-btn{width:100%;margin:0;min-height:42px;font-size:calc(15px * var(--ui-scale));font-weight:600;letter-spacing:.02em}.ts-settings .ts-section-title{margin:.9rem 0 .25rem;padding-bottom:.3rem;font-size:calc(11px * var(--ui-scale));font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--edge)}.ts-settings-section:first-child .ts-section-title{margin-top:0}.ts-settings .ts-field{min-height:40px;padding:0 .5rem;border-radius:6px;gap:.75rem;transition:background var(--trans)}.ts-settings .ts-field:hover{background:#ffffff0b}.ts-settings .ts-field>label:not(.ts-switch){font-size:calc(13px * var(--ui-scale));font-weight:500;color:#ffffffdb;letter-spacing:0;text-transform:none}.ts-settings .ts-value{font-size:calc(12px * var(--ui-scale));font-variant-numeric:tabular-nums;text-align:right}.ts-settings .ts-field-slider{display:grid;grid-template-columns:minmax(9em,42%) 1fr 5.5em;align-items:center}.ts-settings .ts-field-text{display:grid;grid-template-columns:minmax(7.5em,42%) 1fr;align-items:center}.ts-settings input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--accent) 0 var(--fill, 50%),rgba(255,255,255,.16) var(--fill, 50%) 100%)}.ts-settings input[type=range]::-moz-range-progress{background:var(--accent)}.ts-segment{display:inline-flex;padding:3px;gap:2px;background:#00000073;border:1px solid var(--edge);border-radius:10px}.ts-seg-btn{font:inherit;font-size:.82em;font-weight:600;cursor:pointer;padding:.35em 1.1em;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--text-dim);transition:var(--trans)}.ts-seg-btn:hover{color:var(--text)}.ts-seg-btn.selected{background:linear-gradient(180deg,var(--accent) 0%,var(--accent-deep) 100%);color:#052420;font-weight:700;box-shadow:inset 0 1px #ffffff4d}.ts-seg-btn:focus-visible{outline:3px solid rgba(94,232,224,.95);outline-offset:1px}.ts-field-note{margin:-.15rem 0 .15rem .4rem;font-size:.74em;color:var(--text-dim);font-style:italic}.ts-pause-card{width:min(320px,90vw);gap:.55rem}.ts-pause-title{margin:0;font-size:calc(20px * var(--ui-scale));font-weight:700;letter-spacing:.01em;color:var(--text)}.ts-pause-world{margin:-.3rem 0 .1rem;font-size:calc(12px * var(--ui-scale));color:#ffffff8c}.ts-pause-hint{display:flex;align-items:center;justify-content:center;gap:.45em;margin-top:.15rem;font-size:calc(11px * var(--ui-scale));color:#ffffff80}.ts-keycap{display:inline-flex;align-items:center;justify-content:center;min-width:1.8em;padding:.1em .35em;font-family:var(--font-mono);font-size:.9em;color:var(--text-dim);background:#ffffff12;border:1px solid rgba(255,255,255,.16);border-bottom-width:2px;border-radius:4px}.ts-pause-card .ts-menu{gap:.4rem}.ts-pause-card .ts-btn{justify-content:flex-start}.ts-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em}.ts-btn-icon{display:inline-flex;width:1.05em;height:1.05em;opacity:.85}.ts-btn-icon svg{width:100%;height:100%}.ts-btn:hover .ts-btn-icon{opacity:1}.ts-menu-tip{margin-top:.55rem;font-size:calc(12px * var(--ui-scale));font-style:italic;color:#ffffff8c;text-shadow:0 1px 6px rgba(0,0,0,.6)}.ts-menu{gap:10px}.ts-menu .ts-btn,.ts-settings .ts-btn,.ts-pause-card .ts-btn{min-height:42px;padding:0 1.25em;font-size:calc(15px * var(--ui-scale));font-weight:600;letter-spacing:.02em;border-radius:10px}.ts-menu .ts-btn:not(.primary):not(.danger),.ts-settings .ts-btn:not(.primary):not(.danger){background:linear-gradient(180deg,#263548,#17222f);border-color:#ffffff1a;box-shadow:inset 0 1px #ffffff14,0 2px 6px #00000059}.ts-menu .ts-btn:hover,.ts-settings .ts-btn:hover,.ts-pause-card .ts-btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px #00000073,inset 0 1px #ffffff1f}.ts-menu .ts-btn.primary:hover,.ts-settings .ts-btn.primary:hover,.ts-pause-card .ts-btn.primary:hover{box-shadow:0 5px 16px #0e827480,inset 0 1px #ffffff2e}.ts-menu .ts-btn:active,.ts-settings .ts-btn:active,.ts-pause-card .ts-btn:active{transform:translateY(0) scale(.98)}.ts-screen-leaving{z-index:45;pointer-events:none;opacity:0;transition:opacity .25s ease}.ts-reveal-veil{position:fixed;inset:0;z-index:80;background:#000;opacity:1;pointer-events:none;transition:opacity .7s ease-out}.ts-reveal-veil.ts-reveal-veil-out{opacity:0}
