.download-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0a0a14a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.download-modal{background:#fff;border-radius:20px;width:100%;max-width:580px;max-height:90vh;padding:28px;position:relative;overflow-y:auto;box-shadow:0 24px 64px #0000002e,0 4px 16px #00000014}.download-modal::-webkit-scrollbar{width:4px}.download-modal::-webkit-scrollbar-track{background:0 0}.download-modal::-webkit-scrollbar-thumb{background:#e0e0e0;border-radius:99px}.modal-close-btn{cursor:pointer;color:#777;z-index:2;background:#f5f5f5;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;transition:background .2s,color .2s;display:flex;position:absolute;top:16px;right:16px}.modal-close-btn:hover{color:#222;background:#ebebeb}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;padding-right:36px;display:flex}.modal-title-group{align-items:center;gap:10px;display:flex}.modal-title-icon{color:#667eea;flex-shrink:0;font-size:16px}.modal-header h2{color:#111;white-space:nowrap;text-overflow:ellipsis;max-width:320px;margin:0;font-size:18px;font-weight:700;overflow:hidden}.plan-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:99px;flex-shrink:0;padding:3px 9px;font-size:11px;font-weight:700}.plan-badge.plan-basic{color:#666;background:#f0f0f0}.plan-badge.plan-creator{color:#2e7d32;background:#e8f5e9}.plan-badge.plan-studio{color:#1565c0;background:#e3f2fd}.plan-badge.plan-admin{color:#c62828;background:#fce4ec}.plan-badge.plan-guest{color:#999;background:#f5f5f5}.modal-loading{color:#666;background:#f8f9fa;border-radius:10px;align-items:center;gap:10px;margin-bottom:20px;padding:14px 16px;font-size:13px;display:flex}.modal-spinner{border:2px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.6s linear infinite spin}.info-banner{border-radius:12px;align-items:center;gap:12px;margin-bottom:20px;padding:12px 14px;display:flex}.info-banner--guest{background:#f3f4ff;border:1px solid #c5caff}.info-banner--unlimited{background:#f0fdf4;border:1px solid #bbf7d0}.info-banner__icon{flex-shrink:0;font-size:20px}.info-banner__text{flex:1}.info-banner__text strong{color:#222;margin-bottom:2px;font-size:13px;display:block}.info-banner__text p{color:#666;margin:0;font-size:12px;line-height:1.4}.info-banner__cta{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;flex-shrink:0;padding:7px 14px;font-size:12px;font-weight:600;text-decoration:none;transition:opacity .2s,transform .2s}.info-banner__cta:hover{opacity:.9;transform:translateY(-1px)}.usage-section{background:#fafafa;border:1px solid #efefef;border-radius:14px;margin-bottom:22px;padding:14px 16px}.usage-section__header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.usage-section__title{color:#333;font-size:13px;font-weight:600}.usage-section__exceeded-tag{color:#c62828;letter-spacing:.03em;background:#fce4ec;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:700}.usage-row{justify-content:space-between;align-items:center;margin-bottom:5px;display:flex}.usage-row__label{color:#777;font-size:12px}.usage-row__count{color:#333;font-size:12px;font-weight:700}.usage-row__count.exceeded{color:#c62828}.usage-bar-track{background:#e8e8e8;border-radius:99px;height:5px;overflow:hidden}.usage-bar-fill{border-radius:99px;height:100%;transition:width .5s}.usage-bar-fill--normal{background:linear-gradient(90deg,#43a047,#66bb6a)}.usage-bar-fill--warning{background:linear-gradient(90deg,#fb8c00,#ffa726)}.usage-bar-fill--critical{background:linear-gradient(90deg,#e53935,#ef5350)}.limit-reached-banner{background:#fff3e0;border:1px solid #ffe0b2;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:10px 14px;display:flex}.limit-reached-banner__left{align-items:center;gap:10px;display:flex}.limit-reached-banner__icon{color:#ef6c00;flex-shrink:0;font-size:14px}.limit-reached-banner strong{color:#bf360c;font-size:13px;display:block}.limit-reached-banner p{color:#8c4300;margin:2px 0 0;font-size:11px}.limit-reached-banner__cta{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;flex-shrink:0;align-items:center;gap:5px;padding:7px 14px;font-size:12px;font-weight:700;text-decoration:none;transition:opacity .2s,transform .2s;display:inline-flex}.limit-reached-banner__cta:hover{opacity:.9;transform:translateY(-1px)}.format-section,.resolution-section{margin-bottom:22px}.format-section h3,.resolution-section h3{color:#444;text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;font-size:13px;font-weight:600}.format-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.format-card{cursor:pointer;text-align:center;background:#f9f9f9;border:2px solid #ebebeb;border-radius:12px;padding:14px 12px;transition:all .18s;position:relative;overflow:hidden}.format-card:hover:not(.locked){background:#f0f1ff;border-color:#b0b8ff;transform:translateY(-2px)}.format-card.selected{background:#eef0ff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1f}.format-card.locked{opacity:.5;cursor:not-allowed;background:#f5f5f5;border-color:#e8e8e8}.format-label{color:#111;letter-spacing:-.01em;margin-bottom:3px;font-size:17px;font-weight:800}.format-description{color:#888;font-size:11px;line-height:1.3}.card-lock-badge{color:#fff;letter-spacing:.04em;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;align-items:center;gap:3px;padding:2px 6px;font-size:9px;font-weight:800;display:flex;position:absolute;top:7px;right:7px}.card-lock-badge__icon{font-size:8px}.locked-indicator{color:#bbb;font-size:12px;position:absolute;bottom:8px;right:8px}.check-icon{color:#667eea;font-size:13px;position:absolute;top:8px;right:8px}.resolution-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.resolution-card{cursor:pointer;text-align:center;background:#f9f9f9;border:2px solid #ebebeb;border-radius:12px;padding:11px 10px;transition:all .18s;position:relative;overflow:hidden}.resolution-card:hover:not(.locked){background:#f0f1ff;border-color:#b0b8ff;transform:translateY(-2px)}.resolution-card.selected{background:#eef0ff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1f}.resolution-card.locked{opacity:.45;cursor:not-allowed;background:#f5f5f5;border-color:#e8e8e8}.resolution-label{color:#111;margin-bottom:2px;font-size:13px;font-weight:700}.resolution-size{color:#999;text-transform:uppercase;letter-spacing:.04em;font-size:10px}.res-lock-icon{color:#c9a227;font-size:11px;position:absolute;top:7px;right:7px}.plan-limit-hint{color:#999;text-align:center;margin:8px 0 0;font-size:12px}.plan-limit-hint a{color:#667eea;font-weight:600;text-decoration:none}.plan-limit-hint a:hover{text-decoration:underline}.download-btn{color:#fff;cursor:pointer;letter-spacing:.01em;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:15px 20px;font-size:15px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,opacity .2s;display:flex}.download-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #667eea61}.download-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.download-btn--upgrade{box-shadow:none;background:linear-gradient(135deg,#f6a623,#e05d34)}.download-btn--upgrade:hover{box-shadow:0 8px 24px #e6643259}.download-btn__res{opacity:.85;background:#ffffff2e;border-radius:5px;margin-left:2px;padding:2px 7px;font-size:12px;font-weight:500}.btn-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.remaining-hint{text-align:center;color:#aaa;margin:10px 0 0;font-size:12px}.remaining-hint a{color:#667eea;font-weight:600;text-decoration:none}.remaining-hint a:hover{text-decoration:underline}@media (max-width:500px){.download-modal{border-radius:16px;padding:20px 16px}.format-grid,.resolution-grid{grid-template-columns:repeat(2,1fr)}.modal-header h2{max-width:220px;font-size:15px}.info-banner,.limit-reached-banner{flex-wrap:wrap}}
