/* Only the new reward surface; all surrounding UI comes from current Proplet. */
.tv-dialog{padding:0;border:1px solid var(--td-line,#D8D2C7);border-top:5px solid #F8C742;border-radius:20px;background:var(--td-paper,#FFFCF5);color:var(--td-ink,#202B39);width:min(480px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;box-shadow:0 24px 90px #101c3c40;overscroll-behavior:contain}
.tv-dialog::backdrop{background:#14213b55;backdrop-filter:blur(1px)}
.tv-dialog button{font:inherit;cursor:pointer}.tv-dialog :focus-visible,.tv-reminder:focus-visible,.tv-intro button:focus-visible{outline:3px solid var(--td-blue,#204FAB);outline-offset:4px}
.tv-close{position:absolute;right:12px;top:12px;z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid var(--td-line);background:var(--td-paper);color:var(--td-muted);font-size:27px!important;line-height:1}
.tv-celebration{text-align:center;padding:30px 32px 25px;position:relative}
.tv-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--td-muted);font-size:14px;font-weight:700;line-height:1.4;padding-right:20px}
.tv-kicker img{width:25px;height:25px;object-fit:contain}
.tv-celebration h1{font-family:inherit;font-size:30px;line-height:1.13;letter-spacing:-.04em;margin:16px 0 4px;font-weight:900;color:var(--td-ink)}
.tv-stage{position:relative;height:188px;display:grid;place-items:center;margin:5px 0 0;isolation:isolate}
.tv-stage::before{content:'';position:absolute;width:155px;height:155px;border-radius:50%;background:radial-gradient(circle,#f8c74235 0%,#f8c7420d 60%,transparent 72%);z-index:-1}
.tv-stage::after{content:'';position:absolute;width:135px;height:135px;border:2px solid #C99B3550;border-radius:26px;transform:rotate(-8deg);z-index:-1;opacity:0}
.tv-badge-hero{width:184px;height:184px;object-fit:contain;filter:drop-shadow(0 10px 10px #6b420b18)}
.tv-animating .tv-badge-hero{animation:tv-imprint 850ms cubic-bezier(.18,.8,.2,1) both}
.tv-animating .tv-stage::after{animation:tv-ink-ring 850ms 380ms ease-out both}
@keyframes tv-imprint{0%{opacity:0;transform:translateY(-25px) scale(1.2) rotate(-9deg);filter:blur(3px)}45%{opacity:1;transform:translateY(4px) scale(.94) rotate(1deg);filter:blur(0)}72%{transform:translateY(-2px) scale(1.025) rotate(-1deg)}100%{opacity:1;transform:none}}
@keyframes tv-ink-ring{0%{opacity:0;transform:rotate(-8deg) scale(.85)}20%{opacity:.8}100%{opacity:0;transform:rotate(-8deg) scale(1.65)}}
.tv-award-name{font-size:24px;line-height:1.2;letter-spacing:-.025em;margin:0 0 5px;font-weight:900}
.tv-subline{margin:0;color:var(--td-muted);font-size:15px;line-height:1.4}
.tv-score{display:flex;align-items:center;justify-content:center;gap:9px;background:color-mix(in srgb,#F8C742 15%,var(--td-paper));border:1px solid color-mix(in srgb,#BA8620 35%,var(--td-line));border-radius:11px;padding:11px;margin:20px 0 16px;min-height:52px}
.tv-score img{width:28px;height:28px}.tv-number{font-variant-numeric:tabular-nums;font-weight:950;font-size:24px;display:inline-block}.tv-number.tv-count-in{animation:tv-count 350ms ease-out}.tv-score-label{font-size:15px;font-weight:750}@keyframes tv-count{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
.tv-goal{display:flex;align-items:center;text-align:left;gap:12px;margin:0 0 21px}.tv-goal img{width:43px;height:43px;object-fit:contain}.tv-goal-body{flex:1;min-width:0}.tv-goal p{font-size:15px;line-height:1.4;margin:0 0 8px}.tv-progress{height:5px;border-radius:4px;background:var(--td-line);overflow:hidden}.tv-progress>span{display:block;height:100%;width:20%;background:#C39228;border-radius:4px}.tv-animating .tv-progress>span{animation:tv-progress 650ms 750ms ease both}@keyframes tv-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.tv-actions{display:grid;gap:9px}.tv-primary,.tv-secondary{min-height:46px;padding:11px 16px;font-size:16px!important;font-weight:800!important;border-radius:9px!important}.tv-primary{border:0;background:#235BCC;color:#FFF8E9;box-shadow:0 3px 0 #193F8B}.tv-secondary{border:1px solid var(--td-line);color:var(--td-ink);background:transparent}.tv-primary:active,.tv-secondary:active{transform:translateY(1px)}
.tv-simulation{font-size:12px;color:var(--td-muted);margin:16px 0 0;line-height:1.4}
.tv-reminder{width:100%;display:flex;align-items:center;gap:10px;border:1px solid var(--td-line);border-radius:10px;background:color-mix(in srgb,#F8C742 9%,var(--td-paper));color:var(--td-ink);padding:8px 12px;margin:0 0 13px;text-align:left;cursor:pointer;font:inherit;font-size:14px;font-weight:750}
.tv-reminder img{width:32px;height:32px;object-fit:contain}.tv-reminder>span:last-child{margin-left:auto;font-size:21px;color:var(--td-muted)}
.tv-cabinet{padding:30px 25px 23px;text-align:left}.tv-cabinet h2{font-size:27px;letter-spacing:-.03em;margin:3px 40px 3px 0}.tv-cabinet .tv-subline{margin-bottom:17px}.tv-cabinet-total{display:flex;align-items:center;gap:12px;padding:15px;background:color-mix(in srgb,#F8C742 14%,var(--td-paper));border:1px solid var(--td-line);border-radius:12px;margin-bottom:18px}.tv-cabinet-total img{width:46px;height:46px}.tv-cabinet-total strong{font-size:26px;line-height:1.2}.tv-cabinet-total small{display:block;font-size:14px;color:var(--td-muted)}
.tv-milestones{list-style:none;padding:0;margin:0 0 21px;display:grid;gap:6px}.tv-milestone{display:grid;grid-template-columns:62px 1fr auto;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid var(--td-line)}.tv-milestone img{width:62px;height:62px;object-fit:contain}.tv-milestone strong{font-size:17px;line-height:1.25;display:block;margin-bottom:4px}.tv-milestone small{font-size:14px;color:var(--td-muted)}.tv-milestone>span{font-size:14px;color:var(--td-muted);font-weight:750}.tv-milestone .tv-progress{margin-top:8px;height:4px}.tv-locked{filter:grayscale(1);opacity:.55}.tv-earned{color:#287758!important;font-weight:750}.tv-lock{display:inline-block;width:13px;height:11px;border:1.6px solid currentColor;border-radius:2px;position:relative;margin-left:4px}.tv-lock:before{content:'';position:absolute;width:7px;height:7px;border:1.5px solid currentColor;border-bottom:0;border-radius:6px 6px 0 0;left:1.5px;top:-7px}
@media(max-width:600px){.tv-celebration{padding:24px 22px 20px}.tv-celebration h1{font-size:27px}.tv-stage{height:170px}.tv-badge-hero{width:168px;height:168px}.tv-kicker{font-size:13px}.tv-dialog{max-height:calc(100dvh - 20px);width:calc(100vw - 24px);border-radius:16px}.tv-goal{margin-bottom:17px}.tv-score{margin:16px 0}.tv-preview-bar{top:auto;bottom:82px;right:10px}.tv-cabinet{padding:26px 20px 20px}.tv-milestone{grid-template-columns:55px 1fr auto;gap:9px}.tv-milestone img{width:55px;height:55px}}
@media(max-height:690px){.tv-stage{height:125px}.tv-badge-hero{width:126px;height:126px}.tv-celebration{padding-top:21px}.tv-celebration h1{font-size:25px;margin-top:11px}.tv-score{margin:12px 0}.tv-goal{margin-bottom:13px}.tv-simulation{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.tv-dialog *,.tv-dialog *::after{animation:none!important;transition:none!important}}

.tv-dialog .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tv-reminder[hidden]{display:none!important}
html[data-theme="dark"] .tv-earned{color:#91D4B6!important}/* The launch note sits beneath the existing result action: no overlay, no focus theft. */
.tv-intro{position:relative;isolation:isolate;margin:30px 3px 22px;padding:24px 23px 0;text-align:left;border:1px solid #c6a754;border-radius:14px;background:linear-gradient(120deg,#fff8e6,#ffedb6);color:#30291d;box-shadow:0 4px 12px #60461212;overflow:visible}
.tv-intro-heading{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:center;padding-right:28px;margin-bottom:14px}
.tv-intro-art{display:block;width:72px;height:72px;object-fit:contain;pointer-events:none}
.tv-intro h3{font-family:inherit!important;font-size:29px!important;font-weight:900!important;line-height:1.08!important;letter-spacing:-.04em;margin:0!important;color:#30291d!important}
.tv-intro p{font-size:15px!important;line-height:1.45!important;margin:0 0 17px!important;color:#5a4c2f!important;max-width:35ch}
.tv-intro-close{position:absolute;right:8px;top:8px;z-index:2;width:36px;height:36px;display:grid;place-items:center;border:1px solid #c6a754;border-radius:50%;background:#fff8e9;color:#66542b;font-family:inherit;font-size:25px;line-height:1;cursor:pointer}
.tv-intro-footer{border-top:1px dashed #b89a55;margin:0 -23px;padding:12px 17px 15px;display:grid;gap:9px}
.tv-intro-footer>span{font-size:14px;line-height:1.4;font-weight:650;color:#746137}
.tv-intro-footer button{font-family:inherit;text-align:center}
.tv-intro button:focus-visible{outline:3px solid #245cd0;outline-offset:4px}
.tv-week{font-size:14px;line-height:1.4;color:var(--td-muted);margin:10px 0 0}.tv-celebration h1 span{font-size:.78em;letter-spacing:-.02em}
.tv-rules{font-size:14px;line-height:1.5;color:var(--td-muted);margin:16px 0}.tv-history{margin-top:20px;font-size:14px;line-height:1.4}.tv-history summary{cursor:pointer;font-weight:750;padding:6px 0}.tv-history ol{list-style:none;margin:8px 0;padding:0;max-height:220px;overflow:auto}.tv-history li{display:grid;gap:4px;padding:10px 0;border-top:1px solid var(--td-line)}.tv-history li span{color:var(--td-muted)}
.tv-team-actions{display:grid;gap:8px;flex-shrink:0}.tv-dialog .tv-progress>span{transform-origin:left center}.tv-dialog .tv-primary{font-family:inherit}
html[data-theme="dark"] .tv-intro{background:linear-gradient(120deg,#433b28,#302b22);color:#fff1c7;border-color:#8d763e}html[data-theme="dark"] .tv-intro h3{color:#fff0c7!important}html[data-theme="dark"] .tv-intro p{color:#e7d5ab!important}html[data-theme="dark"] .tv-intro-footer>span{color:#e0c892}html[data-theme="dark"] .tv-intro-close{background:#423823;color:#fff0c7;border-color:#8d763e}
@media(max-width:600px){.tv-rules,.tv-history,.tv-week,.tv-kicker,.tv-milestone small,.tv-milestone>span,.tv-cabinet-total small,.tv-reminder,.tv-intro-footer>span{font-size:15px}.tv-intro{padding:21px 18px 0;margin-top:28px}.tv-intro-footer{margin:0 -18px;padding:12px 15px 15px}.tv-intro-heading{grid-template-columns:64px minmax(0,1fr);gap:10px;padding-right:32px}.tv-intro-art{width:64px;height:64px}.tv-intro h3{font-size:25px!important}.tv-team-actions{width:100%}.tv-milestone{grid-template-columns:49px 1fr auto;gap:8px}.tv-milestone img{width:49px;height:49px}}
@media(prefers-reduced-motion:reduce){.tv-intro *,.tv-intro::before,.tv-intro::after{animation:none!important;transition:none!important}}
