*, *::before, *::after { box-sizing: inherit; } html { box-sizing: border-box; line-height: 1.15; -webkit-text-size-adjust: 100%; } body { background: #f5f5f5; font-family: sans-serif; margin: 0; padding: 0; } body, button, input, select, optgroup, textarea { font-size: 17px; line-height: 1.5; max-width: 100%; } h1, h2, h3, h4, h5, h6 { font-size: 1.5em; clear: both; } p { margin: 10px 0 0 0; } a { text-decoration: none; background-color: transparent; color: #065065; } a:hover, a:focus, a:active { color: #191919; } img { height: auto; max-width: 100%; border-style: none; } .site-branding { text-align: center; padding: 10px 0; background-color: #fff; } .brand-container { margin: 0; padding: 0; line-height: 1; } .brand-link { text-decoration: none !important; display: inline-flex; align-items: center; gap: 10px; } .tag-info { background: #1e293b; color: #ffffff; font-size: 13px; font-weight: 900; padding: 4px 8px; border-radius: 4px; letter-spacing: 1px; line-height: 1; } .text-pmg { font-size: 38px; font-weight: 900; line-height: 1; display: inline-block; background: linear-gradient(268deg, #2c4a86 0%, #1a2a44 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; color: transparent; } .site-description { font-size: 11px; text-transform: uppercase; letter-spacing: 3px; color: #94a3b8; margin-top: 10px !important; font-weight: 600; } .site-footer { text-align: center; padding: 20px; font-size: 15px; background-color: #fff; } .site-main { position: relative; width: auto; padding: 40px; margin: 20px auto; border-radius: 14px; max-width: 1400px; background-color: #fff; } @media (max-width: 768px) { .site-main { padding: 30px; } body, button, input, select, optgroup, textarea { font-size: 14px; } } @media (max-width: 480px) { .site-main { padding-left: 20px; padding-right: 20px; } } #scrollToTop { display: none; position: fixed; bottom: 20px; right: 20px; width: 44px; height: 44px; min-width: 45px; background-color: #0006; color: #fff; font-size: 20px; border: none; border-radius: 6px; cursor: pointer; box-shadow: 0 2px 6px rgba(0,0,0,.2); z-index: 1000; transition: background-color .2s, transform .2s; } #scrollToTop:hover { background-color: #777777db; transform: translateY(-2px); } .badge { font-size: 10px; text-transform: uppercase; font-weight: bold; padding: 2px 4px; color: #fff; border-radius: 4px; line-height: 1; } .badge-home { font-size: 11px; } .entry-badge { font-size: 11px; text-transform: uppercase; font-weight: bold; padding: 2px 4px; color: #fff; border-radius: 4px; line-height: 1; } .badge-new { background: #27ae60; } .badge-edit { background: #818cf8; } .badge-doc { background: #0ea5e9; } .u-header { display: flex; align-items: center; gap: 8px; } .u-header-home { margin-bottom: 5px; } .package-status { display: inline-flex; align-items: center; gap: 8px; padding: 4px 12px; border-radius: 14px; font-size: 11px; font-weight: 800; text-transform: uppercase; border: 1px solid transparent; position: relative; line-height: 1; } .package-status-home { position: absolute; top: 10px; left: 10px; z-index: 10; padding: 4px 10px; font-size: 10px; letter-spacing: 0.5px; } .package-status.partial { background-color: #fffaf0; color: #d97706; border-color: #fef3c7; } .package-status.ok { background-color: #f0fdf4; color: #16a34a; border-color: #bbf7d0; } .package-status::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex-shrink: 0; } .package-status::after { content: none; } .package-status.ok::before { animation: status-pulse-ok 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; } .package-status.partial::before { animation: status-pulse-partial 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; } @keyframes status-pulse-ok { 0% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.6); } 70% { box-shadow: 0 0 0 5px rgba(22, 163, 74, 0); } 100% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0); } } @keyframes status-pulse-partial { 0% { box-shadow: 0 0 0 0 rgba(217, 119, 6, 0.6); } 70% { box-shadow: 0 0 0 5px rgba(217, 119, 6, 0); } 100% { box-shadow: 0 0 0 0 rgba(217, 119, 6, 0); } } .pkg-status-wrapper { margin-bottom: 16px; } .pkg-acc { box-shadow: 0 10px 30px rgba(0, 86, 179, 0.05); border: 1px solid #e1e8f0; border-radius: 14px; background: #fff; overflow: hidden; transition: border-color 0.3s, box-shadow 0.3s; } .pkg-acc.is-open { border-color: #cbd5e1; box-shadow: 0 4px 12px rgba(0,0,0,0.05); } .pkg-sum { cursor: pointer; padding: 12px 15px; display: flex; align-items: center; justify-content: space-between; flex-wrap: nowrap; user-select: none; background: #fff; transition: background 0.2s; } .pkg-sum:hover { background: #fafafa; } .pkg-sum-left { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; } .pkg-sum-right { display: flex; align-items: center; gap: 6px; color: #94a3b8; font-size: 12px; } .pkg-update-date { font-size: 13px; color: #475569; line-height: 1; } .pkg-content-box { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.3s ease-in-out; } .pkg-acc.is-open .pkg-content-box { grid-template-rows: 1fr; } .pkg-inner { min-height: 0; visibility: hidden; background: #f8fafc; border-top: 1px solid #f1f5f9; transition: visibility 0.3s; } .pkg-acc.is-open .pkg-inner { visibility: visible; } .u-row { position: relative; padding: 12px 15px; border-bottom: 1px solid #f1f5f9; display: flex; flex-direction: column; gap: 5px; border-left: 4px solid transparent; } .u-row:last-child { border-bottom: none; } .u-row.new { border-left-color: #27ae60; background: #f0fff4; } .u-row.edit { border-left-color: #818cf8; background: #f5f3ff; } .u-row.doc { border-left-color: #0ea5e9; background: #f0f9ff; } .u-text { color: #334155; font-size: 13.5px; } .u-date { color: #94a3b8; font-size: 11px; line-height: 1; } .u-date-home { font-size: 12px; } .pkg-arrow { transition: transform 0.3s; color: #94a3b8; } .pkg-acc.is-open .pkg-arrow { transform: rotate(180deg); } .extra-updates-box { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.3s ease; overflow: hidden; } .extra-updates-box.show { grid-template-rows: 1fr; } .extra-updates-inner { min-height: 0; } .show-more-history { display: block; width: 100%; padding: 12px 0; background: transparent; border: none; color: #94a3b8; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; cursor: pointer; transition: all 0.2s; } .show-more-history:hover { background: #f8fafc; color: #61656b; } body.modal-open { overflow: hidden; } .mob-icon-only { display: none !important; } .pc-text-only { display: inline !important; } @media (max-width: 600px) { .pc-text-only { display: none !important; } .mob-icon-only { display: inline-block !important; } .pkg-sum { padding: 8px 10px !important; } .pkg-sum-left, .pkg-sum-right { display: flex; align-items: center; gap: 5px; } } .not-found-wrap { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 60vh; text-align: center; padding: 40px 20px; } .not-found-code { font-size: clamp(96px, 20vw, 180px); font-weight: 900; line-height: 1; background: linear-gradient(268deg, #2c4a86 0%, #1a2a44 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; color: transparent; user-select: none; } .not-found-title { font-size: clamp(20px, 4vw, 28px); font-weight: 700; color: #1e293b; margin: 12px 0 0; } .not-found-desc { color: #64748b; font-size: 16px; margin: 12px 0 32px; max-width: 360px; } .not-found-btn { display: inline-block; background: linear-gradient(268deg, #2c4a86 0%, #1a2a44 100%); color: #fff !important; font-size: 15px; font-weight: 600; padding: 12px 28px; border-radius: 8px; text-decoration: none; transition: opacity .2s; } .not-found-btn:hover { opacity: .85; color: #fff !important; }