:root{--font-ui: "Comic Sans MS", "Chalkboard SE", "Marker Felt", sans-serif;--font-mono: "Comic Sans MS", "Chalkboard SE", "Marker Felt", sans-serif;--font-body: "Comic Sans MS", "Chalkboard SE", "Marker Felt", sans-serif;--font-hand: "Comic Sans MS", "Chalkboard SE", "Marker Felt", sans-serif;--text-xs: clamp(.75rem, .7rem + .25vw, .875rem);--text-sm: clamp(.875rem, .8rem + .375vw, 1rem);--text-base: clamp(1rem, .9rem + .5vw, 1.125rem);--text-lg: clamp(1.125rem, 1rem + .625vw, 1.375rem);--text-xl: clamp(1.375rem, 1.2rem + .875vw, 1.75rem);--text-2xl: clamp(1.75rem, 1.4rem + 1.75vw, 2.5rem);--text-3xl: clamp(2.5rem, 1.8rem + 3.5vw, 4.5rem);--text-4xl: clamp(3rem, 2rem + 5vw, 6rem);--space-2xs: clamp(.125rem, .1rem + .125vw, .25rem);--space-xs: clamp(.25rem, .2rem + .25vw, .5rem);--space-sm: clamp(.5rem, .4rem + .5vw, .75rem);--space-md: clamp(1rem, .8rem + 1vw, 1.5rem);--space-lg: clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);--space-xl: clamp(2.5rem, 1.8rem + 3.5vw, 5rem);--space-2xl: clamp(4rem, 2.5rem + 7.5vw, 8rem);--max-width: 1200px;--content-padding: var(--space-md);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-glow: 0 0 20px var(--color-accent-glow);--shadow-sketch-sm: var(--shadow-sm);--shadow-sketch-md: var(--shadow-md);--shadow-sketch-lg: var(--shadow-lg)}[data-theme=light]{--color-bg: #ffffff;--color-surface: #f8f9fa;--color-surface-elevated: #ffffff;--color-surface-hover: #f1f3f5;--color-text: #1d1d1d;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-stroke: #1d1d1d;--color-stroke-muted: #e5e5e5;--color-border: #e5e5e5;--color-border-hover: #d1d5db;--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-accent-light: #dbeafe;--color-accent-glow: rgba(59, 130, 246, .15);--color-fill-1: #dbeafe;--color-fill-2: #dcfce7;--color-fill-3: #fef3c7;--color-fill-4: #fee2e2;--color-fill-5: #e0e7ff;--color-gradient-start: #3b82f6;--color-gradient-end: #2563eb;--dot-color-rgb: 200, 200, 200;--dot-opacity: .2;--glow-opacity: .4;--color-bg-rgb: 255, 255, 255;color-scheme:light}[data-theme=dark]{--color-bg: #121212;--color-surface: #1e1e1e;--color-surface-elevated: #2a2a2a;--color-surface-hover: #333333;--color-text: #e5e5e5;--color-text-secondary: #a3a3a3;--color-text-muted: #737373;--color-stroke: #e5e5e5;--color-stroke-muted: #404040;--color-border: #404040;--color-border-hover: #525252;--color-accent: #3b82f6;--color-accent-hover: #60a5fa;--color-accent-light: rgba(59, 130, 246, .2);--color-accent-glow: rgba(59, 130, 246, .25);--color-fill-1: rgba(30, 64, 175, .4);--color-fill-2: rgba(6, 78, 59, .4);--color-fill-3: rgba(146, 64, 14, .4);--color-fill-4: rgba(153, 27, 27, .4);--color-fill-5: rgba(55, 48, 163, .4);--color-gradient-start: #3b82f6;--color-gradient-end: #60a5fa;--dot-color-rgb: 100, 100, 100;--dot-opacity: .15;--glow-opacity: .4;--color-bg-rgb: 18, 18, 18;color-scheme:dark}.theme-page-ripple{position:fixed;width:80px;height:80px;border-radius:50%;transform:translate(-50%,-50%) scale(0);pointer-events:none;z-index:9999;animation:theme-ripple-expand 1s ease-out forwards}@keyframes theme-ripple-expand{0%{transform:translate(-50%,-50%) scale(0);opacity:.6}to{transform:translate(-50%,-50%) scale(20);opacity:0}}@media(max-width:768px){.theme-page-ripple{width:50px;height:50px;animation-duration:.8s}@keyframes theme-ripple-expand{0%{transform:translate(-50%,-50%) scale(0);opacity:.5}to{transform:translate(-50%,-50%) scale(14);opacity:0}}}[data-theme=light] .theme-page-ripple,[data-theme=dark] .theme-page-ripple{background:radial-gradient(circle,rgba(59,130,246,.4) 0%,transparent 70%)}@media(max-width:768px){[data-theme=light] .theme-page-ripple,[data-theme=dark] .theme-page-ripple{background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 60%);box-shadow:none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;scroll-behavior:smooth;overflow-x:hidden}body{min-height:100dvh;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg);overflow-x:hidden}@media(max-width:768px){body{text-rendering:optimizeSpeed;-webkit-text-size-adjust:100%;text-size-adjust:100%}h1,h2,h3,h4,h5,h6,p,span,a{-webkit-transform:translateZ(0);transform:translateZ(0)}}body{transition:background-color .2s ease-out}body:before{transition:opacity .2s ease-out}body:before{content:"";position:fixed;inset:0;background-image:radial-gradient(circle,rgba(var(--dot-color-rgb),var(--dot-opacity)) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;z-index:-1}@media(max-width:768px){body:before{background-size:32px 32px;opacity:.8}}@media(hover:none)and (pointer:coarse){body:before{background-size:40px 40px}}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-family:var(--font-ui);line-height:1.2;text-wrap:balance;letter-spacing:-.02em;font-weight:600}.gradient-text{background:linear-gradient(135deg,var(--color-gradient-start),var(--color-gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}a{color:var(--color-accent);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-accent-hover)}ul,ol{list-style:none}code,pre{font-family:var(--font-mono)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg);border-radius:5px}::-webkit-scrollbar-thumb{background:var(--color-stroke-muted);border-radius:5px;border:2px solid var(--color-bg);transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{background:var(--color-accent);color:#fff}.text-hand,.text-ui{font-family:var(--font-ui)}.ui-box{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md);background:var(--color-surface-elevated, var(--color-surface));box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,border-color .2s ease}.ui-box:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-hover)}.sketch-box{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md);background:var(--fill, var(--color-surface));box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,border-color .2s ease,transform .15s ease}.sketch-box:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-hover);transform:translateY(-1px)}.ui-badge{display:inline-flex;align-items:center;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:500;padding:4px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);white-space:nowrap;transition:background .15s ease}.ui-badge:hover{background:var(--color-surface-hover)}.sketch-badge{display:inline-block;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:500;padding:4px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--badge-fill, var(--color-surface));white-space:nowrap;transition:background .15s ease}.sketch-badge:hover{background:var(--color-surface-hover)}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);font-family:var(--font-ui);font-size:var(--text-base);font-weight:500;text-decoration:none;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer;padding:var(--space-sm) var(--space-md);box-shadow:var(--shadow-sm);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.ui-btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover);box-shadow:var(--shadow-md);text-decoration:none}.ui-btn:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.ui-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ui-btn--primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.ui-btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.ui-btn--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.ui-btn--ghost{background:transparent;border-color:transparent;box-shadow:none}.ui-btn--ghost:hover{background:var(--color-surface-hover)}.sketch-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);font-family:var(--font-ui);font-size:var(--text-base);font-weight:500;text-decoration:none;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer;padding:var(--space-sm) var(--space-md);box-shadow:var(--shadow-sm);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.sketch-btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover);box-shadow:var(--shadow-md);text-decoration:none}.sketch-btn:active{box-shadow:var(--shadow-sm)}.sketch-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sketch-btn--primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.sketch-btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.sketch-btn--secondary{background:var(--color-surface);color:var(--color-text)}.sketch-btn--md{padding:var(--space-sm) var(--space-md)}.sketch-btn--sm{padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm)}.theme-toggle{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:background .15s ease,border-color .15s ease}.theme-toggle:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.theme-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}[data-theme=light] .icon-sun{display:none}[data-theme=light] .icon-moon,[data-theme=dark] .icon-sun{display:block}[data-theme=dark] .icon-moon{display:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}img{opacity:1;transition:opacity .3s ease}img[loading]{opacity:0}.excalidraw .excalidraw-element.selected .selection-stroke,.excalidraw [data-testid=selection],.excalidraw .selection-border,.excalidraw .excalidraw-selection,.excalidraw .excalidraw-element.selected .selection-dots,.excalidraw .selection-dots,.excalidraw [data-testid=selection-dots]{display:none!important;opacity:0!important;visibility:hidden!important}.btn-icon{display:flex;align-items:center;justify-content:center;padding:6px;border-radius:6px;color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:all .15s ease}.btn-icon:hover{background:var(--color-surface-hover);color:var(--color-text)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.panel-footer{padding:14px 18px 18px;background:var(--color-surface);border-top:1px solid var(--color-border);flex-shrink:0}.gap-1{gap:4px}.gap-2{gap:8px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.toggle-group{display:flex;align-items:center;gap:4px;padding:2px;background:var(--color-surface-hover);border-radius:6px;border:1px solid var(--color-border)}.toggle-btn{padding:4px 8px;border-radius:4px;border:none;background:transparent;font-size:10px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .15s}.toggle-btn[data-active=true]{background:#10b981;color:#fff}.btn-secondary{display:flex;align-items:center;gap:4px;padding:5px 10px;background:transparent;border:1px solid var(--color-border);border-radius:6px;font-size:11px;color:var(--color-text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.btn-secondary:hover{border-color:var(--color-accent);background:var(--color-accent-light)}.provider-badge{display:flex;align-items:center;gap:4px;padding:5px 10px;border-radius:6px;font-size:11px;color:#fff;cursor:pointer;transition:all .15s;flex-shrink:0}.provider-badge[data-provider=claude]{background:#f97316;border:1px solid #ea580c}.provider-badge[data-provider=claude]:hover{background:#ea580c}.input-field{flex:1;padding:10px 14px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg);font-size:13px;line-height:1.5;resize:none;outline:none;font-family:inherit;transition:border-color .15s}.input-field:focus{border-color:var(--color-accent)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;background:#059669;color:#fff;border:1px solid #047857;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;box-shadow:0 1px 3px #0000001a}.btn-primary:hover:not(:disabled){background:#047857}.btn-primary:disabled{background:#fee2e2;color:#9ca3af;border-color:#fca5a5;cursor:not-allowed;box-shadow:none}.help-text{margin-top:6px;font-size:10px;color:var(--color-text-secondary)}.relative{position:relative}.self-end{align-self:flex-end}.flex-shrink-0{flex-shrink:0}.modal-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--color-surface);border-radius:16px;box-shadow:0 25px 50px -12px #00000040;max-width:520px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-content--large{max-width:640px}.modal-content--xl{max-width:800px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border)}.modal-title{font-size:18px;font-weight:600;color:var(--color-text)}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border);background:var(--color-surface)}.btn-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.btn-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.form-group{margin-bottom:20px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--color-text);margin-bottom:8px}.form-label--small{font-size:12px;color:var(--color-text-secondary);font-weight:400}.textarea{width:100%;min-height:80px;padding:12px;border-radius:10px;border:1px solid var(--color-border);font-size:14px;line-height:1.5;resize:vertical;font-family:inherit;background:var(--color-bg);color:var(--color-text);transition:border-color .15s}.textarea:focus{outline:none;border-color:var(--color-accent)}.textarea:disabled{background:var(--color-surface-hover);opacity:.7}.color-swatch{width:32px;height:32px;border-radius:8px;border:2px solid var(--color-border);cursor:pointer;transition:all .15s}.color-swatch:hover{transform:scale(1.05)}.color-swatch[data-active=true]{border-color:#6366f1;box-shadow:0 0 0 2px #6366f133}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.card-grid--2col{grid-template-columns:repeat(2,1fr)}.preview-box{aspect-ratio:1;background:var(--color-surface-hover);border:2px dashed var(--color-border);border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden}.preview-box img{max-width:100%;max-height:100%;object-fit:contain}.placeholder-content{text-align:center;color:var(--color-text-secondary)}.placeholder-content svg{margin:0 auto 8px}.placeholder-content__text{font-size:12px}.save-option-btn{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:8px;cursor:pointer;text-align:left;transition:all .2s;text-decoration:none}.save-option-btn--cloud{border:2px solid #22c55e;background-color:#22c55e14}.save-option-btn--cloud:hover{background-color:#22c55e1f}.save-option-btn--primary{border:2px solid var(--color-accent);background-color:var(--color-accent-light)}.save-option-btn--primary:hover{background-color:#6366f126}.save-option-btn--default{border:1px solid var(--color-border);background-color:transparent}.save-option-btn--default:hover{border-color:var(--color-border-hover);background-color:var(--color-surface-hover)}.save-option-btn__icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.save-option-btn__icon--cloud{background-color:#22c55e;color:#fff}.save-option-btn__icon--primary{background-color:var(--color-accent);color:#fff}.save-option-btn__icon--default{background-color:var(--color-surface-hover);color:var(--color-text-secondary)}.save-option-btn__title{font-weight:600;color:var(--color-text);font-size:.9rem;margin-bottom:2px}.save-option-btn__desc{font-size:.8rem;color:var(--color-text-secondary);line-height:1.3}.divider-with-text{display:flex;align-items:center;gap:10px;margin:4px 0}.divider-line{flex:1;height:1px;background:var(--color-border)}.divider-text{font-size:.75rem;color:var(--color-text-muted)}.stats-bar{display:flex;gap:16px;padding:12px 16px;background-color:var(--color-surface-hover);border-radius:8px;font-size:.875rem;color:var(--color-text-secondary)}.btn-cancel{width:100%;padding:10px;border:none;border-radius:8px;background-color:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:.875rem;transition:background-color .2s}.btn-cancel:hover{background-color:var(--color-surface-hover)}.badge{display:inline-flex;align-items:center;padding:2px 6px;font-size:.65rem;font-weight:700;text-transform:uppercase;border-radius:4px;vertical-align:middle;margin-left:6px}.badge--success{background-color:#22c55e;color:#fff}.section-header{text-align:center;margin-bottom:var(--space-xl);display:flex;flex-direction:column;align-items:center}.section-header__title{font-size:var(--text-2xl);margin-bottom:var(--space-sm)}.section-header__subtitle{font-family:var(--font-hand);font-size:var(--text-lg);color:var(--color-text-muted);margin-bottom:var(--space-md)}.section-header__line{width:60px;height:4px;background:linear-gradient(90deg,var(--color-accent),var(--color-gradient-end));border-radius:2px;filter:url(#sketch-filter)}@media(hover:none)and (pointer:coarse){.section-header__line{filter:none;border-radius:3px 1px}}.sketch-card{position:relative;background:var(--color-surface);border:2px solid var(--color-stroke);border-radius:var(--radius-md);filter:url(#sketch-filter);transition:transform .2s ease,box-shadow .2s ease;overflow:hidden;box-shadow:4px 4px 0 var(--color-stroke)}.sketch-card__accent{position:absolute;top:0;left:0;width:4px;height:100%;background:var(--hover-accent, var(--color-accent));opacity:0;transition:opacity .3s ease}.sketch-card:hover{transform:translate(-3px,-3px);box-shadow:7px 7px 0 var(--color-stroke)}.sketch-card:hover .sketch-card__accent{opacity:1}.sketch-card__content{position:relative;z-index:1}@media(max-width:640px){.sketch-card:hover{transform:none}}@media(hover:none)and (pointer:coarse){.sketch-card{filter:none;border-radius:10px 8px 12px 9px}}@keyframes sketch-slide-in{0%{opacity:0;transform:translateY(15px) rotate(-.5deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}::view-transition-old(main-content){animation:.25s ease-out both fade-out}::view-transition-new(main-content){animation:.35s ease-out both sketch-slide-in}@keyframes fade-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes draw-line{0%{stroke-dashoffset:var(--line-length, 1000)}to{stroke-dashoffset:0}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-1deg)}75%{transform:rotate(1deg)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px var(--color-accent-glow)}50%{box-shadow:0 0 40px var(--color-accent-glow)}}@keyframes sketch-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes sketch-pulse{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.4;transform:scale(1.03)}}@keyframes sketch-float{0%,to{transform:translateY(0) translate(0)}25%{transform:translateY(-6px) translate(3px)}50%{transform:translateY(0) translate(5px)}75%{transform:translateY(6px) translate(3px)}}@keyframes sketch-float-alt{0%,to{transform:translateY(0) translate(0) rotate(0)}33%{transform:translateY(5px) translate(-3px) rotate(3deg)}66%{transform:translateY(-5px) translate(3px) rotate(-2deg)}}@keyframes sketch-draw-circle{0%{stroke-dasharray:1000;stroke-dashoffset:1000;opacity:0}to{stroke-dasharray:1000;stroke-dashoffset:0;opacity:var(--final-opacity)}}@keyframes sketch-dot-appear{0%{opacity:0;transform:scale(.3)}to{opacity:var(--final-opacity);transform:scale(1)}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translate(-30px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.reveal-left.visible{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transform:translate(30px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.reveal-right.visible{opacity:1;transform:translate(0)}.reveal-scale{opacity:0;transform:scale(.95);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.reveal-scale.visible{opacity:1;transform:scale(1)}.stagger-children>*{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.stagger-children.visible>*:nth-child(1){transition-delay:0ms;opacity:1;transform:translateY(0)}.stagger-children.visible>*:nth-child(2){transition-delay:.1s;opacity:1;transform:translateY(0)}.stagger-children.visible>*:nth-child(3){transition-delay:.2s;opacity:1;transform:translateY(0)}.stagger-children.visible>*:nth-child(4){transition-delay:.3s;opacity:1;transform:translateY(0)}.stagger-children.visible>*:nth-child(5){transition-delay:.4s;opacity:1;transform:translateY(0)}.stagger-children.visible>*:nth-child(6){transition-delay:.5s;opacity:1;transform:translateY(0)}.card-lift{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease}.card-lift:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.btn-shine{position:relative;overflow:hidden}.btn-shine:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.btn-shine:hover:after{left:100%}@media(max-width:768px){.reveal,.reveal-left,.reveal-right,.reveal-scale{transition:opacity .5s ease}*,*:before,*:after{animation-duration:.8s!important;animation-iteration-count:1!important}.hero-deco-circle-outer,.hero-deco-circle-inner,.hero-deco-dot{animation:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}::view-transition-old(*),::view-transition-new(*){animation:none!important}.reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:1;transform:none;transition:none}.stagger-children>*{opacity:1;transform:none}.hero-deco-circle-outer,.hero-deco-circle-inner{animation:none!important;opacity:.3!important;stroke-dasharray:none!important;stroke-dashoffset:0!important}.hero-deco-circle-inner{opacity:.2!important}.hero-deco-dot{animation:none!important}.hero-deco-dot-1,.hero-deco-dot-2,.hero-deco-dot-3{opacity:.4!important}.hero-deco-dot-4{opacity:.3!important}}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--content-padding)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.text-hand{font-family:var(--font-hand)}.text-mono{font-family:var(--font-mono)}.text-body{font-family:var(--font-body)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mt-2xl{margin-top:var(--space-2xl)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.section-gap{padding-block:var(--space-2xl)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only:focus{position:fixed;top:0;left:0;width:auto;height:auto;padding:var(--space-sm) var(--space-md);margin:0;overflow:visible;clip:auto;white-space:normal;z-index:9999;background:var(--color-accent);color:#fff;font-weight:700}.grid{display:grid}.grid-cols-1{grid-template-columns:1fr}@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}
