dialog.tv-panel{width:980px;max-width:min(980px,calc(100% - 32px));background:#efe5d3}
.tv-panel .panel-frame{padding:26px 30px}.tv-panel .panel-heading{margin-bottom:20px}.tv-panel .panel-heading h2{font-size:1.8rem}
.tv-view{display:grid;grid-template-columns:minmax(0,1fr)210px;column-gap:20px}.tv-cabinet{width:100%;max-width:min(100%,max(320px,calc((100svh - 380px)*1.7778)));margin:auto;padding:16px 16px 0;border:2px solid #7f5e45;border-radius:22px;background:linear-gradient(145deg,#966e4e,#634b3d);box-shadow:0 8px 0 #4a3c32,0 14px 30px #392b2226}
.tv-screen{position:relative;aspect-ratio:16/9;border:8px solid #26393d;border-radius:13px;background:#24344e;overflow:hidden;box-shadow:inset 0 0 20px #0006}
.tv-episode-status{padding-top:9px;color:#f1dfc4;font-size:.62rem;line-height:1.5}.tv-episode-time{font-family:var(--mono);white-space:nowrap}
.tv-program-title{position:absolute;top:8px;left:8px;max-width:calc(100% - 16px);padding:4px 7px;border-radius:3px;background:#213448c9;color:#fff3d5;font-family:var(--mono);font-size:clamp(.5rem,.8vw,.65rem);line-height:1.35;pointer-events:none}
.tv-story-motion{translate:calc(var(--episode-progress,0)*var(--travel-x,0)*1px) calc(var(--episode-progress,0)*var(--travel-y,0)*1px)}
.tv-story-spin{rotate:calc(var(--episode-progress,0)*var(--turn,0)*1deg)}
.tv-cartoon{display:block;width:100%;height:100%}.tv-bezel{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 8px;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;color:#ebd7b8}
.tv-power-light{width:6px;height:6px;border-radius:50%;background:#d1dea1;box-shadow:0 0 7px #d1dea166}
.tv-now{display:flex;align-items:flex-start;gap:18px;margin:18px 0 12px}.tv-channel-number{display:block;flex-shrink:0;background:#31464c;color:#f3d39c;border-radius:5px;padding:9px 12px;font-family:var(--mono);font-size:.8rem}
.panel-body .tv-channel-title{margin:0;font-size:1.5rem}
.tv-controls{display:flex;justify-content:center;gap:10px}.tv-controls button{flex:1;max-width:200px;white-space:nowrap}
.tv-guide{grid-column:2;grid-row:1/span 3;display:grid;align-content:start;grid-template-columns:1fr;gap:8px}.tv-guide button{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid #c4b49c;border-radius:5px;background:#e8decd;color:#35494d;font-size:.84rem;padding:12px;min-height:56px}.tv-guide button span{color:#7c6044;font-family:var(--mono);font-size:.72rem}.tv-guide button[aria-pressed=true]{background:#324b50;border-color:#324b50;color:#fff0d3}.tv-guide button[aria-pressed=true] span{color:#ebc88a}.tv-guide button:hover{border-color:#85663f}.panel-body .tv-help{grid-column:1/-1;font-size:.8125rem;margin:12px 0 0}
.tv-cartoon g{transform-box:fill-box;transform-origin:center}
.tv-buck{--tv-motion:tv-buck 2.4s ease-in-out infinite;animation:var(--tv-motion)}
.tv-bob{--tv-motion:tv-bob 3s ease-in-out infinite;animation:var(--tv-motion)}
.tv-orbit{--tv-motion:tv-orbit 8s ease-in-out infinite;animation:var(--tv-motion)}
.tv-drift{--tv-motion:tv-drift 5s ease-in-out infinite;animation:var(--tv-motion)}
.tv-run{--tv-motion:tv-run 1s ease-in-out infinite;animation:var(--tv-motion)}
.tv-delay{animation-delay:-.3s}.tv-late{animation-delay:-.6s}
.tv-wobble{--tv-motion:tv-wobble 2s ease-in-out infinite;animation:var(--tv-motion)}
.tv-wheel{--tv-motion:tv-wheel 1.6s linear infinite;animation:var(--tv-motion)}
.tv-road{--tv-motion:tv-road 1.6s linear infinite;animation:var(--tv-motion)}
.tv-cloud-drift{--tv-motion:tv-cloud-drift 7s ease-in-out infinite;animation:var(--tv-motion)}
.tv-sun{--tv-motion:tv-sun 5s ease-in-out infinite;animation:var(--tv-motion)}
.tv-flower-rain{--tv-motion:tv-flower-rain 3s ease-in infinite;animation:var(--tv-motion)}
.tv-flip{--tv-motion:tv-flip 5s ease-in-out infinite;animation:var(--tv-motion)}
.tv-pan{--tv-motion:tv-pan 5s ease-in-out infinite;animation:var(--tv-motion)}
.tv-dust{--tv-motion:tv-dust 2.4s ease-in-out infinite;animation:var(--tv-motion)}
.tv-paused .tv-cartoon *{animation-play-state:paused!important}
@keyframes tv-buck{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-24px) rotate(-8deg)}50%{transform:translateY(3px) rotate(4deg)}75%{transform:translateY(-17px) rotate(8deg)}}
@keyframes tv-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}
@keyframes tv-orbit{0%,100%{transform:translate(-45px,20px) rotate(-20deg)}50%{transform:translate(50px,-60px) rotate(100deg)}}
@keyframes tv-drift{0%,100%{transform:translate(0,0) rotate(-8deg)}50%{transform:translate(30px,-20px) rotate(8deg)}}
@keyframes tv-run{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-20px) rotate(5deg)}}
@keyframes tv-wobble{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@keyframes tv-wheel{to{transform:rotate(360deg)}}
@keyframes tv-road{to{transform:translateX(-190px)}}
@keyframes tv-cloud-drift{0%,100%{transform:translateX(-16px)}50%{transform:translateX(18px)}}
@keyframes tv-sun{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}
@keyframes tv-flower-rain{0%{opacity:0;transform:translateY(-20px) rotate(0)}15%,85%{opacity:1}100%{opacity:0;transform:translateY(106px) rotate(120deg)}}
@keyframes tv-flip{0%,10%,90%,100%{transform:translate(0,0) rotate(0)}45%,55%{transform:translate(150px,-145px) rotate(360deg)}}
@keyframes tv-pan{0%,10%,90%,100%{transform:rotate(0)}20%,80%{transform:rotate(-12deg)}}
@keyframes tv-dust{0%,100%{opacity:.2;transform:scale(.7)}50%{opacity:.7;transform:scale(1.3)}}
@media(prefers-reduced-motion:reduce){.tv-screen:not(.tv-paused) .tv-cartoon [class]{animation:var(--tv-motion,none)!important}}
@media(max-width:600px){.tv-panel .panel-frame{padding:20px 16px}.tv-panel .panel-heading h2{font-size:1.5rem}.tv-view{display:block}.tv-cabinet{max-width:100%;padding:8px 8px 0;border-radius:14px}.tv-screen{border-width:5px;border-radius:8px}.tv-bezel{font-size:.55rem;padding:10px 3px}.tv-now{gap:10px;margin-top:24px}.tv-channel-number{padding:7px;font-size:.7rem}.panel-body .tv-channel-title{font-size:1.2rem}.tv-controls{gap:7px;margin-bottom:16px}.tv-controls button{padding:9px 7px;font-size:.8rem}.tv-guide{grid-template-columns:repeat(2,minmax(0,1fr))}.tv-guide button{gap:7px;padding:10px;font-size:.76rem}.tv-panel .panel-body{overflow-wrap:normal}}
