:root{--loupe-color-bg:oklch(97% 0.01 95);--loupe-color-surface:#ffffff;--loupe-color-fg:oklch(20% 0.02 250);--loupe-color-fg-muted:oklch(52% 0.02 250);--loupe-color-primary:oklch(20% 0.02 250);--loupe-color-primary-fg:oklch(98% 0.01 95);--loupe-color-border:oklch(88% 0.01 250);--loupe-color-ring:oklch(72% 0.16 200);--loupe-color-danger:oklch(55% 0.16 25);--loupe-color-signal:oklch(80% 0.15 195);--loupe-radius-sm:8px;--loupe-radius-md:14px;--loupe-radius-lg:20px;--loupe-space-1:0.25rem;--loupe-space-2:0.5rem;--loupe-space-3:0.75rem;--loupe-space-4:1rem;--loupe-space-5:1.5rem;--loupe-space-6:2.5rem;--loupe-font-sans:Manrope,ui-sans-serif,system-ui,sans-serif;--loupe-font-serif:Georgia,"Times New Roman",serif;--loupe-font-mono:ui-monospace,SFMono-Regular,Menlo,monospace;--loupe-ease-out:cubic-bezier(0.22,1,0.36,1);--loupe-duration-slow:5000ms;--loupe-shadow-md:0 12px 30px -18px rgba(16,24,32,0.5)}.loupe,.loupe *{box-sizing:border-box}.loupe{font-family:var(--loupe-font-sans);color:var(--loupe-color-fg);background:var(--loupe-color-bg);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100%}.loupe h1,.loupe h2,.loupe h3,.loupe h4,.loupe p{margin:0}.loupe button,.loupe textarea{font:inherit;color:inherit}.loupe-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--loupe-color-bg) 84%,transparent);backdrop-filter:blur(14px) saturate(1.1);border-bottom:1px solid color-mix(in srgb,var(--loupe-color-border) 70%,transparent)}.loupe-header__inner{max-width:1240px;margin:0 auto;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 clamp(1rem,4vw,3rem)}.loupe-header__title{font-weight:800;font-size:1.2rem;letter-spacing:-.02em}.loupe-pill{gap:.5rem;padding:.45rem .85rem .45rem .5rem;background:var(--loupe-color-primary);color:var(--loupe-color-primary-fg);font-size:.82rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.loupe-pill,.loupe-pill b{display:inline-flex;align-items:center;border-radius:999px}.loupe-pill b{justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .35rem;background:var(--loupe-color-signal);color:var(--loupe-color-primary);font-weight:800}.loupe-main{max-width:1240px;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}.loupe-lab{padding:clamp(1.5rem,4vw,3rem) 0}.loupe-lab__grid{grid-template-columns:minmax(0,1fr) minmax(330px,384px);align-items:start}.loupe-groups,.loupe-lab__grid{display:grid;gap:clamp(1.5rem,3vw,2.5rem)}.loupe-groups{min-width:0}.loupe-group{scroll-margin-top:84px}.loupe-group__head{display:flex;align-items:baseline;gap:.8rem;margin-bottom:.9rem}.loupe-group__n{font-size:.78rem;font-weight:800;color:color-mix(in srgb,var(--loupe-color-fg) 55%,var(--loupe-color-signal));font-variant-numeric:tabular-nums;letter-spacing:.05em}.loupe-group__titles{flex:1;min-width:0}.loupe-group__title{font-size:1.2rem;font-weight:700;letter-spacing:-.01em}.loupe-group__prompt{color:var(--loupe-color-fg-muted);font-size:.9rem;margin-top:.1rem}.loupe-group__clear{flex:none;padding:.3rem .7rem;border-radius:999px;border:1px solid var(--loupe-color-border);background:transparent;color:var(--loupe-color-fg-muted);font-size:.78rem;font-weight:600;cursor:pointer}.loupe-group__clear:hover{border-color:var(--loupe-color-fg-muted);color:var(--loupe-color-fg)}.loupe-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.loupe-tile{position:relative;display:flex;flex-direction:column;padding:0;border:1px solid var(--loupe-color-border);border-radius:var(--loupe-radius-md);background:var(--loupe-color-surface);overflow:hidden;cursor:pointer;text-align:left;transition:transform .18s var(--loupe-ease-out),border-color .18s var(--loupe-ease-out),box-shadow .18s var(--loupe-ease-out)}.loupe-tile:hover{transform:translateY(-3px);box-shadow:var(--loupe-shadow-md);border-color:color-mix(in srgb,var(--loupe-color-signal) 50%,var(--loupe-color-border))}.loupe-tile:focus-visible{outline:none;border-color:var(--loupe-color-ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--loupe-color-ring) 55%,transparent)}.loupe-tile[aria-checked=true]{border-color:var(--loupe-color-primary);box-shadow:0 0 0 2px var(--loupe-color-primary)}.loupe-tile__media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:color-mix(in srgb,var(--loupe-color-border) 40%,var(--loupe-color-surface))}.loupe-tile__cap{display:flex;align-items:center;gap:.5rem;padding:.6rem .7rem;font-size:.82rem;font-weight:600;color:var(--loupe-color-fg);line-height:1.25}.loupe-tile__label{min-width:0}.loupe-tile__caption{padding:0 .7rem .6rem;font-size:.74rem;color:var(--loupe-color-fg-muted);line-height:1.3}.loupe-tile__check{flex:none;width:1.05rem;height:1.05rem;border-radius:999px;border:1.5px solid var(--loupe-color-border);display:grid;place-items:center;transition:background .15s,border-color .15s}.loupe-tile[aria-checked=true] .loupe-tile__check{background:var(--loupe-color-primary);border-color:var(--loupe-color-primary)}.loupe-tile__check svg{width:.7rem;height:.7rem;stroke:var(--loupe-color-primary-fg);opacity:0}.loupe-tile[aria-checked=true] .loupe-tile__check svg{opacity:1}.loupe-tile__badge{position:absolute;top:.5rem;left:.5rem;z-index:3;padding:.16rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--loupe-color-surface) 90%,transparent);backdrop-filter:blur(6px);color:color-mix(in srgb,var(--loupe-color-fg) 60%,var(--loupe-color-signal));font-size:.6rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.loupe-crop{position:absolute;inset:0;overflow:hidden}.loupe-crop__img{position:absolute;height:auto;display:block;max-width:none}.loupe-crop__img--cover{inset:0;width:100%;height:100%;object-fit:cover}.loupe-crop__missing{position:absolute;inset:0;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--loupe-color-border) 60%,transparent),color-mix(in srgb,var(--loupe-color-border) 60%,transparent) 6px,transparent 6px,transparent 12px)}.loupe-pal{position:absolute;inset:0;display:grid;grid-template-rows:1fr auto}.loupe-pal__crop{position:relative;overflow:hidden}.loupe-pal__crop--blank{background:color-mix(in srgb,var(--loupe-color-border) 30%,var(--loupe-color-surface))}.loupe-pal__row{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;height:34%;min-height:28px}.loupe-pal--swatches{display:block}.loupe-pal__grid{position:absolute;inset:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr}.loupe-swatch{display:block}.loupe-type{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:.4rem;padding:.9rem;background:color-mix(in srgb,var(--loupe-color-surface) 92%,var(--loupe-color-bg));color:var(--loupe-color-fg)}.loupe-type__kicker{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:color-mix(in srgb,var(--loupe-color-fg) 55%,var(--loupe-color-signal))}.loupe-type__sample{font-size:1.1rem;line-height:1.05;letter-spacing:-.02em}.loupe-motion{position:absolute;inset:0}.loupe-motion__a,.loupe-motion__b-wrap{position:absolute;inset:0;overflow:hidden}.loupe-motion--pan .loupe-motion__b-wrap{opacity:0}.loupe-field-dot{position:absolute;width:5px;height:5px;border-radius:999px;background:var(--loupe-color-signal);box-shadow:0 0 8px color-mix(in srgb,var(--loupe-color-signal) 70%,transparent);opacity:.85}@media (prefers-reduced-motion:no-preference){.loupe-motion--breathe .loupe-crop__img{animation:loupe-breathe 6s ease-in-out infinite;transform-origin:center}.loupe-motion--pan .loupe-motion__a,.loupe-motion--pan .loupe-motion__b-wrap{animation:loupe-panfade 7s ease-in-out infinite}.loupe-motion--pan .loupe-motion__b-wrap{animation-delay:-3.5s}.loupe-field-dot{animation:loupe-drift 9s ease-in-out infinite}.loupe-field-dot:nth-child(2){animation-duration:11s;animation-delay:-3s}.loupe-field-dot:nth-child(3){animation-duration:8s;animation-delay:-5s}.loupe-field-dot:nth-child(4){animation-duration:12s;animation-delay:-1.5s}}@keyframes loupe-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes loupe-panfade{0%,42%{opacity:1}50%,92%{opacity:0}to{opacity:1}}@keyframes loupe-drift{0%{transform:translate(0)}33%{transform:translate(10px,-12px)}66%{transform:translate(-8px,8px)}to{transform:translate(0)}}.loupe-mock{position:absolute;inset:0;background:color-mix(in srgb,var(--loupe-color-surface) 92%,var(--loupe-color-bg))}.loupe-mock__band,.loupe-mock__fill,.loupe-mock__half,.loupe-mock__third{position:absolute;overflow:hidden}.loupe-mock--portrait .loupe-mock__fill{inset:0}.loupe-mock--portrait .loupe-mock__copy{position:absolute;left:8%;right:30%;bottom:9%;display:grid;gap:5px}.loupe-mock--threshold{display:grid;grid-template-rows:1fr 1fr}.loupe-mock--threshold .loupe-mock__half{position:relative}.loupe-mock--threshold .loupe-mock__sig{position:absolute;left:0;right:0;top:50%;height:2px;transform:translateY(-1px);background:var(--loupe-color-signal)}.loupe-mock--sparse .loupe-mock__copy--top{position:absolute;left:9%;right:24%;top:14%;display:grid;gap:5px}.loupe-mock--sparse .loupe-mock__band{left:0;right:0;bottom:0;height:34%}.loupe-mock--chapters{display:grid;align-content:center;gap:9px;padding:12%}.loupe-mock__row{display:flex;gap:7px;align-items:center}.loupe-mock__row b{color:color-mix(in srgb,var(--loupe-color-fg) 55%,var(--loupe-color-signal));font-weight:800;font-size:10px}.loupe-mock--belowfold .loupe-mock__fill{inset:0}.loupe-mock--belowfold .loupe-mock__strip{position:absolute;left:0;right:0;bottom:0;background:color-mix(in srgb,var(--loupe-color-surface) 92%,transparent);padding:7px 9px;display:flex;gap:6px;align-items:center}.loupe-mock--stack{display:grid;grid-template-rows:1fr 1fr auto}.loupe-mock--stack .loupe-mock__third{position:relative}.loupe-mock--stack .loupe-mock__copy{padding:6px 9px}.loupe-mock__bar{display:block;height:6px;background:var(--loupe-color-fg);opacity:.82;border-radius:2px}.loupe-mock__bar--s{opacity:.4;height:4px}.loupe-mock__row .loupe-mock__bar{flex:1;height:4px}.loupe-mock__sig{background:var(--loupe-color-signal);border-radius:2px}.loupe-mock__sig--dot{width:5px;height:5px;border-radius:50%;flex:none}.loupe-stack{position:sticky;top:84px;align-self:start;border:1px solid var(--loupe-color-border);border-radius:18px;background:var(--loupe-color-surface);box-shadow:0 24px 60px -42px rgba(16,24,32,.6);overflow:hidden}.loupe-stack__handle{display:none}.loupe-stack__head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.85rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--loupe-color-border) 60%,transparent)}.loupe-stack__title{font-size:.95rem;font-weight:700}.loupe-stack__sub{font-size:.72rem;color:var(--loupe-color-fg-muted);font-weight:500}.loupe-stack__sub b{color:var(--loupe-color-fg)}.loupe-pv{padding:.9rem}.loupe-pv__frame{position:relative;border-radius:12px;overflow:hidden;background:var(--loupe-color-bg);color:var(--loupe-color-fg);border:1px solid color-mix(in srgb,var(--loupe-color-fg) 12%,transparent);display:flex;flex-direction:column}.loupe-pv__heading{padding:.75rem .9rem .6rem;display:grid;gap:.25rem}.loupe-pv__heading-k{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:color-mix(in srgb,var(--loupe-color-fg) 50%,var(--loupe-color-signal))}.loupe-pv__heading-h{font-size:1.05rem;font-weight:800;line-height:1.05;letter-spacing:-.02em}.loupe-pv__band{position:relative;overflow:hidden}.loupe-pv__band--feature{aspect-ratio:16/11}.loupe-pv__band--band{aspect-ratio:16/7}.loupe-pv__band--systems{min-height:40px}.loupe-pv__media{position:absolute;inset:0}.loupe-pv__mock{position:relative;aspect-ratio:16/9}.loupe-pv__tag{position:absolute;left:.6rem;bottom:.45rem;z-index:2;padding:.18rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--loupe-color-bg) 86%,transparent);backdrop-filter:blur(6px);font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:color-mix(in srgb,var(--loupe-color-fg) 75%,transparent)}.loupe-pv__band--empty{min-height:38px;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--loupe-color-border) 50%,transparent),color-mix(in srgb,var(--loupe-color-border) 50%,transparent) 5px,transparent 5px,transparent 10px)}.loupe-pv__band--empty .loupe-pv__tag{position:static;display:inline-block;margin:.4rem 0 .4rem .6rem}.loupe-pv__swatches{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;height:34px}.loupe-pv__swatches .loupe-swatch{height:100%}.loupe-pv__headline{display:block;padding:.7rem .9rem 1.4rem;font-size:1rem;line-height:1.1;letter-spacing:-.01em}.loupe-pv__empty{display:grid;place-items:center;aspect-ratio:4/5;color:var(--loupe-color-fg-muted);font-size:.8rem;text-align:center;padding:1rem;border:1px solid color-mix(in srgb,var(--loupe-color-border) 60%,transparent);border-radius:12px}.loupe-stack__thumbs{padding:0 .9rem .6rem}.loupe-stack__thumbs-title{margin:.2rem 0 .5rem;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--loupe-color-fg-muted);font-weight:700}.loupe-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-rows:1fr;gap:4px}.loupe-thumb{position:relative;aspect-ratio:1;border-radius:6px;overflow:hidden;border:1px solid var(--loupe-color-border);background-color:var(--loupe-color-surface);cursor:pointer;padding:0}.loupe-thumb--empty{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--loupe-color-border) 60%,transparent),color-mix(in srgb,var(--loupe-color-border) 60%,transparent) 4px,transparent 4px,transparent 8px)}.loupe-thumb:hover{border-color:var(--loupe-color-fg-muted)}.loupe-thumb__g{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;font-size:.62rem;color:color-mix(in srgb,var(--loupe-color-fg) 55%,var(--loupe-color-signal))}.loupe-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:38px;padding:.5rem .9rem;border-radius:999px;border:1px solid transparent;cursor:pointer;font-weight:600;font-size:.85rem;transition:transform .15s ease,background-color .15s ease,border-color .15s ease}.loupe-btn:active{transform:translateY(1px)}.loupe-btn--primary{background:var(--loupe-color-primary);color:var(--loupe-color-primary-fg)}.loupe-btn--primary:hover{background:color-mix(in srgb,var(--loupe-color-primary) 88%,black)}.loupe-btn--ghost{background:transparent;border-color:var(--loupe-color-border);color:var(--loupe-color-fg-muted)}.loupe-btn--ghost:hover{border-color:var(--loupe-color-fg-muted);color:var(--loupe-color-fg)}.loupe-btn--signal{background:var(--loupe-color-signal);color:var(--loupe-color-primary)}.loupe-btn--signal:hover{background:color-mix(in srgb,var(--loupe-color-signal) 86%,black)}.loupe-stack__foot{display:flex;gap:.5rem;padding:.7rem .9rem .95rem;border-top:1px solid color-mix(in srgb,var(--loupe-color-border) 60%,transparent)}.loupe-stack__foot .loupe-btn{flex:1;padding:.5rem .6rem}.loupe-export{padding:clamp(2rem,5vw,3.5rem) 0;border-top:1px solid var(--loupe-color-border);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.5rem,3vw,2.5rem);align-items:start}.loupe-export__title{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;letter-spacing:-.015em}.loupe-export__lead{margin-top:.8rem;color:var(--loupe-color-fg-muted);font-size:1rem}.loupe-export__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.1rem 0 .5rem}.loupe-export__status{min-height:1.3rem;color:color-mix(in srgb,var(--loupe-color-fg) 50%,var(--loupe-color-signal));font-size:.9rem;font-weight:600}.loupe-export__brief{width:100%;min-height:460px;resize:vertical;border:1px solid var(--loupe-color-border);border-radius:var(--loupe-radius-md);background:color-mix(in srgb,var(--loupe-color-surface) 92%,var(--loupe-color-bg));color:var(--loupe-color-fg);padding:1.1rem;line-height:1.55;font-size:.85rem;font-family:var(--loupe-font-mono)}.loupe-banned,.loupe-workflow{grid-column:1/-1;border-top:1px solid var(--loupe-color-border);padding-top:clamp(1.25rem,3vw,2rem);margin-top:clamp(.5rem,2vw,1rem)}.loupe-banned__title,.loupe-workflow__title{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;margin-bottom:.9rem}.loupe-banned__title{color:var(--loupe-color-danger)}.loupe-workflow__list{list-style:none;margin:0;padding:0;display:grid;gap:0}.loupe-workflow__item{padding:.9rem 0 .9rem 1.3rem;border-bottom:1px solid color-mix(in srgb,var(--loupe-color-border) 70%,transparent);position:relative;line-height:1.5;font-size:.95rem}.loupe-workflow__item:before{content:"";position:absolute;left:0;top:1.25rem;width:.5rem;height:.5rem;border-radius:999px;background:var(--loupe-color-signal)}.loupe-banned__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.loupe-banned__item{display:grid;grid-template-columns:auto 1fr;gap:.7rem;padding:.85rem .95rem;border:1px solid color-mix(in srgb,var(--loupe-color-danger) 24%,var(--loupe-color-border));border-radius:var(--loupe-radius-sm);background:color-mix(in srgb,var(--loupe-color-danger) 4%,var(--loupe-color-surface));font-size:.9rem;line-height:1.4;color:var(--loupe-color-fg)}.loupe-banned__item span:first-child{color:var(--loupe-color-danger);font-weight:800}@media (max-width:1080px){.loupe-banned__list,.loupe-export,.loupe-lab__grid{grid-template-columns:1fr}.loupe-lab{padding-bottom:140px}.loupe-stack{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:50;border-radius:18px 18px 0 0;max-height:86vh;display:flex;flex-direction:column;transform:translateY(calc(100% - 116px));transition:transform .32s cubic-bezier(.4,0,.2,1)}.loupe-stack--open{transform:translateY(0)}.loupe-stack__handle{position:relative;display:flex;align-items:center;gap:.6rem;width:100%;padding:.85rem 1rem;background:transparent;border:0;cursor:pointer}.loupe-stack__handle-label{font-weight:700;font-size:.9rem}.loupe-stack__handle-count{margin-left:auto;font-size:.78rem;color:var(--loupe-color-fg-muted)}.loupe-stack__handle-count b{color:var(--loupe-color-fg)}.loupe-stack__grip{position:absolute;top:.4rem;left:50%;transform:translateX(-50%);width:2.4rem;height:.28rem;border-radius:999px;background:var(--loupe-color-border)}.loupe-stack__head{display:none}.loupe-stack__scroll{overflow-y:auto}}@media (max-width:680px){.loupe-tiles{grid-template-columns:repeat(2,1fr)}}