#milestones-dialog{width:min(1540px,96vw);max-width:96vw;max-height:94dvh;overflow:auto;padding:20px;background:#111725;color:#eee9de;border:3px double #b2adba}
#milestones-dialog::backdrop{background:#050911c9;backdrop-filter:blur(3px)}
#milestones-dialog .bag-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
#milestones-dialog>.bag-header{position:sticky;top:-20px;z-index:2;background:#111725;padding:10px 0}
#milestones-dialog h2{margin:0;font-size:22px}.milestones-status{font-size:13px;color:#bfcddd}
.milestones-scroll{overflow-x:auto;padding-bottom:8px}.milestones-board{position:relative;min-width:1180px;width:100%;aspect-ratio:2304/680;background:url('assets/ui/milestones.png') center/100% 100% no-repeat}
.milestone-progress{position:absolute;left:3.5%;top:48.7%;height:2.5%;max-width:92.8%;background:linear-gradient(90deg,#284a83,#7fc1eb);box-shadow:0 0 8px #65a4d577;pointer-events:none}
.tome-card{position:relative;width:64px;height:64px;min-width:64px;min-height:64px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:6px;border:2px solid #65bff7;background:radial-gradient(#263d59,#0c1421);cursor:pointer}
.tome-card.rare{border-color:#e1c65c}.tome-card[aria-pressed=true]{outline:2px solid white;outline-offset:2px}.tome-card:focus-visible{outline:2px solid white;outline-offset:2px}
.milestone-slot{position:absolute;top:67.72%;transform:translate(-50%,-50%);width:5.1%;height:17.3%;min-height:0;min-width:0;margin:0;border:0;background:#080e18aa;padding:4px}
.milestone-slot.magic{box-shadow:inset 0 0 0 2px #65bff7}.milestone-slot.rare{box-shadow:inset 0 0 0 2px #e1c65c}.milestone-slot canvas{max-width:90%;max-height:90%;object-fit:contain}
.milestone-slot:disabled{opacity:.45;cursor:not-allowed}.tome-lock{font-size:14px;color:#b8bec9}.tome-equipped{position:absolute;right:2px;bottom:1px;font-size:10px;background:#080e18e8;color:#eee;padding:0 3px}
.milestones-lower{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:16px}.milestones-lower>section{min-width:0}.milestones-lower h3{font-size:16px;color:#e2d5bd}
.tome-collection{display:grid;grid-template-columns:repeat(auto-fill,64px);gap:9px;max-height:380px;overflow:auto;padding:4px}.tome-empty-message{grid-column:1/-1;font-size:13px;line-height:1.5}.tome-detail p{white-space:pre-line;font-size:13px;line-height:1.6}.tome-detail button{margin:4px 6px 4px 0;padding:8px 12px}
#milestones-dialog #character-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;margin:0;position:static;width:auto}
#milestones-dialog #character-stats>div{display:flex;flex-direction:column;gap:3px;background:#1b2636;padding:7px;font-size:13px}#milestones-dialog #character-stats small{font-size:11px;color:#b9c6d5}
#milestones-dialog .attribute-allocation,#milestones-dialog .material-summary{grid-column:1/-1}#milestones-dialog .attribute-row{display:grid;grid-template-columns:1fr 40px 48px;gap:8px;align-items:center;margin:8px 0}#milestones-dialog .attribute-row small{display:block}
.milestones-lower>[hidden]{display:none}.milestone-attributes .attribute-allocation{margin:0;padding:0;border:0}.milestone-attributes .attribute-row{padding:12px;background:#1b2636}.milestone-attributes small{font-size:11px;color:#b9c6d5}.milestone-attributes .attribute-points{font-size:13px}
@media(max-width:650px){#milestones-dialog{padding:12px}#milestones-dialog h2{font-size:17px}.milestones-lower{grid-template-columns:1fr}.milestone-stats{grid-column:auto}.tome-collection{max-height:180px}}

#tome-picker{width:min(420px,90vw);max-height:75dvh;overflow:auto;padding:16px;background:#111725;color:#eee9de;border:3px double #b2adba}
#tome-picker::backdrop{background:#05091199}
#tome-picker .bag-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
#tome-picker h3{margin:0;font-size:18px}
#tome-picker .tome-collection{max-height:45dvh}
#tome-picker .tome-picker-status:empty{display:none}
#tome-picker>button{display:block;margin:12px auto 0;padding:7px 16px}
