/* Original low-resolution fantasy client. All textures and glyphs are authored for Gods of the Abyss. */
@font-face{font-family:AbyssPixel;src:url('./assets/ui/abyss-pixel.ttf') format('truetype');font-display:swap}
:root{font-family:AbyssPixel,monospace;font-size:calc(18px * var(--ui-scale));--gold:#ffda63;--muted:#bdad8a;--line:#87734c66;color:#e8d2a3;background:#29271e;color-scheme:dark}
body{color:#e8d2a3;background:#29271e}button,input,select,h1,h2,h3,strong,.tagline,.contract-row strong,.recipe-row strong,.contract-mini strong,.ability span,.rank-badge,.character-seal,.combat-target strong{font-family:AbyssPixel,monospace;font-weight:400;letter-spacing:0}p{line-height:1.4}small{font-size:.82rem;line-height:1.25;color:var(--muted)}h1,h2,h3{color:#ffda63;text-shadow:1px 1px #1d180e;line-height:1.15}h2{font-size:1.65rem}h3{font-size:1.15rem}strong{color:#f2d6a2}button,input,select,.button-like{border-radius:0;transition:none;font-size:1rem}button{color:#e8cf95;border:2px solid;border-color:#9a8258 #30291e #30291e #9a8258;background:#5a4d35 url('./assets/ui/wood.png');box-shadow:inset 0 0 0 1px #6d5a38;padding:7px 13px;text-shadow:1px 1px #21190d}button:hover:not(:disabled){color:#ffff00;border-color:#b69c64 #4a3b23 #4a3b23 #b69c64;background:#69583a}button:active:not(:disabled){transform:none;border-color:#30291e #9a8258 #9a8258 #30291e}button.primary{background:#6a4a27 url('./assets/ui/wood.png');color:#ffe373;border-color:#b59657 #352818 #352818 #b59657}button.primary:hover:not(:disabled){background:#7b5932;color:#ffff83}button:disabled{opacity:.42}button.ghost{background:transparent;box-shadow:none;border-color:transparent}button.outline{background:#443a2b;color:#e6c681;border-color:#87734c}button.small{padding:4px 9px;font-size:.85rem}.round{border-radius:0}input,select{background:#302a20;border:2px inset #8c754c;box-shadow:none;color:#f6df9f;padding:6px 9px;min-height:36px}label{color:#d4bd90;font-size:.9rem;letter-spacing:0}label input,label select{margin-top:5px}input[type=color]{border:2px inset #8c754c}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #ffee79;outline-offset:2px}.gold{color:#ffdf63}.eyebrow,.section-label,.edition{font-size:.8rem;letter-spacing:0;color:#bd9c5e;font-weight:400}.notice{font-size:.85rem;padding:9px 12px;line-height:1.35;border:1px solid #8b73414a;border-left:2px solid #b1975c;background:#29231844;color:#c6b58e;margin:14px 0}.hint,.muted{color:#bcae8b}.hint{font-size:.8rem}.bar{height:5px;border-radius:0;background:#352a1e;border:1px solid #1d1b11}.bar i{background:#baa257;transition:none}.bar.health i{background:#159200}.bar.prayer i{background:#62a0b1}.bar.attack-speed i{background:#d8bc68}
/* Framed startup and dialogue screens. */
.shell-card,.modal,.landing,.creator-preview-controls{border:6px ridge #8b7b57;border-radius:0;background:#4b4434 url('./assets/ui/panel.png');box-shadow:0 0 0 1px #211e16,0 5px 15px #0008}.shell-card{padding:25px;max-height:92vh}.shell-card>h2{font-size:1.8rem}.shell-card.wide{width:780px}.modal{width:760px;max-height:88vh}.modal-body{padding:25px;max-height:86vh}.modal h2{font-size:1.65rem;margin-bottom:16px}.modal-backdrop{background:#13150b55;backdrop-filter:none;padding:15px}.modal-close{right:8px;top:8px;width:26px;height:26px;padding:0;font-size:25px;line-height:22px;color:#ffcc88;background:#6a3021;border:2px outset #aa7950;box-shadow:inset 0 0 0 1px #42291e}.modal-close:hover:not(:disabled){background:#8a3d25}.modal-body>.eyebrow{margin-bottom:5px}.service-portrait{float:right;width:115px;margin:10px 16px 12px 20px;text-align:center}.service-portrait img{display:block;width:96px;height:80px;image-rendering:pixelated;margin:auto}.service-portrait span{color:#ffe472;font-size:.85rem}.npc-dialogue{font-size:1rem;font-style:normal;color:#e8cd9c;border:0;padding-left:0;line-height:1.4}.modal .toolbar{clear:both}.guild-tabs{clear:both;margin:0 0 18px;padding-bottom:8px;gap:4px}.guild-tabs button{font-size:.85rem;padding:6px 9px}.loading{background:#28271f url('./assets/ui/stone.png')}.loading h2{font-size:2rem}.loading p{font-size:1rem;color:#d1b980}.loading-mark{color:#d1ad5c}.loading-track{height:12px;width:260px;border:2px inset #82714b;background:#211c13}.loading-track i{background:#8c2d1d;height:100%}
body[data-screen=login] #world{left:0;width:100%}body[data-screen=login] #world:after{background:#181b103d}body[data-screen=worlds] #world:after,body[data-screen=characters] #world:after{background:#201b1270;backdrop-filter:none}.landing{left:7%;top:50%;transform:translateY(-50%);width:420px;max-width:48vw;padding:25px;text-align:center}.landing h1{font-size:60px;line-height:1;margin:18px 0;color:#e9c666;letter-spacing:0}.landing h1 em{color:#caaa61}.landing .edition{font-size:13px;display:flex;justify-content:space-between;gap:5px}.landing .edition span{color:#a69772}.landing .gold-line{width:80%;height:2px;margin:0 auto 18px;background:#8c7349}.landing .tagline{font-size:22px;margin-bottom:14px}.landing .intro{font-size:16px;color:#c6b48d;line-height:1.4}.landing form{margin-top:20px;text-align:left}.join{display:block}.join input{width:100%}.join button{display:block;margin:12px auto 0;padding:9px 25px}.join button span{margin-left:10px}.landing .local-note{font-size:13px;line-height:1.35;color:#b2a07b}.landing-caption span{font-size:14px;letter-spacing:0}.landing-caption p{font-family:AbyssPixel;font-size:18px;color:#ecdaa7;text-shadow:1px 1px #000}.world-head,.world-row{grid-template-columns:1fr 160px 120px;border-color:#89764d66}.world-head{font-size:.8rem;letter-spacing:0;color:#c2a46c}.world-row{padding:16px 3px}.world-row .online{font-size:.85rem;color:#a9be7b}.world-name h3{font-size:1.1rem}.shell-card>.footer-row{font-size:.8rem;color:#b6a47e}.character-cards{gap:12px}.character-cards article{background:#302c2055;border:2px inset #786747;padding:20px 12px}.character-cards p{font-size:.9rem;color:#cdb995}.character-seal{border-radius:0;border:3px ridge #9c8251;background:linear-gradient(135deg,var(--accent),#393727);font-size:48px;height:80px;width:80px}.new-character h3{font-size:1.1rem}.new-character>span{color:#c1ae76}.creator-card{padding:20px}.creator-card h2{font-size:1.5rem}.creator-card label,.creator-card input,.creator-card select{font-size:16px}.creator-card .notice{font-size:15px}.creator-title h2{font-size:30px}.creator-title p{font-size:17px;text-shadow:1px 1px #000}.creator-title .eyebrow{font-size:14px}.creator-preview-controls{padding:10px}.preview-turn{font-size:17px}.preview-clips button{font-size:14px;background:#4f452f;padding:5px 9px}.preview-clips button.active{background:#7d3926;border-color:#bd9b5b}.creator-preview-controls p{font-size:13px;color:#c0af85}
/* Game client: framed world, local minimap, four-column inventory and parchment log. */
#scene{image-rendering:pixelated}#hud{height:54px;padding:7px 12px;background:linear-gradient(#1b21176e,transparent)}.location{gap:8px}.location-emblem{display:none}.location h2{font-size:20px;margin:2px 0 0;color:#ffe480;text-shadow:1px 2px #111}.location small{font-size:13px;letter-spacing:0;color:#e3d5ab;text-shadow:1px 1px #111}.hud-right{gap:9px}.rank-hud{gap:0}.rank-hud span{font-size:16px;color:#f0d393;text-shadow:1px 1px #111}.rank-hud small{font-size:12px;color:#c4b98e}.hud-right>.gold{font-size:16px;border:0;padding-left:0;text-shadow:1px 1px #111}.hud-right .round{height:28px;min-width:28px;width:28px;font-size:18px}
#sidebar,#minimap,#actionbar{background:#544b37 url('./assets/ui/stone.png');border:5px ridge #8b7c59;border-radius:0;box-shadow:inset 0 0 0 1px #282418}#side-content{padding:9px 10px;background:#49422f url('./assets/ui/panel.png');scrollbar-color:#8b7650 #30291e}#side-content .panel-heading{flex-direction:row;align-items:center;gap:5px;margin:0 0 10px}#side-content h3{font-size:19px}#side-content small{font-size:13px}#side-content .panel-heading small{font-size:12px}#side-content label{font-size:15px;margin-top:9px}#side-content select{font-size:14px;min-height:30px;padding:5px}#tabs{grid-template-columns:repeat(4,1fr);gap:2px;padding:3px;border-bottom:3px ridge #a08b59;background:#352e21}#tabs button{padding:3px 1px;gap:0;border:2px outset #8a744d;background:#5c4e35;color:#d6be87}#tabs button.active{border:2px inset #b08e52;background:#7e3925;color:#ffdf59}#tabs span{height:28px}#tabs .item-icon{width:30px;height:27px;image-rendering:pixelated}#tabs small{font-size:11px;color:inherit}.item-icon{image-rendering:pixelated;object-fit:contain;filter:none;width:40px;height:36px}.inventory-grid{gap:1px;padding:0;background:transparent;border:0}.item-cell{border:1px solid transparent;border-radius:0;background:none!important;padding:4px;box-shadow:none;aspect-ratio:1.18}.item-cell .item-icon{width:40px;max-width:100%;height:36px;max-height:100%}.item-cell:hover:not(:disabled){background:#b09e5b22!important;border-color:transparent}.item-cell.empty{background:transparent;border:0}.item-cell.selected{border:1px solid #e7d27b;background:#b5a36922!important}.item-cell>span{top:0;left:1px;right:auto;bottom:auto;font:14px AbyssPixel;color:#ffff00;text-shadow:1px 1px #17120b}.item-detail{border:1px solid #7b674743;background:#30291d55;padding:9px 4px;margin-top:12px}.item-detail>.item-icon{width:48px;height:43px}.item-detail h3{margin:4px 0 7px}.item-detail p{font-size:15px;color:#cabb92}.item-detail .button-row{margin-top:9px}.item-detail button{font-size:15px}.paperdoll{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,53px);gap:3px;padding:4px 16px;background:radial-gradient(ellipse,#94856635,transparent 70%)}.gear-position{text-align:center}.gear-slot{display:block;width:43px;height:38px;padding:1px;margin:auto;background:#302a1d66;border:2px inset #8b7852}.gear-slot.vacant{opacity:.3}.gear-slot .item-icon{width:36px;height:32px}.gear-position small{font-size:11px!important;text-transform:capitalize}.gear-head{grid-column:2;grid-row:1}.gear-cape{grid-column:1;grid-row:2}.gear-chest{grid-column:2;grid-row:2}.gear-main{grid-column:1;grid-row:3}.gear-legs{grid-column:2;grid-row:3}.gear-off{grid-column:3;grid-row:3}.gear-hands{grid-column:1;grid-row:4}.gear-feet{grid-column:2;grid-row:4}.stat-pair{font-size:13px;gap:8px;padding:8px 0;border-block:1px solid #83724e66;margin:10px 0;color:#ccb98d}.stat-pair b{color:#ffe36e;margin-left:3px}.skill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.skill-tile{position:relative;display:grid;grid-template-columns:27px 1fr;grid-template-rows:28px 13px;align-items:center;gap:0;padding:3px 2px 5px;min-width:0;overflow:hidden;background:#5b5037;border:2px outset #80704b}.skill-tile .item-icon{width:27px;height:27px;grid-row:1;grid-column:1}.skill-tile>span{grid-row:2;grid-column:span 2;font-size:10px;white-space:nowrap}.skill-tile b{grid-column:2;grid-row:1;font:18px AbyssPixel;color:#ffff00}.skill-tile b small{display:block;font:10px AbyssPixel!important;line-height:1;color:#bdaf85}.skill-tile>i{position:absolute;bottom:0;left:0;height:2px;background:#c6a951}.skill-summary{padding:22px;border:2px inset #8b7650;background:#30291d55}.skill-summary>b{font:30px AbyssPixel;color:#ffdd68}.skill-summary p{margin:16px 0}.contract-mini{gap:7px;padding:13px 0}.contract-mini strong{font-size:18px}.contract-mini p{font-size:14px;color:#c2b18b}
#minimap{padding:7px;background:#5c5341 url('./assets/ui/stone.png')}.minimap-title{font-size:13px;align-items:center;letter-spacing:0;color:#d7ba70;position:absolute;left:8px;right:8px;top:6px}.minimap-title span{font-size:11px;max-width:60px;text-align:left}.compass{width:28px;height:28px;border-radius:50%;padding:0;color:#e88359;font:18px AbyssPixel;border:3px ridge #a38b57;background:#3a3628}#minimap svg{width:168px;height:168px;display:block;margin:8px auto 4px;border-radius:50%;border:6px ridge #988459;background:#536240;cursor:crosshair}.camera-controls{display:flex;justify-content:center;gap:4px;margin-top:2px}.camera-controls .small{font-size:13px;background:#4b402d;padding:3px 10px;color:#debf7c}#journal{background:#c3ac77 url('./assets/ui/parchment.png');border:5px ridge #8c7b54;color:#292217;padding:6px 10px;overflow:hidden;max-height:none;box-shadow:inset 0 0 0 1px #635438;pointer-events:auto}.journal-heading{color:#5a3425;font-size:15px;margin-bottom:6px;border-bottom:1px solid #80663770;padding-bottom:4px;letter-spacing:0}.journal-heading span{color:#6e5a36;font-size:12px}#journal p{font-size:15px;line-height:1.2;color:#29291d;margin:3px 0}#journal p:last-child{color:#553b24}#actionbar{padding:7px}.vitals{gap:7px}.vitals span{font-size:11px;letter-spacing:0;color:#d4bf8c}.vitals b{font-size:12px;color:#f4d58d}.vitals .bar{height:5px}.actions{gap:3px;margin-top:6px}.actions .ability{padding:6px 2px 3px;background:#574a31;border:2px outset #877149;box-shadow:none}.ability span{font-size:14px;color:#edce86}.ability small{font-size:10px;margin-top:2px;color:#c2ad7e}.ability kbd{font:10px AbyssPixel;color:#ffe36c;left:3px;top:2px}.actions .ability.active{background:#62703b}.movement-row{margin-top:5px;gap:5px}.movement-row span{font-size:9px;letter-spacing:0}.run-toggle{font-size:12px;padding:3px 8px;background:#4d4a2f;border:1px solid #998457}.run-toggle.active{background:#62703b;color:#ffe56e}.run-toggle kbd{font:11px AbyssPixel}.quick-tab{font-size:14px;background:#54462e;border:2px outset #8d7950}.close-side{background:#6a3727!important}
/* Overhead combat, hover verbs and right-click actions. */
#target-hint{top:58px}.combat-target{width:190px;padding:7px 10px;background:#332c1edb;border:2px solid #7c6841;border-radius:0}.combat-target strong{font-size:17px;color:#ffe57a}.combat-target small{font-size:13px;color:#ddd0a3}.event-pill,.tether-pill{font-size:12px;letter-spacing:0;border-radius:0;background:#433b27df;color:#ecd48b;padding:4px 8px}.world-label,.world-label.gate-label,.world-label.npc-label,.world-label.building-label{background:transparent;border:0;box-shadow:none;padding:2px 4px;color:#ffff00;text-shadow:1px 1px #000,1px 2px #000;font:16px AbyssPixel;letter-spacing:0}.world-label.enemy,.world-label.resource{background:none;font:15px AbyssPixel}.world-label.enemy{color:#ffff00}.world-label.resource{color:#e6e19b}.world-label.depleted{color:#aba58a}.world-label:hover:not(:disabled){background:#25251770;border:0;color:#ffff83}.world-tooltip{position:fixed;top:57px!important;left:12px!important;padding:0;background:none;border:0;box-shadow:none;font:17px AbyssPixel;color:#ffff00;text-shadow:1px 1px #000;max-width:500px}.world-context{background:#5c5038;border:2px solid #2b2418;box-shadow:0 0 0 1px #af9862;padding:3px;min-width:205px;font:17px AbyssPixel}.world-context small{background:#30291c;color:#d4bb76;padding:4px 6px;font-size:16px}.world-context button{font:16px AbyssPixel;padding:5px;color:#e6d4a4;border:0;box-shadow:none;background:none}.world-context button:hover{color:#ffff00;background:#70613f}.world-health{pointer-events:none;position:absolute;transform:translate(-50%,-100%);width:32px;height:5px;background:#c00000;border:1px solid #15150c}.world-health i{display:block;height:100%;background:#00b500}.hit-splat{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:28px;height:30px;background:#bd160c;clip-path:polygon(45% 0,58% 14%,77% 5%,80% 27%,100% 37%,88% 55%,98% 74%,76% 78%,64% 100%,48% 88%,28% 98%,25% 78%,3% 71%,14% 51%,0 31%,23% 25%,28% 5%);color:white;font:19px AbyssPixel;text-shadow:1px 1px #390400;pointer-events:none}.hit-splat.miss{background:#125b9b}.hit-splat.player-hit{background:#bd160c}
/* Every service uses the same original material and pixel type system. */
.bank-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:7px;border:2px inset #7c6b49;background:#3a3325}.bank-item{display:flex;flex-direction:column;align-items:center;position:relative;padding:5px 2px;min-width:0;background:none;border:1px solid transparent;box-shadow:none}.bank-item .item-icon{width:40px;height:36px}.bank-item b{position:absolute;left:1px;top:0;color:#ffff00;font:14px AbyssPixel;text-shadow:1px 1px #18130b}.bank-item>span{font-size:11px;line-height:1.2;min-height:24px;color:#cdbb8f}.bank-item:hover:not(:disabled){border:1px solid #ab945b;background:#73623b55}.bank-columns{gap:20px}.bank-columns section>h3{font-size:21px}.shop-grid{grid-template-columns:repeat(4,1fr);gap:8px}.shop-grid article{padding:10px 8px 7px;background:#3e352555;border:2px inset #7f6b45;border-radius:0;text-align:center}.shop-grid .item-icon{width:48px;height:44px;margin:0 auto 8px}.shop-grid h3{font-size:16px;min-height:2.3em;margin-bottom:7px}.shop-grid small{font-size:12px;min-height:2.2em}.shop-grid .footer-row{margin-top:9px;gap:5px}.shop-grid .footer-row button{font-size:14px;padding:4px 8px}.shop-grid .gold{font-size:14px}.item-row strong{font-size:16px}.item-row .item-icon{width:40px;height:36px}.recipe-row{padding:12px 0;gap:13px}.recipe-row strong{font-size:19px}.recipe-row p{font-size:14px}.recipe-row small{font-size:14px}.have{color:#a9bf75}.missing{color:#df9773}.rank-progress strong{font-size:16px}.rank-badge{border:2px ridge #ad8e51;border-radius:0;color:#ffdb6c;background:#443a22;padding:6px 12px;font-size:18px}.rank-ladder{gap:4px}.rank-ladder span{font-size:14px;color:#a49576;padding:5px;border-color:#6a5c3f}.rank-ladder .earned{color:#f2ce70;background:#80633d55}.contract-row{padding:13px 0;gap:16px}.contract-row strong{font-size:20px}.contract-row small{font-size:14px}.floor{font-size:15px;padding:6px 0;background:#686544;border:1px solid #8c8b59;border-radius:0}.floor.locked{background:#332e21;color:#aa9b78}.floor.selected{background:#876b39;color:#ffff00;border-color:#ead18b}.floor-grid{gap:4px}.floor-detail{background:#302b2144;border:2px inset #85704b;border-radius:0;padding:16px}.floor-detail h3{font-size:24px}.floor-detail>p{font-size:16px;color:#c6b38b}.floor-detail>small{font-size:13px}.floor-legend{font-size:13px;color:#bca87e;gap:8px}.gate-summary{font-size:17px;color:#d3bc8d;gap:15px;margin:16px 0}.event-card,.task-card{background:#302a1c44;border:1px solid #7f6a49;padding:15px}.event-card.live{background:#7b773017;border-color:#b39a5e}.event-card h3{font-size:22px}.event-card p{font-size:16px;color:#c9b78e}.event-card .event-rewards{font-size:14px;color:#d7bd78}.event-card strong{font-size:16px;color:#d3d79c}.event-card .eyebrow{font-size:14px}.detail-line{font-size:16px}.detail-line span{color:#bba780}.detail-line b{color:#e3c88a}.market-form label{font-size:15px}.market-form select,.market-form input{font-size:16px}table{font-size:16px}th{font-size:14px;letter-spacing:0;color:#b9a376}td{color:#dcc799}th,td{padding:9px}summary{font-size:17px;color:#d3b97b}.journal-entry{font-size:16px;color:#c9b792}.settings-grid label{font-size:16px}.keybind-grid label{font-size:15px}.keybind-grid input{font-size:18px}.button-like{background:#51452f;border:2px outset #8c7650;color:#e1c78e}.town-map{border:3px inset #948158;background:#53663e;max-height:56vh}.town-map text{font-family:AbyssPixel;paint-order:stroke;stroke:#2c2b1e;stroke-width:.6px;stroke-linejoin:round}.town-map g:hover circle{fill:#ffff00}.map-destinations{gap:3px;margin-top:12px}.map-destinations button{font-size:15px;padding:6px 9px}#toast{background:#3c3220f2;border:3px ridge #ac9259;border-radius:0;color:#ffe09a;font:17px AbyssPixel;padding:9px 16px;box-shadow:0 3px 8px #0006}#toast.error{color:#ffb590;border-color:#a77d4d}
@media(min-width:1000px){body[data-screen=game] #world{right:264px;bottom:150px;border:4px ridge #8c7b55}#hud{right:268px}#minimap,body.side-open #minimap{display:block;left:auto;right:0;top:0;width:264px;height:220px}#sidebar,body.side-open #sidebar{display:flex;right:0;top:220px;bottom:0;width:264px;border-top:0}#tabs .close-side{display:none}#quick-panels{display:none}#actionbar{left:auto;right:264px;bottom:0;width:300px;height:150px;transform:none;border-left:0}#actionbar .actions{grid-template-columns:repeat(2,1fr)}#actionbar .movement-row>span{display:none}#actionbar .actions .ability{padding:4px 2px 3px}#journal{left:0;bottom:0;width:calc(100% - 564px);height:150px}#target-hint{left:calc((100% - 264px)/2)}#toast{left:calc((100% - 264px)/2);bottom:170px}}
@media(min-width:761px) and (max-width:999px){#sidebar{width:264px;bottom:205px}#journal{display:none}#minimap{width:190px}#minimap svg{width:150px;height:150px}#actionbar{width:450px}.landing{max-width:50vw}.rank-hud{display:none}}
@media(max-width:760px){:root{font-size:16px}.landing{width:400px;max-width:92vw;left:4%;top:50%;padding:20px}.landing h1{font-size:50px}.landing .edition{font-size:11px}.landing .intro{font-size:14px}.landing-caption{display:none}#hud{padding:6px 9px;height:49px}.location h2{font-size:17px}.location small{font-size:11px}.hud-right .gold{font-size:14px}#minimap{top:58px;right:8px;width:120px;padding:5px;border-width:3px}.minimap-title{top:3px;left:3px;right:3px}.minimap-title span{display:none}.compass{width:21px;height:21px;font-size:14px;margin-left:auto;border-width:2px}#minimap svg{width:98px;height:98px;border-width:3px;margin:3px auto}.camera-controls .small{font-size:10px;padding:3px 4px}#sidebar{top:58px;bottom:215px;right:8px;width:258px}#tabs button.close-side{display:block;position:absolute;right:0;top:-24px;height:23px;padding:0 9px!important}#tabs small{font-size:11px}#side-content{padding:8px}#side-content h3{font-size:18px}#actionbar{width:calc(100% - 18px);bottom:48px;padding:7px;border-width:3px}.actions .ability{padding:6px 3px 4px}.ability span{font-size:13px}.vitals b{font-size:11px}.movement-row>span{display:none}#quick-panels{bottom:6px;gap:3px}.quick-tab{padding:6px 8px;font-size:12px}#target-hint{top:65px;left:36%;max-width:47%}.combat-target{width:156px}.combat-target strong{font-size:15px}.combat-target small{font-size:12px}.world-tooltip{top:51px!important;left:9px!important;font-size:14px;max-width:65%}.world-label,.world-label.building-label,.world-label.npc-label,.world-label.gate-label{font-size:14px}.world-label.enemy,.world-label.resource{font-size:13px}.world-context button{font-size:16px}#journal{display:none}#toast{bottom:198px;font-size:16px}.modal{max-width:98vw;max-height:94vh;border-width:4px}.modal-body{padding:20px 15px;max-height:92vh}.modal h2{font-size:25px}.service-portrait{width:84px;margin:12px 8px 8px 10px}.service-portrait img{width:77px;height:64px}.service-portrait span{font-size:12px}.shop-grid{grid-template-columns:repeat(3,1fr);gap:5px}.shop-grid article{padding:8px 5px}.shop-grid h3{font-size:14px}.shop-grid small{font-size:11px}.shop-grid .footer-row{flex-wrap:wrap;justify-content:center}.shop-grid .item-icon{width:40px;height:36px}.bank-columns{gap:12px}.bank-item>span{font-size:10px}.guild-tabs{gap:3px;flex-wrap:wrap}.guild-tabs button{font-size:13px;padding:5px 8px}.contract-row strong{font-size:17px}.contract-row button{font-size:14px}.contract-row small{font-size:13px}.recipe-row strong{font-size:17px}.recipe-row .item-icon{width:36px}.recipe-row p{font-size:12px}.floor-legend{font-size:12px}.rank-ladder span{font-size:12px}.gate-summary{font-size:15px}.map-destinations button{font-size:14px}.creator-title{display:block}.creator-title h2{font-size:23px}.creator-preview-controls{border-width:3px}.creator-card{border-width:4px}.creator-card input,.creator-card select,.creator-card label{font-size:14px}.creator-card .form-grid{gap:8px}.preview-turn{font-size:13px}.preview-clips button{font-size:11px;padding:3px 5px}.character-cards{grid-template-columns:1fr}.world-head,.world-row{grid-template-columns:1fr 110px}.world-head span:nth-child(2){display:none}.world-row .online{display:none}.world-name{gap:5px}.shell-card{padding:20px}.shell-card.wide h2{font-size:28px}}
@media(max-height:680px) and (min-width:1000px){#minimap,body.side-open #minimap{height:188px}#minimap svg{height:137px;width:137px}#sidebar,body.side-open #sidebar{top:188px}.landing{padding:18px}.landing h1{font-size:50px;margin:12px 0}.landing .intro{display:none}.inventory-grid .item-cell{padding:3px}.item-detail{padding:6px 3px;margin-top:6px}}
.high-contrast #sidebar,.high-contrast #minimap,.high-contrast #actionbar,.high-contrast #side-content{background:#171710;color:#fff}.high-contrast .world-label{color:#fff;background:#171710}.high-contrast #journal{background:#e8d9b0}.reduced-motion *{transition:none!important}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}

/* Durable resources and permanent gathering tools. */
.toolbelt{border-top:1px solid #8d7a56;margin-top:14px;padding-top:9px}.toolbelt-row{display:flex;align-items:center;gap:6px;padding:7px 0;border-bottom:1px solid #675b42}.toolbelt-row>div{min-width:0;flex:1}.toolbelt-row strong,.toolbelt-row small,.toolbelt-row b{display:block}.toolbelt-row small{font-size:11px;line-height:1.3}.toolbelt-row b{font-size:11px;color:#e0c481}.toolbelt-row button{padding:4px;font-size:11px}.gather-tiers{font-size:11px;width:100%}.gather-tiers th,.gather-tiers td{padding:4px 2px}.resource-target small{display:block;line-height:1.4}.resource-bar i{background:#d0ad54}.world-health.resource-health i{background:#c4a44d}.hit-splat.resource-hit{background:#7b622b;border-color:#e3cb83}

/* Quiet rewards stay below the horizon; major progression gets a distinct seal. */
.feedback-feed{position:fixed;left:50%;top:100px;transform:translateX(-50%);width:min(410px,calc(100vw - 36px));z-index:35;pointer-events:none;display:flex;flex-direction:column;gap:6px;text-align:center}
.feedback-feed[hidden]{display:none}.feedback-card{padding:9px 16px;background:linear-gradient(90deg,transparent,#282a22ed 14%,#282a22ed 86%,transparent);color:#e8dfba;text-shadow:1px 1px #171b15;line-height:1.3}.feedback-card strong{display:block;font-size:15px}.feedback-card small{display:block;color:#c5c6b3;margin-top:3px;font-size:12px}.feedback-card.quiet{padding:5px 12px}.feedback-card.quiet strong{font-size:12px;color:#c7d6a4}.feedback-card.major{border-block:2px solid #baa465;padding:15px 24px;background:linear-gradient(90deg,transparent,#383125f5 10%,#383125f5 90%,transparent)}.feedback-card.major strong{font-size:23px;color:#f1d58c}.feedback-card.milestone{border-bottom:1px solid #9c8b50}.feedback-card.discovery strong{font:italic 19px Georgia,serif;color:#d8dfce}.feedback-card.discovery small{font-style:italic;line-height:1.5}.hit-splat{will-change:transform,opacity}.world-health i{transition:width .18s ease}.reduced-motion .world-health i{transition:none}@media(max-width:760px){.feedback-feed{top:90px;width:min(290px,calc(100vw - 28px))}.feedback-card.major strong{font-size:18px}.feedback-card{padding:7px 10px}}
.journal-select{display:flex;gap:5px;flex-wrap:wrap;margin:14px 0}.journal-select button{min-width:34px;padding:7px}.journal-select .selected{border-color:#d4b26a;color:#f6dda0}.journal-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.journal-columns ul{padding-left:20px;line-height:1.8}.unknown{color:#8f8b7e;font-style:italic}.known{color:#e0d3b2}@media(max-width:600px){.journal-columns{grid-template-columns:1fr;gap:0}}
.location{min-width:0}.location>div{min-width:0}.location h2{max-width:min(48vw,540px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.world-label.dungeon,.world-label.cache{color:#e8d49c;border-color:#b2a06a}.world-label.poi{color:#c0c8b7}@media(max-width:650px){.location h2{max-width:48vw}}
/* Combat supplement: original spell glyphs, clear requirements, compact panels. */
#tabs{grid-template-columns:repeat(5,1fr)}.spell-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:10px 0}.spell-tile{padding:4px 2px;min-width:0;display:flex;align-items:center;flex-direction:column;background:#3f3a29;border:1px solid #7e6f48}.spell-tile span{font-size:11px;line-height:1.1;min-height:25px}.spell-tile small{font-size:10px}.spell-icon{width:36px;height:36px;flex-shrink:0}.spell-tile.locked .spell-icon{filter:grayscale(1);opacity:.4}.spell-tile.selected{border:2px solid #dfbf69;background:#5e5030}.spell-state{font-size:12px;color:#dcc385;padding:8px;background:#28271e}.spell-detail{padding:12px 4px;border-top:2px ridge #988253}.spell-detail p{font-size:13px;line-height:1.4}.spell-detail>button{width:100%;margin:6px 0}.spell-detail>small{display:block;line-height:1.4}.rune-requirements{display:grid;gap:4px}.rune-requirements span{display:flex;justify-content:space-between;font-size:13px;text-transform:capitalize}.have{color:#b8ce8c}.missing{color:#e2a18b}.combat-options,.prayer-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:9px 0}.combat-options button,.prayer-grid button{padding:8px 4px;font-size:13px}.combat-options small,.prayer-grid small{display:block;font-size:10px;line-height:1.3;margin-top:4px}.combat-stats{width:100%;font-size:13px;margin:10px 0;border-collapse:collapse}.combat-stats th,.combat-stats td{padding:5px 3px;border-bottom:1px solid #766444;text-align:left;text-transform:capitalize}.combat-target .small{padding:2px 6px;font-size:11px}.weakness-note{color:#b9cee2}.attack-warning{color:#fff2bd!important;background:#633b2de8!important;border-color:#dfbb73!important;padding:5px 10px!important;font-size:13px!important}

/* Keep the five game tabs and six touch shortcuts inside narrow viewports. */
#tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
#tabs button{min-width:0}
#tabs small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#side-content{min-height:0;min-width:0}
@media(max-width:999px){#quick-panels{left:9px;right:9px;transform:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}#quick-panels .quick-tab{min-width:0;padding:6px 2px;font-size:12px;white-space:normal;overflow-wrap:anywhere}}
@media(max-width:360px){#quick-panels .quick-tab{font-size:11px}}

@media(max-width:999px) and (max-height:560px){body.side-open #sidebar{top:32px;bottom:56px;max-height:none}body.side-open #actionbar,body.side-open #target-hint{visibility:hidden}}
/* Installed clients and online controls share the existing responsive HUD. */
.account-modes{display:flex;gap:8px;margin:12px 0}.account-modes button{flex:1;min-height:40px}.password-field{display:grid;gap:6px;margin-top:10px}.register-field{display:flex;align-items:center;gap:8px;font-size:13px;margin-top:10px}.register-field input{width:auto}.install-button{min-height:40px}.landing .local-note{margin:10px 0}.landing .intro{margin-bottom:12px}
#network-state{position:absolute;left:14px;top:88px;padding:4px 9px;background:#22251ed9;color:#b9d9a5;font:11px Arial,sans-serif;pointer-events:none;border:1px solid #6d7152}#network-state[data-status=reconnecting]{color:#f1c56a}
#chat-toggle{position:absolute;bottom:158px;left:16px;pointer-events:auto;min-height:32px}
#world-chat{position:absolute;left:16px;bottom:200px;width:min(360px,calc(100vw - 32px));max-height:45dvh;background:#29281ff5;border:2px solid #8f7b4a;box-shadow:0 5px 24px #0008;pointer-events:auto;z-index:50;color:#e0d1aa}#world-chat header{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;font-weight:bold;border-bottom:1px solid #65583f}#world-chat header button{min-height:32px;min-width:32px}#chat-feed{height:140px;max-height:25dvh;overflow:auto;padding:8px;font:13px/1.45 Arial,sans-serif;overflow-wrap:anywhere}#chat-feed p{margin:4px 0}#chat-feed strong{color:#c6d9a9}#chat-form{display:flex;padding:8px;gap:6px;border-top:1px solid #65583f}#chat-form input{min-width:0;flex:1;min-height:38px}#chat-form button{min-height:38px}.player-name{position:absolute;transform:translate(-50%,-50%);color:#b9edba;font:12px Arial,sans-serif;text-shadow:0 1px 3px #000,1px 0 2px #000;white-space:nowrap;pointer-events:none}
@media(max-width:999px){#network-state{top:65px;left:9px;font-size:10px}#chat-toggle{left:9px;right:auto;top:88px;bottom:auto;min-height:34px;font-size:11px}#world-chat{bottom:100px;left:12px}.landing .intro{display:none}.landing .tagline{font-size:18px;margin:12px 0}.landing h1{font-size:clamp(38px,9vw,66px)}.landing .edition{font-size:10px}.landing .local-note{font-size:11px}.landing .join{display:flex;flex-wrap:wrap}.landing .join input{min-width:0;flex:1}.landing .join button{min-height:42px}.account-modes{margin:8px 0}}
@media(max-height:620px){body[data-screen=login] #screen{overflow:auto}.landing{padding-top:20px;padding-bottom:24px}.landing .tagline,.landing .intro,.landing-caption{display:none}.landing h1{font-size:42px;line-height:.95}.landing .gold-line{margin:10px 0}.landing .local-note{font-size:10px;margin:8px 0}.account-modes button{min-height:34px}}
@supports(padding:env(safe-area-inset-top)){#hud{padding-top:max(10px,env(safe-area-inset-top))}#quick-panels{bottom:max(9px,env(safe-area-inset-bottom))}#world-chat{margin-left:env(safe-area-inset-left)}}
/* Keep the longer account form reachable when the mobile keyboard is open. */
body[data-screen=login] #screen{overflow-y:auto}.landing{max-height:calc(100dvh - 32px);overflow-y:auto}
@media(max-height:620px){.landing{top:16px;transform:none;max-height:calc(100dvh - 32px)}}

@media(max-width:999px){body.side-open #chat-toggle{visibility:hidden}}
