.servers-page{margin:.7rem .75rem;display:grid;place-content:center}.servers-page .list{display:flex;flex-direction:column;gap:.25rem}.server-item{pointer-events:auto;display:flex;justify-content:space-between;align-items:center;background:#0000008c;border:1px solid #888;border-radius:6px;padding:.5rem 1.2rem;font-size:1.15rem;color:#fff;transition:background .2s;margin-bottom:.15rem;box-shadow:0 2px 8px #0000001f}.server-item:hover{background:#3c3c3cbf}.server-name{font-weight:600;letter-spacing:.03em}.server-load{font-family:monospace;font-size:1rem;margin-left:1.5rem}.login-page{margin:.7rem .75rem;display:grid;place-content:center}.login-page form{pointer-events:auto;display:flex;flex-direction:column;gap:.25rem}.login-page .login-error{color:#d11313}.characters-page .list{display:flex;flex-direction:column;gap:8px}.characters-page .empty{color:#aaa}.characters-page .character-card{display:flex;gap:8px;align-items:stretch}.characters-page .character-card .character-pick{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:.55em .9em}.characters-page .character-card .character-name{font-weight:700;font-size:1.05rem}.characters-page .character-card .character-meta{font-size:.8rem;color:#cdbb8a}.characters-page .character-card .character-enter{font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:0 1.2em}.characters-page .character-card.focused .character-pick{border-color:#ffe08a;box-shadow:0 0 12px #ffd26e59}.characters-page .actions h3{margin:4px 0 8px;font-size:1rem;color:#e6c36a}.characters-page form{display:flex;flex-direction:column;gap:10px}.characters-page .actions .hint{font-size:.78rem;color:#b7a67a}.characters-page .create-error{padding:8px 10px;border:1px solid #b4533f;border-radius:4px;background:#b4533f2e;color:#ffb8a6;font-size:.85rem}.world-page{display:grid;place-content:center;position:absolute;inset:0}.world-page .hud{position:absolute;inset:0}.world-page .hud .money{position:absolute;top:1rem;left:1rem}.world-page .hud .coords{position:absolute;top:2rem;left:1rem}.world-page .hud .panels-stack{position:absolute;top:0;bottom:var(--hud-h, 82px);right:0;display:flex;flex-direction:row;gap:2px}.world-page .world-objects{position:absolute;inset:0}.world-label{display:flex;position:absolute;transform:translate(-10000px,-10000px);contain:layout;pointer-events:none}.world-label .speech-bubble{position:absolute;bottom:24px;left:0;transform:translate(-50%);width:max-content;max-width:min(240px,70vw);padding:5px 9px;border:1px solid #79684b;border-radius:5px;background:#0f0d0ce6;box-shadow:0 2px 8px #0000008c;color:#fff;font-size:12px;line-height:1.35;text-align:center;white-space:normal;overflow-wrap:anywhere;text-shadow:0 1px 2px #000}.world-label .text{background-color:#00000080;color:#fff;padding:.1rem .4rem;border-radius:.1rem;font-size:.75rem;transform:translate(-50%,-50%);text-align:center;text-shadow:0 1px 2px #000;white-space:nowrap}.world-label .text .subtitle{display:block;font-size:.62rem;opacity:.8;color:#cfd8dc}.world-label .text.pickable{pointer-events:auto;cursor:pointer;padding:.3rem .65rem;border:1px solid rgba(255,255,255,.18);touch-action:none}.world-label .text.pickable:hover,.world-label .text.pickable:active{border-color:#ffe08acc;filter:brightness(1.25)}.maps-list{top:52px;left:16px;width:340px;max-width:calc(100vw - 32px);font-size:14px}.maps-list .maps-scroll{max-height:calc(100vh - 200px);overflow-y:auto}.maps-list table{width:100%;border-collapse:collapse}.maps-list table th,.maps-list table td{padding:8px 10px;text-align:center}.maps-list table th{color:#74a0e4;position:sticky;top:0;background:#1d1b18}.maps-list table td:first-child{text-align:left}.maps-list table tbody tr{cursor:pointer;border-top:1px solid rgba(255,255,255,.08)}.maps-list table tbody tr:hover{background-color:#82801366}.maps-list table tbody tr.locked{opacity:.45}.maps-open{position:absolute;top:10px;left:270px;height:32px;padding:0 12px;pointer-events:auto;cursor:pointer;background:#141414bf;color:#ddd;border:1px solid #5a4a2a;border-radius:4px;font-size:12px}.maps-open.on{border-color:#e6c36a;color:#e6c36a}@media (max-width: 640px){.maps-open{top:8px;left:132px}.maps-list .maps-scroll{max-height:calc(100vh - var(--hud-h, 82px) - 140px)}.maps-list table td,.maps-list table th{padding:12px 8px}}.quest-log{top:52px;left:16px;width:420px;max-width:calc(100vw - 32px);font-size:14px}.quest-log .quest-scroll{max-height:calc(100vh - 150px);overflow-y:auto;padding:4px 2px 8px}.quest-log .quest-path{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 10px}.quest-log .quest-path span{padding:3px 9px;border-radius:4px;background:#ffffff12;color:#b9b3a5}.quest-log .quest-path span:not(:last-child):after{content:" →";color:#8a846f}.quest-log .quest-path span.past{color:#7fc27f}.quest-log .quest-path span.here{background:#deb85038;color:#f0d27a;font-weight:700}.quest-log .quest-note{padding:8px 10px;margin-bottom:8px;background:#ffffff0d;border-radius:4px;line-height:1.4}.quest-log .quest-note.small{font-size:12.5px;color:#b9b3a5;margin-top:10px}.quest-log .quest-now{padding:9px 11px;margin-bottom:10px;border-left:3px solid #deb850;background:#deb8501a;line-height:1.4}.quest-log .quest-now .sub{color:#cfc9b8;font-size:13px;margin-top:2px}.quest-log .quest-step{border:1px solid rgba(255,255,255,.1);border-radius:5px;margin-bottom:6px;background:#00000040}.quest-log .quest-step.done{opacity:.7}.quest-log .quest-step summary{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;list-style:none;min-height:40px}.quest-log .quest-step summary::-webkit-details-marker{display:none}.quest-log .quest-step .quest-step-no{width:22px;height:22px;border-radius:50%;background:#ffffff1f;display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex:none}.quest-log .quest-step .quest-step-title{flex:1}.quest-log .quest-step .quest-chip{font-size:12px;padding:2px 8px;border-radius:10px;background:#ffffff1a}.quest-log .quest-step .quest-chip.done{background:#50a0504d;color:#a9e3a9}.quest-log .quest-step .quest-chip.active{background:#deb8504d;color:#f0d27a}.quest-log .quest-step .quest-chip.ready{background:#5a96e64d;color:#a9cdf7}.quest-log .quest-step-body{padding:2px 12px 10px}.quest-log .quest-step-body .quest-line{margin-top:8px;line-height:1.4}.quest-log .quest-step-body .quest-line.bad{color:#e69b8c}.quest-log .quest-step-body .quest-line ul{margin:3px 0 0;padding-left:18px}.quest-log .quest-step-body .quest-need{margin:4px 0 0 10px}.quest-log .quest-step-body .quest-need .count{color:#b9b3a5;margin-left:6px}.quest-log .quest-step-body .quest-need .sub{font-size:12.5px;color:#a8a290}.quest-log .quest-step-body .quest-need.ok b{color:#8fd18f}.quest-log .quest-step-body .quest-places{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.quest-log .quest-step-body .quest-place{display:inline-flex;align-items:center;gap:6px;padding:2px 4px 2px 8px;background:#ffffff0f;border-radius:4px}.quest-log .quest-step-body .quest-tip{margin-top:8px;padding:6px 9px;font-size:13px;background:#5a96e61f;border-radius:4px}.quest-log .quest-warp{min-height:30px;padding:2px 10px;cursor:pointer}.quest-log .quest-warp:disabled{opacity:.45;cursor:not-allowed}.quest-panel .bad{color:#e69b8c}.jewel-open{position:absolute;top:10px;left:345px;height:32px;padding:0 12px;pointer-events:auto;cursor:pointer;background:#141414bf;color:#ddd;border:1px solid #5a4a2a;border-radius:4px;font-size:12px}.jewel-open.on{border-color:#e6c36a;color:#e6c36a}.jewel-bank{top:52px;left:16px;width:380px;max-width:calc(100vw - 32px);font-size:13px}.jewel-bank .jewel-body{display:flex;flex-direction:column;gap:8px;padding:10px;max-height:calc(100vh - 150px);overflow-y:auto}.jewel-bank .jewel-deposit{padding:8px 10px;border:1px solid #e6c36a;border-radius:4px;background:#e6c36a24;color:#f1dca0;cursor:pointer;font-weight:600}.jewel-bank .jewel-deposit:hover,.jewel-bank .jewel-deposit:focus-visible{background:#e6c36a42}.jewel-bank .jewel-loose{display:flex;gap:6px;align-items:center;color:#cfcfcf;font-size:12px}.jewel-bank .jewel-note{color:#aaa;font-size:12px}.jewel-bank .jewel-list{display:flex;flex-direction:column;gap:4px}.jewel-bank .jewel-row{display:grid;grid-template-columns:30px 1fr auto auto;gap:8px;align-items:center;padding:3px 6px;border-bottom:1px solid rgba(255,255,255,.07)}.jewel-bank .jewel-row .jewel-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center}.jewel-bank .jewel-row .jewel-icon img{max-width:28px;max-height:28px}.jewel-bank .jewel-row .jewel-amount{min-width:38px;text-align:right;color:#fff}.jewel-bank .jewel-row .jewel-actions{display:flex;gap:3px}.jewel-bank .jewel-row .jewel-actions button{min-width:30px;padding:3px 6px;border:1px solid #5a4a2a;border-radius:3px;background:#ffffff0f;color:#eee;cursor:pointer}.jewel-bank .jewel-row .jewel-actions button:hover:not(:disabled){border-color:#e6c36a}.jewel-bank .jewel-row .jewel-actions button:disabled{opacity:.35;cursor:not-allowed}@media (max-width: 640px){.jewel-open{top:8px;left:214px}}.trade-open{position:absolute;top:10px;left:410px;height:32px;padding:0 12px;pointer-events:auto;cursor:pointer;background:#141414bf;color:#ddd;border:1px solid #5a4a2a;border-radius:4px;font-size:12px}.trade-open.on{border-color:#e6c36a;color:#e6c36a}.trade-picker{top:52px;left:410px;width:240px;max-width:calc(100vw - 24px);font-size:13px}.trade-picker .trade-list{display:flex;flex-direction:column;gap:4px;padding:8px;max-height:calc(100vh - 160px);overflow-y:auto}.trade-picker .trade-empty{padding:6px;color:#aaa;font-size:12px}.trade-picker .trade-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border:1px solid #5a4a2a;border-radius:4px;background:#ffffff0f;color:#eee;cursor:pointer;text-align:left}.trade-picker .trade-row:hover,.trade-picker .trade-row:focus-visible{border-color:#e6c36a;background:#e6c36a24}.trade-picker .trade-row .trade-dist{color:#9a9a9a;font-size:11px}@media (max-width: 640px){.trade-open{top:8px;left:262px}.trade-picker{top:44px;left:8px;right:8px;width:auto}}.floaters{position:absolute;inset:0;overflow:hidden;pointer-events:none}.floaters .floater{position:absolute;transform:translate(-50%,-50%);font-weight:700;font-size:18px;text-shadow:0 0 3px #000,0 1px 2px #000,1px 1px 0 #000;animation:floater-rise 1.1s ease-out forwards;white-space:nowrap}.floaters .floater.big{font-size:26px}@keyframes floater-rise{0%{opacity:0;margin-top:10px}12%{opacity:1}to{opacity:0;margin-top:-58px}}.target-bar{position:absolute;top:14px;left:50%;transform:translate(-50%);width:260px;text-align:center;pointer-events:none}.target-bar .name{display:block;color:#fff;font-size:14px;text-shadow:0 0 3px #000;margin-bottom:3px}.target-bar .track{height:10px;background:#000000b3;border:1px solid #000;border-radius:3px;overflow:hidden}.target-bar .fill{height:100%;background:linear-gradient(to bottom,#ff5a4d,#a1150b);transition:width .2s ease-out}.death-overlay{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:radial-gradient(ellipse at center,#46000059,#1e0000bf);pointer-events:none;color:#ffd6d0;animation:death-in .6s ease-out}.death-overlay .death-title{font-size:44px;font-weight:700;letter-spacing:2px;text-shadow:0 0 10px #000}.death-overlay .death-sub{font-size:16px;margin-top:6px;opacity:.85}@keyframes death-in{0%{opacity:0}to{opacity:1}}.chat-box{position:absolute;left:8px;bottom:calc(var(--hud-h, 82px) + 10px);width:380px;max-width:calc(100vw - 16px);display:flex;flex-direction:column;gap:3px;pointer-events:none}.chat-box .chat-log{max-height:150px;overflow-y:auto;padding:4px 6px;background:#00000061;border-radius:4px;font-size:13px;line-height:1.35;text-shadow:0 1px 2px #000;pointer-events:auto;scrollbar-width:thin}.chat-box .chat-log:empty{display:none}.chat-box .chat-log .chat-line{word-break:break-word}.chat-box .chat-input{pointer-events:auto;background:#0000008c;border:1px solid transparent;border-radius:4px;color:#fff;font-size:13px;padding:5px 8px}.chat-box .chat-input::placeholder{color:#ffffff73}.chat-box .chat-input:focus{outline:none;border-color:#e6c36a;background:#000c}.game-window{position:absolute;background:#0e0c0aeb;border:1px solid #5a4a2a;border-radius:6px;color:#eee;font-size:13px;pointer-events:auto;box-shadow:0 6px 24px #0009}.game-window .window-title{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-bottom:1px solid #5a4a2a;color:#e6c36a;font-weight:600}.game-window .window-title .close{padding:0 8px;font-size:18px;line-height:1.2;background:transparent;color:#ddd;border-radius:4px}.game-window .window-title .close:hover{color:#fff;border-color:#e6c36a}.game-window .empty,.game-window .hint{padding:8px 10px;color:#aaa;font-size:12px}.skill-panel{left:50%;bottom:calc(var(--hud-h, 82px) + 10px);transform:translate(-50%);width:380px;max-width:calc(100vw - 16px)}.skill-panel .skill-list{max-height:300px;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:4px}.skill-panel .skill-row{display:flex;align-items:center;gap:8px;padding:4px 6px;border:1px solid transparent;border-radius:4px;background:#ffffff0a}.skill-panel .skill-row.selected{border-color:#e6c36a;background:#e6c36a1f}.skill-panel .skill-row.passive{opacity:.6}.skill-panel .skill-icon{flex:none;width:20px;height:28px;padding:0;border-radius:2px;border:1px solid #000;background-color:#111;background-repeat:no-repeat;transform:scale(1.3);margin:0 6px}.skill-panel .skill-info{flex:1;min-width:0}.skill-panel .skill-name{font-weight:600}.skill-panel .skill-cost{display:flex;gap:8px;font-size:11px;color:#bbb}.skill-panel .skill-cost .mp{color:#7da7ff}.skill-panel .skill-cost .ag{color:#c58bff}.skill-panel .hotkeys{display:flex;gap:2px}.skill-panel .hotkeys button{padding:1px 6px;font-size:11px;border-radius:3px;background:#222;color:#ccc}.skill-panel .hotkeys button.on{background:#e6c36a;color:#000}.shop-window{top:48px;left:16px;width:460px;max-width:calc(100vw - 32px)}.shop-window .shop-items{max-height:min(420px,calc(100vh - var(--hud-h, 82px) - 250px));overflow-y:auto;padding:8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:6px;scrollbar-width:thin}.shop-window .shop-item{display:flex;align-items:center;gap:8px;padding:4px 6px;min-height:52px;text-align:left;background:#ffffff0d;border:1px solid #333;border-radius:4px;color:#eee;font-size:12px;line-height:1.2}.shop-window .shop-item:hover,.shop-window .shop-item:focus-visible{border-color:#e6c36a;background:#e6c36a1a}.shop-window .shop-item .icon{flex:none;width:40px;height:44px;display:grid;place-items:center;background:#00000073;border-radius:3px}.shop-window .shop-item .icon img{max-width:100%;max-height:100%;object-fit:contain}.shop-window .shop-foot{display:flex;flex-direction:column;gap:2px;padding:6px 10px 8px;border-top:1px solid #5a4a2a;font-size:12px}.shop-window .shop-foot .zen{color:#e6c36a;font-weight:600}.shop-window .shop-foot .hint-inline{color:#aaa}.vault-window{top:48px;left:16px;width:290px;max-width:calc(100vw - 32px)}.vault-window .vault-scroll{max-height:min(330px,calc(100vh - var(--hud-h, 82px) - 330px));overflow:auto;padding:8px;scrollbar-width:thin}.vault-window .vault-grid{position:relative;margin:0 auto;background-color:#0006;background-image:linear-gradient(to right,rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.1) 1px,transparent 1px);border:1px solid #333}.vault-window .vault-item{position:absolute;box-sizing:border-box;padding:2px;background:#285a7859;border:1px solid rgba(120,180,220,.45);cursor:grab}.vault-window .vault-foot{display:flex;flex-direction:column;gap:6px;padding:6px 10px 8px;border-top:1px solid #5a4a2a;font-size:12px}.vault-window .vault-zen b{color:#e6c36a}.vault-window .vault-money{display:flex;gap:4px}.vault-window .vault-money input{flex:1;min-width:0;padding:3px 6px;background:#0009;border:1px solid #444;border-radius:3px;color:#fff}.vault-window .vault-money button{padding:3px 8px;font-size:12px;border-radius:3px}.vault-window .hint-inline{color:#aaa}.item-icon-missing{display:grid;place-items:center;width:100%;height:100%;padding:2px;box-sizing:border-box;overflow:hidden;text-align:center;word-break:break-word;font-size:9px;line-height:1.1;color:#d8c690;background:#282214d9;border:1px solid #5a4a2a}#root .item-icon{object-fit:contain}#root .options-btn{position:absolute;top:10px;right:10px;width:32px;height:32px;padding:0;font-size:18px;line-height:1;color:#e6c36a;background:#0e0c0acc;border:1px solid #5a4a2a;border-radius:6px;pointer-events:auto;cursor:pointer}.options-window{top:50px;right:10px;width:300px;max-width:calc(100vw - 20px)}.options-window .option-row{display:flex;gap:8px;align-items:flex-start;padding:10px 10px 4px;cursor:pointer}.options-window .option-row input{margin-top:2px}.held-item{position:fixed;z-index:50;width:40px;height:48px;transform:translate(-50%,-50%);pointer-events:none;opacity:.9;filter:drop-shadow(0 0 4px #000)}.inventory-item.held,.equipment-item.held{outline:2px solid #e6c36a;outline-offset:-2px}.item-tooltip{position:fixed;z-index:60;min-width:130px;max-width:300px;padding:6px 10px;background:#080705f0;border:1px solid #5a4a2a;border-radius:4px;box-shadow:0 4px 14px #000000b3;font-size:12px;line-height:1.45;pointer-events:none}.item-tooltip .tip-name{font-weight:700;font-size:13px;margin-bottom:2px}.item-tooltip .tip-line{color:#cfcfcf}.npc-dialog{top:48px;left:16px;width:300px;max-width:calc(100vw - 32px)}.npc-dialog .npc-text{padding:10px;line-height:1.45;color:#ddd}.npc-dialog .npc-actions{display:flex;flex-direction:column;gap:6px;padding:4px 10px 12px}.npc-dialog .npc-actions button{padding:7px 10px;border:1px solid #5a4a2a;border-radius:4px;background:#ffffff0f;color:#eee;cursor:pointer}.npc-dialog .npc-actions button:hover,.npc-dialog .npc-actions button:focus-visible{border-color:#e6c36a;background:#e6c36a1f}.quest-panel{padding:0 10px 6px;max-height:46vh;overflow-y:auto;color:#ddd;font-size:13px}.quest-panel .quest-title{font-weight:700;color:#e6c36a;margin:4px 0 6px}.quest-panel .quest-block{margin:6px 0;line-height:1.4}.quest-panel .quest-block b{display:block;color:#fff}.quest-panel .quest-block .done{color:#8ee08e}.quest-panel .quest-message{margin:4px 0;color:#8ee08e}.quest-panel .quest-list,.quest-panel .quest-buttons{display:flex;flex-direction:column;gap:5px;margin-top:6px}.quest-panel .quest-list button,.quest-panel .quest-buttons button{padding:6px 9px;border:1px solid #5a4a2a;border-radius:4px;background:#ffffff0f;color:#eee;text-align:left;cursor:pointer}.quest-panel .quest-list button:hover:not(:disabled),.quest-panel .quest-buttons button:hover:not(:disabled),.quest-panel .quest-list button:focus-visible,.quest-panel .quest-buttons button:focus-visible{border-color:#e6c36a;background:#e6c36a1f}.quest-panel .quest-list button:disabled,.quest-panel .quest-buttons button:disabled{opacity:.45;cursor:not-allowed}.chaos-window{top:48px;left:16px;width:290px;max-width:calc(100vw - 32px)}.chaos-window .chaos-body{display:flex;flex-direction:column;gap:8px;padding:10px}.chaos-window .vault-grid{position:relative;margin:0 auto;background-color:#0006;background-image:linear-gradient(to right,rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.1) 1px,transparent 1px);border:1px solid #333}.chaos-window .vault-item{position:absolute;box-sizing:border-box;padding:2px;background:#285a7859;border:1px solid rgba(120,180,220,.45);cursor:pointer}.chaos-window .vault-item.held{outline:2px solid #e6c36a;outline-offset:-2px}.chaos-window .chaos-mix{padding:8px 10px;border:1px solid #e6c36a;border-radius:4px;background:#e6c36a29;color:#fff;font-weight:600;cursor:pointer}.chaos-window .chaos-mix:disabled{opacity:.45;cursor:default}.chaos-window .chaos-message{padding:6px 8px;border-radius:4px;background:#00000080;color:#e6c36a}.chaos-window .hint-inline{color:#aaa;font-size:11px;line-height:1.4}.helper-badge{position:absolute;top:8px;left:50%;transform:translate(-50%);pointer-events:auto;background:#142814d9;border:1px solid #6c6;color:#cfc;font-size:12px;padding:3px 12px;border-radius:3px;cursor:pointer}.helper-panel{position:absolute;top:120px;left:50%;transform:translate(-50%);width:250px;pointer-events:auto;display:flex;flex-direction:column;gap:8px;padding-bottom:10px}.helper-panel label{display:flex;flex-direction:column;gap:3px;font-size:12px;padding:0 10px}.helper-panel label.check{flex-direction:row;align-items:center;gap:6px}.helper-panel select{background:#111;color:#eee;border:1px solid #555;padding:2px}.helper-panel .helper-toggle{margin:4px 10px 0;padding:5px;cursor:pointer;background:#2d5a2d;color:#fff;border:1px solid #6c6}.helper-panel{width:290px}.helper-panel .helper-tabs{display:flex;gap:2px;padding:0 10px}.helper-panel .helper-tabs button{flex:1;padding:4px 2px;font-size:11px;cursor:pointer;background:#1a1a1a;color:#bbb;border:1px solid #444}.helper-panel .helper-tabs button.active{background:#2d5a2d;color:#fff;border-color:#6c6}.helper-panel input[type=text]{background:#111;color:#eee;border:1px solid #555;padding:3px}.helper-panel .hint{font-size:11px;color:#999;padding:0 10px}.social-window{top:48px;left:16px;width:380px;max-width:calc(100vw - 32px);padding-bottom:8px}.social-window .helper-tabs{display:flex;gap:2px;padding:6px 10px 0}.social-window .helper-tabs button{flex:1;padding:4px;cursor:pointer;background:#1a1a1a;color:#bbb;border:1px solid #444;font-size:12px}.social-window .helper-tabs button.active{background:#2d5a2d;color:#fff;border-color:#6c6}.social-window .social-list{display:flex;flex-direction:column;gap:4px;padding:8px 10px 4px;max-height:260px;overflow-y:auto}.social-window .social-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.social-window .social-row .social-name{flex:1;min-width:85px;overflow:hidden;text-overflow:ellipsis}.social-window .social-row .social-hp{color:#9c9;font-size:11px}.social-window .social-row button,.social-window .social-row+.social-leave{padding:3px 8px;cursor:pointer;background:#ffffff0f;color:#eee;border:1px solid #5a4a2a;border-radius:3px;font-size:11px}.social-window .social-leave{margin-top:6px;padding:5px;cursor:pointer;background:#a032324d;color:#eee;border:1px solid #a55;border-radius:3px}.social-window .hint{font-size:11px;color:#999}.social-window .social-follow{display:flex;align-items:center;gap:8px;padding:6px;color:#d8eccd;font-size:12px;cursor:pointer}.social-window .social-follow input{accent-color:#6c6}.social-window .social-row button.active{border-color:#6c6;color:#cfc}.social-window .friend-heading{margin-top:4px;color:#e6c36a;font-size:12px;font-weight:600}.social-window .friend-heading .friend-count{margin-left:6px;color:#999;font-weight:400}.social-window .friend-requests{padding-bottom:6px;border-bottom:1px solid #5a4a2a}.social-window .friend-dot{width:8px;height:8px;border-radius:50%;background:#666}.social-window .friend-dot.on{background:#4caf50;box-shadow:0 0 6px #4caf50}.social-window .friend-state{color:#999;font-size:11px}.social-window .friend-add{display:flex;gap:6px;margin-top:6px}.social-window .friend-add input{flex:1;min-width:0;padding:5px 7px;color:#fff;background:#00000073;border:1px solid #5a4a2a;border-radius:3px;font-size:12px}.social-window .friend-add button{padding:3px 10px;cursor:pointer;background:#ffffff0f;color:#eee;border:1px solid #5a4a2a;border-radius:3px;font-size:12px}.social-window .friend-add button:disabled{opacity:.45;cursor:default}.social-shortcuts{position:absolute;top:10px;left:345px;display:flex;gap:5px;pointer-events:auto}.social-shortcuts button{height:32px;padding:0 9px;cursor:pointer;background:#141414bf;color:#ddd;border:1px solid #5a4a2a;border-radius:4px;font-size:12px}.social-shortcuts button.on{border-color:#6c6;color:#cfc}@media (max-width: 640px){.social-shortcuts{top:8px;left:197px;gap:3px}.social-shortcuts button{padding:0 5px;font-size:11px}}@media (max-width: 370px){.social-shortcuts{top:46px;left:8px}.social-window{top:86px}}.party-bar{position:absolute;top:44px;right:8px;width:170px;display:flex;flex-direction:column;gap:4px;pointer-events:none;font-size:11px;color:#eee;text-shadow:0 1px 2px #000}.party-bar .party-hp{height:6px;background:#0009;border:1px solid #555}.party-bar .party-hp i{display:block;height:100%;background:#c33}.invite-popups{position:absolute;top:70px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;pointer-events:none}.invite-popups .invite{position:static;padding:10px 14px;min-width:260px;text-align:center}.invite-popups .invite-actions{display:flex;gap:8px;justify-content:center;margin-top:8px}.invite-popups .invite-actions button{padding:4px 14px;cursor:pointer;background:#ffffff14;color:#eee;border:1px solid #e6c36a;border-radius:3px}.trade-window{width:270px}.trade-window .trade-label{font-size:12px;color:#ddd}.trade-window .trade-label .ok{color:#7d7}.trade-window .trade-money,.trade-window .trade-actions{display:flex;gap:6px}.trade-window .trade-money input,.trade-window .trade-actions input{flex:1;min-width:0;background:#111;color:#eee;border:1px solid #555;padding:3px}.trade-window .trade-money button,.trade-window .trade-actions button{padding:5px 8px;cursor:pointer;background:#ffffff0f;color:#eee;border:1px solid #5a4a2a;border-radius:3px}.trade-window .trade-money .chaos-mix,.trade-window .trade-actions .chaos-mix{flex:1}.guild-dialog .guild-name{background:#111;color:#eee;border:1px solid #555;padding:6px}.shop-foot .shop-repair{margin-left:6px;padding:3px 8px;cursor:pointer;background:#ffffff0f;color:#eee;border:1px solid #5a4a2a;border-radius:3px}.shop-foot .shop-repair.on{border-color:#e6c36a;color:#e6c36a}.touch-controls{position:absolute;inset:0;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none}.touch-controls .touch-stick{position:absolute;left:24px;bottom:calc(var(--hud-h, 82px) + 24px);width:128px;height:128px;border-radius:50%;background:#00000059;border:2px solid rgba(255,255,255,.35);pointer-events:auto;touch-action:none;display:grid;place-items:center}.touch-controls .touch-thumb{width:56px;height:56px;border-radius:50%;background:#e6c36a8c;border:2px solid #e6c36a;pointer-events:none}.touch-controls .touch-skills{position:absolute;left:168px;bottom:calc(var(--hud-h, 82px) + 24px);display:flex;flex-direction:column;gap:6px;pointer-events:none}.touch-controls .touch-actions{position:absolute;right:18px;bottom:calc(var(--hud-h, 82px) + 24px);width:190px;display:flex;flex-wrap:wrap;flex-direction:row-reverse;gap:8px;justify-content:flex-start;pointer-events:none}.touch-controls .touch-btn{pointer-events:auto;touch-action:none;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:#00000080;color:#fff;font-weight:700;font-size:13px;cursor:pointer}.touch-controls .touch-btn.small{width:52px;height:52px;font-size:11px}.touch-controls .touch-btn.skill{width:72px;height:72px;border-color:#6af}.touch-controls .touch-btn.attack{width:92px;height:92px;border-color:#f66;background:#7814148c;font-size:15px}.touch-controls .touch-btn.on{border-color:#e6c36a;color:#e6c36a}.touch-controls .touch-btn.potion-hp{border-color:#e55}.touch-controls .touch-btn.potion-mp{border-color:#59f}.touch-controls .touch-skills .touch-btn.small{background-repeat:no-repeat;background-size:auto}.touch-controls .touch-skills .touch-btn.small{width:20px;height:28px;border-radius:4px;border-width:1px;zoom:1.9}body.touch-mode .chat-box{bottom:calc(var(--hud-h, 82px) + 170px);width:min(380px,calc(100vw - 16px))}body.touch-mode .chat-box .chat-log{max-height:90px}.helper-open{position:absolute;top:10px;left:150px;height:32px;padding:0 12px;pointer-events:auto;cursor:pointer;background:#141414bf;color:#ddd;border:1px solid #5a4a2a;border-radius:4px;font-size:12px}.helper-open.on{border-color:#6c6;color:#cfc}.game-window,.panels-stack,.chat-box,.party-bar,.invite-popups{zoom:var(--ui-scale, 1)}.panels-stack{bottom:calc(var(--hud-h, 82px) / var(--ui-scale, 1))}.chat-box{bottom:calc((var(--hud-h, 82px) + 10px) / var(--ui-scale, 1))}.game-window>.window-title{cursor:grab;user-select:none}#root .options-btn{right:auto;left:226px}.options-window{right:auto;left:150px}.options-window .scale-row{flex-direction:column;gap:4px}.helper-panel{font-size:13px}.invite-popups .game-window{zoom:1}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.panel-head .title,.panel-head .nickname{flex:1;text-align:center}.panel-close{width:28px;height:28px;padding:0;font-size:20px;line-height:1;color:#e6c36a;background:#00000073;border:1px solid #5a4a2a;border-radius:4px;cursor:pointer;pointer-events:auto}@media (max-width: 640px){.world-page .hud .panels-stack{zoom:1;top:52px;left:0;right:0;bottom:var(--hud-h, 82px);flex-direction:column;align-items:stretch;gap:0;overflow-y:auto;pointer-events:none}.world-page .hud .panels-stack>*{pointer-events:auto}.inventory,.character-info{height:auto!important;width:auto;box-sizing:border-box;align-items:center}.panel-head{align-self:stretch}.panel-close{width:40px;height:36px;font-size:26px}.game-window{zoom:1;left:6px!important;right:6px!important;top:52px!important;width:auto!important;max-width:none!important;max-height:calc(100% - var(--hud-h, 82px) - 60px);overflow-y:auto;translate:none!important;transform:none!important}.game-window>.window-title{cursor:default}.game-window>.window-title .close{min-width:40px;height:36px;font-size:26px}.invite-popups{zoom:1;top:52px;width:calc(100% - 16px)}.invite-popups .invite{min-width:0;width:100%;box-sizing:border-box}#root .options-btn{top:8px;left:92px}.helper-open{top:8px;left:8px}.helper-badge{top:8px;left:auto;right:8px;transform:none}.party-bar{zoom:1;top:52px;right:6px;width:130px}.chat-box{zoom:1;left:6px;right:6px;width:auto;bottom:calc(var(--hud-h, 82px) + 6px)}.item-tooltip{max-width:calc(100vw - 16px)}body.touch-mode .chat-box{bottom:calc(var(--hud-h, 82px) + 170px);width:auto}}.connection-banner{position:fixed;top:10px;left:50%;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:10px;padding:8px 16px;background:#78460aeb;border:1px solid #e6c36a;border-radius:6px;color:#fff;font-size:14px;box-shadow:0 4px 16px #0009;pointer-events:none}.connection-banner .spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:conn-spin .9s linear infinite}@keyframes conn-spin{to{transform:rotate(360deg)}}@media (max-width: 640px){body.window-open .chat-box{display:none}}body.touch-mode .chat-box,body.touch-mode.window-open .chat-box{inset:48px auto auto 6px;width:min(340px,64vw)}body.touch-mode .chat-box .chat-log,body.touch-mode.window-open .chat-box .chat-log{max-height:76px;overflow:hidden;font-size:12px;background:#00000040;pointer-events:none}body.touch-mode .chat-box .chat-input,body.touch-mode.window-open .chat-box .chat-input{height:0;padding:0;margin:0;border:0;opacity:0}body.touch-mode .chat-box .chat-input:focus,body.touch-mode.window-open .chat-box .chat-input:focus{height:auto;padding:6px 8px;border:1px solid #e6c36a;opacity:1;font-size:16px}@media (max-width: 640px){body.touch-mode.window-open .chat-box{display:none}}.party-bar{right:auto;left:8px;top:190px}body.touch-mode .party-bar{top:142px}@media (max-width: 640px){.party-bar{left:6px;right:auto;top:142px}body.window-open .party-bar{display:none}}.buff-bar{position:absolute;top:8px;right:8px;max-width:46vw;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;pointer-events:none;zoom:var(--ui-scale, 1)}.buff-bar .buff{padding:2px 8px;border:1px solid rgba(142,224,142,.55);border-radius:10px;background:#0a1e0eb3;color:#bff2bf;font-size:11px;text-shadow:0 1px 2px #000}.buff-bar .buff.harmful{border-color:#f0787899;background:#280a0ab8;color:#ffc2c2}.options-window .option-actions{display:flex;gap:8px;padding:10px}.options-window .option-actions button{flex:1;padding:8px 6px;border:1px solid #5a4a2a;border-radius:4px;background:#ffffff12;color:#eee;cursor:pointer}.options-window .option-actions button:hover,.options-window .option-actions button:focus-visible{border-color:#e6c36a}.options-window .option-actions button.danger:hover,.options-window .option-actions button.danger:focus-visible{border-color:#e06a5a;color:#ffb3a8}.options-window{max-height:calc(100vh - 70px);overflow-y:auto}@media (max-width: 640px){body.dock-bag .shop-window,body.dock-bag .vault-window,body.dock-bag .trade-window,body.dock-bag .chaos-window{max-height:42vh}body.dock-bag .world-page .hud .panels-stack{top:calc(60px + 42vh)}body.dock-bag .inventory .equipment,body.dock-bag .inventory .status{display:none}body.dock-bag .shop-window .shop-foot{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px}body.dock-bag .shop-window .shop-foot .zen{flex:1 0 100%}body.dock-bag .shop-window .shop-foot .shop-repair{flex:1}body.dock-bag .shop-window .shop-foot .hint-inline{display:none}body.dock-bag .shop-window .shop-items{max-height:calc(42vh - 130px)}}.shop-window .shop-item .label .price{display:block;margin-top:2px;color:#f2c36a;font-size:11px}.shop-window .shop-item .label .price.short{color:#ff7b6b}.shop-window .shop-item .icon .item-icon{width:100%;height:100%;object-fit:contain}.shop-window .helper-tabs{display:flex;gap:6px;padding:6px 8px 0}.shop-window .helper-tabs button{flex:1;min-height:36px;border:1px solid #5a4a2a;border-radius:4px;background:#ffffff0f;color:#ddd;font-weight:600;cursor:pointer}.shop-window .helper-tabs button.active{border-color:#e6c36a;background:#e6c36a2e;color:#f1dca0}.server-notices{position:absolute;top:24%;left:50%;transform:translate(-50%);width:min(92vw,900px);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;z-index:60}.server-notices .server-notice{max-width:100%;text-align:center;font-size:24px;font-weight:700;line-height:1.25;letter-spacing:.5px;text-shadow:0 0 6px #000,0 2px 3px #000,1px 1px 0 #000,-1px -1px 0 #000;animation:notice-in .25s ease-out,notice-blink .9s ease-in-out .25s infinite;overflow-wrap:anywhere}.server-notices .server-notice.golden{color:#ffd23a}.server-notices .server-notice.guild{color:#6dff7a;animation:notice-in .25s ease-out}@keyframes notice-in{0%{opacity:0;transform:scale(1.25)}to{opacity:1;transform:scale(1)}}@keyframes notice-blink{0%,to{opacity:1;filter:brightness(1.25)}50%{opacity:.45;filter:brightness(.85)}}@media (max-width: 700px){.server-notices .server-notice{font-size:17px}}@media (prefers-reduced-motion: reduce){.server-notices .server-notice.golden{animation:none}}.options-window .option-link{align-self:flex-start;margin:2px 0 6px;padding:4px 10px;font-size:12px;color:#ddd;background:#ffffff12;border:1px solid #5a4a2a;border-radius:3px;cursor:pointer}.options-window .option-link:hover{background:#ffffff24}.action-menu{position:absolute;top:10px;left:12px;z-index:40;width:154px;pointer-events:auto}.action-menu button{cursor:pointer;color:#eee;background:#14120ef0;border:1px solid #665330;border-radius:4px;font-size:12px;text-align:left}.action-menu button:hover,.action-menu button:focus-visible,.action-menu button.on{border-color:#e6c36a;color:#f5d989;outline:none}.action-menu button:disabled{cursor:default;opacity:.5}.action-menu .action-menu-toggle{height:32px;min-width:84px;padding:0 10px;font-weight:600}.action-menu .action-menu-items{display:flex;flex-direction:column;gap:3px;margin-top:4px;max-height:calc(100vh - 110px);overflow-y:auto;padding:5px;background:#0d0b09f0;border:1px solid #665330;border-radius:5px;box-shadow:0 6px 20px #0009}.action-menu .action-menu-items button{min-height:32px;padding:6px 10px}@media (max-width: 640px){.action-menu{top:8px;left:8px}}.action-menu .menu-badge{display:inline-block;min-width:16px;margin-left:6px;padding:0 5px;border-radius:999px;background:#e0533a;color:#fff;font-size:11px;line-height:16px;text-align:center}.master-open{position:absolute;top:10px;left:470px;height:32px;padding:0 12px;pointer-events:auto;cursor:pointer;background:#141414bf;color:#ddd;border:1px solid #5a4a2a;border-radius:4px;font-size:12px}.master-open.on{border-color:#e6c36a;color:#e6c36a}.master-tree{top:52px;left:50%;transform:translate(-50%);width:820px;max-width:calc(100vw - 24px);font-size:12px}.master-tree .master-head{display:flex;justify-content:space-between;padding:6px 12px;color:#cfcfcf}.master-tree .master-head b{color:#fff}.master-tree .master-head .has-points{color:#8ee08e}.master-tree .master-scroll{max-height:calc(100vh - 300px);overflow:auto;padding:0 8px 8px}.master-tree .master-grid{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));gap:8px}.master-tree .master-col-title{position:sticky;top:0;z-index:1;padding:5px 0;text-align:center;color:#e6c36a;font-weight:700;background:#1d1b18;border-bottom:1px solid rgba(230,195,106,.4)}.master-tree .master-rank{display:flex;gap:6px;align-items:stretch;margin-top:6px}.master-tree .master-rank-label{flex:0 0 18px;display:flex;align-items:center;justify-content:center;color:#8a7a52;font-size:11px}.master-tree .master-rank-skills{flex:1;display:flex;flex-direction:column;gap:4px}.master-tree .master-skill{display:grid;grid-template-columns:auto 1fr auto auto;gap:6px;align-items:center;padding:4px 6px;border:1px solid rgba(255,255,255,.12);border-radius:4px;background:#ffffff0a}.master-tree .master-skill.learned{border-color:#e6c36ab3;background:#e6c36a1a}.master-tree .master-skill.ready{border-color:#8ee08e99}.master-tree .master-skill.locked{opacity:.5}.master-tree .master-skill .master-skill-icon{width:20px;height:28px;border:1px solid #000;border-radius:2px;background-color:#111;background-repeat:no-repeat}.master-tree .master-skill .master-skill-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.master-tree .master-skill .master-skill-level{color:#fff;font-variant-numeric:tabular-nums}.master-tree .master-skill .master-add{width:22px;height:22px;padding:0;border:1px solid #5a4a2a;border-radius:3px;background:#ffffff12;color:#eee;cursor:pointer;line-height:1}.master-tree .master-skill .master-add:hover:not(:disabled){border-color:#8ee08e;color:#8ee08e}.master-tree .master-skill .master-add:disabled{opacity:.3;cursor:not-allowed}.master-tree .master-foot{padding:6px 12px 10px;color:#9a9a9a;font-size:11px}@media (max-width: 640px){.master-open{top:8px;left:318px}.master-tree{top:44px;left:8px;transform:none;max-width:calc(100vw - 16px)}}#root .bottom-bar{position:absolute;bottom:0;left:50%;transform:translate(-50%);pointer-events:auto;user-select:none}#root .bottom-bar .strip{position:absolute;left:0;top:0;width:640px;height:51px;transform-origin:top left;image-rendering:auto;font-size:10px}#root .bottom-bar img{display:block;max-width:none;width:auto;height:auto}#root .bottom-bar .bg{position:absolute;top:0;pointer-events:none}#root .bottom-bar .bg.b1{left:0}#root .bottom-bar .bg.b2{left:256px}#root .bottom-bar .bg.b3{left:384px}#root .bottom-bar .slot{position:absolute;top:4px;padding:0;border:1px solid transparent;border-radius:3px;background:transparent;color:#ddd;cursor:pointer;overflow:hidden;display:grid;place-items:center}#root .bottom-bar .slot:hover{border-color:#e6c36a8c}#root .bottom-bar .potion{width:32px;height:34px}#root .bottom-bar .potion.p0{left:3px}#root .bottom-bar .potion.p1{left:41px}#root .bottom-bar .potion.p2{left:79px}#root .bottom-bar .potion.p3{left:117px}#root .bottom-bar .potion .item-icon{width:30px;height:30px;object-fit:contain}#root .bottom-bar .potion .count{position:absolute;right:2px;bottom:0;color:#fff;font-size:11px;text-shadow:0 0 2px #000,0 0 2px #000}#root .bottom-bar .skill-slot{width:28px;height:34px}#root .bottom-bar .skill-slot.s0{left:225px}#root .bottom-bar .skill-slot.s1{left:257px}#root .bottom-bar .skill-slot.s2{left:289px}#root .bottom-bar .skill-slot.s3{left:321px}#root .bottom-bar .skill-slot.s4{left:353px}#root .bottom-bar .skill-slot.selected{border-color:#e6c36a;box-shadow:0 0 5px #e6c36ab3}#root .bottom-bar .skill-current{left:388px;width:28px;height:34px}#root .bottom-bar .skill-slot .icon,#root .bottom-bar .skill-current .icon{display:block;width:20px;height:28px;background-repeat:no-repeat}#root .bottom-bar .gem{position:absolute;top:2px;width:45px;height:39px}#root .bottom-bar .gem img{width:45px;height:39px}#root .bottom-bar .gem .num{position:absolute;left:0;right:0;bottom:7px;text-align:center;font-size:10px;font-weight:700;color:#fff;text-shadow:0 0 2px #000,0 0 3px #000,1px 1px 0 #000;pointer-events:none}#root .bottom-bar .gem.hp{left:153px}#root .bottom-bar .gem.mp{left:438px}#root .bottom-bar .vbar{position:absolute;top:3px;width:16px;height:39px}#root .bottom-bar .vbar img{width:16px;height:39px}#root .bottom-bar .vbar.sd{left:205px}#root .bottom-bar .vbar.ag{left:419px}#root .bottom-bar .btn{width:35px;height:34px;font-size:11px;font-weight:600;color:#e6d9b0;text-shadow:0 0 2px #000,0 1px 1px #000}#root .bottom-bar .btn.bt0{left:490px}#root .bottom-bar .btn.bt1{left:528px}#root .bottom-bar .btn.bt2{left:566px}#root .bottom-bar .btn.bt3{left:604px}#root .bottom-bar .exp-fill{position:absolute;left:3px;right:3px;top:42px;height:5px}#root .bottom-bar .exp-fill .fill{height:100%;background:linear-gradient(to bottom,#b6f25c,#4a9a10 60%,#2f6a0a);box-shadow:0 0 3px #96ff4680}#root .bottom-bar .lvl{position:absolute;right:4px;top:-17px;padding:1px 7px;font-size:12px;color:#f0e2b0;background:#080705b8;border:1px solid #5a4a2a;border-radius:3px;text-shadow:0 1px 2px #000;pointer-events:none}#root .bottom-bar .pulse{animation:stat-pulse 1.2s ease-in-out infinite}@keyframes stat-pulse{50%{border-color:#e6c36a;box-shadow:0 0 8px #e6c36ae6;color:#fff}}.character-info{background-color:#333;pointer-events:auto;padding:8px 12px;display:flex;flex-direction:column;gap:4px;border:2px solid #000;color:#fff;font-size:14px;height:100%}.character-info .nickname{font-size:16px;font-weight:700;text-align:center;color:#0ff}.character-info .level{color:#ff0}.character-info .level-points{display:flex;justify-content:space-between}.character-info .status{font-size:12px;text-align:center;color:#fff}.character-info .stats{display:flex;flex-direction:column;gap:4px}.character-info .stats .stat{display:flex;align-items:center;border-radius:8px;background-color:#626262;gap:8px}.character-info .stats .stat .label{width:6ch;text-align:center;color:#ff0}.character-info .stats .stat .value{width:10ch;text-align:center;color:#ff0;background-color:#000;border-radius:4px}.character-info .attribute-value{font-size:12px}.character-info .zen{color:#f0e2b0}.character-info .add-point{margin-left:auto;width:26px;padding:0;font-weight:700;color:#1a1305;background:#e6c36a;border-radius:6px}.character-info .add-point:disabled{opacity:.3;cursor:not-allowed}.character-info .spend-points{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:12px}.character-info .spend-points label{display:flex;align-items:center;gap:4px;color:#ddd}.character-info .spend-points input{width:64px;background:#111;color:#ff0;border:1px solid #666;border-radius:3px;padding:3px 4px;font-size:13px}.character-info .spend-points button{padding:3px 7px;cursor:pointer;background:#ffffff14;color:#eee;border:1px solid #666;border-radius:3px}.character-info .spend-points button.on{border-color:#e6c36a;color:#e6c36a}.inventory{pointer-events:auto;height:100%;background-color:#333;display:flex;flex-direction:column;gap:4px;padding:8px 12px;border:2px solid #000;color:#fff;font-size:14px}.inventory .title{font-size:16px;font-weight:700;text-align:center}.inventory .status{font-size:12px;text-align:center}.inventory .equipment{display:grid;grid-template-columns:repeat(8,32px);grid-template-rows:repeat(7,32px);gap:1px}.inventory .equipment .equipment-item{border:2px solid #898989;border-radius:4px;background-color:#333}.inventory .equipment .equipment-item .item-icon{padding:3px;box-sizing:border-box}.inventory .equipment .pet{grid-column:1 / 3;grid-row:1 / 3}.inventory .equipment .helmet{grid-column:4 / 6;grid-row:1 / 3}.inventory .equipment .wings{grid-column:6 / 9;grid-row:1 / 3}.inventory .equipment .leftHand{grid-column:1 / 3;grid-row:3 / 6}.inventory .equipment .amulet{grid-column:3 / 4;grid-row:3 / 4}.inventory .equipment .armor{grid-column:4 / 6;grid-row:3 / 6}.inventory .equipment .rightHand{grid-column:7 / 9;grid-row:3 / 6}.inventory .equipment .gloves{grid-column:1 / 3;grid-row:6 / 8}.inventory .equipment .leftRing{grid-column:3 / 4;grid-row:6 / 7}.inventory .equipment .pants{grid-column:4 / 6;grid-row:6 / 8}.inventory .equipment .rightRing{grid-column:6 / 7;grid-row:6 / 7}.inventory .equipment .boots{grid-column:7 / 9;grid-row:6 / 8}.inventory .equipment .amulet,.inventory .equipment .leftRing,.inventory .equipment .rightRing{transform:scale(1.2)}.inventory .inventory-items{display:grid;grid-template-columns:repeat(8,32px);grid-template-rows:repeat(8,32px);gap:1px;background-color:#898989;border:2px solid #d1d1d1;position:relative}.inventory .inventory-items .tooltip{position:absolute;pointer-events:auto}.inventory .inventory-items .tooltip-content{position:absolute;background-color:#333;border:1px solid #0a0a0a;width:100%;max-width:200px;z-index:10}.inventory .inventory-item{border:1px solid #0a0a0a;border-radius:2px;background-color:#333;position:relative;--item-w: 1;--item-h: 1}.inventory .inventory-item.w-2{--item-w: 2}.inventory .inventory-item.h-2{--item-h: 2}.inventory .inventory-item.w-3{--item-w: 3}.inventory .inventory-item.h-3{--item-h: 3}.inventory .inventory-item.w-4{--item-w: 4}.inventory .inventory-item.h-4{--item-h: 4}.inventory .inventory-item.w-5{--item-w: 5}.inventory .inventory-item.h-5{--item-h: 5}.inventory .inventory-item .bg{z-index:1;position:absolute;width:calc(var(--item-w) * 32px + calc(var(--item-w) - 1) * 1px);height:calc(var(--item-h) * 32px + calc(var(--item-h) - 1) * 1px);top:0;left:0}.inventory .inventory-item.used .bg{background-color:#00000060}.inventory .inventory-item .item-icon{pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;padding:3px;box-sizing:border-box}.inventory .inventory-item .item-icon,.inventory .equipment-item .item-icon{width:100%;height:100%;object-fit:contain}.inventory .held-bar{position:sticky;bottom:0;z-index:5;align-self:stretch;display:flex;flex-direction:column;gap:6px;margin-top:4px;padding:8px 10px;background:#1d1b18;border:1px solid #e6c36a;border-radius:4px;box-shadow:0 -6px 12px #00000073}.inventory .held-bar.over{background:#3a1d17;border-color:#e06a5a}.inventory .held-bar .held-name{font-weight:700;color:#f1dca0;text-align:center}.inventory .held-bar .held-actions{display:flex;gap:8px}.inventory .held-bar .held-actions button{flex:1;min-height:40px;padding:6px 8px;border:1px solid #5a4a2a;border-radius:4px;background:#ffffff14;color:#eee;font-size:14px;cursor:pointer}.inventory .held-bar .held-actions button.danger{border-color:#b4533f;color:#ffb8a6}.inventory .held-bar .held-actions button.sell{border-color:#8ee08e;color:#bff0bf}.inventory .held-bar .held-actions button:hover,.inventory .held-bar .held-actions button:focus-visible{border-color:#e6c36a}.inventory .held-bar .held-hint{text-align:center;font-size:11px;color:#9a9a9a}.notification{position:absolute;top:1rem;left:1rem;display:inline-flex;flex-direction:column;gap:.25rem}.notification .message{font-size:14px;color:#333;padding:10px;border-radius:4px;background-color:#f0f0f0da}.notification .message.with-item{color:#e8e2d2;background-color:#0c0a08e0;border:1px solid #5a4a2a}.notification .message.error{background-color:#ffccccda;color:#d8000c}.debug{position:absolute;top:14px;left:108px;padding:3px 7px;border-radius:3px;background:#14120ebf;color:#fff;font-size:12px;line-height:1.3;pointer-events:none}@media (max-width: 640px){.debug{left:auto;right:8px;top:8px}}.preloader-page{display:flex;justify-content:center;pointer-events:auto}.preloader-page .play-button{min-width:220px;padding:.7em 2em;font-size:1.35rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#f6e7b4;background:linear-gradient(to bottom,#784e10d9,#2e1c06eb);border:1px solid #c9a24a;border-radius:4px;box-shadow:0 0 18px #c9a24a59,inset 0 1px #fff0be59;transition:box-shadow .2s,transform .2s,border-color .2s}.preloader-page .play-button:hover{border-color:#ffe08a;box-shadow:0 0 28px #ffd26e8c,inset 0 1px #fff0be80;transform:translateY(-1px)}.menu-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 16px;box-sizing:border-box;overflow:hidden;background-color:#07060a;color:#eee;pointer-events:none}.menu-screen .menu-art{position:absolute;inset:0}.menu-screen .menu-art .art{position:absolute;inset:-3%;background-size:cover;background-position:center;opacity:0;filter:saturate(1.05) brightness(.82);animation:menu-art-fade 36s ease-in-out infinite,menu-art-drift 36s ease-in-out infinite alternate}.menu-screen .menu-art .art-a{background-image:url(../ui/login/bg-battle.webp);animation-delay:0s}.menu-screen .menu-art .art-b{background-image:url(../ui/login/bg-world.webp);animation-delay:-18s}.menu-screen .menu-shade{position:absolute;inset:0;background:radial-gradient(ellipse 70% 62% at 50% 46%,#07060ac7,#07060a80 55%,#07060a00),linear-gradient(to top,#07060aeb,#07060a00 26%),linear-gradient(to bottom,#07060a8c,#07060a00 18%)}.menu-screen .menu-embers{position:absolute;inset:0;overflow:hidden}.menu-screen .menu-embers i{position:absolute;bottom:-12px;border-radius:50%;background:#ffc66b;box-shadow:0 0 8px 2px #ffaa3cb3;opacity:0;animation:menu-ember linear infinite}.menu-screen .menu-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;width:min(440px,calc(100vw - 32px));max-height:100%;padding:56px 0 72px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;pointer-events:none}.menu-screen .menu-content::-webkit-scrollbar{display:none}.menu-screen .menu-logo{margin:0;width:min(300px,70vw);line-height:0;animation:menu-rise .9s cubic-bezier(.2,.7,.2,1) both}.menu-screen .menu-logo img{display:block;width:100%;height:auto;mix-blend-mode:screen}.menu-screen .menu-tagline{margin:0;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;text-align:center;color:#cdbb8a;text-shadow:0 2px 8px #000;animation:menu-rise .9s .15s cubic-bezier(.2,.7,.2,1) both}.menu-screen .menu-title{margin:4px 0 0;font-size:1.15rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#e6c36a;text-shadow:0 2px 8px #000;animation:menu-rise .7s .1s cubic-bezier(.2,.7,.2,1) both}.menu-screen .menu-panel{width:100%;pointer-events:none;animation:menu-rise .8s .2s cubic-bezier(.2,.7,.2,1) both}.menu-screen .menu-panel>div{margin:0;display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:18px 20px;background:#0c0a08cc;border:1px solid #5a4a2a;border-radius:6px;box-shadow:0 10px 40px #0009,inset 0 1px #ffe6a00f;backdrop-filter:blur(4px);pointer-events:auto}.menu-screen .menu-panel>.preloader-page{background:none;border:0;box-shadow:none;backdrop-filter:none;align-items:center;padding-top:6px}.menu-screen .menu-panel input,.menu-screen .menu-panel select{width:100%;box-sizing:border-box;padding:8px 10px;color:#fff;background:#0000008c;border:1px solid #5a4a2a;border-radius:4px;font-size:1rem}.menu-screen .menu-panel input:focus,.menu-screen .menu-panel select:focus{outline:none;border-color:#e6c36a}.menu-screen .menu-panel label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:#cdbb8a}.menu-screen .menu-panel form{display:flex;flex-direction:column;gap:12px}.menu-screen .menu-panel button:not(.play-button){color:#f6e7b4;background:linear-gradient(to bottom,#6e480ecc,#2e1c06e6);border:1px solid #8a6a2c}.menu-screen .menu-panel button:not(.play-button):hover{border-color:#ffe08a}.menu-screen .menu-footer{position:absolute;left:0;right:0;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;animation:menu-fade 1.2s .5s ease both}.menu-screen .menu-footer .solvea{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;color:#cfe9e6;text-decoration:none;pointer-events:auto;transition:background .2s,color .2s}.menu-screen .menu-footer .solvea:hover,.menu-screen .menu-footer .solvea:focus-visible{color:#fff;background:#22d3c51f;outline:none}.menu-screen .menu-footer .solvea-name{font-size:.82rem;font-weight:700;letter-spacing:.24em}.menu-screen .menu-footer .solvea-tag{font-size:.74rem;letter-spacing:.06em;color:#22d3c5}.menu-screen .menu-footer .solvea-tag:before{content:"·";margin-right:8px;color:#cfe9e680}.menu-screen .menu-footer .menu-note{font-size:.68rem;letter-spacing:.08em;color:#e6c36a66}.menu-screen.is-cover .menu-content{gap:14px;width:min(620px,calc(100vw - 32px))}.menu-screen.is-cover .menu-logo{width:min(500px,86vw)}@keyframes menu-art-fade{0%{opacity:0}8%,50%{opacity:1}58%,to{opacity:0}}@keyframes menu-art-drift{0%{transform:scale(1) translateZ(0)}to{transform:scale(1.07) translate3d(-1.2%,-.8%,0)}}@keyframes menu-ember{0%{transform:translateZ(0);opacity:0}10%{opacity:.9}85%{opacity:.5}to{transform:translate3d(var(--drift, 0),-105vh,0);opacity:0}}@keyframes menu-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes menu-fade{0%{opacity:0}to{opacity:1}}@media (max-height: 560px){.menu-screen .menu-content{padding-top:20px;padding-bottom:60px}.menu-screen .menu-logo,.menu-screen.is-cover .menu-logo{width:min(220px,50vw)}.menu-screen .menu-footer .menu-note{display:none}}@media (prefers-reduced-motion: reduce){.menu-screen .menu-art .art{animation:none}.menu-screen .menu-art .art-a{opacity:1}.menu-screen .menu-embers{display:none}.menu-screen .menu-logo,.menu-screen .menu-tagline,.menu-screen .menu-title,.menu-screen .menu-panel,.menu-screen .menu-footer{animation:none}}.menu-screen .class-stage{position:absolute;right:clamp(8px,7vw,120px);bottom:84px;top:6%;width:min(46vw,520px);display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.menu-screen .class-stage:before{content:"";position:absolute;inset:12% 8% 0;background:radial-gradient(ellipse at 50% 60%,#e6c36a47,#e6c36a00 68%)}.menu-screen .class-stage img{position:relative;max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.8));animation:class-in .6s cubic-bezier(.2,.7,.2,1) both}.menu-screen .class-stage:after{content:"";position:absolute;left:14%;right:14%;bottom:-14px;height:34px;background:radial-gradient(ellipse at center,#000000bf,#0000 70%)}.menu-screen .class-stage .class-stage-name{position:absolute;bottom:-62px;left:0;right:0;text-align:center;font-size:1.4rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#e6c36a;text-shadow:0 2px 10px #000,0 0 18px rgba(0,0,0,.9)}@keyframes class-in{0%{opacity:0;transform:translate(24px) scale(.98)}to{opacity:1;transform:none}}@media (max-width: 900px){.menu-screen .class-stage{right:0;left:0;width:auto;top:0;opacity:.32}.menu-screen .class-stage .class-stage-name{display:none}}@media (min-width: 901px){.menu-screen:has(.class-stage){justify-content:flex-start;padding-left:clamp(24px,7vw,130px)}}.net-indicator{position:fixed;top:calc(6px + env(safe-area-inset-top));right:calc(6px + env(safe-area-inset-right));z-index:40;font-size:11px;color:#e8e2d2;pointer-events:none}.net-indicator .chip{pointer-events:auto;display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#0a08069e;color:inherit;font:inherit;cursor:pointer;opacity:.75;transition:opacity .2s}.net-indicator .chip:hover,.net-indicator .chip:focus-visible{opacity:1}.net-indicator .dot{width:8px;height:8px;border-radius:50%;background:#4caf50;box-shadow:0 0 6px currentColor}.net-indicator.fair .dot{background:#ffb02e}.net-indicator.bad .dot{background:#f44336}.net-indicator.bad .chip{opacity:1;border-color:#f4433699}.net-indicator .fps{opacity:.7}.net-indicator .panel{pointer-events:auto;position:absolute;top:28px;right:0;width:230px;padding:10px 12px;border:1px solid #5a4a2a;border-radius:6px;background:#0c0a08f0;box-shadow:0 8px 24px #0009}.net-indicator .panel strong{display:block;margin-bottom:6px;color:#e6c36a;font-size:12px}.net-indicator .panel dl{display:grid;grid-template-columns:1fr auto;gap:2px 10px;margin:0 0 6px}.net-indicator .panel dt{color:#b7a67a}.net-indicator .panel dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.net-indicator .panel p{margin:0 0 6px;line-height:1.35}.net-indicator .panel small{color:#8f8466;line-height:1.3;display:block}.net-indicator .route{opacity:.85;font-weight:600}#root,.app{display:grid;position:absolute;inset:0;pointer-events:none}#root img,.app img{width:100%;height:100%}body a{font-weight:500;color:#646cff;text-decoration:inherit}body a:hover{color:#535bf2}body h1{font-size:3.2em;line-height:1.1}body button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}body button:hover{border-color:#646cff}body button:focus,body button:focus-visible{outline:4px auto -webkit-focus-ring-color}
