*{box-sizing:border-box;margin:0;padding:0}body,html{width:100%;height:100%;background-color:#000;font-family:PingFang HK,Microsoft JhengHei,Arial,sans-serif;overflow:hidden;color:#fff}#media-container{position:relative;width:100%;height:100vh;height:100dvh;display:flex;justify-content:center;align-items:center;background:#000;overflow:hidden}.media-content{width:100%;height:100%;object-fit:contain;position:absolute;top:0;left:0;opacity:0;pointer-events:none;transition:opacity .8s ease-in-out}.media-content.visible{opacity:1;pointer-events:auto}.media-content img.media-content{object-fit:cover}@keyframes ken-left{0%{transform:scale(1.15) translate(-4%,-6%)}to{transform:scale(1.22) translate(-1%,2%)}}@keyframes ken-right{0%{transform:scale(1.15) translate(4%,-6%)}to{transform:scale(1.22) translate(1%,2%)}}.ken-tl,.ken-bl{animation-name:ken-left}.ken-tr,.ken-br{animation-name:ken-right}.ken-tl,.ken-tr,.ken-bl,.ken-br{animation-duration:12s;animation-timing-function:ease-in-out;animation-fill-mode:both}.header-logo{position:absolute;z-index:10;background:#000000a6;backdrop-filter:blur(8px);top:30px;left:40px;font-size:20px;font-weight:800;letter-spacing:2px;padding:10px 20px;border-left:4px solid #00a8ff;border-radius:4px;text-transform:uppercase;max-width:calc(100% - 160px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.header-logo{top:12px;left:12px;font-size:12px;padding:6px 10px;letter-spacing:1px;max-width:calc(100% - 130px)}}@media(max-width:380px){.header-logo{font-size:11px;padding:5px 8px;max-width:calc(100% - 110px)}}.info-panel{position:absolute;bottom:40px;left:40px;z-index:10;display:flex;flex-direction:column;gap:8px;background:#0f172ad9;border-radius:12px;padding:16px 24px;backdrop-filter:blur(12px);box-shadow:0 8px 32px #0009;border:1px solid rgba(255,255,255,.15);min-width:360px;transition:opacity .8s ease-in-out}.info-panel .info-row-top,.info-panel .info-row-bottom{display:flex;align-items:center;gap:16px}.info-panel .info-location{display:flex;flex-direction:column;gap:2px}.info-panel .info-location .city{font-size:20px;font-weight:700;line-height:1.2}.info-panel .info-location .country{font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:1px}.info-panel .info-time{font-size:14px;color:#cbd5e1;margin-left:auto;text-align:right}.info-panel .info-time .local-time{font-weight:600;color:#2ed573}.info-panel .weather-station{display:flex;align-items:baseline;gap:8px}.info-panel .station-name{font-size:13px;color:#94a3b8;text-transform:uppercase;letter-spacing:1px}.info-panel .station-temp{font-size:28px;font-weight:300;color:#70a1ff;line-height:1}.info-panel .weather-details{display:flex;font-size:13px;color:#cbd5e1;gap:12px}@media(max-width:768px){.info-panel{bottom:12px;left:12px;right:12px;min-width:unset;padding:10px 14px;gap:6px}.info-panel .info-row-top{gap:8px}.info-panel .info-row-bottom{flex-direction:column;align-items:flex-start;gap:6px}.info-panel .info-location .city{font-size:15px}.info-panel .station-temp{font-size:20px}.info-panel .station-name{font-size:11px}.info-panel .weather-details{font-size:11px;gap:6px 10px;flex-wrap:wrap}}.local-time{font-weight:600;color:#2ed573}.filter-toggle{position:absolute;z-index:10;background:#000000a6;backdrop-filter:blur(8px);top:30px;right:40px;display:flex;gap:0;border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.15)}.filter-toggle button{background:none;border:none;color:#ffffff80;font-family:inherit;font-size:13px;padding:8px 16px;cursor:pointer;transition:all .2s}.filter-toggle button:hover{color:#fffc}.filter-toggle button.active{color:#fff;background:#00a8ff66}@media(max-width:768px){.filter-toggle{top:12px;right:12px}.filter-toggle button{font-size:11px;padding:5px 8px}}@media(max-width:380px){.filter-toggle button{font-size:10px;padding:4px 6px}}
