.program-popup{position:fixed;top:180px;left:max(18px,env(safe-area-inset-left));z-index:45;width:248px;max-width:calc(100vw - 36px);color:#f6f3fc;border:1px solid #8c6cf25c;border-radius:18px;background:linear-gradient(140deg,#20212e,#111017 65%);box-shadow:0 12px 40px #0008;overflow:hidden}
.program-popover>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:11px;padding:15px 14px;user-select:none;background:linear-gradient(110deg,#28dbc50d,#8c6cf21c)}
.program-popover>summary::-webkit-details-marker{display:none}
.program-popup-mark{display:grid;place-items:center;width:34px;height:38px;flex-shrink:0;border-radius:10px;background:linear-gradient(145deg,#40dfcb,#13a5aa);color:#073336;font-size:23px;font-weight:900}
.program-popup-label{display:flex;flex-direction:column;gap:5px;min-width:0}
.program-popup-label small{font-size:8px;letter-spacing:1.6px;color:#65e4d0;font-weight:700}
.program-popup-label strong{font-size:13px;font-weight:700;white-space:nowrap}
.program-popup-toggle{position:relative;width:20px;height:20px;border:1px solid #ffffff20;border-radius:6px;margin-left:auto;flex-shrink:0;color:#b9a4eb}
.program-popup-toggle:before,.program-popup-toggle:after{content:"";position:absolute;left:5px;right:5px;top:8px;height:1px;background:currentColor}
.program-popup-toggle:after{transform:rotate(90deg)}
.program-popover[open] .program-popup-toggle:after{display:none}
.program-popover[open]>summary{border-bottom:1px solid #ffffff0c}
.program-popover>summary:focus-visible{outline:2px solid #58dfca;outline-offset:-4px;border-radius:16px}
.program-popup-content{max-height:calc(100vh - 268px);max-height:calc(100dvh - 268px);overflow-y:auto;padding:14px;scrollbar-width:thin;scrollbar-color:#695780 #131019;overscroll-behavior:contain}
.program-popup-intro{font-size:11px;line-height:1.6;color:#a69cb7;margin:0 0 15px}
.program-popup .program-row{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start}
.program-popup .program-row+.program-row{border-top:1px solid #ffffff10;margin-top:16px;padding-top:16px}
.program-popup .program-app-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;width:36px;height:40px;border-radius:10px;color:#4ae0cc;background:#28dbc51b;border:1px solid #28dbc52b}
.program-popup .program-app-icon>span{font-size:22px;font-weight:800}.program-popup .program-app-icon small{display:none}
.program-popup .program-mini .program-app-icon{color:#bca2ff;background:#8c6cf224;border-color:#8c6cf240}
.program-popup .program-kind{color:#5adcc9;font-size:8px;letter-spacing:1px;margin:0 0 4px}.program-popup .program-mini .program-kind{color:#b49bf4}
.program-popup .program-detail{display:contents}
.program-popup .program-app-icon{grid-column:1;grid-row:1 / span 2}
.program-popup .program-kind{grid-column:2;grid-row:1;align-self:end}
.program-popup .program-detail h3{grid-column:2;grid-row:2;font-size:15px;margin:-6px 0 0}
.program-popup .program-detail>p:not(.program-kind){display:none}
.program-popup .program-buttons{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:7px}
.program-popup .program-buttons button{display:flex;justify-content:center;align-items:center;gap:5px;min-height:38px;padding:8px 5px;font-size:10px;font-weight:700;border:1px solid #28dbc53b;background:#28dbc50b;border-radius:9px;color:#b5e7df;cursor:not-allowed}
.program-popup .program-buttons button>span{display:none}.program-popup .program-buttons button b{font-size:14px;font-weight:400}
.program-popup .program-mini .program-buttons button{border-color:#8c6cf24a;background:#8c6cf210;color:#d6c5fd}
.program-popup .program-availability{grid-column:1/-1;font-size:10px;color:#8c829e}
.program-popup-note{font-size:10px;color:#9186a3;padding-top:13px;margin:15px 0 0;border-top:1px solid #ffffff0c;text-align:center;line-height:1.6}
@media(max-width:900px){.program-popup{top:180px;left:max(12px,env(safe-area-inset-left));width:232px;max-width:calc(100vw - 24px)}.program-popover>summary{padding:11px 12px}}
@media(max-height:650px){.program-popup{top:90px}.program-popup-content{max-height:calc(100vh - 176px);max-height:calc(100dvh - 176px)}}
@media(max-height:860px){.program-popup-expanded .mobile-qr-card{visibility:hidden;pointer-events:none}}

@media(max-width:900px){.program-popup-content{max-height:calc(100vh - 420px);max-height:calc(100dvh - 420px)}}
@media(max-width:900px) and (max-height:650px){.program-popup-content{max-height:calc(100vh - 320px);max-height:calc(100dvh - 320px)}}
.program-popup [hidden]{display:none!important}
.program-access-gate{padding:18px 12px;background:#ffffff04;border:1px solid #ffffff0d;border-radius:12px;text-align:center}
.program-access-gate>span{display:block;font-size:27px;color:#66dccf;margin-bottom:10px}
.program-access-gate strong{display:block;font-size:13px;color:#e6e1ee;line-height:1.6}
.program-access-gate p{font-size:11px;line-height:1.8;color:#a69cb7;margin:9px 0 15px}
.program-access-gate a{display:block;border:1px solid #28dbc539;border-radius:8px;padding:10px 7px;font-size:12px;color:#67e1cf;background:#28dbc510;font-weight:700}
.program-access-gate a:focus-visible{outline:2px solid #67e1cf;outline-offset:3px}
