:root{color-scheme:light;--ink: #202944;--dim: #67718c;--coral: #ee6a3d;--coral-deep: #db5527;--card: rgba(255, 255, 255, .72);--card-solid: #ffffff;--edge: rgba(255, 255, 255, .85);--shadow: 0 18px 44px rgba(64, 84, 138, .16);--alive: #3e9f63;--dead: #d4485a;--unknown: #8b8794;--font-body: "Poppins", system-ui, sans-serif;--font-mono: "Spline Sans Mono", ui-monospace, monospace;--radius: 22px;--speed: .18s}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(900px 600px at 12% -5%,#ccd6ee 0%,transparent 60%),radial-gradient(800px 500px at 95% 8%,#d7e2f2 0%,transparent 55%),radial-gradient(1100px 700px at 15% 110%,#97a9d9 0%,transparent 55%),radial-gradient(1000px 650px at 90% 105%,#5c6da8 0%,transparent 50%),radial-gradient(700px 500px at 55% 100%,#b6cbe8 0%,transparent 55%),#e7eaf2;background-attachment:fixed;color:var(--ink);font-family:var(--font-body);font-size:15.5px;line-height:1.6}main{max-width:820px;margin:0 auto;padding:2.2rem 1.25rem 5rem}.masthead{margin-bottom:2rem}.wordmark{display:inline-flex;align-items:center;gap:.7rem;background:none;border:none;box-shadow:none;padding:0;color:var(--ink);font-family:var(--font-body);font-size:1.5rem;font-weight:700;letter-spacing:-.01em;cursor:pointer}.wordmark:hover{color:var(--coral-deep);transition:color var(--speed) ease-out}.orb{flex:none;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#ffd9c4,#f4926b 38%,#e2532a 78%,#b93f1e);box-shadow:0 6px 14px #e2532a59,inset 0 -3px 6px #0000001f}.tagline{margin:.3rem 0 0 2.45rem;color:var(--dim);font-size:.88rem}.masthead-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.account{display:flex;align-items:center;gap:.6rem}.avatar{width:30px;height:30px;border-radius:50%;flex:none;box-shadow:0 4px 10px #40548a2e}.account-name{color:var(--dim);font-size:.85rem;font-weight:600}.account-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.account-usage{margin:.6rem 0 1rem;font-weight:600}.account-key{margin-bottom:.4rem}.account-key input{width:100%}.account-hint{margin:0 0 .9rem}.quota-prompt{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.quota-link{padding:.35rem .9rem}.login{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.9rem;background:var(--card);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow);padding:3rem 1.75rem;margin:3rem 0 1rem}.login .muted{margin:0}.login-btn{display:inline-block;margin-top:.6rem;padding:.6rem 1.5rem;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none}.login-btn:hover{background:var(--coral-deep);border-color:var(--coral-deep)}.eyebrow{margin:0 0 .8rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--dim)}.mono{font-family:var(--font-mono)}.meta{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.05em;color:var(--dim)}.muted{color:var(--dim);font-size:.9rem}.error{color:var(--dead);font-size:.92rem}.deck,.card{background:var(--card);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.3rem 1.4rem;margin:.9rem 0}input,select{font:inherit;color:var(--ink);background:var(--card-solid);border:1px solid rgba(110,125,160,.18);border-radius:999px;padding:.55rem 1rem;transition:border-color var(--speed) ease-out,box-shadow var(--speed) ease-out}input::placeholder{color:color-mix(in srgb,var(--dim) 75%,transparent)}input:hover,select:hover{border-color:color-mix(in srgb,var(--coral) 45%,transparent)}button{font:inherit;cursor:pointer;color:var(--ink);background:var(--card-solid);border:1px solid rgba(110,125,160,.14);border-radius:999px;padding:.55rem 1.15rem;font-weight:600;font-size:.9rem;box-shadow:0 6px 16px #40548a1f;transition:color var(--speed) ease-out,background-color var(--speed) ease-out,border-color var(--speed) ease-out,box-shadow var(--speed) ease-out}button:hover:not(:disabled){color:var(--coral-deep);border-color:color-mix(in srgb,var(--coral) 45%,transparent)}button:disabled{opacity:.45;cursor:default;box-shadow:none}.btn-primary{background:var(--coral);border-color:var(--coral);color:#fff;box-shadow:0 10px 22px #ee6a3d59}.btn-primary:hover:not(:disabled){background:var(--coral-deep);border-color:var(--coral-deep);color:#fff}.btn-ghost{background:none;border-color:transparent;box-shadow:none;color:var(--dim)}.btn-ghost:hover:not(:disabled){color:var(--coral-deep)}:focus-visible{outline:2px solid var(--coral);outline-offset:2px;border-radius:999px}.hero{position:relative;background:var(--card);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow);padding:2.4rem 1.5rem 2.1rem;margin:1rem 0 1.2rem;text-align:center;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(238,106,61,.16) 1.2px,transparent 1.6px);background-size:14px 14px;mask-image:radial-gradient(320px 200px at 50% 30%,black 0%,transparent 75%);-webkit-mask-image:radial-gradient(320px 200px at 50% 30%,black 0%,transparent 75%);pointer-events:none}.orb-lg{display:inline-block;width:46px;height:46px;margin-bottom:.9rem}.hero-title{position:relative;margin:0;font-size:clamp(1.45rem,4vw,2rem);font-weight:400;letter-spacing:-.01em;line-height:1.3}.hero-title strong{font-weight:700}.resume-pill{display:flex;align-items:center;gap:.9rem;width:100%;text-align:left;background:var(--card);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--edge);border-radius:999px;box-shadow:var(--shadow);padding:.55rem .7rem .55rem .6rem;margin:0 0 1.4rem}.resume-pill:hover:not(:disabled){color:inherit;box-shadow:0 22px 52px #40548a3d}.resume-text{flex:1;display:flex;flex-direction:column;line-height:1.35}.resume-text strong{font-size:.98rem}.thumb-sm{width:52px;height:52px;border-radius:50%}.play-dot{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--coral);color:#fff;box-shadow:0 8px 18px #ee6a3d66;transition:background-color var(--speed) ease-out}.resume-pill:hover .play-dot{background:var(--coral-deep)}.play-dot svg{width:20px;height:20px;margin-left:2px}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.1rem}.tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:170px;border-radius:var(--radius);border:1px solid var(--edge);box-shadow:var(--shadow);padding:1rem 1.1rem;overflow:hidden;background:radial-gradient(140% 100% at 15% 0%,hsl(var(--h) 75% 84%) 0%,transparent 62%),radial-gradient(140% 110% at 90% 20%,hsl(calc(var(--h) + 30) 70% 82%) 0%,transparent 65%),radial-gradient(170% 140% at 50% 110%,hsl(calc(var(--h) - 50) 65% 84%),#fff 95%),#fff;transition:box-shadow var(--speed) ease-out}.tile:hover{box-shadow:0 24px 56px #40548a42}.tile-body{display:flex;flex-direction:column;gap:.1rem;padding-right:3.2rem}.tile .show-title{font-size:1.08rem;font-weight:600}.tile .meta{color:color-mix(in srgb,var(--ink) 55%,transparent)}.tile .at-mark{color:var(--coral-deep)}.tile-open{position:absolute;right:.85rem;bottom:.85rem;display:grid;place-items:center;width:42px;height:42px;padding:0;border-radius:50%;background:#ffffffe6;color:var(--coral-deep)}.tile-open svg{width:18px;height:18px}.field-row{display:flex;gap:.6rem;flex-wrap:wrap}.field-row input{flex:1 1 220px}.result-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-top:1px solid rgba(110,125,160,.16);padding:.9rem .15rem;margin-top:.9rem}.result-row p{margin:.25rem 0 0}.guide{margin-top:2.4rem}.guide>.eyebrow{margin-left:.5rem}.show-row{display:flex;align-items:center;gap:1rem;background:var(--card);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow);padding:.85rem 1.1rem;margin:.7rem 0;transition:box-shadow var(--speed) ease-out,transform var(--speed) ease-out}.show-row:hover{box-shadow:0 22px 52px #40548a3d}.show-row>div{flex:1}.show-row>button{flex:none}.thumb{flex:none;width:72px;height:54px;border-radius:16px;background:radial-gradient(130% 95% at 18% 12%,hsl(var(--h) 75% 82%) 0%,transparent 60%),radial-gradient(130% 105% at 88% 28%,hsl(calc(var(--h) + 30) 70% 80%) 0%,transparent 65%),radial-gradient(160% 130% at 50% 105%,hsl(calc(var(--h) - 50) 65% 80%),#fff 92%);box-shadow:inset 0 0 0 1px #fffc,0 6px 14px #40548a24}.show-title{font-weight:600;font-size:1.02rem}.show-row .meta{display:block;margin-top:.15rem}.at-mark{color:var(--coral-deep);font-weight:600}.progress-track{display:block;width:160px;max-width:40vw;height:5px;margin-top:.5rem;border-radius:999px;background:#6e7da02e;overflow:hidden}.progress-fill{display:block;height:100%;border-radius:999px;background:var(--coral);transition:width .4s ease-out}.back{margin-bottom:1rem;padding-left:.2rem}.show-heading{font-size:clamp(1.7rem,5vw,2.3rem);font-weight:700;letter-spacing:-.02em;line-height:1.12;margin:0 0 1.2rem}.controls .control-fields{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.control{display:flex;flex-direction:column;gap:.35rem}.control-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--dim)}.control-actions{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}.recap-card{position:relative;background:linear-gradient(178deg,#c6d4f099,#cecaee6b 9%,#ffffffe6 26%),var(--card-solid);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.6rem 1.7rem 1.4rem;margin:1.1rem 0;animation:tune-in .3s ease-out}.recap-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(110,125,160,.18);padding-bottom:1rem;margin-bottom:.4rem}.recap-head .eyebrow{margin-bottom:.3rem;color:var(--coral-deep)}.recap-show{font-size:1.4rem;font-weight:700;letter-spacing:-.01em;line-height:1.15;margin:0}.recap-position{white-space:nowrap;padding-bottom:.25rem}.recap{line-height:1.7}.recap h1{font-size:1.12rem;font-weight:700;line-height:1.3;margin:1.1rem 0 .5rem}.recap h2{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--dim);margin:1.5rem 0 .4rem}.recap ul{margin:.4rem 0;padding-left:1.15rem}.recap li{margin:.4rem 0}.recap li::marker{color:var(--coral)}.recap p{margin:.7rem 0}.caret{display:inline-block;width:.55em;height:1.05em;margin-left:2px;vertical-align:text-bottom;background:var(--coral);animation:blink 1s step-end infinite}@keyframes tune-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes blink{50%{opacity:0}}.cast-chip{margin:.2rem .4rem .2rem 0}.cast-name{font-size:1.1rem;font-weight:700;margin:1.3rem 0 .6rem}.status{display:inline-block;font-family:var(--font-mono);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;padding:.14rem .6rem;border-radius:999px;border:1.5px solid currentColor}.status-alive{color:var(--alive)}.status-dead{color:var(--dead)}.status-unknown{color:var(--unknown)}.character-card{border-left:4px solid var(--coral);background:#ffffffd9;border-radius:6px 16px 16px 6px;box-shadow:0 8px 20px #40548a1a;padding:.8rem 1rem;margin:.6rem 0 1rem}.character-card p{margin:.4rem 0}.chip{display:inline-block;border-radius:999px;padding:.22rem .8rem;margin:.18rem .35rem .18rem 0;font-size:.8rem;font-weight:500;border:1px solid rgba(110,125,160,.2);background:var(--card-solid);box-shadow:0 4px 10px #40548a1a}.chip:hover{color:var(--coral-deep);border-color:color-mix(in srgb,var(--coral) 45%,transparent)}.season-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--dim);margin:1.3rem 0 .3rem}.event-list{margin:.3rem 0;padding-left:1.1rem}.event-list li{margin:.35rem 0}.event-list li::marker{color:#6e7da080}.event-code{font-family:var(--font-mono);font-size:.76rem;color:var(--coral-deep);margin-right:.4rem}@media(max-width:480px){main{padding:1.25rem .9rem 4rem}.show-row{flex-wrap:wrap}.recap-head{flex-direction:column;align-items:flex-start}.recap-position{padding-bottom:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
