.wobbly-heading{font-family:var(--font-heading);font-weight:var(--weight-extrabold);color:var(--color-ink);line-height:var(--leading-tight);margin:0;position:relative}.wobbly-heading--h1{font-size:var(--text-5xl)}.wobbly-heading--h2{font-size:var(--text-4xl)}.wobbly-heading--h3{font-size:var(--text-3xl)}.wobbly-heading--h4{font-size:var(--text-2xl)}.wobbly-heading__text{display:inline-block;position:relative}.wobbly-heading--underline .wobbly-heading__text:after{content:"";background:var(--color-accent);border-radius:var(--radius-sm);z-index:-1;height:8px;position:absolute;bottom:-5px;left:0;right:0;transform:rotate(-1deg)}.wobbly-heading--underline-primary .wobbly-heading__text:after{background:var(--color-primary)}.wobbly-heading--underline-secondary .wobbly-heading__text:after{background:var(--color-secondary)}.wobbly-heading--highlight .wobbly-heading__text:before{content:"";background:var(--color-accent);border-radius:var(--radius-md);z-index:-1;opacity:.8;position:absolute;inset:-5px -10px;transform:rotate(-2deg)}.wobbly-heading--animate .wobbly-heading__letter{animation:2s ease-in-out infinite letterWobble;animation-delay:calc(var(--letter-index)*.1s);display:inline-block}@keyframes letterWobble{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-3px)rotate(2deg)}75%{transform:translateY(2px)rotate(-2deg)}}.wobbly-heading--sketch{text-shadow:2px 2px 0 var(--color-canvas),-1px -1px 0 var(--color-canvas),1px -1px 0 var(--color-canvas),-1px 1px 0 var(--color-canvas)}.wobbly-heading--sketch .wobbly-heading__text:after{content:"";background:repeating-linear-gradient(90deg,var(--color-ink),var(--color-ink)10px,transparent 10px,transparent 14px);width:100%;height:4px;position:absolute;bottom:-8px;left:0}.wobbly-heading--gradient .wobbly-heading__text{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-secondary)50%,var(--color-tertiary)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.wobbly-heading--outline .wobbly-heading__text{color:#0000;-webkit-text-stroke:3px var(--color-ink)}.wobbly-heading__icon{margin-right:var(--space-sm);animation:2s ease-in-out infinite iconBounce;display:inline-block}@keyframes iconBounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-5px)scale(1.1)}}.wobbly-heading__subtitle{font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--weight-normal);color:var(--color-ink-light);margin-top:var(--space-sm);display:block}.wobbly-heading--center{text-align:center}.wobbly-heading--center .wobbly-heading__text:after,.wobbly-heading--center .wobbly-heading__text:before{left:50%;transform:translate(-50%)rotate(-1deg)}.wobbly-heading--animate-entry{opacity:0;animation:headingEntry var(--duration-slow)var(--ease-bounce)forwards;transform:translateY(20px)}@keyframes headingEntry{to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.wobbly-heading--h1{font-size:var(--text-4xl)}.wobbly-heading--h2{font-size:var(--text-3xl)}.wobbly-heading--h3{font-size:var(--text-2xl)}}
.button{justify-content:center;align-items:center;gap:var(--space-xs);font-family:var(--font-body);font-weight:var(--weight-bold);white-space:nowrap;cursor:pointer;padding:var(--space-sm)var(--space-lg);font-size:var(--text-base);border:var(--border-thick)solid var(--color-outline);border-radius:var(--radius-xl);transition:transform var(--duration-fast)var(--ease-bounce),box-shadow var(--duration-fast)var(--ease-smooth),background var(--duration-fast)var(--ease-smooth),color var(--duration-fast)var(--ease-smooth);-webkit-user-select:none;user-select:none;text-decoration:none;display:inline-flex;position:relative}.button--primary{background:var(--color-primary);color:var(--color-canvas);box-shadow:4px 4px 0 var(--color-primary-dark)}.button--primary:hover{background:var(--color-primary-light);box-shadow:6px 6px 0 var(--color-primary-dark);transform:translateY(-3px)scale(1.02)}.button--primary:active{box-shadow:2px 2px 0 var(--color-primary-dark);transform:translateY(2px)scale(.98)}.button--secondary{background:var(--color-secondary);color:var(--color-ink);box-shadow:4px 4px 0 var(--color-secondary-dark)}.button--secondary:hover{background:var(--color-secondary-light);box-shadow:6px 6px 0 var(--color-secondary-dark);transform:translateY(-3px)scale(1.02)}.button--secondary:active{box-shadow:2px 2px 0 var(--color-secondary-dark);transform:translateY(2px)scale(.98)}.button--accent{background:var(--color-accent);color:var(--color-ink);box-shadow:4px 4px 0 var(--color-accent-dark)}.button--accent:hover{background:var(--color-accent-light);box-shadow:6px 6px 0 var(--color-accent-dark);transform:translateY(-3px)scale(1.02)}.button--accent:active{box-shadow:2px 2px 0 var(--color-accent-dark);transform:translateY(2px)scale(.98)}.button--outline{color:var(--color-ink);box-shadow:4px 4px 0 var(--color-ink);background:0 0}.button--outline:hover{background:var(--color-canvas-dark);box-shadow:6px 6px 0 var(--color-ink);transform:translateY(-3px)scale(1.02)}.button--outline:active{box-shadow:2px 2px 0 var(--color-ink);transform:translateY(2px)scale(.98)}.button--ghost{color:var(--color-ink);box-shadow:none;background:0 0;border-color:#0000}.button--ghost:hover{background:var(--color-canvas-dark);border-color:var(--color-outline);transform:scale(1.02)}.button--ghost:active{transform:scale(.98)}.button--small{padding:var(--space-xs)var(--space-md);font-size:var(--text-sm);border-radius:var(--radius-lg);border-width:var(--border-medium)}.button--small:hover{box-shadow:4px 4px}.button--large{padding:var(--space-md)var(--space-xl);font-size:var(--text-lg);border-radius:var(--radius-2xl)}.button--xlarge{padding:var(--space-lg)var(--space-2xl);font-size:var(--text-xl);border-radius:var(--radius-2xl);border-width:var(--border-chonky)}.button:disabled,.button--disabled{opacity:.5;cursor:not-allowed;box-shadow:2px 2px 0 var(--color-ink-lighter)!important;transform:none!important}.button--loading{color:#0000;pointer-events:none}.button__spinner{animation:.8s linear infinite buttonSpin;position:absolute}@keyframes buttonSpin{to{transform:rotate(360deg)}}.button--full{width:100%}.button__icon{transition:transform var(--duration-fast)var(--ease-bounce);justify-content:center;align-items:center;font-size:1.2em;display:flex}.button:hover .button__icon--animate{transform:translate(3px)}.button__icon--left{margin-right:var(--space-2xs)}.button__icon--right{margin-left:var(--space-2xs)}.button--icon-only{padding:var(--space-sm);aspect-ratio:1}.button--icon-only.button--small{padding:var(--space-xs)}.button--icon-only.button--large{padding:var(--space-md)}.button--wiggle:hover{animation:.5s ease-in-out buttonWiggle}@keyframes buttonWiggle{0%,to{transform:translateY(-3px)rotate(0)}25%{transform:translateY(-3px)rotate(-3deg)}75%{transform:translateY(-3px)rotate(3deg)}}.button--pulse{animation:2s ease-in-out infinite buttonPulse}@keyframes buttonPulse{0%,to{box-shadow:4px 4px 0 var(--color-primary-dark)}50%{box-shadow:4px 4px 15px var(--color-primary-dark)}}.button:focus-visible{outline:var(--border-thick)solid var(--color-secondary);outline-offset:4px}.button-group{gap:var(--space-md);flex-wrap:wrap;display:flex}.button-group--vertical{flex-direction:column}.button-group--center{justify-content:center}
.section-divider{width:100%;padding:var(--space-xl)0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.section-divider__line{height:var(--border-thick);background:var(--color-ink-lighter);border-radius:var(--radius-sm);flex:1;max-width:200px}.section-divider__center{padding:0 var(--space-md);justify-content:center;align-items:center;display:flex}.section-divider__icon{font-size:var(--text-2xl);animation:2s ease-in-out infinite dividerBob}@keyframes dividerBob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.section-divider--wave{padding:0}.section-divider__wave{width:100%;height:60px;fill:var(--color-canvas-dark)}.section-divider--wave-flipped .section-divider__wave{transform:rotate(180deg)}.section-divider--zigzag .section-divider__line{background:0 0;max-width:none;height:auto}.section-divider__zigzag{background:linear-gradient(135deg,var(--color-canvas)25%,transparent 25%)-20px 0,linear-gradient(225deg,var(--color-canvas)25%,transparent 25%)-20px 0,linear-gradient(315deg,var(--color-canvas)25%,transparent 25%),linear-gradient(45deg,var(--color-canvas)25%,transparent 25%);background-size:40px 40px;background-color:var(--color-canvas-dark);width:100%;height:20px}.section-divider--doodle{gap:var(--space-md);padding:var(--space-lg)0}.section-divider__doodle-item{font-size:var(--text-lg);opacity:.7;animation:3s ease-in-out infinite doodleWiggle}.section-divider__doodle-item:first-child{animation-delay:0s}.section-divider__doodle-item:nth-child(2){animation-delay:-.5s}.section-divider__doodle-item:nth-child(3){animation-delay:-1s}.section-divider__doodle-item:nth-child(4){animation-delay:-1.5s}.section-divider__doodle-item:nth-child(5){animation-delay:-2s}@keyframes doodleWiggle{0%,to{transform:rotate(-5deg)scale(1)}50%{transform:rotate(5deg)scale(1.1)}}.section-divider--dots{gap:var(--space-sm)}.section-divider__dot{background:var(--color-primary);border-radius:50%;width:12px;height:12px;animation:1.5s ease-in-out infinite dotPulse}.section-divider__dot:first-child{background:var(--color-primary);animation-delay:0s}.section-divider__dot:nth-child(2){background:var(--color-secondary);animation-delay:.2s}.section-divider__dot:nth-child(3){background:var(--color-accent);animation-delay:.4s}@keyframes dotPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.section-divider--sketch{padding:var(--space-md)0}.section-divider--sketch .section-divider__line{max-width:300px;height:var(--border-medium);border-bottom:var(--border-medium)dashed var(--color-ink-lighter);background:0 0;position:relative}.section-divider--stars{gap:var(--space-xs)}.section-divider__star{color:var(--color-accent);font-size:var(--text-lg);animation:2s ease-in-out infinite starTwinkle}.section-divider__star:first-child{animation-delay:0s}.section-divider__star:nth-child(2){font-size:var(--text-xl);animation-delay:.3s}.section-divider__star:nth-child(3){animation-delay:.1s}.section-divider__star:nth-child(4){font-size:var(--text-xl);animation-delay:.4s}.section-divider__star:nth-child(5){animation-delay:.2s}@keyframes starTwinkle{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.section-divider--primary .section-divider__line{background:var(--color-primary)}.section-divider--secondary .section-divider__line{background:var(--color-secondary)}.section-divider--accent .section-divider__line{background:var(--color-accent)}.section-divider--compact{padding:var(--space-md)0}.section-divider--spacious{padding:var(--space-3xl)0}
