/* ARC Raiders quest tracker — Salvage Line visual system */
.quest-page{padding-top:2rem;padding-bottom:4rem;position:relative;z-index:1}
.quest-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.55fr);gap:2rem;align-items:stretch;padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--line);background:linear-gradient(115deg,rgba(0,240,255,.055),transparent 48%),var(--charcoal);position:relative;overflow:hidden}
.quest-hero:after{content:"";position:absolute;right:-75px;top:-130px;width:330px;height:330px;border:1px solid rgba(0,240,255,.12);transform:rotate(35deg);pointer-events:none}
.quest-hero-copy,.quest-hero-side{position:relative;z-index:1}
.quest-hero h1{font:700 clamp(2.5rem,6vw,4.6rem)/.98 var(--font-head);letter-spacing:-.035em;text-transform:uppercase;margin:.8rem 0 1rem}
.quest-hero h1 span{color:var(--cyan)}
.quest-hero-copy>p{max-width:700px;color:var(--ink-1);font-size:1.08rem;line-height:1.65;margin:0}
.quest-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.quest-hero-side{display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:1.5rem;border:1px solid rgba(0,240,255,.2);background:rgba(0,0,0,.24);min-height:190px}
.quest-hero-side .side-kicker,.quest-hero-side>span:last-child{font: .68rem var(--font-mono);letter-spacing:.12em;color:var(--ink-2)}
.quest-hero-side strong{font:700 clamp(1.35rem,2.5vw,2rem)/1.08 var(--font-head);letter-spacing:.02em}
.quest-hero-side strong:first-line{color:var(--cyan)}
.quest-stats{display:grid;grid-template-columns:repeat(3,minmax(115px,.7fr)) minmax(220px,1.6fr);gap:.75rem;margin:1rem 0 3rem}
.quest-stat,.quest-progress-wrap{border:1px solid var(--line);background:var(--charcoal);padding:1rem 1.15rem;min-width:0}
.quest-stat span,.quest-progress-label{display:block;color:var(--ink-2);font: .68rem var(--font-mono);letter-spacing:.07em;text-transform:uppercase}
.quest-stat strong{display:block;font:700 1.9rem/1.2 var(--font-head);color:var(--cyan);margin-top:.3rem}
.quest-stat strong.is-green{color:var(--green)}
.quest-progress-wrap{display:flex;flex-direction:column;justify-content:center;gap:.8rem}
.quest-progress-label{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.quest-progress-label b{color:var(--cyan);font-weight:600}
.quest-progress{height:7px;background:#27292e;overflow:hidden}
.quest-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--cyan-dim),var(--cyan));transition:width .2s ease}
.quest-section-head{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.25rem}
.quest-section-head h2{font:700 clamp(1.65rem,3vw,2.4rem)/1.1 var(--font-head);text-transform:uppercase;margin:.5rem 0}
.quest-section-head p{color:var(--ink-2);margin:0}
.save-status{font: .72rem var(--font-mono);color:var(--ink-2);text-align:right;max-width:220px}
.save-status.is-saved{color:var(--green)}.save-status.is-error{color:#ff7777}
.quest-controls{display:flex;flex-direction:column;gap:.85rem;padding:1rem;border:1px solid var(--line);background:var(--charcoal);margin-bottom:1rem}
.quest-search{display:flex;align-items:center;gap:.75rem;min-height:44px;padding:0 .85rem;border:1px solid var(--line-bright);background:var(--void)}
.quest-search svg{width:18px;height:18px;flex:none;color:var(--ink-2)}
.quest-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink-0);font:inherit;padding:.65rem 0}
.quest-search:focus-within{border-color:var(--cyan)}
.quest-filters{display:flex;flex-wrap:wrap;gap:.5rem}
.quest-filter{appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--ink-2);padding:.55rem .85rem;font:600 .88rem var(--font-body);cursor:pointer;transition:color .15s,border-color .15s,background .15s}
.quest-filter:hover,.quest-filter.is-active{color:var(--cyan);border-color:var(--cyan-dim);background:rgba(0,240,255,.07)}
.quest-login-note{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:0 0 1rem;padding:1rem 1.15rem;border:1px solid rgba(0,240,255,.25);background:rgba(0,240,255,.035)}
.quest-login-note>span{font: .7rem var(--font-mono);letter-spacing:.1em;color:var(--cyan);white-space:nowrap}
.quest-login-note p{flex:1;min-width:200px;color:var(--ink-1);font-size:.9rem;margin:0}
.quest-items-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
.quest-item{position:relative;display:flex;flex-direction:column;min-width:0;padding:1rem;border:1px solid var(--line);background:var(--charcoal);transition:border-color .16s,background .16s,opacity .16s}
.quest-item:hover{border-color:var(--line-bright);background:var(--panel)}
.quest-item.is-collected{border-left:3px solid var(--green);padding-left:calc(1rem - 2px);background:linear-gradient(90deg,rgba(55,224,106,.045),transparent 75%),var(--charcoal)}
.quest-item.is-collected .quest-item-name{color:var(--ink-2);text-decoration:line-through;text-decoration-color:rgba(55,224,106,.65)}
.quest-item-top{display:flex;align-items:center;gap:.85rem;margin-bottom:.8rem}
.quest-item-media{flex:none}
.quest-item-img{display:block;width:72px;height:72px;object-fit:contain;padding:4px;border:1px solid var(--line);background:radial-gradient(circle at 50% 40%,rgba(0,240,255,.08),var(--void) 75%)}
.quest-item-img-missing{display:grid;place-items:center;color:var(--ink-3);font:700 1.6rem var(--font-head);border-style:dashed}
.quest-item.is-collected .quest-item-img{opacity:.55}
.quest-item-head{min-width:0;flex:1}
.quest-item-head .quest-item-name{margin-bottom:.5rem}
.quest-item-head .quest-item-tags{margin-bottom:0}
.quest-item-name{font:700 1.18rem/1.2 var(--font-head);overflow-wrap:anywhere}
.quest-rarity{flex:none;padding:.22rem .42rem;border:1px solid var(--line-bright);font: .62rem var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-1)}
.quest-rarity.rarity-common{color:#c0c5cc}.quest-rarity.rarity-uncommon{color:#7ee6a0;border-color:#286a40}.quest-rarity.rarity-rare{color:#8bc9ff;border-color:#265e88}.quest-rarity.rarity-epic{color:#c8a5ff;border-color:#64439a}.quest-rarity.rarity-legendary{color:#ffc46d;border-color:#8b581e}
.quest-item-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.8rem}
.quest-item-tag{padding:.2rem .45rem;border:1px solid var(--line);color:var(--ink-2);font: .67rem var(--font-mono);text-transform:uppercase;letter-spacing:.025em}
.quest-item-tag.tag-quest{color:#8bc9ff;border-color:#265e88}.quest-item-tag.tag-crafting{color:#ffc46d;border-color:#8b581e}.quest-item-tag.tag-hideout{color:#c8a5ff;border-color:#64439a}
.quest-item-source{font-size:.82rem;color:var(--ink-2);margin-bottom:1rem}.quest-item-source strong{color:var(--ink-1);font-weight:600}
.quest-item-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-top:1px solid var(--line);padding-top:.8rem;margin-top:auto}
.quest-qty{font:700 1.05rem var(--font-head);color:var(--ink-0)}.quest-qty small{font: .78rem var(--font-body);color:var(--ink-2)}
.quest-check{display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;color:var(--ink-1);font-size:.8rem;user-select:none;white-space:nowrap}
.quest-check input{appearance:none;width:22px;height:22px;margin:0;display:grid;place-items:center;border:1px solid var(--line-bright);background:var(--void);cursor:pointer;flex:none}
.quest-check input:before{content:"✓";font-weight:800;font-size:14px;color:#061014;transform:scale(0);transition:transform .1s}
.quest-check input:checked{background:var(--green);border-color:var(--green)}.quest-check input:checked:before{transform:scale(1)}.quest-check input:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.quest-empty{grid-column:1/-1;padding:3.5rem 1rem;text-align:center;border:1px dashed var(--line-bright);color:var(--ink-2)}
.quest-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;color:var(--ink-2);font:.75rem var(--font-mono)}
.quest-reset{border:0;background:transparent;color:var(--ink-2);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.quest-reset:hover{color:#ff8888}
.quest-data-note{color:var(--ink-3);font-size:.8rem;margin-top:1.5rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.quest-items-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quest-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.quest-progress-wrap{grid-column:1/-1}}
@media(max-width:700px){.quest-page{padding-top:1rem}.quest-hero{grid-template-columns:1fr;gap:1.2rem;padding:1.25rem}.quest-hero-side{min-height:auto;padding:1rem}.quest-hero-side strong br{display:none}.quest-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-bottom:2rem}.quest-stat{padding:.75rem .65rem}.quest-stat span{font-size:.58rem;letter-spacing:0}.quest-stat strong{font-size:1.5rem}.quest-progress-wrap{padding:.85rem}.quest-section-head{align-items:flex-start;flex-direction:column;gap:.5rem}.save-status{text-align:left}.quest-items-grid{grid-template-columns:1fr}.quest-item{padding:1rem}.quest-login-note{align-items:flex-start;flex-direction:column;gap:.65rem}.quest-bottom-row{align-items:flex-start;flex-direction:column}}
/* per-item counter (items needed more than once) */
.quest-item-bar{height:4px;background:#27292e;margin:-.2rem 0 .85rem;overflow:hidden}
.quest-item-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--cyan-dim),var(--cyan));transition:width .15s ease}
.quest-item.is-collected .quest-item-bar span{background:var(--green)}
.quest-counter{display:inline-flex;align-items:center;gap:.35rem}
.quest-step{appearance:none;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line-bright);background:var(--void);color:var(--ink-0);font:700 1.2rem/1 var(--font-body);cursor:pointer;transition:border-color .12s,color .12s}
.quest-step:hover:not(:disabled){border-color:var(--cyan);color:var(--cyan)}
.quest-step:disabled{opacity:.35;cursor:not-allowed}
.quest-step:focus-visible,.quest-count-input:focus-visible,.quest-all:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.quest-count-input{width:3.6rem;height:34px;text-align:center;border:1px solid var(--line-bright);background:var(--void);color:var(--ink-0);font:700 1.05rem var(--font-head);-moz-appearance:textfield;appearance:textfield;padding:0}
.quest-count-input::-webkit-outer-spin-button,.quest-count-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.quest-count-of{font:700 1.05rem var(--font-head);color:var(--ink-2);margin:0 .15rem}
.quest-all{appearance:none;border:1px solid var(--line-bright);background:var(--void);color:var(--ink-1);padding:.5rem .7rem;font:600 .8rem var(--font-body);cursor:pointer;white-space:nowrap}
.quest-all:hover{border-color:var(--cyan);color:var(--cyan)}
.quest-all.is-done{border-color:var(--green);color:var(--green);background:rgba(55,224,106,.08)}
.quest-item.is-collected .quest-count-input{color:var(--green);border-color:rgba(55,224,106,.5)}
@media(max-width:420px){.quest-item-footer{flex-wrap:wrap}}
/* ARC Raiders hub entry point */
.quest-hub-cta{border-color:rgba(0,240,255,.4)!important;color:var(--cyan)!important}
.quest-hub-promo{padding-top:0}
.quest-hub-panel{display:flex;align-items:center;gap:1.4rem;padding:clamp(1.2rem,3vw,2rem);border-color:rgba(0,240,255,.24);background:linear-gradient(100deg,rgba(0,240,255,.055),transparent 60%),var(--charcoal)}
.quest-hub-icon{display:grid;place-items:center;flex:none;width:58px;height:58px;color:var(--cyan);border:1px solid var(--cyan-dim);background:rgba(0,240,255,.06)}
.quest-hub-icon svg{width:30px;height:30px}
.quest-hub-copy{flex:1;min-width:0}
.quest-hub-copy h2{font:700 clamp(1.4rem,2.8vw,2rem)/1.1 var(--font-head);text-transform:uppercase;margin:.5rem 0}
.quest-hub-copy h2 span{color:var(--cyan)}
.quest-hub-copy p{margin:0;color:var(--ink-2);max-width:650px}
@media(max-width:760px){.quest-hub-panel{align-items:flex-start;flex-direction:column}.quest-hub-panel>.btn{width:100%;justify-content:center}}


/* v4 — refined inventory counter controls, matching the Salvage Line HUD */
.quest-filter[data-filter="outpost-upgrade"].is-active,
.quest-filter[data-filter="workbenches"].is-active{color:var(--cyan);border-color:var(--cyan);background:rgba(0,240,255,.09)}
.quest-item-tag.tag-outpost-upgrade{color:#ffc46d;border-color:#8b581e;background:rgba(255,196,109,.055)}
.quest-item-tag.tag-workbenches{color:#8bc9ff;border-color:#265e88;background:rgba(139,201,255,.055)}
.quest-item-footer{align-items:center;gap:.9rem}
.quest-counter{display:inline-flex;align-items:center;gap:.38rem;padding:.28rem;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.025),transparent),var(--void)}
.quest-step{width:31px;height:31px;border:1px solid transparent;border-radius:2px;background:var(--panel);color:var(--ink-1);font:600 1.15rem/1 var(--font-body);transition:background .15s,border-color .15s,color .15s,transform .12s}
.quest-step:hover:not(:disabled){background:rgba(0,240,255,.09);border-color:var(--cyan-dim);color:var(--cyan)}
.quest-step:active:not(:disabled){transform:scale(.94)}
.quest-step:disabled{opacity:.28;background:transparent}
.quest-count-input{width:2.8rem;height:31px;border:1px solid transparent;background:transparent;color:var(--cyan);font:700 1.05rem/1 var(--font-mono);letter-spacing:-.03em;padding:0 .1rem;border-radius:0}
.quest-count-input:focus{border-color:var(--cyan-dim);background:rgba(0,240,255,.04);outline:none}
.quest-count-of{font:500 .78rem/1 var(--font-mono);color:var(--ink-3);margin:0 .22rem 0 0;white-space:nowrap}
.quest-all{min-height:39px;padding:.55rem .8rem;border-radius:2px;border-color:var(--line-bright);font:600 .76rem var(--font-mono);letter-spacing:.025em;text-transform:uppercase;transition:background .15s,border-color .15s,color .15s}
.quest-all:hover{background:rgba(0,240,255,.06)}
.quest-all.is-done{border-color:rgba(55,224,106,.45);background:rgba(55,224,106,.07);color:var(--green)}
.quest-qty{font:700 1.05rem var(--font-mono);letter-spacing:-.03em}
.quest-qty small{font:500 .7rem var(--font-body);letter-spacing:0}
.quest-item.is-collected .quest-count-input{color:var(--green);border-color:transparent;background:transparent}
.quest-item-bar{height:3px;margin:-.2rem 0 .85rem;background:rgba(255,255,255,.07)}
.quest-item-bar span{background:linear-gradient(90deg,var(--cyan-dim),var(--cyan));box-shadow:0 0 8px rgba(0,240,255,.18)}
.quest-item.is-collected .quest-item-bar span{background:var(--green);box-shadow:0 0 8px rgba(55,224,106,.15)}
@media(max-width:420px){.quest-counter{gap:.25rem;padding:.22rem}.quest-step{width:29px;height:29px}.quest-count-input{width:2.45rem}.quest-all{padding:.5rem .6rem}}

/* v6 — feedback form */
.quest-feedback{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1.4rem,4vw,3.5rem);margin:2.5rem 0 3rem;padding:clamp(1.2rem,3vw,2rem);border:1px solid rgba(0,240,255,.24);background:linear-gradient(115deg,rgba(0,240,255,.055),transparent 55%),var(--charcoal)}
.quest-feedback-copy h2{font:700 clamp(1.45rem,2.8vw,2rem)/1.12 var(--font-head);text-transform:uppercase;margin:.65rem 0}
.quest-feedback-copy h2:after{content:"";display:block;width:54px;height:2px;background:var(--cyan);margin-top:.8rem}
.quest-feedback-copy p{color:var(--ink-2);max-width:430px}
.quest-feedback-form{display:grid;gap:.9rem;min-width:0}
.quest-feedback-types{display:flex;flex-wrap:wrap;gap:.65rem}
.quest-feedback-types label{display:flex;align-items:center;gap:.5rem;padding:.65rem .8rem;border:1px solid var(--line-bright);background:var(--void);color:var(--ink-1);font-size:.88rem;cursor:pointer}
.quest-feedback-types input{accent-color:var(--cyan)}
.quest-feedback-label{display:grid;gap:.4rem;color:var(--ink-1);font-size:.82rem;font-weight:600}
.quest-feedback-label span{display:inline;color:var(--ink-3);font-weight:400}
.quest-feedback-label input,.quest-feedback-label textarea{width:100%;box-sizing:border-box;border:1px solid var(--line-bright);border-radius:2px;background:var(--void);color:var(--ink-0);padding:.8rem;font:400 .9rem/1.5 var(--font-body)}
.quest-feedback-label input:focus,.quest-feedback-label textarea:focus{outline:1px solid var(--cyan);border-color:var(--cyan)}
.quest-feedback-label textarea{resize:vertical;min-height:100px}
.quest-feedback-form .btn{justify-self:start;cursor:pointer}
.quest-feedback-form .btn:disabled{opacity:.55;cursor:wait}
.quest-feedback-status{margin:0;min-height:1.3em;color:var(--ink-2);font-size:.85rem}
.quest-feedback-status.is-success{color:var(--green)}.quest-feedback-status.is-error{color:#ff8b8b}
.quest-feedback-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:760px){.quest-feedback{grid-template-columns:1fr;gap:1rem}.quest-feedback-form .btn{width:100%;justify-content:center}}
