@font-face{font-family:RS;src:url('client-assets/RuneScape-Plain-12.ttf')}@font-face{font-family:RSBold;src:url('client-assets/RuneScape-Bold-12.ttf')}
/* Motion: three durations and two curves. Spacing: a 4 px step. --tap is the smallest touch target on a phone. */
:root{--plugin-width:288px;--rail-width:36px;--title-height:28px;--gold:#ff981f;--mo-1:120ms;--mo-2:180ms;--mo-3:240ms;--ease-out:cubic-bezier(.2,.7,.2,1);--ease-io:cubic-bezier(.45,0,.25,1);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--tap:40px;--shadow-pop:0 6px 18px #0009}
body{background:#171717}.app{display:block!important;height:100dvh!important;padding:0!important;overflow:hidden;--left:0px;--right:0px}
.app>header,.app>.top,.app>.map-dock,.app>.map-place,.app>.map-help,.app>.plugin-rail{display:none!important}
#world-panel{position:absolute!important;inset:var(--title-height) calc(var(--plugin-width) + var(--rail-width)) 0 0!important;width:auto!important;height:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important}
#world-panel>.bar{display:none!important}#world-panel .world-body,#world-panel .map-wrap{height:100%!important}#rsw{inset:0!important;width:100%!important;height:100%!important}
.client-title{position:absolute;inset:0 0 auto;height:28px;background:#1e1e1e;display:flex;align-items:center;gap:8px;padding:0 9px;color:#ddd;font:12px Arial,sans-serif;border-bottom:1px solid #080808;z-index:70;user-select:none}.client-title img{width:16px;height:16px}.client-title select{margin-left:auto;background:#191919;border:0;color:#ddd;max-width:180px;font:11px Arial}.client-title button{border:0;background:none;color:#bbb;padding:3px 8px}.client-title .connection{color:#90b179;font-size:10px}
.client-rail{position:absolute;right:0;top:28px;bottom:0;width:36px;background:#1e1e1e;border-left:1px solid #101010;display:flex;flex-direction:column;align-items:stretch;z-index:65}.client-rail button{height:38px;min-height:38px;padding:8px;border:0;border-radius:0;background:transparent;color:#aaa;position:relative}.client-rail button.on{background:#282828;color:#ff981f;border-right:3px solid #ff981f}.client-rail button:hover{background:#262626}.client-rail svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6}.client-rail .rail-gap{flex:1}.client-rail img{width:18px;height:18px;object-fit:contain}
.client-plugin{position:absolute;right:36px;top:28px;bottom:0;width:288px;background:#282828;border-left:1px solid #111;z-index:60;overflow:hidden;display:flex;flex-direction:column}.client-plugin-title{height:43px;min-height:43px;background:#1e1e1e;display:flex;align-items:center;padding:0 13px;font:600 13px Arial;color:#ddd;border-bottom:1px solid #181818}.client-plugin-title button{margin-left:auto;border:0;background:none;color:#aaa}.client-plugin-body{flex:1;overflow:auto;padding:0 9px 12px;font:12px Arial;color:#bbb;min-height:0}
.client-plugin #fleet-panel,.client-plugin #inspect-panel{position:static!important;display:flex!important;visibility:visible!important;width:100%!important;height:auto!important;max-height:none!important;border:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;margin:0!important;opacity:1!important}
.client-plugin #fleet-panel .bar,.client-plugin #inspect-panel>.bar{display:none!important}.client-plugin #inspector{max-height:none!important;overflow:visible!important;padding:8px 0!important}.client-plugin #fleet{max-height:none!important;overflow:visible!important}.client-plugin .boards{display:block!important;background:none;border:0;padding:5px}.client-plugin .boardgrid{grid-template-columns:1fr!important}.client-plugin .board{min-width:0!important}.client-plugin #allocation-panel{display:block!important;position:static!important;width:100%!important}.client-plugin .map-place{display:flex;position:static;flex-wrap:wrap;margin:12px 0}.client-plugin .job-card{border-radius:2px;background:#282828}.client-plugin .agent-card{border-radius:2px}.client-plugin .fleet-summary{margin:8px 0}.client-plugin .dock-tabs{display:flex;flex-wrap:wrap}.client-plugin .event-line{display:block;border-bottom:1px solid #444;padding:8px 0}.client-plugin .event-line .message{white-space:normal;text-align:left}.client-plugin .boards[hidden]{display:none!important}
.client-collapsed{--plugin-width:0px}.client-plugin{transition:transform var(--mo-2) var(--ease-out),opacity var(--mo-2) var(--ease-out),visibility 0s}.client-collapsed .client-plugin{visibility:hidden;opacity:0;transform:translateX(12px);pointer-events:none;transition:transform var(--mo-2) var(--ease-io),opacity var(--mo-2) var(--ease-io),visibility 0s var(--mo-2)}.client-collapsed #world-panel{right:36px!important}
.app>.foot,.app>.goals,#follow,#legend{display:none!important}.client-plugin-body:has(>#fleet-panel){display:flex;flex-direction:column;padding:0}.client-plugin #fleet-panel{height:100%!important;min-height:0;flex:1}.client-plugin #roster{flex:1;min-height:0;overflow-y:auto}.client-plugin .board-grid{grid-template-columns:1fr!important}.client-plugin .boards{overflow:visible;max-height:none}.client-plugin .boards .bar{position:static}.client-plugin .boards .bar h2{font-size:11px}.game-chat input{background:transparent!important;color:#0000ff!important}.game-panel select{background:#342e24!important;color:#ff981f!important}
.worldmap-open{visibility:hidden}.client-plugin-title #client-more{margin-left:auto;border:0!important;background:transparent!important;font-size:16px;color:#aaa;width:28px}.client-plugin-title button{margin-left:4px}.client-plugin-title #client-more[hidden]+button{margin-left:auto}.client-plugin #board-grid{overflow:visible}.client-plugin .map-dock{border:0;box-shadow:none;background:transparent}.game-panel .game-skill{border-radius:0!important}.game-panel .game-skill:hover{background:#736449}
.game-tab-icon{max-width:29px;max-height:29px;object-fit:contain;image-rendering:pixelated}.game-grid-icons .prayer-icon{width:32px;height:32px;display:grid;place-items:center}.prayer-icon img{max-width:30px;max-height:30px;image-rendering:pixelated}.game-grid-icons:has(.prayer-icon){gap:7px 0}.emote-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.emote-grid button{height:42px;border:0;background:none;padding:0}.emote-grid img{max-width:38px;max-height:40px;image-rendering:pixelated}.orb-art{width:34px;height:34px;image-rendering:pixelated}.game-orb{height:36px;padding:0 5px 0 0;border:0;background:#302b24d9;box-shadow:inset 0 0 0 2px #625b4b}.game-orbs{gap:1px;top:48px}
.spell-grid{margin-top:10px;gap:5px 0}.spell-icon img{max-width:23px;max-height:23px;image-rendering:pixelated}.spell-icon{display:grid;place-items:center;width:29px!important;height:26px!important}
.client-plugin-body{display:flex;flex-direction:column}.client-plugin #inspect-panel{height:100%!important;min-height:0;flex:1}.client-plugin #inspector{flex:1;min-height:0;overflow-y:auto!important}.client-plugin .boards{height:100%!important;display:flex!important;flex-direction:column}.client-plugin #board-grid{flex:1;min-height:0;overflow-y:auto}.client-plugin .boards .pager{flex:none}.client-plugin .map-place{flex:none}.client-plugin .event-line{flex:none}.client-plugin .evidence-page{min-height:180px}
.game-bank{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:min(500px,90%);height:365px;pointer-events:auto;background:#4a4131 url('client-assets/interface-bg.png');border:9px solid transparent;border-image:url('client-assets/interface-border.png') 12 stretch;display:flex;flex-direction:column;box-shadow:0 6px 30px #0009}.game-bank header{display:flex;justify-content:center;align-items:center;min-height:28px;font:20px RSBold;color:#ff981f;border-bottom:2px ridge #74654d}.game-bank header button{position:absolute;right:3px;top:1px;border:2px ridge #8b6b4b;background:#612d23;color:#c4a47c;font-size:20px;padding:0 5px}.bank-tabs{display:flex;height:39px;justify-content:center;background:#322d24;border-bottom:2px ridge #74654d}.bank-tabs button{width:40px;border:2px ridge #72634b;border-radius:0;background:#4c4232;color:#bea979;font:23px RS}.bank-items{flex:1;min-height:0;overflow:auto;display:grid;align-content:start;grid-template-columns:repeat(8,1fr);gap:5px;padding:10px}.game-bank footer{min-height:32px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;border-top:2px ridge #74654d;padding:4px;font:13px RS;color:#ff981f}.bank-group{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.bank-group button{border:2px ridge #72634b;border-radius:0;background:#4c4232;color:#bea979;font:13px RS;padding:0 5px;min-width:22px}.bank-group button.on{background:#8c3a2f;color:#fff}.bank-count{position:absolute;left:8px;top:6px;font:14px RS;color:#ff981f}.game-bank input{width:150px;background:#332b20!important;border:2px ridge #756449;color:#ff981f;font:15px RS}.bank-age{font:13px RS;color:#c5b68b}
.game-hud{position:absolute;inset:28px calc(var(--plugin-width) + 36px) 0 0;pointer-events:none;z-index:40;font:16px RS,serif;color:#ff981f;text-shadow:1px 1px #000}.game-hud button,.game-hud input,.game-hud select{pointer-events:auto;font-family:RS,serif}.game-tabs{position:absolute;right:0;bottom:0;width:232px;pointer-events:auto;filter:drop-shadow(0 0 2px #000)}.tab-row{display:grid;grid-template-columns:repeat(3,1fr);height:36px;padding:1px;background:linear-gradient(#6d6655,#39372e);border:2px ridge #807760;gap:1px}.tab-row button{border:1px solid #29261e;border-radius:0;background:linear-gradient(135deg,#635d4e,#3e3a31);padding:1px;display:grid;place-items:center;min-width:0;position:relative}.tab-row button:hover{filter:brightness(1.3)}.tab-row button.active{background:linear-gradient(#9e4235,#612e26);box-shadow:inset 0 0 5px #17110b}.tab-sprite{display:block;width:30px;height:30px;background:url('client-assets/sideicons.png') no-repeat;image-rendering:pixelated}.tab-glyph{font:22px RSBold;color:#d7b86b;text-shadow:1px 2px #111}.game-panel{height:292px;padding:8px 9px;background:#4a4131 url('client-assets/interface-bg.png');border:9px solid transparent;border-image:url('client-assets/interface-border.png') 12 stretch;overflow:auto;position:relative;color:#ff981f;font:16px RS;text-shadow:1px 1px #000;scrollbar-color:#71634a #342e24;scrollbar-width:thin}.game-panel h3{font:18px RSBold;text-align:center;color:#ff981f;margin:0 0 10px}.game-panel p{font:15px RS;line-height:1.2;margin:8px 0}.game-panel button{color:#ff981f}.inventory-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(7,34px);gap:0 5px}.inventory-cell{border:0!important;background:none!important;padding:0!important;width:40px;height:34px;position:relative;display:grid;place-items:center}.inventory-cell .it{margin:0!important}.inventory-cell .qty{position:absolute;top:0;left:0;font:14px RS;color:#ff0;text-shadow:1px 1px #000}.inventory-cell:hover{background:#ffffff12!important}.game-muted{color:#b6aa87;font-size:14px!important}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.game-skill{height:27px;position:relative;border:1px solid #2e291f;background:linear-gradient(#5a5140,#443c2e);display:flex;align-items:center;padding:0 2px;gap:2px;color:#ff0}.game-skill img{width:21px;height:22px;object-fit:contain;image-rendering:pixelated}.game-skill span{font:14px RS;text-align:center;line-height:11px;flex:1}.game-skill small{font:12px RS;display:block}.skill-total{text-align:center;color:#ff0;margin:5px}.game-list button{display:block;width:100%;border:0;border-radius:0;background:none;text-align:left;font:16px RS;padding:3px;color:#ff0}.game-list button:hover{background:#ffffff15}.game-list .quest-unobserved{color:#aaa}.equipment-doll{position:relative;height:225px}.equipment-slot{position:absolute;width:40px;height:36px;border:2px ridge #6c6250;background:#302b22;display:grid;place-items:center}.equipment-slot small{font:11px RS;color:#8b806a;text-align:center}.game-grid-icons{display:grid;grid-template-columns:repeat(5,1fr);gap:8px 1px}.prayer-icon,.spell-icon{width:24px;height:24px;background-repeat:no-repeat;image-rendering:pixelated;border:0!important;padding:0!important;background-color:transparent!important}.game-control{width:100%;background:#332d23;border:2px ridge #776b51;border-radius:0;padding:7px;color:#ff981f;margin:4px 0;font:16px RS!important}.game-panel label{display:block;margin:9px 0;color:#ff981f}.game-panel select{width:100%;background:#342e24;color:#ff981f;border:1px solid #786b51;font:15px RS}.game-combat{display:grid;grid-template-columns:1fr 1fr;gap:6px}.game-combat button{height:55px;border:2px ridge #776b51;background:#3e3426;font:16px RS}.game-combat button.selected{background:#65382c}
/* The minimap floats over the view as RuneLite's does: the carved dragon ring of the 2004 frame, cut free of its wall, in a box of 249 by 168 px. The map and the compass lie under the frame canvas and show through its two holes: the map hole at (59, 9), 146 by 151 px, and the compass hole, 32 px round, centre (50.5, 20.5). The box shows when the frame is cut (ready). */.game-hud .game-minimap{position:absolute;right:-4px;top:4px;width:249px;height:168px;pointer-events:none;visibility:hidden}.game-hud .game-minimap.ready{visibility:visible}.game-hud .game-minimap canvas{position:absolute;left:59px;top:9px;width:146px;height:151px;image-rendering:pixelated;clip-path:ellipse(76px 79px at 73px 75.5px);cursor:crosshair;pointer-events:auto}.game-hud .game-minimap canvas.minimap-frame{left:0;top:0;width:249px;height:168px;clip-path:none;pointer-events:none;filter:drop-shadow(0 2px 2px #000c)}.game-hud .minimap-compass{position:absolute;left:25px;top:-5px;width:51px;height:51px;image-rendering:pixelated;clip-path:circle(17px at 50% 50%);transform-origin:50% 50%;cursor:pointer;pointer-events:auto}.game-hud .game-worldmap{position:absolute;right:9px;bottom:3px;width:40px;height:40px;border:0!important;background:none!important;padding:0!important;filter:drop-shadow(0 1px 2px #000);pointer-events:auto}.game-hud .game-worldmap img{width:40px;height:40px}/* The XP button and the orbs (RuneLite) stand in an arc down the left of the ring, each number plate to the left of its orb. The middle orb is at the left dragon's hand. */.game-hud .game-xp{position:absolute;z-index:3;right:217px;top:8px;width:27px;height:27px;padding:0;border:0;border-radius:50%;background:none;box-shadow:none;image-rendering:pixelated;color:#ffb83f;font:16px RS;line-height:27px;text-shadow:1px 1px #000;pointer-events:auto;filter:drop-shadow(0 1px 2px #000c)}.game-hud .game-orbs{position:absolute;z-index:3;right:205px;top:37px;display:flex;flex-direction:column;align-items:flex-end;gap:3px;pointer-events:auto}.game-hud .game-orb{position:relative;width:60px;height:34px;min-width:0;padding:0;margin:0;border:0;border-radius:0;background:none;box-shadow:none}.game-hud .game-orb.orb-prayer{margin-right:15px}.game-hud .game-orb.orb-run{margin-right:3px}.game-hud .orb-art{display:block;width:60px;height:34px;image-rendering:pixelated;filter:drop-shadow(0 1px 2px #000c)}.game-hud .orb-num{position:absolute;left:2px;top:9px;width:24px;height:16px;font:16px RS;line-height:16px;text-align:center;text-shadow:1px 1px #000}/* A view under 500 px wide (hud-narrow): the orbs go in a row under the minimap, and the XP button goes to the top right of the ring. */.game-hud.hud-narrow .game-minimap{right:-11px}.game-hud.hud-narrow .game-orbs{flex-direction:row;align-items:center;right:6px;top:174px;gap:4px}.game-hud.hud-narrow .game-orb{margin-right:0}.game-hud.hud-narrow .game-xp{right:11px;top:8px}.game-hud.hud-narrow .xp-drops{right:244px}.game-logout{position:absolute;right:46px;top:176px;background:#514a3d;border:2px ridge #81745b;color:#d5b66b;font-size:12px;padding:2px 6px}
.game-chat{position:absolute;bottom:0;left:0;width:min(550px,calc(100% - 238px));height:175px;pointer-events:auto;background:#c3b28c url('client-assets/chatback.png') center/100% 100%;border:4px ridge #796d53;color:#000;text-shadow:none;font:16px RS;display:flex;flex-direction:column}.game-chat-lines{flex:1;overflow:auto;padding:5px 7px;scrollbar-color:#726348 #b9a984;scrollbar-width:thin;line-height:17px}.game-chat-lines p{margin:0;overflow-wrap:anywhere}.chat-public{color:#0000ff}.chat-system{color:#000}.chat-input{border-top:1px solid #74674d;margin:0 7px;display:flex;gap:4px;align-items:center;height:23px;color:#000}.chat-input input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:#0000ff;font:16px RS}.chat-channels{height:25px;display:flex;background:linear-gradient(#5b5549,#3d392f);border-top:2px ridge #85785d}.chat-channels button{flex:1;border:1px solid #2d2b23;border-radius:0;background:none;color:#eee;font:14px RS;padding:1px 2px;text-shadow:1px 1px black}.chat-channels button.active{color:#fff;background:#766c51}.chat-channels small{display:block;font:11px RS;color:#00ef00;line-height:9px}.chat-toggle{display:none;position:absolute;left:4px;bottom:179px;font:13px RS!important;background:#342f27aa;border:1px solid #73654c;color:#ddd;padding:2px 7px}.chat-hidden .game-chat{display:none}.chat-hidden .chat-toggle{bottom:4px}.game-context{position:fixed;z-index:200;background:#5d5447;border:1px solid #000;box-shadow:inset 0 0 0 2px #342e23;min-width:145px;padding:3px;color:#fff;font:16px RS;text-shadow:1px 1px black;pointer-events:auto}.game-context strong{display:block;background:#302c25;color:#b8aa8a;font-weight:normal;padding:2px 4px}.game-context button{display:block;width:100%;text-align:left;border:0;background:none;color:#fff;font:16px RS;padding:2px 5px}.game-context button:hover{color:#ff0}.game-context span{color:#ff9040}.game-toast{position:absolute;top:12px;left:50%;transform:translateX(-50%);background:#342d22ed;border:2px ridge #8c7b54;color:#ff0;font:16px RS;padding:10px 20px;max-width:60%;text-align:center;pointer-events:auto}.game-panel-hidden .game-panel{display:none}
@media(min-width:1600px){.game-tabs{width:246px}.game-panel{height:310px}.inventory-grid{grid-template-rows:repeat(7,36px)}.game-chat{width:600px;height:190px}.chat-toggle{bottom:194px}}
@media(max-width:1000px){:root{--plugin-width:250px}.client-plugin{width:250px}.game-chat{width:calc(100% - 238px);min-width:240px;height:154px}.chat-toggle{bottom:158px}.game-tabs{width:218px}.game-panel{height:275px;padding:5px}.chat-channels button{font-size:12px}}
@media(max-width:740px){:root{--plugin-width:0px}.client-plugin{width:280px;box-shadow:-5px 0 15px #0008}.app:not(.mobile-plugin) .client-plugin{visibility:hidden;opacity:0;transform:translateX(12px);pointer-events:none;transition:transform var(--mo-2) var(--ease-io),opacity var(--mo-2) var(--ease-io),visibility 0s var(--mo-2)}.game-chat{width:calc(100% - 222px);min-width:180px;height:140px}.game-chat-lines{font-size:14px}.chat-toggle{bottom:144px}.chat-channels button{font-size:10px;padding:1px 0}.chat-channels small{font-size:9px}.client-title .connection{display:none}.game-tabs{width:208px}.game-panel{height:263px}}
.xp-panel{display:grid;gap:6px;padding:8px 0}.xp-results{display:contents}.xp-box{background:#1b1b1b;border-radius:3px;padding:7px 9px;font:12px Arial;color:#ccc}.xp-head{display:flex;justify-content:space-between;gap:8px;font-weight:bold;color:#fff}.xp-gain{color:#ff981f;white-space:nowrap}.xp-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:5px;color:#a0a0a0}.xp-stats b{color:#fff;font-weight:normal}.xp-row{display:flex;gap:9px;align-items:center}.xp-row img{width:25px;height:25px;object-fit:contain;image-rendering:pixelated;flex:none}.xp-main{flex:1;min-width:0}.xp-bar{position:relative;height:16px;background:#0f0f0f;border-radius:2px;margin:4px 0;overflow:hidden}.xp-bar i{position:absolute;inset:0 auto 0 0;background:#ff981f}.xp-bar span{position:absolute;inset:0;display:grid;place-items:center;font:11px Arial;color:#fff;text-shadow:1px 1px #000}.xp-meta{display:flex;justify-content:space-between;color:#a0a0a0;font-size:11px}.xp-reset{margin-top:6px;font:11px Arial;background:#282828;color:#ccc;border:1px solid #444;border-radius:3px;padding:2px 9px}.xp-muted{color:#a0a0a0}button.xp-pick{width:100%;border:0;text-align:left;cursor:pointer}button.xp-pick:hover{background:#242424}.xp-name{flex:1;color:#fff}
.xp-drops{position:absolute;right:284px;top:48px;width:90px;height:120px;pointer-events:none;overflow:hidden}.xp-drop{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:3px;font:16px RS;color:#fff;text-shadow:1px 1px #000;animation:xp-drop 3s linear forwards;white-space:nowrap}.xp-drop img{width:18px;height:18px;object-fit:contain;image-rendering:pixelated}@keyframes xp-drop{0%{transform:translateY(0);opacity:1}80%{opacity:1}100%{transform:translateY(-110px);opacity:0}}.qty{color:#ff0}.qty-k{color:#fff}.qty-m{color:#00ff80}.game-overlay{position:absolute;left:6px;top:6px;min-width:140px;max-width:260px;background:#463d32b4;padding:3px 5px;font:13px RS;color:#fff;text-shadow:1px 1px #000;pointer-events:none}.game-overlay h4{margin:0 0 2px;font:13px RS;color:#ff981f;text-align:center}.game-overlay div{display:flex;justify-content:space-between;gap:10px;line-height:14px}.game-overlay b{font-weight:normal;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.game-tip{position:absolute;z-index:120;background:#ffffe1;color:#000;border:1px solid #000;padding:2px 4px;font:12px RS;text-shadow:none;white-space:nowrap;pointer-events:none}.game-tip b{font-weight:normal}
.chat-private{color:#800000}.game-chat-lines b{font-weight:normal;color:#000}.chat-public b{color:#0000ff}
.hs-panel{padding:8px 0;font:12px Arial;color:#ccc}.hs-search input{width:100%;background:#1b1b1b;border:1px solid #111;color:#fff;font:12px Arial;padding:5px 7px;border-radius:3px}.hs-head{display:flex;justify-content:space-between;margin:8px 0 4px;font-weight:bold;color:#fff}.hs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.hs-cell{display:flex;align-items:center;gap:6px;background:#1b1b1b;padding:4px 6px;border-radius:2px;cursor:default}.hs-cell img{width:20px;height:20px;object-fit:contain;image-rendering:pixelated}.hs-cell span{color:#fff}.hs-cell:hover{background:#242424}.hs-overall{grid-column:1/-1;justify-content:center}.hs-extra{margin-top:6px}.hs-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;background:#1b1b1b;padding:4px 6px;margin-top:2px}.loot-items{display:flex;flex-wrap:wrap;gap:2px;margin-top:4px}.loot-items .inventory-cell{width:36px;height:32px}.loot-box small{color:#a0a0a0;font-weight:normal}.game-infoboxes{position:absolute;left:6px;top:118px;display:flex;flex-wrap:wrap;gap:2px;width:230px;pointer-events:auto}.infobox{position:relative;width:35px;height:35px;border:0!important;padding:0!important;background:#0000008c!important;display:grid;place-items:center;cursor:pointer}.infobox img{width:24px;height:24px;object-fit:contain;image-rendering:pixelated}.infobox span{position:absolute;right:1px;bottom:0;font:12px RS;color:#fff;text-shadow:1px 1px #000}
.rl-search{width:100%;background:#1b1b1b;border:1px solid #111;color:#fff;font:12px Arial;padding:5px 7px;border-radius:3px;margin:4px 0 8px}.rl-plugins{display:grid;gap:2px}.rl-plugin{display:flex;align-items:center;gap:8px;background:#1b1b1b;padding:5px 8px;border-radius:2px;cursor:pointer;font:12px Arial;color:#ddd}.rl-plugin:hover{background:#242424}.rl-plugin img{width:16px;height:16px;object-fit:contain;flex:none}.rl-plugin-dot{width:16px;height:16px;flex:none;border-radius:50%;background:#333}.rl-plugin-name{flex:1}.rl-switch{appearance:none;width:26px;height:14px;border-radius:7px;background:#4a4a4a;position:relative;margin:0;flex:none;cursor:pointer;transition:background var(--mo-1)}.rl-switch::after{content:'';position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:#1b1b1b;transition:left var(--mo-1)}.rl-switch:checked{background:#2a8a2a}.rl-switch:checked::after{left:14px;background:#fff}
.chat-time{color:#555}
.xp-globes{position:absolute;left:50%;top:8px;transform:translateX(-50%);display:flex;gap:6px;pointer-events:auto}.xp-globe{--p:0%;width:40px;height:40px;border-radius:50%;background:conic-gradient(#ff981f var(--p),#3a3a3a 0);display:grid;place-items:center;box-shadow:0 0 0 1px #000,0 2px 6px #0009}.xp-globe::before{content:'';position:absolute;width:32px;height:32px;border-radius:50%;background:#1b1b1bd9}.xp-globe img{position:relative;width:22px;height:22px;object-fit:contain;image-rendering:pixelated}
.game-screen{position:absolute;inset:0;display:grid;place-items:center;background:#000000b8;z-index:45;pointer-events:none}.game-screen[hidden]{display:none}.game-screen-box{background:#3e3529;border:2px solid #000;box-shadow:inset 0 0 0 2px #5c5040;padding:18px 40px;text-align:center;font:16px RS;color:#ff0;text-shadow:1px 1px #000}.game-screen-box h2{font:20px RSBold;color:#ff981f;margin:0 0 8px}.game-screen-box p{margin:4px 0}.ge-panel{padding:8px 0;font:12px Arial;color:#ccc}.ge-row{display:flex;gap:8px;align-items:center;background:#1b1b1b;border-radius:2px;padding:5px 7px;margin-top:2px}.ge-icon{width:36px;height:32px;display:grid;place-items:center;flex:none}.ge-main{flex:1;min-width:0}.ge-name{color:#fff;font-weight:bold;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ge-prices{display:flex;gap:10px;color:#a0a0a0;font-size:11px}.ge-prices b{color:#ff981f;font-weight:normal}
.friends-list button{display:flex;justify-content:space-between;gap:8px}.friend-on{color:#0f0}.friend-off{color:#f00}.prayer-locked img{filter:grayscale(1) brightness(.45)}
.spell-locked img{filter:grayscale(1) brightness(.45)}
.client-title>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:740px){.client-title{gap:5px;padding:0 5px}.client-title select{max-width:110px}}
.acct-rows{display:grid;gap:3px;margin:6px 0}.acct-row{display:flex;justify-content:space-between;gap:8px;font:15px RS;color:#ff981f}.acct-row span:last-child{color:#ff0;text-align:right}@media(max-width:740px){.game-overlay{top:206px;max-width:150px}.game-infoboxes{top:312px;width:150px}.xp-globes{top:208px;left:auto;right:8px;transform:none}}
.pr-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:6px;align-items:center;padding:4px 0;border-top:1px solid #242424;color:#ddd;text-decoration:none;font:12px Arial}.pr-row:hover{color:#fff}.pr-num{color:#a0a0a0}.pr-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pr-age{color:#a0a0a0;font-size:11px}.pr-chip{font-size:10px;padding:0 5px;border-radius:8px;border:1px solid #444;color:#ccc}.pr-chip.open{color:#3fb950;border-color:#3fb950}.pr-chip.merged{color:#a371f7;border-color:#a371f7}.pr-chip.draft{color:#8b949e}
.goal-request{display:grid;grid-template-columns:1fr auto;gap:6px;margin:8px 0;font:12px Arial}.goal-request input{background:#1b1b1b;border:1px solid #111;color:#fff;font:12px Arial;padding:6px 8px;border-radius:3px}.goal-request button{background:#2a2114;color:#f0e0b8;border:1px solid #6b5631;border-radius:3px;padding:4px 10px;font:12px Arial;cursor:pointer}.goal-request small{grid-column:1/-1;color:#a0a0a0}
.spellbook-name{font:13px RS;color:#ff981f;text-shadow:1px 1px #000;text-align:center;margin-top:4px}.music button.music-on{color:#0f0}.music button.music-off{color:#ff3030}
.side-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;width:100%;background:#1b1b1b;color:#ddd;border:0;border-radius:2px;padding:4px 6px;margin-top:2px;text-align:left;font:12px Arial}
.side-row:not(:disabled):hover{background:#242424;cursor:pointer}
.side-row:disabled{color:#ddd;opacity:1;cursor:default}
.side-late{color:#ff3030!important}
.progress-remaining{display:flex;flex-wrap:wrap;gap:3px;margin-top:5px}
.progress-remaining span{background:#1b1b1b;padding:3px 6px;border-radius:2px;color:#ff981f}
.hs-max span{color:#00ff00}
.ignore-why{display:block;font-size:11px;color:#a0a0a0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.equip-row{display:flex;align-items:center;gap:6px;padding:2px 0}
.game-places{position:absolute;right:6px;top:176px;z-index:30;background:#3e3529ee;border:2px ridge #5b5243;padding:6px;display:flex;flex-direction:column;gap:5px;pointer-events:auto;font:12px Arial;color:#ff981f;max-width:calc(100% - 12px)}
.game-places[hidden]{display:none}
.game-places .map-place{display:flex!important;position:static!important;background:none;border:0;padding:0;flex-wrap:wrap}
.hs-mode{margin:6px 0}
.rival-row{display:grid;grid-template-columns:44px minmax(0,1fr) 30px 62px 92px;gap:4px;align-items:center;width:100%;background:#1b1b1b;color:#ddd;border:0;border-radius:2px;padding:4px 6px;margin-top:2px;text-align:left;font:12px Arial;cursor:pointer}
.rival-row:hover{background:#242424}
.rival-row span:nth-child(2),.rival-row span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rival-ours{color:#ffd700}
.spot-row{border-top:1px solid #242424;padding:5px 0}
.spot-names{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}
.spot-names button{background:#1b1b1b;border:0;color:#ff981f;font:11px Arial;padding:2px 5px;border-radius:2px;cursor:pointer}
.lookup-card{margin-top:6px}
.ot-row{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;border-top:1px solid #242424;padding:4px 0;font:12px Arial;color:#ddd}
.ot-row span:last-child{color:#a0a0a0}
.farm-row{border-top:1px solid #242424;padding:4px 0}
.farm-row summary{display:grid;grid-template-columns:1fr auto;gap:2px 8px;cursor:pointer;color:#ddd;font:12px Arial}
.farm-row summary span:nth-child(3){grid-column:1/-1}

/* Combat level line (RuneLite combatlevel), quest list filter and search (questlist), XP tracker buttons, bank value. */
.combat-line{margin-top:0}.combat-line small{display:block;font:12px RS;color:#ff981f}
.quest-filter{display:flex;gap:2px;justify-content:center;flex-wrap:wrap;margin:2px 0 4px}.quest-filter button{font:13px RS;color:#ff981f;background:#3e3529;border:1px solid #5a4d39;padding:1px 5px}.quest-filter button.on{color:#fff;background:#5a4d39}
.quest-search{width:100%;box-sizing:border-box;background:#332b20!important;border:1px solid #5a4d39;color:#ff981f;font:14px RS;padding:2px 4px;margin-bottom:4px}
.xp-buttons{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.xp-hide{font:11px Arial;color:#aaa;margin-top:6px;display:flex;gap:4px;align-items:center}
.bank-value{position:absolute;right:34px;top:7px;font:14px RS;color:#ff981f}
/* Opponent information (RuneLite opponentinfo): top centre, clear of the overlay panel; the name and a red/green bar. */
.game-hud .game-opponent{position:absolute;left:50%;transform:translateX(-50%);top:8px;z-index:6;min-width:130px;padding:4px 6px;background:rgba(62,53,41,.85);border:1px solid #1e1a14;outline:1px solid #5a4d39;font:12px RS;color:#fff;text-align:center;pointer-events:none}
.game-opponent b{font-weight:normal;display:block;margin-bottom:3px}.game-opponent small{color:#ff0;font:12px RS}
.opponent-hp{position:relative;height:15px;background:#900}.opponent-hp i{position:absolute;inset:0 auto 0 0;background:#0a0}.opponent-hp span{position:relative;font:12px RS;line-height:15px;text-shadow:1px 1px #000}
/* Worn items in a player lookup (World plugin): icon and name per worn slot. */
.lookup-worn-head{margin-top:6px}.lookup-worn{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:4px;margin:3px 0}
.lookup-worn-item{display:flex;flex-direction:column;align-items:center;gap:1px;background:#1e1e1e;border:1px solid #333;padding:2px}.lookup-worn-item small{font:10px Arial;color:#ccc;text-align:center;overflow-wrap:anywhere}
/* Boosts (RuneLite boosts): green when a skill is boosted, red when drained. */
.infobox.boost-up span{color:#0f0}.infobox.boost-down span{color:#f00}
/* Player lookup: a level where the player is ahead of every fleet account. */
.lookup-card .hs-cell.hs-ahead span{color:#ff5040}
/* Info plugin rows: a label column and a value column that wraps. */
.info-row{display:grid;grid-template-columns:7.5em 1fr;gap:2px 8px;font:11px Arial;color:#ccc;padding:2px 0}.info-row span:first-child{color:#999}
/* Phones: the chat toggle shows; an open chat takes the full width under the inventory, which rises above it. */
@media(max-width:479px){.chat-toggle{display:block}.game-chat{width:auto;right:0;min-width:0}.game-hud:not(.chat-hidden) .game-tabs{bottom:140px}}

.client-title .connection.warning-state{color:#f3b56b}
/* The focus switcher: the one control for what the 3D camera watches. */
.focus{position:relative;display:flex;align-items:stretch;height:22px;margin:0 auto;flex:none;border:1px solid #3c3c3c;border-radius:4px;background:#272727;transition:border-color var(--mo-2),box-shadow var(--mo-2)}
.focus:hover,.focus.open{border-color:#5a5a5a}.focus.flying{border-color:#dc8a00;box-shadow:0 0 0 1px #dc8a0055}
.client-title .focus button{border:0;background:none;color:#ddd;padding:0;font:12px Arial,sans-serif;cursor:pointer}
.client-title .focus-step{width:22px;color:#aaa;font-size:15px;line-height:1;transition:background var(--mo-1),color var(--mo-1)}.client-title .focus-step:first-child{border-radius:3px 0 0 3px}.client-title .focus-now+.focus-step{border-radius:0 3px 3px 0}
.client-title .focus-step:hover:not(:disabled){background:#3a3a3a;color:#ff981f}.client-title .focus-step:active:not(:disabled){background:#454545}.client-title .focus-step:disabled{color:#555;cursor:default}
.client-title .focus-now{display:flex;align-items:center;gap:7px;min-width:150px;max-width:210px;padding:0 8px;border-inline:1px solid #3c3c3c;transition:background var(--mo-1)}.client-title .focus-now:hover{background:#303030}
.focus-now svg{width:9px;height:6px;margin-left:auto;flex:none;fill:none;stroke:#999;stroke-width:1.5;transition:transform var(--mo-2)}.focus.open .focus-now svg{transform:rotate(180deg)}
.focus-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.focus-name.swap{animation:focus-swap var(--mo-3) var(--ease-out)}
.focus-dot{width:8px;height:8px;flex:none;border-radius:50%;box-sizing:border-box;border:1.5px solid #777;transition:background var(--mo-2),border-color var(--mo-2)}
.focus[data-state=on] .focus-now .focus-dot,.focus-row.live .focus-dot{background:#5fd35f;border-color:#5fd35f}.focus[data-state=on] .focus-now .focus-dot{animation:focus-pulse 2.4s ease-out infinite}
.focus[data-state=idle] .focus-now .focus-dot{background:#dc8a00;border-color:#dc8a00}.focus.flying .focus-now .focus-dot{background:#ff981f;border-color:#ff981f;animation:focus-pulse .8s ease-out infinite}
.focus[data-state=off] .focus-name{color:#999}.focus[data-state=free] .focus-now .focus-dot,.focus-row.free .focus-dot{border-style:dashed}
.focus-menu{position:absolute;top:calc(100% + 5px);left:50%;width:280px;margin-left:-140px;display:flex;flex-direction:column;max-height:min(420px,calc(100vh - 60px));background:#232323;border:1px solid #484848;border-radius:5px;box-shadow:var(--shadow-pop);visibility:hidden;opacity:0;transform:translateY(-6px) scale(.98);transform-origin:top center;transition:opacity var(--mo-1),transform var(--mo-2) var(--ease-out),visibility var(--mo-2);z-index:80}
.focus.open .focus-menu{visibility:visible;opacity:1;transform:none}
.focus-find{margin:7px;padding:5px 8px;background:#1a1a1a;border:1px solid #3c3c3c;border-radius:3px;color:#ddd;font:12px Arial,sans-serif;outline:0;transition:border-color var(--mo-1)}.focus-find:focus{border-color:#dc8a00}
.focus-list{overflow-y:auto;padding:0 4px 5px;scrollbar-width:thin;scrollbar-color:#555 transparent}.focus-list h6{margin:8px 6px 3px;font:600 10px Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:#888}.focus-none{margin:8px;color:#888;font-size:12px}
.client-title .focus-list .focus-row{display:flex;align-items:center;gap:8px;width:100%;min-height:26px;padding:3px 7px;border-radius:3px;text-align:left;transition:background var(--mo-1)}
.client-title .focus-list .focus-row:hover:not(:disabled),.client-title .focus-list .focus-row.hot{background:#333}.client-title .focus-list .focus-row.on{background:#3a2f1c;color:#ff981f}.client-title .focus-list .focus-row:disabled{color:#666;cursor:default}
.focus-row>span{flex:none;max-width:130px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.focus-row small{margin-left:auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#888;font-size:10px}
.focus-note{position:absolute;top:12px;left:50%;transform:translate(-50%,-10px);max-width:70%;padding:5px 14px;background:#1b1b1bd9;border:1px solid #4a3a1c;border-radius:4px;color:#ff981f;font:15px RS,serif;text-shadow:1px 1px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity var(--mo-2),transform var(--mo-3) var(--ease-out);pointer-events:none}
.focus-note.on{opacity:1;transform:translate(-50%,0)}.focus-note.flying::after{content:'';position:absolute;left:0;bottom:0;height:2px;width:35%;background:#ff981f;animation:focus-sweep 1.1s ease-in-out infinite}
/* The Fleet wall button, the last part of the switcher. */
.client-title .focus .focus-wall{padding:0 8px;border-left:1px solid #3c3c3c;border-radius:0 3px 3px 0;color:#aaa;transition:background .14s,color .14s}.client-title .focus .focus-wall:hover:not(:disabled){background:#3a3a3a;color:#ff981f}.client-title .focus .focus-wall:disabled{color:#555;cursor:default}
.client-title .focus .focus-wall[aria-pressed=true]{background:#3a2f1c;color:#ff981f}.client-title .focus-now+.focus-step:has(+.focus-wall:not([hidden])){border-radius:0}
/* The wall fills the 3D view: the panels of the one followed account stay out of it. */
.game-hud.wall-on>:not(.focus-note):not(.game-toast):not(.game-screen):not(.wall-chrome){display:none!important}
/* ==== Fleet wall tiling (start): the layout switcher, the frames the page draws over the views, and the key list ==== */
.client-title .focus .wall-tools{display:flex;align-items:stretch;border-left:1px solid #3c3c3c}.client-title .focus .wall-tools[hidden]{display:none!important}
.client-title .focus .focus-wall:has(+.wall-tools:not([hidden])){border-radius:0}
.client-title .focus .wall-tools button{display:grid;place-items:center;width:24px;padding:0;border-radius:0;color:#8f8f8f;transition:background .14s,color .14s,box-shadow .14s}.client-title .focus .wall-tools button:last-child{border-radius:0 3px 3px 0}
.client-title .focus .wall-tools button:hover{background:#3a3a3a;color:#ff981f}.client-title .focus .wall-tools button[aria-pressed=true]{background:#3a2f1c;color:#ff981f;box-shadow:inset 0 -2px #ff981f}
.wall-tools svg{width:12px;height:12px;fill:currentColor;pointer-events:none}.client-title .focus .wall-tools .wall-cycle{display:none}.client-title .focus .wall-tools .wall-help-button{border-left:1px solid #3c3c3c;font:700 12px Arial,sans-serif}
/* The frames. A frame is placed with left, top, width and height; the time (--wall-ms) and the start come from the viewer's
   move, and the curve is the viewer's ease-out cubic. --wall-fade is the opacity of a frame that opens or closes: a
   registered number, so it has a transition that runs in the page's frames like the others. Only the title strip takes
   the pointer. */
@property --wall-fade{syntax:'<number>';inherits:false;initial-value:1}
.wall-chrome{position:absolute;left:0;top:0;width:0;height:0;z-index:1;pointer-events:none;--wall-ms:240ms;--wall-ease:cubic-bezier(.3333,1,.6667,1)}
.wall-tile{position:absolute;left:0;top:0;pointer-events:none;container-type:inline-size;opacity:var(--wall-fade);transition:left var(--wall-ms) var(--wall-ease),top var(--wall-ms) var(--wall-ease),width var(--wall-ms) var(--wall-ease),height var(--wall-ms) var(--wall-ease),--wall-fade var(--wall-ms) var(--wall-ease)}
.wall-chrome.still .wall-tile{transition:none}
.wall-tile::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0a0a0a;pointer-events:none;transition:box-shadow .12s}
.wall-tile.wall-hover::after,.wall-tile:has(.wall-strip:hover)::after{box-shadow:inset 0 0 0 1px #8a744a}
.wall-tile.wall-focus{z-index:2}.wall-tile.wall-focus::after{box-shadow:inset 0 0 0 1px #ff981f,inset 0 0 0 2px #ff981f59,inset 0 0 16px #ff981f33}
.wall-strip{position:absolute;inset:0 0 auto;height:20px;display:flex;align-items:center;gap:5px;padding:0 1px 0 7px;overflow:hidden;white-space:nowrap;background:linear-gradient(#2d2d2df2,#1e1e1eeb);border-bottom:1px solid #0a0a0a;color:#e8dcc4;font:16px/20px RS,serif;text-shadow:1px 1px #000;pointer-events:auto;cursor:grab;touch-action:none;user-select:none}
.wall-tile.wall-main .wall-strip{box-shadow:inset 3px 0 #ff981f}.wall-tile.wall-focus .wall-strip{background:linear-gradient(#4b3b1ff2,#3a2f1ceb);color:#ff981f}
.wall-dot{width:7px;height:7px;flex:none;box-sizing:border-box;border:1.5px solid #777;border-radius:50%}.wall-dot.on{background:#5fd35f;border-color:#5fd35f}.wall-dot.idle{background:#dc8a00;border-color:#dc8a00}.wall-dot.finding{border-color:#ff981f;border-style:dashed}
.wall-name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:400}.wall-note{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;color:#9c917d}
.wall-num{flex:none;min-width:14px;height:14px;padding:0 2px;border:1px solid #4a4a4a;border-radius:2px;color:#a0a0a0;font:10px/12px Arial,sans-serif;text-align:center;text-shadow:none}.wall-num:empty{display:none}
.game-hud .wall-open,.game-hud .wall-pin{flex:none;display:grid;place-items:center;width:20px;height:19px;margin:0;padding:0;border:0;border-radius:0;background:none;color:#8f8f8f;cursor:pointer}.game-hud .wall-open:hover,.game-hud .wall-pin:hover{background:#ffffff1a;color:#ff981f}.wall-open svg,.wall-pin svg{width:11px;height:11px;fill:currentColor;pointer-events:none}
.game-hud .wall-pin{width:18px;opacity:0;transition:opacity .12s}.wall-strip:hover .wall-pin,.wall-pin:focus-visible,.wall-tile.wall-locked .wall-pin{opacity:1}.game-hud .wall-tile.wall-locked .wall-pin{color:#ff981f}.wall-tile.wall-locked .wall-strip{cursor:default}
.wall-chrome.dragging .wall-strip{cursor:grabbing}.wall-tile.wall-drag{opacity:.55}.wall-tile.wall-drop{z-index:3;background:#ff981f24}.wall-tile.wall-drop::after{box-shadow:inset 0 0 0 2px #ff981f,inset 0 0 22px #ff981f66}.wall-tile.wall-nodrop::after{box-shadow:inset 0 0 0 2px #b23b2e}
.wall-ghost{position:absolute;z-index:5;padding:1px 8px;border:1px solid #ff981f;border-radius:2px;background:#1e1e1ef2;color:#ff981f;font:16px/20px RS,serif;text-shadow:1px 1px #000;white-space:nowrap;pointer-events:none}.wall-ghost[hidden],.wall-grip[hidden]{display:none}
.wall-grip{position:absolute;z-index:4;pointer-events:auto;touch-action:none;cursor:col-resize}.wall-grip[data-side=row]{cursor:row-resize}.wall-grip.sizing{z-index:6}.wall-grip::before{content:'';position:absolute;inset:3px;background:#ff981f;opacity:0;transition:opacity .12s}.wall-grip:hover::before,.wall-grip.sizing::before{opacity:.85}
.wall-grip.sizing::after{content:attr(data-share);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:1px 6px;border:1px solid #ff981f;border-radius:2px;background:#1e1e1ef2;color:#ff981f;font:600 11px Arial,sans-serif;white-space:nowrap}
@container (max-width:180px){.wall-note{display:none}.wall-name{flex:1 1 auto}}
@container (max-width:132px){.wall-num{display:none}}
@media(hover:none){.game-hud .wall-pin{opacity:.7}}
@container (max-width:150px){.game-hud .wall-pin{display:none}}
@container (max-width:104px){.game-hud .wall-open{display:none}.wall-strip{gap:4px;padding:0 4px 0 5px;font-size:15px}}
@media(max-width:740px){.client-title .focus .wall-tools .wall-layout{display:none}.client-title .focus .wall-tools .wall-cycle{display:grid}.client-title .focus .wall-tools button{width:26px}}
/* A phone has no keyboard for the key list and no room for its button. The step buttons do nothing while the wall is
   open: they make room for the layout button. */
@media(max-width:479px){.client-title .focus .wall-tools .wall-help-button{display:none}.client-title .focus .wall-tools .wall-cycle{border-radius:0 3px 3px 0}.client-title .focus[data-state=wall] .focus-step{display:none}}
@media(prefers-reduced-motion:reduce){.wall-tile,.wall-tile::after{transition:none!important}}
/* ==== Fleet wall tiling (end) ==== */
.focus[data-state=wall] .focus-now .focus-dot{background:#ff981f;border-color:#ff981f;border-radius:1px}
@keyframes focus-swap{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes focus-pulse{0%{box-shadow:0 0 0 0 #5fd35f88}70%,100%{box-shadow:0 0 0 5px #5fd35f00}}
@keyframes focus-sweep{0%{left:-35%}100%{left:100%}}
@media(prefers-reduced-motion:reduce){.focus *,.focus-note{animation:none!important;transition:none!important}}
@media(max-width:740px){.client-title .focus-now{min-width:96px;max-width:124px}.client-title .focus .focus-wall{padding:0 6px}.client-title>span:not(.connection){min-width:0}.focus-menu{left:auto;right:0;width:min(280px,calc(100vw - 80px));margin-left:0}}
.client-title .focus-list .focus-tour{display:flex;align-items:center;gap:8px;width:100%;min-height:30px;margin-bottom:4px;padding:3px 7px;border-radius:3px;background:#3a2f1c;color:#ff981f;text-align:left}.client-title .focus-list .focus-tour:hover{background:#4a3c24}.focus-tour small{margin-left:auto;color:#b9a27c;font-size:10px}
.game-hud .visitor-card{position:absolute;left:50%;top:64px;z-index:46;width:min(420px,calc(100% - 16px));transform:translateX(-50%);padding:14px 16px;border:2px ridge #5b5243;border-radius:4px;background:#1e1a14f2;color:#e8dcc4;font:14px/1.4 var(--ui,sans-serif);text-shadow:none;pointer-events:auto}
.visitor-card h2{margin:0 0 6px;color:#ff981f;font:600 18px/1.2 var(--ui,sans-serif)}.visitor-card p{margin:0 0 8px}.visitor-card div{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.game-hud .visitor-card button{min-height:34px;margin:0;padding:6px 10px;border:1px solid #5b5243;border-radius:3px;background:#2c261c;color:#e8dcc4;font:600 13px var(--ui,sans-serif);cursor:pointer}.game-hud .visitor-card button:first-child{background:#ff981f;border-color:#ff981f;color:#1a1408}
@media(max-width:479px){.game-hud .visitor-card{top:190px}}
.client-plugin .panel.boards{height:auto!important;max-height:none!important;overflow:visible!important}.client-plugin .board-grid{grid-template-rows:none!important;grid-auto-rows:34px;max-height:none!important;overflow:visible!important}
.client-plugin-body .game-control{font:600 12px Tahoma,Arial,sans-serif!important;text-shadow:none}#rival-board{height:auto;min-height:30px;padding:4px 6px;line-height:1.3}.op-wide-setting{width:100%;max-width:190px}.game-panel select{width:100%;max-width:150px}
@media(max-width:740px){.client-title button,.client-title .focus-now,.client-plugin-title button{position:relative}.client-title button::after,.chat-toggle::after,.client-plugin-title button::after{content:'';position:absolute;inset:-8px -3px}.game-panel select{min-height:30px}.op-wide-setting{min-height:34px}}
/* The wall's notes go to the foot of the view, clear of the title strips at the top. */
.game-hud.wall-on .focus-note{top:auto;bottom:14px}
/* The race lines of the overlay box, under a thin rule. */
.game-overlay h4.race{margin:3px 0 1px;padding-top:2px;border-top:1px solid #0007}
/* As the 2004 client draws them: every stack count is yellow, also K and M; a quest name is white under the pointer. */
.game-hud .qty-k,.game-hud .qty-m,.game-bank .qty-k,.game-bank .qty-m{color:#ff0}
.game-list button[data-quest]:hover{color:#fff!important}
/* The side tabs as in the 2004 client: stats, quests, inventory and worn items above; friends, logout and options below. */
.game-hud .game-tabs .tab-row:first-of-type{grid-template-columns:repeat(4,34px)!important}
/* The side panels in the 2004 client's colours: yellow text and titles, a cyan title on the options, white friend names. */
.game-panel{color:#ff0}
.game-panel h3{font:16px RSBold;color:#ff0}
.game-panel h3.cyan{color:#0ff}
.game-hud .game-panel .friends-list button{color:#fff}
/* Worn items: 36 px slots at the 2004 places; an empty slot shows the 2004 picture of what it holds. */
.equipment-doll{width:190px;height:204px;margin:0 auto}
.equipment-slot{width:36px;height:36px;background:#5b5142}
.worn-icon{display:block;width:32px;height:32px;background:url('client-assets/wornicons.png') no-repeat;image-rendering:pixelated}
/* The chat buttons of the 2004 client: a white label with On in green or Off in red under it. A public sender's name is black. */
.game-hud .game-chat .chat-channels{height:auto;flex:none}
.game-hud .chat-channels button{color:#fff;line-height:13px}
.game-hud .chat-channels small{color:#0f0;line-height:11px}
.game-hud .chat-channels small.off{color:#f00}
.game-hud .chat-public b{color:#000}
/* The right-click menu of the 2004 client: a black title bar with the title in the body colour, bold options 15 px apart. */
.game-context{font:16px RSBold;box-shadow:none;padding:1px}
.game-context strong{background:#000;color:#5d5447;font:16px RSBold;height:16px;line-height:16px;padding:0 3px}
.game-context button{font:16px RSBold;line-height:15px;padding:0 4px}
/* The ammo infobox draws the item sprite where the other boxes draw an image. */
.infobox.ammo .ico{pointer-events:none}
/* A worn stack (arrows) shows its count as an inventory stack does. */
.equipment-slot .qty{position:absolute;top:0;left:1px;font:14px RS;text-shadow:1px 1px #000}
/* The inventory value line under the grid. */
.game-panel .inv-worth{margin:-3px 0 0;text-align:center;line-height:12px;color:#ff0;pointer-events:auto}
/* One of our names in a public chat line (RuneLite's chat notifications highlight). */
.game-hud .chat-hl{color:#f00}
/* A level mark on an XP bar that runs to a goal level. */
.xp-bar u{position:absolute;top:0;bottom:0;width:1px;background:#fff6;text-decoration:none}
/* Tick efficiency in the XP Tracker: one cell a tick, coloured as the Fleet timeline. */
.xp-ticks{display:flex;height:10px;margin:5px 0 4px;background:#0f0f0f;border-radius:2px;overflow:hidden}.xp-ticks i{flex:1 1 0;min-width:0}.xp-ticks-small{height:5px;margin:3px 0 2px}.xp-bad{color:#ff3a3a}.xp-pick-main{flex:1;min-width:0;display:flex;flex-direction:column}.xp-pick-line{display:flex;gap:8px}.xp-reset.on{color:#ff981f;border-color:#ff981f}
/* Quest Journal scope: this account or the whole fleet. */
.quest-scope{display:flex;gap:2px;margin:2px 0 4px}.quest-scope button{flex:1;font:13px RS;color:#ff981f;background:#3e3529;border:1px solid #5a4d39;padding:1px 5px}.quest-scope button.on{color:#fff;background:#5a4d39}.quest-fleet-row{display:flex;justify-content:space-between;gap:6px}.quest-accounts span{display:block;font:14px RS;padding:1px 4px}
/* Death recap: hitsplats as the game draws them (red, blue for a zero), a hitpoints bar per publication. */
.death-recap .xp-box{display:flex;flex-direction:column;gap:3px}.recap-label{font:11px Arial;color:#ff981f;margin-top:4px}.recap-hits{display:flex;flex-wrap:wrap;gap:3px}.hitsplat{min-width:20px;height:20px;border-radius:50%;background:#c00000;color:#fff;font:12px RSBold,Arial;display:grid;place-items:center;text-shadow:1px 1px #000;padding:0 2px}.hitsplat.zero{background:#2050c0}.recap-hp{display:flex;align-items:flex-end;gap:1px;height:28px;background:#0f0f0f;padding:2px}.recap-hp i{flex:1;background:#00c000;min-height:1px}.recap-items{display:flex;flex-wrap:wrap;gap:2px}.recap-item{position:relative;width:36px;height:32px;display:grid;place-items:center}.recap-actions{flex-wrap:wrap;gap:6px;justify-content:flex-start}.recap-foot{font-size:11px;margin:4px 0 0}
/* Item charges: the number in the icon corner, as RuneLite draws it. */
.item-charge{color:#ff0}
/* Party: one card per PK account, with the green hitpoints and blue prayer bars of the Party panel. */
.party-grid{display:grid;gap:4px}.party-card{width:100%;text-align:left;background:#242424;border:1px solid #333;border-left:3px solid #2bff2b;border-radius:3px;padding:5px 7px;color:#ccc;font:12px Arial;cursor:pointer}.party-card:hover{background:#2c2c2c}.party-card.party-alert{border-left-color:#ff3a3a}.party-bar{position:relative;height:12px;background:#0f0f0f;border-radius:2px;margin:3px 0;overflow:hidden}.party-bar i{position:absolute;inset:0 auto 0 0}.party-hp i{background:#0b8f0b}.party-prayer i{background:#2e7bd6}.party-bar span{position:absolute;inset:0;display:grid;place-items:center;font:10px Arial;color:#fff;text-shadow:1px 1px #000}
/* Collection log: categories down the side, the item grid lit for held items and grey for the others, as the RuneLite window. */
.clog{display:grid;grid-template-columns:minmax(96px,34%) 1fr;gap:6px;margin-top:6px}.clog-cats{display:flex;flex-direction:column;gap:1px;max-height:420px;overflow:auto}.clog-cats button{display:flex;justify-content:space-between;gap:4px;font:12px RS,Arial;background:#3e3529;color:#ff981f;border:1px solid #2a231b;padding:2px 5px;text-align:left;cursor:pointer}.clog-cats button.active{background:#5a4d39;color:#fff}.clog-cats button.clog-done span{color:#0dc10d}.clog-cats small{color:#c8b088}.clog-items{background:#3e3529;border:2px solid #2a231b;padding:4px;min-width:0}.clog-head{font:13px RSBold,Arial;color:#ff981f;margin-bottom:4px}.clog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:2px;max-height:380px;overflow:auto}.clog-item{display:grid;place-items:center;height:34px}.clog-item.clog-missing{opacity:.25;filter:grayscale(1)}
/* Loot and supplies: the Loot Tracker box, an item grid with stack numbers; supplies used have a red edge. */
.loot-box{margin-bottom:7px}.loot-grid{display:flex;flex-wrap:wrap;gap:2px;background:#3e3529;border:1px solid #2a231b;padding:3px;margin:4px 0}.loot-item{position:relative;width:36px;height:32px;display:grid;place-items:center}.loot-used{border-left:3px solid #c00000}
/* Respawn timers: the pie fills as the rock or tree comes back, as the RuneLite Mining plugin draws it. */
.respawn-row{align-items:center}.respawn-pie{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:5px;vertical-align:-1px;background:conic-gradient(#00c000 calc(var(--p)*1%),#c00000 0);border:1px solid #000}
