.mockup-theme{--m-text: #231f20;--m-text-muted: #64615e;--m-bg: #fafaf9;--m-bg-card: #ffffff;--m-bg-surface: #f5f5f3;--m-bg-sidebar: #fafaf9;--m-border: #e8e7e5;--m-bg-elevated: #fafaf9;--m-accent: #231f20;--m-accent-text: #ffffff;--m-shell-bg: #f5f5f5;--m-shell-border: #e8e7e5;--m-text-soft: rgba(35, 31, 32, .7);--m-text-faint: rgba(35, 31, 32, .4);--m-bg-surface-50: rgba(245, 245, 243, .5);--m-bg-surface-30: rgba(245, 245, 243, .3);--m-bg-hover: rgba(35, 31, 32, .03);--m-tint: rgba(35, 31, 32, .03);--m-border-subtle: rgba(35, 31, 32, .1);--m-border-faint: rgba(35, 31, 32, .05);--m-gradient-balance: linear-gradient( 135deg, #d8e4b9 0%, #d4e8f8 25%, #e0f0f0 50%, #f0e8e4 75%, #f8f0f4 100% );--m-accent-sage: #c4f3c4;--m-accent-sage-bg: #c4f3c4;--m-highlight-yellow: #f0bf34;--m-highlight-yellow-bg: #ffff97;--m-success: #5b6e4a;--m-info: #6eb5ba;--m-destructive: #ff832c;--m-shadow-card: 0 0 0 1px rgba(0, 0, 0, .02), 0 1px 2px rgba(0, 0, 0, .03);--m-shadow-card-hover: 0 0 0 1px rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .06)}.dark .mockup-theme{--m-text: #fafafa;--m-text-muted: #8a8a8a;--m-bg: #0c0c0c;--m-bg-card: #141414;--m-bg-surface: #1a1a1a;--m-bg-sidebar: #0c0c0c;--m-border: #262626;--m-bg-elevated: #141414;--m-accent: #fafafa;--m-accent-text: #0c0c0c;--m-shell-bg: #1a1a1a;--m-shell-border: #262626;--m-text-soft: rgba(250, 250, 250, .7);--m-text-faint: rgba(250, 250, 250, .4);--m-bg-surface-50: rgba(26, 26, 26, .5);--m-bg-surface-30: rgba(26, 26, 26, .3);--m-bg-hover: rgba(255, 255, 255, .06);--m-tint: rgba(250, 250, 250, .06);--m-border-subtle: rgba(250, 250, 250, .1);--m-border-faint: rgba(250, 250, 250, .05);--m-gradient-balance: linear-gradient( 135deg, #2a3522 0%, #1e2d3a 25%, #1e3030 50%, #2a2420 75%, #2a2028 100% );--m-accent-sage: #c4f3c4;--m-accent-sage-bg: rgba(196, 243, 196, .2);--m-highlight-yellow: #f0bf34;--m-highlight-yellow-bg: rgba(240, 191, 52, .2);--m-success: #c4f3c4;--m-info: #6eb5ba;--m-destructive: #ff832c;--m-shadow-card: 0 0 0 1px rgba(255, 255, 255, .06), 0 1px 2px rgba(0, 0, 0, .2);--m-shadow-card-hover: 0 0 0 1px rgba(255, 255, 255, .08), 0 4px 16px rgba(0, 0, 0, .3)}@font-face{font-family:Inter;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/inter/Inter-Regular.woff2) format("woff2")}@font-face{font-family:Inter;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/inter/Inter-Medium.woff2) format("woff2")}@font-face{font-family:Inter;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/inter/Inter-SemiBold.woff2) format("woff2")}@font-face{font-family:Inter;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/inter/Inter-Bold.woff2) format("woff2")}@keyframes mockup-screen-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes mockup-screen-exit{0%{opacity:1}to{opacity:0}}@keyframes mockup-stagger-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mockup-stagger-in{opacity:0;animation:mockup-stagger-in .3s cubic-bezier(0,0,.2,1) forwards;animation-delay:calc(var(--stagger-index, 0) * 60ms)}.mockup-screen-enter{animation:mockup-screen-enter .2s cubic-bezier(.4,0,.2,1) forwards}.mockup-screen-exit{animation:mockup-screen-exit .15s cubic-bezier(.4,0,.2,1) forwards}.mockup-scrollbar-hide::-webkit-scrollbar{display:none}.mockup-scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}@media(prefers-reduced-motion:reduce){.mockup-stagger-in{opacity:1;animation:none}.mockup-screen-enter,.mockup-screen-exit{animation:none}.mockup-interactive{transition:none!important;transform:none!important}}.pf-scene{perspective:1400px;perspective-origin:50% 45%}.pf-container{width:700px;height:420px;position:relative;transform:scale(.72) rotateX(10deg) rotateY(-12deg) rotate(1deg);transform-origin:center 40%;transform-style:preserve-3d}.pf-shadow{position:absolute;width:500px;height:300px;top:80px;left:110px;border-radius:24px;transform:translateZ(-6px);background:#0000000a;transition:background .5s}:where(.dark,.dark *) .pf-shadow{background:#ffffff03}.pf-lines{position:absolute;inset:0;pointer-events:none;z-index:1}.pf-thick{stroke:#d4d4d4;stroke-width:1.5;fill:none;transition:stroke .5s}:where(.dark,.dark *) .pf-thick{stroke:#333}.pf-line-1{stroke-dasharray:50;stroke-dashoffset:50;animation:pfLineDraw .6s ease .3s forwards}.pf-line-2{stroke-dasharray:100;stroke-dashoffset:100;animation:pfLineDraw .6s ease .5s forwards}.pf-line-3{stroke-dasharray:50;stroke-dashoffset:50;animation:pfLineDraw .6s ease .7s forwards}.pf-line-4{stroke-dasharray:140;stroke-dashoffset:140;animation:pfLineDraw .8s ease .9s forwards}.pf-line-5{stroke-dasharray:60;stroke-dashoffset:60;animation:pfLineDraw .5s ease .4s forwards}.pf-line-6{stroke-dasharray:40;stroke-dashoffset:40;animation:pfLineDraw .5s ease .6s forwards}@keyframes pfLineDraw{to{stroke-dashoffset:0}}.pf-card{position:absolute;border-radius:14px;border:1.5px solid #e5e5e5;padding:12px 14px;background:#fff;transform-style:preserve-3d;box-shadow:4px 6px #00000008,0 1px 3px #0000000f;z-index:5;transition:background .5s,border-color .5s,box-shadow .5s}:where(.dark,.dark *) .pf-card{background:#1a1a1a;border-color:#2a2a2a;box-shadow:4px 6px #00000026,0 1px 3px #0003}.pf-dashboard{top:40px;left:160px;width:180px;z-index:10}.pf-prop-1{top:190px;left:20px;width:150px}.pf-prop-2{top:250px;left:260px;width:160px}.pf-prop-3{top:120px;left:10px;width:140px}.pf-map-card{top:50px;left:480px;width:160px}.pf-status-badge{top:260px;left:500px;width:140px}.pf-dashboard{animation:pfFloat 5s ease-in-out infinite}.pf-prop-1{animation:pfFloat 4.5s ease-in-out .5s infinite}.pf-prop-2{animation:pfFloat 5.5s ease-in-out 1s infinite}.pf-prop-3{animation:pfFloat 4s ease-in-out 1.5s infinite}.pf-map-card{animation:pfFloat 5s ease-in-out .8s infinite}.pf-status-badge{animation:pfFloat 4.5s ease-in-out 1.2s infinite}@keyframes pfFloat{0%,to{transform:translateY(0) translateZ(0)}50%{transform:translateY(-6px) translateZ(4px)}}.pf-card-label{font-size:9px;color:#999;text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-bottom:2px}:where(.dark,.dark *) .pf-card-label{color:#666}.pf-card-title{font-size:12px;font-weight:700;color:var(--color-swoop-black);margin-bottom:2px;line-height:1.2}:where(.dark,.dark *) .pf-card-title{color:#e5e5e5}.pf-card-sub{font-size:9px;color:#999;font-weight:500}.pf-sk{border-radius:4px;background:#e8e8e8;transition:background .5s}:where(.dark,.dark *) .pf-sk{background:#252525}.pf-sk-dark{border-radius:4px;background:var(--color-swoop-black);transition:background .5s}:where(.dark,.dark *) .pf-sk-dark{background:#ccc}.pf-sk-green{border-radius:4px;background:var(--color-swoop-sage)}:where(.dark,.dark *) .pf-sk-green{background:#2d5a2d}.pf-stat-num{font-weight:700;color:var(--color-swoop-black)}:where(.dark,.dark *) .pf-stat-num{color:#e5e5e5}.pf-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.pf-check-green{width:18px;height:18px;border-radius:50%;background:var(--color-swoop-sage);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--color-swoop-sage-dark);font-weight:700;flex-shrink:0}:where(.dark,.dark *) .pf-check-green{background:#2d5a2d;color:var(--color-swoop-sage)}.pf-dot-pulse{width:6px;height:6px;border-radius:50%;background:var(--color-swoop-sage-dark);flex-shrink:0}:where(.dark,.dark *) .pf-dot-pulse{background:var(--color-swoop-sage)}.pf-progress-fill{animation:pfProgressPulse 3s ease-in-out infinite}@keyframes pfProgressPulse{0%,to{width:60%}50%{width:75%}}.pf-map-car{animation:pfCarMove 4s ease-in-out infinite}:where(.dark,.dark *) .pf-map-car{background:#e5e5e5!important;border-color:#333!important}@keyframes pfCarMove{0%,to{left:55%;top:38%}33%{left:35%;top:50%}66%{left:65%;top:28%}}.pf-card:hover{transform:translateY(-8px) translateZ(12px) scale(1.05);box-shadow:8px 12px #0000000f,0 4px 12px #0000001a;z-index:20;animation-play-state:paused;cursor:pointer;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease,z-index 0s}:where(.dark,.dark *) .pf-card:hover{box-shadow:8px 12px #00000040,0 4px 12px #0000004d}.pf-card{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease}@media(prefers-reduced-motion:reduce){.pf-dashboard,.pf-prop-1,.pf-prop-2,.pf-prop-3,.pf-map-card,.pf-status-badge,.pf-progress-fill,.pf-map-car{animation:none!important}.pf-line-1,.pf-line-2,.pf-line-3,.pf-line-4,.pf-line-5,.pf-line-6{animation:none!important;stroke-dashoffset:0!important}}@media(max-width:900px){.pf-container{transform:scale(.65) rotateX(10deg) rotateY(-12deg) rotate(1deg)}}
