:root{--parchment: #f4e9d1;--parchment-2: #ede0c1;--parchment-hi: #fbf5e4;--ink: #2b1e12;--ink-mid: #6b4f34;--ink-soft: #8a7452;--rule: #c9b287;--rule-soft: #dcc9a1;--gold: #b98a2b;--gold-hi: #ecc25b;--ember: #b6382d;--ember-hi: #e05a4a;--health: #4f8a3d;--health-hi: #7bc063;--arcane: #3a5db8;--arcane-hi: #6d8ee0;--boss: #7a1e17;--boss-hi: #c0392b;--shadow: 0 6px 22px rgba(43, 30, 18, .12);--inset: inset 0 1px 0 rgba(255, 255, 255, .6), inset 0 -1px 0 rgba(43, 30, 18, .08);font-family:Inter,Segoe UI,system-ui,sans-serif;color:var(--ink);background:var(--parchment);color-scheme:light}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 12% 8%,rgba(255,240,205,.9) 0%,transparent 45%),radial-gradient(circle at 88% 92%,rgba(217,190,140,.55) 0%,transparent 55%),linear-gradient(180deg,#f6ecd2,#e8d8b2);background-attachment:fixed}h1,h2,h3{font-family:Cinzel,Trajan Pro,Georgia,serif;font-weight:600;letter-spacing:.02em;color:var(--ink);margin:0 0 6px}h1{font-size:28px}h3{font-size:18px;position:relative;padding-bottom:8px;margin-bottom:10px}h3:after{content:"";position:absolute;left:0;bottom:0;width:48px;height:2px;background:linear-gradient(90deg,var(--gold) 0%,transparent 100%);border-radius:2px}p{margin:0 0 8px}.app{max-width:1100px;margin:0 auto;padding:24px 20px 60px}.card{position:relative;background:radial-gradient(circle at 10% 0%,rgba(255,255,255,.55) 0%,transparent 45%),linear-gradient(180deg,var(--parchment-hi) 0%,var(--parchment-2) 100%);border:1px solid var(--rule);border-radius:12px;padding:18px 18px 16px;margin-bottom:14px;box-shadow:var(--shadow),var(--inset)}.card:before,.card:after{content:"";position:absolute;width:12px;height:12px;border:1px solid var(--rule);opacity:.55;pointer-events:none}.card:before{top:6px;left:6px;border-right:none;border-bottom:none;border-top-left-radius:6px}.card:after{bottom:6px;right:6px;border-left:none;border-top:none;border-bottom-right-radius:6px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}label{display:grid;gap:4px;font-size:12px;color:var(--ink-mid);text-transform:uppercase;letter-spacing:.08em}input,textarea,select{padding:10px 12px;border-radius:8px;border:1px solid var(--rule);background:var(--parchment-hi);color:var(--ink);font:inherit;box-shadow:var(--inset)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px #b98a2b40,var(--inset)}button{cursor:pointer;font-family:Cinzel,Trajan Pro,Georgia,serif;font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:10px 16px;border-radius:8px;border:1px solid #4a3313;background:linear-gradient(180deg,#6b4a1e,#4a3313);color:#fbf1d4;box-shadow:inset 0 1px #fff3,0 2px 4px #2b1e1240;transition:transform .1s ease,filter .12s ease}button:hover:not(:disabled){filter:brightness(1.08)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.55}button.secondary{background:linear-gradient(180deg,#7a5433,#5a3d21);border-color:#3d2a13}button.ghost{background:linear-gradient(180deg,var(--parchment-hi) 0%,var(--parchment-2) 100%);color:var(--ink);border-color:var(--rule);box-shadow:var(--inset)}.list{display:grid;gap:10px}.item{border:1px solid var(--rule-soft);border-radius:10px;padding:12px;background:linear-gradient(180deg,#ffffff8c,#ffffff26),var(--parchment-hi);box-shadow:var(--inset)}.small{color:var(--ink-soft);font-size:12px}.error{color:#7a1e17;font-size:13px;margin-top:10px;padding:8px 10px;background:#e05a4a1f;border:1px solid rgba(122,30,23,.4);border-radius:8px}.auth-shell{min-height:calc(100vh - 60px);display:grid;place-items:center}.auth-card{width:min(520px,100%);text-align:center}.auth-card h1{font-size:32px}.auth-card .row{justify-content:center}.input-grid{display:grid;gap:10px;text-align:left}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px}.page-header h1{margin:0}.banner-card{display:grid;grid-template-columns:minmax(220px,1fr) 1.5fr;gap:20px;align-items:center}.banner-profile{display:flex;align-items:center;gap:14px}.avatar-chip{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-family:Cinzel,serif;font-size:26px;font-weight:700;color:var(--ink);background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.75) 0%,transparent 50%),linear-gradient(160deg,var(--gold-hi) 0%,var(--gold) 100%);border:2px solid #6b4a1e;box-shadow:inset 0 0 0 2px #ffffff59,0 3px 8px #2b1e1240;position:relative}.avatar-chip:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:1px dashed rgba(107,74,30,.45);pointer-events:none}.banner-name{font-family:Cinzel,serif;font-size:22px;font-weight:700;color:var(--ink)}.banner-stats{display:grid;gap:10px}.banner-currency{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.coin-chip{font-family:Cinzel,serif;font-size:12px;font-weight:600;letter-spacing:.05em;padding:5px 12px;border-radius:999px;background:linear-gradient(180deg,var(--gold-hi) 0%,var(--gold) 100%);color:#3d2a13;border:1px solid #6b4a1e;box-shadow:var(--inset)}.coin-chip.streak{background:linear-gradient(180deg,#f3a3a3,#c65454);color:#3d1010;border-color:#7a1e17}.meter-wrap{display:grid;gap:4px}.meter-label-row{display:flex;justify-content:space-between;font-family:Cinzel,serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mid)}.meter-track{height:12px;border-radius:6px;background:linear-gradient(180deg,#d9c69b,#c9b287);border:1px solid #6b4a1e;overflow:hidden;box-shadow:inset 0 1px 3px #2b1e1259}.meter-fill{height:100%;border-radius:6px 0 0 6px;transition:width .26s ease;box-shadow:inset 0 1px #ffffff73,inset 0 -2px #0000001f}.meter-fill.health{background:linear-gradient(180deg,var(--health-hi) 0%,var(--health) 100%)}.meter-fill.xp{background:linear-gradient(180deg,var(--gold-hi) 0%,var(--gold) 100%)}.meter-fill.boss{background:linear-gradient(180deg,var(--boss-hi) 0%,var(--boss) 100%)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wide{grid-column:1 / -1}.quest-icon{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:8px;border-radius:50%;background:linear-gradient(160deg,var(--parchment-hi) 0%,var(--parchment-2) 100%);border:1px dashed rgba(107,74,30,.55);vertical-align:middle;font-size:16px;line-height:1;box-shadow:var(--inset)}.quest-head{justify-content:space-between;align-items:center}.quest-head strong{font-family:Cinzel,serif;font-size:15px;color:var(--ink);display:inline-flex;align-items:center}.quest-phase{font-family:Cinzel,serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mid);padding:3px 8px;border-radius:999px;background:#6b4a1e14;border:1px solid var(--rule-soft)}.quest-list{display:grid;gap:10px;margin-top:10px}.quest-item{background:linear-gradient(180deg,#ffffff8c,#ffffff26),var(--parchment-hi)}.quest-timer-row{margin-top:10px;display:flex;justify-content:space-between;align-items:center;gap:10px}.quest-timer{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;color:var(--ember);text-shadow:0 1px 0 rgba(255,255,255,.6)}.quest-steps{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap}.quest-step{font-family:Cinzel,serif;font-size:11px;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:4px 10px;border:1px solid transparent}.quest-step.done{color:#234a1c;background:#4f8a3d2e;border-color:#4f8a3d73;text-decoration:line-through}.quest-step.active{color:#3d2a13;background:#b98a2b40;border-color:var(--gold);box-shadow:0 0 0 2px #b98a2b2e}.quest-step.pending{color:var(--ink-soft);background:#6b4a1e14;border-color:var(--rule-soft)}.xp-tag{font-family:Cinzel,serif;font-size:11px;letter-spacing:.08em;font-weight:600;color:#3d2a13;background:linear-gradient(180deg,var(--gold-hi) 0%,var(--gold) 100%);border:1px solid #6b4a1e;padding:3px 10px;border-radius:999px;box-shadow:var(--inset)}.quest-lore{color:var(--ink-mid);font-style:italic;font-family:Georgia,Times New Roman,serif;margin-top:6px}.daily-quest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px}.daily-quest{background:linear-gradient(180deg,#fff9,#fff3),var(--parchment-hi);border-color:var(--rule)}.daily-quest.complete{background:linear-gradient(180deg,#7bc06338,#4f8a3d1f),var(--parchment-hi);border-color:#4f8a3d8c}.carousel{display:flex;gap:14px;overflow-x:auto;padding:12px 6px 18px;margin-top:12px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--rule) transparent}.carousel::-webkit-scrollbar{height:8px}.carousel::-webkit-scrollbar-thumb{background:var(--rule);border-radius:999px}.carousel-item{flex:0 0 270px;border:1px solid var(--rule);border-radius:12px;padding:14px;background:linear-gradient(180deg,#ffffff8c,#ffffff26),var(--parchment-hi);scroll-snap-align:start;display:flex;flex-direction:column;gap:6px;box-shadow:var(--inset);position:relative}.carousel-item.locked{background:linear-gradient(180deg,#6b4a1e0d,#6b4a1e1f),var(--parchment-2);border-style:dashed;color:var(--ink-mid)}.carousel-item.locked .quest-head strong{color:var(--ink-mid)}.bounty-quest{background:linear-gradient(180deg,#a360bf26,#6b4a1e14),var(--parchment-hi);border-color:#a870c0}.bounty-quest.claimed{opacity:.7;border-style:dashed}.raid-card{background:radial-gradient(circle at 90% 8%,rgba(192,57,43,.25) 0%,transparent 55%),radial-gradient(circle at 5% 100%,rgba(122,30,23,.18) 0%,transparent 55%),linear-gradient(180deg,#f7ddd6,#efc9be);border-color:#a03327;color:var(--ink)}.raid-card h3{color:#4a1310}.raid-card h3:after{background:linear-gradient(90deg,#a03327 0%,transparent 100%)}.raid-head{justify-content:space-between;align-items:center}.scoreboard{margin-top:14px;display:grid;gap:6px}.score-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#ffffff80;border-radius:8px;border:1px solid rgba(122,30,23,.35);font-family:Cinzel,serif;font-size:13px;letter-spacing:.04em}.score-row strong{font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums;color:#4a1310}@media (max-width: 760px){.app{padding:16px 12px 40px}.banner-card,.dashboard-grid{grid-template-columns:1fr}.wide{grid-column:auto}.page-header{flex-direction:column;align-items:flex-start}h1{font-size:24px}}
