.quests-page-layout { width:min(var(--page-max-width),calc(100% - 48px)); margin:30px auto 90px; }
.quests-page-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin:36px 0 18px; }
.quests-page-heading h2 { margin:0; font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; font-size:clamp(30px,4vw,52px); font-weight:500; line-height:1; text-transform:uppercase; }
.quest-count { padding:8px 12px; border:1px solid var(--color-border); color:var(--color-muted); font-size:12px; font-weight:800; white-space:nowrap; }
.quest-import-panel { padding:20px 24px; border:1px solid rgba(236,91,24,.45); background:rgba(10,13,13,.78); }
.quest-import-panel summary { color:#fff; font-weight:900; cursor:pointer; text-transform:uppercase; letter-spacing:.6px; }
.quest-import-panel > p { max-width:720px; color:var(--color-muted); }
.quest-import-form { display:flex; align-items:end; flex-wrap:wrap; gap:14px; }
.quest-import-form label { display:grid; gap:7px; color:var(--color-muted); font-size:11px; font-weight:800; letter-spacing:.4px; text-transform:uppercase; }
.quest-import-form input[type=file] { max-width:330px; padding:9px; border:1px solid var(--color-border); color:#ddd; background:#070909; }
.quest-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.quest-card { --quest-accent:#ea5b1b; min-width:0; overflow:hidden; border:1px solid var(--color-border); background:rgba(9,12,12,.83); box-shadow:0 18px 38px rgba(0,0,0,.18); }
.quest-card:hover { border-color:var(--quest-accent); }
.quest-trader-visual { position:relative; min-height:106px; display:grid; place-items:center; overflow:hidden; border-bottom:1px solid color-mix(in srgb,var(--quest-accent) 48%,transparent); background:linear-gradient(135deg,rgba(0,0,0,.2),rgba(0,0,0,.86)),repeating-linear-gradient(115deg,transparent 0 15px,rgba(255,255,255,.035) 16px 17px); }
.quest-trader-visual::before,.quest-trader-visual::after { content:""; position:absolute; inset:16px; border:1px solid color-mix(in srgb,var(--quest-accent) 45%,transparent); transform:skewX(-14deg); }
.quest-trader-visual::after { inset:29px 38%; border-width:0 1px; opacity:.7; }
.quest-trader-visual span { position:relative; z-index:1; color:#f5f1e7; font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; font-size:clamp(22px,2.1vw,32px); letter-spacing:1.5px; text-shadow:0 2px 12px #000; }
.quest-card-content { padding:20px; }
.quest-card h3 { margin:5px 0 10px; color:#fff; font-size:23px; line-height:1.08; }
.quest-card-content > p { margin:0; color:var(--color-muted); line-height:1.55; }
.quest-card-trader { color:var(--quest-accent)!important; font-size:10px; font-weight:900; letter-spacing:1.2px; text-transform:uppercase; }
.quest-meta { display:flex; flex-wrap:wrap; gap:7px; margin:15px 0 0; padding:0; }
.quest-meta div { display:inline-flex; align-items:baseline; gap:5px; padding:5px 7px; border:1px solid color-mix(in srgb,var(--quest-accent) 35%,transparent); background:rgba(0,0,0,.18); }
.quest-meta dt { color:var(--color-muted); font-size:9px; font-weight:800; letter-spacing:.7px; text-transform:uppercase; }
.quest-meta dd { margin:0; color:#ece8df; font-size:11px; font-weight:800; }
.quest-objectives { margin:16px 0 0; padding:0; list-style:none; color:#c8ccc7; font-size:13px; }
.quest-objectives li { margin-top:7px; padding-left:15px; position:relative; }.quest-objectives li::before { content:""; position:absolute; left:0; top:.55em; width:5px; height:5px; background:var(--quest-accent); }
.quest-rewards { margin-top:15px!important; color:#e8e4db!important; font-size:13px; }.quest-rewards strong { color:var(--quest-accent); }
.quest-deals { margin-top:13px; color:#d6d5cf; font-size:12px; line-height:1.45; }
.quest-deals strong { display:block; margin-bottom:5px; color:var(--quest-accent); font-size:10px; letter-spacing:.8px; text-transform:uppercase; }
.quest-deals ul { margin:0; padding-left:17px; }
.quest-deals li + li { margin-top:3px; }
.quest-delete-confirm { margin:0 20px 20px; padding-top:15px; border-top:1px solid rgba(219,86,76,.32); }
.quest-delete-confirm > summary { display:inline-flex; list-style:none; cursor:pointer; color:#ef958c; font-size:10px; font-weight:900; letter-spacing:.8px; text-transform:uppercase; }
.quest-delete-confirm > summary::-webkit-details-marker { display:none; }
.quest-delete-confirm > summary:hover { color:#fff; }
.quest-delete-confirm[open] > summary { margin-bottom:12px; }
.quest-delete-confirm form { display:grid; gap:12px; padding:14px; border:1px solid rgba(219,86,76,.42); background:rgba(82,16,14,.22); }
.quest-delete-confirm p { margin:0; color:#e9bfba; font-size:12px; line-height:1.5; }
.quest-delete-confirm .page-button { justify-self:start; }
.quest-trader--general { --quest-accent:#e96c2b; }.quest-trader--mechanic { --quest-accent:#c9a63a; }.quest-trader--armory { --quest-accent:#ca4e42; }.quest-trader--medical { --quest-accent:#5ba899; }.quest-trader--hunter { --quest-accent:#8caa58; }.quest-trader--fisherman { --quest-accent:#4d9bb1; }.quest-trader--bartender { --quest-accent:#a46739; }.quest-trader--trader { --quest-accent:#9b78bd; }
.portal-quest-preview .quest-card { margin-top:17px; }.portal-quest-preview .quest-trader-visual { min-height:70px; }.portal-quest-preview .quest-card-content { padding:14px; }.portal-quest-preview .quest-card h3 { font-size:19px; }.portal-quest-preview .quest-card-content > p { font-size:13px; }.portal-quest-preview .quest-objectives { font-size:12px; }.portal-quest-preview .quest-meta { margin-top:11px; }.portal-quest-preview .quest-meta div { padding:4px 6px; }
@media (max-width:1000px) { .quest-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .quests-page-layout { width:calc(100% - 28px); margin-top:18px; }.quests-page-heading { align-items:start; flex-direction:column; gap:10px; }.quest-catalog-grid { grid-template-columns:1fr; }.quest-import-panel { padding:17px; }.quest-import-form { display:grid; }.quest-import-form input[type=file] { max-width:100%; }.quest-trader-visual { min-height:96px; } }
