@font-face{font-family:Roboto Flex;src:url(/assets/ui-fonts/RobotoFlex-UI-latin.c49f485e.woff2) format("woff2");font-style:normal;font-weight:400 500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;src:url(/assets/ui-fonts/Outfit-UI-latin.f4027efa.woff2) format("woff2");font-style:normal;font-weight:500 600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Mono;src:url(/assets/ui-fonts/RobotoMono-UI-latin.f1272b6a.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.brand-beta{position:relative;display:flex;align-items:center;flex:none}.beta-badge{position:absolute;top:-.7rem;right:-.6rem;z-index:1;margin:0;padding:.1rem .5rem;border:0;border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);box-shadow:0 0 0 .15rem var(--bg-panel);font:600 1rem/1.2 var(--font-display);letter-spacing:.08em;white-space:nowrap;cursor:pointer}.beta-badge:hover{box-shadow:0 0 0 .15rem var(--bg-panel),0 0 0 .3rem var(--accent)}.beta-badge:focus-visible{outline:.2rem solid var(--accent);outline-offset:.2rem}.beta-note:popover-open{position:fixed;inset:auto;top:7rem;left:50%;translate:-50% 0;box-sizing:border-box;width:min(30rem,calc(100% - 3.2rem));margin:0;padding:1.2rem 1.4rem;border:.1rem solid var(--border-strong);border-radius:var(--radius);background:var(--bg-panel);color:var(--text);box-shadow:0 .8rem 2.4rem var(--shadow);font:400 1.3rem/1.45 var(--font);text-align:left}@supports (anchor-name: --beta-badge){.beta-badge{anchor-name:--beta-badge}.beta-note:popover-open{position-anchor:--beta-badge;top:calc(anchor(bottom) + .8rem);left:clamp(1.6rem,anchor(left),calc(100% - 1.6rem - min(30rem,100% - 3.2rem)));translate:none}}.beta-note-text{margin:0}.beta-note a{color:var(--accent);font-weight:500}.beta-note-text[lang=es],.beta-note-text[lang=pt]{display:none}:root:lang(es) .beta-note-text[lang=es],:root:lang(pt) .beta-note-text[lang=pt]{display:block}:root:lang(es) .beta-note-text[lang=en],:root:lang(pt) .beta-note-text[lang=en]{display:none}.signin-intro-backdrop,.signin-intro-boot{background:radial-gradient(110rem 70rem at 70% 20%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 65%),var(--bg)}.signin-intro-logo{position:relative;display:block;width:min(88vw,64rem,140vh);height:auto;color:var(--text);transform-origin:0 0;overflow:visible}.signin-intro-edge{stroke:var(--bg)}.signin-intro-tip{fill:var(--accent)}.signin-intro-tip.is-hot,.signin-intro-halo{fill:var(--intro-hot)}.signin-intro-led-dot{fill:var(--accent)}.signin-intro-led-glow{fill:var(--accent);opacity:.55}.signin-intro-boot{display:none}@media(prefers-reduced-motion:no-preference){html[data-intro=boot] body{visibility:hidden;animation:signin-intro-reveal 0s 5s forwards}html[data-intro=boot] dialog:not(.signin-intro)::backdrop{visibility:hidden}html[data-intro=boot] .signin-intro{visibility:visible}html[data-intro=boot] .signin-intro-boot{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;overflow:hidden;visibility:visible;color:var(--text);animation:signin-intro-boot-out .4s 5s forwards}.signin-intro-boot .signin-intro-boot-machine{animation:signin-intro-flicker .5s linear both}.signin-intro-boot .signin-intro-led{animation:signin-intro-led .6s .3s step-end both}.signin-intro-boot .signin-intro-tip{animation:signin-intro-heat .5s .5s ease-in both}.signin-intro-boot .signin-intro-halo{animation:signin-intro-glow .5s .5s ease-in both,signin-intro-breathe .8s 1s ease-in-out infinite alternate}}@keyframes signin-intro-reveal{to{visibility:visible}}@keyframes signin-intro-boot-out{to{opacity:0;visibility:hidden}}@keyframes signin-intro-flicker{0%{opacity:0}12%{opacity:.75}18%{opacity:.1}34%{opacity:.9}42%{opacity:.35}60%,to{opacity:1}}@keyframes signin-intro-led{0%{opacity:.12}20%{opacity:1}40%{opacity:.12}60%,to{opacity:1}}@keyframes signin-intro-heat{0%{fill:var(--accent)}to{fill:var(--intro-hot)}}@keyframes signin-intro-glow{0%{opacity:0}to{opacity:.7}}@keyframes signin-intro-breathe{0%{opacity:.7}to{opacity:.45}}:root{color-scheme:dark;--bg: #0f1216;--bg-panel: #171b22;--bg-panel-alt: #1d222b;--bg-input: #101419;--bg-stage: #12151a;--bg-thumb: #0d1015;--bg-hover: #262d38;--bg-overlay: rgba(23, 27, 34, .86);--bg-overlay-strong: rgba(23, 27, 34, .94);--hover-tint: rgba(255, 255, 255, .05);--scrim: rgba(6, 8, 11, .72);--border: #2a313c;--border-strong: #3a4351;--border-control: #2a313c;--border-hover: #48525f;--swatch-ring: rgba(255, 255, 255, .22);--text: #e7ecf3;--text-strong: #fff;--text-dim: #93a0b2;--text-faint: #6b7787;--accent: #4da3ff;--accent-strong: #2272d6;--accent-hover: #1d6cd0;--accent-rgb: 77, 163, 255;--on-accent: #0b1a2b;--on-accent-strong: #fff;--gold: #f0b429;--gold-hover: #ffc340;--on-gold: #1b1400;--intro-hot: #ff6a2b;--danger: #f2635f;--danger-rgb: 242, 99, 95;--danger-text: #ffb3af;--danger-link: #f4948f;--danger-bg: #3a1f1e;--danger-border: #6a3230;--success: #2f7d4f;--success-text: #a4e5bf;--success-bg: #1a2f24;--success-tint: rgba(63, 201, 154, .16);--warn-bg: rgba(48, 38, 12, .92);--warn-bg-soft: rgba(48, 38, 12, .7);--warn-border: #6b551b;--warn-text: #f3d896;--preview-inner: #2b313c;--preview-outer: #1b1f27;--preview-line: rgba(190, 205, 235, .7);--preview-fill: rgba(160, 180, 220, .14);--google-bg: #fff;--google-text: #1f1f1f;--google-border: #fff;--google-hover: #f1f3f4;--shadow-strong: rgba(0, 0, 0, .5);--shadow: rgba(0, 0, 0, .45);--shadow-soft: rgba(0, 0, 0, .35);--backdrop-art: 1;--backdrop-tone: brightness(.55) contrast(1.5) saturate(1.25);--type-label: var(--text);--type-plate: rgba(15, 18, 22, .5);--promo-bg: #2b2110;--promo-bg-edge: #3a2c12;--promo-border: #8a6a1c;--promo-text: #fbeecb;--promo-strong: #ffd36b;--promo-chip-bg: #f0b429;--promo-chip-text: #1b1400;--promo-cta-border: #f0b429;--radius: 1rem;--radius-sm: .5rem;--radius-xs: .25rem;--radius-pill: 99rem;--radius-round: 50%;--sidebar-width: 370px;--topbar-pad: 16px;--header-edge: clamp(var(--topbar-pad), 4vw, 40px);--header-pad: 12px var(--header-edge);--header-gap: 1.4rem;--font: "Roboto Flex", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;--font-display: Outfit, "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;--mono: "Roboto Mono", "Cascadia Mono", "JetBrains Mono", Consolas, monospace}:root[data-theme=light]{color-scheme:light;--bg: #eef1f5;--bg-panel: #ffffff;--bg-panel-alt: #f3f5f8;--bg-input: #ffffff;--bg-stage: #e2e6ec;--bg-thumb: #e6eaef;--bg-hover: #e4e8ee;--bg-overlay: rgba(255, 255, 255, .86);--bg-overlay-strong: rgba(255, 255, 255, .94);--hover-tint: rgba(0, 0, 0, .05);--scrim: rgba(24, 30, 38, .5);--border: #d3d9e1;--border-strong: #7d8896;--border-control: #7d8896;--border-hover: #5f6b7a;--swatch-ring: rgba(0, 0, 0, .25);--text: #1a1f26;--text-strong: #000;--text-dim: #4b5563;--text-faint: #5f6b7a;--accent: #1b6ac4;--accent-strong: #155cab;--accent-hover: #1a63b8;--accent-rgb: 27, 106, 196;--on-accent: #ffffff;--on-accent-strong: #fff;--gold: #f0b429;--gold-hover: #e0a51d;--on-gold: #1b1400;--intro-hot: #f04a12;--danger: #b3261e;--danger-rgb: 179, 38, 30;--danger-text: #9b1c15;--danger-link: #9b1c15;--danger-bg: #fbe4e2;--danger-border: #d98b86;--success: #2e8b57;--success-text: #1c6b3f;--success-bg: #e1f4e8;--success-tint: rgba(63, 201, 154, .18);--warn-bg: rgba(255, 243, 205, .95);--warn-bg-soft: rgba(255, 243, 205, .85);--warn-border: #9c7a12;--warn-text: #5c4300;--preview-inner: #ffffff;--preview-outer: #e6eaf0;--preview-line: rgba(60, 80, 120, .75);--preview-fill: rgba(60, 80, 120, .12);--google-bg: #fff;--google-text: #1f1f1f;--google-border: #747775;--google-hover: #f1f3f4;--shadow-strong: rgba(15, 23, 42, .22);--shadow: rgba(15, 23, 42, .16);--shadow-soft: rgba(15, 23, 42, .12);--backdrop-art: 1;--backdrop-tone: contrast(1.12) saturate(1.05);--type-label: var(--text-dim);--type-plate: rgba(238, 241, 245, .94);--promo-bg: #fff3d1;--promo-bg-edge: #ffe6a3;--promo-border: #b8860b;--promo-text: #3a2a00;--promo-strong: #4d3500;--promo-chip-bg: #3a2a00;--promo-chip-text: #fff3d1;--promo-cta-border: #7a5a00}*{box-sizing:border-box}[hidden]{display:none!important}html{font-size:11.5px}html,body{height:100%;margin:0}body{display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:var(--font);font-size:1.3rem;font-synthesis-weight:none;overflow:hidden}h1,h2{font-family:var(--font-display);font-weight:600}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:var(--header-pad);background:var(--bg-panel);border-bottom:1px solid var(--border);flex:0 0 auto}.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}.brand:focus-visible{outline:.2rem solid var(--accent);outline-offset:.2rem;border-radius:var(--radius-sm)}.brand-logo{display:block;flex:none;width:auto;height:3.7rem;aspect-ratio:1000 / 400.8;background:currentColor;-webkit-mask-image:url(/assets/brand/wordmark.svg);mask-image:url(/assets/brand/wordmark.svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;mask-mode:alpha}:root[data-season-logo=halloween] .brand-logo{background:url(/assets/brand/halloween-header-dark.svg) center / contain no-repeat;-webkit-mask-image:none;mask-image:none}:root[data-season-logo=halloween][data-theme=light] .brand-logo{background-image:url(/assets/brand/halloween-header-light.svg)}.topbar-actions{display:flex;align-items:center;gap:8px}.layout{flex:1 1 auto;display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:0}.sidebar{background:var(--bg-panel);border-right:1px solid var(--border);overflow-y:auto;overscroll-behavior:contain}.sidebar::-webkit-scrollbar{width:10px}.sidebar::-webkit-scrollbar-track{background:var(--bg-panel)}.sidebar::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-sm);border:3px solid var(--bg-panel)}.panel{border-bottom:1px solid var(--border)}.panel-head{width:100%;display:flex;align-items:center;gap:8px;padding:12px 14px;background:none;border:0;color:var(--text);font:inherit;font-weight:500;font-size:1.2rem;letter-spacing:.6px;text-transform:uppercase;text-align:left;cursor:pointer}.panel-head:before{content:"";width:0;height:0;border-left:5px solid var(--text-faint);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .15s ease}.panel[data-open=true] .panel-head:before{transform:rotate(90deg)}.panel-head:hover{background:var(--bg-panel-alt)}.panel-body{display:none;flex-direction:column;gap:12px;padding:4px 14px 16px}.panel[data-open=true] .panel-body{display:flex}.guest-banner{display:flex;flex-direction:column;gap:10px;margin:12px 12px 4px;padding:12px 14px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--bg-panel-alt)}.guest-banner p{margin:0;line-height:1.45}.guest-actions{display:flex;flex-wrap:wrap;gap:8px}.is-view-only .panel-body{opacity:.55}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field-row{display:flex;gap:10px;align-items:flex-end}.field-row>.field{flex:1 1 0}.field-narrow{flex:0 0 92px!important}.field-group{margin:.5rem 0 -.25rem;color:var(--text-dim);font-size:1.05rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase}.field-label{display:flex;justify-content:space-between;align-items:baseline;gap:8px;min-width:0;color:var(--text-dim);font-size:1.1rem;font-weight:500;letter-spacing:.3px;line-height:1.35}.field-label em{color:var(--text-faint);font-style:normal;font-weight:400}.field-label output{flex:0 0 auto;color:var(--accent);font-family:var(--mono);font-size:1.1rem;white-space:nowrap}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],select{width:100%;padding:7px 9px;background:var(--bg-input);border:1px solid var(--border-control);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:1.25rem;outline:none;transition:border-color .12s ease,box-shadow .12s ease}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=date]:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.18)}input::placeholder{color:var(--text-faint)}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-faint) 50%),linear-gradient(135deg,var(--text-faint) 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:26px}input[type=color]{width:100%;height:32px;padding:2px;background:var(--bg-input);border:1px solid var(--border-control);border-radius:var(--radius-sm);cursor:pointer}input[type=range]{width:100%;height:18px;appearance:none;background:none;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:4px;background:var(--border-strong);border-radius:var(--radius-xs)}input[type=range]::-webkit-slider-thumb{appearance:none;width:14px;height:14px;margin-top:-5px;background:var(--accent);border-radius:var(--radius-round);border:2px solid var(--bg-panel)}input[type=range]:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px rgba(var(--accent-rgb),.22)}input[type=file]{flex:1 1 auto;min-width:0;font-size:1.15rem;color:var(--text-dim)}input[type=file]::file-selector-button{margin-right:8px;padding:5px 10px;background:var(--bg-panel-alt);border:1px solid var(--border-control);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:1.15rem;cursor:pointer}.file-row{display:flex;align-items:center;gap:8px}.checkbox{display:flex;align-items:flex-start;gap:8px;color:var(--text-dim);font-size:1.2rem;line-height:1.4;cursor:pointer}.checkbox input{margin:1px 0 0;accent-color:var(--accent)}.checkbox-compact{font-size:1.15rem}.hint{margin:0;color:var(--text-faint);font-size:1.1rem;line-height:1.5}.hint code{font-family:var(--mono);color:var(--text-dim)}.color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:10px;align-items:end}.swatches{display:flex;flex-wrap:wrap;gap:6px}.swatch{display:flex;width:42px;height:22px;padding:0;border:1px solid var(--border-strong);border-radius:var(--radius-sm);overflow:hidden;cursor:pointer}.swatch span{flex:1 1 0}.swatches-label{flex:0 0 100%;margin-top:.2rem;color:var(--text-dim);font-size:1rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.swatch:hover{border-color:var(--accent)}.btn{padding:7px 13px;background:var(--bg-panel-alt);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:1.25rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .12s ease,border-color .12s ease}.btn:hover{background:var(--bg-hover);border-color:var(--border-hover)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent-strong)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-accent{background:var(--gold);border-color:var(--gold);color:var(--on-gold)}.btn-accent:hover{background:var(--gold-hover);border-color:var(--gold-hover)}.btn-small{padding:5px 10px;font-size:1.15rem}.btn-block{width:100%}.btn-group{display:flex}.btn-group .btn{border-radius:0;margin-left:-1px}.btn-group .btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm);margin-left:0}.btn-group .btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.language-select{width:auto;min-width:92px;padding:7px 26px 7px 9px;font-size:1.25rem}.theme-select{min-width:84px}.field-inline{flex-direction:row;align-items:center;gap:8px}.field-inline .field-label{white-space:nowrap}.field-inline input{width:150px}.stage{position:relative;min-width:0;display:grid;grid-template-rows:minmax(0,1fr) auto;background:var(--bg-stage);overflow-x:clip}.stage-view{position:relative;min-height:0}.viewport{position:absolute;inset:0}.viewport canvas{display:block;width:100%;height:100%}.stage-overlay{--stage-line: 3.5rem;position:absolute;inset:1.05rem;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:minmax(0,1fr);column-gap:.9rem;pointer-events:none}.stage-overlay>*,.stage-left>*{pointer-events:auto}.stage-left{display:flex;flex-direction:column;align-items:flex-start;gap:.9rem;min-width:0;min-height:0;pointer-events:none}.stage-left>.stage-box{flex:0 1 auto}.history-actions{align-self:start;display:flex;align-items:center;gap:.35rem;min-height:var(--stage-line);padding:.35rem;background:var(--bg-overlay);border:.1rem solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stage-box{max-width:100%;max-height:100%;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;border:.1rem solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stage-box-summary{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:.6rem;min-height:calc(var(--stage-line) - .2rem);padding:.5rem 1.2rem .5rem .8rem;background:var(--bg-overlay-strong);color:var(--text);cursor:pointer;list-style:none}.stage-box-summary::-webkit-details-marker{display:none}.stage-box-summary:hover{background-image:linear-gradient(var(--hover-tint),var(--hover-tint))}.stage-box-summary:focus-visible{outline:.2rem solid var(--accent);outline-offset:-.2rem;border-radius:var(--radius)}.stage-box-caret{width:1.1rem;height:1.1rem;flex:none;color:var(--text-dim);transition:transform .15s ease}.stage-box[open]>.stage-box-summary .stage-box-caret{transform:rotate(90deg)}.stage-status{color:var(--text-dim);font-family:var(--mono);font-size:1.1rem}.stage-status-lead{min-width:0}.stage-status-lead>span{display:inline-block;max-width:100%}.stage-status-items{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;padding:0 1.2rem .8rem 2.5rem;background:var(--bg-overlay-strong)}.parts-legend{justify-self:end;align-self:start}.legend-title{color:var(--text-dim);font-size:1rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.legend-material{padding:.2rem 1rem .7rem;border-bottom:.1rem solid var(--border);background:var(--bg-overlay-strong)}.material-title{margin:0 0 .3rem;color:var(--text-dim);font-size:1rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.material-advice{display:flex;flex-direction:column;gap:.5rem;max-width:30rem;font-size:1.1rem;line-height:1.35;color:var(--text-dim)}.material-advice p{margin:0}.material-group{display:flex;flex-direction:column;gap:.1rem}.material-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem;color:var(--text)}.material-layer{margin-top:.2rem}.material-name{padding:0 .5rem;border:.1rem solid var(--accent);border-radius:var(--radius-sm);color:var(--text);font-weight:600;white-space:nowrap}.material-extras{color:var(--text-faint)}.material-note{padding-left:.6rem;border-left:.2rem solid var(--border-strong)}.material-special summary{cursor:pointer;color:var(--text)}.material-special summary:hover{color:var(--accent)}.material-special[open] summary{margin-bottom:.3rem}.material-special-lines{display:flex;flex-direction:column;gap:.3rem;margin:0;padding-left:1.4rem}.legend-material:not([hidden])+.legend-items{padding-top:.5rem}.tips-body .material-advice{max-width:none;font-size:1.3rem}.legend-items{display:flex;flex-direction:column;gap:.15rem;padding:0 .6rem .6rem;background:var(--bg-overlay-strong)}.legend-item{display:flex;align-items:center;gap:.6rem;min-width:0;padding:.15rem .4rem .15rem .15rem;border-radius:var(--radius-sm);color:var(--text-dim);font-size:1.15rem;line-height:1.3;cursor:pointer;-webkit-user-select:none;user-select:none}.legend-item:hover{background:var(--hover-tint)}.legend-item.is-hidden>:not(.legend-eye){opacity:.4}.legend-eye{flex:none;display:grid;place-items:center;width:2.2rem;height:2.2rem;padding:0;background:transparent;border:.1rem solid transparent;border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer}.legend-eye svg{display:block;width:1.5rem;height:1.5rem;fill:currentColor}.legend-eye:hover{border-color:var(--border-hover);color:var(--text)}.legend-eye:focus-visible{outline:.2rem solid var(--accent);outline-offset:.1rem}.legend-dot{width:1rem;height:1rem;border-radius:var(--radius-xs);border:.1rem solid var(--swatch-ring);flex:0 0 auto}.legend-name{flex:0 10 auto}.legend-color{flex:0 1 auto;color:var(--text)}.legend-count{margin-left:auto;padding-left:.4rem;white-space:nowrap;color:var(--text-faint);font-family:var(--mono);font-size:1.05rem}.stage-warnings{display:flex;align-items:flex-start;gap:.8rem;padding:.8rem 1.1rem;background:var(--warn-bg);border-top:.1rem solid var(--warn-border);color:var(--warn-text);font-size:1.15rem;line-height:1.5;max-height:10rem;overflow-y:auto}.stage-warnings-lines{flex:1;min-width:0;display:flex;flex-direction:column;gap:.45rem}.stage-warnings-close{flex:none;width:2.6rem;height:2.6rem;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:.1rem solid transparent;border-radius:var(--radius-sm);color:inherit;font-size:1.6rem;line-height:1;cursor:pointer}.stage-warnings-more{display:none;flex:none;align-self:center;padding:.3rem .6rem;background:transparent;border:.1rem solid var(--warn-border);border-radius:var(--radius-sm);color:inherit;font:inherit;white-space:nowrap;cursor:pointer}.stage-warnings-more:focus-visible{outline:.2rem solid var(--accent);outline-offset:.1rem}.stage-warnings-close:hover{border-color:var(--warn-border)}.stage-warnings-close:focus-visible{outline:.2rem solid var(--accent);outline-offset:.1rem}.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:40}.modal[hidden]{display:none}.modal-card{width:min(760px,100%);max-height:82vh;display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden;box-shadow:0 24px 60px var(--shadow-strong)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-head h2{margin:0;font-size:1.5rem;font-weight:600}.modal-body{padding:16px 18px 20px;overflow-y:auto}.design-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px}.design-card{display:flex;flex-direction:column;background:var(--bg-panel-alt);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.design-card:hover{border-color:var(--accent)}.design-thumb{aspect-ratio:1;width:100%;object-fit:cover;background:var(--bg-thumb);display:block;cursor:pointer}.design-meta{padding:8px 10px 10px;display:flex;flex-direction:column;gap:3px}.design-name{font-family:var(--font-display);font-weight:600;font-size:1.25rem;word-break:break-word}.design-sub{color:var(--text-faint);font-size:1.1rem}.design-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.design-actions .btn{flex:1 1 40%}.btn-danger{border-color:var(--danger-border);color:var(--danger-link)}.btn-danger:hover{background:var(--danger-bg);border-color:var(--danger)}.empty-state{padding:40px 12px;text-align:center;color:var(--text-faint);font-size:1.25rem;line-height:1.6}.toast{position:fixed;left:50%;bottom:calc(var(--site-footer-h, 0px) + 26px);transform:translate(-50%);padding:10px 18px;background:var(--bg-panel-alt);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);font-size:1.25rem;box-shadow:0 10px 30px var(--shadow);z-index:60}.toast[hidden]{display:none}.toast.is-error{border-color:var(--danger);color:var(--danger-text)}.toast.is-success{border-color:var(--success);color:var(--success-text)}.toast-report{color:inherit;font-weight:500;text-decoration:underline;white-space:nowrap}.toast-report:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-xs)}.toast-action{padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:500;text-decoration:underline;white-space:nowrap;cursor:pointer}.toast-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-xs)}@media(max-width:1080px){:root{--sidebar-width: 300px}.topbar{flex-wrap:wrap}}@media(max-width:860px){.layout{grid-template-columns:1fr;grid-template-rows:minmax(0,44%) 1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border)}.parts-legend{display:none}.stage-overlay{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,auto) auto;row-gap:.9rem;align-content:start}.stage-left{display:contents}.stage-status{grid-column:1;grid-row:1;justify-self:start;align-self:start}.history-actions{grid-column:2;grid-row:1}.stage-tools{grid-column:1 / -1;grid-row:2;justify-self:start;max-width:100%}.stage-warnings{align-items:center;padding:.5rem .8rem .5rem 1.1rem}.stage-warnings-lines{gap:.2rem}.stage-warnings:not(.is-open) .stage-warnings-lines>*{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.stage-warnings.is-open{align-items:flex-start}.stage-warnings-more{display:block}}.user-menu-slot{display:flex;align-items:center}.user-menu{position:relative}.user-button{display:inline-flex;align-items:center;gap:8px;max-width:260px}.user-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.2rem}.plan-badge{display:inline-block;padding:1px 7px;border-radius:var(--radius-pill);font-family:var(--font-display);font-size:1.05rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;background:var(--border);color:var(--text-dim)}.plan-badge.plan-premium{background:var(--gold);color:var(--on-gold)}.user-dropdown{position:absolute;right:0;top:calc(100% + 6px);min-width:220px;z-index:30;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:8px;box-shadow:0 12px 32px var(--shadow)}.user-line{font-size:1.2rem;color:var(--text-dim)}.lock-badge{display:inline-block;padding:1px 6px;margin-right:6px;border-radius:var(--radius-pill);font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:var(--gold);color:var(--on-gold);vertical-align:middle}.btn.is-locked{opacity:.75}.btn.is-locked:hover{opacity:1}.field.is-locked input[type=file]{opacity:.5;cursor:not-allowed}.font-pack-hint{margin-top:-7px}.font-manager summary{cursor:pointer;color:var(--text-dim);font-size:1.15rem}.font-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.font-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:1.2rem}.font-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hint.quota{color:var(--accent)}.library-usage{font-family:var(--font);font-size:1.2rem;font-weight:400;color:var(--text-dim);margin-left:8px}.legal-links{font-size:1.15rem;color:var(--text-faint);text-align:center;padding:8px 0 16px}.legal-links a{color:var(--text-dim)}body:is(.auth,.legal)>.site-scroll{display:flex;flex-direction:column;align-items:center;padding:24px 16px}.auth-card,.legal-card{flex:none;margin:auto 0;width:100%;max-width:420px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:14px}.legal-card{max-width:760px;line-height:1.55}.legal-card h1{font-size:2.2rem;margin:8px 0}.legal-card h2{font-size:1.5rem;margin:18px 0 6px}.legal-card hr{border:0;border-top:1px solid var(--border);margin:24px 0}.auth-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-controls{display:flex;align-items:center;gap:8px}.auth-card h1{font-size:2rem;margin:0}.auth-card form{display:flex;flex-direction:column;gap:12px}.auth-card .field input{width:100%}.auth-links{display:flex;flex-direction:column;gap:6px;font-size:1.25rem;color:var(--text-dim)}.auth-links a{color:var(--accent)}.auth-divider{display:flex;align-items:center;gap:10px;color:var(--text-dim);font-size:1.2rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-top:1px solid var(--border)}.auth-message{padding:10px 12px;border-radius:var(--radius-sm);font-size:1.3rem;background:var(--bg-panel-alt)}.auth-message.is-error{background:var(--danger-bg);color:var(--danger-text)}.auth-message.is-success{background:var(--success-bg);color:var(--success-text)}.auth-notice{margin:0;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-dim);font-size:1.25rem;line-height:1.45}.btn-google{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--google-bg);color:var(--google-text);border-color:var(--google-border)}.btn-google:hover{background:var(--google-hover);border-color:var(--google-border)}.auth-legal{font-size:1.15rem;color:var(--text-faint)}.auth-legal a{color:var(--text-dim)}.btn-icon{padding:6px;line-height:0}.btn-icon svg{width:16px;height:16px;display:block}.design-actions .design-reuse-holder{flex:1 1 100%;display:flex}.design-reuse-holder .btn{flex:1 1 auto}.design-reuse{padding:5px 26px 5px 9px;font-size:1.15rem}.transfer-note{border-color:var(--accent)}.context-menu{position:absolute;z-index:40;min-width:200px;padding:6px;display:flex;flex-direction:column;gap:2px;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:0 12px 32px var(--shadow)}.context-menu:focus{outline:none}.context-menu-item{display:block;width:100%;padding:7px 10px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text);font:inherit;font-size:1.25rem;text-align:left;cursor:pointer}.context-menu-item:hover,.context-menu-item:focus-visible{background:var(--bg-hover);outline:none}.context-menu-item:disabled{color:var(--text-faint);cursor:not-allowed;background:none}.context-menu-separator{border:0;border-top:1px solid var(--border);margin:4px 0}body:is(.hub,.site-frame){display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:0;padding:0;overflow:hidden}body:is(.hub,.site-frame)>*{flex:none}body:is(.hub,.site-frame)>.hub-header{position:relative}body:is(.hub,.site-frame)>.site-scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}body:is(.hub,.site-frame)>.site-scroll:focus{outline:none}body:is(.hub,.site-frame) .site-scroll [id]{scroll-margin-top:1.2rem}body:is(.hub,.site-frame) .back-to-top{bottom:calc(var(--site-footer-h, 0px) + max(1.6rem,env(safe-area-inset-bottom)))}@media print{body:is(.hub,.site-frame){display:block;height:auto;overflow:visible}body:is(.hub,.site-frame)>.site-scroll{overflow:visible}body:is(.hub,.site-frame)>.hub-footer,body:is(.hub,.site-frame) .back-to-top,body:is(.hub,.site-frame) .hub-backdrop{display:none}}.promo-banner{position:relative;z-index:20;flex:none;background:linear-gradient(90deg,var(--promo-bg),var(--promo-bg-edge));border-bottom:1px solid var(--promo-border);color:var(--promo-text);font-family:var(--font);font-size:1.3rem;line-height:1.35}.promo-banner-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"icon text actions close";align-items:center;gap:.4rem 1.2rem;width:100%;max-width:1280px;margin:0 auto;padding:.7rem clamp(16px,4vw,40px)}.promo-banner-icon{grid-area:icon;width:2.4rem;height:2.4rem;color:var(--promo-strong)}.promo-banner-text,.promo-banner-status{grid-area:text;margin:0;min-width:0}.promo-banner-headline{margin-right:.4rem;color:var(--promo-strong);font-family:var(--font-display);font-size:1.5rem;font-weight:600}.promo-banner-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.3rem}.promo-banner-link:hover{text-decoration-thickness:2px}.promo-banner-code{display:inline-block;margin:0 .2rem;padding:.05rem .6rem;border-radius:var(--radius-sm);background:var(--promo-chip-bg);color:var(--promo-chip-text);font-family:var(--mono);font-size:1.2rem;font-weight:400;letter-spacing:.04em;white-space:nowrap}.promo-banner-remaining{white-space:nowrap;font-weight:500}.promo-banner-remaining:before{content:"\b7  "}.promo-banner-actions{grid-area:actions;display:flex;align-items:center;gap:.4rem 1.2rem;white-space:nowrap}.promo-banner-cta{border-color:var(--promo-cta-border);font-weight:600;text-decoration:none}.promo-banner-signin{color:inherit;font-weight:500;text-decoration:underline;text-underline-offset:.2em}.promo-banner-signin:hover{color:var(--promo-strong)}.promo-banner-close{grid-area:close;display:inline-flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;padding:0;border:0;border-radius:var(--radius-round);background:transparent;color:inherit;cursor:pointer}.promo-banner-close svg{width:1.6rem;height:1.6rem}.promo-banner-close:hover{background:color-mix(in srgb,var(--promo-text) 14%,transparent)}.promo-banner a:focus-visible,.promo-banner button:focus-visible{outline:2px solid var(--promo-strong);outline-offset:2px}.promo-banner.is-done .promo-banner-status{font-weight:500}.promo-banner.is-redeemed .promo-banner-status{color:var(--promo-strong)}@media(max-width:720px){.promo-banner{font-size:1.2rem}.promo-banner-inner{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"text close" "actions actions";gap:.3rem .6rem;padding:.5rem 12px .6rem}.promo-banner-icon{display:none}.promo-banner-close{align-self:start;width:2.8rem;height:2.8rem;margin:-.2rem -.4rem 0 0}.promo-banner-headline{display:block;margin:0;font-size:1.4rem}.promo-banner-cta{padding:4px 12px;font-size:1.2rem}}@media(max-width:380px){.promo-banner-signin{display:none}}.promo-banner--compact{font-size:1.2rem}.promo-banner--compact .promo-banner-inner{max-width:none;gap:0 1rem;padding:.25rem var(--topbar-pad, 16px)}.promo-banner--compact .promo-banner-icon{width:1.8rem;height:1.8rem}.promo-banner--compact .promo-banner-headline{font-size:1.3rem}.promo-banner--compact .promo-banner-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.promo-banner--compact .promo-banner-cta{padding:3px 10px;font-size:1.15rem}.promo-banner--compact .promo-banner-signin{display:none}.promo-banner--compact .promo-banner-close{width:2.6rem;height:2.6rem}@media(max-width:1100px){.promo-banner--compact .promo-banner-subtitle{font-size:0}.promo-banner--compact .promo-banner-subtitle .promo-banner-code{font-size:1.1rem}.promo-banner--compact .promo-banner-remaining{display:none}}@media(max-width:720px){.promo-banner--compact .promo-banner-inner{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"icon text actions close"}.promo-banner--compact .promo-banner-headline{display:inline}.promo-banner--compact .promo-banner-icon{display:none}}@media(forced-colors:active){.promo-banner{border-bottom:1px solid CanvasText}.promo-banner-code{border:1px solid CanvasText}}@media print{.promo-banner{display:none!important}}.season-banner{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:2.4rem;box-sizing:border-box;min-height:27rem;margin:0 0 clamp(2.4rem,4vw,3.6rem);padding:3rem 3.6rem 3.4rem;border-radius:2.2rem;background:linear-gradient(112deg,var(--sb-sky-a) 0%,var(--sb-sky-b) 100%);color:var(--sb-ink);box-shadow:0 1.6rem 3.2rem -1.8rem var(--shadow),inset 0 0 0 1px var(--sb-edge);text-align:left}.season-body{position:relative;z-index:2;min-width:0}.season-days{margin:0 0 1.3rem;font-size:1.15rem;line-height:1}.season-days span{display:inline-block;padding:.55rem 1.1rem;border-radius:var(--radius-pill);background:var(--sb-chip);color:var(--sb-chip-ink);font-family:var(--font-display);font-weight:600;letter-spacing:.07em;text-transform:uppercase}.season-title{margin:0 0 1rem;font-family:var(--font-display);font-size:clamp(2.7rem,1.5rem + 2.6vw,4.1rem);font-weight:600;line-height:1.06;letter-spacing:-.01em;text-wrap:balance;color:var(--sb-ink)}.season-subtitle{max-width:31em;margin:0 0 2rem;font-size:1.5rem;line-height:1.45;color:var(--sb-ink-dim);text-wrap:pretty}.season-cta{display:inline-flex;align-items:center;gap:.8rem;padding:1.05rem 1.9rem;border-radius:var(--radius-pill);background:var(--sb-cta);color:var(--sb-cta-ink);font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1.1;text-decoration:none;box-shadow:0 .7rem 1.6rem -.7rem var(--sb-cta-shadow);transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.season-cta-arrow{width:1.7rem;height:1.7rem;transition:transform .14s ease}.season-cta:hover{transform:translateY(-.15rem);filter:brightness(1.06)}.season-cta:hover .season-cta-arrow{transform:translate(.3rem)}.season-cta:active{transform:none}.season-cta:focus-visible,.season-close:focus-visible{outline:.25rem solid var(--sb-ink);outline-offset:.25rem}.season-close{position:absolute;z-index:3;top:1.1rem;right:1.1rem;display:grid;place-items:center;width:3.2rem;height:3.2rem;padding:0;border:0;border-radius:var(--radius-round);background:color-mix(in srgb,var(--sb-sky-a) 78%,transparent);box-shadow:inset 0 0 0 1px var(--sb-edge);color:var(--sb-ink);cursor:pointer;opacity:.92;transition:opacity .12s ease,transform .12s ease}.season-close svg{width:1.5rem;height:1.5rem}.season-close:hover{opacity:1;transform:scale(1.06)}.season-photos{position:relative;z-index:2;display:block;height:21rem;margin-right:2.2rem}.season-photo{position:absolute;box-sizing:border-box;width:36.5%;aspect-ratio:4 / 3;overflow:hidden;border:.45rem solid var(--sb-print-edge);border-radius:1.3rem;background:var(--sb-print);box-shadow:0 1rem 2rem -.9rem #0000008c;transition:transform .18s ease}.season-photo img{display:block;width:100%;height:100%;object-fit:contain}.season-photo:nth-child(1){bottom:.8rem;left:0;transform:rotate(-6deg)}.season-photo:nth-child(2){bottom:4.2rem;left:31.75%;z-index:1;transform:rotate(1.5deg)}.season-photo:nth-child(3){right:0;bottom:.4rem;transform:rotate(6deg)}.season-photos--1 .season-photo{bottom:1.6rem;left:20%;width:58%;transform:rotate(-3deg)}.season-photos--2 .season-photo{width:44%}.season-photos--2 .season-photo:nth-child(1){left:4%}.season-photos--2 .season-photo:nth-child(2){right:4%;bottom:2.4rem;left:auto;transform:rotate(5deg)}.season-photos:hover .season-photo:nth-child(1){transform:rotate(-7.5deg) translate(-.3rem,-.2rem)}.season-photos:hover .season-photo:nth-child(2){transform:rotate(1.5deg) translateY(-.4rem)}.season-photos:hover .season-photo:nth-child(3){transform:rotate(7.5deg) translate(.3rem,-.2rem)}.season-photos--2:hover .season-photo:nth-child(2){transform:rotate(6.5deg) translate(.3rem,-.2rem)}.season-art{position:absolute;z-index:0;inset:0;pointer-events:none}.season-art svg{display:block;width:100%;height:100%;overflow:visible}.season-sky{position:absolute;z-index:0;top:.6rem;right:5.2rem;width:11.5rem;height:11.5rem}.season-ground{position:absolute;z-index:1;right:0;bottom:0;left:0;height:9.5rem}.season-prop{position:absolute;z-index:2;bottom:0}.season-motes{position:absolute;z-index:3;inset:0 0 0 56%;container-type:size;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3.5rem);mask-image:linear-gradient(90deg,transparent 0,#000 3.5rem)}.season-mote{position:absolute;display:block}.season-banner--no-photos .season-sky{top:.8rem;right:8%;width:17rem;height:17rem}.season-banner--halloween .season-prop--a{left:47.4%;bottom:.5rem;width:7.4rem;height:6.7rem}.season-banner--halloween .season-prop--b{right:.7rem;bottom:.3rem;width:4.4rem;height:4rem}.season-banner--halloween .season-prop--c{left:41%;bottom:2.2rem;width:3.8rem;height:4.4rem;opacity:.94}.season-banner--halloween.season-banner--no-photos .season-prop--a{left:auto;right:22%;width:14rem;height:12.6rem}.season-banner--halloween.season-banner--no-photos .season-prop--b{right:1.4rem;width:5.6rem;height:5rem}.season-banner--halloween.season-banner--no-photos .season-prop--c{left:auto;right:41%;width:4.6rem;height:5.4rem}.season-banner--halloween .season-mote{width:4.4rem;height:2.5rem}.season-banner--halloween .season-mote:nth-child(1){top:9%;left:12%}.season-banner--halloween .season-mote:nth-child(2){top:22%;left:40%;width:3rem;height:1.7rem}.season-banner--halloween .season-mote:nth-child(3){top:17%;left:60%;width:3.2rem;height:1.8rem}.season-banner--halloween .season-mote:nth-child(4){top:30%;left:9%;width:2.4rem;height:1.35rem;opacity:.7}.season-banner--christmas .season-prop--a{left:47.4%;bottom:.7rem;width:5.6rem;height:7.9rem}.season-banner--christmas .season-prop--b{right:.2rem;bottom:.2rem;width:6.6rem;height:4.9rem}.season-banner--christmas .season-prop--c{left:42%;bottom:.7rem;width:3.4rem;height:3.4rem}.season-banner--christmas.season-banner--no-photos .season-sky{right:27%;width:16rem;height:16rem}.season-banner--christmas.season-banner--no-photos .season-prop--a{left:auto;right:16%;width:12.4rem;height:17.4rem}.season-banner--christmas.season-banner--no-photos .season-prop--b{right:.6rem;width:13.6rem;height:10.2rem}.season-banner--christmas.season-banner--no-photos .season-prop--c{left:auto;right:31.5%;width:5.6rem;height:5.6rem}.season-banner--christmas .season-mote{width:.7rem;height:.7rem;border-radius:var(--radius-round);background:var(--sb-mote)}.season-banner--christmas .season-mote:nth-child(1){left:5%;top:12%}.season-banner--christmas .season-mote:nth-child(2){left:9%;top:58%;width:.5rem;height:.5rem}.season-banner--christmas .season-mote:nth-child(3){left:16%;top:5%;width:.45rem;height:.45rem}.season-banner--christmas .season-mote:nth-child(4){left:24%;top:70%}.season-banner--christmas .season-mote:nth-child(5){left:31%;top:9%;width:.9rem;height:.9rem;opacity:.8}.season-banner--christmas .season-mote:nth-child(6){left:38%;top:66%;width:.5rem;height:.5rem}.season-banner--christmas .season-mote:nth-child(7){left:44%;top:22%}.season-banner--christmas .season-mote:nth-child(8){left:52%;top:8%;width:.5rem;height:.5rem}.season-banner--christmas .season-mote:nth-child(9){left:59%;top:48%;width:.9rem;height:.9rem;opacity:.8}.season-banner--christmas .season-mote:nth-child(10){left:66%;top:14%}.season-banner--christmas .season-mote:nth-child(11){left:73%;top:58%;width:.5rem;height:.5rem}.season-banner--christmas .season-mote:nth-child(12){left:76%;top:30%}.season-banner--christmas .season-mote:nth-child(13){left:80%;top:52%;width:.9rem;height:.9rem;opacity:.8}.season-banner--christmas .season-mote:nth-child(14){left:62%;top:36%;width:.5rem;height:.5rem}.season-banner--christmas .season-mote:nth-child(15){left:28%;top:40%}.season-banner--christmas .season-mote:nth-child(16){left:48%;top:80%;width:.45rem;height:.45rem}.season-banner--easter .season-prop--a{left:46.4%;bottom:.2rem;width:9.6rem;height:5.2rem}.season-banner--easter .season-prop--b{right:.4rem;bottom:.2rem;width:5.4rem;height:4.7rem;transform-origin:50% 100%}.season-banner--easter .season-prop--c{z-index:0;left:39.5%;bottom:2.6rem;width:5rem;height:6rem}.season-banner--easter.season-banner--no-photos .season-prop--a{left:auto;right:15.5%;width:22rem;height:12rem}.season-banner--easter.season-banner--no-photos .season-prop--b{width:11.4rem;height:10rem}.season-banner--easter.season-banner--no-photos .season-prop--c{left:50%;bottom:2rem;width:7.4rem;height:8.9rem}.season-banner--easter .season-mote{width:1rem;height:.7rem;border-radius:80% 10%;background:var(--sb-mote)}.season-banner--easter .season-mote:nth-child(2n){background:var(--sb-mote-b)}.season-banner--easter .season-mote:nth-child(1){left:6%;top:10%;transform:rotate(20deg)}.season-banner--easter .season-mote:nth-child(2){left:22%;top:64%;transform:rotate(-30deg)}.season-banner--easter .season-mote:nth-child(3){left:35%;top:9%;transform:rotate(60deg)}.season-banner--easter .season-mote:nth-child(4){left:46%;top:30%;transform:rotate(-12deg)}.season-banner--easter .season-mote:nth-child(5){left:57%;top:12%;transform:rotate(40deg)}.season-banner--easter .season-mote:nth-child(6){left:68%;top:44%;transform:rotate(-50deg)}.season-banner--easter .season-mote:nth-child(7){left:77%;top:62%;transform:rotate(15deg)}.season-banner--easter .season-mote:nth-child(8){left:14%;top:40%;transform:rotate(-25deg)}.season-banner--easter .season-mote:nth-child(9){left:63%;top:24%;transform:rotate(70deg)}@media(prefers-reduced-motion:no-preference){.season-banner .s-glow{animation:season-glow 5.5s ease-in-out infinite alternate}.season-banner .s-glow-far{animation-duration:7s;animation-delay:-2s}.season-banner .s-twinkle{animation:season-twinkle 2.8s ease-in-out infinite alternate}.season-banner .s-twinkle:nth-of-type(odd){animation-delay:-1.4s;animation-duration:3.6s}.season-banner--halloween .season-mote svg{animation:season-hover 6s ease-in-out infinite alternate}.season-banner--halloween .season-mote:nth-child(2) svg{animation-duration:7.5s;animation-delay:-3s}.season-banner--halloween .season-mote:nth-child(3) svg{animation-duration:5.2s;animation-delay:-1.5s}.season-banner--halloween .season-mote:nth-child(4) svg{animation-duration:8.4s;animation-delay:-5s}.season-banner--halloween .s-face{animation:season-candle 3.4s ease-in-out infinite alternate}.season-banner--halloween .season-prop--c{animation:season-bob 5s ease-in-out infinite alternate}@supports (height: 1cqh){.season-banner--christmas .season-mote{top:-1.2rem;animation:season-fall 11s linear infinite}.season-banner--christmas .season-mote:nth-child(3n){animation-duration:15s}.season-banner--christmas .season-mote:nth-child(3n+1){animation-duration:9s}}.season-banner--christmas .season-mote:nth-child(2){animation-delay:-2s}.season-banner--christmas .season-mote:nth-child(3){animation-delay:-7s}.season-banner--christmas .season-mote:nth-child(4){animation-delay:-4.5s}.season-banner--christmas .season-mote:nth-child(5){animation-delay:-9s}.season-banner--christmas .season-mote:nth-child(6){animation-delay:-1s}.season-banner--christmas .season-mote:nth-child(7){animation-delay:-6s}.season-banner--christmas .season-mote:nth-child(8){animation-delay:-3.2s}.season-banner--christmas .season-mote:nth-child(9){animation-delay:-12s}.season-banner--christmas .season-mote:nth-child(10){animation-delay:-5.4s}.season-banner--christmas .season-mote:nth-child(11){animation-delay:-8s}.season-banner--christmas .season-mote:nth-child(12){animation-delay:-.6s}.season-banner--christmas .season-mote:nth-child(13){animation-delay:-10s}.season-banner--christmas .season-mote:nth-child(14){animation-delay:-2.8s}.season-banner--christmas .season-mote:nth-child(15){animation-delay:-6.6s}.season-banner--christmas .season-mote:nth-child(16){animation-delay:-4s}.season-banner--easter .season-mote{top:-1.2rem;animation:season-petal 13s linear infinite}.season-banner--easter .season-mote:nth-child(2){animation-delay:-3s;animation-duration:16s}.season-banner--easter .season-mote:nth-child(3){animation-delay:-8s}.season-banner--easter .season-mote:nth-child(4){animation-delay:-5s;animation-duration:17s}.season-banner--easter .season-mote:nth-child(5){animation-delay:-11s}.season-banner--easter .season-mote:nth-child(6){animation-delay:-1.5s;animation-duration:15s}.season-banner--easter .season-mote:nth-child(7){animation-delay:-6.5s}.season-banner--easter .season-mote:nth-child(8){animation-delay:-9.5s;animation-duration:18s}.season-banner--easter .season-mote:nth-child(9){animation-delay:-4s}.season-banner--easter .season-prop--b{animation:season-sway 4.6s ease-in-out infinite alternate}.season-banner--easter .season-prop--c{animation:season-peek 6s ease-in-out infinite alternate}}@keyframes season-glow{0%{opacity:var(--sb-glow-low)}to{opacity:var(--sb-glow-high)}}@keyframes season-twinkle{0%{opacity:.35}to{opacity:1}}@keyframes season-hover{0%{transform:translate(0) rotate(-4deg)}to{transform:translate(1.3rem,-.9rem) rotate(5deg)}}@keyframes season-candle{0%,55%{opacity:1}70%{opacity:.82}85%{opacity:.96}to{opacity:.86}}@keyframes season-bob{0%{transform:translateY(.5rem)}to{transform:translateY(-.5rem)}}@keyframes season-fall{0%{transform:translate(0)}50%{transform:translate(1.4rem,50cqh)}70%{opacity:.9}92%{opacity:0}to{transform:translate(-.6rem,calc(100cqh + 2.4rem));opacity:0}}@keyframes season-petal{0%{transform:translate(0) rotate(0)}50%{transform:translate(2.4rem,50cqh) rotate(160deg)}70%{opacity:.9}92%{opacity:0}to{transform:translate(-1rem,calc(100cqh + 2.4rem)) rotate(330deg);opacity:0}}@keyframes season-sway{0%{transform:rotate(-2.2deg)}to{transform:rotate(2.2deg)}}@keyframes season-peek{0%,40%{transform:translateY(.9rem)}to{transform:translateY(0)}}@media(max-width:760px){.season-banner{--sb-band: 7.6rem;grid-template-columns:minmax(0,1fr);row-gap:1.8rem;min-height:0;padding:2.6rem 2rem calc(var(--sb-band) + .4rem);border-radius:1.8rem}.season-banner--no-photos{--sb-band: 10.4rem}.season-days{margin-right:11.6rem;line-height:1.5}.season-title{font-size:clamp(2.5rem,7.6vw,3.2rem)}.season-body>.season-title:first-child{padding-right:11.6rem}.season-subtitle{margin-bottom:1.6rem;font-size:1.4rem}.season-cta{padding:1.3rem 2.1rem}.season-close{width:3.9rem;height:3.9rem}.season-photos{display:flex;justify-content:center;height:auto;margin:0 -.4rem}.season-photo,.season-photos--1 .season-photo,.season-photos--2 .season-photo,.season-photos--2 .season-photo:nth-child(2){position:static;flex:0 0 36%;width:auto;margin:0 -1.2%;border-width:.35rem;border-radius:1rem}.season-photo:nth-child(1){transform:rotate(-6deg)}.season-photo:nth-child(2){transform:rotate(2deg) translateY(-.5rem)}.season-photo:nth-child(3){transform:rotate(6deg)}.season-sky,.season-banner--no-photos .season-sky,.season-banner--christmas.season-banner--no-photos .season-sky{top:.3rem;right:5.6rem;width:5.4rem;height:5.4rem}.season-ground{height:7.5rem}.season-motes{top:auto;left:0;height:var(--sb-band);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 2.6rem);mask-image:linear-gradient(180deg,transparent 0,#000 2.6rem)}.season-banner--halloween .season-prop--a,.season-banner--halloween.season-banner--no-photos .season-prop--a{left:auto;right:5.6rem;bottom:.3rem;width:7.2rem;height:6.5rem}.season-banner--halloween .season-prop--b,.season-banner--halloween.season-banner--no-photos .season-prop--b{right:.8rem;bottom:.2rem;width:4.6rem;height:4.1rem}.season-banner--halloween .season-prop--c,.season-banner--halloween.season-banner--no-photos .season-prop--c{left:1.6rem;right:auto;bottom:1rem;width:3.8rem;height:4.4rem}.season-banner--halloween .season-mote:nth-child(1){top:auto;bottom:2.6rem;left:24%;width:3.2rem;height:1.8rem}.season-banner--halloween .season-mote:nth-child(2){top:auto;bottom:1.6rem;left:42%;width:2.4rem;height:1.35rem}.season-banner--halloween .season-mote:nth-child(3),.season-banner--halloween .season-mote:nth-child(4){display:none}.season-banner--christmas .season-prop--a,.season-banner--christmas.season-banner--no-photos .season-prop--a{left:auto;right:6.8rem;bottom:.5rem;width:6rem;height:8.4rem}.season-banner--christmas .season-prop--b,.season-banner--christmas.season-banner--no-photos .season-prop--b{right:.3rem;width:8.2rem;height:6.1rem}.season-banner--christmas .season-prop--c,.season-banner--christmas.season-banner--no-photos .season-prop--c{left:1.8rem;right:auto;bottom:.6rem;width:4rem;height:4rem}.season-banner--easter .season-prop--a,.season-banner--easter.season-banner--no-photos .season-prop--a{left:auto;right:6.6rem;bottom:.1rem;width:11.4rem;height:6.2rem}.season-banner--easter .season-prop--b,.season-banner--easter.season-banner--no-photos .season-prop--b{right:.3rem;width:6.4rem;height:5.6rem}.season-banner--easter .season-prop--c,.season-banner--easter.season-banner--no-photos .season-prop--c{left:1.6rem;right:auto;bottom:4.7rem;width:4.4rem;height:5.3rem}}.season-banner--halloween{--sb-sky-a: #1c1236;--sb-sky-b: #4b2569;--sb-ink: #fff6e4;--sb-ink-dim: #dccff0;--sb-edge: rgba(255, 255, 255, .08);--sb-chip: rgba(255, 146, 46, .2);--sb-chip-ink: #ffb566;--sb-cta: #ff8a1f;--sb-cta-ink: #2a1200;--sb-cta-shadow: rgba(255, 138, 31, .7);--sb-print: #f6f1ea;--sb-print-edge: #fffdf8;--sb-hill-back: #2f1a4f;--sb-hill-front: #170d2b;--sb-orb: #ffe7a3;--sb-orb-mark: #f3d17c;--sb-glow: #ffe7a3;--sb-glow-low: .07;--sb-glow-high: .16;--sb-bat: #0f0822;--sb-ghost: #f4f0ff;--sb-ghost-face: #2a1745;--sb-pumpkin: #ff8a1f;--sb-pumpkin-dark: #e8690e;--sb-pumpkin-light: #ffa443;--sb-face: #ffe27a;--sb-stem: #5f8f3e}:root[data-theme=light] .season-banner--halloween{--sb-sky-a: #f1e4ff;--sb-sky-b: #ffd6ab;--sb-ink: #2b1447;--sb-ink-dim: #553d76;--sb-edge: rgba(43, 20, 71, .1);--sb-chip: rgba(91, 45, 145, .13);--sb-chip-ink: #5b2d91;--sb-cta: #ff8a1f;--sb-cta-shadow: rgba(214, 100, 10, .6);--sb-print: #ffffff;--sb-print-edge: #ffffff;--sb-hill-back: #c9a5ef;--sb-hill-front: #8f63ca;--sb-orb: #ffe9a3;--sb-orb-mark: #f3cf7a;--sb-glow: #ffffff;--sb-glow-low: .3;--sb-glow-high: .5;--sb-bat: #5b2d91;--sb-ghost: #ffffff;--sb-ghost-face: #4a2a78;--sb-face: #5a2305}.season-banner--christmas{--sb-sky-a: #0c2236;--sb-sky-b: #17536c;--sb-ink: #f4fbff;--sb-ink-dim: #c6dceb;--sb-edge: rgba(255, 255, 255, .08);--sb-chip: rgba(255, 224, 138, .16);--sb-chip-ink: #ffe08a;--sb-cta: #e5484d;--sb-cta-ink: #ffffff;--sb-cta-shadow: rgba(229, 72, 77, .75);--sb-print: #f6f1ea;--sb-print-edge: #fffdf8;--sb-hill-back: #a9c8e0;--sb-hill-front: #ecf5fc;--sb-orb: #ffe08a;--sb-orb-mark: #ffc94d;--sb-glow: #ffe08a;--sb-glow-low: .06;--sb-glow-high: .15;--sb-mote: #ffffff;--sb-pine: #2a8a60;--sb-pine-dark: #1f6f4e;--sb-pine-light: #38a371;--sb-snow: #ffffff;--sb-trunk: #7a4b2a;--sb-gold: #ffd25e;--sb-gift: #e5484d;--sb-gift-dark: #c2353b}:root[data-theme=light] .season-banner--christmas{--sb-sky-a: #cfe9ff;--sb-sky-b: #eff8ff;--sb-ink: #0f2f47;--sb-ink-dim: #2f4a5f;--sb-edge: rgba(15, 47, 71, .1);--sb-chip: rgba(217, 58, 64, .12);--sb-chip-ink: #b3262b;--sb-cta: #d93a40;--sb-cta-shadow: rgba(179, 38, 43, .6);--sb-print: #ffffff;--sb-print-edge: #ffffff;--sb-hill-back: #bcd8ee;--sb-hill-front: #ffffff;--sb-orb: #ffcf4a;--sb-orb-mark: #ffb400;--sb-glow: #fff4c2;--sb-glow-low: .45;--sb-glow-high: .8;--sb-mote: #a8d0f0}.season-banner--easter{--sb-sky-a: #22254d;--sb-sky-b: #2f5d68;--sb-ink: #fbf7ff;--sb-ink-dim: #d0d8ea;--sb-edge: rgba(255, 255, 255, .08);--sb-chip: rgba(255, 158, 196, .18);--sb-chip-ink: #ffb3d1;--sb-cta: #ff8fbd;--sb-cta-ink: #3a0d22;--sb-cta-shadow: rgba(255, 143, 189, .6);--sb-print: #f6f1ea;--sb-print-edge: #fffdf8;--sb-hill-back: #2f8058;--sb-hill-front: #236646;--sb-orb: #ffe39a;--sb-glow: #ffe39a;--sb-glow-low: .07;--sb-glow-high: .16;--sb-cloud: #e6ecff;--sb-mote: #ffb3d1;--sb-mote-b: #ffffff;--sb-egg-a: #ff9ec4;--sb-egg-b: #8fd0ff;--sb-egg-c: #ffe08a;--sb-paint-a: #ffffff;--sb-paint-b: #ffe08a;--sb-paint-line: #ffffff;--sb-paint-line-b: #b79bff;--sb-grass: #46ad72;--sb-petal-a: #ffb3d1;--sb-petal-b: #ffffff;--sb-flower-heart: #ffd25e;--sb-rabbit: #ffffff;--sb-rabbit-ear: #ffb3d1;--sb-rabbit-face: #3a2a4a;--sb-rabbit-cheek: #ffd0e2}:root[data-theme=light] .season-banner--easter{--sb-sky-a: #d9f1ff;--sb-sky-b: #fff1d2;--sb-ink: #1f3d2b;--sb-ink-dim: #3a5443;--sb-edge: rgba(31, 61, 43, .1);--sb-chip: rgba(214, 64, 130, .12);--sb-chip-ink: #b32f6e;--sb-cta: #e0508f;--sb-cta-ink: #ffffff;--sb-cta-shadow: rgba(190, 50, 110, .55);--sb-print: #ffffff;--sb-print-edge: #ffffff;--sb-hill-back: #b6e7a8;--sb-hill-front: #86d08a;--sb-orb: #ffd25e;--sb-glow: #fff0b8;--sb-glow-low: .45;--sb-glow-high: .8;--sb-cloud: #ffffff;--sb-mote: #ff9ec4;--sb-mote-b: #ffffff;--sb-grass: #4fb36f;--sb-paint-line-b: #9a7cf0;--sb-rabbit-cheek: #ffc2d9}.season-banner .s-hill-back{fill:var(--sb-hill-back)}.season-banner .s-hill-front{fill:var(--sb-hill-front)}.season-banner .s-orb{fill:var(--sb-orb)}.season-banner .s-orb-mark{fill:var(--sb-orb-mark)}.season-banner .s-glow{fill:var(--sb-glow);opacity:var(--sb-glow-high)}.season-banner .s-glow-far{opacity:var(--sb-glow-low)}.season-banner .s-bat{fill:var(--sb-bat)}.season-banner .s-ghost{fill:var(--sb-ghost)}.season-banner .s-ghost-face{fill:var(--sb-ghost-face)}.season-banner .s-pumpkin{fill:var(--sb-pumpkin)}.season-banner .s-pumpkin-dark{fill:var(--sb-pumpkin-dark)}.season-banner .s-pumpkin-light{fill:var(--sb-pumpkin-light)}.season-banner .s-face{fill:var(--sb-face)}.season-banner .s-stem{fill:var(--sb-stem)}.season-banner .s-pine{fill:var(--sb-pine)}.season-banner .s-pine-dark{fill:var(--sb-pine-dark)}.season-banner .s-pine-light{fill:var(--sb-pine-light)}.season-banner .s-snow{fill:var(--sb-snow)}.season-banner .s-trunk{fill:var(--sb-trunk)}.season-banner .s-gold{fill:var(--sb-gold)}.season-banner .s-gift{fill:var(--sb-gift)}.season-banner .s-gift-dark{fill:var(--sb-gift-dark)}.season-banner .s-cloud{fill:var(--sb-cloud);opacity:.92}.season-banner .s-egg-a{fill:var(--sb-egg-a)}.season-banner .s-egg-b{fill:var(--sb-egg-b)}.season-banner .s-egg-c{fill:var(--sb-egg-c)}.season-banner .s-paint-a{fill:var(--sb-paint-a)}.season-banner .s-paint-b{fill:var(--sb-paint-b)}.season-banner .s-paint-line{fill:none;stroke:var(--sb-paint-line);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.season-banner .s-paint-line-b{stroke:var(--sb-paint-line-b)}.season-banner .s-grass,.season-banner .s-leaf{fill:var(--sb-grass)}.season-banner .s-stalk{fill:none;stroke:var(--sb-grass);stroke-width:3;stroke-linecap:round}.season-banner .s-petal-a{fill:var(--sb-petal-a)}.season-banner .s-petal-b{fill:var(--sb-petal-b)}.season-banner .s-flower-heart{fill:var(--sb-flower-heart)}.season-banner .s-rabbit{fill:var(--sb-rabbit)}.season-banner .s-rabbit-ear{fill:var(--sb-rabbit-ear)}.season-banner .s-rabbit-face{fill:var(--sb-rabbit-face)}.season-banner .s-rabbit-cheek{fill:var(--sb-rabbit-cheek)}.season-front{position:relative;margin:0 0 clamp(2.4rem,3.5vw,3.6rem)}.season-front-title{padding-right:4rem}.season-front-close{position:absolute;top:0;right:0;display:grid;place-items:center;width:3.2rem;height:3.2rem;padding:0;border:1px solid var(--border);border-radius:var(--radius-round);background:var(--bg-panel);color:var(--text-dim);cursor:pointer}.season-front-close svg{width:1.5rem;height:1.5rem}.season-front-close:hover{color:var(--text);border-color:var(--border-hover)}.season-front-close:focus-visible{outline:.25rem solid var(--accent);outline-offset:.2rem}.season-front-title{display:flex;align-items:center;gap:.6rem}.season-front-title .season-icon{flex:none;width:1.5em;height:1.5em}.badge-season{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .8rem;border-radius:var(--radius-pill);background:var(--season-fill);color:var(--season-ink);font-family:var(--font-display);font-size:1.1rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.badge-season .season-icon{flex:none;width:1.3em;height:1.3em}.badge-season--halloween{--season-fill: #f28c28;--season-ink: #1d0f00}.badge-season--christmas{--season-fill: #4cc38a;--season-ink: #04170c}.badge-season--easter{--season-fill: #c9a7f5;--season-ink: #1c0f33}.season-front[hidden]{display:none}.featured-name:has(.badge-season){display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem}body.hub{position:relative;font-size:1.4rem}.hub-backdrop{--backdrop-travel: 18vh;position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.hub-backdrop-art{position:absolute;top:0;left:0;width:100%;height:calc(100% + var(--backdrop-travel));background-position:center;background-repeat:no-repeat;background-size:cover;filter:var(--backdrop-tone);opacity:0;will-change:transform}.hub-backdrop-art.is-loaded{opacity:var(--backdrop-art);transition:opacity .6s ease}.hub-hero,.family-title,.family-lead{position:relative;isolation:isolate;width:fit-content;max-width:100%}.hub-hero:before,.family-title:before,.family-lead:before{content:"";position:absolute;z-index:-1;inset:-.95em -1.5em;border-radius:var(--radius-pill);background:var(--type-plate);filter:blur(.85rem)}.hub-footer{position:relative;isolation:isolate}.hub-footer:before{content:"";position:absolute;z-index:-1;inset:-2.5rem 0 0;background:linear-gradient(to bottom,transparent,var(--type-plate) 2.5rem)}@media(prefers-reduced-motion:reduce){.hub-backdrop{--backdrop-travel: 0px}.hub-backdrop-art.is-loaded{transition:none}}.hub a.btn{text-decoration:none}.hub a:focus-visible,.hub button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{position:absolute;top:8px;left:8px;z-index:50;padding:8px 14px;background:var(--accent-strong);border-radius:var(--radius-sm);color:var(--on-accent-strong);font-weight:500;text-decoration:none;transform:translateY(-160%)}.skip-link:focus{transform:none}.hub-header{position:sticky;top:0;z-index:30;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;padding:var(--header-pad);background:var(--bg-panel);border-bottom:1px solid var(--border)}.hub [id]{scroll-margin-top:calc(var(--site-header-h, 6rem) + 1.2rem)}.hub-header .brand{border-radius:var(--radius-sm)}.hub-actions{display:flex;align-items:center;gap:8px}.hub-actions>a{font-family:var(--font-display)}.hub-main{flex:1 0 auto;width:100%;max-width:1080px;margin:0 auto;padding:clamp(36px,8vw,88px) var(--header-edge) 56px}@media(max-width:1080px){.hub-main{overflow-x:clip}}.hub-hero{max-width:100%;margin:0 auto clamp(28px,5vw,48px);font-size:clamp(30px,5vw,54px);line-height:1.12}.hub-hero-logo{display:block;width:clamp(22.1rem,39.1vw,37.4rem);max-width:100%;aspect-ratio:1000 / 489.69;background:currentColor;-webkit-mask-image:url(/assets/brand/logo.svg);mask-image:url(/assets/brand/logo.svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;mask-mode:alpha}.hub-design-free{margin:calc(-1*clamp(14px,3vw,30px)) auto clamp(24px,4vw,40px);max-width:48rem;text-align:center;font-family:var(--font-display);font-size:clamp(1.5rem,2.2vw,1.9rem);font-weight:600;line-height:1.35;color:var(--accent)}.hub-hero-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.product-families{display:flex;flex-direction:column;gap:clamp(28px,4vw,40px)}.family-title{margin:0 0 14px;color:var(--type-label);font-family:var(--font-display);font-size:1.3rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.family-lead{margin:-.4rem 0 1.1rem;color:var(--text);font-size:1.1rem;line-height:1.45}.repairs-entry{display:flex;align-items:center;gap:1rem;margin:0 0 1.1rem;padding:1rem 1.2rem;border:1px solid color-mix(in srgb,#d98a3d 55%,var(--border));border-radius:var(--radius);background:linear-gradient(120deg,rgba(217,138,61,.18),var(--bg-panel) 70%);color:var(--text);text-decoration:none}.repairs-entry:hover,.repairs-entry:focus-visible{border-color:#d98a3d}.repairs-entry-icon{flex:none;width:3rem;height:3rem;color:#d98a3d}.repairs-entry-text{display:grid;gap:.2rem;min-width:0}.repairs-entry-title{font-family:var(--font-display);font-size:1.3rem;font-weight:600}.repairs-entry-note{color:var(--text-dim);font-size:1.05rem}.repairs-entry-go{margin-left:auto;flex:none;color:#d98a3d;font-size:1.6rem}.product-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin:0;padding:0;list-style:none}.product-card{--card-accent: var(--accent);--card-tint: rgba(77, 163, 255, .13);flex:1 1 250px;max-width:min(320px,100%);position:relative;display:flex;flex-direction:column;gap:12px;padding:24px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.product-card:hover{border-color:var(--card-accent);box-shadow:0 14px 34px var(--shadow-soft);transform:translateY(-3px)}.product-icon{width:60px;height:60px;padding:10px;background:var(--card-tint);border-radius:var(--radius-sm);color:var(--card-accent)}.product-thumb{display:block;width:100%;aspect-ratio:4 / 3;padding:6px;background:var(--card-tint);border-radius:var(--radius-sm);object-fit:contain}.product-card.has-thumb .product-icon{position:absolute;top:34px;right:34px;width:38px;height:38px;padding:7px;background:var(--bg-panel);border:1px solid var(--card-tint);border-radius:var(--radius-xs)}.product-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:4px 0 0;font-family:var(--font-display);font-size:1.9rem;font-weight:600}.product-link{color:var(--text);text-decoration:none}.product-link:after{content:"";position:absolute;inset:0;border-radius:inherit}.hub .product-link:focus-visible{outline:none}.product-link:focus-visible:after{outline:2px solid var(--accent);outline-offset:3px}.badge-new{padding:2px 8px;background:var(--accent);border-radius:var(--radius-pill);color:var(--on-accent);font-family:var(--font-display);font-size:1.1rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.badge-premium{padding:2px 8px;background:var(--gold);border-radius:var(--radius-pill);color:var(--on-gold);font-family:var(--font-display);font-size:1.1rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.product-description{margin:0;color:var(--text-dim);line-height:1.55}.product-cta{margin-top:auto;padding-top:4px;color:var(--card-accent);font-family:var(--font-display);font-size:1.3rem;font-weight:600}:root[data-theme=light] .product-cta{color:var(--text);color:color-mix(in srgb,var(--card-accent) 45%,#000)}.hub-footer{display:flex;justify-content:center;gap:10px;padding:18px 16px 24px;border-top:1px solid var(--border);color:var(--text-faint);font-size:1.25rem}.hub-footer a{color:var(--type-label)}.hub-footer a:hover{color:var(--text-strong)}@media(prefers-reduced-motion:reduce){.product-card{transition:none}.product-card:hover{transform:none}}.hub-footer.site-footer{position:relative;flex:none;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem 2rem;width:min(1080px,calc(100% - 24px));margin:.6rem auto max(.6rem,env(safe-area-inset-bottom));padding:.4rem 2.4rem;min-height:0;box-sizing:border-box;overflow:visible;border:2px solid #6d1a12;border-radius:var(--radius);background:#f5cba7;color:#2a1512;font-size:1.15rem}.hub-footer.site-footer:before{display:none}.site-footer .footer-legal{display:flex;align-items:center;gap:10px;white-space:nowrap}.site-footer .footer-sep{opacity:.55}.site-footer .footer-legal a{color:inherit;text-decoration:none}.site-footer .footer-legal a:hover{text-decoration:underline}.site-footer .footer-brand{display:inline-flex;color:#191919;align-self:center}.site-footer .footer-bookmark{width:2.2rem;height:5rem;margin:-1.2rem 0;filter:drop-shadow(0 1px 1px rgb(0 0 0 / .25))}.site-footer .footer-social{display:flex;align-items:center;gap:.8rem}.site-footer .footer-social-cta{white-space:nowrap;text-align:right;line-height:1.3;font-size:1.05rem}.site-footer .footer-social-link{display:inline-flex;align-items:center;justify-content:center;width:3.4rem;height:3.4rem;border-radius:var(--radius-round);background:#191919;color:#f5cba7}.site-footer .footer-social-link:hover{background:#6d1a12}:root[data-theme=light] .site-footer .footer-social-link:hover{background:#fde8d6;color:#6d1a12;box-shadow:inset 0 0 0 2px #6d1a12}.site-footer .footer-social-link svg{width:1.8rem;height:1.8rem}.site-footer .footer-social-name{position:absolute;width:1px;height:1px;margin:-1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}@media(max-width:720px){.hub-footer.site-footer{flex-wrap:nowrap;width:calc(100% - 16px);padding:.3rem .6rem .3rem 1.4rem;gap:.8rem;font-size:1.1rem}.site-footer .footer-brand{display:none}.site-footer .footer-legal,.site-footer .footer-social{gap:.5rem}.site-footer .footer-social-cta{position:absolute;width:1px;height:1px;margin:-1px;clip-path:inset(50%);overflow:hidden}.site-footer .footer-social-link{width:3rem;height:3rem}.site-footer .footer-social-link svg{width:1.6rem;height:1.6rem}}.hub-footer.site-footer.site-footer--slim{flex-wrap:nowrap;width:calc(100% - 16px);max-width:none;margin:.4rem auto max(.4rem,env(safe-area-inset-bottom));padding:.2rem .4rem .2rem 1.4rem;gap:.8rem;font-size:1.1rem}.site-footer--slim .footer-brand{display:none}.site-footer--slim .footer-legal{gap:.5rem}.site-footer--slim .footer-social{gap:.4rem}.site-footer--slim .footer-social-cta{font-size:1rem}.site-footer--slim .footer-social-link{width:2.6rem;height:2.6rem}.site-footer--slim .footer-social-link svg{width:1.4rem;height:1.4rem}@media(max-width:720px)and (pointer:coarse){body:has(:is(input:not([type=checkbox],[type=radio],[type=button],[type=submit],[type=range],[type=color],[type=hidden]),textarea,select):focus)>.hub-footer{display:none}}@media print{.hub-footer.site-footer{display:none}}@media(max-width:480px){.hub-footer.site-footer,.hub-footer.site-footer.site-footer--slim{padding-left:1rem;gap:.6rem}.site-footer .footer-legal{flex:1 1 auto;min-width:0;flex-wrap:wrap;row-gap:.1rem;column-gap:.4rem;white-space:normal}.site-footer .footer-social{flex:none;gap:.4rem}.site-footer .footer-social-link{width:2.6rem;height:2.6rem}.site-footer .footer-social-link svg{width:1.4rem;height:1.4rem}}.landing-top{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;font-family:var(--font-display)}.landing-top a{color:var(--text);text-decoration:none}.landing-top a:hover{text-decoration:underline}.landing-main{width:100%;max-width:96rem;margin:0 auto;padding:2.4rem 1.6rem 4.8rem}.landing-crumbs ol{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 2rem;padding:0;list-style:none;color:var(--text-dim);font-size:1.25rem}.landing-crumbs li+li:before{content:"\203a";margin-right:.4rem;color:var(--text-faint)}.landing-crumbs a{color:var(--text-dim)}.landing-crumbs a:hover,.landing-crumbs [aria-current]{color:var(--text)}.landing-hero{display:grid;gap:2.4rem;align-items:center;padding:2.4rem;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius)}@media(min-width:720px){.landing-hero.has-thumb{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}}.landing-thumb{display:block;width:100%;height:auto;aspect-ratio:4 / 3;padding:.6rem;background:var(--card-tint, rgba(77, 163, 255, .13));border-radius:var(--radius-sm);object-fit:contain}.landing-title{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin:0 0 1.2rem;font-family:var(--font-display);font-size:clamp(2.6rem,4vw,3.6rem);font-weight:600;line-height:1.15}.landing-lead{margin:0 0 2rem;color:var(--text-dim);font-size:1.55rem;line-height:1.55}.landing .landing-cta{display:inline-block;padding:1rem 2rem;font-family:var(--font-display);font-size:1.5rem;font-weight:600}.landing-note{margin:1.2rem 0 0;color:var(--text-dim);font-size:1.25rem;line-height:1.5}.landing-section{margin-top:3.2rem}.landing-heading{margin:0 0 1.2rem;font-family:var(--font-display);font-size:2rem;font-weight:600}.landing-list,.landing-steps{margin:0;padding-left:2.2rem;line-height:1.6}.landing-list li::marker{color:var(--card-accent, var(--accent))}.landing-list li+li,.landing-steps li+li{margin-top:.6rem}.landing-faq{padding:1.2rem 1.6rem;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius)}.landing-faq+.landing-faq{margin-top:.8rem}.landing-faq summary{font-family:var(--font-display);font-weight:500;cursor:pointer}.landing-faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.landing-faq p{margin:1rem 0 0;color:var(--text-dim);line-height:1.6}.landing-again{margin:3.2rem 0 0;text-align:center}.landing-siblings{display:flex;flex-wrap:wrap;gap:.8rem;margin:0;padding:0;list-style:none}.landing-siblings a{display:inline-block;padding:.6rem 1.2rem;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text);text-decoration:none}.landing-siblings a:hover{border-color:var(--border-hover)}
