:root{--lol-bg:#010a13;--lol-bg-mid:#091428;--lol-surface:#0a1428;--lol-border:#c8aa6e2e;--lol-gold:#c8aa6e;--lol-gold-dim:#785a28;--lol-teal:#0ac8b9;--lol-text-muted:#a09b8c;--lol-text-bright:#f0e6d2;--font-display:"Cinzel", "Times New Roman", serif;--font-ui:"Inter", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;font-family:var(--font-ui);color:var(--lol-text-muted);background-color:var(--lol-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.45}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(ellipse 100% 60% at 50% 0%, #0ac8b91a, transparent 55%), radial-gradient(ellipse 70% 45% at 100% 20%, #c8aa6e12, transparent 50%), radial-gradient(ellipse 55% 40% at 0% 85%, #28468238, transparent 52%), linear-gradient(180deg, #0c1828 0%, var(--lol-bg-mid) 28%, var(--lol-bg) 52%, #000509 100%);background-attachment:fixed;min-height:100svh;margin:0}body:before{content:"";pointer-events:none;opacity:.04;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}#root{min-height:100svh}button{font:inherit}.page-shell{box-sizing:border-box;justify-content:center;align-items:stretch;gap:20px;width:100%;max-width:1600px;min-height:100svh;margin:0 auto;padding:0 16px;display:flex}.ad-rail{flex:none;justify-content:center;width:168px;padding-top:20px;display:flex}.ad-rail-frame{background:linear-gradient(145deg,#0c1c30f2 0%,#040a16fa 100%);border:1px solid #c8aa6e47;border-radius:4px;padding:10px;position:sticky;top:20px;box-shadow:0 0 0 1px #0ac8b90f,0 12px 40px #00000073,inset 0 1px #ffffff0a}.ad-rail-corner{pointer-events:none;border-color:var(--lol-teal);opacity:.35;width:10px;height:10px;position:absolute}.ad-rail-corner--tl{border-top:2px solid;border-left:2px solid;top:3px;left:3px}.ad-rail-corner--tr{border-top:2px solid;border-right:2px solid;top:3px;right:3px}.ad-rail-corner--bl{border-bottom:2px solid;border-left:2px solid;bottom:3px;left:3px}.ad-rail-corner--br{border-bottom:2px solid;border-right:2px solid;bottom:3px;right:3px}.ad-placeholder{box-sizing:border-box;background:linear-gradient(#0a182c80 0%,#030812d9 100%),repeating-linear-gradient(-45deg,#0000,#0000 6px,#c8aa6e08 6px 7px);border:1px solid #c8aa6e33;border-radius:2px;justify-content:center;align-items:center;width:148px;min-height:600px;max-height:min(88vh,600px);display:flex}.ad-placeholder-inner{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:16px 12px;display:flex}.ad-placeholder-label{letter-spacing:.28em;text-transform:uppercase;color:#c8aa6e8c;font-size:.65rem;font-weight:700}.ad-placeholder-size{color:#a09b8c66;font-size:.62rem;font-family:var(--font-mono)}.ad-rail-adsense,.ad-banner-adsense{width:100%;max-width:100%}.ad-rail-adsense{min-width:120px}.ad-banner{width:100%;max-width:728px;margin:0 auto 8px;display:none}.ad-banner-inner{background:linear-gradient(#0e2038bf 0%,#040a16eb 100%);border:1px solid #c8aa6e38;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:90px;padding:12px 16px;display:flex;box-shadow:0 0 0 1px #0ac8b90d,inset 0 1px #ffffff0a}.ad-banner-label{letter-spacing:.35em;text-transform:uppercase;color:#c8aa6e80;font-size:.62rem;font-weight:700}.ad-banner-size{font-size:.58rem;font-family:var(--font-mono);color:#a09b8c61}@media (width<=1200px){.ad-rail{display:none}.ad-banner{display:block}.page-shell{padding:0 20px}}.app{box-sizing:border-box;flex-direction:column;flex:auto;min-width:0;max-width:1100px;min-height:100svh;margin:0 auto;padding:0 4px 48px;display:flex}.site-header{background:linear-gradient(165deg,#0e1c348c 0%,#040a16bf 45%,#02060ee6 100%);border:1px solid #c8aa6e38;border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:0 -4px;padding:32px 20px 28px;display:flex;position:relative;box-shadow:0 0 0 1px #0ac8b90f,inset 0 1px #ffffff0a}.site-header:after{content:"";opacity:.85;pointer-events:none;background:linear-gradient(90deg,#0000,#c8aa6e59 20%,#0ac8b959 50%,#c8aa6e59 80%,#0000);height:2px;position:absolute;bottom:0;left:12px;right:12px}.brand{text-align:left;align-items:flex-start;gap:16px;display:flex}.brand-mark{background:linear-gradient(145deg, #e4c89a 0%, var(--lol-gold) 28%, var(--lol-gold-dim) 62%, #2a1f0c 100%);border-radius:4px;flex-shrink:0;width:52px;height:52px;box-shadow:0 0 0 1px #c8aa6e73,0 4px 16px #0006,inset 0 1px #ffffff38}.site-title{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--lol-text-bright);margin:0 0 6px;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;line-height:1.15}.site-tagline{color:var(--lol-text-bright);max-width:min(40rem,100%);margin:0;font-size:clamp(.9rem,2.2vw,1.05rem);font-weight:500;line-height:1.5}.header-meta{text-align:right;flex-direction:column;align-items:flex-end;gap:6px;display:flex}.app-tabs{grid-template-columns:1fr 1fr;gap:12px;padding:20px 0 12px;display:grid}.app-tab{font-family:var(--font-ui);text-align:left;color:var(--lol-text-muted);cursor:pointer;background:linear-gradient(#0c182ca6 0%,#040a16eb 100%);border:1px solid #c8aa6e33;border-radius:4px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 18px;transition:background .2s,border-color .2s,color .2s,box-shadow .2s;display:flex}.app-tab-title{letter-spacing:.04em;text-transform:uppercase;color:inherit;font-size:.95rem;font-weight:700}.app-tab-sub{letter-spacing:.03em;color:#a09b8cbf;font-size:.75rem;font-weight:500;line-height:1.3}.app-tab-date{letter-spacing:.04em;color:var(--lol-teal);font-size:.75rem;font-weight:600;line-height:1.3}.app-tab:hover{color:var(--lol-text-bright);border-color:#c8aa6e61}.app-tab:hover .app-tab-sub{color:#c8aa6ea6}.app-tab:hover .app-tab-date{color:#2dd4c3}.app-tab-active{color:var(--lol-gold);background:linear-gradient(185deg,#c8aa6e24 0%,#081226f2 55%,#030812fa 100%);border-color:#c8aa6e8c;box-shadow:0 0 0 1px #0ac8b91f,0 12px 36px #00000059}.app-tab-active .app-tab-sub{color:#c8aa6ebf}.app-tab-active .app-tab-date{color:var(--lol-teal);opacity:.95}.past-controls{text-align:left;background:linear-gradient(165deg,#0c1a308c 0%,#040a16e0 100%);border:1px solid #c8aa6e38;border-radius:4px;margin-bottom:24px;padding:20px 20px 22px;box-shadow:0 0 0 1px #0ac8b90d,inset 0 1px #ffffff08}.past-controls-lead{color:var(--lol-text-muted);margin:0 0 18px;font-size:.92rem;line-height:1.55}.past-controls-label{letter-spacing:.16em;text-transform:uppercase;color:var(--lol-gold);margin:20px 0 10px;font-size:.72rem;font-weight:700;display:block}.past-controls-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.past-select{min-width:0;font-family:var(--font-ui);border:1px solid var(--lol-border);background:var(--lol-surface);color:var(--lol-text-bright);border-radius:8px;flex:200px;padding:10px 12px;font-size:.95rem}.past-empty{color:var(--lol-text-muted);text-align:left;background:#050e2066;border:1px solid #c8aa6e2e;border-radius:4px;margin:0 0 20px;padding:16px 18px;line-height:1.55}.horoscope-calendar{margin-top:4px}.horoscope-calendar-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.horoscope-calendar-title{text-align:center;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--lol-text-bright);flex:1;margin:0;font-size:1.1rem;font-weight:700}.horoscope-calendar-nav{width:40px;height:40px;color:var(--lol-gold);cursor:pointer;background:#060e1ccc;border:1px solid #c8aa6e47;border-radius:4px;flex-shrink:0;padding:0;font-size:1.35rem;line-height:1;transition:background .2s,border-color .2s,color .2s}.horoscope-calendar-nav:hover:not(:disabled){color:var(--lol-teal);background:#0a283080;border-color:#0ac8b973}.horoscope-calendar-nav:disabled{opacity:.28;cursor:not-allowed}.horoscope-calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px;display:grid}.horoscope-calendar-wd{letter-spacing:.12em;text-transform:uppercase;text-align:center;color:#a09b8c8c;font-size:.65rem;font-weight:700}.horoscope-calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.horoscope-calendar-cell{aspect-ratio:1;box-sizing:border-box;border-radius:3px;justify-content:center;align-items:center;max-height:44px;display:flex}.horoscope-calendar-cell--blank{visibility:hidden}.horoscope-calendar-cell--muted{color:#64625c73;pointer-events:none;background:#04081059;border:1px solid #50505a26}.horoscope-calendar-cell--muted .horoscope-calendar-daynum{font-size:.82rem;font-weight:600;font-family:var(--font-ui)}.horoscope-calendar-cell--pick{color:var(--lol-text-bright);cursor:pointer;background:linear-gradient(165deg,#182840d9 0%,#060e1cf2 100%);border:1px solid #c8aa6e59;transition:border-color .2s,box-shadow .2s,color .2s}.horoscope-calendar-cell--pick:hover:not(:disabled){color:var(--lol-teal);border-color:#0ac8b98c;box-shadow:0 0 16px #0ac8b91f}.horoscope-calendar-cell--pick:disabled{opacity:.5;cursor:not-allowed}.horoscope-calendar-cell--selected{border-color:var(--lol-gold);color:var(--lol-gold);box-shadow:0 0 0 1px #c8aa6e59,0 0 20px #c8aa6e2e}.horoscope-calendar-daynum{font-size:.88rem;font-weight:700;font-family:var(--font-ui)}.patch-line{color:var(--lol-teal);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.8rem}.readings-line{max-width:22rem;color:var(--lol-gold);letter-spacing:.04em;text-align:right;margin:0;font-size:.78rem;line-height:1.35}.data-missing-banner{color:var(--lol-text-bright);text-align:left;background:#280c148c;border:1px solid #e8405773;border-radius:12px;margin:0 0 20px;padding:16px 18px;font-size:.92rem;line-height:1.55}.data-missing-banner strong{color:#ff8a9a}.intro{color:var(--lol-text-muted);text-align:left;background:linear-gradient(165deg,#0a162a59 0%,#040a16a6 100%);border:1px solid #c8aa6e38;border-radius:4px;max-width:52rem;margin:0 0 28px;padding:18px 22px;font-size:1rem;line-height:1.65;box-shadow:inset 0 1px #ffffff08}.main{flex:1;padding-top:8px}.state-msg{text-align:center;color:var(--lol-text-muted);padding:48px 16px}.state-msg--compact{padding:12px 16px 20px;font-size:.92rem}.state-err{color:#e84057}.panel{animation:.35s fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.search-panel{flex-direction:column;gap:12px;display:flex}.search-panel--loading{min-height:200px}.champ-skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:8px;display:grid}.champ-skeleton-card{background:linear-gradient(110deg,#12203a59 0%,#0c162a8c 40%,#12203a59 80%) 0 0/200% 100%;border:1px solid #c8aa6e1f;border-radius:12px;height:84px;animation:1.4s ease-in-out infinite champ-shimmer}@keyframes champ-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.search-label{color:var(--lol-text-muted);text-align:left;font-size:.85rem}.search-input{font-family:var(--font-ui);border:1px solid var(--lol-border);background:var(--lol-surface);color:var(--lol-text-bright);border-radius:8px;outline:none;padding:14px 16px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.search-input::placeholder{color:#a09b8c73}.search-input:focus{border-color:var(--lol-gold-dim);box-shadow:0 0 0 3px #c8aa6e1f}.champ-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;max-height:min(68vh,640px);margin:16px 0 0;padding:0 4px 0 0;list-style:none;display:grid;overflow:auto}.champ-card{border:1px solid var(--lol-border);width:100%;color:inherit;cursor:pointer;text-align:left;background:linear-gradient(155deg,#12203af2 0%,#050c18fa 100%);border-radius:12px;align-items:center;gap:14px;padding:12px 12px 12px 14px;transition:border-color .2s,box-shadow .2s,transform .15s;display:flex}.champ-card:hover{border-color:#c8aa6e73;transform:translateY(-2px);box-shadow:0 10px 32px #00000059}.champ-card:hover .champ-card-open{color:var(--lol-gold);background:#c8aa6e14;border-color:#c8aa6e59}.champ-card:focus-visible{outline:2px solid var(--lol-teal);outline-offset:2px}.champ-card img{border:1px solid #c8aa6e4d;border-radius:10px;flex-shrink:0}.champ-card-body{flex-direction:column;flex:auto;gap:4px;min-width:0;display:flex}.champ-card-name{font-family:var(--font-display);letter-spacing:.04em;color:var(--lol-text-bright);font-size:1.05rem;font-weight:700}.champ-card-title{color:var(--lol-teal);font-size:.8rem;font-style:italic;line-height:1.25}.champ-card-open{color:#c8aa6e8c;border-left:1px solid #c8aa6e26;border-radius:0 10px 10px 0;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;width:44px;margin:-6px -6px -6px 0;transition:color .2s,background .2s,border-color .2s;display:flex}.champ-card-chevron-icon{display:block}.empty-hint{color:var(--lol-text-muted);text-align:left;margin:8px 0 0;font-size:.85rem}.site-footer{border-top:1px solid var(--lol-border);margin-top:40px;padding-top:24px}.site-footer p{color:#a09b8c8c;text-align:center;margin:0;font-size:.75rem;line-height:1.5}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#010a13d1;place-items:center;padding:24px;animation:.25s fade-in;display:grid;position:fixed;inset:0}.modal-card{background:linear-gradient(165deg,#162644fa 0%,#050c18fc 55%);border:1px solid #c8aa6e59;border-radius:14px;flex-direction:column;width:min(520px,100%);max-height:min(92vh,900px);padding:28px 24px 20px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 80px #0000008c,0 0 0 1px #0ac8b914}.modal-close{text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--lol-border);color:var(--lol-text-muted);cursor:pointer;background:#050c18cc;border-radius:6px;padding:8px 12px;font-size:.75rem;font-weight:600;position:absolute;top:14px;right:14px}.modal-close:hover{color:var(--lol-text-bright);border-color:#c8aa6e59}.modal-hero{text-align:left;flex-shrink:0;align-items:center;gap:18px;display:flex}.modal-icon{border:2px solid var(--lol-gold-dim);border-radius:12px;box-shadow:0 8px 24px #0006}.modal-heading h2{font-family:var(--font-display);letter-spacing:.04em;color:var(--lol-text-bright);margin:0 0 6px;font-size:1.5rem}.modal-title{color:var(--lol-teal);margin:0;font-size:.9rem;font-style:italic}.modal-divider{background:linear-gradient(90deg,#0000,#c8aa6e66 30%,#0ac8b940 70%,#0000);flex-shrink:0;height:1px;margin:20px 0 0}.modal-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;flex:auto;min-height:0;margin-top:16px;padding:0 4px 8px 0;overflow-y:auto}.modal-scroll::-webkit-scrollbar{width:8px}.modal-scroll::-webkit-scrollbar-track{background:#050c1880;border-radius:4px}.modal-scroll::-webkit-scrollbar-thumb{background:#c8aa6e59;border-radius:4px}.modal-scroll::-webkit-scrollbar-thumb:hover{background:#c8aa6e80}.modal-label{letter-spacing:.2em;text-transform:uppercase;color:var(--lol-gold);text-align:left;margin:0 0 10px;font-size:.7rem;font-weight:700}.modal-horoscope{color:var(--lol-text-bright);text-align:left;font-size:1.05rem;line-height:1.55;font-family:var(--font-mono);white-space:pre-line;margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
