.timeline-view-wrapper{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;margin-top:12px;display:flex;overflow:hidden;box-shadow:0 4px 12px #00000026}.timeline-container{width:100%;position:relative;overflow-x:auto}.timeline-scroll-area{flex-direction:column;display:flex;position:relative}.timeline-row{border-bottom:1px solid var(--border-color);align-items:stretch;min-height:48px;transition:background-color .15s;display:flex;position:relative}.timeline-row.header-row{background-color:var(--bg-dark);min-height:40px;font-weight:800}.timeline-row.event-row{cursor:pointer}.timeline-row.event-row:hover{background-color:#ffffff05}.timeline-row.event-row.expanded{background-color:#a855f708}.timeline-label-col{z-index:10;background-color:var(--bg-card);border-right:1px solid var(--border-color);flex-shrink:0;align-items:center;width:180px;padding:0 12px;display:flex;position:sticky;left:0;box-shadow:2px 0 5px #00000026}.timeline-row.header-row .timeline-label-col{background-color:var(--bg-dark)}.timeline-bars-col{flex-grow:1;align-items:center;display:flex;position:relative}.day-grid-headers{align-items:stretch;height:100%;display:flex}.day-header-cell{color:var(--text-muted);box-sizing:border-box;border-right:1px solid #ffffff08;flex-direction:column;justify-content:center;align-items:center;height:100%;font-size:.65rem;display:flex}.day-header-cell.today{color:var(--accent-color);background-color:#a855f714;font-weight:900}.day-header-cell .wday{text-transform:uppercase;letter-spacing:.05em;opacity:.8;font-size:.58rem}.day-header-cell .date-num{font-weight:700}.grid-background-lines{z-index:1;pointer-events:none;display:flex;position:absolute;inset:0}.grid-line-cell{box-sizing:border-box;border-right:1px solid #ffffff08;height:100%}.grid-line-cell.today{background-color:#a855f705;border-right-color:#a855f71a}.timeline-event-info{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.event-name-text{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:700;overflow:hidden}.event-type-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.event-type-dot.community-day{background-color:var(--community-green)}.event-type-dot.pokemon-spotlight-hour{background-color:var(--spotlight-yellow)}.event-type-dot.raid-hour{background-color:var(--spotlight-blue)}.event-type-dot.raid-battles{background-color:#ef4444}.event-type-dot.rocket-takeover{background-color:#a855f7}.event-type-dot.max-monday,.event-type-dot.max-mondays{background-color:#ef4444}.event-type-dot.other-event{background-color:var(--text-muted)}.timeline-bar{z-index:2;box-sizing:border-box;color:#fff;text-shadow:0 1px 2px #00000080;cursor:pointer;border-radius:6px;align-items:center;height:22px;padding:0 8px;font-size:.65rem;font-weight:800;transition:filter .15s;display:flex;position:absolute;overflow:hidden;box-shadow:0 1.5px 3px #00000040}.timeline-bar:hover{filter:brightness(115%)}.timeline-bar .bar-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.timeline-bar.community-day{background:linear-gradient(135deg,#10b981,#059669);border:1px solid #10b9814d}.timeline-bar.spotlight-hour{background:linear-gradient(135deg,#f59e0b,#d97706);border:1px solid #f59e0b4d}.timeline-bar.raid-hour{background:linear-gradient(135deg,#3b82f6,#2563eb);border:1px solid #3b82f64d}.timeline-bar.raid-battles{background:linear-gradient(135deg,#ef4444,#dc2626);border:1px solid #ef44444d}.timeline-bar.rocket-takeover{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:1px solid #8b5cf64d}.timeline-bar.max-monday,.timeline-bar.max-mondays{color:#ef4444;background:#ef444426;border:1px solid #ef4444}.timeline-bar.other-event{background:linear-gradient(135deg,#6b7280,#4b5563);border:1px solid #6b72804d}.timeline-expanded-card-wrapper{border-bottom:1px solid var(--border-color);box-sizing:border-box;background-color:#06070959;padding:16px 12px}.timeline-expanded-card-container{max-width:480px;margin-left:20px}@media (max-width:480px){.timeline-expanded-card-container{width:100%;margin-left:0}}body.light-mode .timeline-view-wrapper{background-color:#fff!important;border-color:#0f172a24!important;box-shadow:0 4px 16px #0f172a0d!important}body.light-mode .timeline-row.header-row,body.light-mode .timeline-row.header-row .timeline-label-col{color:#0f172a!important;background-color:#f1f5f9!important}body.light-mode .timeline-label-col{background-color:#fff!important;box-shadow:2px 0 5px #0f172a0d!important}body.light-mode .timeline-event-name{color:#0f172a!important}body.light-mode .day-header-cell{color:#475569!important;border-right:1px solid #0f172a0f!important}body.light-mode .day-header-cell.today{color:#7e22ce!important;background-color:#a855f71a!important;font-weight:800!important}body.light-mode .timeline-bar-text{color:#fff!important}body.light-mode .timeline-expanded-card-wrapper{background-color:#f8fafc!important;border-bottom:1px solid #0f172a1a!important}
.calendar-month-wrapper{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;flex-direction:column;gap:20px;margin-bottom:24px;padding:24px;display:flex;box-shadow:0 10px 30px #0003}.calendar-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.calendar-title-nav{align-items:center;gap:16px;display:flex}.calendar-title-nav h2{color:var(--text-primary);font-size:1.35rem;font-weight:850}.calendar-nav-btn{background:var(--bg-dark);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.3rem;line-height:1;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.calendar-nav-btn:hover{background:var(--bg-card-hover);border-color:var(--accent-color);color:var(--accent-color)}.calendar-legend{flex-wrap:wrap;gap:12px;display:flex}.calendar-grid-header{text-align:center;border-bottom:1px solid var(--border-color);grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding-bottom:10px;padding-left:6px;padding-right:6px;display:grid}.calendar-header-day{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800}.calendar-weeks-container{flex-direction:column;gap:8px;display:flex}.calendar-week-row{border-bottom:1px solid #24283666;flex-direction:column;padding-bottom:10px;display:flex;position:relative}.calendar-week-row:last-child{border-bottom:none;padding-bottom:0}.calendar-bg-grid{pointer-events:none;z-index:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:0 6px;display:grid;position:absolute;inset:0}.calendar-bg-cell{background-color:#17192126;border:1px solid #ffffff14;border-radius:12px;height:100%;transition:all .2s}.calendar-bg-cell.today-bg{background-color:#aa3bff08;border-color:#aa3bff59}.calendar-numbers-row{z-index:2;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:6px 6px 4px;display:grid;position:relative}.calendar-number-cell{justify-content:flex-start;align-items:center;padding:2px 4px;display:flex}.calendar-number-cell.other-month{opacity:.55}.calendar-day-number{color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.72rem;font-weight:800;display:flex}.calendar-number-cell.today .calendar-day-number{background:var(--accent-gradient);color:#fff;box-shadow:0 3px 10px #aa3bff66}.calendar-short-events-row{z-index:2;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:2px 6px 8px;display:grid;position:relative}.calendar-short-events-cell{flex-direction:column;display:flex}.calendar-short-events-cell.other-month{opacity:.85}.calendar-multi-overlay{z-index:3;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:6px;padding:0 6px;display:grid;position:relative}.calendar-multi-bar{color:#fff;text-shadow:0 1px 2px #0006;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:6px;align-items:center;gap:6px;margin:0;padding:4px 8px;font-size:.72rem;font-weight:800;transition:transform .15s cubic-bezier(.4,0,.2,1),filter .15s;display:flex;overflow:hidden;box-shadow:0 2px 4px #00000026}.calendar-multi-bar:hover{filter:brightness(112%);transform:translateY(-1px)}.calendar-multi-bar.community-day{background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:1px solid #10b98133}.calendar-multi-bar.spotlight-hour{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border:1px solid #f59e0b33}.calendar-multi-bar.raid-hour{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:1px solid #3b82f633}.calendar-multi-bar.raid-battles{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border:1px solid #ef444433}.calendar-multi-bar.rocket-takeover{background:linear-gradient(135deg,#a855f7 0%,#7e22ce 100%);border:1px solid #a855f733}.calendar-multi-bar.max-monday,.calendar-multi-bar.max-mondays{color:#ef4444;background:#ef44441f;border:1px solid #ef4444;box-shadow:0 0 6px #ef444433}.calendar-multi-bar.other-event{background:linear-gradient(135deg,#4b5563 0%,#374151 100%);border:1px solid #6b728033}.calendar-day-events-list{flex-direction:column;gap:3px;width:100%;display:flex;overflow:hidden}.calendar-short-event{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;border:1px solid #0000;border-radius:6px;align-items:center;gap:5px;width:100%;min-width:0;padding:3px 6px;font-size:.68rem;font-weight:700;transition:all .15s;display:flex;overflow:hidden}.calendar-short-event.community-day{color:#34d399;background-color:#10b98114;border-color:#10b98133}.calendar-short-event.spotlight-hour{color:#fbbf24;background-color:#f59e0b14;border-color:#f59e0b33}.calendar-short-event.raid-hour{color:#60a5fa;background-color:#3b82f614;border-color:#3b82f633}.calendar-short-event.raid-battles{color:#f87171;background-color:#ef444414;border-color:#ef444433}.calendar-short-event.rocket-takeover{color:#c084fc;background-color:#a855f714;border-color:#a855f733}.calendar-short-event.max-monday,.calendar-short-event.max-mondays{color:#ef4444;background-color:#ef44441a;border:1px solid #ef4444;box-shadow:0 0 4px #ef444426}.calendar-short-event.other-event{color:#d1d5db;background-color:#6b728014;border-color:#6b728033}.calendar-short-event:hover{filter:brightness(125%);background-color:#ffffff14}.short-event-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.calendar-short-event.community-day .short-event-dot{background-color:#34d399}.calendar-short-event.spotlight-hour .short-event-dot{background-color:#fbbf24}.calendar-short-event.raid-hour .short-event-dot{background-color:#60a5fa}.calendar-short-event.raid-battles .short-event-dot{background-color:#f87171}.calendar-short-event.rocket-takeover .short-event-dot{background-color:#c084fc}.calendar-short-event.max-monday .short-event-dot,.calendar-short-event.max-mondays .short-event-dot{background-color:#ef4444}.calendar-short-event.other-event .short-event-dot{background-color:#d1d5db}.calendar-short-event.max-monday .short-event-name,.calendar-short-event.max-mondays .short-event-name{color:#ef4444}.calendar-short-event.max-monday .short-event-time,.calendar-short-event.max-mondays .short-event-time{color:#fff}.short-event-icon{object-fit:contain;filter:drop-shadow(0 1px 3px #0009);flex-shrink:0;width:20px;height:20px}.calendar-short-event.max-monday .short-event-icon,.calendar-short-event.max-mondays .short-event-icon,.calendar-short-event.spotlight-hour .short-event-icon{width:22px;height:22px}.short-event-time{color:var(--text-muted);flex-shrink:0;font-size:.62rem;font-weight:700}.short-event-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.calendar-modal-overlay{-webkit-backdrop-filter:blur(10px);z-index:1000;background-color:#060709d9;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.calendar-modal-content{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:24px;width:100%;max-width:800px;max-height:90vh;padding:0;animation:.3s cubic-bezier(.34,1.56,.64,1) scaleUp;position:relative;overflow-y:auto;box-shadow:0 30px 60px -15px #000c}.calendar-modal-content .event-card{box-shadow:none;background:0 0;border:none}.calendar-modal-content .card-top{padding:24px 24px 16px}.calendar-modal-content .card-expanded-content{padding:0 24px 24px}@media (min-width:601px){.calendar-modal-content .cd-bonuses-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}}.calendar-modal-close{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;z-index:10;background:#0f1015b3;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.calendar-modal-close:hover{background:var(--accent-gradient);color:#fff;border-color:#0000;transform:rotate(90deg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.calendar-month-wrapper{box-shadow:none;box-sizing:border-box;border-left:none;border-right:none;border-radius:0;width:calc(100% + 28px);margin-bottom:16px;margin-left:-14px;margin-right:-14px;padding:8px 0}.calendar-header{gap:8px;padding:0 12px}.calendar-title-nav h2{font-size:1.1rem}.calendar-legend{gap:8px;padding:0 12px}.calendar-grid-header{gap:2px;margin:0 4px;padding-left:4px;padding-right:4px}.calendar-header-day{font-size:.65rem}.calendar-weeks-container{gap:4px}.calendar-bg-grid{gap:2px;padding:0 4px}.calendar-bg-cell{border-radius:8px}.calendar-numbers-row{gap:2px;padding:4px 4px 2px}.calendar-day-number{width:16px;height:16px;font-size:.65rem}.calendar-multi-overlay{gap:2px;margin-bottom:4px;padding:0 4px}.calendar-short-events-row{gap:2px;padding:2px 4px 6px}.calendar-short-event{gap:3px;padding:2px 3px;font-size:.58rem}.short-event-icon{width:16px;height:16px}.calendar-short-event.max-monday .short-event-icon,.calendar-short-event.max-mondays .short-event-icon,.calendar-short-event.spotlight-hour .short-event-icon{width:18px;height:18px}.short-event-dot{width:5px;height:5px}.calendar-multi-bar{border-radius:5px;gap:4px;padding:2px 5px;font-size:.6rem}.calendar-week-row{padding-bottom:6px}.calendar-modal-overlay{padding:10px 6px}.calendar-modal-content{border-radius:16px;max-width:98vw}.calendar-modal-content .card-top{padding:14px 10px 8px}.calendar-modal-content .card-expanded-content{padding:0 6px 14px}}@media (max-width:400px){.calendar-month-wrapper{box-sizing:border-box;width:calc(100% + 28px);margin-left:-14px;margin-right:-14px;padding:6px 0}.calendar-header{padding:0 8px}.calendar-legend{gap:6px;padding:0 8px;font-size:.6rem}.calendar-grid-header{margin:0 2px;padding-left:2px;padding-right:2px}.calendar-bg-grid{padding:0 2px}.calendar-numbers-row{padding:3px 2px 2px}.calendar-multi-overlay{padding:0 2px}.calendar-short-events-row{padding:2px 2px 4px}.calendar-short-event{gap:2px;padding:1px 2px;font-size:.55rem}.short-event-time{font-size:.55rem}.short-event-icon{width:14px;height:14px}.calendar-short-event.max-monday .short-event-icon,.calendar-short-event.max-mondays .short-event-icon,.calendar-short-event.spotlight-hour .short-event-icon{width:16px;height:16px}.calendar-multi-bar{gap:3px;padding:2px 4px;font-size:.55rem}}.duotone-icon{vertical-align:middle;flex-shrink:0;justify-content:center;align-items:center;margin-right:8px;display:inline-flex}.duotone-icon svg{stroke-width:2.25px;filter:drop-shadow(0 2px 4px #00000026)}.duotone-purple{color:#c084fc;fill:#c084fc1f}.duotone-green{color:#34d399;fill:#34d3991f}.duotone-red{color:#f87171;fill:#f871711f}.duotone-yellow{color:#fbbf24;fill:#fbbf241f}.duotone-blue{color:#60a5fa;fill:#60a5fa1f}.duotone-orange{color:#fb923c;fill:#fb923c1f}.duotone-pink{color:#f472b6;fill:#f472b61f}.duotone-gray{color:#9ca3af;fill:#9ca3af1f}.duotone-white{color:var(--text-primary);fill:#ffffff14}body.light-mode .calendar-bg-cell{background-color:#0f172a05!important;border-color:#0f172a14!important}body.light-mode .calendar-bg-cell.today-bg{background-color:#aa3bff0f!important;border-color:#aa3bff66!important}body.light-mode .calendar-day-num{color:#0f172a!important}body.light-mode .calendar-day-cell.other-month .calendar-day-num{color:#94a3b8!important}body.light-mode .calendar-modal-content{color:#0f172a!important;background:#fff!important;border-color:#0f172a24!important;box-shadow:0 20px 50px #0000001f!important}body.light-mode .calendar-modal-close{color:#475569!important;background:#f1f5f9!important;border-color:#0f172a24!important}body.light-mode .duotone-white{color:#0f172a!important;fill:#0f172a0f!important}
.ditto-eggs-view-container{flex-direction:column;gap:20px;animation:.3s ease-in-out fadeIn;display:flex}.sub-tab-bar{border:1px solid var(--border-color);background-color:#06070966;border-radius:12px;align-self:center;gap:4px;width:fit-content;margin-bottom:8px;padding:4px;display:flex}.sub-tab-item{color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.sub-tab-item:hover{color:var(--text-primary);background-color:#ffffff08}.sub-tab-item.active{background-color:var(--bg-card);color:var(--text-primary);border:1px solid #a855f726;box-shadow:0 4px 12px #00000026}.section-info-card{background:linear-gradient(135deg,#3b82f60d,#8b5cf60d);border:1px solid #3b82f626;border-radius:12px;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;display:flex}.info-card-icon{color:#60a5fa;flex-shrink:0;display:flex}.info-card-text{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.45}.ditto-disguises-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:14px;display:grid}.disguise-card{background-color:var(--bg-card);border:1px solid var(--border-color);text-align:center;border-radius:12px;flex-direction:column;align-items:center;padding:12px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.disguise-card:hover{border-color:#c084fc4d;transform:translateY(-2px);box-shadow:0 6px 16px #c084fc14}.disguise-img-container{background-color:#ffffff05;border-radius:50%;justify-content:center;align-items:center;width:92px;height:92px;margin-bottom:8px;display:flex;position:relative}.disguise-pokemon-img{object-fit:contain;width:80px;height:80px}.shiny-badge-absolute{background:#111827d9;border:1px solid #fbbf24;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:-2px;right:-2px;box-shadow:0 2px 4px #0000004d}.disguise-info{flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.disguise-name{color:var(--text-primary);font-size:.85rem;font-weight:750}.disguise-types{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.egg-tiers-selector{flex-wrap:wrap;gap:10px;margin-bottom:20px;padding:8px 4px;display:flex}.egg-tier-btn{background-color:var(--bg-card);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;border:2px solid #0000;border-radius:12px;flex:auto;justify-content:center;align-items:center;gap:8px;min-width:90px;padding:8px 16px;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.egg-tier-btn:hover{color:var(--text-primary);background-color:#ffffff08}.egg-tier-btn.active{background-color:var(--bg-card);color:var(--text-primary)}.egg-tier-label{font-size:.85rem}.egg-pool-details-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;gap:20px;padding:20px;display:flex;box-shadow:0 4px 16px #00000026}.egg-pool-details-header{border-left:4px solid var(--border-color);align-items:center;gap:16px;padding-left:12px;display:flex}.egg-pool-details-header h3{color:var(--text-primary);margin:0 0 2px;font-size:1.15rem;font-weight:800}.hatch-count-pill{color:var(--text-muted);background-color:#ffffff08;border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:600}.egg-hatches-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:14px;display:grid}.egg-hatch-card{background-color:var(--bg-card-hover);border:1px solid var(--border-color);text-align:center;border-radius:12px;flex-direction:column;align-items:center;padding:12px;transition:transform .2s,border-color .2s;display:flex}.egg-hatch-card:hover{border-color:#3b82f633;transform:translateY(-2px)}.hatch-img-container{background-color:#ffffff03;border-radius:50%;justify-content:center;align-items:center;width:92px;height:92px;margin-bottom:8px;display:flex;position:relative}.hatch-pokemon-img{object-fit:contain;width:80px;height:80px}.hatch-info{flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.hatch-name{color:var(--text-primary);font-size:.85rem;font-weight:750}.hatch-cp{color:var(--text-secondary);font-size:.7rem}.hatch-cp strong{color:var(--text-muted)}.hatch-rarity-row{color:var(--text-muted);align-items:center;gap:4px;margin-top:2px;font-size:.65rem;display:flex}.rarity-eggs-flex{gap:2px;display:flex}body.light-mode .ditto-disguises-card,body.light-mode .egg-pool-card,body.light-mode .egg-pool-details-card,body.light-mode .egg-hatch-card,body.light-mode .hatch-card-v2,body.light-mode .hatch-img-container,body.light-mode .egg-tier-btn,body.light-mode .disguise-item,body.light-mode .egg-pokemon-chip,body.light-mode .sub-tab-bar{color:#0f172a!important;background:#fff!important;border:1px solid #0f172a24!important}body.light-mode .egg-tier-btn.active{color:#7e22ce!important;background:#faf5ff!important;border-color:#9333ea!important}body.light-mode .hatch-name,body.light-mode .disguise-pokemon-name{font-weight:800;color:#0f172a!important}body.light-mode .hatch-cp,body.light-mode .disguise-desc{color:#334155!important}
