:root{color-scheme:dark;font-family:Arial,sans-serif;background:#000;color:#ddd;-webkit-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;overflow:hidden;overscroll-behavior:none}
#mouse-tooltip,#rune-pouch-tooltip{position:absolute;z-index:4;pointer-events:none;max-width:350px;padding:3px 5px;background:#3e3529f5;border:1px solid #111;color:#fff;font:12px/1.3 Arial;box-shadow:1px 1px 2px #0008}
#notes{tab-size:2;white-space:pre-wrap;overflow-wrap:break-word}
.item-infobox{position:absolute;z-index:3;width:40px;height:40px;background:#292929cc;border:1px solid #777;transform-origin:top left;text-align:center}.item-infobox canvas{margin:auto}.item-infobox span{position:absolute;bottom:2px;left:0;right:0;color:white;text-shadow:1px 1px #000;font:bold 11px/12px Arial;pointer-events:none}#inventory-viewer{position:absolute;z-index:3;display:grid;grid-template-columns:repeat(4,36px);gap:4px 6px;padding:6px;background:#292929bb;border:1px solid #555;pointer-events:none;transform-origin:top left}#inventory-viewer canvas{width:36px;height:32px}
#client-shell{width:100vw;height:100vh;height:100dvh;display:flex;flex-direction:column;background:#242424}
header,footer{display:flex;align-items:center;gap:16px;padding:4px 10px;background:#191c20;flex:none}header{height:32px}header strong{font-size:13px;letter-spacing:3px;color:#8bcfff}header span,footer{font-size:11px;color:#aab1b8}header nav{margin-left:auto;display:flex;gap:6px}
button{background:#353535;color:#ddd;border:1px solid #171717;border-radius:2px;padding:6px 9px;cursor:pointer;font:12px Arial}header button{padding:3px 8px}button:hover{background:#454545;color:white}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #8bcfff;outline-offset:-2px}
#client-body{display:flex;flex:1;min-width:0;min-height:0;background:#000}#game-viewport{position:relative;flex:1;min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden}#game-surface{position:relative;flex:none;isolation:isolate;line-height:0;max-width:100%;max-height:100%}canvas{display:block;max-width:100%;height:auto;outline:none;image-rendering:pixelated}#game-canvas{position:relative;z-index:1}#hd-canvas,#game-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#hd-canvas{z-index:0}#game-overlay{z-index:2}
.game-info{position:absolute;z-index:3;background:#161a1de8;border:1px solid #73716b;padding:7px;color:#eee;font:12px/1.4 Arial;pointer-events:none}#opponent-overlay{left:10px;top:10px;width:175px;text-align:center}#opponent-overlay strong{display:block}#opponent-health{display:block;width:100%;height:16px;accent-color:#42b459}#boosts-overlay{left:10px;top:85px}
aside{width:240px;flex:none;padding:9px;background:#282828;border-left:1px solid #111;font-size:12px;line-height:1.5;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#555 #222}.sidebar-collapsed aside{display:none}
.panel-tabs{width:34px;flex:none;background:#202020;border-left:1px solid #111;display:flex;flex-direction:column;align-items:stretch;gap:1px}.panel-tabs button{border:0;border-radius:0;width:33px;height:36px;padding:6px 5px;background:transparent;font-size:13px}.panel-tabs button:hover{background:#373737}.panel-tabs [aria-selected=true]{background:#454545;border-left:2px solid #8bcfff}.panel-tabs img{width:22px;height:22px;object-fit:contain;image-rendering:pixelated}.sidebar-collapsed .panel-tabs [aria-selected=true]{background:transparent;border:0}
h2{font-size:14px;margin:0 0 12px;font-weight:normal}p{color:#b4b8bc}dt{font-size:11px;color:#a1a9b0}dd{margin:0 0 12px}
#plugin-search{width:100%;margin-bottom:10px;background:#1e1e1e;border:1px solid #555;padding:7px;color:#ddd;border-radius:2px}
.plugin-entry{display:grid;grid-template-columns:1fr 27px 24px;align-items:center;min-height:43px;margin-bottom:4px;border:1px solid #181818;background:#333}.plugin-title{background:none;border:0;padding:8px 6px;text-align:left;font-size:12px;line-height:1.3}.plugin-title small{display:block;color:#aaa;font-size:10px;margin-top:3px}.plugin-entry input[type=checkbox]{appearance:none;width:22px;height:12px;border:1px solid #151515;border-radius:2px;background:#191919;position:relative;cursor:pointer}.plugin-entry input[type=checkbox]:before{content:'';position:absolute;width:8px;height:8px;left:1px;top:1px;background:#777}.plugin-entry input:checked{background:#634718}.plugin-entry input:checked:before{left:11px;background:#e8ad42}.settings-button{background:transparent;border:0;padding:4px;font-size:15px}.settings-button img,#settings-back img{width:16px;height:16px;object-fit:contain}
.settings-heading{display:flex;align-items:center;gap:8px;margin-bottom:15px}.settings-heading h2{margin:0}.settings-heading button{padding:3px 7px;font-size:20px}.setting-group{border:0;margin:0 0 12px;padding:0}.setting-group legend{width:100%;border-bottom:1px solid #555;color:#eda945;padding:6px 0;margin-bottom:6px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;flex-wrap:wrap}.setting-row input[type=number]{width:68px}.setting-row input,.setting-row select{background:#1b1b1b;color:#ddd;border:1px solid #555;padding:4px;max-width:100%}.setting-row input[type=checkbox]{accent-color:#dba446;width:15px;height:15px}.setting-row input[type=color]{padding:0;width:30px;height:22px}.setting-row input[type=text]{width:100%}.setting-row small{display:block;width:100%;color:#999;font-size:11px}.profile-note{font-size:10px;color:#aaa}
.hd-controls{font-size:12px}.hd-controls label{display:block;margin:8px 0 14px}.hd-controls input[type=range]{width:100%;accent-color:#dba446}.hd-controls output{float:right;color:#eee}.hd-controls input[type=checkbox]{accent-color:#dba446}
details{font-size:11px;color:#bbb;margin-top:14px}summary{cursor:pointer}.xp-row{padding:8px 0;border-bottom:1px solid #444}.xp-row header{display:flex;justify-content:space-between;background:none;padding:0;height:auto;font-size:12px}.xp-row small{color:#aaa}#reset-xp,#settings-reset{margin-top:14px}#notes{width:100%;min-height:300px;height:calc(100dvh - 110px);resize:none;background:#1e1e1e;color:#ddd;padding:8px;line-height:1.5;border:1px solid #555}
#boot-panel{position:absolute;inset:0;display:grid;place-items:center;background:#101820}h1{font-size:22px;color:#8bcfff}#runtime-error{display:none;position:absolute;inset:15px;background:#35191a;color:#ffcdcc;overflow:auto;padding:15px;white-space:pre-wrap;font-size:13px;z-index:5}#text-input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;left:0;bottom:0}footer{height:22px;justify-content:space-between}#render-diagnostics pre{white-space:pre-wrap;overflow-wrap:anywhere;font:10px/1.6 monospace;color:#c8d9e6}@media(max-width:850px){header span{display:none}aside{width:220px}header{gap:4px}}
/* Keep all three canvas layers at one scale, including landscape + keyboard. */
#hd-status:empty{display:none}
#game-canvas{width:100%;height:100%;touch-action:none}
#game-viewport{min-height:0}
#keyboard{display:none}
/* This unscaled input drives native game text. A normal 16px font avoids iOS
   focus auto-zoom; do not disable user zoom in the viewport meta tag. */
#text-input{font:16px/24px Arial;width:200px;max-width:90%;height:32px;left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);border:0;padding:0}
.compact-client{position:fixed;left:var(--visible-left,0);top:var(--visible-top,0);width:var(--visible-width,100vw)!important;height:var(--visible-height,100dvh)!important;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.compact-client #client-body{position:relative}
.compact-client #keyboard{display:block}
.compact-client header{height:40px;padding:3px 6px;gap:4px}
.compact-client header span{display:none}
.compact-client header button{min-height:32px;padding:5px 7px;touch-action:manipulation}
.compact-client header strong{font-size:11px;letter-spacing:1px}
.compact-client aside{position:absolute;right:34px;top:0;bottom:0;z-index:10;width:min(280px,calc(100% - 34px));max-width:calc(100% - 34px);overscroll-behavior:contain}
.compact-client .panel-tabs{z-index:11}
.compact-client input:not([type=checkbox]):not([type=range]):not([type=color]),.compact-client textarea,.compact-client select{font-size:16px!important}
.compact-client #notes{height:calc(var(--visible-height,100dvh) - 140px);min-height:120px}
.compact-client footer{min-width:0;font-size:10px;padding:3px 6px}
.compact-client #boot-status{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compact-client #frame-rate{flex:none}
@media(max-width:360px){.compact-client #capture{display:none}}
/* Game-only shell: no branding/connection strips consuming vertical space. */
#client-shell{position:relative;flex-direction:row}
#client-shell.compact-client{position:fixed}
.client-tools{width:30px;flex:none;display:flex;flex-direction:column;gap:2px;background:#202020;border-right:1px solid #111}
.client-tools button{width:29px;min-height:36px;padding:4px 2px;border:0;border-radius:0;background:transparent;font-size:20px;touch-action:manipulation}
.client-tools button:hover{background:#373737}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#frame-rate{position:absolute;left:38px;bottom:5px;z-index:4;pointer-events:none;font:11px Arial;color:#fff;text-shadow:0 1px 2px #000,1px 0 2px #000}
#fullscreen-help{position:absolute;left:38px;right:40px;bottom:8px;z-index:20;max-width:560px;padding:12px;background:#222e;color:#fff;font:14px/1.4 Arial;border:1px solid #777}
.compact-client .client-tools{width:34px}
.compact-client .client-tools button{width:33px;min-height:42px}
