/* Shared surface and text treatment. Layout and input contracts stay in styles.css. */
:root{--ink-deep:#0b1b25;--ink-raised:#18323c;--trim-soft:#a8956980;--type-light:#ecede3;--type-muted:#b0c1be;--accent-gold:#e2c88c}
.frame{border-color:var(--trim-soft);background:linear-gradient(135deg,#1c343ff2,#0d202aed 72%);box-shadow:inset 0 1px #e9dfb320,inset 0 0 0 3px #06131c55,0 9px 26px #02101855;outline-color:#08161dcc}
.frame:before,.frame:after{border-color:#d6bd7b99}
.panel-heading{color:#f1dca6;letter-spacing:.025em;border-bottom-color:#b6c3ba2b}
.nameplate{font-weight:550;text-shadow:0 1px 2px #07121be6,0 0 5px #07121bd9;line-height:1.45}
.nameplate .label-name{padding:1px 5px;border-radius:3px;background:#081a2366}
.nameplate.npc .label-name{color:#f4dfad;background:linear-gradient(90deg,#162c3300,#10212bb3 18%,#10212bb3 82%,#162c3300);padding:3px 9px}
.nameplate.player .label-name{color:#eef3dc}
.mini-hp{box-shadow:0 1px 2px #0008;border-color:#182a32}
.quest-mark{color:#ffe2a0;text-shadow:0 0 8px #c89d5b77,0 2px 2px #07121b}
.skill{border-color:#91a7a390;background:radial-gradient(ellipse at 45% 12%,#54778377,#213c49 48%,#122733);box-shadow:inset 0 0 0 2px #091923,inset 0 3px 9px #abcace1a,0 2px 5px #020d1688}
.skill:hover{border-color:#ecdb9e;filter:brightness(1.1)}
.skill .ability-art{filter:drop-shadow(0 2px 2px #04111ee6)}
/* Muted cloth keeps a narrow edge while its broad planes carry the figure. */
.skill.is-unavailable svg.ability-art[data-glyph-class="rogue"][data-glyph-action="dash"] [data-icon-part="dash-figure"]{stroke:#c6bbd0;stroke-width:1.1;paint-order:stroke fill}
.skill>span{color:#f0e5cb;text-shadow:0 1px 2px #06121f;font-weight:600;background:linear-gradient(#10252ed9,#091923f2);border-top:1px solid #a6b9ad24;line-height:16px;white-space:nowrap;letter-spacing:0}
.hotbar{border-color:#a3946999;background:linear-gradient(#263d44e8,#0c2029f0);box-shadow:0 8px 22px #04111b55,inset 0 1px #f4e2ad22}
.skill-tooltip{border-color:#bdab77;background:#122b36f5;box-shadow:0 8px 25px #02101a77}
.skill-tooltip span{color:#c0ceca}
.cooldown{background:#03111a61;backdrop-filter:none}
.cooldown-text{top:auto;bottom:1px;left:auto;right:2px;min-width:0;max-width:none;padding:0 1px;border:0;border-radius:0;background:none;font:650 11px/14px system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:0;color:#fff3d0;text-shadow:none;white-space:nowrap}
.cooldown-text:empty{display:none}
.hotbar .skill.health>small,.hotbar .skill.mana>small{left:3px;right:auto}
.skill-state{position:absolute;z-index:3;left:2px;bottom:1px;padding:0 1px;border:0;border-radius:0;background:none;color:#edd9ab;font:650 9px/14px system-ui,sans-serif;white-space:nowrap;pointer-events:none}
.skill-state:empty{display:none}.skill[data-unavailable-reason="MP"] .skill-state{color:#b2d9ee;border-color:#95bdd078}
.hotbar .skill:after{content:"";position:absolute;left:2px;right:2px;bottom:1px;height:var(--skill-state-row);border-top:1px solid #a4b9b429;background:#071c2699;pointer-events:none;z-index:2}
.player-card strong{color:#f1ddb0;letter-spacing:.015em}
.player-card .crest{background:radial-gradient(#6d725451,#1a354200);border-color:#b8a06d66}
.quest-button strong{color:#f2dfb4}.quest-button span{color:#d2ded1}.quest-button small{color:#b0c6ba}
.tutorial{background:#122b35e8;border-color:#8aa49b66;color:#c6d5cb}
.chat-log{color:#c1d2ca}.chat-tabs{color:#c6d5c6}.chat-tabs .active{color:#eed59e}
.controls-hint{color:#c3cebe;text-shadow:0 1px 3px #06151fe6}
.minimap-ring{background:linear-gradient(145deg,#2c4647,#0e2630);border-color:#b9a16c;box-shadow:0 5px 18px #04111c66,inset 0 0 0 2px #061720}
.zone-title{color:#f0dbab;text-shadow:0 2px 4px #071624e6}.zone-sub{color:#c6d6c6}
.zone-sub,.connection,.controls-hint,#action-state{color:#e0e9dc;text-shadow:0 1px 2px #061925,0 0 4px #061925,1px 0 #061925,-1px 0 #061925}
.modal{border-color:#b5a373;background:linear-gradient(130deg,#203b46f7,#102732fa);box-shadow:0 20px 70px #0008,inset 0 1px #e7d7a92e}
.modal-head{border-bottom-color:#b3ba9b40}.modal-head h2{color:#f3dda8}
.primary{background:linear-gradient(#496e63,#234a46);border-color:#c5ac73;color:#f5ebd0;box-shadow:inset 0 1px #e5e6c22e,inset 0 0 0 2px #1b383e}
.primary:disabled{filter:saturate(.3);color:#c1c3b4;opacity:.58}
.secondary{background:linear-gradient(#2d4650,#1b323c);border-color:#83988999;color:#dce3d3}
.game-menu button{color:#d4dfd2}.game-menu button svg{color:#d8c188}
.origin-choice{background:linear-gradient(145deg,#29495499,#112c3899);border-color:#75928d77}.origin-choice.is-selected{border-color:#dfc686;box-shadow:inset 0 0 18px #c9b57115,0 0 0 1px #ab946647}
.start-intro,.guest-hint{color:#c1d1c6}.guest-choice{background:linear-gradient(120deg,#29444e99,#142c3699)}
@media(min-width:900px){.nameplate{font-size:12px}.quest-button span{font-size:12px}.skill>span{font-size:11px}.chat-log{font-size:11px}.controls-hint{font-size:10px}}
@media(max-width:650px){
  .skill>span{font-size:9px;line-height:16px;left:1px;right:1px}
  .cooldown-text{right:2px;font-size:11px;line-height:14px}
  .skill-state{left:2px;font-size:9px;line-height:14px}
}
@media(prefers-reduced-motion:reduce){.skill,.primary,.secondary{transition:none}}
