#game #social-town .commission-ui{position:absolute;inset:0;z-index:65;color:#ede2c7;font:13px/1.5 "Microsoft YaHei",sans-serif;pointer-events:none}#game #social-town .commission-ui[hidden],#game #social-town .commission-ui [hidden]{display:none!important}#game #social-town .commission-ui button{font:inherit;color:inherit;background:#243943;border:1px solid #819086;border-radius:5px;min-width:44px;min-height:44px;padding:6px 12px;touch-action:manipulation;cursor:pointer}#game #social-town .commission-ui button:focus-visible{outline:2px solid #f3d898;outline-offset:2px}#game #social-town .commission-ui button:disabled{opacity:.45;cursor:default}#game #social-town .commission-ui button[aria-pressed=true]{border-color:#e4cb8c;background:#4b5949}#game #social-town .commission-ui h2,#game #social-town .commission-ui h3,#game #social-town .commission-ui p{margin:0}#game #social-town .commission-board{pointer-events:auto;position:absolute;inset:12px max(12px,calc((100% - 980px)/2));display:flex;flex-direction:column;min-height:0;background:#21323dfc;border:1px solid #b6a776;border-radius:9px;box-shadow:0 12px 60px #081921a8;overflow:hidden}#game #social-town .commission-board>header{display:flex;align-items:center;justify-content:space-between;padding:7px 12px;border-bottom:1px solid #73877877;flex-shrink:0}#game #social-town .commission-board h2{font-size:19px;font-weight:500}#game #social-town .commission-board small{font-size:11px;color:#bbcab8}#game #social-town .commission-board-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(135px,.7fr) minmax(0,2fr);gap:14px;padding:10px 14px}#game #social-town .commission-offers,#game #social-town .commission-details{overflow:auto;min-height:0;overscroll-behavior:contain;touch-action:pan-y}#game #social-town .commission-offers{display:flex;flex-direction:column;gap:6px}#game #social-town .commission-offers button{text-align:left;flex-shrink:0}#game #social-town .commission-offers small,#game #social-town .commission-offers strong{display:block}#game #social-town .commission-details h3{font-size:16px;color:#e6d39a;margin:3px 0 7px}#game #social-town .commission-details p{line-height:1.7;max-width:64ch}#game #social-town .commission-details ul{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:5px 12px}#game #social-town .commission-details li{display:flex;flex-wrap:wrap;justify-content:space-between;border-top:1px solid #76857555;padding-top:4px;font-size:12px}#game #social-town .commission-details li span{color:#baceb6}#game #social-town .commission-rewards{display:flex;gap:4px 12px;flex-wrap:wrap;color:#cfb983;margin-top:8px;font-size:12px}#game #social-town .commission-board footer{border-top:1px solid #73877877;padding:7px 12px;display:flex;align-items:center;gap:12px;flex-shrink:0}#game #social-town .commission-board footer p{flex:1;font-size:11px;color:#c4cfbf}#game #social-town .commission-actions{display:flex;gap:6px;flex-shrink:0}
#game.commission-open .world-shell,#game.commission-open .world-agenda,#game.commission-open .social-header,#game.commission-open .social-hint,#game.commission-open .social-stick,#game.commission-open .social-connection,#game.commission-open .coop-hud{display:none!important}#game #social-town .commission-crew,#game #social-town .commission-objective,#game #social-town .commission-tools,#game #social-town .commission-skills,#game #social-town .commission-stick,#game #social-town .commission-interact,#game #social-town .commission-notice{position:absolute;pointer-events:auto}#game #social-town .commission-crew{top:10px;left:12px;width:152px;display:flex;flex-direction:column;gap:4px;pointer-events:none}#game #social-town .commission-crew>div{background:#1d303bd9;padding:4px 8px;border-radius:5px}#game #social-town .commission-crew strong{font-size:12px;display:block}#game #social-town .commission-crew small{font-size:10px;font-weight:normal}#game #social-town .commission-crew meter{display:block;width:100%;height:5px;margin:2px 0}#game #social-town .commission-objective{top:10px;left:50%;transform:translateX(-50%);width:clamp(180px,34vw,340px);background:#1d303bd9;padding:6px 10px;border-radius:5px;pointer-events:none}#game #social-town .commission-objective strong{font-size:13px}#game #social-town .commission-objective p{font-size:11px;color:#d0d9c1;line-height:1.4}#game #social-town .commission-objective progress{width:100%;height:5px}#game #social-town .commission-tools{right:12px;top:10px;display:flex;gap:4px}#game #social-town .commission-tools button{padding:5px;font-size:11px}#game #social-town .commission-stick{bottom:18px;left:25px;width:104px;height:104px;border:1px solid #bdd3aecc;background:#1b353fe0;box-shadow:0 2px 8px #071a2266,inset 0 0 0 3px #718f7833;border-radius:50%;touch-action:none;display:grid;place-items:center}#game #social-town .commission-stick i{width:43px;height:43px;border:1px solid #ede3b3e6;background:#9db98ff2;box-shadow:0 1px 5px #071a2266;border-radius:50%;pointer-events:none}#game #social-town .commission-skills{bottom:14px;right:16px;display:grid;grid-template-columns:repeat(3,54px);grid-template-rows:repeat(2,54px);gap:7px;align-items:center}#game #social-town .commission-skills button{height:54px;width:54px;border-radius:50%;padding:4px;position:relative;background:#234a50d9;touch-action:none}#game #social-town .commission-skills svg{width:30px;height:30px;fill:none;stroke:#dbe7cc;stroke-width:1.5}#game #social-town .commission-skills span{display:block;font-size:10px;line-height:1;white-space:nowrap}#game #social-town .commission-skills small{position:absolute;top:10px;left:0;right:0;font-size:16px;text-shadow:0 1px 3px #000;color:#ffe1a0}#game #social-town .commission-skills [data-com-skill=attack]{grid-column:3;grid-row:1 / span 2;width:66px;height:66px;background:#8c8253d9}#game #social-town .commission-skills [data-com-skill=attack] svg{width:39px;height:39px}#game #social-town .commission-interact{bottom:26px;left:50%;transform:translateX(-50%);max-width:230px;background:#cbbb87!important;color:#233138!important;font-size:12px!important}#game #social-town .commission-notice{bottom:83px;left:50%;transform:translateX(-50%);width:34%;max-width:400px;background:#1d303bf2;border-radius:4px;padding:4px 6px;box-sizing:border-box;font-size:11px;line-height:1.5;text-align:center;text-shadow:0 1px 3px #071c21;pointer-events:none}#game #social-town .commission-notice:empty{display:none}#game #social-town .commission-recovery{position:absolute;inset:0;background:#172a35d9;pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:25px;text-align:center}#game #social-town .commission-recovery h2{font-size:19px}#game #social-town .commission-recovery p{max-width:50ch}
@media(max-height:520px){#game #social-town .commission-board{inset:8px 12px}#game #social-town .commission-board>header{padding:3px 10px}#game #social-town .commission-board h2{font-size:16px}#game #social-town .commission-board>header small{display:none}#game #social-town .commission-board-body{padding:7px 10px;gap:10px}#game #social-town .commission-board footer{padding:5px 10px}#game #social-town .commission-details p{font-size:12px}#game #social-town .commission-details ul{margin-top:7px}#game #social-town .commission-details h3{font-size:14px;margin-bottom:4px}#game #social-town .commission-crew{width:132px;top:8px;left:10px;gap:2px}#game #social-town .commission-crew>div{padding:2px 6px}#game #social-town .commission-crew small{line-height:1}#game #social-town .commission-tools{top:8px;right:8px}#game #social-town .commission-objective{top:8px;width:32%;padding:4px 7px}#game #social-town .commission-skills{right:20px}}
@media(max-width:650px){#game #social-town .commission-crew{width:116px}#game #social-town .commission-objective{left:43%;width:29%}#game #social-town .commission-tools button{min-width:44px;padding:3px}#game #social-town .commission-tools{gap:2px}#game #social-town .commission-skills{grid-template-columns:repeat(3,46px);grid-template-rows:repeat(2,46px);gap:5px;right:20px;bottom:12px}#game #social-town .commission-skills button{height:46px;width:46px}#game #social-town .commission-skills svg{width:25px;height:25px}#game #social-town .commission-skills [data-com-skill=attack]{width:56px;height:56px}#game #social-town .commission-stick{width:90px;height:90px;left:16px;bottom:15px}#game #social-town .commission-interact{max-width:180px;bottom:19px;left:46%}#game #social-town .commission-board-body{grid-template-columns:128px minmax(0,1fr)}#game #social-town .commission-details ul{grid-template-columns:1fr}#game #social-town .commission-board footer{gap:6px}#game #social-town .commission-actions{gap:4px}#game #social-town .commission-actions button{font-size:11px;padding:5px 8px}}
@media(max-height:520px){#game #social-town .commission-crew>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 4px}#game #social-town .commission-crew>div>meter{grid-row:2;grid-column:1 / span 2}#game #social-town .commission-crew>div>small{font-size:10px;overflow:hidden;white-space:nowrap}#game #social-town .commission-crew strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#game #social-town .commission-crew strong small{display:none}}
@media(max-height:310px){#game #social-town .commission-crew>div>small{font-size:9px}#game #social-town .commission-objective strong{font-size:12px}#game #social-town .commission-objective p{font-size:10px}}

#game.commission-open #social-town>:not(canvas):not(.commission-ui){display:none!important}
@media(min-height:650px){#game #social-town .commission-board{top:50%;bottom:auto;height:min(560px,calc(100% - 32px));transform:translateY(-50%)}}
#game #social-town .commission-crew meter::-webkit-meter-bar{background:#122a34;border:0;border-radius:1px}
#game #social-town .commission-crew meter::-webkit-meter-optimum-value{background:#acd1a4}
#game #social-town .commission-recovery.is-result{background:#172a35db;gap:12px}
#game #social-town .commission-recovery.is-result h2{font-size:20px;color:#ead7a4}
#game #social-town .commission-recovery.is-result p{width:min(420px,85%);max-height:45%;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;text-align:left;font:13px/1.7 "Microsoft YaHei",sans-serif;white-space:pre-line}
#game #social-town .commission-recovery.is-result button{min-width:120px;flex-shrink:0}
@media(max-height:310px){#game #social-town .commission-recovery.is-result{gap:8px;padding:16px}#game #social-town .commission-recovery.is-result h2{font-size:17px}#game #social-town .commission-recovery.is-result p{max-height:110px;font-size:12px}}
@media(max-height:310px){#game #social-town .commission-crew strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#game #social-town .commission-crew strong small{display:none}}
#game #social-town .commission-mana{display:flex;align-items:center;gap:4px;grid-column:1 / -1;font:10px/14px "Microsoft YaHei",sans-serif;color:#bedee9;white-space:nowrap}
#game #social-town .commission-mana meter{flex:1;min-width:12px;width:auto;grid-row:auto;grid-column:auto}
#game #social-town .commission-mana meter::-webkit-meter-optimum-value{background:#80c6df}
#game #social-town .commission-mana meter::-moz-meter-bar{background:#80c6df}
@media(max-height:310px){#game #social-town .commission-crew>div{grid-template-columns:minmax(0,1fr) auto}}

/* Short landscape screens use the existing objective for transient feedback. */
@media(max-height:520px){#game #social-town .commission-notice{display:none}}

/* Class charge stays inside the existing skill hit target. No new HUD panel. */
#game #social-town .commission-skills .commission-charge{position:absolute;top:4px;left:50%;transform:translateX(-50%);display:flex;gap:3px;pointer-events:none}
#game #social-town .commission-charge i{display:block;width:5px;height:5px;border:1px solid #d7d7ae;border-radius:1px;background:#182f37}
#game #social-town .commission-charge i.filled{background:#e6d390;border-color:#fff0b8}
#game #social-town .commission-skills button[data-charge-ready=true]{border-color:#f1d792;box-shadow:0 0 0 2px #e2c47866,inset 0 0 12px #e2c47844}
#game #social-town .commission-skills button[data-class-active=true]{border-color:#b9e2cf;box-shadow:inset 0 0 0 2px #8ac5b277}

#game #social-town .commission-brief{margin-top:8px;border-top:1px solid #73877866}
#game #social-town .commission-brief summary{min-height:44px;box-sizing:border-box;padding:12px 0;color:#cbbb87;cursor:pointer;touch-action:manipulation}
#game #social-town .commission-brief summary:focus-visible{outline:2px solid #f3d898;outline-offset:-2px}
#game #social-town .commission-brief p{padding-bottom:8px}
