@font-face{font-family:"Pearl Original";src:url("./assets/fonts/web_pearl_original.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
:root{
  --font-game:"Pearl Original","Malgun Gothic",sans-serif;
  --ink:#181a1e;--panel:rgba(31,33,38,.91);--panel-soft:rgba(45,46,50,.9);
  --line:#5c5b5a;--line-dark:#222327;--text:#ddd8ce;--muted:#8b8985;
  --gold:#d9aa53;--gold-soft:#b79865;--orange:#dc8047;--green:#9aaa63;
  font-family:var(--font-game);color-scheme:dark
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;min-width:360px;color:var(--text);background:#15171a}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#101215 0,#1b1d21 50%,#101215 100%);opacity:.72}
button,input,select{font:inherit}.app-shell{width:min(1040px,100%);margin:0 auto 110px;position:relative}
.class-toolbar{height:48px;display:flex;align-items:center;gap:14px;padding:5px 14px;background:#25272c;border:1px solid #515257;color:#c9b68e}
.class-toolbar select{width:180px;max-width:45vw;padding:5px 12px;color:#eee3cd;background:#1b1d21;border:1px solid #777064;font-size:16px;cursor:pointer}
.class-toolbar select:focus-visible{outline:1px solid #e1bd70}.class-toolbar>span{font-size:13px;color:#b4ada0}
.game-tabs button[hidden]{display:none}

/* 게임의 전승/각성 선택부 */
.combat-mode{height:82px;display:grid;grid-template-columns:1fr 1fr;background:rgba(30,32,37,.92);border:1px solid #515257;border-top:0}
.combat-mode button{border:0;border-right:1px solid #15171a;background:transparent;color:#aaa59b;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:24px;font-weight:700}
.combat-mode button+button{border-left:1px solid #5b5a58;border-right:0}.combat-mode button.active{color:#eee6d9;background:linear-gradient(90deg,rgba(140,103,49,.35),rgba(81,68,48,.18),transparent)}
.combat-mode button.active::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#c7a86b;box-shadow:0 -1px 8px #9b743e}
.mode-emblem{font-style:normal;font-size:31px;color:#8d8b84;opacity:.6}.combat-mode button.active .mode-emblem{color:#d0b477}
.combat-mode b{font-size:20px}.combat-mode span{font-size:13px;color:#d4ad65;margin-right:-13px}
.combat-mode span[hidden]{display:none}

.game-window{position:relative;border-left:1px solid #4d4e52;border-right:1px solid #4d4e52;background:rgba(26,28,32,.88);box-shadow:0 18px 40px #0009}
.game-tabs{height:66px;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(35,37,42,.91);border-bottom:1px solid #494a4f}
.game-tabs button{border:0;background:transparent;color:#928e87;font-size:17px;font-weight:700;position:relative;cursor:pointer}
.game-tabs button.active{color:#e9e3d9}.game-tabs button.active::after{content:"";position:absolute;bottom:-1px;left:31%;right:31%;height:2px;background:#eee1bf;box-shadow:0 0 7px #e0bd77}
.game-toolbar{height:64px;display:grid;grid-template-columns:48px minmax(270px,1fr) 415px 48px 48px;gap:10px;align-items:center;padding:10px;background:rgba(39,41,46,.96);border-bottom:1px solid #17191d}
.menu-button,.square-button{height:44px;border:1px solid #55575e;background:linear-gradient(#45474e,#35373d);color:#ddd;font-size:24px;cursor:pointer;box-shadow:inset 0 0 0 1px #2c2e33}
.menu-button{display:grid;align-content:center;gap:4px;padding:0 11px}.menu-button span{display:block;height:4px;background:#deddd9}
.search-box{height:44px;border:1px solid #55565b;background:rgba(25,27,31,.82);display:flex}.search-box input{min-width:0;flex:1;border:0;background:transparent;color:#ece7df;padding:0 15px;font-size:16px;outline:none}.search-box input::placeholder{color:#ad9368;font-weight:700}
.search-box>span{width:48px;border-left:1px solid #525358;position:relative}.search-icon::before{content:"";position:absolute;width:17px;height:17px;border:4px solid #dededb;border-radius:50%;left:11px;top:8px}.search-icon::after{content:"";position:absolute;width:13px;height:4px;background:#dededb;transform:rotate(45deg);left:29px;top:28px}
.point-box{height:44px;border:1px solid #56565a;background:rgba(24,26,30,.8);display:flex;align-items:center;padding:0 13px;color:#d4c4a9}.point-icon{font-size:19px;margin-right:10px}.point-box strong{font-size:15px}.point-box b{margin-left:auto;color:#e1aa36;font:700 20px Georgia,serif;white-space:nowrap}

.side-rail{position:absolute;left:-49px;top:132px;width:48px;bottom:0;background:rgba(27,29,33,.93);border:1px solid #48494d;border-right:0;display:flex;align-items:center;flex-direction:column;padding-top:650px;gap:11px;z-index:4}
.side-rail i{width:27px;height:27px;border:1px solid #6a6b6e;color:#aaa;font-size:11px;font-style:normal;display:grid;place-items:center}.side-rail i.active{border:2px solid #e6c174;background:#34363b}.side-rail i:nth-child(n+4){border-color:#ba8f4d;color:#d6ad64}
.tree-wrap{height:clamp(280px,calc(100dvh - 376px),930px);min-height:0;overflow:auto;position:relative;background:
  linear-gradient(rgba(30,31,34,.94),rgba(38,33,31,.93)),
  radial-gradient(ellipse at 50% 50%,rgba(100,82,60,.12),transparent 66%);
  scrollbar-color:#b79058 #33353a;scrollbar-width:thin}
.tree-wrap::-webkit-scrollbar{width:9px}.tree-wrap::-webkit-scrollbar-track{background:#303237}.tree-wrap::-webkit-scrollbar-thumb{background:#c19a62;border-radius:6px;border:2px solid #303237}
.tree-canvas{position:relative;width:1020px;min-height:1200px;margin:0 auto 24px;transform-origin:top center}
.links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}.link-path{fill:none;stroke:#85817b;stroke-width:2;opacity:.78}.link-exclusive{stroke:#ae784d;stroke-dasharray:6 5}
.subsection-label{position:absolute;left:12px;right:12px;height:45px;border:1px solid #525359;background:linear-gradient(90deg,#424349ee,#36373ced);display:flex;align-items:center;padding:0 14px;color:#e0dcd4;z-index:2}
.subsection-label i{width:8px;height:8px;background:#c5a269;transform:rotate(45deg);margin-right:12px}.subsection-label b{font-size:15px}.subsection-label::after{content:"";margin-left:auto;border-left:8px solid transparent;border-right:8px solid transparent;border-top:12px solid #bbb}
.skill-node{position:absolute;width:270px;height:75px;border:1px solid #626262;background:linear-gradient(90deg,rgba(48,47,47,.96),rgba(38,38,40,.93));display:flex;align-items:center;gap:10px;padding:8px 30px 8px 12px;color:#e2ddd5;cursor:pointer;z-index:3;box-shadow:inset 0 0 0 1px #1d1e21;text-align:left}
.skill-node:hover,.skill-node.selected{border-color:#c8a46a;background:linear-gradient(90deg,rgba(84,68,51,.98),rgba(48,44,42,.96));z-index:8}.skill-node.locked{filter:grayscale(1);opacity:.31}.skill-node.locked:hover{opacity:.62}
.skill-icon{width:52px;height:52px;flex:0 0 auto;border:2px solid #a98342;box-shadow:inset 0 0 0 2px #17181a,0 0 6px #000;background:radial-gradient(circle at 42% 35%,#c34d72 0,#731b49 35%,#26131f 76%);display:grid;place-items:center;position:relative;transform:rotate(0deg)}
.skill-node img.skill-icon{display:block;border:0;background:none;box-shadow:none;object-fit:cover}
.skill-icon::before{content:attr(data-glyph);font:700 22px "Batang",serif;color:#ffe8b5;text-shadow:0 2px 4px #000}.skill-node[data-branch="succession"]{color:#df8752}.skill-node[data-branch="succession"] .skill-icon:not(img){border-color:#bd5436;background:radial-gradient(circle at 40% 32%,#e44d33,#861b1b 42%,#2b1111 74%)}
.skill-node[data-branch="awakening"] .skill-icon:not(img){border-color:#9c7941;background:radial-gradient(circle at 40% 30%,#a93db4,#521d76 45%,#1c142b 76%)}.skill-node[data-branch="absolute"] .skill-icon:not(img){background:radial-gradient(circle at 40% 30%,#797068,#333235 63%)}.skill-node[data-special="magnus"] .skill-icon:not(img){background:radial-gradient(circle,#6e4fa6,#20152f 72%);border-color:#a987cf}
.skill-name{min-width:0;align-self:stretch;padding-top:3px}.skill-name b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-name small{display:flex;gap:3px;margin-top:8px}.skill-name small i{width:17px;height:17px;border:1px solid #7a6848;background:#30332e;color:#ddc684;font-style:normal;font-size:8px;display:grid;place-items:center}.skill-name small i:nth-child(1){background:#32434c;color:#b8dce6}.skill-name small i:nth-child(2){background:#51412d;color:#e7d18c}.skill-name small i:nth-child(3){background:#60372c;color:#efb28e}
.skill-node .add{position:absolute;right:6px;top:6px;width:21px;height:21px;border:1px solid #77736b;background:#46443f;color:#e1bd73;display:grid;place-items:center;font-style:normal;font-weight:900;opacity:0}.skill-node:hover .add{opacity:1}.skill-node .branch-mark{position:absolute;left:74px;bottom:7px;font-size:9px;color:#dab469;font-style:normal}
.level-label{position:absolute;color:#d1a759;font:700 16px Georgia,serif;z-index:1}.empty-state{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#999;gap:6px}
.addon-list-title{height:58px;margin:12px 10px 0;border:1px solid #525359;background:linear-gradient(90deg,#424349ee,#36373ced);display:flex;align-items:center;padding:0 16px;color:#e0dcd4}.addon-list-title i{width:8px;height:8px;background:#c5a269;transform:rotate(45deg);margin-right:12px}.addon-list-title span{margin-left:auto;color:#97938c;font-size:11px}.skill-addon-row{width:calc(100% - 20px);height:98px;margin:10px 10px 0;padding:0;border:1px solid #5a5a5e;background:rgba(55,55,59,.92);color:#ded9d0;display:grid;grid-template-columns:47% 1fr 80px;text-align:left;cursor:pointer}.skill-addon-row:hover{border-color:#c2a26a;background:rgba(70,64,57,.95)}.addon-skill{display:flex;align-items:center;gap:14px;padding:10px 22px}.addon-skill .skill-icon{display:grid;width:54px;height:54px}.addon-skill img.skill-icon{border:0;object-fit:cover}.addon-skill b{display:block;font-size:14px}.addon-skill small{display:block;margin-top:6px;color:#b2aca2;font-size:11px;line-height:1.45;max-width:340px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.addon-effects{position:relative;padding:14px 20px;background:#3d3d41;clip-path:polygon(8% 0,100% 0,100% 100%,8% 100%,0 50%)}.addon-effects b{display:block;color:#c3a36d;font-size:13px}.addon-effects small{display:block;margin-top:8px;color:#d6d1c8;font-size:11px;line-height:1.5}.addon-arrow{font-style:normal;font-size:34px;display:grid;place-items:center;background:#44464d;color:#ddd}

.detail-panel{display:none;position:fixed;z-index:40;width:405px;max-height:min(750px,calc(100vh - 40px));overflow:auto;left:50%;top:170px;transform:translateX(-50%);background:rgba(24,25,28,.98);border:1px solid #5c5b59;box-shadow:0 22px 70px #000d}.detail-panel.open{display:block}.detail-close{position:absolute;right:8px;top:7px;z-index:2;border:0;background:transparent;color:#aaa;font-size:21px;cursor:pointer}.detail-header{padding:15px 18px;background:linear-gradient(90deg,#4b4034,#292827 70%);border-bottom:1px solid #151619}.detail-title{display:flex;align-items:center;gap:13px}.mini-icon{width:54px;height:54px;border:2px solid #b58a40;box-shadow:inset 0 0 0 2px #121315;background:radial-gradient(circle,#a93b70,#321526);display:grid;place-items:center;color:#f8dfaa;font:700 20px serif;overflow:hidden}.mini-icon img{display:block;width:100%;height:100%;object-fit:cover}.detail-title h2{margin:0;font-size:18px;color:#eee7da}.detail-title p{margin:5px 0 0;color:#c6a76d;font-size:10px}.rank-select{display:flex;gap:4px;margin-top:12px}.rank-select button{min-width:27px;height:24px;border:1px solid #69645d;background:#2e2e30;color:#aaa;font-size:9px;cursor:pointer}.rank-select button.active{background:#b17c31;color:#17120b;border-color:#e0ba72}.detail-body{padding:14px 18px 19px}.flavor{white-space:pre-line;color:#aaa7a0;font-size:11px;line-height:1.55;margin:0 0 12px}.command-box{border-top:1px solid #4d4c49;border-bottom:1px solid #4d4c49;padding:10px 0;margin-bottom:11px}.command-box small{display:block;color:#89935c;font-size:9px}.command-box b{display:block;color:#a9d843;margin-top:5px;font-size:12px}.key{display:inline-block;border:1px solid #74736f;border-bottom-width:2px;background:#3a3a3b;color:#eee;padding:2px 5px;margin:0 2px;font-size:9px}.meta-grid{background:#17181b;padding:8px 10px;margin-bottom:11px}.meta-grid span{display:block;color:#b6b4b0;font-size:10px;line-height:1.8}.meta-grid b{color:#ede8de;float:right}.tooltip-lines{display:grid;gap:4px}.tooltip-line{font-size:11px;line-height:1.35;color:#eee}.tooltip-line.gold{color:#e4b132}.tooltip-line.green{color:#9bad59}.tooltip-line.red{color:#e65b42}.detail-section{border-top:1px solid #494947;margin-top:12px;padding-top:11px}.detail-section h3{font-size:11px;color:#d4a13d;margin:0 0 8px}.addon-grid{display:grid;gap:4px}.addon-option{border:1px solid #4b4b4d;background:#292a2d;color:#aaa;padding:7px;text-align:left;font-size:9px;cursor:pointer}.addon-option.selected{border-color:#d1a34b;color:#f0d99d}.add-combo{width:100%;margin-top:13px;border:1px solid #dfbd73;background:linear-gradient(#d8b86f,#9c6d2b);color:#19130b;padding:9px;font-weight:800;cursor:pointer}

.game-footer{height:52px;border-top:1px solid #55565a;background:rgba(29,30,34,.97);display:grid;grid-template-columns:repeat(4,1fr);align-items:center;padding:0 14px;font-size:11px;color:#ddd}.game-footer span{text-align:center;white-space:nowrap}.game-footer kbd{background:#e4e4e1;color:#222;border-radius:3px;padding:2px 7px;font:700 9px sans-serif}.mouse-icon{display:inline-block;width:13px;height:18px;background:linear-gradient(90deg,#e8e8e5 50%,#d6ad48 50%);border-radius:7px;vertical-align:middle;margin-right:5px}.option-footer{height:52px;display:grid;grid-template-columns:190px 1fr 1fr;gap:8px;background:#27292e;padding:7px 12px;border-top:1px solid #16171a}.option-footer>*{border:1px solid #4f5055;background:linear-gradient(#45464c,#383a40);color:#d6d2ca;display:flex;align-items:center;justify-content:center;font-size:12px}.option-footer label{background:#25272b}.option-footer input{accent-color:#cfab68}.option-footer span{margin-left:auto;padding-right:12px}

.combo-toggle{position:fixed;z-index:25;right:22px;bottom:18px;border:1px solid #b59355;background:linear-gradient(#45433f,#2c2c2e);color:#e7dfd1;padding:12px 16px;box-shadow:0 6px 20px #0009;cursor:pointer;font-weight:700}.combo-toggle span{color:#d2a34c;font-size:9px;letter-spacing:.14em;margin-right:8px}.combo-toggle b{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:8px;background:#c4923a;color:#1d170e;border-radius:10px}
.combo-dock{position:fixed;z-index:24;left:50%;bottom:0;transform:translate(-50%,105%);width:min(1040px,calc(100% - 18px));min-height:150px;border:1px solid #56575b;background:rgba(35,37,42,.98);display:grid;grid-template-columns:165px 1fr 165px;grid-template-rows:auto auto auto;align-items:center;box-shadow:0 -18px 40px #000b;transition:transform .22s ease}.combo-dock.open{transform:translate(-50%,0)}.combo-title{padding:18px;border-right:1px solid #515258}.combo-title span,.combo-title b,.combo-title small{display:block}.combo-title span{font-size:9px;color:#d2a34c;letter-spacing:.18em}.combo-title b{margin-top:5px}.combo-title small{font-size:9px;color:#888;margin-top:5px}.combo-track{min-height:92px;display:flex;align-items:center;gap:20px;padding:10px 17px;overflow-x:auto}.combo-placeholder{width:100%;text-align:center;color:#777;font-size:10px}.combo-card{width:78px;flex:0 0 auto;text-align:center;position:relative;cursor:grab}.combo-card::after{content:"›";position:absolute;right:-15px;top:22px;color:#9b7c45}.combo-card:last-child::after{display:none}.combo-card .mini-icon{width:44px;height:44px;margin:auto}.combo-card b{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px}.combo-card small{color:#cba04d;font-size:8px}.combo-card button{position:absolute;right:5px;top:-4px;border:0;border-radius:50%;background:#65372f;color:#f1b5aa;width:17px;height:17px;cursor:pointer}.combo-side{padding:14px;border-left:1px solid #515258}.combo-side span{display:block;color:#aaa;font-size:9px;line-height:1.8}.combo-side button{margin-top:7px;border:0;background:transparent;color:#d77b68;font-size:9px;cursor:pointer}.combo-effects{grid-column:2/4;display:flex;flex-wrap:wrap;gap:5px;padding:0 15px 10px}.effect-chip{font-size:8px;border:1px solid #4e554f;background:#29302b;color:#aaa;padding:4px 7px;border-radius:12px}.effect-chip b{color:#8ecb9f}.combo-actions{grid-column:1/4;border-top:1px solid #4a4b50;padding:8px;display:flex;justify-content:flex-end;gap:6px}.combo-actions button{border:1px solid #5c5d61;background:#3a3c41;color:#ccc;padding:7px 13px;cursor:pointer}.combo-actions button:last-child{border-color:#c5a15c;color:#f0d8a4}.zoom-controls{position:fixed;z-index:20;left:18px;bottom:18px;background:#2b2d31;border:1px solid #555;display:flex;align-items:center}.zoom-controls button{width:30px;height:30px;border:0;background:#3c3e43;color:#ddd}.zoom-controls span{font-size:10px;padding:0 8px}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,15px);padding:10px 16px;background:#e2c57f;color:#17120b;font-weight:800;font-size:11px;opacity:0;transition:.2s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:1080px){.app-shell{width:calc(100% - 8px)}.side-rail{display:none}.tree-canvas{margin-left:0}.game-toolbar{grid-template-columns:48px minmax(240px,1fr) minmax(300px,415px) 48px 48px}}
@media(max-width:760px){.combat-mode{height:60px}.combat-mode b{font-size:16px}.mode-emblem,.combat-mode span{display:none}.game-tabs{height:52px}.game-tabs button{font-size:13px}.game-toolbar{height:54px;grid-template-columns:42px 1fr 42px;padding:6px}.point-box,.game-toolbar .square-button:last-child{display:none}.menu-button,.square-button,.search-box{height:40px}.tree-wrap{height:clamp(280px,calc(100dvh - 318px),930px)}.game-footer{grid-template-columns:1fr 1fr}.game-footer span:nth-child(n+3){display:none}.option-footer{grid-template-columns:1fr 1fr}.option-footer label{display:none}.combo-dock{grid-template-columns:115px 1fr}.combo-side{display:none}.combo-effects{grid-column:2}.combo-actions{grid-column:1/3}.detail-panel{top:12px;width:min(405px,calc(100% - 18px));max-height:calc(100vh - 24px)}}

/* 인게임과 같은 마우스 상호작용 */
.category-help{display:none;position:absolute;z-index:60;top:129px;left:58px;width:330px;padding:10px 13px;background:rgba(5,6,8,.94);border:1px solid #3a3b3e;box-shadow:0 6px 18px #000a}.category-help.open{display:block}.category-help b,.category-help span{display:block}.category-help b{font-size:12px;color:#e6e0d7}.category-help span{margin-top:5px;font-size:10px;color:#b9b5ae}
.category-menu{position:absolute;z-index:55;top:130px;left:9px;width:185px;padding:5px;background:rgba(28,29,33,.98);border:1px solid #55565a;box-shadow:0 12px 32px #000b}.category-menu[hidden]{display:none}.category-menu button{width:100%;height:34px;border:0;border-bottom:1px solid #3f4044;background:transparent;color:#c8c4bd;text-align:left;padding:0 12px;display:flex;align-items:center;cursor:pointer}.category-menu button:hover,.category-menu button.active{background:#4a443b;color:#eee3cf}.category-menu button i{margin-left:auto;width:7px;height:7px;border-radius:50%;background:#6b665e}.category-menu button.active i{background:#d4a44d;box-shadow:0 0 6px #e2b35b}
.skill-name small i.guard{background:#32434c;color:#b8dce6;border-color:#587384}.skill-name small i.cc{background:#51412d;color:#f0d886;border-color:#79613c}.skill-name small i.special{background:#60372c;color:#efb28e;border-color:#845243}
.rank-arrows{position:absolute;right:7px;top:8px;color:#d4a04b;font-size:11px;word-spacing:3px;opacity:0}.skill-node:hover .rank-arrows,.skill-node.selected .rank-arrows{opacity:1}.skill-node .add{right:7px;top:auto;bottom:7px;width:18px;height:18px;font-size:12px;opacity:0}.skill-node:hover .add{opacity:.8}
.detail-panel{z-index:70;width:385px;max-height:min(720px,calc(100vh - 16px));left:0;top:0;transform:none;box-shadow:0 16px 45px #000c;pointer-events:none}.detail-panel.pinned{pointer-events:auto}.detail-close{display:none}.detail-panel.pinned .detail-close{display:block}
.micro-tooltip{display:none;position:fixed;z-index:100;padding:7px 10px;background:rgba(5,6,8,.96);border:1px solid #33353a;color:#e2ddd3;font-size:11px;white-space:nowrap;box-shadow:0 5px 15px #000b;pointer-events:none}.micro-tooltip.open{display:block}
@media(max-width:760px){.detail-panel{width:min(385px,calc(100% - 16px));max-height:calc(100vh - 16px)}.category-help{left:6px;top:112px}.category-menu{top:112px}}
.skill-node img.skill-icon,.addon-skill img.skill-icon,.mini-icon img{object-fit:contain}

/* 매구 기술 심화 — 인게임의 기본 기술 → 택1 → 결과 구조 */
.enhancement-view{background:linear-gradient(rgba(31,31,34,.91),rgba(27,27,30,.96)),radial-gradient(ellipse at 52% 3%,rgba(145,93,53,.2),transparent 48%)}
.enhancement-head{height:96px;border-bottom:1px solid #443f3a;background:linear-gradient(90deg,transparent,rgba(112,73,43,.26),transparent);display:flex;align-items:center;justify-content:center;gap:24px}
.enhancement-head span{width:70px;height:70px;border:1px solid #655c51;background:#29292b;display:grid;place-items:center;box-shadow:inset 0 0 0 7px #333236}
.enhancement-head img{width:52px;height:52px;object-fit:contain}
.enhancement-board{padding:66px 30px 40px}
.enhancement-row{height:238px;position:relative;display:grid;grid-template-columns:72px 150px 102px 1fr;align-items:center}
.enhancement-row+.enhancement-row{border-top:1px solid rgba(78,76,73,.22)}
.enhancement-level{align-self:start;padding-top:26px;color:#d2a35a;font:700 16px Georgia,serif}
.enhancement-base{align-self:start;margin-top:70px;text-align:center;color:#ded8ce}
.enhancement-base .enhancement-icon{margin:auto}.enhancement-base b{display:block;margin-top:8px;font-size:14px;white-space:nowrap}
.enhancement-icon{width:58px;height:58px;border:1px solid #917348;background:#29282a;display:grid;place-items:center;box-shadow:inset 0 0 0 6px #363336;position:relative;flex:0 0 auto}
.enhancement-icon img{width:50px;height:50px;object-fit:contain}
.enhancement-icon::before{content:none}
.enhancement-fork{height:124px;position:relative}
.enhancement-fork::before{content:"";position:absolute;left:0;top:61px;width:55px;border-top:2px solid #665947}
.enhancement-fork::after{content:"";position:absolute;left:54px;top:9px;height:105px;border-left:2px solid #665947}
.enhancement-fork i::before,.enhancement-fork i::after{content:"";position:absolute;left:54px;width:45px;border-top:2px solid #665947}
.enhancement-fork i::before{top:9px}.enhancement-fork i::after{top:114px}
.enhancement-choices{display:grid;gap:22px}
.enhancement-path{height:84px;padding:0;border:0;background:transparent;color:#ded8ce;display:grid;grid-template-columns:290px 86px 290px;align-items:center;text-align:left;cursor:pointer}
.enhancement-choice,.enhancement-result{height:70px;border:1px solid #5a5550;background:linear-gradient(90deg,rgba(54,50,48,.96),rgba(42,41,43,.96));display:flex;align-items:center;gap:12px;padding:6px 14px;position:relative}
.enhancement-choice::before{content:"";position:absolute;left:-8px;width:13px;height:13px;background:#403c38;border-left:2px solid #77654d;border-bottom:2px solid #77654d;transform:rotate(45deg)}
.enhancement-choice b,.enhancement-result b{font-size:14px;white-space:nowrap}
.enhancement-chain{text-align:center;color:#8a7353;font-size:17px;letter-spacing:-5px}
.enhancement-result{border-color:#826e55}.enhancement-result small{position:absolute;left:84px;bottom:8px;color:#c49d5c;font-size:9px}
.enhancement-result.locked{opacity:.3;filter:grayscale(1);border-color:#585758}
.enhancement-result.locked .enhancement-icon{border-color:#555}.result-lock{margin-left:auto;color:#e6ba43;font-style:normal}
.enhancement-path:hover .enhancement-choice,.enhancement-path.active .enhancement-choice,.enhancement-path.active .enhancement-result{border-color:#b18b58;background:linear-gradient(90deg,rgba(79,64,51,.98),rgba(48,44,42,.96))}
@media(max-width:760px){.enhancement-board{padding-left:18px;padding-right:18px}.enhancement-row{grid-template-columns:62px 135px 82px 1fr}.enhancement-path{grid-template-columns:245px 62px 245px}}

/* Icon, skill name, effect badges, and command lock are separate hit targets. */
.skill-node{padding:0;gap:0;display:grid;grid-template-columns:72px minmax(0,1fr);cursor:default}
.skill-node:hover{z-index:5}.skill-node:has(.skill-icon-target:hover){border-color:#c8a46a}
.skill-icon-target{width:71px;height:73px;border:0;border-right:1px solid transparent;background:transparent;padding:0;display:grid;place-items:center;cursor:pointer;color:inherit}
.skill-icon-target:hover,.skill-icon-target:focus-visible{background:#51433177;border-right-color:#78664b;outline:1px solid #d6b67b;outline-offset:-3px}
.skill-icon-target .skill-icon{width:49px;height:49px;object-fit:contain;display:block;pointer-events:none}
.skill-icon-target,.result-icon{position:relative}
.skill-learn-slot{display:grid;place-items:center;width:49px;height:49px;background:radial-gradient(circle,#745332,#302823 72%);border:1px solid #bb9150;box-shadow:inset 0 0 0 4px #463828;pointer-events:none}
.skill-learn-plus{display:grid;place-items:center;color:#e1b76e;font-size:36px;font-weight:300;line-height:1;text-shadow:0 0 10px #af763c;pointer-events:none}
.skill-node.unlearned.learnable .skill-icon-target{filter:none;opacity:1}
.skill-name{padding:7px 22px 0 2px;align-self:stretch;min-width:0}.skill-name b{font-weight:600;line-height:21px}
.skill-name small{margin-top:8px;display:flex;gap:1px;min-height:20px;align-items:center}
.skill-rank-dots{display:flex;flex-wrap:wrap;gap:2px;max-width:168px;min-height:8px;margin:2px 0 0;pointer-events:none}
.rank-dot{position:relative;display:block;width:8px;height:8px;flex:0 0 8px;border-radius:50%;border:1px solid #686157;background:#242323;box-shadow:inset 0 0 2px #000}
.rank-dot.filled{border-color:#8f6b27;background:radial-gradient(circle,#ffe9a8 0 20%,#efc55e 38%,#a0752a 70%);box-shadow:0 0 2px #d5aa5366}
.rank-dot.current:after{content:"";position:absolute;inset:-2px;border:1px solid #c7bfa2;border-radius:0}
.skill-name .skill-rank-dots+small{margin-top:3px}.skill-name small:empty{display:none}
.skill-name small .effect-mark,.enhancement-result-name small .effect-mark{display:block;width:19px;height:19px;border:0;background:transparent;padding:0;flex:0 0 19px;cursor:help;outline:none}
.effect-mark img{width:19px;height:19px;display:block;object-fit:contain;pointer-events:none}.effect-mark:focus-visible{outline:1px solid #e1bd70!important}
.skill-actions{position:absolute;right:6px;top:6px;display:flex;align-items:center;gap:2px;opacity:0}
.skill-node:hover .skill-actions,.skill-node:focus-within .skill-actions{opacity:1}
.skill-actions button{border:0;background:#262627ba;color:#d8ac60;font-size:11px;min-width:16px;height:19px;padding:0;cursor:pointer}
.skill-node .skill-actions .add{position:static;opacity:1;width:18px;height:19px;border:0;display:block;font-style:normal}
.skill-lock{position:absolute;right:7px;bottom:7px;width:19px;height:21px;border:0;background:transparent;color:#bcb5aa;padding:1px;opacity:0;cursor:pointer}
.skill-lock svg,.result-lock svg{width:100%;height:100%;fill:#bbb4a477;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.skill-node:hover .skill-lock,.skill-node:focus-within .skill-lock,.skill-node.command-locked .skill-lock{opacity:1}
.skill-node:not(.command-locked) .skill-lock svg>path:first-child{stroke-dasharray:20 5 60}
.skill-node.command-locked .skill-lock{color:#dfbc73}.skill-node.command-locked .skill-lock svg{fill:#ac8b4d88}
.skill-node.unlearned .skill-icon-target,.skill-node.unlearned .skill-name{filter:grayscale(1);opacity:.28}
.skill-node.unlearned .skill-lock{display:none}.skill-node.branch-disabled{filter:grayscale(1);opacity:.28}
.skill-node.unlearned:hover{background:#343230}.skill-node.branch-disabled:hover{opacity:.4}
.micro-tooltip.open{display:flex;align-items:center;gap:7px;font-size:13px}.micro-tooltip img{width:23px;height:23px;object-fit:contain}
.addon-icon-target{padding:0;background:transparent;border:0;cursor:help;flex:0 0 54px}.addon-icon-target .skill-icon{margin:auto;pointer-events:none}.addon-arrow{border:0;cursor:pointer}.addon-icon-target:focus-visible{outline:1px solid #c7a161}

/* Fusion layout follows the video: selected results above, prerequisites left,
   result-icon-only learning on the right, and gray ornamental connectors. */
.enhancement-head{height:100px;gap:22px}
.enhancement-head .enhancement-summary{display:grid;place-items:center;width:68px;height:68px;border:1px solid #60564a;background:#302d2a;padding:8px;cursor:help;box-shadow:inset 0 0 0 6px #34302c}
.enhancement-summary .skill-icon{width:49px;height:49px;border:0;background:none;box-shadow:none;object-fit:contain}
.enhancement-board{padding:65px 30px 24px}
.enhancement-row{display:block;height:255px;width:960px;border:0!important}
.enhancement-level{position:absolute;left:26px;top:11px;padding:0;color:#c9a268}
.enhancement-base{position:absolute;left:0;top:54px;width:130px;margin:0}
.enhancement-base .enhancement-icon{width:66px;height:66px}
.enhancement-base b{margin-top:9px;font-size:14px}
.enhancement-icon{padding:0;cursor:help;color:inherit;display:flex;align-items:center;justify-content:center;overflow:hidden}
.enhancement-icon .skill-icon{width:49px;height:49px;border:0;background:none;box-shadow:none;object-fit:contain;pointer-events:none;display:block;flex:0 0 49px}
.enhancement-fork{position:absolute;left:98px;top:22px;width:101px;height:126px}
.enhancement-fork::before{left:0;top:63px;width:64px;border-color:#62594c}
.enhancement-fork::after{left:63px;top:0;height:125px;border-color:#62594c}
.enhancement-fork i::before,.enhancement-fork i::after{left:63px;width:40px;border-color:#62594c}
.enhancement-fork i::before{top:0}.enhancement-fork i::after{top:125px}
.enhancement-choices{position:absolute;left:200px;top:-13px;display:grid;gap:54px}
.enhancement-path{height:70px;grid-template-columns:290px 82px 290px;cursor:default}
.enhancement-choice,.enhancement-result{height:70px;gap:9px;padding:6px 12px;background:#29272acc;border:1px solid #55504b}
.enhancement-choice .enhancement-icon{border:0;background:transparent;box-shadow:none;width:49px;height:49px}
.enhancement-choice::before{width:7px;height:7px;left:-5px;background:#73624b;border:0;transform:rotate(45deg)}
.enhancement-chain{position:relative;color:#837361;letter-spacing:-4px;font-size:15px}.enhancement-chain i{position:absolute;left:0;right:0;top:50%;height:1px;background:#61594d;z-index:-1}
.enhancement-result{border-color:#71604d}.enhancement-result .result-icon{width:58px;height:58px;cursor:pointer;flex:0 0 58px}
.result-icon:hover,.result-icon:focus-visible{outline:1px solid #debd7c;outline-offset:2px}
.enhancement-result-name{min-width:0}.enhancement-result-name b{display:block;line-height:22px}
.enhancement-result-name small{position:static;display:flex;gap:1px;margin-top:5px;font-size:11px}
.enhancement-path.active .enhancement-choice{border-color:#55504b;background:#29272acc}
.enhancement-path:hover .enhancement-choice{border-color:#55504b;background:#29272acc}
.enhancement-path.active .enhancement-result{border-color:#8b7253;background:linear-gradient(90deg,#463a30dd,#332d28dd)}
.enhancement-result.unlearned{background:#1d1e21;border-color:#444347}.enhancement-result.unlearned .result-icon,.enhancement-result.unlearned .enhancement-result-name{opacity:.18;filter:grayscale(1)}
.result-lock{position:absolute;left:47%;top:25px;color:#e4b349;width:16px;height:19px;margin:0;pointer-events:none}
.result-lock svg{fill:#bd923b}.enhancement-combo{position:absolute;right:7px;top:7px;border:0;background:none;color:#d7b776;cursor:pointer;opacity:0}
.enhancement-result:hover .enhancement-combo{opacity:1}
@media(max-width:760px){.enhancement-board{padding:65px 30px 24px}.enhancement-row{display:block}.enhancement-path{grid-template-columns:290px 82px 290px}}

/* Effect classification highlights the existing tree; it never reflows it. */
.category-menu{position:fixed;z-index:82;width:278px;top:150px;left:8px;padding:0;background:#29292eee;border:1px solid #59565a;box-shadow:0 14px 34px #000b}
.category-menu header{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 13px;background:#2c2b31;color:#ded8ce;font-size:19px;border-bottom:1px solid #17171a}
.category-menu header button{width:26px;height:30px;padding:0;background:transparent;color:#cbb576;font-size:24px;justify-content:center;border:0}
.category-options{max-height:min(390px,calc(100vh - 170px));overflow:auto;padding:6px;scrollbar-color:#c29b63 #29292e;scrollbar-width:thin}
.category-options label{display:flex;align-items:center;gap:12px;min-height:44px;padding:7px 11px;margin-bottom:4px;border:1px solid #46464d;background:#36363d;color:#e0dbd3;cursor:pointer;font-size:14px}
.category-options label:hover,.category-options label.active{background:#655444;border-color:#9a7751}
.category-options input{appearance:none;width:14px;height:14px;margin:0;border:1px solid #515157;background:#29292e;display:grid;place-items:center;flex:0 0 14px;cursor:pointer}
.category-options input:checked{background:#eadfc1;border:2px solid #665c4e;box-shadow:0 0 4px #dfc995}.category-options input:focus-visible{outline:2px solid #cfb77f;outline-offset:3px}
.category-options img{width:21px;height:21px;object-fit:contain;margin-left:auto}
.category-menu .category-reset{width:100%;height:32px;justify-content:center;padding:0;border-top:1px solid #4c4846;background:#343237;font-size:11px;color:#b7ab98}
.skill-node.category-highlight{border-color:#e6ba59;box-shadow:inset 0 0 0 1px #8d6a36,0 0 4px #ae793544;background:linear-gradient(90deg,#5b4733aa,#3a322b99)}
.skill-node.branch-disabled.category-highlight{opacity:.65}
.enhancement-plus{font-size:36px;font-weight:300;line-height:1;color:#e1b76e;text-shadow:0 0 10px #af763c}
.enhancement-result.learnable .result-icon{background:radial-gradient(circle,#745332,#302823 72%);border:1px solid #bb9150;box-shadow:inset 0 0 0 4px #463828}
.enhancement-result.learnable{background:#342e28dd;border-color:#776148}
.enhancement-result.unlearned .result-icon{cursor:not-allowed}

/* Six configured slots, plus a separate draft-based specialization editor. */
.addon-slot-status{height:28px;padding:8px 13px 0;color:#9b9489;font-size:10px}.addon-slot-status b{float:right;color:#cfaa66}
.addon-slot-row{height:104px;grid-template-columns:47% minmax(0,1fr) 70px;cursor:default}
.addon-slot-skill{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;padding:7px 12px;gap:8px}
.addon-slot-skill .addon-icon-target{width:62px;height:70px}.addon-slot-skill .skill-icon{width:49px;height:49px;object-fit:contain;border:0;background:transparent;box-shadow:none}
.addon-slot-skill b{font-size:14px;display:block}.addon-slot-skill small{display:block;font-size:11px;line-height:1.5;color:#c0b6a7;margin-top:4px;max-height:33px;overflow:hidden}
.addon-slot-row .addon-effects{padding:16px 20px}.addon-slot-row .addon-effects small{font-size:11px;line-height:1.7;color:#e1d9cc;margin-top:6px}
.addon-effects em,.addon-picker em,.addon-field em{font-style:normal;color:#d8b844;font-weight:600}
.addon-empty-label{display:flex;align-items:center;gap:18px;padding:14px 20px;color:#bcb2a1}.addon-empty-label b{font-size:13px;font-weight:500}.addon-empty-label small{display:block;margin-top:5px;font-size:10px;color:#7f7b74}
.addon-empty-square{width:49px;height:49px;display:grid;place-items:center;flex:0 0 49px;border:1px solid #6d5e4c;background:#302a25;color:#a18b68;font-size:26px}
.addon-dialog-layer[hidden],.addon-picker[hidden]{display:none!important}
.addon-dialog-layer{position:fixed;z-index:90;inset:0;background:#0005;display:grid;place-items:center;padding:16px}
.addon-dialog{width:760px;max-width:calc(100vw - 32px);position:relative;background:#242428;border:1px solid #70665a;box-shadow:0 24px 80px #000b;color:#d8cfbd;max-height:calc(100vh - 32px)}
.addon-dialog>header{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#2e2c30;border-bottom:1px solid #18181b}
.addon-dialog h2{font-size:19px;font-weight:500;margin:0}.addon-dialog header button{border:0;background:none;color:#d2be83;font-size:25px;cursor:pointer}
#addonDialogBody{display:grid;grid-template-columns:42% 58%;padding:12px;gap:0;min-height:420px;max-height:calc(100vh - 90px);overflow:auto}
.addon-ritual{background:#1e1e22;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px 12px 12px;min-height:420px;position:relative}
.addon-ring{width:220px;height:220px;border-radius:50%;position:relative;display:grid;place-items:center;border:19px double #847657;background:repeating-conic-gradient(from 20deg,#403a2d 0deg 3deg,#6d624a 3deg 5deg,#403a2d 5deg 12deg);box-shadow:inset 0 0 0 9px #25232a,0 0 0 2px #a28c60,0 0 18px #000}
.addon-ring::before{content:"";position:absolute;inset:13px;border-radius:50%;border:18px double #94815b;background:radial-gradient(circle,#241b2e 5%,#332a38 56%,#81735b 58%,#2b2730 64%)}
.addon-ring .skill-icon,.addon-ring-empty{position:relative;width:49px;height:49px;border:1px solid #ac8a51;object-fit:contain;background:#251d2c;box-shadow:0 0 10px #0b0810;z-index:1}
.addon-ring-empty{display:grid;place-items:center;font-size:25px;color:#8e795b}
.addon-apply{margin-top:auto;width:100%;min-height:41px;border:1px solid #756c60;background:linear-gradient(#4b4b55,#36363f);color:#eee3c9;font-size:15px;cursor:pointer}.addon-apply:disabled{opacity:.45;cursor:default}
.addon-remove{margin-top:8px;border:0;background:none;color:#aa9986;font-size:11px;cursor:pointer}
.addon-form{padding:0 4px 10px 16px}.addon-form h3{font-size:12px;font-weight:500;color:#aa9777;margin:6px 0 12px}
.addon-form h3:nth-of-type(2){margin-top:25px}
.addon-field{width:100%;min-height:62px;border:1px solid #44434a;background:#333338;color:#e0d9ca;padding:10px 14px;text-align:left;display:flex;align-items:center;gap:12px;cursor:pointer}
.addon-field:hover{background:#51453b;border-color:#7d6950}.addon-field:disabled{opacity:.45;cursor:default}
.addon-field .skill-icon{width:36px;height:36px;object-fit:contain;border:0;background:none;box-shadow:none}.addon-field b{font-size:14px;font-weight:500}.addon-field span{font-size:12px;line-height:1.6}.addon-field i{font-style:normal;font-size:24px;margin-left:auto;flex:0 0 16px;color:#cbc6bb}
.addon-effect-fields{display:grid;gap:5px}.addon-notes{margin-top:28px;font-size:11px;color:#8e806c;line-height:1.65}
.addon-picker{position:absolute;left:calc(100% + 8px);top:0;width:300px;border:1px solid #736650;background:#26262bed;box-shadow:0 12px 36px #0009}
.addon-picker header{height:44px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;background:#302e33;color:#ddd4c0;font-size:16px}
.addon-picker-list{max-height:min(490px,calc(100vh - 110px));overflow:auto;padding:6px;scrollbar-color:#ba945a #29292e;scrollbar-width:thin}
.addon-picker-list>button{width:100%;min-height:58px;padding:10px 12px;margin-bottom:4px;border:1px solid #4a474b;background:#35353b;color:#d8cfbd;text-align:left;cursor:pointer}
.addon-picker-list>button:hover,.addon-picker-list>button.active{background:#67523f;border-color:#a17e52}.addon-picker-list>button:disabled{opacity:.3;cursor:default}
.addon-picker-skill{display:flex;align-items:center;gap:10px}.addon-picker-skill .skill-icon{width:34px;height:34px;object-fit:contain;border:0;box-shadow:none;background:none}.addon-picker-skill span{min-width:0}.addon-picker-skill b{font-size:12px;font-weight:500;display:block}.addon-picker-skill small{font-size:10px;line-height:1.3;display:block;max-height:26px;overflow:hidden;margin-top:4px;color:#aaa18f}
.addon-picker-effect{font-size:12px;line-height:1.7}
@media(min-width:1140px){.addon-dialog.picker-open{transform:translateX(-154px)}}
@media(max-width:1139px){.addon-picker{left:auto;right:8px;top:47px;width:min(330px,calc(100vw - 48px));z-index:3}.addon-dialog.picker-open .addon-picker{box-shadow:-10px 0 25px #000a}}
@media(max-width:650px){#addonDialogBody{grid-template-columns:1fr}.addon-ritual{min-height:190px;flex-direction:row;gap:20px;padding:15px}.addon-ring{width:140px;height:140px;border-width:12px;flex:0 0 140px}.addon-apply{margin:0;width:130px;font-size:13px}.addon-remove{position:absolute;right:15px;bottom:12px}.addon-form{padding:10px}.addon-notes{margin-top:16px}.category-menu{width:250px}}
.point-box b,.level-label,.skill-icon::before,.mini-icon,.enhancement-level,.game-footer kbd{font-family:var(--font-game)}

/* 매구: 클라이언트 툴팁 XML의 구획과 원본 PA 색상 문구 */
.detail-panel.native-tooltip{width:380px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:0;border:0;background:transparent;box-shadow:none;border-radius:0;overflow:auto;scrollbar-width:thin;font-size:20px;line-height:1.1;font-weight:400;letter-spacing:-.35px;color:#ededee;text-shadow:0 1px 1px #0008}
.native-skill-tooltip{background:rgba(36,36,39,.98);border:1px solid #555257;box-shadow:0 5px 18px #0008;padding-bottom:23px}
.native-reset-hint{background:rgba(29,28,29,.98);border:1px solid #514b44;color:#ddc39e;padding:7px 18px;margin-bottom:5px;font-size:16px;line-height:21px}
.native-tooltip-header{height:97px;display:flex;align-items:center;gap:19px;padding:0 20px;background:linear-gradient(0deg,rgba(111,78,52,.22),transparent 75%);border-bottom:1px solid #37312c}
.native-tooltip-header h2{flex:1;min-width:0;margin:0;color:#ddc39e;font-size:22px;line-height:1.3;font-weight:400;letter-spacing:-.5px}
.native-icon-frame{position:relative;display:grid;place-items:center;flex:0 0 67px;width:67px;height:67px;border:1px solid #63594a;box-shadow:inset 0 0 0 3px #272729,inset 0 0 0 4px #49443e;background:#1b191b}
.native-icon-frame:before{content:"";position:absolute;inset:2px;border:1px solid #5f584f;transform:rotate(45deg) scale(.83);z-index:0}
.native-icon-frame:after{content:"";position:absolute;inset:10px;border:1px solid #bdb8a6;box-shadow:0 0 0 2px #171619;pointer-events:none}
.native-icon-frame img{position:relative;width:44px;height:44px;object-fit:contain;z-index:1}
.native-requirements{margin:12px 19px 0;padding:9px 2px;background:rgba(14,14,17,.35);color:#9397a7;line-height:22px}
.native-number{color:#e9bd23}.native-point{color:#ededee}
.native-description{padding:8px 20px 9px;color:#9397a7;line-height:21px;overflow-wrap:anywhere}
.native-costs{background:rgba(16,16,18,.32);padding:7px 20px 10px;line-height:22px}
.native-cost-row{display:grid;grid-template-columns:minmax(150px,190px) 1fr}
.native-costs .native-number{color:#ededee}.native-costs .native-condition{color:#eb9261}
.native-command{padding:11px 20px 6px;color:#8f9b62;line-height:22px;overflow-wrap:anywhere}
.native-effects{border-top:1px solid #5e5a55;margin-top:0;padding:10px 20px 0;line-height:21px;overflow-wrap:anywhere}
.native-effect{min-height:21px;white-space:normal}
.native-addons{border-top:1px solid #5e5a55;margin:12px 20px 0;padding-top:10px;line-height:22px;color:#ededee}
.native-addon-title{color:#d8ff00;margin-bottom:5px}
.native-tooltip.pinned .detail-close{z-index:2;top:5px;right:6px}
@media(max-width:420px){.native-tooltip-header{gap:12px;padding:0 15px}.native-tooltip-header h2{font-size:20px}}

/* Zoom-safe document flow: controls and the combo editor can extend downward. */
html,body{height:auto;min-height:100%;overflow-y:auto}
.combo-toggle{position:relative;right:auto;bottom:auto;display:block;margin:16px 0 0 auto;max-width:100%}
.combo-dock{position:relative;left:auto;bottom:auto;transform:none;display:none;width:100%;margin-top:10px;grid-template-columns:165px minmax(0,1fr) 165px}
.combo-dock.open{display:grid;transform:none}.combo-track{min-width:0}.combo-actions{flex-wrap:wrap}
@media(max-width:760px){.combo-dock{grid-template-columns:115px minmax(0,1fr)}}

/* Combo workspace: the native K window remains an independent right pane. */
.app-shell{width:min(2200px,calc(100% - 32px));margin-bottom:72px}
.lab-layout{display:grid;grid-template-columns:minmax(480px,1fr) minmax(0,1040px);gap:22px;align-items:start}
.skill-pane{grid-column:2;grid-row:1;min-width:0}.skill-pane .side-rail{display:none}
.combo-workspace{grid-column:1;grid-row:1;min-width:0;background:#202227;border:1px solid #49494b;box-shadow:0 12px 32px #0005}
.combo-workspace [hidden]{display:none!important}
.workspace-header{padding:24px 24px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #3d3e41}
.workspace-header>div>span{font-size:10px;letter-spacing:.15em;color:#b79b69}.workspace-header h1{font-size:25px;font-weight:400;margin:8px 0 0;color:#ece4d5}
.workspace-header h1 b{font-size:13px;vertical-align:middle;margin-left:9px;color:#d4b16a;font-weight:400}
.combo-workspace button{cursor:pointer}.combo-workspace button:disabled{cursor:default;opacity:.4}
.workspace-header>button{border:1px solid #b49458;background:#51432c;color:#f3dfb2;padding:11px 18px;white-space:nowrap}
.workspace-tabs{display:flex;border-bottom:1px solid #45464b;background:#25272c}.workspace-tabs button{flex:1;border:0;border-bottom:2px solid transparent;background:none;color:#98968f;padding:15px 4px;font-size:14px}.workspace-tabs button.active{color:#eed8ac;border-bottom-color:#c6a164;background:#302e2b}
#workspace-combo,#workspace-settings,#workspace-common{padding:20px 22px}.combo-meta{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:14px}.combo-workspace label{font-size:12px;color:#aaa69c;display:block}.combo-workspace input,.combo-workspace textarea,.combo-workspace select{display:block;width:100%;border:1px solid #505055;background:#191b1f;color:#dfd9ce;padding:9px 10px;margin-top:7px;font-size:13px;border-radius:2px;min-width:0}.combo-workspace input:focus,.combo-workspace textarea:focus,.combo-workspace select:focus{outline:1px solid #bea170;border-color:#bea170}.combo-workspace textarea{resize:vertical;min-height:66px;line-height:1.6}.combo-meta .title-label input{font-size:17px;color:#efe4cf}.combo-meta select{height:42px}
.example-bar{display:flex;align-items:center;gap:10px;margin:18px 0 0;padding:13px;background:#2c2923;border:1px solid #60543b;flex-wrap:wrap}.example-bar>div{flex:1;min-width:170px}.example-bar b,.example-bar span{display:block}.example-bar b{font-size:13px;color:#dcc291}.example-bar span{font-size:11px;color:#a69c89;margin-top:5px}.example-bar button{font-size:11px;padding:8px;border:1px solid #756244;color:#e3c89c;background:#3c3428}.example-source{font-size:11px;color:#a8a093;line-height:1.8;margin:12px 0}.example-source a{color:#dcc38f;text-underline-offset:3px}
.sequence-heading{display:flex;align-items:center;gap:10px;margin-top:23px;margin-bottom:12px;font-size:12px}.sequence-heading>b{font-weight:400;color:#e0d7c6;white-space:nowrap}.sequence-heading>span{font-size:11px;color:#91a887;flex:1}.sequence-heading>span.has-issues{color:#e8ad73}.sequence-heading>button{background:none;border:0;color:#9c9286;font-size:11px;white-space:nowrap}
.combo-sequence{display:grid;gap:7px}.combo-step{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:6px 8px;padding:10px 9px;background:#292b30;border:1px solid #414246;position:relative;align-items:center}.combo-step.selected{border-color:#c09c5b;background:#353027;box-shadow:inset 2px 0 #c09c5b}.step-number{grid-column:1;grid-row:1/3;text-align:center;font-size:15px;color:#8d8a82}.step-number small{display:block;color:#d4b06c;font-size:9px;margin-top:5px}.step-select{grid-column:2;grid-row:1;border:0;background:none;text-align:left;padding:0;display:flex;gap:11px;align-items:center;color:inherit;min-width:0}.step-select img{width:42px;height:42px;border:1px solid #a08a64;object-fit:contain;flex:none}.step-select>span{min-width:0}.step-select b{font-size:14px;display:block;font-weight:400;line-height:1.5;overflow-wrap:anywhere}.step-select small{display:block;font-size:11px;color:#d4bd8f;margin-top:3px;overflow-wrap:anywhere}.step-tags{grid-column:2;display:flex;flex-wrap:wrap;gap:4px}.step-tags span,.step-tags em{font-size:10px;color:#a9aba1;background:#202327;border:1px solid #4b4d4b;padding:2px 5px;font-style:normal}.step-tags em{color:#e1ab83;border-color:#77563d}.step-order{grid-column:3;grid-row:1/3;display:grid;grid-template-columns:25px;gap:2px}.step-order button{height:22px;background:#222429;border:1px solid #484a4d;color:#a9a296;font-size:12px}.step-order button:last-child{color:#bd9883}
.workspace-empty{padding:42px 12px;text-align:center;border:1px dashed #56514a;color:#c6bda9}.workspace-empty p{font-size:12px;color:#8f8c84;line-height:1.9}.repeat-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;margin:17px 0}.repeat-row select{margin-top:0;font-size:11px}
.step-editor{border:1px solid #63563e;background:#26251f;margin:20px 0}.step-editor:empty{display:none}.step-editor>header{padding:15px;border-bottom:1px solid #514936}.step-editor header small{display:block;font-size:11px;color:#b8a079}.step-editor header b{display:block;font-size:16px;color:#e6d2aa;margin-top:7px;font-weight:400}.step-form{padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:13px}.step-form .wide{grid-column:1/-1}.field-help{font-size:10px;line-height:1.7;color:#9f9788;margin:0;padding:0 15px 15px}.combo-note-label{margin-top:18px}.combo-effect-summary{border-top:1px solid #45464b;margin-top:22px;padding-top:17px}.combo-effect-summary>b{font-size:13px;font-weight:400}.combo-effect-summary>small{font-size:10px;display:block;margin:6px 0 10px;color:#898b83}#comboEffects{display:flex;flex-wrap:wrap;gap:6px}.combo-workspace .effect-chip{border-radius:2px;font-size:11px;padding:5px 8px}
.workspace-footer{border-top:1px solid #44454a;padding:16px 22px;display:flex;justify-content:space-between;align-items:center;gap:12px}.workspace-footer span{font-size:10px;line-height:1.7;color:#929086}.workspace-footer button{padding:6px;border:0;background:none;color:#a39785;font-size:10px}.workspace-intro{font-size:12px;line-height:1.9;color:#aaa69b;margin:0 0 18px}.settings-section{border-top:1px solid #48494b;padding:17px 0}.settings-section h3{font-size:15px;font-weight:400;margin:0 0 10px;color:#dcc79d;display:flex;gap:10px;align-items:center}.settings-section h3>b{font-size:11px;font-weight:400;color:#8f9a85}.settings-section p{font-size:11px;color:#99978e;line-height:1.9}.settings-section button{background:#33332d;border:1px solid #676044;padding:6px 8px;color:#ceb987;font-size:11px}.settings-section h3>button{margin-left:auto}.setting-skill{padding:9px 0;border-top:1px solid #34363a;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px}.setting-empty{color:#797a74;font-size:11px}.enhancement-settings{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.enhancement-settings>span{font-size:10px;color:#929083;padding:10px;border:1px solid #454642}.enhancement-settings b{display:block;font-size:12px;font-weight:400;margin-top:8px;color:#d4c5a5}.setting-addon{display:flex;gap:12px;padding:12px 0;border-top:1px solid #383a3d}.setting-addon>small{color:#b69961;width:16px}.setting-addon b{font-size:12px;font-weight:400}.setting-addon>span>span{display:block;color:#b5b39c;font-size:11px;margin-top:6px;line-height:1.6}.dataset-card{display:grid;gap:9px;border:1px solid #555143;background:#292820;padding:16px}.dataset-card b{font-size:13px;font-weight:400;color:#d6c398}.dataset-card span{font-size:11px;color:#a6a08f}.dataset-card small{font-size:10px;color:#7e807a;overflow-wrap:anywhere}.common-command{color:#d7c18e!important}.common-marks{display:flex;gap:5px}.common-marks img{width:18px;height:18px}.version-notice{margin:12px 20px;background:#4c382b;border:1px solid #8b6546;color:#e0b38f;font-size:12px;padding:12px;line-height:1.8}.skill-node.combo-selected{outline:1px solid #c3a464;outline-offset:4px}
@media(max-width:1640px){.app-shell{width:min(1040px,calc(100% - 16px))}.lab-layout{display:flex;flex-direction:column;gap:20px}.skill-pane{width:100%;order:1}.combo-workspace{width:100%;order:2}.combo-sequence{grid-template-columns:1fr 1fr}.combo-step .step-number{font-size:13px}.combo-step .step-select b{font-size:12px}.step-editor .step-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.app-shell{width:calc(100% - 8px)}.workspace-header{padding:19px 15px}.workspace-header h1{font-size:21px}#workspace-combo,#workspace-settings,#workspace-common{padding:16px 14px}.combo-sequence{grid-template-columns:1fr}.combo-meta{grid-template-columns:minmax(0,1fr) 100px}.repeat-row{grid-template-columns:1fr;gap:7px}.workspace-footer{padding:14px;align-items:flex-start}.enhancement-settings{grid-template-columns:1fr}.step-form{padding:12px}.example-bar{align-items:stretch}.workspace-header>button{padding:9px 12px}.class-toolbar{flex-wrap:wrap;height:auto;min-height:48px}}

/* Extracted effect sprites with readable names beside each combo role. */
.trait-badge{display:inline-flex;align-items:center;gap:5px;min-width:0;font-size:10px;line-height:1.4;vertical-align:middle;color:#bfc6b7}
.trait-badge>img{width:16px;height:16px;object-fit:contain;flex:none}.trait-badge>span{min-width:0}.trait-badge small{display:block;font-size:9px;color:#b5a787;margin-top:2px}
.step-tags .trait-badge{padding:3px 6px;border:1px solid #50584c;background:#252b26;color:#c7cebc}
.step-tags .trait-badge>span{border:0;background:none;padding:0;color:inherit;font-size:10px}
.combo-workspace .effect-chip>.trait-badge{font-size:11px}.combo-workspace .effect-chip .trait-badge>span{padding:0;border:0;background:none}
.combo-drop-hint{font-size:11px;color:#a79d85;line-height:1.7;margin:0 0 11px}.combo-sequence{position:relative;min-height:84px}
.combo-sequence.drag-ready{outline:1px dashed #b2955d;outline-offset:5px;background:#65543113}.combo-sequence.drag-over{outline:2px solid #d8b36e;outline-offset:5px;background:#89704420}
.combo-step.drop-before::before,.combo-step.drop-after::after{content:"";position:absolute;left:0;right:0;height:3px;background:#e2bf79;box-shadow:0 0 6px #d6a854;z-index:2;pointer-events:none}
.combo-step.drop-before::before{top:-6px}.combo-step.drop-after::after{bottom:-6px}
.skill-icon-target.skill-drag-source,.skill-name.skill-drag-source,.enhancement-result-name.skill-drag-source,.enhancement-icon.skill-drag-source{cursor:grab}
.skill-drag-source:active,.combo-step:active{cursor:grabbing}
.coverage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 18px}.coverage-grid>span{border:1px solid #444842;padding:11px 8px;font-size:10px;color:#9c9f92}.coverage-grid b{display:block;color:#d6c294;font-size:16px;font-weight:400;margin-top:8px}
.common-coverage,.common-section{border:1px solid #454844;background:#242729;margin:12px 0}.common-coverage summary,.common-section summary{padding:12px;font-size:12px;color:#d7c49c;cursor:pointer;line-height:1.7}.common-coverage>div{padding:12px;border-top:1px solid #3f423e;font-size:12px}.common-coverage>div>b{font-weight:400;color:#d2ccbe}.common-coverage em{float:right;font-style:normal;font-size:10px;padding:3px 6px;border:1px solid #586346;color:#afc593}.common-coverage em.partial{color:#d1ae7d;border-color:#6f5d43}.common-coverage p{font-size:11px;color:#969c91;line-height:1.8;margin:10px 0 0}.common-coverage>p{padding:0 12px 12px}
.common-picker{margin-top:21px}.common-picker select{font-size:14px}.common-skill{margin-top:20px;border-top:1px solid #60563f;padding-top:18px}.common-skill>header{display:flex;align-items:center;gap:13px}.common-skill>header>div{width:48px;height:48px;flex:none}.common-skill>header .skill-icon{width:48px;height:48px;object-fit:contain}.common-skill h3{font-size:17px;font-weight:400;margin:0;color:#e0caa1}.common-skill h3 small{font-size:11px;display:block;color:#929688;margin-top:6px}.common-rank-label{margin-top:15px}.common-traits{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.common-traits>.trait-badge{font-size:11px;border:1px solid #4e574a;padding:5px 7px;background:#292f28}.common-description{font-size:13px;line-height:1.9;color:#a1a097;white-space:normal}
.common-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px;margin:17px 0;font-size:11px}.common-meta>div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #3d4140;padding:9px 0;align-items:center}.common-meta dt{color:#989c91}.common-meta dd{margin:0;color:#d6c49a;text-align:right;overflow-wrap:anywhere}
.common-section>div,.common-section>p{padding:0 12px 12px;font-size:12px;line-height:1.9;margin:0;color:#b5b8ac}.common-section .common-native-effects p{margin:6px 0}.common-section .detail-section{padding:0 12px 12px;border:0}.common-section .detail-section h3{font-size:12px;margin-bottom:10px}.common-native-command{color:#d8ceab!important}.common-table-wrap{overflow-x:auto}.common-addon-table{width:100%;border-collapse:collapse;font-size:11px}.common-addon-table td,.common-addon-table th{text-align:left;border-bottom:1px solid #44483e;padding:8px 5px;font-weight:400}.common-addon-table th{color:#c2b18b}.common-addon-table td:last-child{white-space:nowrap;width:64px;color:#b9c69d}.common-skill-actions{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.common-skill-actions button{background:#343126;border:1px solid #6d6041;padding:9px 12px;color:#d7c192;font-size:12px}
@media(max-width:480px){.coverage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.common-meta{grid-template-columns:1fr}.step-tags .trait-badge{padding:3px 4px}.step-tags .trait-badge>span{font-size:10px}}

/* The atlas starts with tactical collections; per-skill detail is secondary. */
.atlas-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.atlas-heading>div>span{font-size:9px;letter-spacing:.16em;color:#bda572}.atlas-heading h2{font-weight:400;font-size:25px;color:#e7d6b5;margin:7px 0}.atlas-heading p{font-size:11px;color:#9e9e90;margin:0}.atlas-heading>b{font-size:29px;font-weight:400;color:#d3b475;text-align:center}.atlas-heading>b>small{display:block;font-size:10px;color:#8c958a;margin-top:4px}
.atlas-sections{display:flex;flex-wrap:wrap;gap:5px;border-bottom:1px solid #4b4c45;padding-bottom:12px}.atlas-sections button{border:1px solid #4a4d47;background:#272b29;color:#aeb3a6;padding:9px 11px;font-size:12px}.atlas-sections button.active{background:#4a4030;border-color:#ad8f56;color:#ead3a2}.atlas-filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.atlas-filter-chips button{display:flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid #4a4e44;background:#222822;color:#a8b29c;font-size:11px}.atlas-filter-chips img{width:16px;height:16px;object-fit:contain}.atlas-filter-chips button b{font-size:10px;color:#7f8a75;font-weight:400;margin-left:4px}.atlas-filter-chips button.active{color:#e2ce9c;border-color:#ad9258;background:#383629}.atlas-filter-chips button.active b{color:#c5b38b}.atlas-description{font-size:11px;line-height:1.85;color:#a1a696;margin:12px 0 18px}
.atlas-controls{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:10px;align-items:end;padding-bottom:17px;border-bottom:1px solid #454b43}.atlas-controls>label{font-size:10px}.atlas-controls input,.atlas-controls select{font-size:12px;padding:8px}.atlas-controls .atlas-unlearned{display:flex;align-items:center;gap:5px;white-space:nowrap;padding-bottom:10px}.atlas-controls .atlas-unlearned input{display:inline-block;width:13px;height:13px;margin:0;accent-color:#bfa268}
.atlas-results-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:17px 0 12px}.atlas-results-heading>b{font-size:14px;color:#d7c39e;font-weight:400}.atlas-results-heading>span{font-size:9px;color:#929b8c;text-align:right}.atlas-results{display:grid;gap:10px;max-height:min(66dvh,780px);overflow-y:auto;overscroll-behavior:contain;padding:2px 7px 4px 2px;scrollbar-color:#6d6958 #242725}.atlas-card{background:#272c29;border:1px solid #4b5348;padding:13px;min-width:0}.atlas-card-main{display:flex;gap:11px;align-items:center}.atlas-card-icon{width:43px;height:43px;padding:0;border:1px solid #908365;background:#1c211e;flex:none;color:#ddc68c}.atlas-card-icon img{width:100%;height:100%;object-fit:contain}.atlas-card-title{flex:1;min-width:0}.atlas-card-title>button{display:block;text-align:left;background:none;border:0;color:#e1dac8;font-size:14px;padding:0;line-height:1.7;overflow-wrap:anywhere}.atlas-card-title>small{display:block;color:#bda981;font-size:10px;margin-top:4px;line-height:1.6}.atlas-card-main .atlas-add{width:29px;height:29px;background:#423a2a;border:1px solid #8a754a;color:#d6bc82;font-size:20px;flex:none;padding:0}.atlas-card-state{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:11px}.atlas-card-state>span{font-size:10px;color:#929f8c}.atlas-card-state .learned{color:#9fb792}.atlas-card-state .unlearned{color:#c3a578}.atlas-card-traits{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.atlas-card-traits>.trait-badge{padding:3px 5px;background:#1e2720;border:1px solid #43523c}.atlas-unlearned-card{border-color:#555147;background:#2b2c28}.atlas-card-evidence{border-top:1px solid #414a3c;margin-top:12px;padding-top:10px;color:#b9c1ad;line-height:1.85;font-size:11px}.atlas-card-evidence>small{display:block;font-size:9px;letter-spacing:.03em;color:#8e9c85}.atlas-card-evidence p{margin:5px 0;overflow-wrap:anywhere}.atlas-card-evidence summary{font-size:10px;color:#b9a476;cursor:pointer}.atlas-card .atlas-detail-link{display:block;margin:10px 0 0 auto;border:0;background:none;color:#b5a47f;font-size:10px;padding:3px 0}.atlas-empty{padding:30px 16px;text-align:center;border:1px dashed #54584b;font-size:12px;color:#bcc3ac}.atlas-empty p{color:#909a86;font-size:11px;line-height:1.9}
.atlas-report{border:1px solid #80704e;background:#302d24;padding:16px}.atlas-report>header{display:grid;gap:9px}.atlas-report>header>span{font-size:10px;color:#cbb079}.atlas-report>header>b{font-size:14px;color:#e0ceaa;font-weight:400}.atlas-report>p{font-size:12px;line-height:1.9;color:#bbb49f;margin:11px 0}.atlas-report .report-input{color:#dfc791}.atlas-report>small{display:block;font-size:10px;line-height:1.9;color:#a4987f}.atlas-skill-detail,.atlas-data-status{margin-top:20px;border:1px solid #4c5145;background:#232724}.atlas-skill-detail>summary,.atlas-data-status>summary{padding:13px;font-size:12px;color:#c9b78e;cursor:pointer}.atlas-skill-detail #commonSkillDetail{padding:0 14px 14px}.atlas-skill-detail .dataset-card,.atlas-skill-detail .coverage-grid,.atlas-skill-detail .common-coverage,.atlas-skill-detail .workspace-intro{display:none}.atlas-data-status>p{padding:0 13px;font-size:11px;line-height:1.85;color:#99a08f}.atlas-data-status>small{display:block;padding:0 13px 13px;font-size:9px;color:#798475;overflow-wrap:anywhere}
@media(min-width:761px) and (max-width:1640px){.atlas-results{grid-template-columns:repeat(2,minmax(0,1fr))}.atlas-report,.atlas-empty{grid-column:1/-1}}
@media(max-width:480px){.atlas-controls{grid-template-columns:minmax(0,1fr) 105px}.atlas-controls .atlas-unlearned{grid-column:1/-1;padding-bottom:0}.atlas-sections button{padding:8px 9px;font-size:11px}.atlas-filter-chips button{font-size:10px}.atlas-card-title>button{font-size:13px}.atlas-results-heading>span{max-width:125px;line-height:1.7}}

/* Keep role, opener benefits and protection on the same clickable combo card. */
.combo-step{grid-template-rows:auto}.combo-step .step-number,.combo-step .step-order{grid-row:1}.combo-step .step-select{align-items:flex-start}.combo-step .step-select>img{flex:none}.combo-step .step-summary{display:block;min-width:0;flex:1}.combo-step .step-summary>.step-tags{margin-top:9px;text-align:left}.step-tags .opener-badge{color:#dfce9c;background:#3b3524;border-color:#7d6c42;font-size:10px;padding:4px 6px;line-height:1.5}.step-tags .opener-badge.defenseDown,.step-tags .opener-badge.evasionDown{color:#e0b28e;background:#382d26;border-color:#79583e}.step-tags .equipment-requirement{color:#c4b2d5;border-color:#625174;background:#302a38}.step-tags .trait-badge small{font-size:9px;color:#b5a787;margin-top:2px}.atlas-equipment-source{font-size:10px;line-height:1.8;margin-top:9px;color:#ac9cb7}.atlas-equipment-source a{color:#c1accb;text-underline-offset:3px}.equipment-detail-note{border:1px solid #685575;padding:12px;margin:14px 0;font-size:12px;color:#c8b8d1;line-height:1.8}.equipment-detail-note a{color:#d4bfdc}.atlas-controls{grid-template-columns:minmax(0,1fr) 145px auto}
@media(max-width:480px){.atlas-controls{grid-template-columns:minmax(0,1fr) 145px}.combo-step .step-select>img{width:37px;height:37px}.step-tags .opener-badge{padding:3px 5px}}

#themeToggle{margin-left:auto;flex:none;border:1px solid #81745d;border-radius:4px;background:#35352f;color:#dfd3b8;padding:7px 12px;cursor:pointer;font-size:13px} .addon-empty-square{cursor:pointer;font:inherit}.addon-empty-square:hover,.addon-empty-square:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
/* Cross-skill routes keep empirical examples separate from decoded candidates. */
.relation-results{grid-template-columns:1fr}.relation-card{min-width:0}.relation-card.verified{border-left:3px solid #9bb57e}.relation-card.candidate{border-left:3px solid #9a8869}.relation-status{display:inline-block;font-weight:700}.relation-skill-row{display:flex;gap:9px;align-items:center;margin-top:14px}.relation-skill-row>i{font-style:normal;color:#a79771}.relation-skill{display:flex;gap:8px;align-items:center;flex:1;min-width:0;padding:8px;background:#232824;border:1px solid #5d6655;color:#d4d5c3;text-align:left;cursor:grab}.relation-skill .skill-icon{width:36px;height:36px;object-fit:contain;flex:none}.relation-skill>span:not(.skill-icon){font-size:12px;line-height:1.6}.relation-tooltip-status,.relation-default-input,.relation-footnote{font-size:11px;color:#b5ab95;line-height:1.8}.relation-footnote{margin-top:16px}.relation-evidence{font-size:10px;color:#aaa68f;overflow-wrap:anywhere;margin-top:12px}.relation-evidence summary{cursor:pointer}.relation-evidence code{font-size:10px}.relation-evidence p{line-height:1.8}.relation-add,.relation-more{border:1px solid #8a7954;background:#413a2a;color:#e0cca2;padding:9px 12px;cursor:pointer;margin-top:14px;font-size:12px}.relation-more{width:100%}.relation-notice{border-left:2px solid #90835f;padding-left:12px}
@media(max-width:480px){.relation-skill-row{flex-wrap:wrap}.relation-skill{flex-basis:42%}.relation-skill>span:not(.skill-icon){font-size:11px}}

/* Extracted skill identities in every build setting; no learned-state recoloring. */
.setting-skill-identity{display:inline-flex;align-items:center;gap:10px;min-width:0;vertical-align:middle;text-align:left}
.setting-skill-identity>span{min-width:0;overflow-wrap:anywhere;line-height:1.6}
.setting-skill-icon{width:34px;height:34px;flex:none;object-fit:contain;border-radius:2px;background:#30352f;box-shadow:0 1px 3px #0003}
.setting-skill>button{flex:none}.setting-core-list{display:flex;flex-wrap:wrap;gap:12px 18px}.enhancement-settings .setting-skill-identity{align-items:flex-start;gap:8px}.enhancement-settings .setting-skill-icon{width:30px;height:30px}
@media(max-width:480px){.setting-skill-icon{width:30px;height:30px}.setting-skill-identity{gap:8px}}

/* Roles sit under the icon, while benefits remain beside the skill description. */
.combo-step .step-identity{display:flex;flex-direction:column;align-items:center;gap:6px;flex:0 0 48px;width:48px}
.combo-step .step-identity>img{width:42px;height:42px;object-fit:contain;flex:none}
.combo-step .step-role{font-size:10px;line-height:1.4;color:#d2c19e;border:0;background:#39382e;padding:3px 4px;border-radius:3px;white-space:nowrap}
.combo-step .step-role.movement{background:#2e3a3c;color:#b8d5d4}.combo-step .step-role.opener{background:#3c382a;color:#dfce9b}.combo-step .step-role.finisher{background:#3e3030;color:#ddbbb1}
.sequence-heading{flex-wrap:wrap}.sequence-heading>span{min-width:120px}
.atlas-hidden-link{width:100%;border:1px solid #827548;background:#393429;color:#dbc593;text-align:left;padding:11px;margin:0 0 14px;cursor:pointer;font-size:12px}
.relation-tooltip-compare{font-size:11px;line-height:1.8;margin:12px 0;color:#b7bdab}.relation-tooltip-compare summary{cursor:pointer;color:#c9bc98}.relation-tooltip-compare b{display:block;margin:12px 0 4px}.relation-tooltip-compare p{margin:6px 0}
@media(max-width:480px){.combo-step .step-identity{flex-basis:40px;width:40px}.combo-step .step-identity>img{width:37px;height:37px}.combo-step .step-role{font-size:9px;padding:3px}}
/* Icon-only native tooltips; the neighboring button edits personal usage. */
.combo-step{grid-template-columns:28px 48px minmax(0,1fr) auto;align-items:start}
.combo-step .step-identity{grid-column:2;grid-row:1}.combo-step .step-select{grid-column:3;grid-row:1}.combo-step .step-order{grid-column:4;grid-row:1}
.combo-skill-icon{width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid #9c845f;background:#25221f;cursor:help}
.combo-skill-icon img{width:42px;height:42px;object-fit:contain}.combo-skill-icon:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.step-addons{display:block;margin-top:10px;padding-top:8px;border-top:1px solid #5b503c;line-height:1.7;font-size:11px;color:#cfbe96}.step-select .step-addons>b{font-size:10px;color:#b99c6b;margin:0 0 3px}.step-addons>span{display:block}
#commonData{container-type:inline-size}.atlas-results:not(.relation-results){grid-template-columns:1fr}
.atlas-card{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.2fr);gap:18px;align-items:center}
.atlas-card-overview{min-width:0}.atlas-card-title>b{display:block;font-size:14px;line-height:1.7;color:#e1dac8;font-weight:400;overflow-wrap:anywhere}
.atlas-card-evidence{border-top:0;border-left:1px solid #4c5144;margin:0;padding:0 0 0 18px}.atlas-card.no-evidence .atlas-card-overview{grid-column:1/-1}
@container (max-width:600px){.atlas-card{grid-template-columns:1fr;gap:12px}.atlas-card-evidence{border-left:0;border-top:1px solid #4c5144;padding:10px 0 0}}
.relation-behavior{border-left:2px solid #9d895f;padding:8px 12px;margin:12px 0;background:#272a24;color:#c8c7b4;font-size:11px;line-height:1.8}
.relation-behavior>b{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;font-weight:400;color:#dcc491}.relation-behavior>b>small{font-size:10px;color:#91a481}.relation-behavior p{margin:4px 0}.relation-behavior p>span{display:inline-block;margin-right:8px;color:#b29b6f;font-size:10px}.relation-behavior>small{font-size:10px;display:block;color:#a7a38d}
.relation-effect-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:7px}.relation-effect-tags>span{padding:3px 8px;background:#443c2b;color:#ead2a2;border-radius:4px;font-size:12px}.relation-player-effects>p{line-height:1.8}.relation-card .relation-default-input{padding:0 12px}.relation-card-actions{margin-top:4px}
@media(max-width:480px){.combo-step{grid-template-columns:22px 40px minmax(0,1fr) auto;column-gap:6px}.combo-skill-icon{width:39px;height:39px}.combo-skill-icon img{width:37px;height:37px}}

.class-toolbar .motion-viewer-link{margin-left:auto;font-size:12px;color:inherit;text-decoration:none;border:1px solid #a99777;border-radius:5px;padding:5px 9px;white-space:nowrap}.class-toolbar .motion-viewer-link:hover{background:#a8874940}.class-toolbar .motion-viewer-link:focus-visible{outline:2px solid #b98b3e;outline-offset:3px}@media(max-width:620px){.class-toolbar .motion-viewer-link{font-size:10px;padding:4px 5px}}
.relation-call-study{font-size:11px;line-height:1.8;margin:12px 0;color:#b7b4a7;overflow-wrap:anywhere}.relation-call-study summary{cursor:pointer;color:#c9bc98}.relation-call-study b{display:block;margin-top:12px}.relation-call-study p{margin:6px 0}.relation-call-study code{font-size:10px}.relation-call-study small{display:block;color:inherit;opacity:.85}
.relation-controls{display:flex;flex-wrap:wrap}.relation-controls>label{flex:1 1 145px;min-width:0}.relation-controls>label:first-child{flex:1.4 1 165px}.relation-controls input,.relation-controls select{width:100%;min-width:0}
.relation-motion-compare{display:grid;gap:7px;margin:12px 0}.relation-motion-path{display:grid;grid-template-columns:60px minmax(0,1fr);gap:8px;align-items:center}.relation-motion-path>span{font-size:10px;color:#b4a68d}.relation-motion-path>div{display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-width:0}.relation-motion-path b{font-size:11px;font-weight:400;padding:4px 8px;border-radius:3px;background:#34362d;color:#d9d0ba;overflow-wrap:anywhere}.relation-motion-path i{font-style:normal;color:#a79265}.relation-motion-path:last-child b{background:#443c2b;color:#ead2a2}.relation-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:12px 0 2px}.relation-facts>div:first-child{grid-column:1/-1}.relation-facts dt{font-size:10px;color:#a99b7f}.relation-facts dd{margin:2px 0 0;font-size:11px;line-height:1.7;overflow-wrap:anywhere}.relation-observation-tag{display:inline-block;padding:2px 7px;margin-top:6px;background:#3a4230;color:#c9d9b3;font-size:10px;border-radius:3px}.relation-default-input>b,.relation-card .report-input>b{font-size:10px;display:block}.relation-card .report-input,.relation-default-input{font-size:11px;line-height:1.8;margin:12px 0}.relation-card .report-input p,.relation-default-input p{margin:3px 0}.relation-card .report-input small,.relation-default-input small{display:block;font-size:10px;opacity:.85}.relation-observation-note{font-size:11px;line-height:1.8;margin:12px 0;color:#b7b4a7}.relation-observation-note summary{cursor:pointer}.relation-observation-note p{margin:6px 0}
.game-window.motion-active>:not(.relation-motion-panel){display:none!important}.relation-motion-panel{background:#24211c;min-height:760px}.relation-motion-panel[hidden]{display:none!important}.relation-motion-panel>header{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 17px;border-bottom:1px solid #706044}.relation-motion-panel>header>div{min-width:0}.relation-motion-panel>header b{display:block;font-size:14px;overflow-wrap:anywhere;color:#dec496}.relation-motion-panel>header small{display:block;font-size:10px;color:#b6a78d;margin-top:5px}.relation-motion-panel button,.relation-motion-open{font:inherit;font-size:11px;background:#413a2a;color:#e0cca2;border:1px solid #8a7954;padding:9px 12px;cursor:pointer;flex:none}.relation-motion-panel iframe{display:block;width:100%;height:max(820px,calc(100dvh - 190px));border:0}.relation-card-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.relation-motion-open{margin-top:14px}.relation-motion-open:disabled{opacity:.45;cursor:not-allowed}

/* Skill-first relation browser: behavior labels belong to an edge, not the catalogue navigation. */
.relation-skill-browser{border:1px solid #5d523f;background:#292720;margin:15px 0}.relation-skill-browser>header{display:grid;grid-template-columns:minmax(170px,1fr) minmax(180px,.8fr) 150px;gap:12px;align-items:end;padding:12px;border-bottom:1px solid #514936}.relation-skill-browser>header>div>b{display:block;color:#dfcfaa;font-size:13px}.relation-skill-browser>header>div>small{display:block;color:#aaa18e;font-size:10px;line-height:1.5;margin-top:4px}.relation-skill-browser label{font-size:10px;color:#aaa18e}.relation-skill-browser input,.relation-skill-browser select{display:block;width:100%;margin-top:5px;background:#201f1a;color:#d7d0bd;border:1px solid #655a45;padding:8px;font:inherit}.relation-skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:6px;padding:9px;max-height:238px;overflow:auto;scrollbar-color:#746343 #26241e}.relation-skill-choice{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0;padding:7px;background:#333128;border:1px solid transparent;color:#d5ceba;text-align:left;cursor:pointer}.relation-skill-choice:hover{border-color:#806e4e;background:#3b382d}.relation-skill-choice.active{border-color:#b49558;background:#4a402d;box-shadow:inset 3px 0 #c7a65e}.relation-skill-choice>img,.relation-skill-choice>i{width:34px;height:34px;object-fit:contain;background:#211f1a;display:grid;place-items:center;font-style:normal}.relation-skill-choice>span{min-width:0}.relation-skill-choice b,.relation-skill-choice small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.relation-skill-choice b{font-size:11px;font-weight:500}.relation-skill-choice small{font-size:9px;color:#a9a08d;margin-top:3px}.relation-skill-choice em{font-style:normal;min-width:20px;text-align:center;padding:3px 5px;background:#24231d;color:#c9b176;font-size:10px;border-radius:10px}.relation-skill-empty{grid-column:1/-1;text-align:center;color:#aaa18e;font-size:11px;padding:20px}
.relation-focus-card{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(180px,.8fr) auto;gap:16px;align-items:center;padding:15px;border:1px solid #9b7d47;background:linear-gradient(100deg,#393326,#2d2c24);margin:15px 0}.relation-focus-identity{display:flex;align-items:center;gap:12px;min-width:0}.relation-focus-identity>img,.relation-focus-identity>i{width:48px;height:48px;object-fit:contain;background:#211f1a;display:grid;place-items:center;font-style:normal;flex:none}.relation-focus-identity small{font-size:9px;color:#b79c67}.relation-focus-identity h3{font-size:15px;font-weight:500;color:#ead8ad;margin:3px 0}.relation-focus-identity p{font-size:10px;color:#b9af99;margin:0}.relation-focus-counts{display:grid;grid-template-columns:1fr 1fr;gap:7px}.relation-focus-counts span{padding:9px;background:#24231d;color:#bcb39f;font-size:10px;text-align:center}.relation-focus-counts b{display:block;color:#e2ca91;font-size:17px;margin-bottom:2px}.relation-focus-actions{display:flex;flex-direction:column;gap:7px}.relation-focus-actions button{border:1px solid #806d4b;background:#3c3528;color:#ddc797;padding:8px 10px;font:inherit;font-size:10px;cursor:pointer}.relation-focus-actions button:disabled{opacity:.45;cursor:not-allowed}
.relation-route-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px}.relation-route-columns>section{min-width:0;border-top:2px solid #756546}.relation-route-columns>section>header{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:10px 4px}.relation-route-columns>section>header span{font-size:8px;letter-spacing:.16em;color:#9f8c65}.relation-route-columns>section>header b{font-size:12px;font-weight:500;color:#d8c69d;overflow-wrap:anywhere}.relation-route-columns>section>header em{font-style:normal;color:#b39b69}.relation-route-list{display:grid;gap:9px}.relation-route-card{background:#2d2c25;border:1px solid #514b3d;padding:10px;min-width:0}.relation-route-main{display:grid;grid-template-columns:minmax(125px,.8fr) auto minmax(145px,1.2fr);gap:8px;align-items:center}.relation-route-skill{display:flex;align-items:center;gap:8px;min-width:0;background:#22211c;border:1px solid #4d493d;color:#d5cebb;padding:6px;text-align:left;cursor:grab}.relation-route-skill .skill-icon{width:34px;height:34px;flex:none;object-fit:contain}.relation-route-skill>span{min-width:0}.relation-route-skill b,.relation-route-skill small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.relation-route-skill b{font-size:10px;font-weight:500}.relation-route-skill small{font-size:8px;color:#a9a18f;margin-top:3px}.relation-route-main>i{font-style:normal;color:#aa9160;font-size:9px;white-space:nowrap}.relation-route-effect>span{display:inline-block;background:#493e2b;color:#ead39f;padding:3px 6px;border-radius:3px;font-size:9px;margin:2px 3px 2px 0}.relation-route-effect p{font-size:10px;line-height:1.6;color:#bbb3a1;margin:5px 0 0}.relation-route-phase,.relation-route-input{display:grid;grid-template-columns:54px 1fr;gap:7px;margin:9px 0 0;font-size:9px;line-height:1.6;color:#b8b09d}.relation-route-phase b,.relation-route-input b{color:#a99161;font-weight:500}.relation-route-card .relation-card-actions{margin-top:9px}.relation-route-card .relation-add,.relation-route-card .relation-motion-open{margin:0;padding:7px 8px;font-size:9px}.relation-route-empty{border:1px dashed #514b3d;color:#99917f;padding:22px 10px;text-align:center;font-size:10px;margin:0}
@media(max-width:820px){.relation-skill-browser>header{grid-template-columns:1fr 1fr}.relation-skill-browser>header>div{grid-column:1/-1}.relation-focus-card{grid-template-columns:1fr}.relation-focus-actions{flex-direction:row}.relation-route-columns{grid-template-columns:1fr}}@media(max-width:520px){.relation-skill-browser>header{grid-template-columns:1fr}.relation-skill-browser>header>div{grid-column:auto}.relation-skill-grid{grid-template-columns:1fr}.relation-route-main{grid-template-columns:1fr}.relation-route-main>i{display:none}}

/* Compact, ordered command pairs in the connection atlas. */
.relation-focus-card{grid-template-columns:minmax(180px,1.2fr) minmax(160px,.8fr)}
.relation-route-columns{grid-template-columns:1fr}
.relation-route-card{padding:8px}
.relation-route-main{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) auto;gap:8px}
.relation-route-main>i{display:block;text-align:center;font-size:18px}
.relation-route-skill{cursor:pointer;min-height:54px;padding:8px}
.relation-route-skill b{font-size:12px}
.relation-route-skill small{font-size:10px;white-space:normal;overflow-wrap:anywhere}
.relation-route-skill:hover,.relation-route-skill:focus-visible{border-color:#bd9b61;outline-offset:2px}
.relation-route-main>.relation-motion-open{margin:0;align-self:stretch;padding:8px 12px;white-space:nowrap;font-size:11px}
@media(max-width:520px){.relation-focus-card{grid-template-columns:1fr}.relation-route-main{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) auto;gap:4px}.relation-route-skill{flex-direction:column;align-items:flex-start;padding:5px;gap:5px}.relation-route-skill b{font-size:10px;white-space:normal}.relation-route-skill small{font-size:9px}.relation-route-main>.relation-motion-open{padding:6px;font-size:10px}}

/* My setup: independent cards, compact rows, natural page height. */
#buildSettings{--settings-edge:#766044;--settings-surface:#22272c;--settings-row:#1d2329;--settings-line:#3b4147;--settings-gold:#e3c688;--settings-text:#e4e4df;display:grid;gap:14px}
.settings-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
#buildSettings .settings-section{position:relative;margin:0;padding:0;border:1px solid var(--settings-edge);border-radius:5px;background:linear-gradient(120deg,var(--settings-surface),#1a2026);min-width:0;overflow:hidden}
#buildSettings .settings-section>summary{display:flex;gap:9px;align-items:center;padding:16px 14px;min-height:54px;list-style:none;cursor:pointer;color:var(--settings-gold)}
#buildSettings summary::-webkit-details-marker{display:none}
#buildSettings summary h3{font-size:15px;font-weight:600;margin:0;color:inherit;line-height:1.4}
.settings-symbol{font-size:20px;width:22px;text-align:center;flex:none}.settings-count{padding:3px 7px;background:#ffffff0c;border-radius:3px;font-size:12px;font-weight:500;white-space:nowrap}

#buildSettings .settings-section-body{padding:0 12px 12px}#buildSettings .settings-section:not([open]) .settings-section-action{display:none}
#buildSettings .settings-section-action{position:absolute;right:12px;top:11px}#buildSettings .settings-section:has(.settings-section-action)>summary{padding-right:128px}
#buildSettings .settings-section-action+.settings-section-body{padding-top:0}
#buildSettings .settings-section button{font-family:inherit;border:1px solid #8c744d;border-radius:3px;padding:7px 10px;background:linear-gradient(#37332b,#272824);color:var(--settings-gold);cursor:pointer;line-height:1.45}
#buildSettings .settings-section button:hover{border-color:#dfbd79;background:#48402f}#buildSettings button:focus-visible,#buildSettings summary:focus-visible{outline:2px solid #e4bd70;outline-offset:-3px}
.setting-skill-list{display:grid;gap:6px}#buildSettings .setting-skill{min-height:52px;padding:7px 8px;border:1px solid var(--settings-line);border-radius:3px;background:var(--settings-row);gap:7px;color:var(--settings-text)}
#buildSettings .setting-skill button{padding:7px 8px;font-size:11px}#buildSettings .setting-skill-identity{gap:8px;min-width:0;font-size:12px;font-weight:500}#buildSettings .setting-skill-icon{width:32px;height:32px;object-fit:contain;background:#171b20}
#buildSettings .setting-empty{display:flex;align-items:center;justify-content:center;min-height:52px;border:1px dashed var(--settings-line);border-radius:3px;color:#aaa99f;font-size:12px;width:100%;padding:10px}
#buildSettings .enhancement-settings{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}#buildSettings .enhancement-settings>div{padding:10px;background:var(--settings-row);border:1px solid var(--settings-line);border-radius:3px;min-width:0}#buildSettings .enhancement-settings small{font-size:11px;color:#aaa9a2}#buildSettings .enhancement-settings b{margin-top:8px;color:var(--settings-text)}
#buildSettings .setting-core-list{min-height:40px;align-items:center;color:var(--settings-text)}
.settings-addon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#buildSettings button.setting-addon{display:flex;align-items:center;gap:10px;padding:12px 10px;min-height:80px;text-align:left;min-width:0;width:100%;border:1px dashed var(--settings-line);background:var(--settings-row);color:var(--settings-text)}
#buildSettings .setting-addon.is-selected{border-style:solid;border-color:#a38247;background:linear-gradient(100deg,#4d402950,var(--settings-row))}
#buildSettings .setting-addon>small{flex:none;width:14px;font-size:14px;color:var(--settings-gold)}#buildSettings .setting-addon>span{min-width:0}#buildSettings .setting-addon>span>span{font-size:11px;color:#c5c2b6;margin-top:4px}#buildSettings .setting-addon b{color:var(--settings-text)}
.setting-addon-plus{display:inline-flex;align-items:center;justify-content:center;border:1px solid #858780;border-radius:50%;width:30px;height:30px;flex:none;font-size:23px;color:#b9bbb9}
body:has(#workspace-settings:not([hidden])) .workspace-footer>span{display:none}body:has(#workspace-settings:not([hidden])) .workspace-footer{justify-content:flex-end}
@media(max-width:650px){.settings-overview{grid-template-columns:minmax(0,1fr)}#buildSettings .settings-addon-grid{grid-template-columns:minmax(0,1fr)}#buildSettings .enhancement-settings{grid-template-columns:minmax(0,1fr)}}
.settings-symbol svg{display:block;width:22px;height:22px}
