/* The game scales its battlefield in rem; these overlays keep readable text in narrow panels. */
.endless-dock{position:absolute;z-index:81;right:16px;top:max(44px,1.05rem);display:flex;align-items:center;gap:10px;background:#111d18ee;border:1px solid #43785c;padding:8px 12px;font-size:14px;box-shadow:0 8px 30px #0008}
.endless-dock b{color:#83e8b5}.endless-dock button{color:#e6f1eb;padding:7px 10px;background:#1c2e24;border:1px solid #43554b;cursor:pointer}.endless-rain{color:#ffcc65}
.endless-overlay{position:fixed;z-index:180;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#07100fed;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:auto}
.endless-sheet{width:min(1120px,100%);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow:auto;color:#e6f1eb;padding:8px}
.endless-sheet header{margin-bottom:24px}.endless-eyebrow{font-family:monospace;letter-spacing:3px;font-size:13px;color:#83e8b5}
.endless-sheet h1{font-size:clamp(26px,3vw,40px);margin:12px 0;font-weight:700}.endless-sheet header p{font-size:16px;line-height:1.6;color:#acbcb4}
.endless-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.endless-card{--accent:#83e8b5;text-align:left;display:flex;flex-direction:column;min-height:330px;padding:24px;border:1px solid #43554b;border-top:3px solid var(--accent);background:linear-gradient(145deg,#24312a,#131d18);color:#f1f6f2;cursor:pointer;transition:transform .15s,border-color .15s}
.endless-card--core{--accent:#efbf63;background:linear-gradient(145deg,#3a3021,#191c17)}.endless-card--hidden{--accent:#c0a1ff;background:linear-gradient(145deg,#352846,#171720)}
.endless-card--challenge{--accent:#f1936d}.endless-card.is-selected{outline:2px solid var(--accent);transform:translateY(-4px)}.endless-card:hover:not(:disabled){border-color:var(--accent)}
.endless-card-top{display:flex;justify-content:space-between;color:var(--accent);font-size:13px;letter-spacing:2px}.endless-card-top b{font:26px monospace;opacity:.65}
.endless-sigil{font-size:56px;line-height:1.2;color:var(--accent);margin:20px 0}.endless-card h2{font-size:26px;margin:0 0 14px}.endless-card p{font-size:16px;line-height:1.65;margin:0 0 24px;color:#d6dfd9}.endless-card-bottom{font-size:14px;color:var(--accent);margin-top:auto}
.endless-sheet footer{position:sticky;bottom:0;margin-top:24px;padding:16px 0 8px;background:#07100ff5;border-top:1px solid #43554b;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.endless-sheet footer>span{margin-left:auto;font:22px monospace}
.endless-sheet .btn{font-size:16px;min-height:44px;padding:10px 22px}.endless-build{max-height:60vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.endless-build article{padding:16px;background:#18261e;border-left:2px solid #62c493}.endless-build b{font-size:20px}.endless-build p{font-size:16px;line-height:1.6;margin:8px 0}.endless-build small{color:#83e8b5}
.endless-resume{margin:12px 0;padding:14px;border:1px solid #43785c;background:#111d18;font-size:14px}.endless-resume .btn{font-size:14px;min-height:36px}.endless-resume h3{margin:12px 0;color:#83e8b5;font-size:16px}.endless-resume>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.endless-resume label{display:flex;align-items:center;gap:8px}
.endless-resume>.endless-resume__actions{margin-top:0}
.endless-resume>.modal{display:grid;margin:0;gap:0}
.endless-guide{width:min(1060px,96vw);max-height:92vh;max-height:92dvh;font-size:16px}
.endless-guide .modal__head{padding:20px 24px 4px}.endless-guide .modal__title{font-size:28px}
.endless-guide .modal__body{padding:12px 24px 24px}.endless-guide .modal__actions{padding:12px 24px}
.endless-guide__intro{margin:0 0 16px;line-height:1.65;color:var(--text-md)}
.endless-guide__controls{position:sticky;top:-12px;z-index:1;padding:12px 0;background:#19211ef5}
.endless-guide .field{display:block;margin:0 0 12px}.endless-guide .field__label{font-size:14px;margin-bottom:8px}
.endless-guide .field__box{height:auto;min-height:44px}.endless-guide .field__input{font-size:16px;padding:10px 12px}.endless-guide .field__icon{width:20px;height:20px;margin-left:12px}
.endless-guide__filters{display:flex;flex-wrap:wrap;gap:8px}.endless-guide__filter{--accent:#83e8b5;min-height:40px;padding:8px 12px;font:inherit;color:var(--text-md);background:#111d18;border:1px solid #43554b;cursor:pointer}
.endless-guide__filter--core{--accent:#efbf63}.endless-guide__filter--hidden{--accent:#c0a1ff}
.endless-guide__filter[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:#24332b}.endless-guide__filter span{margin-left:6px;font-variant-numeric:tabular-nums;opacity:.75}
.endless-guide__count{margin:12px 0 0;font-size:14px;color:var(--text-lo)}
.endless-guide__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}
.endless-guide__card{--accent:#83e8b5;padding:18px;background:#15221b;border-top:2px solid var(--accent)}.endless-guide__card--core{--accent:#efbf63;background:#27261b}.endless-guide__card--hidden{--accent:#c0a1ff;background:#25212e}
.endless-guide__meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--accent);font-size:13px}
.endless-guide .endless-guide__card h3{font-size:21px;margin:12px 0 10px;color:var(--text-hi)}
.endless-guide__card p{margin:0;font-size:16px;line-height:1.65;overflow-wrap:anywhere}.endless-guide__empty{padding:28px 0;text-align:center}
@media(max-width:700px){.endless-guide__list{grid-template-columns:1fr}.endless-guide .modal__head{padding:16px 16px 4px}.endless-guide .modal__body{padding:12px 16px 16px}.endless-guide .modal__actions{padding:12px 16px}.endless-guide .modal__title{font-size:24px}}
@media(max-width:700px){.endless-cards{grid-template-columns:1fr}.endless-card{min-height:150px;padding:16px}.endless-card h2{font-size:22px}.endless-sigil{display:none}.endless-overlay{align-items:flex-start;padding:12px}.endless-sheet{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}.endless-build{grid-template-columns:1fr}.endless-dock{right:8px;gap:6px;font-size:12px}.endless-dock b{display:none}.endless-sheet header{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.endless-card{transition:none}}
