:root{color:#1d1d1f;background:#f2f2f7;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,PingFang SC,Helvetica Neue,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ios-blue: #007aff;--ios-blue-pressed: #0066d6;--label: #1d1d1f;--secondary: #6e6e73;--tertiary: #8e8e93;--separator: #d2d2d7;--surface: #ffffff;--gutter: 20px}*{box-sizing:border-box}html{min-width:320px;overflow-x:hidden;scroll-behavior:smooth;scrollbar-width:none}html::-webkit-scrollbar{width:0;height:0}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;color:var(--label);background:#f2f2f7;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}a:focus-visible,button:focus-visible{outline:3px solid rgb(0 122 255 / 30%);outline-offset:3px}.store-shell{width:min(100%,920px);min-height:100vh;margin:0 auto;padding-bottom:calc(24px + env(safe-area-inset-bottom));background:var(--surface)}.store-nav{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:calc(52px + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--gutter) 0;border-bottom:.5px solid rgb(60 60 67 / 20%);background:#ffffffe0;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}.store-nav strong{font-size:17px;font-weight:650;letter-spacing:-.012em}.back-link{display:inline-flex;align-items:center;justify-self:start;gap:2px;margin-left:-6px;color:var(--ios-blue);font-size:17px;text-decoration:none}.back-link svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.share-button{width:38px;height:38px;display:grid;place-items:center;justify-self:end;margin-right:-7px;padding:0;border:0;border-radius:50%;color:var(--ios-blue);background:transparent;cursor:pointer}.share-button:hover{background:#f2f2f7}.share-button svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}.product-section,.content-section{width:calc(100% - (var(--gutter) * 2));margin:0 auto}.product-section{padding-top:24px}.product-hero{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:stretch;gap:18px}.app-icon{width:118px;height:118px;display:block;border-radius:25.5px;box-shadow:0 6px 17px #0033732b}.product-copy{min-width:0;display:flex;flex-direction:column;justify-content:space-between;padding:3px 0 1px}.product-copy h1{margin:0;font-size:clamp(22px,6.1vw,27px);font-weight:690;line-height:1.16;letter-spacing:-.036em}.subtitle{margin:8px 0 0;color:var(--secondary);font-size:15px;line-height:1.35}.install-action{display:flex;align-items:center}.get-button{position:relative;flex:0 0 auto;min-width:78px;height:32px;display:inline-grid;place-items:center;padding:0 19px;border-radius:999px;color:#fff;background:var(--ios-blue);font-size:15px;font-weight:700;line-height:1;text-decoration:none;transition:transform .12s ease,background-color .12s ease}.get-button:hover{background:#0874e8}.get-button:active{transform:scale(.94);background:var(--ios-blue-pressed)}.get-button.is-loading .button-label{opacity:0}.button-spinner{position:absolute;width:17px;height:17px;display:none;border:2px solid rgb(255 255 255 / 45%);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.get-button.is-loading .button-spinner{display:block}.metadata{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0 0;padding:16px 0 17px;border-top:.5px solid rgb(60 60 67 / 24%);border-bottom:.5px solid rgb(60 60 67 / 24%)}.metadata div{min-width:0;text-align:center}.metadata div+div{border-left:.5px solid rgb(60 60 67 / 24%)}.metadata dt{overflow:hidden;color:#3a3a3c;font-size:16px;font-weight:540;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.metadata dd{margin:5px 0 0;color:var(--tertiary);font-size:12px;line-height:1.2}.content-section{padding:19px 0 22px;border-bottom:.5px solid rgb(60 60 67 / 24%)}.content-section h2{margin:0;font-size:22px;font-weight:700;line-height:1.18;letter-spacing:-.03em}.preview-track{display:flex;gap:9px;overflow-x:auto;margin:13px 0 0;padding:0 0 6px;scroll-padding-inline:0;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-inline:contain}.preview-track::-webkit-scrollbar{width:0;height:0;display:none}.preview-item{flex:0 0 calc((100% - 18px) / 3);min-width:102px;margin:0;scroll-snap-align:start}.preview-item img{width:100%;height:auto;display:block;border:.5px solid rgb(60 60 67 / 15%);border-radius:18px;background:#fff;box-shadow:0 2px 9px #0000000d}.description-section{position:relative}.description-copy{max-width:720px;margin:10px 0 0;overflow:hidden;color:#3a3a3c;font-size:15px;line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.description-copy.is-expanded{display:block}.more-button{margin:5px 0 0;padding:0;border:0;color:var(--ios-blue);background:transparent;font-size:15px;line-height:1.4;cursor:pointer}.information-section{padding-bottom:0;border-bottom:0}.information-list{margin:7px 0 0}.information-list div{display:flex;align-items:baseline;justify-content:space-between;gap:24px;min-height:42px;padding:10px 0;border-bottom:.5px solid rgb(60 60 67 / 20%);font-size:15px;line-height:1.4}.information-list dt{flex:0 0 auto;color:var(--tertiary)}.information-list dd{margin:0;text-align:right}.install-dialog{width:min(calc(100% - 28px),410px);margin:auto;padding:25px 22px 18px;border:0;border-radius:24px;color:var(--label);background:#fffffff5;box-shadow:0 25px 80px #0000003d;text-align:center}.install-dialog::backdrop{background:#00000047;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.dialog-handle{display:none}.install-dialog img{width:72px;height:72px;border-radius:16px;box-shadow:0 4px 12px #00337324}.install-dialog h2{margin:15px 0 7px;font-size:20px;letter-spacing:-.025em}.install-dialog p{margin:0;color:var(--secondary);font-size:14px;line-height:1.55}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.dialog-actions button,.dialog-actions a{min-height:44px;display:grid;place-items:center;padding:0 14px;border:0;border-radius:12px;font-size:15px;font-weight:650;text-decoration:none;cursor:pointer}.dialog-cancel{background:#f2f2f7}.dialog-actions a{color:#fff;background:var(--ios-blue)}.toast{position:fixed;z-index:50;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));max-width:calc(100% - 40px);margin:0;padding:10px 15px;border-radius:999px;color:#fff;background:#1d1d1feb;box-shadow:0 8px 25px #0000002e;font-size:13px;opacity:0;pointer-events:none;transform:translate(-50%,10px);transition:opacity .18s ease,transform .18s ease}.toast.is-visible{opacity:1;transform:translate(-50%)}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:700px){:root{--gutter: 32px}.store-shell{box-shadow:0 0 0 1px #3c3c4314}.store-nav{height:58px}.product-section{padding-top:34px}.product-hero{grid-template-columns:152px minmax(0,1fr);gap:26px}.app-icon{width:152px;height:152px;border-radius:33px}.product-copy{padding-block:6px}.product-copy h1{font-size:34px}.subtitle{font-size:17px}.get-button{min-width:88px;height:36px;font-size:16px}.metadata{margin-top:30px;padding-block:18px}.metadata dt{font-size:18px}.content-section{padding:27px 0 30px}.content-section h2{font-size:25px}.preview-track{gap:14px;margin-top:17px}.preview-item{flex-basis:255px}.preview-item img{border-radius:27px}.description-copy,.information-list div{font-size:16px}}@media(max-width:380px){:root{--gutter: 16px}.product-hero{grid-template-columns:105px minmax(0,1fr);gap:15px}.app-icon{width:105px;height:105px;border-radius:23px}.product-copy h1{font-size:21px}.get-button{min-width:70px;padding-inline:16px}}@media(max-width:540px){.install-dialog{width:calc(100% - 16px);max-width:none;margin:auto 8px 8px;padding-top:14px;border-radius:24px 24px 18px 18px}.dialog-handle{width:36px;height:5px;display:block;margin:0 auto 14px;border-radius:99px;background:#d1d1d6}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
