:root{color-scheme:dark;--gold:#d6ad64;--muted:#9b958a;--line:#3d372c;--panel:#191a19;--blue:#788aff}
.soul-roll{display:grid;grid-template-columns:minmax(100px,1fr) 90px;align-items:center;gap:8px;margin:8px 0}.gem-variant>label{margin-top:9px}.gem-variant .hint{margin:5px 0 12px}
.planner-page .gear-paper{zoom:1;transform:none;width:334px;max-width:none}
*{box-sizing:border-box}body{margin:0;background:#101111;color:#ddd6c7;font:14px/1.65 "Microsoft YaHei",system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{border:1px solid #4b4336;background:linear-gradient(#30302b,#242521);color:#d8cebc;padding:8px 15px;border-radius:3px;cursor:pointer}button:hover{border-color:#b79556;color:#ffe4ab}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:linear-gradient(#74572f,#49331b);border-color:#a58046;color:#ffe7b6}button[aria-pressed=true]{color:#ffe3aa;border-color:#b68f4f;background:#453820}input,select,textarea{color:#ece2d3;background:#101212;border:1px solid #4a463f;border-radius:2px;padding:8px 10px;max-width:100%;min-width:0}a{color:var(--gold);text-decoration:none}a:hover{text-decoration:underline}label{display:flex;flex-direction:column;gap:5px;color:#a8a08f;font-size:12px}h1,h2,h3,p{margin:0}h1{font:32px/1.4 Georgia,"SimSun",serif;letter-spacing:3px;color:#e2c38b}h2{font-size:16px;color:#e2c38b}h3{font-size:14px}small,.hint{color:var(--muted)}[hidden]{display:none!important}
.planner-page{max-width:1456px;margin:auto;padding:0 30px}.topbar{height:72px;border-bottom:1px solid #2c2b26;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;font-size:23px;letter-spacing:1px;color:#efe0c6}.brand span{color:#bf9757}.brand small{font-size:12px;margin-left:16px;font-weight:400}.topbar>div{display:flex;align-items:center;gap:25px}.topbar button{padding:6px 15px}.planner-header{display:flex;align-items:center;justify-content:space-between;padding:32px 0 25px}.eyebrow{font-size:10px;letter-spacing:4px;color:#8f7444;margin-bottom:5px}.planner-header p:not(.eyebrow){font-size:12px;color:#8f8e82;margin-top:6px}.header-actions{display:flex;gap:8px}.build-toolbar{display:flex;gap:20px;align-items:end;border-top:1px solid var(--line);padding-top:16px}.build-toolbar label{width:130px}.build-toolbar .build-name{width:260px}.build-toolbar .theme-field{width:220px}#save-state{font-size:12px;color:#999184;margin-left:auto;max-width:230px}.theme-help{font-size:12px;color:#a8a08f;margin:12px 0 20px;min-height:20px}.planner-layout{display:grid;grid-template-columns:354px minmax(330px,1fr) 342px;gap:18px;align-items:start}.panel{border:1px solid var(--line);background:var(--panel)}.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}.panel-heading span{font-size:11px;color:#96886c}.loadout-panel{padding-bottom:16px}#paper-wrap{margin:8px auto 0;width:334px;height:512px}.gear-paper{margin:0;border:1px solid #8f7141;background:radial-gradient(ellipse at 50% 35%,#a49064,#726043 65%,#4e4130);box-shadow:inset 0 0 25px #211706}.gear-paper::before{opacity:.17}.gear-paper .gear-item{padding:7px;border-radius:1px;box-shadow:inset 0 0 12px #0c0508aa}.gear-item.empty{border-color:#8c7249;background:#30251c25;box-shadow:inset 0 0 18px #39291944}.gear-item .gear-slot-label{font-size:10px;color:#e0cfaf}.gear-item:focus-visible,.gear-item.selected{outline:2px solid #fff0b5;outline-offset:2px}.gear-sockets{left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);gap:4px;pointer-events:none}.gear-gem{width:25px;height:25px;background:#111b;border:1px solid #d0c49e;box-shadow:0 1px 3px #000}.small-heading{text-align:center;color:#ac8f59;font-size:11px;font-weight:400;letter-spacing:3px;margin:12px 0 7px}.skill-bar,.passive-bar,.cube-bar{display:flex;justify-content:center;gap:7px;padding:0 12px}.skill-button{position:relative;padding:2px;width:47px;height:47px;flex-shrink:0;border:1px solid #a6813f;background:#10100c;box-shadow:inset 0 0 8px #584119}.skill-button svg{width:100%;height:100%}.skill-button span{position:absolute;right:3px;bottom:0;font-size:10px;color:white;text-shadow:1px 1px 2px #000}.passive-bar{gap:21px}.passive-bar .skill-button{border-radius:50%;overflow:hidden;width:47px;height:47px}.cube-bar .skill-button{width:57px;height:65px}.paper-help{text-align:center;font-size:10px;color:#837b6a;margin-top:14px}.editor-tabs{display:flex;border-bottom:1px solid var(--line)}.editor-tabs button{border:0;border-bottom:2px solid transparent;flex:1;padding:12px 5px;background:none;border-radius:0}.editor-tabs button[aria-pressed=true]{border-bottom-color:var(--gold);color:#eac580;background:#28241c}#editor{padding:20px;min-height:570px}.editor-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:18px}.editor-title button{font-size:12px;padding:4px 10px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.search-input{width:100%;margin:12px 0 8px}.item-results{max-height:270px;overflow-y:auto;scrollbar-color:#725c36 #1a1a18;border:1px solid #35332c}.result-item{display:flex;width:100%;align-items:center;gap:10px;padding:6px 10px;border:0;border-bottom:1px solid #333129;border-radius:0;text-align:left;background:#161715;min-height:49px}.result-item:hover{background:#30291c}.result-item .result-icon{height:42px;width:32px;flex-shrink:0}.result-item .result-subtitle{display:block;font-size:10px;color:#93846e}.editor-caption{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #373229;margin:22px 0 10px;padding-bottom:5px;color:#b69a69}.affix-edit{display:grid;grid-template-columns:minmax(105px,1fr) 85px 23px;gap:6px;align-items:center;margin:7px 0}.affix-edit:has(.range-pair){grid-template-columns:minmax(90px,1fr) 125px 23px}.affix-edit label{font-size:12px}.affix-edit input{width:100%;padding:6px;color:#f7e7b5}.affix-edit small{display:block;color:#786f60;font-size:10px}.affix-edit button{padding:1px;background:none;border:0;color:#80786d}.range-pair{display:flex;gap:4px}.add-affix{width:100%;margin-top:8px}.gem-editor{padding:10px 0;border-bottom:1px solid #302d27;display:grid;grid-template-columns:minmax(130px,1fr) 70px;gap:7px}.gem-editor .gem-variant{grid-column:1/-1}.gem-editor select{width:100%}.season-note{font-size:12px;color:#bea16f;padding:10px;border:1px solid #574830;background:#292318;margin-top:12px}.skill-card{padding:12px 0;border-bottom:1px solid #3b352b}.skill-card label+label{margin-top:7px}.skill-card p{margin-top:9px;color:#9c998e;font-size:12px;white-space:pre-line}.cube-choice{margin-bottom:20px}.cube-choice h3{color:#d0b47f;margin-bottom:6px}
.item-tooltip{border:1px solid #705426;background:#060707;padding:0 15px 18px;min-height:300px;box-shadow:inset 0 0 0 3px #15120e;position:sticky;top:15px}.tooltip-title{color:#c48843;font:24px/1.35 Georgia,"SimSun",serif;text-align:center;padding:14px 5px 12px;border-bottom:1px solid #5b391f;background:linear-gradient(#17110b,#090908);margin:0 -12px 12px;word-break:break-word}.tooltip-title.set{color:#54c66c}.tooltip-title.primal{color:#f15e4f}.tooltip-title.sanctified{color:#e0f4f6}.tooltip-title.ethereal{color:#41d6cb}.tooltip-top{display:flex;align-items:flex-start;gap:12px;min-height:94px}.tooltip-icon{width:69px;min-height:70px;max-height:125px;border:1px solid #7c5628;border-radius:4px;padding:6px;background:radial-gradient(#62421b,#24190a)}.tooltip-icon svg{max-width:100%;height:100px;display:block;margin:auto}.tooltip-top .tooltip-class{color:#b8874b;font-size:11px;margin-bottom:10px}.tooltip-top .tooltip-number{font-size:38px;line-height:1.2;font-family:Georgia,serif;color:white}.tooltip-top small{display:block;font-size:11px}.item-tooltip h4{color:white;font-size:12px;font-weight:500;margin:17px 0 3px}.tooltip-affix{color:#7c87ff;font-size:12px;line-height:1.65;padding-left:13px;position:relative;margin:3px 0;white-space:pre-line}.tooltip-affix:before{content:'◆';position:absolute;left:0;top:0;color:#3a3733;font-size:10px}.tooltip-affix.power{color:#c78e3c}.tooltip-affix.power:before{color:#b87e28}.roll-value{color:#d8e6ff}.tooltip-affix.augment em{font-style:normal;color:#c4873f}.tooltip-gem{margin-top:14px;font-size:12px}.tooltip-gem>header{display:flex;gap:6px;align-items:center;color:#bd8338}.tooltip-gem svg{height:20px;width:20px}.tooltip-gem p{padding-left:20px;color:#abbabd;margin-top:3px}.tooltip-gem .locked{color:#bc4e45}.tooltip-bottom{margin-top:20px;color:#a88946;font-size:11px}.tooltip-bottom b{color:#e9d7a7}.inspector-empty{font-size:12px;color:#8c8170;padding:18px 4px}.validation{padding:13px 18px;margin-top:20px;border:1px solid #79602d;background:#2a2416;color:#ddc185;font-size:12px}.validation ul{margin:5px 0;padding-left:18px}footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#777668;font-size:11px;padding:28px 0}
dialog{background:#1b1c19;color:#ddd3bf;border:1px solid #8d6e3a;border-radius:5px;padding:28px;width:min(460px,calc(100% - 24px));box-shadow:0 15px 60px #000b}dialog::backdrop{background:#000b}dialog h2{font-size:21px;margin-bottom:20px}dialog label{margin:12px 0}dialog .hint{font-size:12px;margin:14px 0}.dialog-close{position:absolute;top:5px;right:5px;border:0;background:none;font-size:23px;padding:0 9px}.dialog-actions{display:flex;justify-content:space-between;gap:10px;margin-top:20px}#account-error{color:#ef968b;font-size:12px}.library-dialog{width:min(770px,calc(100% - 24px))}.library-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.library-tools label{min-width:150px}.library-tools button{font-size:12px;padding:7px 10px}.library-item{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #3d382c;padding:16px 0}.library-item small{display:block}.library-item button{font-size:12px;padding:5px 8px;margin-left:6px}.library-item strong{overflow-wrap:anywhere}#library-list{max-height:55vh;overflow-y:auto}#toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);max-width:90vw;padding:10px 22px;border:1px solid #b39256;border-radius:4px;background:#29261e;box-shadow:0 5px 20px #0008;z-index:100;color:#eed5a4}.hint{font-size:12px;line-height:1.7}.section-empty{color:#958b77;font-size:12px;padding:14px 0}
@media(min-width:1500px){.planner-page{padding:0 40px}.planner-layout{grid-template-columns:354px minmax(340px,1fr) 360px;gap:22px}}@media(max-width:1150px){.planner-layout{grid-template-columns:354px minmax(330px,1fr)}.item-tooltip{grid-column:2;position:static}.loadout-panel{grid-row:1/3}.planner-page{padding:0 20px}.header-actions{flex-wrap:wrap;justify-content:flex-end}.planner-header{gap:20px}.build-toolbar{flex-wrap:wrap}#save-state{margin-left:0}.brand small{display:none}}@media(max-width:740px){.planner-page{padding:0 12px}.topbar{height:60px}.topbar>div{gap:10px;font-size:12px}.topbar a[href='/altar.html']{display:none}.planner-header{align-items:start;flex-direction:column;padding:22px 0}.header-actions{width:100%;justify-content:flex-start}.header-actions button{padding:7px 11px;font-size:12px}.build-toolbar{gap:10px}.build-toolbar .build-name{width:100%}.build-toolbar label{flex:1}.build-toolbar #save-state{flex-basis:100%;max-width:none}.planner-layout{grid-template-columns:1fr}.loadout-panel{grid-row:auto}.item-tooltip{grid-column:auto;grid-row:3}.loadout-panel{max-width:354px;width:100%;margin:auto}.editor-panel{min-width:0}#editor{min-height:0}.brand{font-size:19px}.planner-header h1{font-size:27px}}@media(max-width:365px){#paper-wrap{transform:scale(.93);transform-origin:top left;height:477px;margin-left:3px;width:311px}.skill-bar{gap:5px}.skill-button{width:44px;height:44px}}

/* 悬浮卡片只在交互时定位；没有持续动画或定时扫描。 */
.skill-bar{flex-wrap:wrap}.follower-skills button{display:flex;gap:10px;align-items:center}.follower-skills svg{width:40px;height:40px;flex-shrink:0}
.hover-tooltip{position:fixed!important;top:0;left:0;width:min(345px,calc(100vw - 16px));max-height:calc(100vh - 16px);min-height:0;overflow:auto;z-index:200;box-shadow:0 8px 25px #000b;grid-column:auto!important;line-height:1.55;scrollbar-width:thin}.hover-tooltip[hidden]{display:none}.tooltip-skill-icon{width:56px;height:56px;float:left;margin:0 12px 8px 0;border:1px solid #997544}.hover-tooltip .tooltip-affix{font-size:12px}.hover-tooltip .tooltip-title{font-size:22px}.item-tooltip::after{content:'';display:block;clear:both}
.loadout-switcher{display:flex;gap:12px;align-items:stretch;margin:0 0 18px;min-width:0}#loadout-list{display:flex;gap:8px;overflow-x:auto;min-width:0;flex:1;scrollbar-width:thin;scrollbar-color:#80613a #151511;padding-bottom:4px}.loadout-tab{display:flex;gap:10px;align-items:center;min-width:170px;max-width:260px;text-align:left;background:#171916;border:1px solid #39382f;padding:10px 12px;flex-shrink:0}.loadout-tab[aria-selected=true]{border-color:#b18a49;background:#30281b;box-shadow:inset 0 -2px #bc934d}.loadout-tab strong{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#e6d7b7}.loadout-tab small{display:block;font-size:10px;color:#a7977a;margin-top:4px}.loadout-number{border:1px solid #7b6138;border-radius:50%;width:29px;height:29px;display:grid;place-items:center;color:#e4c78c;flex-shrink:0}.loadout-actions{display:flex;gap:5px;align-items:center}.loadout-actions button{padding:7px 9px;font-size:12px}.loadout-actions #add-loadout,.loadout-actions #delete-loadout{font-size:21px;line-height:24px}
.actor-tabs{display:flex;border-bottom:1px solid #534732}.actor-tabs button{flex:1;border:0;border-bottom:2px solid transparent;border-radius:0;background:#1a1a16;padding:11px}.actor-tabs button[aria-pressed=true]{border-bottom-color:#dbb768;color:#f0d696;background:#2c251a}#follower-controls{padding:10px 14px;border-bottom:1px solid #3d3528}#follower-controls[hidden]{display:none}#paper-wrap.follower-wrap{height:580px}.gear-paper.follower-paper{height:580px}.gear-slot-14{left:140px;top:521px;width:57px;height:50px}.gear-paper .unavailable-slot{opacity:.32;border-style:dashed}.follower-help{font-size:12px;color:#ac9876;margin:10px 0}.follower-skills{display:grid;grid-template-columns:1fr 1fr;gap:10px}.follower-skills button{min-height:65px;text-align:left;font-size:12px}.follower-skills button[aria-pressed=true]{border-color:#d3a55e;background:#3a2e1d}
.skill-slot-row{display:flex;gap:8px;margin:10px 0 20px;flex-wrap:wrap}.skill-slot-choice{position:relative;width:45px;height:47px;padding:3px;border:1px solid #594831;background:#141712}.skill-slot-choice svg{width:100%;height:100%}.skill-slot-choice small{position:absolute;bottom:0;right:2px;color:#fff;text-shadow:1px 1px #000;font-size:10px}.skill-slot-choice[aria-pressed=true]{outline:2px solid #e1b964;outline-offset:2px}.skill-slot-choice.passive-choice{border-radius:50%;overflow:hidden;margin-right:8px}.empty-skill{font-size:23px;color:#746247}.skill-picker-layout{display:flex;align-items:start;gap:15px;flex-wrap:wrap}.skill-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(55px,1fr));gap:6px;flex:1;min-width:210px}.skill-picker-option{padding:4px 2px;border:1px solid #444437;background:#141711;border-radius:2px;min-width:0}.skill-picker-option svg{width:42px;height:42px;display:block;margin:auto}.skill-picker-option span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;margin-top:3px}.skill-picker-option[aria-pressed=true],.rune-choice[aria-pressed=true]{border-color:#d3ae67;background:#42331d;box-shadow:inset 0 0 0 1px #bd8d44}.skill-picker-option:disabled{opacity:.45}.passive-grid svg{border-radius:50%}.rune-list{display:flex;flex-direction:column;gap:5px;min-width:130px;flex:1}.rune-choice{display:flex;align-items:center;gap:10px;text-align:left;padding:9px;border:1px solid #40392d;background:#20211c}.rune-choice span:last-child{font-size:12px}.rune-mark{display:grid;place-items:center;width:27px;height:29px;flex-shrink:0;background:linear-gradient(135deg,#c39947,#493017);border:1px solid #c09346;clip-path:polygon(50% 0,75% 20%,100% 50%,75% 80%,50% 100%,25% 80%,0 50%,25% 20%);color:#fff0b6;font:bold 13px Georgia,serif}.rune-x{background:#353932;border-color:#606651;color:#b9bcb2}
@media(max-width:740px){.loadout-switcher{flex-direction:column;gap:5px}.loadout-actions{justify-content:flex-end}.loadout-tab{min-width:170px}.skill-picker-layout{gap:12px}.rune-list{min-width:115px}.skill-icon-grid{min-width:165px}.skill-slot-row{gap:6px}.skill-slot-choice{width:39px;height:41px}.hover-tooltip{width:min(330px,calc(100vw - 16px))}}@media(max-width:365px){#paper-wrap.follower-wrap{height:540px}.skill-icon-grid{grid-template-columns:repeat(3,minmax(45px,1fr))}.rune-list{min-width:105px}}
