@font-face{font-family:OSRS Bold;src:url(../ui/RuneScape-Bold-12.ttf)}@font-face{font-family:OSRS Small;src:url(../ui/RuneScape-Plain-11.ttf)}@font-face{font-family:OSRS Plain;src:url(../ui/RuneScape-Plain-12.ttf)}:root{--orange: #ff981f;--yellow: #ffff00;--text: #ffffff;--muted: #c8b88f;--dim: #8f8264;--card: #3e3529;--card-hover: #4e4333;--edge: #1b1712;--edge-light: #6b5e4a;--red: #c62828;--green: #2bb52b;--shadow: 1px 1px 0 #000;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#000;color:var(--text);font-family:OSRS Plain,OSRS Small,sans-serif;font-size:16px;text-shadow:var(--shadow);overflow:hidden}#game{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#ui{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}#ui>*{pointer-events:auto}.rs-panel,.panel,.inventory,.prompt,.menu-box{background-image:url(../ui/interface-bg.png);border:6px solid;border-image:url(../ui/interface-border.png) 6 / 6px / 0 repeat;box-shadow:0 6px 30px #000000b3}.menu-box .row{display:flex;gap:8px}.menu-box .row button{flex:1;width:auto}button{font-family:OSRS Bold,sans-serif;font-size:16px;color:var(--orange);text-shadow:var(--shadow);background:var(--card);border:2px solid var(--edge);box-shadow:inset 0 0 0 1px var(--edge-light);padding:7px 16px;cursor:pointer}button:hover:not(:disabled){background:var(--card-hover);color:var(--yellow)}button:disabled{color:var(--dim);cursor:default}button.primary{font-size:22px;padding:12px 24px;color:var(--yellow)}button.primary:hover{color:#fff}input[type=text]{font:inherit;font-size:16px;color:var(--text);text-shadow:var(--shadow);background:#1e1a15;border:2px solid var(--edge);box-shadow:inset 0 0 0 1px var(--edge-light);padding:6px 10px}input[type=range]{accent-color:var(--orange)}.screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#00000080;gap:14px;overflow:auto}.screen.solid{background:#000 url(../ui/interface-bg.png);background-blend-mode:multiply;background-color:#5a5a5a}.screen.title{display:block;padding:0;background:none;overflow:hidden}.screen.title.layout-rail{background:linear-gradient(90deg,#00000073,#0000 35%,#0000 62%,#0000008c)}.screen.title.layout-card{background:linear-gradient(180deg,#00000080,#0000 22%,#0000 70%,#0009)}.screen.title h1{font-size:clamp(36px,5vw,60px);line-height:1;text-shadow:2px 2px 0 #000,0 0 18px rgba(0,0,0,.8)}.screen.title .subtitle{font-size:15px;max-width:420px}.title-left{position:absolute;left:40px;top:32px;display:flex;flex-direction:column;gap:12px}.record{width:min(380px,40vw);box-sizing:border-box;padding:10px 14px;display:flex;flex-direction:column;gap:4px}.record-name{font-family:OSRS Bold,sans-serif;font-size:18px;color:var(--yellow)}.record-line{font-family:OSRS Small,sans-serif;font-size:14px;color:var(--muted)}.record-line.grave{color:#c3b8ff}.record-line.notice{color:var(--yellow)}.record-line.with-icon{display:flex;align-items:center;gap:8px;color:var(--text)}.rail{position:absolute;right:40px;top:32px;width:min(400px,36vw);display:flex;flex-direction:column;gap:10px}.room{display:flex;align-items:center;gap:14px;height:58px;box-sizing:border-box;padding:6px 16px;font-size:20px;text-align:left}.room.primary{height:76px;padding:8px 16px;font-size:26px}.room-icon{width:36px;height:32px;flex:none;image-rendering:pixelated}.room-text{display:flex;flex-direction:column;gap:3px;min-width:0}.room-sub{font-family:OSRS Small,sans-serif;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title-foot{position:absolute;left:40px;right:40px;bottom:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.title-foot .hint{font-family:OSRS Small,sans-serif;color:var(--muted);text-align:right;max-width:50%}.row.small{display:flex;gap:8px}.row.small button{font-family:OSRS Small,sans-serif;font-size:13px;color:var(--text);padding:6px 12px}.row.small button.quiet{color:var(--muted)}.screen.title.layout-card h1{position:absolute;left:0;right:0;top:26px;text-align:center}.card-record{position:absolute;left:40px;top:130px;width:min(330px,30vw);padding:14px 16px;gap:10px}.card-record .record-name{font-size:24px}.record-grid{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-family:OSRS Small,sans-serif;font-size:14px}.record-grid .stat-label{color:var(--muted)}.record-grid .stat-value{color:var(--yellow);text-align:right}.record-rule{height:1px;background:var(--edge-light)}.card-tiles{position:absolute;right:40px;top:130px;width:min(420px,36vw);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card-tiles .room{flex-direction:column;justify-content:center;height:92px;gap:6px;padding:8px;font-size:19px;text-align:center}.card-tiles .room-icon{transform:scale(1.22);margin:4px 0}.playbar{position:absolute;left:40px;right:40px;bottom:28px;box-sizing:border-box;padding:12px 16px;display:flex;align-items:center;gap:14px}.playbar .primary{height:64px;padding:0 28px;font-size:26px}.playbar-note{font-family:OSRS Small,sans-serif;font-size:14px;color:var(--muted)}.chip{height:48px;padding:0 14px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}.chip-name{font-family:OSRS Bold,sans-serif;font-size:14px;color:var(--orange)}.chip:hover .chip-name{color:var(--yellow)}.chip-sub{font-family:OSRS Small,sans-serif;font-size:13px;color:var(--muted)}.chip-sub.grave{color:#c3b8ff}.playbar .spacer{flex:1}.icon-sprite{display:inline-block;width:36px;height:32px;flex:none;background-repeat:no-repeat;image-rendering:pixelated;filter:url(#icon-lift)}.room.primary .room-icon{transform:scale(1.22);margin:0 4px}.screen.side{align-items:flex-end;padding-right:4vw;cursor:grab;touch-action:none}.screen.side.dragging{cursor:grabbing}.screen.side .panel{cursor:default}.screen.side .panel{width:min(540px,90vw);max-height:88vh;overflow:auto;scrollbar-color:var(--edge-light) var(--edge)}.screen.side .panel .primary{margin-top:10px}.panel.settings{width:min(560px,92vw)}.setting{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--edge)}.setting label{flex:1;color:var(--orange)}.setting .stats{font-family:OSRS Small,sans-serif;color:var(--muted)}.setting input[type=range]{width:160px}.setting input[type=checkbox]{width:18px;height:18px;accent-color:var(--orange)}.panel.settings .subtitle{margin-top:10px}.screen h1{font-family:OSRS Bold,sans-serif;font-weight:400;font-size:40px;margin:0;color:var(--orange);text-shadow:2px 2px 0 #000}.screen h2,.panel h2{font-family:OSRS Bold,sans-serif;font-weight:400;font-size:20px;margin:0 0 8px;color:var(--orange);text-align:center}.subtitle{font-family:OSRS Small,sans-serif;color:var(--muted);margin-bottom:8px;text-align:center;max-width:640px}.panel{padding:14px 18px;min-width:280px}.columns{display:flex;gap:16px;align-items:flex-start;max-width:1100px;width:95vw}.columns>.panel{flex:1;max-height:70vh;overflow:auto;scrollbar-color:var(--edge-light) var(--edge)}.item-list{display:flex;flex-direction:column;gap:3px}.item-row{display:flex;align-items:center;gap:10px;padding:3px 6px;background:#00000040;border:1px solid var(--edge)}.item-row:hover{background:#00000073}.item-row .icon-sprite{flex:none}.item-row .name{flex:1;color:var(--orange)}.item-row .stats{font-family:OSRS Small,sans-serif;color:var(--muted)}.item-row button{padding:4px 10px;font-size:14px}.slots{display:grid;grid-template-columns:repeat(7,44px);gap:2px;padding:4px;background:#0003;border:1px solid var(--edge)}.slot{width:44px;height:40px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer}.slot .icon-sprite{pointer-events:none}.slot .count{position:absolute;left:4px;top:1px;font-family:OSRS Small,sans-serif;font-size:14px;color:var(--yellow)}.slot:hover{background:#ffffff14}.slot.empty{cursor:default}.equipment{display:grid;grid-template-columns:repeat(5,70px);gap:4px}.equip-slot{width:70px;height:60px;background:#00000040;border:2px solid var(--edge);box-shadow:inset 0 0 0 1px var(--edge-light);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:OSRS Small,sans-serif;font-size:14px;color:var(--dim);cursor:pointer}.equip-slot .icon-sprite{pointer-events:none}.equip-slot:hover{color:var(--yellow);background:#ffffff0f}.coins{color:var(--yellow)}.hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.hud>*{pointer-events:auto}.hud .top{position:absolute;left:16px;top:16px;width:300px}.bar{height:20px;background:var(--red);border:2px solid var(--edge);box-shadow:inset 0 0 0 1px var(--edge-light);overflow:hidden;position:relative}.bar .fill{height:100%;background:var(--green);transition:width .1s}.bar .label{position:absolute;top:0;right:0;bottom:0;left:0;text-align:center;font-family:OSRS Small,sans-serif;font-size:14px;line-height:16px}.spec-bar{margin-top:3px;height:12px;background:#23272e}.spec-bar .fill{background:#2f5f9e}.spec-bar.ready .fill{background:#4a8fe0}.spec-bar .label{font-size:11px;line-height:8px}.prayer-bar{margin-top:3px;height:12px;background:#2a2824}.prayer-bar .fill{background:#8a8266}.prayer-bar.on .fill{background:#d9b34a}.prayer-bar .label{font-size:11px;line-height:8px}.boss-bar{position:absolute;left:50%;top:16px;transform:translate(-50%);width:420px}.boss-bar .fill{background:#7a1010}.boss-bar .bar{background:#2b0d0d}.hud .floor{margin-top:6px;font-family:OSRS Bold,sans-serif;color:var(--orange)}.hud .hint{font-family:OSRS Small,sans-serif;color:var(--muted);margin-top:4px}.hud .clock{margin-top:2px;font-family:OSRS Small,sans-serif;color:var(--muted)}.hud .clock.urgent{font-family:OSRS Bold,sans-serif;color:#ff4040}.messages{position:absolute;left:16px;bottom:16px;display:flex;flex-direction:column;gap:2px;pointer-events:none}.messages div{font-family:OSRS Small,sans-serif;font-size:16px;color:var(--text)}.prompt{position:absolute;left:50%;bottom:110px;transform:translate(-50%);padding:8px 16px;font-family:OSRS Bold,sans-serif;color:var(--yellow)}.hotbar{position:absolute;left:50%;bottom:16px;transform:translate(-50%);display:flex;gap:6px}.hotslot{position:relative;width:44px;height:44px;background-image:url(../ui/interface-bg.png);border:3px solid;border-image:url(../ui/interface-border.png) 6 / 3px / 0 repeat;cursor:pointer}.hotslot .icon-sprite{position:absolute;left:4px;top:6px}.hotslot.empty .icon-sprite{opacity:.3}.hotslot.active{box-shadow:0 0 8px var(--green)}.hotslot .key,.hotslot .count,.hotslot .timer{position:absolute;font-family:OSRS Small,sans-serif;font-size:12px;text-shadow:var(--shadow);pointer-events:none}.hotslot .key{left:3px;top:1px;color:var(--orange)}.hotslot .count{right:3px;bottom:1px;color:#ff0}.hotslot .timer{right:3px;top:1px;color:var(--green)}.pause{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000008c}.pause[hidden]{display:none}.pause-box{display:flex;flex-direction:column;gap:8px;width:min(360px,92vw);padding:14px 16px}.pause-box h2{font-family:OSRS Bold,sans-serif;font-weight:400;font-size:24px;margin:0 0 4px;color:var(--orange);text-align:center}.pause-box .hint{font-family:OSRS Small,sans-serif;color:var(--muted);text-align:center}.pause .panel{max-height:88vh;overflow:auto;scrollbar-color:var(--edge-light) var(--edge)}.panel.stats,.panel.trade{width:min(600px,92vw)}.panel.trade h3{margin:10px 0 4px}.stat-row .value{min-width:80px;text-align:right;color:var(--yellow)}.stat-row .stats{flex:2}.minimap{position:absolute;right:16px;top:16px;width:176px;height:176px;border-radius:50%;border:4px solid var(--edge);box-shadow:0 0 0 2px var(--edge-light),0 4px 16px #0009;background:#000}.inventory{position:absolute;right:16px;top:216px;padding:12px}.inventory h3{margin:0 0 6px;font-family:OSRS Bold,sans-serif;font-weight:400;font-size:16px;color:var(--orange)}.panel.maps{width:95vw;max-width:900px;max-height:70vh;overflow:auto;scrollbar-color:var(--edge-light) var(--edge)}.map-row{padding:8px 10px}.map-row .name{display:flex;flex-direction:column;gap:2px}.map-row .map-name{font-family:OSRS Bold,sans-serif;font-size:18px}.map-row .stats{color:var(--muted)}.map-row .grave{color:#c3b8ff}.map-row.locked .map-name,.map-row.locked .stats{opacity:.55}.map-row .lock{color:var(--yellow);font-family:OSRS Small,sans-serif}.map-row .beaten{color:var(--green);font-family:OSRS Small,sans-serif;font-size:14px}.map-row button.primary{font-size:18px;padding:8px 20px}.swatches{display:flex;flex-wrap:wrap;gap:3px;max-width:330px}.swatch{width:20px;height:20px;padding:0;border:2px solid var(--edge);box-shadow:none}.swatch.selected{border-color:var(--yellow)}.field{display:flex;align-items:center;gap:10px;margin:8px 0}.field label{width:70px;color:var(--orange)}.summary-list{display:flex;flex-wrap:wrap;gap:4px;max-width:500px;justify-content:center;padding:6px;background:#0003;border:1px solid var(--edge)}.recap{display:flex;align-items:center;gap:16px;max-width:560px;padding:10px 14px;background:#00000040;border:1px solid var(--edge)}.recap-map canvas{display:block;width:180px;height:180px;border:2px solid var(--edge);box-shadow:inset 0 0 0 1px var(--edge-light)}.recap-lines{display:flex;flex-direction:column;gap:5px}.recap-lines .stats{font-family:OSRS Small,sans-serif;color:var(--muted)}.tasks-done{width:min(560px,92vw)}.item-row.done .name{color:var(--green)}.loading{font-family:OSRS Small,sans-serif;color:var(--muted)}.touch-zone,.touch-buttons,.rotate{display:none}@media(pointer:coarse){html,body{height:100dvh;overscroll-behavior:none;touch-action:manipulation}body{position:fixed;width:100%;overflow:hidden}#game,#ui{touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.screen,.inventory,.columns>.panel,.panel.maps{touch-action:pan-y}.hud .top,.boss-bar,.messages,.prompt{pointer-events:none}.touch-zone{display:block;position:absolute;left:0;top:0;width:55%;height:100%}.touch-stick{position:absolute;width:112px;height:112px;margin:-56px 0 0 -56px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:#00000040;pointer-events:none}.touch-stick[hidden]{display:none}.touch-knob{position:absolute;left:50%;top:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:#ffffffa6;box-shadow:0 2px 6px #00000080}.touch-buttons{display:flex;flex-direction:column;gap:10px;position:absolute;right:12px;bottom:calc(14px + var(--safe-bottom))}.touch-button{width:56px;height:56px;padding:0;border-radius:50%;font-size:14px;border:3px solid var(--edge);box-shadow:inset 0 0 0 1px var(--edge-light),0 2px 8px #0009}.touch-button:active{background:var(--card-hover);color:var(--yellow)}.hud .top{left:10px;top:calc(10px + var(--safe-top));width:min(300px,50vw)}.boss-bar{top:calc(96px + var(--safe-top));width:min(420px,60vw)}.minimap{width:110px;height:110px;right:10px;top:calc(10px + var(--safe-top))}.inventory{top:auto;bottom:calc(70px + var(--safe-bottom));left:50%;right:auto;transform:translate(-50%);padding:8px;max-height:calc(100dvh - 90px - var(--safe-bottom));overflow:auto;scrollbar-color:var(--edge-light) var(--edge)}.messages{top:calc(150px + var(--safe-top));bottom:auto;left:10px;max-width:58vw}.messages div{font-size:12px;line-height:14px}.hud .floor{font-size:14px;margin-top:3px}.hud .clock{font-size:11px}.prompt{font-size:14px;padding:5px 10px}.hotbar{bottom:calc(12px + var(--safe-bottom))}.prompt{bottom:calc(130px + var(--safe-bottom))}.columns{flex-direction:column;align-items:stretch;width:96vw}.columns>.panel{max-height:none;min-width:0}.screen{justify-content:flex-start;padding:calc(12px + var(--safe-top)) 0 calc(12px + var(--safe-bottom))}.screen.title h1{font-size:30px}.screen.title .subtitle,.title-foot .hint{display:none}.title-left{left:16px;top:12px;gap:6px}.record{width:270px;padding:5px 10px;gap:2px;background:none;border:none;box-shadow:none}.record-name{font-size:15px}.record-line{font-size:12px}.rail{right:14px;top:12px;width:250px;gap:6px}.room{height:46px;padding:4px 12px;gap:10px;font-size:16px}.rail .room.primary{position:fixed;left:16px;bottom:calc(14px + var(--safe-bottom));width:250px;height:60px;font-size:21px}.room-icon{width:28px;height:25px}.room.primary .room-icon{width:34px;height:30px}.room-sub{font-size:11px}.title-foot{left:286px;right:280px;bottom:calc(22px + var(--safe-bottom))}.row.small button{font-size:11px;padding:5px 8px}.screen.side{justify-content:flex-end;align-items:center;padding:0}.screen.side .panel{width:100vw;max-height:calc(50dvh - var(--safe-bottom));padding-bottom:calc(10px + var(--safe-bottom))}.panel.maps{max-height:none}.recap{flex-direction:column}}@media(pointer:coarse)and (orientation:landscape){.screen.side{justify-content:center;align-items:flex-end;padding:8px 8px 8px 0}.screen.side .panel{width:56vw;max-height:calc(100dvh - 16px);padding-bottom:10px}}@media(pointer:coarse)and (max-height:450px){.touch-button{width:50px;height:50px;font-size:13px}.touch-buttons{gap:8px}.minimap{width:90px;height:90px}}.rotate-block{display:none}@media(pointer:coarse)and (orientation:portrait){.rotate-block{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;align-items:center;justify-content:center;padding:24px;text-align:center;font-family:OSRS Bold,sans-serif;font-size:24px;color:var(--orange);text-shadow:2px 2px 0 #000;background:#000 url(../ui/interface-bg.png);background-blend-mode:multiply;background-color:#5a5a5a;touch-action:none}}.panel.coop{width:min(620px,92vw);box-sizing:border-box;display:flex;flex-direction:column;gap:8px}.panel.coop h3{margin:10px 0 2px;color:var(--orange)}.panel.coop input{width:150px;text-transform:uppercase;letter-spacing:2px}.party-code{display:flex;align-items:center;gap:12px}.party-code .code{font-family:OSRS Bold,sans-serif;font-size:30px;letter-spacing:5px;color:var(--yellow);text-shadow:2px 2px 0 #000}.member .ready{font-family:OSRS Small,sans-serif;color:var(--muted);min-width:72px;text-align:right}.member .ready.on{color:#6cf06c}.member.mine .name{color:var(--yellow)}.hud .party{margin-top:6px;display:flex;flex-direction:column;gap:3px;pointer-events:none}.hud .party .mate{font-family:OSRS Small,sans-serif;font-size:13px;color:var(--text);text-shadow:1px 1px 0 #000;display:flex;align-items:center;gap:6px}.hud .party .mate .bar{width:70px;height:7px;background:#7a0000;border:1px solid #000}.hud .party .mate .bar .fill{height:100%;background:#10c010}.hud .party .mate.gone{color:var(--muted)}.pack-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.pack-head h3{margin:0}.pack-head button.on{color:var(--yellow);border-color:var(--yellow)}.slot.dropping{outline:1px dashed rgba(255,220,80,.6);outline-offset:-1px}
