.popup-overlay{position:fixed;inset:0;z-index:4000;background:rgba(0,0,0,.72);align-items:center;padding:24px;overflow:auto}.popup-cards,.popup-overlay{display:flex;justify-content:center}.popup-cards{gap:20px;align-items:flex-start;flex-wrap:wrap;max-width:100%}.popup-card{position:relative;background:var(--bg-elevated);border:1px solid var(--accent-border);border-top:2px solid var(--accent);border-radius:2px;box-shadow:0 12px 40px rgba(0,0,0,.6);display:flex;flex-direction:column;overflow:hidden;max-height:88vh}.popup-card--landscape{width:560px;max-width:92vw;height:560px}.popup-card--portrait{width:400px;max-width:88vw;height:660px}.popup-card__scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.popup-card__scroll::-webkit-scrollbar{width:8px}.popup-card__scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}.popup-card__x{position:absolute;top:6px;right:6px;z-index:2;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.55);color:#fff;border:none;border-radius:2px;cursor:pointer}.popup-card__x:hover{background:rgba(0,0,0,.8)}.popup-card__media{line-height:0}.popup-card__media a{display:block}.popup-card__img{width:100%;height:auto;display:block}.popup-card__text{padding:12px 14px 14px}.popup-card__title{font-size:var(--fs-md);font-weight:var(--fw-semi);color:var(--text-primary);margin-bottom:4px}.popup-card__body{font-size:var(--fs-sm);line-height:1.55;color:var(--text-second);white-space:pre-wrap}.popup-card__foot{display:flex;flex:0 0 auto;border-top:1px solid var(--border)}.popup-card__foot-btn{flex:1 1;padding:11px 8px;background:var(--bg-surface);color:var(--text-muted);border:none;font-size:var(--fs-xs);font-weight:var(--fw-medium);cursor:pointer}.popup-card__foot-btn:hover{color:var(--text-second);background:var(--bg-hover)}.popup-card__foot-btn--close{color:var(--text-second);border-left:1px solid var(--border)}@media (max-width:768px){.popup-cards{flex-direction:column;align-items:center;gap:0}.popup-card{box-shadow:0 10px 30px rgba(0,0,0,.7)}.popup-card:not(:first-child){display:none}}