.daily-quests{max-width:620px;margin:36px auto 0;padding:24px 22px 26px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border);box-shadow:0 4px 14px rgba(0,0,0,0.06);text-align:left}.daily-quests .dq-title{color:var(--brand-text);font-size:1.4rem;margin-bottom:4px;text-align:center}.daily-quests .dq-subtitle{color:var(--text-muted);font-size:0.9rem;text-align:center;margin-bottom:14px}.dq-countdown-wrap{display:flex;justify-content:center;align-items:baseline;gap:8px;margin-bottom:18px}.dq-countdown-label{color:var(--text-soft);font-size:0.82rem;text-transform:uppercase;letter-spacing:0.06em}.dq-countdown{font-weight:bold;color:var(--brand-text);font-variant-numeric:tabular-nums}.dq-week{list-style:none;display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:20px}.dq-day{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px 6px;border-radius:9px;background:var(--surface);border:1px solid var(--border);transition:border-color 0.25s,background 0.25s}.dq-day-mark{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:0.92rem;background:var(--surface-3);color:var(--text-soft)}.dq-day-name{font-size:0.72rem;font-weight:600;color:var(--text-muted);letter-spacing:0.02em}.dq-day.done{border-color:#4CAF50;background:var(--surface-ok)}.dq-day.done .dq-day-mark{background:#4CAF50;color:#fff}.dq-day.done .dq-day-name{color:var(--ok-text)}.dq-day.today{border-color:var(--gold);background:var(--surface-warn)}.dq-day.today .dq-day-mark{background:var(--gold);color:#2c2100}.dq-day.today .dq-day-name{color:var(--warn-text)}.dq-day.missed .dq-day-mark{background:var(--surface-danger);color:var(--danger-text)}.dq-day.future{opacity:0.6}.dq-list{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.dq-item{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;transition:border-color 0.25s,background 0.25s}.dq-item .dq-icon{font-size:1.5rem;flex-shrink:0;width:30px;text-align:center}.dq-body{flex-grow:1;min-width:0}.dq-label{display:block;font-weight:600;color:var(--text);font-size:0.98rem}.dq-hint{display:block;color:var(--text-soft);font-size:0.8rem;margin-top:2px}.dq-check{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:#4CAF50;color:#fff;font-weight:bold;display:flex;align-items:center;justify-content:center;transform:scale(0);transition:transform 0.25s ease}.dq-item.completed{border-color:#4CAF50;background:var(--surface-ok)}.dq-item.completed .dq-check{transform:scale(1)}.daily-quests .dq-claim{display:block;width:100%;max-width:320px;margin:0 auto}.daily-quests.all-done .dq-claim:not(:disabled){background:linear-gradient(135deg,#d35400,var(--gold));color:#2c2100}.daily-quests.all-done .dq-claim:not(:disabled):hover{filter:brightness(1.05)}.dq-status-msg{margin-top:12px;text-align:center;color:var(--text-muted);font-size:0.88rem;min-height:1.1em}.dq-roulette{margin-top:22px;padding-top:20px;border-top:1px dashed var(--border)}.dq-roulette-title{text-align:center;color:var(--brand-text);font-size:1.1rem;margin-bottom:4px}.dq-roulette-sub{text-align:center;color:var(--text-muted);font-size:0.86rem;margin-bottom:14px}.dq-roulette-track{display:flex;align-items:center;gap:12px;margin-bottom:16px}.dq-bar{flex-grow:1;height:9px;background:var(--surface-3);border-radius:6px;overflow:hidden}.dq-bar-fill{height:100%;width:0%;border-radius:6px;background:linear-gradient(90deg,#1a2a6c,#2a3a9c);transition:width 0.5s ease}.dq-week-count{flex-shrink:0;font-weight:bold;color:var(--brand-text);font-variant-numeric:tabular-nums;min-width:38px;text-align:right}.daily-quests.roulette-ready .dq-bar-fill{background:linear-gradient(90deg,#2e7d32,#4CAF50)}.daily-quests .dq-spin{display:block;width:100%;max-width:320px;margin:0 auto}.daily-quests.roulette-ready .dq-spin:not(:disabled){background:linear-gradient(135deg,#6a00a0,#2fb8c9);color:#fff}.dq-roulette-msg{margin-top:12px;text-align:center;color:var(--text-muted);font-size:0.86rem;min-height:1.1em}.roulette-modal-content{max-width:440px}.wheel-stage{position:relative;width:260px;height:260px;margin:10px auto 18px}.wheel-pointer{position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-top:22px solid var(--gold);filter:drop-shadow(0 2px 3px rgba(0,0,0,0.45));z-index:3}.wheel{width:100%;height:100%;border-radius:50%;border:6px solid var(--surface);box-shadow:0 0 0 3px rgba(0,0,0,0.25),0 10px 26px rgba(0,0,0,0.3);position:relative}.wheel-labels{position:absolute;inset:0}.wheel-label{position:absolute;top:50%;left:50%;margin:-14px 0 0 -22px;width:44px;display:flex;flex-direction:column;align-items:center;gap:1px;transform-origin:22px 14px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,0.65);pointer-events:none}.wheel-label b{font-size:1.05rem;line-height:1}.wheel-label i{font-size:0.62rem;font-style:normal;font-weight:700;letter-spacing:0.02em}.wheel-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:var(--surface);color:var(--text);border:3px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.5rem;z-index:2}.wheel-odds{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;margin:10px 0 0;font-size:0.8rem;color:var(--text-muted)}.wheel-odds span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.wheel-odds i{width:10px;height:10px;border-radius:50%;display:inline-block}.wheel-result{text-align:center;font-weight:bold;color:var(--brand-text);font-size:1.05rem;min-height:1.3em}.wheel-collect{display:block;margin:16px auto 0;max-width:240px;width:100%}.wheel-collect[hidden]{display:none}@media (max-width: 480px){.daily-quests{padding:18px 14px 20px}.dq-item{gap:10px;padding:10px}.dq-item .dq-icon{font-size:1.25rem;width:24px}.dq-label{font-size:0.9rem}.dq-week{gap:4px}.dq-day{padding:6px 0 5px}.dq-day-mark{width:22px;height:22px;font-size:0.8rem}.dq-day-name{font-size:0.64rem}.wheel-stage{width:220px;height:220px}.wheel-label{transform-origin:22px 14px}}@media (prefers-reduced-motion: reduce){.daily-quests.all-done .dq-claim:not(:disabled),.daily-quests.roulette-ready .dq-spin:not(:disabled){animation:none}.dq-bar-fill,.dq-check,.dq-day{transition:none}}#home-tab .home-daily{width:100%;display:flex;align-items:center;gap:16px;margin:0 0 24px;padding:16px 20px;border:1px solid var(--border);border-left:5px solid #2fb8c9;border-radius:14px;background:var(--surface);box-shadow:0 2px 8px rgba(26,42,108,0.06);text-align:left;cursor:pointer;color:var(--text);font:inherit}#home-tab .home-daily:hover{box-shadow:0 6px 16px rgba(26,42,108,0.12)}#home-tab .home-daily:focus-visible{outline:3px solid var(--gold);outline-offset:3px}#home-tab .home-daily.ready{border-left-color:#4caf50;background:var(--surface-ok)}#home-tab .home-daily.claimed{border-left-color:#4caf50}.home-daily-body{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.home-daily-title{display:inline-flex;align-items:center;gap:8px;color:var(--brand-text);font-size:1.1rem;font-weight:800}.hd-badge{padding:2px 8px;border-radius:999px;background:#4caf50;color:#fff;font-size:0.72rem;font-weight:800}.hd-badge[hidden]{display:none}.hd-items{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:0.92rem}.hd-item{display:inline-flex;align-items:center;gap:6px}.hd-mark{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;display:inline-grid;place-items:center;font-size:0.7rem;font-weight:900;color:#fff}.hd-item.done{color:var(--text-muted);text-decoration:line-through}.hd-item.done .hd-mark{background:#4caf50;border-color:#4caf50}.hd-item.done .hd-mark::before{content:"✓"}.hd-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:0.82rem;color:var(--text-muted)}.hd-meta b{color:var(--brand-text);font-variant-numeric:tabular-nums}.home-daily-cta{flex-shrink:0;padding:8px 16px;border-radius:6px;background:#1a2a6c;color:#fff;font-weight:bold;font-size:0.9rem}#home-tab .home-daily.ready .home-daily-cta{background:#4caf50}@media (max-width: 480px){#home-tab .home-daily{flex-wrap:wrap}.home-daily-cta{width:100%;text-align:center}}
