/* SLIMZ Update Center: every release in a sticky list on the left with a
   search and an All / Plugins / Apps switch, the chosen release read on the
   right. On a phone the list fills the page and the release slides in over it.
   The page title moves into the list, so the title block and the original
   list are hidden once js/updates-center.js has built the layout (html.ul-enhance). */.ul-enhance #updates-list, .ul-enhance .info-page{display:none;}/* body { overflow-x: hidden } turns body into a scroll box and breaks sticky; clip does not. */.ul-enhance body{overflow-x:clip;}.ul-locked, .ul-locked body{overflow:hidden;}/* overflow-anchor: rows keep their place through the script's own scroll correction. */.ul-center{--accent:155,220,255;--ul-ease:cubic-bezier(.22, 1, .36, 1);--ul-morph:.22s;--ul-nav:84px;padding:calc(var(--ul-nav) + 22px) 0 120px;overflow-anchor:none;}.ul-center [hidden]{display:none !important;}:where(.ul-center) button{margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;}.ul-center button:focus-visible, .ul-center a:focus-visible{outline:2px solid rgba(155,220,255,.7);outline-offset:2px;}.ul-center img{-webkit-user-drag:none;user-select:none;}/* Moving highlights: the geometry morphs in 220 ms, an interrupted move goes on from where it is */.ul-highlight, .ul-chip-pill{position:absolute;left:0;top:0;z-index:0;pointer-events:none;opacity:0;transition:transform var(--ul-morph) var(--ul-ease), width var(--ul-morph) var(--ul-ease), height var(--ul-morph) var(--ul-ease), opacity .15s ease;}.is-still{transition:none !important;}.ul-mail{display:grid;grid-template-columns:clamp(320px, 31vw, 400px) minmax(0, 1fr);align-items:start;gap:clamp(24px, 3vw, 48px);}/* Release list: the page title, search and the kind switch, then one row per release */.ul-side{position:sticky;top:calc(var(--ul-nav) + 16px);height:calc(100vh - var(--ul-nav) - 32px);min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line-soft);border-radius:22px;background:linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.01));}.ul-side-head{flex:none;display:grid;gap:12px;padding:20px 14px 14px;border-bottom:1px solid var(--line-soft);}.ul-title{margin:0;padding:0 6px;color:#8a8c9a;font-family:"SLIMZ GOOGLE", sans-serif;font-size:.92rem;font-weight:700;line-height:1;letter-spacing:-.03em;text-transform:uppercase;white-space:nowrap;}.ul-title span{position:relative;display:inline-block;}.ul-title span::after{content:attr(data-text);position:absolute;inset:0;color:transparent;background:linear-gradient(90deg, transparent 34%, rgba(255,255,255,.22) 42%, #fff 50%, rgba(255,255,255,.22) 58%, transparent 66%);background-size:260% 100%;background-position:160% 0;-webkit-background-clip:text;background-clip:text;opacity:0;pointer-events:none;animation:brandShimmer 6s linear infinite;}.ul-search{position:relative;height:40px;display:flex;align-items:center;overflow:hidden;border:1px solid var(--line-soft);border-radius:13px;background:rgba(255,255,255,.03);cursor:text;transition:border-color .2s, background-color .2s;}.ul-search:focus-within{border-color:rgba(155,220,255,.45);background-color:rgba(255,255,255,.05);}.ul-search-icon{position:absolute;left:12px;top:50%;width:15px;height:15px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8c9a' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m16 16 4.5 4.5'/%3E%3C/svg%3E") center / contain no-repeat;transform:translateY(-50%);pointer-events:none;}.ul-search-input{width:100%;height:100%;min-width:0;margin:0;padding:0 12px 0 36px;border:0;border-radius:0;background:transparent;color:var(--white);font:inherit;font-size:.86rem;outline:none;-webkit-appearance:none;appearance:none;}.ul-search.has-value .ul-search-input{padding-right:40px;}.ul-search-input::placeholder{color:#6f717a;opacity:1;}.ul-search-input::-webkit-search-cancel-button, .ul-search-input::-webkit-search-decoration{display:none;-webkit-appearance:none;}.ul-search-clear{position:absolute;right:8px;top:50%;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.08) !important;transform:translateY(-50%);transition:background .2s;}.ul-search-clear::before, .ul-search-clear::after{content:"";position:absolute;left:7px;top:11px;width:10px;height:1.5px;border-radius:2px;background:#c9cad2;transform:rotate(45deg);}.ul-search-clear::after{transform:rotate(-45deg);}.ul-chips{position:relative;justify-self:start;display:inline-flex;padding:3px;border:1px solid var(--line-soft);border-radius:999px;background:rgba(255,255,255,.025);}.ul-chip{position:relative;z-index:1;height:32px;padding:0 14px !important;border-radius:999px;color:#8a8c9a;font-family:"SLIMZ GOOGLE", sans-serif !important;font-size:.6rem !important;font-weight:700 !important;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:color .2s;}.ul-chip.is-active{color:#07070a;}.ul-chip-pill{border-radius:999px;background:#f2f4f8;box-shadow:0 0 16px rgba(155,220,255,.22);}.ul-rows{position:relative;flex:1 1 auto;min-height:0;padding:8px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent;overscroll-behavior:contain;}.ul-row{position:relative;z-index:1;width:100%;display:flex;gap:12px;padding:12px !important;border-radius:14px;text-align:left;transition:background-color .2s;}.ul-row-thumb{width:40px;height:49px;flex:none;display:block;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#0b0b10;object-fit:cover;}.ul-row-text{min-width:0;flex:1;display:grid;gap:6px;}.ul-row-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px;}.ul-row-name{overflow:hidden;color:#e2e3e8;font-family:"SLIMZ GOOGLE", sans-serif;font-size:.68rem;font-weight:700;line-height:1.15;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;}.ul-row-version{flex:none;color:rgb(var(--accent));font-family:"SLIMZ GOOGLE", sans-serif;font-size:.56rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}.ul-row-summary{display:-webkit-box;overflow:hidden;color:var(--dim);font-size:.8rem;line-height:1.42;-webkit-line-clamp:2;-webkit-box-orient:vertical;}.ul-row-summary strong{color:inherit;font-weight:inherit;}.ul-row.is-active .ul-row-summary{color:#9a9ca6;}.ul-highlight{border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.06);}.ul-empty{margin:0;padding:4px 22px 18px;color:var(--dim);font-size:.85rem;}/* Reading pane */.ul-read{min-width:0;max-width:820px;}.ul-read-bar{display:none;}.ul-read-head{display:flex;align-items:center;gap:22px;margin-bottom:28px;padding-bottom:26px;border-bottom:1px solid var(--line-soft);}.ul-read-cover{width:92px;flex:none;display:block;aspect-ratio:1136 / 1385;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:#0b0b10;object-fit:cover;box-shadow:0 0 44px rgba(var(--accent), .2);}.ul-read-text{min-width:0;}.ul-read-name{margin:0;font-family:"SLIMZ GOOGLE", sans-serif;font-size:clamp(1.6rem, 3vw, 2.5rem);line-height:1;letter-spacing:-.035em;text-transform:uppercase;overflow-wrap:anywhere;}.ul-read-sub{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px;}.ul-kind{color:rgb(var(--accent));font-family:"SLIMZ GOOGLE", sans-serif;font-size:.6rem;font-weight:700;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;}.ul-count{color:var(--dim);font-size:.82rem;line-height:1.2;white-space:nowrap;}.ul-link{color:#a8aab4;font-size:.82rem;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.16);transition:color .2s, border-color .2s;white-space:nowrap;}.ul-link::after{content:" \2197";}.ul-link:hover{color:#fff;border-color:rgba(var(--accent), .7);}.ul-release{display:grid;gap:20px;}.ul-release-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;}.ul-release-version{color:var(--white);font-family:"SLIMZ GOOGLE", sans-serif;font-size:.86rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}.ul-tag{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:999px;background:rgb(var(--accent));color:#07070a;font-family:"SLIMZ GOOGLE", sans-serif;font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;box-shadow:0 0 18px rgba(var(--accent), .3);}.ul-notes{display:grid;gap:30px;}.ul-summary{margin:0;color:var(--muted);font-size:1.06rem;line-height:1.72;}.ul-group{display:grid;gap:14px;}.ul-group-title{margin:0;color:var(--white);font-family:"SLIMZ GOOGLE", sans-serif;font-size:.74rem;font-weight:700;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;}.ul-list{margin:0;padding:0;list-style:none;color:var(--muted);font-size:1rem;line-height:1.7;}.ul-list li{position:relative;padding-left:20px;}.ul-list li + li{margin-top:12px;}.ul-list li::before{content:"-";position:absolute;left:0;color:rgb(var(--accent));}.ul-list strong, .ul-summary strong{color:var(--white);font-weight:600;}/* Other versions of the same product */.ul-others{margin-top:44px;border-top:1px solid var(--line-soft);}.ul-others-title{padding:24px 0 8px;color:var(--dim);font-family:"SLIMZ GOOGLE", sans-serif;font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;}.ul-other-pills{display:flex;flex-wrap:wrap;gap:8px;padding-top:6px;}.ul-pill{height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px !important;border:1px solid rgba(var(--accent), .34) !important;border-radius:999px;background:rgba(var(--accent), .08) !important;color:#e6e7ec;color:color-mix(in srgb, rgb(var(--accent)) 45%, #fff);font-family:"SLIMZ GOOGLE", sans-serif !important;font-size:.58rem !important;font-weight:700 !important;letter-spacing:.08em;line-height:1;text-transform:uppercase;white-space:nowrap;transition:background-color .2s, color .2s, border-color .2s;}.ul-pill.is-active{border-color:transparent !important;background:rgb(var(--accent)) !important;color:#07070a;}.ul-enter{animation:ulEnter var(--ul-morph) var(--ul-ease) both;}@keyframes ulEnter{from{opacity:0;transform:translateY(6px);}}@media (hover: hover) and (pointer: fine){.ul-row:not(.is-active):hover{background:rgba(255,255,255,.028);}.ul-chip:not(.is-active):hover{color:#e6e7ec;}.ul-pill:not(.is-active):hover{color:#fff;border-color:rgba(var(--accent), .7) !important;}.ul-search-clear:hover{background:rgba(255,255,255,.16) !important;}}/* Phone: the list fills the page, the release slides in over it from the right */@media (max-width: 900px){.ul-mail{grid-template-columns:minmax(0, 1fr);}.ul-side{position:static;height:auto;overflow:visible;border:0;border-radius:0;background:none;}.ul-side-head{padding:0 0 14px;}.ul-title{padding:0;}.ul-rows{overflow:visible;padding:8px 0 0;}.ul-row{padding:14px 2px !important;border-bottom:1px solid rgba(255,255,255,.045);border-radius:0;}.ul-highlight{display:none;}.ul-empty{padding:14px 0 0;}.ul-read{position:fixed;inset:0;z-index:160;max-width:none;padding:0 20px 70px;overflow-y:auto;background:var(--bg);visibility:hidden;transform:translateX(100%);transition:transform .24s var(--ul-ease), visibility 0s linear .24s;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}.ul-read.is-open{visibility:visible;transform:none;transition:transform .24s var(--ul-ease), visibility 0s;}.ul-read-bar{position:sticky;top:0;z-index:2;display:flex;margin:0 -20px 22px;padding:14px 16px;border-bottom:1px solid var(--line-soft);background:rgba(5,5,7,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);}.ul-back{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px 0 12px !important;border:1px solid var(--line) !important;border-radius:999px;font-family:"SLIMZ GOOGLE", sans-serif !important;font-size:.6rem !important;font-weight:700 !important;letter-spacing:.08em;text-transform:uppercase;}.ul-back::before{content:"";width:7px;height:7px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);}.ul-read-head{gap:16px;}.ul-read-cover{width:72px;border-radius:14px;}}@media (max-width: 700px){.ul-center{--ul-nav:104px;padding-bottom:80px;}.ul-search-input{font-size:16px;}.ul-chip{padding:0 12px !important;}.ul-notes{gap:26px;}.ul-summary{font-size:1rem;line-height:1.66;}.ul-list{font-size:.96rem;line-height:1.64;}.ul-list li{padding-left:18px;}.ul-list li + li{margin-top:10px;}}/* Phone nav: equal gaps between the products button, the language switch and
   settings, so the centred row is symmetric; the products button gets a light
   touch of the super-sale colours. The brand line is wider than the buttons and
   used to widen both grid columns unevenly; contain keeps it out of the sizing. */@media (max-width: 700px){.nav .brand{contain:inline-size;justify-self:stretch;justify-content:center;white-space:nowrap;}.nav-actions{gap:8px;}.nav-products{color:#f4edff;border-color:rgba(187,146,255,.42);background:linear-gradient(110deg, rgba(113,76,205,.24), rgba(38,129,174,.2));box-shadow:0 0 18px rgba(142,102,239,.16), inset 0 1px rgba(255,255,255,.07);}.nav-products:hover, .nav-products:focus-visible{color:#fff;border-color:rgba(200,167,255,.7);background:linear-gradient(110deg, rgba(129,87,229,.34), rgba(42,145,194,.28));box-shadow:0 0 22px rgba(142,102,239,.22), inset 0 1px rgba(255,255,255,.08);}}@media (prefers-reduced-motion: reduce){.ul-center *, .ul-center *::before, .ul-center *::after{transition-duration:0s !important;animation-duration:0s !important;}}