@font-face{font-family:Inter;src:url(/storepanes/assets/Inter-latin-Dx4kXJAl.woff2)format("woff2");font-weight:400 700;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/storepanes/assets/SpaceGrotesk-latin-BhU9QXUp.woff2)format("woff2");font-weight:500 700;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--sp-bg:#0f0f12;--sp-surface-1:#151519;--sp-surface-2:#1c1c21;--sp-surface-3:#26262c;--sp-surface-4:#303038;--sp-overlay:#060608b8;--sp-border:#2c2c33;--sp-border-strong:#3e3e48;--sp-text:#f2f2f4;--sp-text-muted:#b0b0bb;--sp-text-subtle:#92929e;--sp-text-on-accent:#fff;--sp-text-on-success:#0d0d10;--sp-accent:#5b5fef;--sp-accent-hover:#4f54e5;--sp-accent-pressed:#4348d6;--sp-accent-soft:#5b5fef2e;--sp-accent-text:#a3a6ff;--sp-success:#4ade80;--sp-success-soft:#4ade8024;--sp-warning:#f5b544;--sp-warning-soft:#f5b54424;--sp-danger:#ff7a7a;--sp-danger-soft:#ff7a7a24;--sp-danger-solid:#cc3644;--sp-info:#7cc0ff;--sp-info-soft:#7cc0ff24;--sp-pro:#e0b3ff;--sp-pro-soft:#e0b3ff29;--sp-focus:#a3a6ff;--sp-selection:#7cc0ff;--sp-guide:#ff6fd8;--sp-white:#fff;--sp-black:#000;--sp-font-display:"Space Grotesk", "Inter", ui-sans-serif, system-ui, sans-serif;--sp-font-ui:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--sp-font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sp-text-xs:12px;--sp-lh-xs:16px;--sp-text-sm:13px;--sp-lh-sm:20px;--sp-text-md:14px;--sp-lh-md:20px;--sp-text-lg:16px;--sp-lh-lg:24px;--sp-text-xl:20px;--sp-lh-xl:28px;--sp-text-2xl:24px;--sp-lh-2xl:32px;--sp-text-3xl:32px;--sp-lh-3xl:40px;--sp-text-4xl:44px;--sp-lh-4xl:52px;--sp-weight-regular:400;--sp-weight-medium:500;--sp-weight-semibold:600;--sp-weight-bold:700;--sp-tracking-tight:-.02em;--sp-space-1:4px;--sp-space-2:8px;--sp-space-3:12px;--sp-space-4:16px;--sp-space-5:24px;--sp-space-6:32px;--sp-space-7:40px;--sp-space-8:48px;--sp-space-9:64px;--sp-space-10:80px;--sp-radius-sm:6px;--sp-radius-md:10px;--sp-radius-lg:14px;--sp-radius-xl:20px;--sp-radius-full:999px;--sp-shadow-sm:0 1px 2px #0006;--sp-shadow-md:0 8px 20px #00000059;--sp-shadow-lg:0 24px 64px #0009;--sp-dur-fast:.12s;--sp-dur-base:.2s;--sp-dur-slow:.32s;--sp-ease:cubic-bezier(.2, .8, .2, 1);--sp-control-sm:32px;--sp-control-md:40px;--sp-control-lg:48px;--sp-target-min:44px;--sp-topnav-h:56px;--sp-toolbar-h:56px;--sp-sidebar-w:248px;--sp-panel-w:344px;--sp-z-popover:20;--sp-z-modal:40;--sp-z-toast:50;--sp-tpl-aurora:linear-gradient(160deg, #2b2f8f 0%, #6d4bd8 55%, #e36fb6 100%);--sp-tpl-mono:linear-gradient(180deg, #f4f4f2 0%, #e4e4e0 100%);--sp-tpl-citrus:linear-gradient(160deg, #ffd54a 0%, #ff9f3d 100%);--sp-tpl-tide:linear-gradient(170deg, #0e7c86 0%, #13b3a6 60%, #8be3c9 100%);--sp-tpl-ember:linear-gradient(165deg, #1b0f0e 0%, #5a1e14 60%, #e2552e 100%);--sp-tpl-bloom:linear-gradient(160deg, #ffe1e8 0%, #ffc2d4 100%);--sp-tpl-grid:linear-gradient(180deg, #0c1a2b 0%, #10304f 100%);--sp-tpl-slate:linear-gradient(180deg, #2a2d34 0%, #3b3f48 100%);--sp-tpl-pop:linear-gradient(150deg, #19c37d 0%, #0fa3e0 100%);--sp-tpl-nocturne:linear-gradient(180deg, #050507 0%, #17171c 100%);--sp-art-ink:#121216;--sp-art-paper:#fff;--sp-art-line:#12121624;--sp-art-line-strong:#12121652;--sp-art-glass:#ffffff29;--sp-art-highlight:#ffe45c;--sp-art-accent:#5b5fef;--sp-shadow-art:0 4cqw 10cqw #00000059;--sp-text-5xl:56px;--sp-lh-5xl:64px;--sp-text-hero-sm:36px;--sp-lh-hero-sm:44px;--sp-container:1200px;--sp-container-narrow:760px;--sp-gutter:32px;--sp-gutter-sm:16px;--sp-section-y:96px;--sp-section-y-sm:64px;--sp-pubnav-h:64px;--sp-toc-w:232px;--sp-filter-w:264px;--sp-tap:44px;--sp-hero-glow:radial-gradient(60% 60% at 50% 0%, #5b5fef47 0%, #5b5fef00 70%);--sp-band-bg:linear-gradient(135deg, #1e1f4a 0%, #15152e 100%);--sp-example-bg:#060608c7;--sp-example-text:#fff;--sp-spinner-track:#2c2c33;--sp-spinner-head:#a3a6ff;--sp-spinner-size:28px;--sp-gis-bg:#fff;--sp-gis-text:#1f1f1f;--sp-gis-border:#747775;--sp-gis-h:44px;--sp-gis-w:100%;--sp-text-6xl:72px;--sp-lh-6xl:80px;--sp-text-hero-m:40px;--sp-lh-hero-m:48px;--sp-control-xl:56px;--sp-grad-accent:linear-gradient(90deg, #a3a6ff 0%, #d3a8ff 50%, #ff9fd6 100%);--sp-grad-accent-solid:#a3a6ff;--sp-glow-primary:0 0 0 1px #7c80ff8c, 0 8px 28px #5b5fef73, 0 0 64px #5b5fef4d;--sp-glow-primary-hover:0 0 0 1px #7c80ffbf, 0 10px 36px #5b5fef99, 0 0 88px #5b5fef66;--sp-hero-bg:radial-gradient(48% 40% at 50% 0%, #5b5fef57 0%, #5b5fef00 100%), radial-gradient(36% 30% at 78% 62%, #e36fb624 0%, #e36fb600 100%), radial-gradient(36% 30% at 22% 66%, #5b5fef29 0%, #5b5fef00 100%);--sp-stage-glow:radial-gradient(60% 55% at 50% 45%, #5b5fef4d 0%, #5b5fef00 100%);--sp-nav-glass:#0f0f12b8;--sp-nav-blur:saturate(160%) blur(16px);--sp-border-glass:#ffffff14;--sp-highlight-inset:inset 0 1px 0 #ffffff0f;--sp-raised:linear-gradient(180deg, #1f1f25 0%, #18181d 100%);--sp-raised-hover:linear-gradient(180deg, #24242b 0%, #1b1b21 100%);--sp-shadow-card:0 1px 2px #0006, 0 12px 32px #00000047;--sp-shadow-card-hover:0 2px 4px #00000073, 0 20px 48px #00000061;--sp-shadow-stage:0 40px 120px #0000008c, 0 0 0 1px #ffffff0f;--sp-section-edge:linear-gradient(90deg, #fff0 0%, #ffffff1a 50%, #fff0 100%);--sp-listing-bg:#16161b;--sp-listing-line:#2a2a31;--sp-reveal-distance:16px;--sp-dur-reveal:.56s;--sp-reveal-stagger:80ms;--sp-lift:-2px}@media (prefers-reduced-motion:reduce){:root{--sp-dur-fast:0s;--sp-dur-base:0s;--sp-dur-slow:0s;--sp-dur-reveal:0s;--sp-reveal-distance:0px;--sp-lift:0px}}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--sp-bg:#f3f3f6;--sp-surface-1:#fff;--sp-surface-2:#fff;--sp-surface-3:#ededf1;--sp-surface-4:#e2e2e8;--sp-overlay:#0f0f1473;--sp-border:#dedee4;--sp-border-strong:#c4c4ce;--sp-text:#141417;--sp-text-muted:#4a4a55;--sp-text-subtle:#62626e;--sp-accent-text:#4348d6;--sp-focus:#4348d6;--sp-success:#15803d;--sp-warning:#8a5300;--sp-danger:#c2303d;--sp-info:#1d64c0;--sp-pro:#7a3dc4;--sp-text-on-success:#fff;--sp-shadow-sm:0 1px 2px #0f0f1414;--sp-shadow-md:0 8px 20px #0f0f1414;--sp-shadow-lg:0 24px 64px #0f0f142e;--sp-grad-accent:linear-gradient(90deg, #4348d6 0%, #7a3dc4 50%, #b0286f 100%);--sp-grad-accent-solid:#4348d6;--sp-nav-glass:#ffffffc7;--sp-border-glass:#0f0f1414;--sp-raised:linear-gradient(180deg, #fff 0%, #f8f8fb 100%);--sp-raised-hover:linear-gradient(180deg, #fff 0%, #f2f2f7 100%);--sp-listing-bg:#fff;--sp-listing-line:#e4e4ea;--sp-highlight-inset:inset 0 1px 0 #fffc;--sp-shadow-card:0 1px 2px #0f0f140f, 0 12px 32px #0f0f1414;--sp-shadow-card-hover:0 2px 4px #0f0f1414, 0 20px 48px #0f0f141f;--sp-shadow-stage:0 40px 120px #0f0f1429, 0 0 0 1px #0f0f140f;--sp-hero-glow:radial-gradient(60% 60% at 50% 0%, #4348d624 0%, #4348d600 70%);--sp-band-bg:linear-gradient(135deg, #e9e9ff 0%, #f6f6ff 100%);--sp-spinner-track:#dedee4;--sp-spinner-head:#4348d6}:root{--sp-picker-hue:linear-gradient(90deg, red, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, red);--sp-picker-wheel:conic-gradient(#f43, #fb3, #3c6, #3be, #46f, #c4f, #f43);--sp-picker-sv-black:#000;--sp-picker-sv-white:#fff;--sp-swatch-ring:#8080808c;--sp-art-shadow:0 1px 4px #0003;--sp-shade-30:#0000004d;--sp-shade-12:#0000001f;--sp-shade-18:#0000002e;--sp-shade-25:#00000040;--sp-shade-40:#0006;--sp-shade-55:#0000008c;--sp-doc-bg:#1f2937;--sp-doc-text:#fff;--sp-doc-ink:#14161a;--sp-doc-shape:#3b82f6;--sp-doc-badge:#facc15;--sp-doc-frame-dark:#1b1e24;--sp-doc-frame-light:#f4f5f7;--sp-doc-black:#000}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--sp-bg);color:var(--sp-text);font:var(--sp-weight-regular) var(--sp-text-md)/var(--sp-lh-md) var(--sp-font-ui);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--sp-font-display);letter-spacing:var(--sp-tracking-tight);font-weight:var(--sp-weight-bold);margin:0}h1{font-size:var(--sp-text-3xl);line-height:var(--sp-lh-3xl)}h2{font-size:var(--sp-text-2xl);line-height:var(--sp-lh-2xl)}h3{font-size:var(--sp-text-xl);line-height:var(--sp-lh-xl)}h4{font-size:var(--sp-text-lg);line-height:var(--sp-lh-lg);font-family:var(--sp-font-ui);font-weight:var(--sp-weight-semibold);letter-spacing:0}p{margin:0}a{color:var(--sp-accent-text);text-decoration:none}a:hover{text-decoration:underline}.sp-muted{color:var(--sp-text-muted)}.sp-subtle{color:var(--sp-text-subtle)}.sp-small{font-size:var(--sp-text-sm);line-height:var(--sp-lh-sm)}.sp-xs{font-size:var(--sp-text-xs);line-height:var(--sp-lh-xs)}.sp-mono{font-family:var(--sp-font-mono);font-size:var(--sp-text-sm)}.sp-eyebrow{font-size:var(--sp-text-xs);line-height:var(--sp-lh-xs);font-weight:var(--sp-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--sp-text-subtle)}.sp-icon{flex:none;width:18px;height:18px}.sp-icon.sm{width:16px;height:16px}.sp-icon.lg{width:22px;height:22px}.sp-icon.xl{width:28px;height:28px}:focus-visible,.sp-focus{outline:2px solid var(--sp-focus);outline-offset:2px}.sp-row-flex{align-items:center;gap:var(--sp-space-2);display:flex}.sp-spacer{flex:1}.sp-divider{background:var(--sp-border);border:0;height:1px;margin:0}.sp-wordmark{color:var(--sp-text);flex-direction:column;line-height:1;text-decoration:none;display:inline-flex}.sp-wordmark b{font:var(--sp-weight-bold) var(--sp-text-xl)/1 var(--sp-font-display);letter-spacing:var(--sp-tracking-tight)}.sp-wordmark small{font-size:11px;font-weight:var(--sp-weight-medium);color:var(--sp-text-muted);letter-spacing:.01em;margin-top:3px}.sp-wordmark:hover{text-decoration:none}.sp-wordmark--lg b{font-size:var(--sp-text-3xl)}.sp-wordmark--lg small{font-size:var(--sp-text-sm);margin-top:6px}.sp-btn{--h:var(--sp-control-md);justify-content:center;align-items:center;gap:var(--sp-space-2);height:var(--h);min-width:var(--h);padding:0 var(--sp-space-4);border-radius:var(--sp-radius-md);font:var(--sp-weight-semibold) var(--sp-text-md)/1 var(--sp-font-ui);white-space:nowrap;cursor:pointer;color:var(--sp-text);background:var(--sp-surface-3);transition:background var(--sp-dur-fast) var(--sp-ease), border-color var(--sp-dur-fast) var(--sp-ease), color var(--sp-dur-fast) var(--sp-ease);border:1px solid #0000;text-decoration:none;display:inline-flex}.sp-btn:hover{text-decoration:none}.sp-btn:focus-visible{outline:2px solid var(--sp-focus);outline-offset:2px}.sp-btn--primary{background:var(--sp-accent);color:var(--sp-text-on-accent)}.sp-btn--primary:hover{background:var(--sp-accent-hover)}.sp-btn--primary:active{background:var(--sp-accent-pressed)}.sp-btn--secondary{background:var(--sp-surface-3);border-color:var(--sp-border-strong)}.sp-btn--secondary:hover{background:var(--sp-surface-4)}.sp-btn--ghost{color:var(--sp-text-muted);background:0 0}.sp-btn--ghost:hover{background:var(--sp-surface-3);color:var(--sp-text)}.sp-btn--soft{background:var(--sp-accent-soft);color:var(--sp-accent-text)}.sp-btn--success{background:var(--sp-success);color:var(--sp-text-on-success)}.sp-btn--danger{background:var(--sp-danger-solid);color:var(--sp-white)}.sp-btn--danger-ghost{color:var(--sp-danger);background:0 0}.sp-btn--danger-ghost:hover{background:var(--sp-danger-soft)}.sp-btn--link{padding:0 var(--sp-space-2);color:var(--sp-accent-text);background:0 0}.sp-btn--sm{--h:var(--sp-control-sm);padding:0 var(--sp-space-3);font-size:var(--sp-text-sm);border-radius:var(--sp-radius-sm)}.sp-btn--lg{--h:var(--sp-control-lg);padding:0 var(--sp-space-5);font-size:var(--sp-text-lg)}.sp-btn--icon{width:var(--h);padding:0}.sp-btn--block{width:100%}.sp-btn[disabled],.sp-btn.is-disabled{opacity:.45;cursor:not-allowed}.sp-btn.is-active{background:var(--sp-surface-4);color:var(--sp-text);border-color:var(--sp-border-strong)}@media (pointer:coarse){.sp-btn--sm,.sp-btn--icon{position:relative}.sp-btn--sm:after,.sp-btn--icon:after{content:"";width:max(100%, var(--sp-target-min));height:max(100%, var(--sp-target-min));position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}}.sp-field{gap:var(--sp-space-2);flex-direction:column;min-width:0;display:flex}.sp-label{font-size:var(--sp-text-sm);line-height:var(--sp-lh-sm);font-weight:var(--sp-weight-medium);color:var(--sp-text-muted)}.sp-hint{font-size:var(--sp-text-xs);line-height:var(--sp-lh-xs);color:var(--sp-text-subtle)}.sp-input,.sp-select,.sp-textarea{width:100%;height:var(--sp-control-md);padding:0 var(--sp-space-3);background:var(--sp-surface-3);color:var(--sp-text);border:1px solid var(--sp-border-strong);border-radius:var(--sp-radius-md);font:var(--sp-weight-regular) var(--sp-text-md)/var(--sp-lh-md) var(--sp-font-ui);transition:border-color var(--sp-dur-fast) var(--sp-ease), box-shadow var(--sp-dur-fast) var(--sp-ease)}.sp-input::placeholder,.sp-textarea::placeholder{color:var(--sp-text-subtle)}.sp-input:hover,.sp-select:hover{border-color:var(--sp-text-subtle)}.sp-input:focus,.sp-select:focus,.sp-textarea:focus,.sp-input.is-focus{border-color:var(--sp-accent);box-shadow:0 0 0 3px var(--sp-accent-soft);outline:none}.sp-input.is-error{border-color:var(--sp-danger)}.sp-input--sm,.sp-select--sm{height:var(--sp-control-sm);font-size:var(--sp-text-sm);border-radius:var(--sp-radius-sm);padding:0 var(--sp-space-2)}.sp-textarea{height:auto;min-height:88px;padding:var(--sp-space-2) var(--sp-space-3);resize:vertical}.sp-select{justify-content:space-between;align-items:center;gap:var(--sp-space-2);cursor:pointer;text-align:left;white-space:nowrap;display:flex}.sp-select>span{text-overflow:ellipsis;align-items:center;gap:var(--sp-space-2);flex:1;display:flex;overflow:hidden}.sp-select:after{content:"";border-right:2px solid var(--sp-text-muted);border-bottom:2px solid var(--sp-text-muted);flex:none;width:8px;height:8px;transform:translateY(-2px)rotate(45deg)}.sp-input-group{align-items:center;display:flex;position:relative}.sp-input-group>.sp-icon{left:var(--sp-space-3);color:var(--sp-text-subtle);pointer-events:none;position:absolute}.sp-input-group>.sp-icon+.sp-input{padding-left:38px}.sp-input-group>.sp-kbd{right:var(--sp-space-2);position:absolute}.sp-input-suffix{right:var(--sp-space-3);color:var(--sp-text-subtle);font-size:var(--sp-text-sm);position:absolute}.sp-check{align-items:center;gap:var(--sp-space-2);min-height:var(--sp-target-min);cursor:pointer;font-size:var(--sp-text-md);display:inline-flex}.sp-check__box{border:1.5px solid var(--sp-border-strong);background:var(--sp-surface-3);width:18px;height:18px;color:var(--sp-text-on-accent);border-radius:5px;flex:none;place-items:center;display:grid}.sp-check__box .sp-icon{opacity:0;width:14px;height:14px}.sp-check.is-on .sp-check__box{background:var(--sp-accent);border-color:var(--sp-accent)}.sp-check.is-on .sp-check__box .sp-icon{opacity:1}.sp-check--radio .sp-check__box{border-radius:50%}.sp-check--radio.is-on .sp-check__box{background:var(--sp-surface-3);box-shadow:inset 0 0 0 4px var(--sp-accent)}.sp-switch{align-items:center;gap:var(--sp-space-3);min-height:var(--sp-target-min);cursor:pointer;display:inline-flex}.sp-switch__track{border-radius:var(--sp-radius-full);background:var(--sp-surface-4);width:36px;height:20px;transition:background var(--sp-dur-fast) var(--sp-ease);border:1px solid var(--sp-border-strong);flex:none;position:relative}.sp-switch__track:after{content:"";background:var(--sp-text-muted);width:14px;height:14px;transition:transform var(--sp-dur-base) var(--sp-ease);border-radius:50%;position:absolute;top:2px;left:2px}.sp-switch.is-on .sp-switch__track{background:var(--sp-accent);border-color:var(--sp-accent)}.sp-switch.is-on .sp-switch__track:after{background:var(--sp-white);transform:translate(16px)}.sp-range{align-items:center;gap:var(--sp-space-3);display:flex}.sp-range__track{border-radius:var(--sp-radius-full);background:var(--sp-surface-4);flex:1;height:4px;position:relative}.sp-range__fill{border-radius:inherit;background:var(--sp-accent);position:absolute;inset:0 auto 0 0}.sp-range__thumb{background:var(--sp-white);width:16px;height:16px;box-shadow:0 0 0 4px var(--sp-accent-soft), var(--sp-shadow-sm);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.sp-range .sp-input{text-align:right;width:72px}.sp-seg{background:var(--sp-surface-1);border:1px solid var(--sp-border);border-radius:var(--sp-radius-md);gap:2px;padding:3px;display:inline-flex}.sp-seg>button,.sp-seg>span{height:32px;padding:0 var(--sp-space-3);color:var(--sp-text-muted);font:var(--sp-weight-medium) var(--sp-text-sm)/1 var(--sp-font-ui);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:6px;display:inline-flex}.sp-seg>.is-on{background:var(--sp-surface-4);color:var(--sp-text);box-shadow:var(--sp-shadow-sm)}.sp-seg--block{display:flex}.sp-swatches{gap:var(--sp-space-2);flex-wrap:wrap;display:flex}.sp-swatch{border-radius:var(--sp-radius-sm);border:1px solid var(--sp-border-strong);cursor:pointer;width:32px;height:32px;position:relative}.sp-swatch.is-on{box-shadow:0 0 0 2px var(--sp-surface-2), 0 0 0 4px var(--sp-focus)}.sp-swatch--add{background:var(--sp-surface-3);color:var(--sp-text-muted);border-style:dashed;place-items:center;display:grid}.sp-color-input{align-items:center;gap:var(--sp-space-2);display:flex}.sp-color-input .sp-swatch{width:28px;height:28px}.sp-chip{height:var(--sp-control-sm);padding:0 var(--sp-space-3);border-radius:var(--sp-radius-full);background:var(--sp-surface-3);border:1px solid var(--sp-border);color:var(--sp-text-muted);font:var(--sp-weight-medium) var(--sp-text-sm)/1 var(--sp-font-ui);white-space:nowrap;cursor:pointer;align-items:center;gap:6px;display:inline-flex}.sp-chip:hover{color:var(--sp-text);border-color:var(--sp-border-strong)}.sp-chip.is-on{background:var(--sp-accent-soft);border-color:var(--sp-accent);color:var(--sp-text)}.sp-chip--filter:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;margin-left:2px;transform:translateY(-2px)rotate(45deg)}.sp-badge{height:20px;padding:0 var(--sp-space-2);border-radius:var(--sp-radius-full);font:var(--sp-weight-semibold) 11px/1 var(--sp-font-ui);letter-spacing:.02em;background:var(--sp-surface-4);color:var(--sp-text-muted);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.sp-badge .sp-icon{width:12px;height:12px}.sp-badge--pro{background:var(--sp-pro-soft);color:var(--sp-pro)}.sp-badge--accent{background:var(--sp-accent-soft);color:var(--sp-accent-text)}.sp-badge--success{background:var(--sp-success-soft);color:var(--sp-success)}.sp-badge--warning{background:var(--sp-warning-soft);color:var(--sp-warning)}.sp-badge--danger{background:var(--sp-danger-soft);color:var(--sp-danger)}.sp-kbd{border:1px solid var(--sp-border-strong);background:var(--sp-surface-2);height:22px;color:var(--sp-text-muted);font:var(--sp-weight-medium) var(--sp-text-xs)/1 var(--sp-font-ui);border-radius:5px;align-items:center;padding:0 6px;display:inline-flex}.sp-avatar{background:var(--sp-accent-soft);width:32px;height:32px;color:var(--sp-accent-text);font:var(--sp-weight-semibold) var(--sp-text-sm)/1 var(--sp-font-ui);border-radius:50%;flex:none;place-items:center;display:inline-grid}.sp-avatar--lg{width:64px;height:64px;font-size:var(--sp-text-xl)}.sp-flag{background:var(--sp-surface-4);min-width:30px;height:20px;color:var(--sp-text);font:var(--sp-weight-bold) 10px/1 var(--sp-font-ui);letter-spacing:.04em;border-radius:4px;place-items:center;padding:0 4px;display:inline-grid}.sp-card{background:var(--sp-surface-2);border:1px solid var(--sp-border);border-radius:var(--sp-radius-lg)}.sp-card--pad{padding:var(--sp-space-5)}.sp-card--hover{transition:border-color var(--sp-dur-fast) var(--sp-ease), transform var(--sp-dur-base) var(--sp-ease)}.sp-card--hover:hover{border-color:var(--sp-border-strong)}.sp-card.is-selected{border-color:var(--sp-accent);box-shadow:0 0 0 1px var(--sp-accent)}.sp-project{flex-direction:column;display:flex;overflow:hidden}.sp-project__head{align-items:center;gap:var(--sp-space-3);padding:var(--sp-space-3) var(--sp-space-3) var(--sp-space-3) var(--sp-space-4);display:flex}.sp-project__icon{border-radius:var(--sp-radius-md);background:var(--sp-surface-3);width:36px;height:36px;color:var(--sp-text-muted);flex:none;place-items:center;display:grid;overflow:hidden}.sp-project__name{min-width:0;font-weight:var(--sp-weight-semibold);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sp-project__thumbs{padding:var(--sp-space-3);margin:0 var(--sp-space-3);border-radius:var(--sp-radius-md);background:var(--sp-surface-1);grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.sp-project__meta{gap:var(--sp-space-2) var(--sp-space-4);padding:var(--sp-space-4);font-size:var(--sp-text-sm);line-height:var(--sp-lh-sm);grid-template-columns:auto 1fr;display:grid}.sp-project__meta dt{color:var(--sp-text-subtle);margin:0}.sp-project__meta dd{text-align:right;color:var(--sp-text-muted);margin:0}.sp-tabs{gap:var(--sp-space-1);border-bottom:1px solid var(--sp-border);display:flex}.sp-tab{align-items:center;gap:var(--sp-space-2);height:var(--sp-target-min);padding:0 var(--sp-space-3);color:var(--sp-text-muted);font:var(--sp-weight-medium) var(--sp-text-md)/1 var(--sp-font-ui);cursor:pointer;white-space:nowrap;background:0 0;border:0;display:inline-flex;position:relative}.sp-tab:hover,.sp-tab.is-on{color:var(--sp-text)}.sp-tab.is-on:after{content:"";left:var(--sp-space-3);right:var(--sp-space-3);background:var(--sp-accent);border-radius:2px;height:2px;position:absolute;bottom:-1px}.sp-tab.is-disabled{color:var(--sp-text-subtle)}.sp-vnav{flex-direction:column;gap:2px;display:flex}.sp-vnav__item{align-items:center;gap:var(--sp-space-3);min-height:var(--sp-target-min);padding:0 var(--sp-space-3);border-radius:var(--sp-radius-md);color:var(--sp-text-muted);font-weight:var(--sp-weight-medium);cursor:pointer;text-decoration:none;display:flex}.sp-vnav__item:hover{background:var(--sp-surface-3);color:var(--sp-text);text-decoration:none}.sp-vnav__item.is-on{background:var(--sp-accent-soft);color:var(--sp-text)}.sp-vnav__item.is-on .sp-icon{color:var(--sp-accent-text)}.sp-vnav__item .sp-badge,.sp-vnav__item .sp-count{margin-left:auto}.sp-vnav__item--warning,.sp-vnav__item--warning .sp-icon{color:var(--sp-warning)}.sp-count{font-size:var(--sp-text-xs);color:var(--sp-text-subtle);font-weight:var(--sp-weight-medium)}.sp-vnav__label{padding:var(--sp-space-4) var(--sp-space-3) var(--sp-space-2)}.sp-overlay{background:var(--sp-overlay);z-index:var(--sp-z-modal);padding:var(--sp-space-6);place-items:center;display:grid;position:fixed;inset:0}.sp-modal{background:var(--sp-surface-2);border:1px solid var(--sp-border);border-radius:var(--sp-radius-xl);width:min(560px,100%);max-height:calc(100vh - 64px);box-shadow:var(--sp-shadow-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}.sp-modal--md{width:min(760px,100%)}.sp-modal--lg{width:min(1040px,100%)}.sp-modal--xl{width:min(1200px,100%)}.sp-modal__head{align-items:flex-start;gap:var(--sp-space-4);padding:var(--sp-space-5) var(--sp-space-5) var(--sp-space-4);display:flex}.sp-modal__head h2{font-size:var(--sp-text-xl);line-height:var(--sp-lh-xl)}.sp-modal__head p{color:var(--sp-text-muted);margin-top:2px}.sp-modal__body{padding:0 var(--sp-space-5) var(--sp-space-5);flex:1;overflow:auto}.sp-modal__foot{align-items:center;gap:var(--sp-space-2);padding:var(--sp-space-4) var(--sp-space-5);border-top:1px solid var(--sp-border);background:var(--sp-surface-1);display:flex}.sp-modal__close{top:var(--sp-space-3);right:var(--sp-space-3);position:absolute}.sp-modal--split{flex-direction:row}.sp-modal__nav{width:232px;padding:var(--sp-space-5) var(--sp-space-3);background:var(--sp-surface-1);border-right:1px solid var(--sp-border);flex-direction:column;flex:none;display:flex}.sp-modal__main{flex-direction:column;flex:1;min-width:0;display:flex}.sp-setting{align-items:center;gap:var(--sp-space-4);padding:var(--sp-space-4) 0;border-top:1px solid var(--sp-border);grid-template-columns:168px 1fr auto;min-height:64px;display:grid}.sp-setting:first-child{border-top:0}.sp-setting>:first-child{font-weight:var(--sp-weight-medium);color:var(--sp-text-muted)}.sp-setting--top{align-items:start}.sp-popover{background:var(--sp-surface-2);border:1px solid var(--sp-border-strong);border-radius:var(--sp-radius-lg);box-shadow:var(--sp-shadow-lg);padding:var(--sp-space-4);z-index:var(--sp-z-popover)}.sp-menu{background:var(--sp-surface-2);border:1px solid var(--sp-border-strong);border-radius:var(--sp-radius-md);box-shadow:var(--sp-shadow-lg);padding:var(--sp-space-1);min-width:200px}.sp-menu__item{align-items:center;gap:var(--sp-space-3);min-height:40px;padding:0 var(--sp-space-3);border-radius:var(--sp-radius-sm);color:var(--sp-text);cursor:pointer;display:flex}.sp-menu__item:hover,.sp-menu__item.is-on{background:var(--sp-surface-3)}.sp-menu__item .sp-icon{color:var(--sp-text-muted)}.sp-menu__item--danger,.sp-menu__item--danger .sp-icon{color:var(--sp-danger)}.sp-alert{align-items:flex-start;gap:var(--sp-space-3);padding:var(--sp-space-3) var(--sp-space-4);border-radius:var(--sp-radius-md);background:var(--sp-surface-3);border:1px solid var(--sp-border);display:flex}.sp-alert>.sp-icon{margin-top:1px}.sp-alert__body{flex:1;min-width:0}.sp-alert__title{font-weight:var(--sp-weight-semibold)}.sp-alert__text{color:var(--sp-text-muted);font-size:var(--sp-text-sm);line-height:var(--sp-lh-sm);margin-top:2px}.sp-alert--warning{background:var(--sp-warning-soft);border-color:#0000}.sp-alert--warning>.sp-icon{color:var(--sp-warning)}.sp-alert--danger{background:var(--sp-danger-soft);border-color:#0000}.sp-alert--danger>.sp-icon{color:var(--sp-danger)}.sp-alert--success{background:var(--sp-success-soft);border-color:#0000}.sp-alert--success>.sp-icon{color:var(--sp-success)}.sp-alert--info{background:var(--sp-info-soft);border-color:#0000}.sp-alert--info>.sp-icon{color:var(--sp-info)}.sp-alert .sp-btn{flex:none;align-self:center}.sp-toast-stack{right:var(--sp-space-5);bottom:var(--sp-space-5);gap:var(--sp-space-2);z-index:var(--sp-z-toast);flex-direction:column;display:flex;position:fixed}.sp-toast{align-items:center;gap:var(--sp-space-3);min-width:320px;max-width:420px;padding:var(--sp-space-3) var(--sp-space-3) var(--sp-space-3) var(--sp-space-4);background:var(--sp-surface-3);border:1px solid var(--sp-border-strong);border-radius:var(--sp-radius-md);box-shadow:var(--sp-shadow-md);display:flex}.sp-toast--success>.sp-icon{color:var(--sp-success)}.sp-toast--warning>.sp-icon{color:var(--sp-warning)}.sp-toast--danger>.sp-icon{color:var(--sp-danger)}.sp-toast__text{flex:1}@keyframes sp-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sp-skeleton{background:linear-gradient(90deg, var(--sp-surface-3) 0%, var(--sp-surface-4) 50%, var(--sp-surface-3) 100%);border-radius:var(--sp-radius-sm);background-size:200% 100%;animation:1.4s linear infinite sp-shimmer}.sp-skeleton--raised{background-image:linear-gradient(90deg, var(--sp-surface-4) 0%, var(--sp-border-strong) 50%, var(--sp-surface-4) 100%)}.sp-skeleton--text{height:12px}.sp-skeleton--title{height:20px}.sp-skeleton--circle{border-radius:50%}.sp-empty{text-align:center;align-items:center;gap:var(--sp-space-3);padding:var(--sp-space-9) var(--sp-space-5);border:1px dashed var(--sp-border-strong);border-radius:var(--sp-radius-xl);background:var(--sp-surface-1);flex-direction:column;display:flex}.sp-empty__art{border-radius:var(--sp-radius-xl);background:var(--sp-accent-soft);width:72px;height:72px;color:var(--sp-accent-text);margin-bottom:var(--sp-space-2);place-items:center;display:grid}.sp-empty p{color:var(--sp-text-muted);max-width:420px}.sp-app{flex-direction:column;min-height:100vh;display:flex}.sp-topnav{height:var(--sp-topnav-h);align-items:center;gap:var(--sp-space-5);padding:0 var(--sp-space-5);background:var(--sp-surface-1);border-bottom:1px solid var(--sp-border);flex:none;display:flex}.sp-topnav__links{gap:var(--sp-space-1);margin:0 auto;display:flex}.sp-topnav__link{height:36px;padding:0 var(--sp-space-3);border-radius:var(--sp-radius-sm);color:var(--sp-text-muted);font-weight:var(--sp-weight-medium);align-items:center;text-decoration:none;display:inline-flex}.sp-topnav__link:hover{color:var(--sp-text);background:var(--sp-surface-3);text-decoration:none}.sp-topnav__link.is-on{color:var(--sp-text);background:var(--sp-surface-3)}.sp-topnav__user{align-items:center;gap:var(--sp-space-2);display:flex}.sp-body{flex:1;min-height:0;display:flex}.sp-sidebar{width:var(--sp-sidebar-w);padding:var(--sp-space-4) var(--sp-space-3);background:var(--sp-surface-1);border-right:1px solid var(--sp-border);gap:var(--sp-space-2);flex-direction:column;flex:none;display:flex}.sp-main{min-width:0;padding:var(--sp-space-5) var(--sp-space-6) var(--sp-space-8);flex:1}.sp-breadcrumb{align-items:center;gap:var(--sp-space-2);font-size:var(--sp-text-sm);color:var(--sp-text-subtle);margin-bottom:var(--sp-space-4);display:flex}.sp-breadcrumb a{color:var(--sp-text-muted)}.sp-breadcrumb .sp-icon{width:14px;height:14px}.sp-pagehead{align-items:center;gap:var(--sp-space-4);padding:var(--sp-space-5);display:flex}.sp-pagehead__icon{border-radius:var(--sp-radius-lg);background:var(--sp-accent-soft);width:56px;height:56px;color:var(--sp-accent-text);flex:none;place-items:center;display:grid}.sp-toolbar-row{align-items:center;gap:var(--sp-space-2);flex-wrap:wrap;display:flex}.sp-grid{gap:var(--sp-space-5);display:grid}.sp-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.sp-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-editor{flex-direction:column;height:100vh;display:flex;overflow:hidden}.sp-etoolbar{height:var(--sp-toolbar-h);align-items:center;gap:var(--sp-space-2);padding:0 var(--sp-space-4);background:var(--sp-surface-1);border-bottom:1px solid var(--sp-border);flex:none;display:flex}.sp-etoolbar__group{align-items:center;gap:2px;display:flex}.sp-etoolbar__sep{background:var(--sp-border);width:1px;height:24px;margin:0 var(--sp-space-2)}.sp-etitle{margin-right:var(--sp-space-2);flex-direction:column;line-height:1.2;display:flex}.sp-etitle b{font-size:var(--sp-text-md);font-weight:var(--sp-weight-semibold);white-space:nowrap}.sp-etitle span{font-size:var(--sp-text-xs);color:var(--sp-text-subtle);align-items:center;gap:4px;display:flex}.sp-etitle span .sp-icon{width:12px;height:12px;color:var(--sp-success)}.sp-stage{background:var(--sp-bg);background-image:radial-gradient(var(--sp-border) 1px, transparent 1px);background-size:24px 24px;flex:1;position:relative;overflow:hidden}.sp-strip{inset:var(--sp-space-6) 0 96px var(--sp-space-6);align-items:flex-start;gap:var(--sp-space-4);display:flex;position:absolute}.sp-strip__item{gap:var(--sp-space-2);flex-direction:column;flex:none;display:flex}.sp-strip__label{font-size:var(--sp-text-xs);color:var(--sp-text-subtle);justify-content:space-between;align-items:center;height:20px;display:flex}.sp-strip__item.is-selected .sp-art{outline:2px solid var(--sp-selection);outline-offset:3px}.sp-strip__add{border:1.5px dashed var(--sp-border-strong);border-radius:var(--sp-radius-lg);justify-content:center;align-items:center;gap:var(--sp-space-2);width:120px;color:var(--sp-text-muted);font-weight:var(--sp-weight-medium);flex-direction:column;flex:none;display:flex}.sp-sel{outline:1.5px solid var(--sp-selection);outline-offset:2px;border-radius:2px;position:absolute}.sp-sel i,.sp-sel:before,.sp-sel:after{content:"";background:var(--sp-white);border:1.5px solid var(--sp-selection);border-radius:2px;width:8px;height:8px;position:absolute}.sp-sel:before{top:-6px;left:-6px}.sp-sel:after{bottom:-6px;right:-6px}.sp-sel>.tl{top:-6px;left:auto;right:-6px}.sp-sel>.br{bottom:-6px;left:-6px}.sp-sel__tag{background:var(--sp-selection);height:20px;color:var(--sp-black);font:var(--sp-weight-semibold) 11px/1 var(--sp-font-ui);white-space:nowrap;border-radius:4px;align-items:center;padding:0 6px;display:inline-flex;position:absolute;top:-28px;left:-2px}.sp-lpanel{width:var(--sp-panel-w);background:var(--sp-surface-2);border:1px solid var(--sp-border);border-radius:var(--sp-radius-lg);box-shadow:var(--sp-shadow-lg);flex-direction:column;flex:none;align-self:stretch;display:flex;overflow:hidden}.sp-lpanel__actions{padding:var(--sp-space-2);border-bottom:1px solid var(--sp-border);background:var(--sp-surface-1);gap:4px;display:flex}.sp-lpanel__actions .sp-btn{flex:1}.sp-lpanel__scroll{padding:var(--sp-space-2);gap:var(--sp-space-2);flex-direction:column;flex:1;display:flex;overflow:hidden}.sp-layer{border:1px solid var(--sp-border);border-radius:var(--sp-radius-md);background:var(--sp-surface-2);flex:none}.sp-layer__head{align-items:center;gap:var(--sp-space-3);min-height:var(--sp-target-min);padding:0 var(--sp-space-2) 0 var(--sp-space-3);cursor:pointer;display:flex}.sp-layer__head>.sp-icon{color:var(--sp-text-muted)}.sp-layer__name{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.sp-layer__name b{font-weight:var(--sp-weight-semibold);font-size:var(--sp-text-md)}.sp-layer__name small{color:var(--sp-text-subtle);font-size:11px}.sp-layer__tools{gap:2px;display:flex}.sp-layer__tools .sp-btn{--h:28px;color:var(--sp-text-subtle)}.sp-layer.is-open{border-color:var(--sp-accent);background:var(--sp-surface-2);box-shadow:0 0 0 1px var(--sp-accent-soft)}.sp-layer.is-open>.sp-layer__head{border-bottom:1px solid var(--sp-border)}.sp-layer__body{padding:var(--sp-space-4) var(--sp-space-3);gap:var(--sp-space-4);flex-direction:column;display:flex}.sp-layer__body .sp-label{font-size:var(--sp-text-xs);line-height:var(--sp-lh-xs)}.sp-pair{gap:var(--sp-space-3);grid-template-columns:1fr 1fr;display:grid}.sp-rte{border:1px solid var(--sp-border-strong);border-radius:var(--sp-radius-md);background:var(--sp-surface-3);overflow:hidden}.sp-rte__bar{border-bottom:1px solid var(--sp-border);background:var(--sp-surface-2);align-items:center;gap:2px;padding:4px;display:flex}.sp-rte__bar .sp-btn{--h:30px;border-radius:var(--sp-radius-sm);color:var(--sp-text-muted)}.sp-rte__bar .sp-btn.is-active{color:var(--sp-text);background:var(--sp-surface-4)}.sp-rte__text{padding:var(--sp-space-2) var(--sp-space-3);min-height:64px;line-height:1.5}.sp-rte__text mark{color:var(--sp-accent-text);font-weight:var(--sp-weight-bold);background:0 0}.sp-zoom{left:var(--sp-space-5);bottom:var(--sp-space-5);background:var(--sp-surface-2);border:1px solid var(--sp-border);border-radius:var(--sp-radius-full);box-shadow:var(--sp-shadow-md);align-items:center;gap:2px;padding:4px;display:flex;position:absolute}.sp-zoom .sp-btn{border-radius:var(--sp-radius-full)}.sp-zoom__val{text-align:center;min-width:52px;font-size:var(--sp-text-sm);font-weight:var(--sp-weight-medium)}.sp-sizes{left:50%;bottom:var(--sp-space-5);background:var(--sp-surface-2);border:1px solid var(--sp-border);border-radius:var(--sp-radius-full);box-shadow:var(--sp-shadow-md);gap:4px;padding:4px;display:flex;position:absolute;transform:translate(-50%)}.sp-sizes>span{height:36px;padding:0 var(--sp-space-3);border-radius:var(--sp-radius-full);color:var(--sp-text-muted);font-size:var(--sp-text-sm);font-weight:var(--sp-weight-medium);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.sp-sizes>span.is-on{background:var(--sp-surface-4);color:var(--sp-text)}.sp-plan-pill{height:32px;padding:0 var(--sp-space-3);border-radius:var(--sp-radius-full);background:var(--sp-surface-3);font-size:var(--sp-text-xs);color:var(--sp-text-muted);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.sp-tiles{gap:var(--sp-space-2);display:grid}.sp-tile{min-height:72px;padding:var(--sp-space-2);border:1px solid var(--sp-border-strong);border-radius:var(--sp-radius-md);background:var(--sp-surface-3);color:var(--sp-text-muted);font-size:var(--sp-text-xs);font-weight:var(--sp-weight-medium);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.sp-tile:hover{color:var(--sp-text);border-color:var(--sp-text-subtle)}.sp-tile.is-on{border-color:var(--sp-accent);background:var(--sp-accent-soft);color:var(--sp-text);box-shadow:0 0 0 1px var(--sp-accent)}.sp-choice{align-items:center;gap:var(--sp-space-4);padding:var(--sp-space-4);border-radius:var(--sp-radius-md);cursor:pointer;border:1px solid #0000;min-height:76px;display:flex}.sp-choice:hover,.sp-choice.is-on{background:var(--sp-surface-3);border-color:var(--sp-border-strong)}.sp-choice__icon{border-radius:var(--sp-radius-md);background:var(--sp-accent-soft);width:44px;height:44px;color:var(--sp-accent-text);flex:none;place-items:center;display:grid}.sp-choice b{font-weight:var(--sp-weight-semibold);display:block}.sp-choice span{color:var(--sp-text-muted);font-size:var(--sp-text-sm)}.sp-choice>.sp-icon:last-child{color:var(--sp-text-subtle);margin-left:auto}.sp-tset{padding:var(--sp-space-4)}.sp-tset__head{align-items:center;gap:var(--sp-space-2);margin-bottom:var(--sp-space-3);display:flex}.sp-tset__head h4{margin-right:var(--sp-space-2)}.sp-tset__strip{gap:var(--sp-space-2);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.sp-listing{background:var(--sp-art-ink);width:320px;box-shadow:var(--sp-shadow-lg), 0 0 0 1px var(--sp-border-strong);border-radius:40px;padding:12px}.sp-listing__screen{background:var(--sp-art-paper);color:var(--sp-art-ink);border-radius:30px;height:540px;padding:14px;font-size:12px;line-height:1.35;overflow:hidden}.sp-listing__status{font-weight:var(--sp-weight-semibold);justify-content:space-between;padding:0 6px 12px;font-size:12px;display:flex}.sp-listing__app{align-items:center;gap:12px;margin-bottom:12px;display:flex}.sp-listing__icon{background:var(--sp-tpl-tide);border-radius:16px;flex:none;width:64px;height:64px}.sp-listing__name{font-weight:var(--sp-weight-bold);font-size:16px}.sp-listing__get{background:var(--sp-art-accent);height:28px;color:var(--sp-white);font-weight:var(--sp-weight-bold);border-radius:14px;place-items:center;margin-left:auto;padding:0 16px;display:grid}.sp-listing__stats{border-block:1px solid var(--sp-art-line);text-align:center;grid-template-columns:repeat(4,1fr);margin-bottom:12px;padding:8px 0;display:grid}.sp-listing__stats b{font-size:13px;display:block}.sp-listing__stats small{opacity:.7;font-size:10px}.sp-listing__shots{grid-auto-columns:46%;grid-auto-flow:column;gap:8px;display:grid;overflow:hidden}.sp-art{aspect-ratio:1290/2796;border-radius:var(--sp-radius-md);color:var(--sp-art-paper);isolation:isolate;position:relative;overflow:hidden;container-type:inline-size}.sp-art--wide{aspect-ratio:2064/2752}.sp-art--aurora{background:var(--sp-tpl-aurora)}.sp-art--mono{background:var(--sp-tpl-mono);color:var(--sp-art-ink)}.sp-art--citrus{background:var(--sp-tpl-citrus);color:var(--sp-art-ink)}.sp-art--tide{background:var(--sp-tpl-tide)}.sp-art--ember{background:var(--sp-tpl-ember)}.sp-art--bloom{background:var(--sp-tpl-bloom);color:var(--sp-art-ink)}.sp-art--grid{background:var(--sp-tpl-grid)}.sp-art--grid:before{content:"";z-index:-1;background-image:linear-gradient(var(--sp-art-glass) 1px, transparent 1px), linear-gradient(90deg, var(--sp-art-glass) 1px, transparent 1px);opacity:.5;background-size:10cqw 10cqw;position:absolute;inset:0}.sp-art--slate{background:var(--sp-tpl-slate)}.sp-art--pop{background:var(--sp-tpl-pop)}.sp-art--nocturne{background:var(--sp-tpl-nocturne)}.sp-art__blob{z-index:-1;background:var(--sp-art-glass);border-radius:50%;position:absolute}.sp-art__cap{font:var(--sp-weight-bold) 10.5cqw/1.04 var(--sp-font-display);letter-spacing:-.03em;position:absolute;top:9cqw;left:8cqw;right:8cqw}.sp-art__cap em{color:var(--sp-art-highlight);font-style:normal}.sp-art--mono .sp-art__cap em,.sp-art--bloom .sp-art__cap em,.sp-art--citrus .sp-art__cap em{color:var(--sp-art-accent)}.sp-art__sub{font:var(--sp-weight-medium) 4.6cqw/1.3 var(--sp-font-ui);letter-spacing:0;opacity:.85;margin-top:3cqw;display:block}.sp-art--center .sp-art__cap{text-align:center}.sp-art--bottom .sp-art__cap{top:auto;bottom:9cqw}.sp-art--bottom .sp-phone{top:8cqw}.sp-phone{aspect-ratio:9/19.2;background:var(--sp-art-ink);box-shadow:var(--sp-shadow-art);border-radius:11cqw;padding:2.6cqw;position:absolute;top:46cqw;left:13cqw;right:13cqw}.sp-phone--tilt{transform:rotate(-8deg)translate(4cqw)}.sp-phone--flat{border-radius:6cqw;padding:0;overflow:hidden}.sp-phone--clay{background:var(--sp-art-paper)}.sp-phone:before{content:"";background:var(--sp-art-ink);z-index:2;border-radius:4cqw;width:20cqw;height:5.5cqw;position:absolute;top:4.6cqw;left:50%;transform:translate(-50%)}.sp-phone--flat:before{display:none}.sp-phone__screen{background:var(--sp-art-paper);width:100%;height:100%;color:var(--sp-art-ink);border-radius:8.6cqw;flex-direction:column;gap:2.6cqw;padding:12cqw 4.5cqw 4cqw;display:flex;overflow:hidden}.sp-phone--flat .sp-phone__screen{border-radius:0}.sp-ui-bar{background:var(--sp-art-line-strong);border-radius:2cqw;height:2.4cqw}.sp-ui-bar.w40{width:40%}.sp-ui-bar.w60{width:60%}.sp-ui-bar.w80{width:80%}.sp-ui-bar.title{background:var(--sp-art-ink);width:55%;height:4cqw}.sp-ui-card{background:var(--sp-art-line);border-radius:4cqw;flex-direction:column;gap:2cqw;padding:3.4cqw;display:flex}.sp-ui-card.hero{background:var(--sp-tpl-tide);height:34cqw}.sp-ui-card.hero.aurora{background:var(--sp-tpl-aurora)}.sp-ui-card.hero.citrus{background:var(--sp-tpl-citrus)}.sp-ui-card.hero.ember{background:var(--sp-tpl-ember)}.sp-ui-card.hero.pop{background:var(--sp-tpl-pop)}.sp-ui-card.hero.grid{background:var(--sp-tpl-grid)}.sp-ui-row{align-items:center;gap:3cqw;display:flex}.sp-ui-dot{background:var(--sp-art-line-strong);border-radius:50%;flex:none;width:8cqw;height:8cqw}.sp-ui-dot.accent{background:var(--sp-art-accent)}.sp-ui-lines{flex-direction:column;flex:1;gap:1.6cqw;display:flex}.sp-ui-chart{background:var(--sp-art-line);border-radius:4cqw;align-items:flex-end;gap:2cqw;height:26cqw;padding:2cqw;display:flex}.sp-ui-chart i{background:var(--sp-art-accent);border-radius:1.4cqw 1.4cqw 0 0;flex:1}.sp-ui-chart i:nth-child(odd){opacity:.45}.sp-ui-tabs{border-top:1px solid var(--sp-art-line);justify-content:space-around;margin-top:auto;padding-top:2.6cqw;display:flex}.sp-ui-tabs i{background:var(--sp-art-line-strong);border-radius:1.4cqw;width:5cqw;height:5cqw}.sp-ui-tabs i:first-child{background:var(--sp-art-accent)}.sp-ui-map{background:var(--sp-tpl-tide);opacity:.9;border-radius:4cqw;flex:1;position:relative;overflow:hidden}.sp-ui-map:before{content:"";background-image:linear-gradient(var(--sp-art-glass) 2px, transparent 2px), linear-gradient(90deg, var(--sp-art-glass) 2px, transparent 2px);background-size:12cqw 12cqw;position:absolute;inset:0}.sp-ui-map:after{content:"";background:var(--sp-art-accent);width:9cqw;height:9cqw;box-shadow:0 0 0 2.4cqw var(--sp-art-glass);border-radius:50% 50% 50% 0;position:absolute;top:38%;left:46%;transform:rotate(-45deg)}.sp-ui-pill{background:var(--sp-art-accent);border-radius:4cqw;align-self:center;width:60%;height:8cqw}.pub{flex-direction:column;min-height:100vh;display:flex;overflow-x:clip}.pub main{flex:1}.pub-wrap{width:100%;max-width:calc(var(--sp-container) + 2 * var(--sp-gutter));padding-inline:var(--sp-gutter);margin:0 auto}.pub-wrap--narrow{max-width:calc(var(--sp-container-narrow) + 2 * var(--sp-gutter))}.pub-section{padding:var(--sp-section-y) 0}.pub-section--tight{padding:var(--sp-space-9) 0}.pub-section--alt{background:var(--sp-surface-1);border-block:1px solid var(--sp-border)}.pub-head{max-width:720px;margin-bottom:var(--sp-space-8)}.pub-head--center{text-align:center;margin-inline:auto}.pub-head h2{font-size:var(--sp-text-3xl);line-height:var(--sp-lh-3xl);margin-top:var(--sp-space-2)}.pub-head p{color:var(--sp-text-muted);font-size:var(--sp-text-lg);line-height:var(--sp-lh-lg);margin-top:var(--sp-space-3)}.pub-lead{color:var(--sp-text-muted);font-size:var(--sp-text-lg);line-height:var(--sp-lh-lg)}.pub-eyebrow{color:var(--sp-accent-text)}.pub-actions{gap:var(--sp-space-3);flex-wrap:wrap;display:flex}.pub .sp-btn--lg{--h:var(--sp-control-lg)}.pub .sp-btn{min-height:var(--sp-tap)}.pub .sp-btn--sm{min-height:var(--sp-control-sm)}.pub-nav{z-index:var(--sp-z-popover);height:var(--sp-pubnav-h);background:var(--sp-surface-1);border-bottom:1px solid var(--sp-border);position:sticky;top:0}.pub-nav__in{align-items:center;gap:var(--sp-space-6);height:100%;display:flex}.pub-nav__links{gap:var(--sp-space-1);display:flex}.pub-nav__links a{min-height:var(--sp-tap);padding:0 var(--sp-space-3);border-radius:var(--sp-radius-sm);color:var(--sp-text-muted);font-weight:var(--sp-weight-medium);align-items:center;display:inline-flex}.pub-nav__links a:hover,.pub-nav__links a.is-on{color:var(--sp-text);background:var(--sp-surface-3);text-decoration:none}.pub-nav__right{align-items:center;gap:var(--sp-space-2);margin-left:auto;display:flex}.pub-nav__menu,.pub-sheet{display:none}body.is-menu-open .pub-sheet{display:flex}.pub-sheet{inset:var(--sp-pubnav-h) 0 0 0;z-index:var(--sp-z-modal);gap:var(--sp-space-1);padding:var(--sp-space-4) var(--sp-gutter-sm) var(--sp-space-6);background:var(--sp-surface-1);border-top:1px solid var(--sp-border);flex-direction:column;position:fixed}.pub-sheet a.pub-sheet__link{align-items:center;gap:var(--sp-space-3);min-height:var(--sp-control-lg);padding:0 var(--sp-space-3);border-radius:var(--sp-radius-md);color:var(--sp-text);font-size:var(--sp-text-lg);font-weight:var(--sp-weight-medium);display:flex}.pub-sheet a.pub-sheet__link .sp-icon{color:var(--sp-text-subtle)}.pub-sheet a.pub-sheet__link.is-on{background:var(--sp-surface-3)}.pub-sheet__foot{gap:var(--sp-space-3);flex-direction:column;margin-top:auto;display:flex}.pub-foot{background:var(--sp-surface-1);border-top:1px solid var(--sp-border);padding:var(--sp-space-9) 0 var(--sp-space-6)}.pub-foot__grid{gap:var(--sp-space-6);grid-template-columns:1.4fr repeat(4,1fr);display:grid}.pub-foot__brand p{color:var(--sp-text-muted);margin-top:var(--sp-space-4);max-width:280px}.pub-foot h3{font:var(--sp-weight-semibold) var(--sp-text-sm)/var(--sp-lh-sm) var(--sp-font-ui);letter-spacing:0;color:var(--sp-text);margin-bottom:var(--sp-space-2)}.pub-foot ul{margin:0;padding:0;list-style:none}.pub-foot li a{align-items:center;gap:var(--sp-space-2);min-height:var(--sp-tap);color:var(--sp-text-muted);display:inline-flex}.pub-foot li a:hover{color:var(--sp-text)}.pub-foot__bar{gap:var(--sp-space-3) var(--sp-space-5);margin-top:var(--sp-space-8);padding-top:var(--sp-space-5);border-top:1px solid var(--sp-border);color:var(--sp-text-subtle);font-size:var(--sp-text-sm);flex-wrap:wrap;align-items:center;display:flex}.pub-foot__bar .sp-spacer{min-width:0}.pub-ex{position:relative}.pub-ex__tag{z-index:3;top:var(--sp-space-3);left:var(--sp-space-3);align-items:center;gap:var(--sp-space-1);height:24px;padding:0 var(--sp-space-2);border-radius:var(--sp-radius-full);background:var(--sp-example-bg);color:var(--sp-example-text);font:var(--sp-weight-semibold) var(--sp-text-xs)/1 var(--sp-font-ui);letter-spacing:.02em;display:inline-flex;position:absolute}.pub-ex__tag .sp-icon{width:12px;height:12px}.pub-ex__cap{margin-top:var(--sp-space-3);color:var(--sp-text-subtle);font-size:var(--sp-text-sm);line-height:var(--sp-lh-sm)}.pub-hero{padding:var(--sp-space-10) 0 var(--sp-space-9);background:var(--sp-hero-glow);text-align:center;position:relative}.pub-hero h1{font-size:var(--sp-text-5xl);line-height:var(--sp-lh-5xl);max-width:880px;margin:var(--sp-space-4) auto 0}.pub-hero .pub-lead{max-width:640px;margin:var(--sp-space-5) auto 0}.pub-hero .pub-actions{margin-top:var(--sp-space-6);justify-content:center}.pub-hero__note{margin-top:var(--sp-space-4);color:var(--sp-text-subtle);font-size:var(--sp-text-sm)}.pub-pill{align-items:center;gap:var(--sp-space-2);min-height:32px;padding:0 var(--sp-space-3);border-radius:var(--sp-radius-full);border:1px solid var(--sp-border-strong);background:var(--sp-surface-2);color:var(--sp-text-muted);font-size:var(--sp-text-sm);font-weight:var(--sp-weight-medium);display:inline-flex}.pub-pill .sp-icon{width:16px;height:16px;color:var(--sp-accent-text)}.pub-showcase{margin-top:var(--sp-space-9);padding:var(--sp-space-6);border-radius:var(--sp-radius-xl);border:1px solid var(--sp-border);background:var(--sp-bg);background-image:radial-gradient(var(--sp-border) 1px, transparent 1px);box-shadow:var(--sp-shadow-lg);text-align:left;background-size:24px 24px}.pub-shots{gap:var(--sp-space-4);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.pub-shots img{aspect-ratio:598/1300;object-fit:cover;border-radius:var(--sp-radius-md);width:100%;box-shadow:var(--sp-shadow-md);display:block}.pub-shots--sm{gap:var(--sp-space-2)}.pub-showcase__bar{align-items:center;gap:var(--sp-space-2);margin-top:var(--sp-space-5);flex-wrap:wrap;display:flex}.pub-appid{align-items:center;gap:var(--sp-space-3);margin-bottom:var(--sp-space-5);display:flex}.pub-appid img{border-radius:var(--sp-radius-md);width:40px;height:40px}.pub-appid b{display:block}.pub-appid span{color:var(--sp-text-subtle);font-size:var(--sp-text-sm)}.pub-steps{gap:var(--sp-space-5);counter-reset:step;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.pub-step{padding:var(--sp-space-5)}.pub-step__n{border-radius:var(--sp-radius-full);background:var(--sp-accent-soft);width:40px;height:40px;color:var(--sp-accent-text);font:var(--sp-weight-bold) var(--sp-text-lg)/1 var(--sp-font-display);margin-bottom:var(--sp-space-4);place-items:center;display:grid}.pub-step h3{margin-bottom:var(--sp-space-2)}.pub-step p{color:var(--sp-text-muted)}.pub-step__art{margin-top:var(--sp-space-5);border-radius:var(--sp-radius-md);background:var(--sp-surface-1);border:1px solid var(--sp-border);justify-content:center;align-items:center;gap:var(--sp-space-2);height:160px;padding:var(--sp-space-4);display:flex;overflow:hidden}.pub-step__art>*{flex:none}.pub-features{gap:var(--sp-space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.pub-feature{padding:var(--sp-space-5);gap:var(--sp-space-2);flex-direction:column;display:flex}.pub-feature__icon{border-radius:var(--sp-radius-md);background:var(--sp-accent-soft);width:44px;height:44px;color:var(--sp-accent-text);margin-bottom:var(--sp-space-2);place-items:center;display:grid}.pub-feature p{color:var(--sp-text-muted)}.pub-feature a{padding-top:var(--sp-space-2);align-items:center;gap:var(--sp-space-1);min-height:var(--sp-tap);font-weight:var(--sp-weight-medium);margin-top:auto;display:inline-flex}.pub-feature a .sp-icon{width:16px;height:16px}.pub-split{gap:var(--sp-space-9);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;display:grid}.pub-split--rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.pub-list{margin:var(--sp-space-5) 0 0;gap:var(--sp-space-3);flex-direction:column;padding:0;list-style:none;display:flex}.pub-list li{gap:var(--sp-space-3);color:var(--sp-text-muted);display:flex}.pub-list li .sp-icon{color:var(--sp-success);margin-top:1px}.pub-list li b{color:var(--sp-text);font-weight:var(--sp-weight-semibold)}.pub-sizes{padding:var(--sp-space-6);justify-content:center;align-items:flex-end;gap:var(--sp-space-5);display:flex}.pub-sizes figure{gap:var(--sp-space-2);flex-direction:column;align-items:center;min-width:0;margin:0;display:flex}.pub-sizes figcaption{text-align:center;font-size:var(--sp-text-xs);line-height:var(--sp-lh-xs);color:var(--sp-text-subtle)}.pub-sizes figcaption b{color:var(--sp-text);font-size:var(--sp-text-sm);font-weight:var(--sp-weight-semibold);display:block}.pub-sizes .sp-art{width:100%}.pub-fan{align-items:center;gap:var(--sp-space-3);color:var(--sp-text-subtle);display:flex}.pub-tsets{gap:var(--sp-space-4);display:grid}.pub-tset{padding:var(--sp-space-4)}.pub-tset__head{align-items:center;gap:var(--sp-space-2);margin-bottom:var(--sp-space-3);flex-wrap:wrap;display:flex}.pub-strip{gap:var(--sp-space-2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.pub-band{border-radius:var(--sp-radius-xl);background:var(--sp-band-bg);border:1px solid var(--sp-border-strong);padding:var(--sp-space-9) var(--sp-space-8);text-align:center}.pub-band h2{font-size:var(--sp-text-4xl);line-height:var(--sp-lh-4xl)}.pub-band p{color:var(--sp-text-muted);font-size:var(--sp-text-lg);line-height:var(--sp-lh-lg);margin:var(--sp-space-3) auto 0;max-width:560px}.pub-band .pub-actions{margin-top:var(--sp-space-6);justify-content:center}.pub-phead{padding:var(--sp-space-9) 0 var(--sp-space-8);background:var(--sp-hero-glow)}.pub-phead h1{font-size:var(--sp-text-4xl);line-height:var(--sp-lh-4xl);margin-top:var(--sp-space-2)}.pub-phead .pub-lead{margin-top:var(--sp-space-3);max-width:640px}.pub-phead--center{text-align:center}.pub-phead--center .pub-lead{margin-inline:auto}.pub-crumb{align-items:center;gap:var(--sp-space-2);font-size:var(--sp-text-sm);color:var(--sp-text-subtle);flex-wrap:wrap;display:flex}.pub-crumb a{color:var(--sp-text-muted);min-height:var(--sp-tap);align-items:center;display:inline-flex}.pub-crumb .sp-icon{width:14px;height:14px}.pub-plans{gap:var(--sp-space-5);grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;display:grid}.pub-plan{padding:var(--sp-space-6);gap:var(--sp-space-4);flex-direction:column;display:flex}.pub-plan.is-featured{border-color:var(--sp-accent);box-shadow:0 0 0 1px var(--sp-accent)}.pub-plan__name{align-items:center;gap:var(--sp-space-2);display:flex}.pub-plan__price{font:var(--sp-weight-bold) var(--sp-text-3xl)/var(--sp-lh-3xl) var(--sp-font-display);letter-spacing:var(--sp-tracking-tight)}.pub-plan__price small{font:var(--sp-weight-regular) var(--sp-text-md)/var(--sp-lh-md) var(--sp-font-ui);color:var(--sp-text-muted);letter-spacing:0}.pub-plan__tbd{font:var(--sp-weight-semibold) var(--sp-text-xl)/var(--sp-lh-3xl) var(--sp-font-display);color:var(--sp-text-muted)}.pub-plan p{color:var(--sp-text-muted)}.pub-plan .pub-list{margin-top:0}.pub-plan .pub-list li .sp-icon.is-planned{color:var(--sp-text-subtle)}.pub-plan__cta{margin-top:auto}.pub-table-wrap{border:1px solid var(--sp-border);border-radius:var(--sp-radius-lg);background:var(--sp-surface-2);overflow:hidden}.pub-table{border-collapse:collapse;width:100%;font-size:var(--sp-text-md)}.pub-table th,.pub-table td{padding:var(--sp-space-3) var(--sp-space-4);text-align:left;border-top:1px solid var(--sp-border);vertical-align:top}.pub-table thead th{background:var(--sp-surface-1);font-weight:var(--sp-weight-semibold);color:var(--sp-text);border-top:0}.pub-table tbody th{font-weight:var(--sp-weight-regular);color:var(--sp-text)}.pub-table td{color:var(--sp-text-muted)}.pub-table .is-group th{background:var(--sp-surface-1);color:var(--sp-text-subtle);font-size:var(--sp-text-xs);line-height:var(--sp-lh-xs);font-weight:var(--sp-weight-semibold);text-transform:uppercase;letter-spacing:.06em}.pub-table .sp-icon{vertical-align:-4px;width:18px;height:18px}.pub-yes{color:var(--sp-success)}.pub-no{color:var(--sp-text-subtle)}.pub-table--c td,.pub-table--c thead th:not(:first-child){text-align:center}.pub-mono{font-family:var(--sp-font-mono);font-size:var(--sp-text-sm);color:var(--sp-text);white-space:nowrap}.pub-faq{gap:var(--sp-space-2);flex-direction:column;display:flex}.pub-faq__item{border:1px solid var(--sp-border);border-radius:var(--sp-radius-md);background:var(--sp-surface-2)}.pub-faq__q{align-items:center;gap:var(--sp-space-3);width:100%;min-height:56px;padding:var(--sp-space-3) var(--sp-space-4);color:var(--sp-text);font:var(--sp-weight-semibold) var(--sp-text-lg)/var(--sp-lh-lg) var(--sp-font-ui);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.pub-faq__q .sp-icon{color:var(--sp-text-subtle);margin-left:auto}.pub-faq__a{padding:0 var(--sp-space-4) var(--sp-space-4);color:var(--sp-text-muted)}.pub-faq__item.is-open{border-color:var(--sp-border-strong)}.pub-gallery{grid-template-columns:var(--sp-filter-w) minmax(0, 1fr);gap:var(--sp-space-6);align-items:start;display:grid}.pub-filters{top:calc(var(--sp-pubnav-h) + var(--sp-space-5));gap:var(--sp-space-5);flex-direction:column;display:flex;position:sticky}.pub-filters fieldset{border:0;flex-direction:column;margin:0;padding:0;display:flex}.pub-filters legend{padding:0 0 var(--sp-space-1)}.pub-filters .sp-check{min-height:var(--sp-tap)}.pub-gtools{align-items:center;gap:var(--sp-space-2);margin-bottom:var(--sp-space-5);flex-wrap:wrap;display:flex}.pub-gtools .sp-input-group{flex:1;min-width:200px;max-width:360px}.pub-gtools .sp-input,.pub-gtools .sp-chip{height:var(--sp-tap)}.pub-filterbtn{display:none}.pub-tgrid{gap:var(--sp-space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pub-tcard{padding:var(--sp-space-4);gap:var(--sp-space-3);flex-direction:column;display:flex}.pub-tcard__head{align-items:center;gap:var(--sp-space-2);flex-wrap:wrap;display:flex}.pub-tcard__head h3{font-size:var(--sp-text-lg);line-height:var(--sp-lh-lg);margin-right:var(--sp-space-1)}.pub-tcard__foot{align-items:center;gap:var(--sp-space-2);display:flex}.pub-tcard__foot .sp-small{color:var(--sp-text-subtle)}.pub-fsheet{display:none}body.is-filters-open .pub-fsheet{display:flex}.pub-fsheet{z-index:var(--sp-z-modal);background:var(--sp-overlay);flex-direction:column;justify-content:flex-end;position:fixed;inset:0}.pub-fsheet__panel{background:var(--sp-surface-2);border-radius:var(--sp-radius-xl) var(--sp-radius-xl) 0 0;border-top:1px solid var(--sp-border-strong);max-height:86vh;box-shadow:var(--sp-shadow-lg);flex-direction:column;display:flex}.pub-fsheet__grab{border-radius:var(--sp-radius-full);background:var(--sp-border-strong);width:40px;height:4px;margin:var(--sp-space-2) auto 0}.pub-fsheet__head{padding:var(--sp-space-2) var(--sp-space-2) var(--sp-space-2) var(--sp-space-4);border-bottom:1px solid var(--sp-border);align-items:center;display:flex}.pub-fsheet__body{padding:var(--sp-space-4);gap:var(--sp-space-4);flex-direction:column;display:flex;overflow:hidden}.pub-fsheet__body .pub-chips{gap:var(--sp-space-2);flex-wrap:wrap;display:flex}.pub-fsheet__body .sp-chip{height:var(--sp-tap)}.pub-fsheet__foot{gap:var(--sp-space-3);padding:var(--sp-space-3) var(--sp-space-4) var(--sp-space-5);border-top:1px solid var(--sp-border);display:flex}.pub-fsheet__foot .sp-btn{flex:1}.pub-detail{gap:var(--sp-space-6);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}.pub-detail__stage{padding:var(--sp-space-5);border-radius:var(--sp-radius-xl);border:1px solid var(--sp-border);background:var(--sp-bg);background-image:radial-gradient(var(--sp-border) 1px, transparent 1px);background-size:24px 24px}.pub-detail__aside{padding:var(--sp-space-5);gap:var(--sp-space-4);top:calc(var(--sp-pubnav-h) + var(--sp-space-5));flex-direction:column;display:flex;position:sticky}.pub-dl{gap:var(--sp-space-2) var(--sp-space-4);font-size:var(--sp-text-sm);line-height:var(--sp-lh-sm);grid-template-columns:auto 1fr;margin:0;display:grid}.pub-dl dt{color:var(--sp-text-subtle)}.pub-dl dd{text-align:right;color:var(--sp-text-muted);margin:0}.pub-docs{grid-template-columns:var(--sp-toc-w) minmax(0, 1fr) var(--sp-toc-w);gap:var(--sp-space-8);padding-block:var(--sp-space-8) var(--sp-space-10);align-items:start;display:grid}.pub-docs--2{grid-template-columns:var(--sp-toc-w) minmax(0, 1fr)}.pub-docnav{top:calc(var(--sp-pubnav-h) + var(--sp-space-5));position:sticky}.pub-toc{top:calc(var(--sp-pubnav-h) + var(--sp-space-5));border-left:1px solid var(--sp-border);padding-left:var(--sp-space-4);position:sticky}.pub-toc a{min-height:36px;color:var(--sp-text-muted);font-size:var(--sp-text-sm);line-height:var(--sp-lh-sm);align-items:center;display:flex}.pub-toc a.is-on{color:var(--sp-text);font-weight:var(--sp-weight-semibold);box-shadow:-17px 0 0 -15px var(--sp-accent)}.pub-toc-m{display:none}.pub-prose{min-width:0;max-width:720px}.pub-prose h1{font-size:var(--sp-text-4xl);line-height:var(--sp-lh-4xl)}.pub-prose h2{font-size:var(--sp-text-2xl);line-height:var(--sp-lh-2xl);margin:var(--sp-space-8) 0 var(--sp-space-3)}.pub-prose h3{margin:var(--sp-space-5) 0 var(--sp-space-2)}.pub-prose p,.pub-prose li{color:var(--sp-text-muted);font-size:var(--sp-text-lg);line-height:28px}.pub-prose p+p{margin-top:var(--sp-space-4)}.pub-prose ul,.pub-prose ol{padding-left:var(--sp-space-5);margin:var(--sp-space-3) 0}.pub-prose li+li{margin-top:var(--sp-space-2)}.pub-prose code{font-family:var(--sp-font-mono);border-radius:var(--sp-radius-sm);background:var(--sp-surface-3);color:var(--sp-text);padding:2px 6px;font-size:.9em}.pub-meta{gap:var(--sp-space-2) var(--sp-space-4);margin-top:var(--sp-space-3);color:var(--sp-text-subtle);font-size:var(--sp-text-sm);flex-wrap:wrap;align-items:center;display:flex}.pub-meta span{align-items:center;gap:var(--sp-space-1);display:inline-flex}.pub-meta .sp-icon{width:14px;height:14px}.pub-figure{margin:var(--sp-space-5) 0}.pub-figure .sp-card{overflow:hidden}.pub-center{min-height:calc(100vh - var(--sp-pubnav-h));padding:var(--sp-space-9) var(--sp-gutter-sm);text-align:center;place-items:center;display:grid}.pub-404{align-items:center;gap:var(--sp-space-4);flex-direction:column;max-width:560px;display:flex}.pub-404__code{font:var(--sp-weight-bold) 120px/1 var(--sp-font-display);letter-spacing:-.04em;color:var(--sp-accent-text)}.pub-404 .sp-input-group{width:100%}.pub-404 .sp-input{height:var(--sp-control-lg)}.pub-404 .pub-actions{justify-content:center}.pub-loader{background:var(--sp-bg);place-items:center;min-height:100vh;display:grid}.pub-loader__in{align-items:center;gap:var(--sp-space-6);flex-direction:column;display:flex}@keyframes sp-spin{to{transform:rotate(360deg)}}.pub-spinner{width:var(--sp-spinner-size);height:var(--sp-spinner-size);border:3px solid var(--sp-spinner-track);border-top-color:var(--sp-spinner-head);border-radius:50%;animation:.9s linear infinite sp-spin}@media (prefers-reduced-motion:reduce){.pub-spinner{animation-duration:2.4s}}.sp-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pub-auth{min-height:calc(100vh - var(--sp-pubnav-h));grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.pub-auth__visual{padding:var(--sp-space-9) var(--sp-space-8);background:var(--sp-hero-glow), var(--sp-surface-1);border-right:1px solid var(--sp-border);justify-content:center;gap:var(--sp-space-6);flex-direction:column;display:flex}.pub-auth__visual h2{font-size:var(--sp-text-3xl);line-height:var(--sp-lh-3xl)}.pub-auth__main{padding:var(--sp-space-9) var(--sp-space-6);place-items:center;display:grid}.pub-authcard{width:min(400px,100%);padding:var(--sp-space-6);gap:var(--sp-space-4);flex-direction:column;display:flex}.pub-authcard h1{font-size:var(--sp-text-2xl);line-height:var(--sp-lh-2xl)}.pub-gis{height:var(--sp-gis-h);width:var(--sp-gis-w);contain:strict;border-radius:var(--sp-radius-md);flex:none}.pub-gis__btn{justify-content:center;align-items:center;gap:var(--sp-space-3);border:1px solid var(--sp-gis-border);border-radius:var(--sp-radius-md);background:var(--sp-gis-bg);width:100%;height:100%;color:var(--sp-gis-text);font:var(--sp-weight-medium) var(--sp-text-md)/1 var(--sp-font-ui);cursor:pointer;display:flex}.pub-gis__mark{border:1px dashed var(--sp-gis-border);width:20px;height:20px;font:var(--sp-weight-bold) 10px/1 var(--sp-font-ui);border-radius:50%;place-items:center;display:grid}.pub-or{align-items:center;gap:var(--sp-space-3);color:var(--sp-text-subtle);font-size:var(--sp-text-sm);display:flex}.pub-or:before,.pub-or:after{content:"";background:var(--sp-border);flex:1;height:1px}.pub-authcard .sp-input{height:var(--sp-control-lg)}.pub-otp{gap:var(--sp-space-2);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.pub-otp .sp-input{text-align:center;font:var(--sp-weight-semibold) var(--sp-text-xl)/1 var(--sp-font-mono);padding:0}.pub-sandbox{flex-direction:column;height:100vh;display:flex;overflow:hidden}.pub-sbanner{align-items:center;gap:var(--sp-space-3);padding:var(--sp-space-2) var(--sp-space-5);background:var(--sp-info-soft);border-bottom:1px solid var(--sp-border);flex:none;display:flex}.pub-sbanner>.sp-icon{color:var(--sp-info)}.pub-sbanner__t{flex:1;min-width:0}.pub-sbanner__t b{font-weight:var(--sp-weight-semibold)}.pub-sbanner__t span{color:var(--sp-text-muted)}.pub-sandbox .sp-etoolbar,.pub-sandbox .sp-stage{overflow:hidden}.pub-m-only{display:none}.pub-search{max-width:640px;margin:var(--sp-space-6) auto 0}.pub-search .sp-input{height:56px;font-size:var(--sp-text-lg);border-radius:var(--sp-radius-lg)}.pub-search .sp-input-group>.sp-icon{left:var(--sp-space-4)}.pub-search .sp-input-group>.sp-icon+.sp-input{padding-left:48px}.pub-cats{gap:var(--sp-space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.pub-cat{padding:var(--sp-space-5);gap:var(--sp-space-2);flex-direction:column;display:flex}.pub-cat h3{font-size:var(--sp-text-lg);line-height:var(--sp-lh-lg)}.pub-cat ul{margin:var(--sp-space-2) 0 0;padding:0;list-style:none}.pub-cat li a{min-height:var(--sp-tap);color:var(--sp-text-muted);font-size:var(--sp-text-sm);line-height:var(--sp-lh-sm);border-top:1px solid var(--sp-border);align-items:center;display:flex}.pub-artlist{gap:0 var(--sp-space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pub-artlist a{align-items:center;gap:var(--sp-space-3);border-bottom:1px solid var(--sp-border);min-height:56px;color:var(--sp-text);display:flex}.pub-artlist a .sp-icon{color:var(--sp-text-subtle)}.pub-artlist a .sp-icon:last-child{margin-left:auto}.pub-feedback{align-items:center;gap:var(--sp-space-3);margin-top:var(--sp-space-8);padding:var(--sp-space-4) var(--sp-space-5);border-radius:var(--sp-radius-lg);background:var(--sp-surface-2);border:1px solid var(--sp-border);flex-wrap:wrap;display:flex}.pub-steps-ol{counter-reset:s;list-style:none;padding:0!important}.pub-steps-ol>li{counter-increment:s;min-height:32px;padding-left:48px;position:relative}.pub-steps-ol>li:before{content:counter(s);background:var(--sp-accent-soft);width:32px;height:32px;color:var(--sp-accent-text);font:var(--sp-weight-bold) var(--sp-text-md)/1 var(--sp-font-display);border-radius:50%;place-items:center;display:grid;position:absolute;top:-2px;left:0}.pub-log{flex-direction:column;display:flex}.pub-entry{gap:var(--sp-space-6);padding:var(--sp-space-8) 0;border-top:1px solid var(--sp-border);grid-template-columns:200px minmax(0,1fr);display:grid}.pub-entry__date{color:var(--sp-text-subtle);font-size:var(--sp-text-sm);gap:var(--sp-space-2);flex-direction:column;align-items:flex-start;display:flex}.pub-entry h2{font-size:var(--sp-text-2xl);line-height:var(--sp-lh-2xl);margin:var(--sp-space-2) 0 var(--sp-space-3)}.pub-entry ul{margin:var(--sp-space-3) 0 0;padding-left:var(--sp-space-5);color:var(--sp-text-muted)}.pub-entry li+li{margin-top:var(--sp-space-2)}.pub-entry li b{color:var(--sp-text)}@media (max-width:960px){.pub-nav__links,.pub-nav__right .pub-nav__signin{display:none}.pub-nav__menu{display:inline-flex}.pub-foot__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pub-foot__brand{grid-column:1/-1}.pub-features,.pub-cats{grid-template-columns:repeat(2,minmax(0,1fr))}.pub-split,.pub-split--rev{gap:var(--sp-space-7);grid-template-columns:minmax(0,1fr)}.pub-plans,.pub-gallery{grid-template-columns:minmax(0,1fr)}.pub-filters{display:none}.pub-filterbtn{display:inline-flex}.pub-detail{grid-template-columns:minmax(0,1fr)}.pub-detail__aside{position:static}.pub-docs,.pub-docs--2{gap:var(--sp-space-5);grid-template-columns:minmax(0,1fr);padding-block-start:var(--sp-space-5)}.pub-docnav,.pub-toc{display:none}.pub-toc-m{display:block}.pub-auth{grid-template-columns:minmax(0,1fr)}.pub-auth__main{padding:var(--sp-space-6) var(--sp-gutter-sm);order:-1}.pub-auth__visual{border-right:0;border-top:1px solid var(--sp-border);padding:var(--sp-space-7) var(--sp-gutter-sm)}}@media (max-width:640px){.pub-wrap{padding-inline:var(--sp-gutter-sm)}.pub-section{padding:var(--sp-section-y-sm) 0}.pub-head{margin-bottom:var(--sp-space-6)}.pub-head h2{font-size:var(--sp-text-2xl);line-height:var(--sp-lh-2xl)}.pub-head p,.pub-lead{font-size:var(--sp-text-md);line-height:var(--sp-lh-md)}.pub-hero{padding:var(--sp-space-8) 0 var(--sp-space-7)}.pub-hero h1{font-size:var(--sp-text-hero-sm);line-height:var(--sp-lh-hero-sm)}.pub-hero .pub-actions,.pub-band .pub-actions{flex-direction:column;align-items:stretch}.pub-hero .pub-actions .sp-btn,.pub-band .pub-actions .sp-btn{width:100%}.pub-showcase{margin-top:var(--sp-space-7);padding:var(--sp-space-4)}.pub-shots{gap:var(--sp-space-2);grid-template-columns:repeat(3,minmax(0,1fr))}.pub-shots>:nth-child(n+4){display:none}.pub-steps,.pub-features,.pub-cats,.pub-tgrid,.pub-artlist{grid-template-columns:minmax(0,1fr)}.pub-sizes{padding:var(--sp-space-4);gap:var(--sp-space-3)}.pub-band{padding:var(--sp-space-7) var(--sp-space-5)}.pub-band h2{font-size:var(--sp-text-2xl);line-height:var(--sp-lh-2xl)}.pub-phead{padding:var(--sp-space-7) 0 var(--sp-space-6)}.pub-phead h1,.pub-prose h1{font-size:var(--sp-text-3xl);line-height:var(--sp-lh-3xl)}.pub-prose p,.pub-prose li{font-size:var(--sp-text-md);line-height:24px}.pub-nav__right .pub-nav__cta{padding:0 var(--sp-space-3)}.pub-table--stack thead{display:none}.pub-table--stack,.pub-table--stack tbody,.pub-table--stack tr,.pub-table--stack th,.pub-table--stack td{width:100%;display:block}.pub-table--stack tr{border-top:1px solid var(--sp-border);padding:var(--sp-space-3) var(--sp-space-4)}.pub-table--stack tr:first-child{border-top:0}.pub-table--stack th,.pub-table--stack td{padding:var(--sp-space-1) 0;border:0;text-align:left!important}.pub-table--stack td{justify-content:space-between;gap:var(--sp-space-3);display:flex}.pub-table--stack td:before{content:attr(data-label);color:var(--sp-text-subtle);flex:none}.pub-table--stack td>*{text-align:right}.pub-table--stack tbody th{font-weight:var(--sp-weight-semibold);padding-bottom:var(--sp-space-2)}.pub-table--stack .is-group{padding:0}.pub-table--stack .is-group th{padding:var(--sp-space-2) var(--sp-space-4)}.pub-entry{gap:var(--sp-space-2);padding:var(--sp-space-6) 0;grid-template-columns:minmax(0,1fr)}.pub-entry__date{flex-flow:wrap;align-items:center}.pub-404__code{font-size:88px}.pub-sbanner{padding:var(--sp-space-2) var(--sp-gutter-sm);flex-wrap:wrap}.pub-d-only{display:none!important}.pub-m-only{display:inline-flex}.pub-foot__bar .sp-spacer{display:none}}.pub-h2{font-size:var(--sp-text-3xl);line-height:var(--sp-lh-3xl);margin-top:var(--sp-space-2)}.pub-pb{padding-bottom:var(--sp-section-y)}.pub-pb-sm{padding-bottom:var(--sp-section-y-sm)}.pub-phead--short{padding-bottom:var(--sp-space-6)}.pub-wrap--mid{max-width:calc(960px + 2 * var(--sp-gutter))}.pub-appid--offset{padding-left:88px}.pub-showcase--sm{padding:var(--sp-space-7) var(--sp-space-4) var(--sp-space-4);margin-top:0}.pub-shots--3,.pub-strip--3{grid-template-columns:repeat(3,minmax(0,1fr))}.pub-strip--4{gap:var(--sp-space-3);grid-template-columns:repeat(4,minmax(0,1fr))}.pub-strip--stage{gap:var(--sp-space-3);margin-top:var(--sp-space-6)}.pub-tcard__head--ex{min-height:24px;padding-left:88px}.pub-tcard .pub-ex__tag{top:var(--sp-space-4);left:var(--sp-space-4)}.pub-locvis{padding:var(--sp-space-7) var(--sp-space-5) var(--sp-space-5)}.pub-locvis .pub-strip{margin-top:var(--sp-space-3)}.pub-locfig{gap:var(--sp-space-2);flex-direction:column;align-items:center;margin:0;display:flex}.pub-locfig .sp-art{width:100%}.pub-step__art--auto{height:auto;min-height:120px}.pub-devs{font-size:var(--sp-text-xs);line-height:var(--sp-lh-xs);color:var(--sp-text-subtle);margin-top:2px;display:block}.pub-toc--left{border-left:0;border-right:1px solid var(--sp-border);padding-left:0;padding-right:var(--sp-space-4)}.pub-toc--left a.is-on{box-shadow:none;color:var(--sp-accent-text)}.pub-prose--wide{max-width:none}.pub-qa{gap:var(--sp-space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pub-qa h3{margin:0 0 var(--sp-space-2)}.pub-qa p{font-size:var(--sp-text-md);line-height:var(--sp-lh-lg)}.pub-strong{color:var(--sp-text);font-weight:var(--sp-weight-semibold)}.pub-note{margin-top:var(--sp-space-3);font-size:var(--sp-text-sm)!important;line-height:var(--sp-lh-sm)!important;color:var(--sp-text-subtle)!important}.pub-prose .pub-table{font-size:var(--sp-text-sm);line-height:var(--sp-lh-sm)}.pub-tap{height:var(--sp-tap)}.pub-toc-m--grid{gap:var(--sp-space-2);margin-bottom:var(--sp-space-5)}.pub-toc-m--grid:not([hidden]){grid-template-columns:minmax(0,1fr)}.pub-tap-link{min-height:var(--sp-tap);align-items:center;display:inline-flex}.pub-img{width:100%;height:auto;display:block}.pub-more{align-items:center;gap:var(--sp-space-1);min-height:var(--sp-tap);font-size:var(--sp-text-sm);margin-top:auto;display:inline-flex}.pub-stuck{justify-content:space-between;align-items:center;gap:var(--sp-space-5);flex-wrap:wrap;display:flex}.pub-artlist a span{flex:1;min-width:0}.pub-saved{color:var(--sp-text-subtle)!important}.pub-saved .sp-icon{color:var(--sp-info)!important}.pub-sbstrip{inset:var(--sp-space-6) 0 96px var(--sp-space-5)}.pub-sbitem .sp-art{width:100%}.pub-sbhint{flex:none;align-self:flex-start;width:300px;margin-top:28px}.pub-sbhint h4{margin:6px 0 4px}.pub-sbtag{right:var(--sp-space-5);position:absolute;bottom:28px}.pub-sizes .sp-art{width:auto;height:var(--fig-h)}@media (max-width:960px){.pub-toc-m--grid{display:grid}}@media (max-width:640px){.pub-h2{font-size:var(--sp-text-2xl);line-height:var(--sp-lh-2xl)}.pub-pb{padding-bottom:var(--sp-section-y-sm)}.pub-sizes{--fig-h:168px}.pub-appid--offset{padding-left:0;padding-top:var(--sp-space-6)}.pub-qa{grid-template-columns:minmax(0,1fr)}.pub-strip--4{grid-template-columns:repeat(2,minmax(0,1fr))}.pub-sbitem{width:220px}.pub-gtools .sp-input-group{max-width:none}.pub-stuck .pub-actions{width:100%}}.pub-tsets{grid-template-columns:repeat(3,minmax(0,1fr))}.pub-strip--ex{padding-top:var(--sp-space-7)}.pub-sizes{padding-top:var(--sp-space-8);flex-wrap:nowrap}.pub-sizes figure{flex:none}@media (max-width:960px){.pub-tsets{grid-template-columns:minmax(0,1fr)}}.pub-nav__menu .pub-ico-close,body.is-menu-open .pub-nav__menu .pub-ico-open{display:none}body.is-menu-open .pub-nav__menu .pub-ico-close{display:block}body.is-menu-open .pub-nav__menu{background:var(--sp-surface-3);color:var(--sp-text)}.pub-toc a.is-on{box-shadow:none;margin-left:calc(-1 * var(--sp-space-4) - 1px);padding-left:calc(var(--sp-space-4) - 1px);border-left:2px solid var(--sp-accent)}.pub-toc--left a.is-on{border-left:0;margin-left:0;padding-left:0}.pub-sbitem{width:260px}.pub-sbhint{top:var(--sp-space-6);right:var(--sp-space-5);z-index:2;margin-top:0;position:absolute}.pub-sbanner__x{flex:none}@media (max-width:640px){.pub-sbanner{padding:var(--sp-space-3) 56px var(--sp-space-3) var(--sp-gutter-sm);align-items:flex-start;row-gap:var(--sp-space-3);position:relative}.pub-sbanner>.sp-icon{margin-top:2px}.pub-sbanner__t{flex:calc(100% - 40px)}.pub-sbanner>.sp-btn--primary{margin-left:30px}.pub-sbanner__x{top:var(--sp-space-1);right:var(--sp-space-1);position:absolute}.pub-sbitem{width:220px}}.pub-step__art--auto>*{flex:auto;min-width:0}.pub-sizes{--fig-h:min(300px, 22vw)}@media (max-width:960px){.pub-sizes{--fig-h:min(300px, 40vw)}}@media (max-width:640px){.pub-sizes{--fig-h:168px}}.pub-nav{background:var(--sp-surface-1);border-bottom:1px solid var(--sp-border)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.pub-nav{background:var(--sp-nav-glass);-webkit-backdrop-filter:var(--sp-nav-blur);backdrop-filter:var(--sp-nav-blur);border-bottom-color:var(--sp-border-glass)}}.pub-nav__links a{transition:color var(--sp-dur-fast) var(--sp-ease), background var(--sp-dur-fast) var(--sp-ease);position:relative}.pub-nav__links a.is-on{color:var(--sp-text);background:var(--sp-surface-3);box-shadow:var(--sp-highlight-inset)}.pub-nav__links a.is-on:after{content:"";left:var(--sp-space-3);right:var(--sp-space-3);background:var(--sp-grad-accent);border-radius:2px;height:2px;position:absolute;bottom:6px}.pub-nav__cta{box-shadow:var(--sp-highlight-inset)}.pub-sheet a.pub-sheet__link span:first-of-type{flex:1}.pub-sheet a.pub-sheet__link.is-on{background:var(--sp-surface-3);box-shadow:inset 3px 0 0 var(--sp-accent)}.pub-sheet a.pub-sheet__link.is-on .sp-icon{color:var(--sp-accent-text)}.pub-sheet__cur{font-size:var(--sp-text-xs);font-weight:var(--sp-weight-semibold);color:var(--sp-accent-text)}.pub-sheet__nav{gap:var(--sp-space-1);flex-direction:column;display:flex}.pub-hero--v2{background:var(--sp-hero-bg);padding:var(--sp-space-10) 0 var(--sp-section-y)}.pub-hero--v2 h1{font-size:var(--sp-text-6xl);line-height:var(--sp-lh-6xl);max-width:1000px;margin-top:var(--sp-space-5);letter-spacing:-.03em}.pub-grad{color:var(--sp-grad-accent-solid)}@supports ((-webkit-background-clip:text) or (background-clip:text)){.pub-grad{background:var(--sp-grad-accent);color:#0000;-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-background-clip:text;background-clip:text}}.pub-pill--strong{min-height:36px;padding:0 var(--sp-space-4);background:var(--sp-accent-soft);border-color:var(--sp-accent);color:var(--sp-text);font-weight:var(--sp-weight-semibold);box-shadow:var(--sp-highlight-inset)}.pub-hero--v2 .pub-lead{font-size:var(--sp-text-xl);line-height:var(--sp-lh-xl);max-width:680px}.pub-hero--v2 .pub-actions{margin-top:var(--sp-space-7);gap:var(--sp-space-4)}.pub-cta-xl{--h:var(--sp-control-xl);padding:0 var(--sp-space-6);font-size:var(--sp-text-lg);border-radius:var(--sp-radius-lg)}.pub-cta-glow{box-shadow:var(--sp-glow-primary);transition:box-shadow var(--sp-dur-base) var(--sp-ease), background var(--sp-dur-fast) var(--sp-ease), transform var(--sp-dur-base) var(--sp-ease)}.pub-cta-glow:hover{box-shadow:var(--sp-glow-primary-hover);transform:translateY(var(--sp-lift))}.pub-cta-glow .sp-icon{transition:transform var(--sp-dur-base) var(--sp-ease)}.pub-cta-glow:hover .sp-icon{transform:translate(2px)}@keyframes sp-glow{0%{box-shadow:var(--sp-glow-primary)}to{box-shadow:var(--sp-glow-primary-hover)}}@media (prefers-reduced-motion:no-preference){.pub-cta-glow{animation:sp-glow 2.8s var(--sp-ease) infinite alternate}.pub-cta-glow:hover{animation:none}}.pub-stage{margin-top:var(--sp-space-9);padding:var(--sp-space-8) var(--sp-space-6) var(--sp-space-5);border-radius:var(--sp-radius-xl);background:var(--sp-stage-glow), var(--sp-bg);background-image:var(--sp-stage-glow), radial-gradient(var(--sp-border) 1px, transparent 1px);border:1px solid var(--sp-border-glass);box-shadow:var(--sp-shadow-stage);text-align:left;background-size:100% 100%,24px 24px;position:relative}.pub-listing{max-width:1040px;padding:var(--sp-space-6);border-radius:var(--sp-radius-xl);background:var(--sp-listing-bg);border:1px solid var(--sp-listing-line);box-shadow:var(--sp-shadow-card), var(--sp-highlight-inset);margin:0 auto}.pub-listing__head{align-items:center;gap:var(--sp-space-5);display:flex}.pub-listing__icon{width:96px;height:96px;box-shadow:0 0 0 1px var(--sp-border-glass);border-radius:22px;flex:none}.pub-listing__id{flex:1;min-width:0}.pub-listing__name{font-size:var(--sp-text-2xl);line-height:var(--sp-lh-2xl)}.pub-listing__dev{color:var(--sp-accent-text);margin-top:var(--sp-space-1);font-weight:var(--sp-weight-medium)}.pub-listing__get{min-width:88px;height:36px;padding:0 var(--sp-space-5);border-radius:var(--sp-radius-full);background:var(--sp-surface-4);color:var(--sp-accent-text);font-weight:var(--sp-weight-bold);flex:none;place-items:center;display:inline-grid}.pub-listing__meta{margin:var(--sp-space-5) 0;padding:var(--sp-space-3) 0;border-block:1px solid var(--sp-listing-line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.pub-listing__meta>div{text-align:center;padding:0 var(--sp-space-2)}.pub-listing__meta>div+div{border-left:1px solid var(--sp-listing-line)}.pub-listing__meta dt{font-size:var(--sp-text-xs);line-height:var(--sp-lh-xs);color:var(--sp-text-subtle);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--sp-weight-semibold)}.pub-listing__meta dd{margin:var(--sp-space-1) 0 0;font-weight:var(--sp-weight-semibold);color:var(--sp-text)}.pub-listing__shots{gap:var(--sp-space-4);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.pub-listing__shots img{aspect-ratio:598/1300;object-fit:contain;border-radius:var(--sp-radius-lg);width:100%;height:auto;box-shadow:var(--sp-shadow-card);display:block}.pub-stage__bar{align-items:center;gap:var(--sp-space-2);max-width:1040px;margin:var(--sp-space-5) auto 0;flex-wrap:wrap;display:flex}.pub-stage .pub-ex__cap{max-width:1040px;margin-inline:auto}.pub-stage .pub-ex__tag{top:var(--sp-space-4);left:var(--sp-space-4)}.pub-lift{background:var(--sp-raised);border-color:var(--sp-border-glass);box-shadow:var(--sp-shadow-card), var(--sp-highlight-inset);transition:transform var(--sp-dur-base) var(--sp-ease), box-shadow var(--sp-dur-base) var(--sp-ease), border-color var(--sp-dur-fast) var(--sp-ease)}.pub-lift:hover{background:var(--sp-raised-hover);border-color:var(--sp-border-strong);box-shadow:var(--sp-shadow-card-hover), var(--sp-highlight-inset);transform:translateY(var(--sp-lift))}.pub-section--edge{position:relative}.pub-section--edge:before{content:"";background:var(--sp-section-edge);height:1px;position:absolute;top:-1px;left:0;right:0}.pub-section--alt.pub-section--edge{border-top-color:#0000}.pub-lift .pub-step__art,.pub-lift .pub-feature__icon{box-shadow:var(--sp-highlight-inset)}.pub-feature__icon{border:1px solid var(--sp-border-glass)}.pub-feature a .sp-icon{transition:transform var(--sp-dur-base) var(--sp-ease)}.pub-feature a:hover .sp-icon{transform:translate(2px)}.pub-band{box-shadow:var(--sp-shadow-stage);position:relative;overflow:hidden}.pub-band:before{content:"";background:var(--sp-hero-bg);pointer-events:none;position:absolute;inset:0}.pub-band>*{position:relative}.pub-band .sp-btn--primary{box-shadow:var(--sp-glow-primary)}.pub-reveal[data-reveal=pending]{opacity:0;transform:translateY(var(--sp-reveal-distance))}.pub-reveal[data-reveal=in]{opacity:1;transition:opacity var(--sp-dur-reveal) var(--sp-ease), transform var(--sp-dur-reveal) var(--sp-ease);transition-delay:calc(var(--i,0) * var(--sp-reveal-stagger));transform:none}@media (max-width:960px){.pub-hero--v2 h1{font-size:var(--sp-text-5xl);line-height:var(--sp-lh-5xl)}}@media (max-width:640px){.pub-hero--v2{padding:var(--sp-space-8) 0 var(--sp-section-y-sm)}.pub-hero--v2 h1{font-size:var(--sp-text-hero-m);line-height:var(--sp-lh-hero-m)}.pub-hero--v2 .pub-lead{font-size:var(--sp-text-lg);line-height:var(--sp-lh-lg)}.pub-hero--v2 .pub-actions{margin-top:var(--sp-space-6);gap:var(--sp-space-3)}.pub-stage{margin-top:var(--sp-space-8);padding:var(--sp-space-7) var(--sp-space-3) var(--sp-space-4)}.pub-listing{padding:var(--sp-space-4)}.pub-listing__head{gap:var(--sp-space-3)}.pub-listing__icon{border-radius:15px;width:64px;height:64px}.pub-listing__name{font-size:var(--sp-text-lg);line-height:var(--sp-lh-lg)}.pub-listing__get{min-width:64px;padding:0 var(--sp-space-3)}.pub-listing__meta{row-gap:var(--sp-space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.pub-listing__meta>div:nth-child(3){border-left:0}.pub-listing__shots{gap:var(--sp-space-2);grid-template-columns:repeat(3,minmax(0,1fr))}.pub-listing__shots img{border-radius:var(--sp-radius-md)}}.pub-art{aspect-ratio:180/391;object-fit:cover;border-radius:var(--sp-radius-md);width:100%;box-shadow:var(--sp-shadow-md);background:var(--sp-surface-2);display:block}.pub-artcap{margin-top:var(--sp-space-2);font-size:var(--sp-text-sm);line-height:var(--sp-lh-sm);color:var(--sp-text-muted);text-align:center;display:block}.pub-strip--6{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width:720px){.pub-strip--6{grid-template-columns:repeat(3,minmax(0,1fr))}}.pub-s-start{align-self:flex-start}.pub-s-inherit{color:inherit}.pub-s-mt2{margin-top:var(--sp-space-2)}.pub-s-mt4{margin-top:var(--sp-space-4)}.pub-s-mt5{margin-top:var(--sp-space-5)}.pub-s-mb2{margin-bottom:var(--sp-space-2)}.pub-s-pad{padding:0 12px 8px}.pub-s-col{flex-direction:column;gap:8px;width:100%;display:flex}.pub-s-wrapc{flex-wrap:wrap;justify-content:center}.pub-tcard[hidden],.pub-cat[hidden]{display:none}.pub-filters .sp-check input:focus-visible+.sp-check__box{outline:2px solid var(--sp-focus);outline-offset:2px}.pub-faq__a[hidden]{display:none}.pub-authcard form{gap:var(--sp-space-4);flex-direction:column;display:flex}.pub-gis__btn[aria-disabled=true]{opacity:.6;pointer-events:none}.pub-gis a.pub-gis__btn{text-decoration:none}.pub-auth-err{color:var(--sp-danger)}.pub-sbanner--editor{z-index:2;position:relative}body.editor:has(.pub-sbanner--editor){flex-direction:column;height:100vh;display:flex}.pub-sbanner--editor~#editor{flex:1;min-height:0}.pub-sbanner--editor~#editor .ed{height:100%;min-height:0}.pub-s-m0{margin:0}.pub-s-mt1{margin-top:var(--sp-space-1)}.pub-s-center{text-align:center}.pub-empty{align-items:flex-start;gap:var(--sp-space-3);margin-top:var(--sp-space-4);flex-direction:column;display:flex}.pub-empty[hidden]{display:none}.pub-fnote{margin:0 0 var(--sp-space-1)}.pub-plan__alt{color:var(--sp-text-muted);font-size:var(--sp-text-sm);margin:0}.pub-carousel{max-width:1120px;margin:0 auto;position:relative}.pub-carousel__bar{justify-content:space-between;align-items:center;gap:var(--sp-space-3);margin:0 0 var(--sp-space-3);padding-inline:var(--sp-space-2);display:flex}.pub-carousel__viewport{overscroll-behavior-x:contain;scrollbar-width:none;border-radius:var(--sp-radius-xl);cursor:grab;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000);mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.pub-carousel__viewport::-webkit-scrollbar{display:none}.pub-carousel__viewport:focus-visible{outline:2px solid var(--sp-focus,var(--sp-accent-text));outline-offset:2px}.pub-carousel__viewport.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.pub-carousel__track{align-items:flex-start;gap:var(--sp-space-4);width:max-content;padding:var(--sp-space-2) var(--sp-space-5);margin:0;list-style:none;display:flex}.pub-app{gap:var(--sp-space-3);width:300px;padding:var(--sp-space-4);border-radius:var(--sp-radius-xl);background:var(--sp-listing-bg);border:1px solid var(--sp-listing-line);box-shadow:var(--sp-shadow-card), var(--sp-highlight-inset);flex-direction:column;flex:none;display:flex}.pub-app__head{align-items:center;gap:var(--sp-space-3);min-width:0;display:flex}.pub-app__icon{width:48px;height:48px;box-shadow:0 0 0 1px var(--sp-border-glass);border-radius:11px;flex:none}.pub-app__id{min-width:0}.pub-app__name{font-size:var(--sp-text-md,1rem);white-space:nowrap;text-overflow:ellipsis;margin:0;line-height:1.3;overflow:hidden}.pub-app__genre{font-size:var(--sp-text-xs);color:var(--sp-text-subtle);margin:2px 0 0}.pub-app__shots{gap:var(--sp-space-2);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.pub-app__shots--wide{grid-template-columns:1fr}.pub-app__shots img{border-radius:var(--sp-radius-md,8px);width:100%;height:auto;box-shadow:0 0 0 1px var(--sp-border-glass);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;display:block}.pub-app__link{font-weight:var(--sp-weight-semibold);font-size:var(--sp-text-sm);color:var(--sp-accent-text);align-self:flex-start}@media (prefers-reduced-motion:reduce){.pub-carousel__viewport{scroll-snap-type:x mandatory;cursor:auto}.pub-app{scroll-snap-align:start}}@media (max-width:640px){.pub-app{width:260px}}.pub-period-wrap{margin-bottom:var(--sp-space-5);justify-content:center;display:flex}.pub-period{border:1px solid var(--sp-border);border-radius:var(--sp-radius-md);background:var(--sp-surface-1);gap:2px;padding:3px;display:inline-flex}.pub-period[hidden]{display:none}.pub-period>button{min-height:36px;padding:0 var(--sp-space-4);color:var(--sp-text-muted);font:var(--sp-weight-medium) var(--sp-text-sm)/1 var(--sp-font-ui);cursor:pointer;background:0 0;border:0;border-radius:7px}.pub-period>button[aria-checked=true]{background:var(--sp-surface-4);color:var(--sp-text);box-shadow:var(--sp-shadow-sm)}.pub-period>button:focus-visible{outline:2px solid var(--sp-accent);outline-offset:2px}.pub-plan [data-per][hidden]{display:none}.pub-topup{margin:var(--sp-space-5) auto 0;text-align:center;font-size:var(--sp-text-sm);gap:var(--sp-space-2);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.pub-topup+.pub-topup{margin-top:var(--sp-space-2)}.pub-art[width][height]{aspect-ratio:auto;object-fit:contain;height:auto}.pub-strip:has(.pub-art[data-wide]){align-items:start}.pub-s1{--h:var(--sp-tap)}.pub-s2{text-align:center}.pub-s3{width:64px}.pub-s4{border:1.5px dashed var(--sp-border-strong);border-radius:var(--sp-radius-md);color:var(--sp-text-muted);flex-direction:column;align-items:center;gap:8px;padding:12px 16px;display:flex}.pub-s5{border-radius:var(--sp-radius-sm);height:120px}.pub-s6{flex-direction:column;gap:8px;width:100%;min-width:0;display:flex}.pub-s7{color:var(--sp-text-muted)}.pub-s8{margin-top:var(--sp-space-3)}.pub-s9{margin-top:var(--sp-space-6)}.pub-s10{aspect-ratio:1320/2868;width:calc(var(--fig-h) * 1320 / 2868)}.pub-s11{width:calc(var(--fig-h) * 2064 / 2752)}.pub-s12{aspect-ratio:1080/1920;width:calc(var(--fig-h) * 1080 / 1920)}.pub-s13{margin:var(--sp-space-3) 0 0}.pub-s14{font-size:var(--sp-text-lg);line-height:var(--sp-lh-lg)}.pub-s15{margin-top:var(--sp-space-6);text-align:center}.pub-s16{font-size:var(--sp-text-xl);line-height:var(--sp-lh-xl)}.pub-s17{margin-top:var(--sp-space-5)}.pub-s18{margin-bottom:var(--sp-space-2)}.pub-s19{flex-wrap:wrap}.pub-s20{flex-wrap:wrap;justify-content:center}.pub-s21{width:100%}.pub-s22{padding:0 8px}.pub-s23{flex-direction:column;gap:8px;width:100%;display:flex}.pub-s24{margin-top:var(--sp-space-2)}.pub-s25{margin-top:var(--sp-space-3);max-width:720px}.pub-s26{margin-top:var(--sp-space-4)}
