.character-skill-window[hidden]{display:none!important}.character-skill-window{position:fixed;z-index:32;color:#e4d5a4;isolation:isolate}.cs-stage{position:absolute;top:0;left:0;transform-origin:0 0;box-sizing:border-box;border:1px solid #bd9a45;border-radius:3px;background:#080b07;box-shadow:inset 0 0 0 3px #3d2c13,0 4px 18px #000a;overflow:hidden;font:11px/1.35 'TG Vietnamese Serif',Georgia,serif}.character-skill-window button{box-sizing:border-box;min-height:0;min-width:0;margin:0;border:1px solid #7d6837;border-radius:1px;color:#e4d5a4;background:#241c10;font:inherit;cursor:pointer;padding:3px 5px;box-shadow:none}.character-skill-window button:focus-visible{outline:2px solid #f2d47d;outline-offset:-2px}.cs-heading{position:absolute;left:3px;right:3px;top:3px;height:25px;display:grid;place-items:center;border-bottom:1px solid #a8873e;background:linear-gradient(100deg,#20180d,#2a2114,#16130b);font-size:16px;font-weight:bold;color:#e8d399}.cs-heading button{position:absolute;right:2px;top:1px;width:23px;height:23px;padding:0;font:23px/20px Georgia,serif}.cs-status-body{position:absolute;left:9px;right:9px;top:36px;bottom:8px;display:flex;flex-direction:column;gap:7px}.cs-identity{display:flex;gap:9px;align-items:center;min-height:64px;padding:4px;border:1px solid #6e5a30;background:#11150d}.cs-identity img{width:64px;height:64px;object-fit:contain;border:1px solid #9b803d}.cs-identity strong{font-size:13px;color:#a8e564}.cs-identity p{margin:2px 0}.cs-stat-block{display:grid;grid-template-columns:1fr 1fr;column-gap:10px;row-gap:5px;border:1px solid #54482a;padding:6px;background:#0c1009}.cs-stat{display:flex;align-items:center;justify-content:space-between;gap:3px;min-width:0;font-size:10px}.cs-stat span{white-space:nowrap;color:#d5c49b}.cs-stat b{min-width:0;overflow-wrap:anywhere;text-align:right;color:#e4d77e;font-size:10px}.cs-source-note{margin:0;color:#a99c78;font-size:9px}.cs-tree-tabs{position:absolute;top:35px;left:9px;right:9px;display:flex;gap:3px}.cs-tree-tabs button{flex:1;height:23px;padding:1px;font-size:10px}.cs-tree-tabs [aria-selected=true]{border-color:#d7b35c;background:#4a371b;color:#fff0b7}.cs-assign-hint{position:absolute;top:63px;left:10px;right:10px;color:#bdae84;font-size:10px}.cs-tree{position:absolute;top:86px;bottom:35px;left:11px;right:11px;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:49px;gap:2px 6px;align-content:start;overflow:auto;scrollbar-width:thin}.character-skill-window .cs-node{display:flex;align-items:center;gap:4px;padding:3px 0;background:transparent;border:0;text-align:left;font-size:10px}.cs-node canvas{width:32px;height:32px;flex:none;border:1px solid #705c2f;box-sizing:content-box;filter:grayscale(1) brightness(.55)}.cs-node.learned canvas{filter:none}.cs-node span{line-height:1.25;overflow-wrap:anywhere}.cs-node small{display:block;font-size:8px;color:#a99e7c;margin-top:3px}.cs-node.learned small{color:#9ec87f}.cs-skill-detail{position:absolute;z-index:3;left:8px;right:8px;top:85px;bottom:33px;overflow:auto;padding:12px 10px;background:#10150cf7;border:1px solid #ae904b;font-size:11px}.cs-skill-detail>button[data-detail-hide]{position:absolute;top:2px;right:2px;width:20px;height:20px;padding:0}.cs-skill-detail strong{color:#efda95;font-size:13px}.cs-skill-detail p{margin:8px 0;white-space:pre-line}.cs-detail-actions{display:flex;gap:6px}.cs-footer{position:absolute;left:10px;right:10px;bottom:8px;font-size:9px;color:#ad9b71;display:flex;justify-content:space-between;align-items:center;height:20px}.cs-loading{position:absolute;top:70px;left:16px;right:16px}.game-shell .native-skill-cell .hand-skill-icon{position:absolute;left:11px;top:6px;width:32px;height:32px;pointer-events:none}.skill-scene{position:fixed;inset:0;z-index:3;pointer-events:none;width:100%;height:100%}

.game-shell:has(.skill-scene)>:is(.player,.map-hud,.joystick,.chat-group,.native-toolbar,.mission-panel,#effectBar){z-index:5}

.cs-basic{position:absolute;top:82px;left:18px;height:39px}.cs-basic .cs-node{height:39px}.cs-tree{top:127px;left:18px;right:auto;width:225px;grid-template-columns:repeat(2,108px);gap:1px}.cs-skill-detail{top:82px}.effect-bar canvas.effect-icon{width:21px;height:21px;object-fit:contain}

.skill-scene-back{z-index:1}.game-shell .actor #actor{z-index:2}.game-shell .actor .native-overhead{z-index:4}

/* Remote sprites share the scene back layer but must paint above equipment auras. */
.game-shell .remote-player>canvas:not(.native-overhead){z-index:2}

/* Skill rows keep a readable size; the window fits the current branch. */
.character-skill-window[data-window-kind=skills] .cs-stage{font-size:12px;line-height:1.4}
.cs-tree-tabs{top:38px;left:10px;right:10px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:5px;height:32px}
.cs-tree-tabs button{height:32px;padding:3px 4px;font-size:12px;line-height:18px}
.cs-assign-hint{top:78px;left:11px;right:11px;margin:0;font-size:11px;line-height:16px}
.cs-basic{top:102px;left:10px;right:10px;height:46px}
.character-skill-window .cs-node{display:flex;align-items:center;gap:7px;padding:5px 6px;min-width:0;background:#0e120a;border:1px solid #54482a;border-radius:2px;text-align:left;font-size:12px;line-height:15px}
.cs-basic .cs-node{width:100%;height:46px}
.cs-tree{top:156px;bottom:38px;left:10px;right:10px;width:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:58px;gap:6px;align-content:start;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scroll-padding:4px;box-sizing:border-box}
.character-skill-window .cs-tree .cs-node{height:58px;min-height:58px}
.cs-node canvas{width:34px;height:34px;flex:0 0 34px;border:1px solid #705c2f;box-sizing:border-box;image-rendering:pixelated}
.cs-node span{min-width:0;line-height:15px;overflow-wrap:normal;word-break:normal}
.cs-node small{font-size:10px;line-height:13px;margin-top:3px;color:#a99e7c}
.cs-node.learned{border-color:#756039}.cs-node.learned small{color:#b0cd8c}
.character-skill-window .cs-node[aria-pressed=true],.character-skill-window .cs-node:hover{border-color:#d7b35c;background:#29220f}
.cs-footer{left:10px;right:10px;bottom:7px;height:24px;border-top:1px solid #54482a;font-size:10px;line-height:14px;gap:6px;padding-top:3px;box-sizing:border-box}
.cs-skill-detail{top:78px;bottom:38px;left:10px;right:10px;padding:12px;background:#0c1009;border:1px solid #a8873e;border-radius:2px;font-size:12px;line-height:1.55;overscroll-behavior:contain;scrollbar-width:thin}
.cs-skill-detail .cs-detail-heading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;margin:4px 18px 12px;padding-bottom:10px;border-bottom:1px solid #54482a}
.cs-detail-heading canvas{width:38px;height:38px;flex:none;border:1px solid #7d6837;image-rendering:pixelated}.cs-detail-heading strong{display:block;font-size:14px;line-height:19px}.cs-detail-heading small{display:block;font-size:11px;color:#b0cd8c;margin-top:3px}
.cs-skill-detail p{margin:7px 0;line-height:1.55}.cs-detail-actions{justify-content:center;margin-top:12px;gap:8px}.cs-detail-actions button{min-height:34px;flex:1;max-width:150px;font-size:12px}
@media(max-width:350px){.character-skill-window .cs-node{gap:5px;padding:4px;font-size:11px}.cs-node canvas{width:30px;height:30px;flex-basis:30px}.cs-node small{font-size:9px}.cs-tree-tabs button{font-size:11px}}

.cs-node.locked small,.cs-locked-reason{color:#c7a38b}.cs-node.locked{border-color:#403a2a}
