.visualizer-button{display:grid;place-items:center;position:relative;background:transparent;border:none;cursor:pointer;border-radius:.25rem;transition:background .2s ease;flex-shrink:0;padding:0}.visualizer-button:after{content:"";position:absolute;inset:-.75rem -.875rem}.visualizer-button:hover{background:transparent}.visualizer-button:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.visualizer-bars{display:flex;align-items:flex-end;justify-content:center;height:1rem;gap:.1875rem}.visualizer-mirror{display:flex;align-items:flex-start;justify-content:center;height:.375rem;gap:.1875rem;mask-image:linear-gradient(to bottom,rgba(0,0,0,.3),transparent);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.3),transparent)}.visualizer-bar{display:block;width:.1875rem;min-height:.125rem;height:.125rem;background:var(--color-text-secondary);border-radius:.1rem}.visualizer-idle-icon{grid-area:1 / 1;color:var(--color-text-secondary);opacity:.5;transition:opacity .4s ease,transform .3s ease}.visualizer-button:hover .visualizer-idle-icon{opacity:.85;color:var(--color-accent-primary)}.visualizer-button.is-playing .visualizer-idle-icon{opacity:0;transform:scale(.6);pointer-events:none}.visualizer-bars-wrapper{grid-area:1 / 1;display:flex;flex-direction:column;align-items:center;gap:1px;opacity:0;transform:scale(.8);transition:opacity .4s ease,transform .3s ease}.visualizer-button.is-playing .visualizer-bars-wrapper{opacity:1;transform:scale(1)}.visualizer-button.is-playing .visualizer-bar{opacity:1}.visualizer-group{display:flex;align-items:center;position:relative}.visualizer-skip{position:absolute;right:-1.75rem;top:40%;transform:translate(-.25rem,-50%);display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.5rem;padding:0;background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary);opacity:0;transition:opacity .15s ease,transform .15s ease,color .15s ease;pointer-events:none}.visualizer-group:hover .visualizer-skip,.visualizer-skip:focus-visible{opacity:.6;transform:translateY(-50%);pointer-events:auto}.visualizer-skip:hover{opacity:1!important;color:var(--color-accent-primary)}.visualizer-skip:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){.visualizer-bar{animation:none}.visualizer-skip{transition:none}}.lofi-annotation{display:flex;align-items:center;gap:.25rem;pointer-events:none}.lofi-annotation-text{display:inline-flex;font-family:var(--font-handwritten);font-size:1.8rem;color:var(--color-diagram-tertiary);opacity:.9;white-space:nowrap;transform:rotate(-7deg);position:relative;top:.2rem}.lofi-char{display:inline-block}.lofi-char--space{width:.4em}.lofi-annotation-arrow{opacity:.85;flex-shrink:0;margin-top:.8rem}@keyframes lofi-crumble{0%{opacity:1;transform:translate(0) rotate(0) scale(1);filter:blur(0)}30%{opacity:.7;transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.85);filter:blur(.5px)}70%{opacity:.15;transform:translate(var(--dx2),var(--dy2)) rotate(var(--rot2)) scale(.3);filter:blur(2px)}to{opacity:0;transform:translate(var(--dx2),calc(var(--dy2) + 1rem)) rotate(var(--rot2)) scale(0);filter:blur(3px)}}.is-dismissing .lofi-char{animation:lofi-crumble .9s cubic-bezier(.25,0,.7,.3) var(--delay) forwards}.is-dismissing .lofi-annotation-arrow{animation:lofi-crumble .75s cubic-bezier(.25,0,.7,.3) var(--delay) forwards}.is-dismissing{pointer-events:none;animation:none!important}@media (prefers-reduced-motion: reduce){.lofi-annotation{animation:none;opacity:.7}.is-dismissing .lofi-char,.is-dismissing .lofi-annotation-arrow{animation:none;opacity:0;transition:opacity .3s ease-out}}.landing{--lp-bg: var(--color-surface-base);--lp-text: var(--color-text-primary);--lp-muted: var(--color-text-secondary);--lp-card-bg: var(--color-surface-glass);--lp-card-border: var(--color-overlay-medium);--lp-card-back-bg: var(--color-surface-elevated);--lp-input-bg: var(--color-surface-elevated);--lp-accent: var(--color-accent-primary);--lp-accent-glow: var(--color-state-focus);--lp-handwritten: var(--color-accent-secondary);--lp-surface-modal: var(--color-surface-modal);--lp-card-back-text: var(--color-text-primary);--lp-card-back-muted: var(--color-text-tertiary);--lp-tag-bg: var(--color-overlay-medium);--lp-apricot: var(--color-palette-apricot);--lp-rose: var(--color-palette-rose);--lp-sage: var(--color-palette-sage);--lp-lavender: var(--color-palette-lavender);--lp-sand: var(--color-palette-sand);--lp-apricot-rgb: var(--color-palette-apricot-rgb);--lp-rose-rgb: var(--color-palette-rose-rgb);--lp-sage-rgb: var(--color-palette-sage-rgb);--lp-lavender-rgb: var(--color-palette-lavender-rgb);--lp-sand-rgb: var(--color-palette-sand-rgb);--lp-annotation: var(--color-diagram-tertiary);min-height:100vh;background:var(--lp-bg);color:var(--lp-text);font-family:var(--font-sans);overflow-x:hidden;transition:background-color .4s,color .4s}.lp-player-area{position:fixed;top:1.25rem;left:1.25rem;z-index:100;display:flex;align-items:center;gap:.5rem}.lp-player-area .lofi-annotation{animation:lp-bounceIn .8s cubic-bezier(.34,1.56,.64,1) 2s both}.lp-settings-area{position:fixed;top:1.25rem;right:1.25rem;z-index:100;display:flex;align-items:center;gap:.5rem}.lp-settings-hint-group{display:flex;align-items:center;gap:.5rem;animation:lp-bounceIn .8s cubic-bezier(.34,1.56,.64,1) 2.3s both}.lp-settings-btn{width:44px;height:44px;border-radius:6px;border:none;background:none;color:var(--lp-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s,transform .2s;padding:.5rem}.lp-settings-btn:hover,.lp-settings-btn.is-open{color:var(--lp-accent)}.lp-menu{position:fixed;top:4.5rem;right:1.25rem;background:var(--color-surface-modal, var(--lp-surface-modal));border-radius:8px;box-shadow:0 8px 24px #00000040;padding:.5rem;min-width:200px;z-index:10000;animation:lp-menuIn .2s ease-out;transform-origin:top right;border:1px solid var(--color-overlay-medium, var(--lp-card-border))}.lp-menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;border-radius:6px;color:var(--color-text-primary, var(--lp-text));font-family:var(--font-sans);font-size:.9rem;cursor:pointer;transition:all .2s ease;text-align:left;text-decoration:none}.lp-menu-item:hover{color:var(--color-accent-primary, var(--lp-accent));transform:translate(4px)}.lp-menu-icon{display:flex;align-items:center;flex-shrink:0;transition:transform .2s ease}.lp-menu-item:hover .lp-menu-icon{transform:scale(1.1)}.lp-menu-label{flex:1;font-weight:500}.lp-menu-arrow{opacity:0;transform:translate(-4px);transition:all .2s ease;color:var(--color-accent-primary, var(--lp-accent))}.lp-menu-item:hover .lp-menu-arrow{opacity:1;transform:translate(0)}.lp-hero{position:sticky;top:0;z-index:5;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:0;background:var(--lp-bg);transition:background-color .4s}.lp-hero-inner{text-align:center;padding:0 1.5rem 2rem;position:relative}.lp-chalkboard-header{text-align:center;margin-bottom:clamp(1rem,2vh,2rem);position:relative}.lp-chalk-title{font-family:var(--font-handwritten);font-size:clamp(48px,8vw,96px);color:var(--lp-text);margin:0;text-shadow:2px 2px 4px rgba(255,255,255,.1),-1px -1px 2px rgba(0,0,0,.5);transform:rotate(-1deg);animation:lp-bounceIn .8s cubic-bezier(.34,1.56,.64,1) both}.lp-chalk-decorations{position:relative;height:0}.lp-chalk-note{position:absolute;top:clamp(-188px,-18vw,-148px);left:calc(50% + clamp(150px,15vw,250px));font-family:var(--font-handwritten);font-size:clamp(36px,4vw,48px);color:var(--lp-accent);transform-origin:left center;transform:rotate(10deg);white-space:nowrap;clip-path:inset(0 100% 0 0);animation:lp-handwrite 1.5s ease-out .7s forwards}@keyframes lp-handwrite{to{clip-path:inset(0 0 0 0)}}.lp-hero-name{font-family:var(--font-display);font-weight:700;font-size:clamp(2.5rem,6vw,4rem);color:var(--lp-text);margin:0 0 .25rem;animation:lp-bounceIn .8s cubic-bezier(.34,1.56,.64,1) .1s both}.lp-hero-title{font-size:clamp(1rem,2vw,1.25rem);color:var(--lp-muted);margin:0 0 .75rem;animation:lp-bounceIn .8s cubic-bezier(.34,1.56,.64,1) .2s both}.lp-hero-links{display:flex;gap:1rem;justify-content:center;animation:lp-bounceIn .8s cubic-bezier(.34,1.56,.64,1) .35s both}.lp-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1.25rem;border-radius:999px;font-size:.9rem;font-weight:500;text-decoration:none;border:none;cursor:pointer;transition:transform .2s,box-shadow .2s,background .3s,color .3s,border-color .3s}.lp-btn:hover{transform:translateY(-2px)}.lp-btn--primary{background:var(--lp-accent);color:var(--lp-bg);box-shadow:0 4px 12px var(--lp-accent-glow)}.lp-btn--primary:hover{box-shadow:0 6px 20px var(--lp-accent-glow)}.lp-btn--outline{background:transparent;color:var(--lp-accent);border:2px solid var(--lp-accent);font-family:var(--font-sans)}.lp-scroll-hint{position:absolute;bottom:2rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;color:var(--lp-handwritten);animation:lp-bounce 2s ease infinite}.lp-scroll-hint-text{font-family:var(--font-handwritten);font-size:2.2rem;opacity:.75}.lp-stats{position:sticky;top:0;z-index:4;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--lp-bg);transition:background-color .4s}.lp-stats-inner{display:flex;flex-direction:column;align-items:center;gap:2.5rem;padding:2rem 1.5rem}.lp-stats-row{display:flex;gap:4rem}.lp-stats-row--2{gap:5rem}.lp-stat{text-align:center;position:relative}.lp-stat-num{display:block;font-family:var(--font-display);font-weight:700;font-size:clamp(2.5rem,5vw,3.5rem);color:var(--lp-accent)}.lp-stat-label{display:block;font-size:.9rem;color:var(--lp-muted);margin-top:.25rem}.lp-stat-scrawl{position:absolute;font-family:var(--font-handwritten);font-size:clamp(1.6rem,3vw,2.2rem);color:var(--lp-handwritten);opacity:0;white-space:nowrap;pointer-events:none}.lp-stats-inner.counts-done .lp-stat-scrawl--wow{--scrawl-rotate: -8deg;animation:lp-scrawlPop .5s cubic-bezier(.34,1.56,.64,1) forwards}.lp-stats-inner.counts-done .lp-stat-scrawl--counting{--scrawl-rotate: 5deg;animation:lp-scrawlPop .5s cubic-bezier(.34,1.56,.64,1) .2s forwards}.lp-stat-scrawl--wow{top:-1.8rem;right:-2rem;transform:rotate(-8deg);font-size:clamp(2.2rem,4vw,3.2rem)}.lp-stat-scrawl--counting{bottom:-2.6rem;right:-1.5rem;transform:rotate(5deg)}.lp-stat-scrawl--chats{bottom:-2.4rem;left:-1rem;transform:rotate(-4deg)}.lp-stat-scrawl--lofi{bottom:-2.4rem;right:-1.5rem;transform:rotate(6deg);font-size:clamp(1.8rem,3vw,2.4rem)}.lp-stats-inner.counts-done .lp-stat-scrawl--chats{--scrawl-rotate: -4deg;animation:lp-scrawlPop .5s cubic-bezier(.34,1.56,.64,1) .3s forwards}.lp-stats-inner.counts-done .lp-stat-scrawl--lofi{--scrawl-rotate: 6deg;animation:lp-scrawlPop .5s cubic-bezier(.34,1.56,.64,1) .4s forwards}.lp-stats-doodles{position:absolute;inset:0;overflow:hidden;pointer-events:none}.lp-buzz,.lp-squig{position:absolute;opacity:0;transition:opacity .6s ease}.lp-buzz{font-family:var(--font-handwritten);font-size:clamp(1.8rem,3.5vw,2.6rem);color:var(--lp-handwritten);white-space:nowrap}.lp-buzz--cyan,.lp-squig--cyan{color:var(--color-accent-primary)}.lp-buzz--orange,.lp-squig--orange{color:var(--color-accent-secondary)}.lp-buzz--purple,.lp-squig--purple{color:var(--color-accent-quinary)}.lp-buzz--green,.lp-squig--green{color:var(--color-accent-tertiary)}.lp-squig--cyan line,.lp-squig--cyan path,.lp-squig--cyan circle{stroke:var(--color-accent-primary)}.lp-squig--orange line,.lp-squig--orange path,.lp-squig--orange circle{stroke:var(--color-accent-secondary)}.lp-squig--purple line,.lp-squig--purple path,.lp-squig--purple circle{stroke:var(--color-accent-quinary)}.lp-squig--green line,.lp-squig--green path,.lp-squig--green circle{stroke:var(--color-accent-tertiary)}.lp-squig{opacity:0}.lp-stats-doodles.is-visible>*{animation:lp-doodleFade .8s ease forwards}.lp-stats-doodles.is-visible>:nth-child(1){animation-delay:0s}.lp-stats-doodles.is-visible>:nth-child(2){animation-delay:25ms}.lp-stats-doodles.is-visible>:nth-child(3){animation-delay:.05s}.lp-stats-doodles.is-visible>:nth-child(4){animation-delay:75ms}.lp-stats-doodles.is-visible>:nth-child(5){animation-delay:.1s}.lp-stats-doodles.is-visible>:nth-child(6){animation-delay:.125s}.lp-stats-doodles.is-visible>:nth-child(7){animation-delay:.15s}.lp-stats-doodles.is-visible>:nth-child(8){animation-delay:.175s}.lp-stats-doodles.is-visible>:nth-child(9){animation-delay:.2s}.lp-stats-doodles.is-visible>:nth-child(10){animation-delay:.225s}.lp-stats-doodles.is-visible>:nth-child(11){animation-delay:.25s}.lp-stats-doodles.is-visible>:nth-child(12){animation-delay:.275s}.lp-stats-doodles.is-visible>:nth-child(13){animation-delay:.3s}.lp-stats-doodles.is-visible>:nth-child(14){animation-delay:.325s}.lp-stats-doodles.is-visible>:nth-child(15){animation-delay:.35s}.lp-stats-doodles.is-visible>:nth-child(16){animation-delay:.375s}.lp-stats-doodles.is-visible>:nth-child(17){animation-delay:.4s}.lp-stats-doodles.is-visible>:nth-child(18){animation-delay:.425s}.lp-stats-doodles.is-visible>:nth-child(19){animation-delay:.45s}.lp-stats-doodles.is-visible>:nth-child(20){animation-delay:.475s}.lp-stats-doodles.is-visible>:nth-child(21){animation-delay:.5s}.lp-stats-doodles.is-visible>:nth-child(22){animation-delay:.525s}.lp-stats-doodles.is-visible>:nth-child(23){animation-delay:.55s}.lp-stats-doodles.is-visible>:nth-child(24){animation-delay:.575s}.lp-stats-doodles.is-visible>:nth-child(25){animation-delay:.6s}.lp-stats-doodles.is-visible>:nth-child(26){animation-delay:.625s}.lp-stats-doodles.is-visible>:nth-child(27){animation-delay:.65s}.lp-stats-doodles.is-visible>:nth-child(28){animation-delay:.675s}.lp-stats-doodles.is-visible>:nth-child(29){animation-delay:.7s}.lp-stats-doodles.is-visible>:nth-child(30){animation-delay:.725s}.lp-stats-doodles.is-visible>:nth-child(31){animation-delay:.75s}.lp-stats-doodles.is-visible>:nth-child(32){animation-delay:.775s}.lp-stats-doodles.is-visible>:nth-child(33){animation-delay:.8s}.lp-stats-doodles.is-visible>:nth-child(n+34){animation-delay:.85s}@keyframes lp-doodleFade{0%{opacity:0}to{opacity:var(--doodle-opacity, .11)}}html.light-mode .lp-stats-doodles{--doodle-opacity: .22}.lp-transition-scrawl{position:absolute;bottom:2rem;left:50%;transform:translate(-50%) rotate(-2deg);font-family:var(--font-handwritten);font-size:clamp(1.4rem,2.5vw,1.8rem);color:var(--lp-handwritten);opacity:.5;white-space:nowrap;pointer-events:none;animation:lp-bounce 2s ease infinite}.lp-projects{position:relative;z-index:6;padding:4rem 1.5rem 3rem;max-width:1100px;margin:0 auto;background:var(--lp-bg);transition:background-color .4s}.lp-projects-doodles{position:absolute;top:0;left:50%;transform:translate(-50%);width:100vw;height:100%;overflow:hidden;pointer-events:none;z-index:0}.lp-pdoodle{position:absolute;opacity:0}.lp-pdoodle--cyan line,.lp-pdoodle--cyan path,.lp-pdoodle--cyan circle{stroke:var(--color-accent-primary)}.lp-pdoodle--orange line,.lp-pdoodle--orange path,.lp-pdoodle--orange circle{stroke:var(--color-accent-secondary)}.lp-pdoodle--purple line,.lp-pdoodle--purple path,.lp-pdoodle--purple circle{stroke:var(--color-accent-quinary)}.lp-pdoodle--green line,.lp-pdoodle--green path,.lp-pdoodle--green circle{stroke:var(--color-accent-tertiary)}.lp-projects-doodles.is-visible>.lp-pdoodle{animation:lp-projDoodleFade .6s ease forwards}.lp-projects-doodles.is-visible>:nth-child(1){animation-delay:0s}.lp-projects-doodles.is-visible>:nth-child(2){animation-delay:15ms}.lp-projects-doodles.is-visible>:nth-child(3){animation-delay:.03s}.lp-projects-doodles.is-visible>:nth-child(4){animation-delay:45ms}.lp-projects-doodles.is-visible>:nth-child(5){animation-delay:.06s}.lp-projects-doodles.is-visible>:nth-child(6){animation-delay:75ms}.lp-projects-doodles.is-visible>:nth-child(7){animation-delay:.09s}.lp-projects-doodles.is-visible>:nth-child(8){animation-delay:.105s}.lp-projects-doodles.is-visible>:nth-child(9){animation-delay:.12s}.lp-projects-doodles.is-visible>:nth-child(10){animation-delay:.135s}.lp-projects-doodles.is-visible>:nth-child(11){animation-delay:.15s}.lp-projects-doodles.is-visible>:nth-child(12){animation-delay:.165s}.lp-projects-doodles.is-visible>:nth-child(13){animation-delay:.18s}.lp-projects-doodles.is-visible>:nth-child(14){animation-delay:.195s}.lp-projects-doodles.is-visible>:nth-child(15){animation-delay:.21s}.lp-projects-doodles.is-visible>:nth-child(16){animation-delay:.225s}.lp-projects-doodles.is-visible>:nth-child(17){animation-delay:.24s}.lp-projects-doodles.is-visible>:nth-child(18){animation-delay:.255s}.lp-projects-doodles.is-visible>:nth-child(19){animation-delay:.27s}.lp-projects-doodles.is-visible>:nth-child(20){animation-delay:.285s}.lp-projects-doodles.is-visible>:nth-child(21){animation-delay:.3s}.lp-projects-doodles.is-visible>:nth-child(22){animation-delay:.315s}.lp-projects-doodles.is-visible>:nth-child(23){animation-delay:.33s}.lp-projects-doodles.is-visible>:nth-child(24){animation-delay:.345s}.lp-projects-doodles.is-visible>:nth-child(25){animation-delay:.36s}.lp-projects-doodles.is-visible>:nth-child(26){animation-delay:.375s}.lp-projects-doodles.is-visible>:nth-child(27){animation-delay:.39s}.lp-projects-doodles.is-visible>:nth-child(28){animation-delay:.405s}.lp-projects-doodles.is-visible>:nth-child(29){animation-delay:.42s}.lp-projects-doodles.is-visible>:nth-child(30){animation-delay:.435s}.lp-projects-doodles.is-visible>:nth-child(31){animation-delay:.45s}.lp-projects-doodles.is-visible>:nth-child(32){animation-delay:.465s}.lp-projects-doodles.is-visible>:nth-child(33){animation-delay:.48s}.lp-projects-doodles.is-visible>:nth-child(34){animation-delay:.495s}.lp-projects-doodles.is-visible>:nth-child(35){animation-delay:.51s}.lp-projects-doodles.is-visible>:nth-child(36){animation-delay:.525s}.lp-projects-doodles.is-visible>:nth-child(37){animation-delay:.54s}.lp-projects-doodles.is-visible>:nth-child(38){animation-delay:.555s}.lp-projects-doodles.is-visible>:nth-child(39){animation-delay:.57s}.lp-projects-doodles.is-visible>:nth-child(40){animation-delay:.585s}.lp-projects-doodles.is-visible>:nth-child(41){animation-delay:.6s}.lp-projects-doodles.is-visible>:nth-child(42){animation-delay:.615s}.lp-projects-doodles.is-visible>:nth-child(43){animation-delay:.63s}.lp-projects-doodles.is-visible>:nth-child(44){animation-delay:.645s}.lp-projects-doodles.is-visible>:nth-child(45){animation-delay:.66s}.lp-projects-doodles.is-visible>:nth-child(46){animation-delay:.675s}.lp-projects-doodles.is-visible>:nth-child(47){animation-delay:.69s}.lp-projects-doodles.is-visible>:nth-child(48){animation-delay:.705s}.lp-projects-doodles.is-visible>:nth-child(49){animation-delay:.72s}.lp-projects-doodles.is-visible>:nth-child(50){animation-delay:.735s}.lp-projects-doodles.is-visible>:nth-child(51){animation-delay:.75s}.lp-projects-doodles.is-visible>:nth-child(52){animation-delay:.765s}.lp-projects-doodles.is-visible>:nth-child(53){animation-delay:.78s}.lp-projects-doodles.is-visible>:nth-child(54){animation-delay:.795s}.lp-projects-doodles.is-visible>:nth-child(55){animation-delay:.81s}.lp-projects-doodles.is-visible>:nth-child(56){animation-delay:.825s}.lp-projects-doodles.is-visible>:nth-child(57){animation-delay:.84s}.lp-projects-doodles.is-visible>:nth-child(58){animation-delay:.855s}.lp-projects-doodles.is-visible>:nth-child(59){animation-delay:.87s}.lp-projects-doodles.is-visible>:nth-child(60){animation-delay:.885s}.lp-projects-doodles.is-visible>:nth-child(61){animation-delay:.9s}.lp-projects-doodles.is-visible>:nth-child(62){animation-delay:.915s}.lp-projects-doodles.is-visible>:nth-child(63){animation-delay:.93s}.lp-projects-doodles.is-visible>:nth-child(64){animation-delay:.945s}.lp-projects-doodles.is-visible>:nth-child(65){animation-delay:.96s}.lp-projects-doodles.is-visible>:nth-child(66){animation-delay:.975s}.lp-projects-doodles.is-visible>:nth-child(67){animation-delay:.99s}.lp-projects-doodles.is-visible>:nth-child(68){animation-delay:1.005s}.lp-projects-doodles.is-visible>:nth-child(69){animation-delay:1.02s}.lp-projects-doodles.is-visible>:nth-child(70){animation-delay:1.035s}.lp-projects-doodles.is-visible>:nth-child(n+71){animation-delay:1.05s}.lp-projects-doodles{--proj-doodle-opacity: .06}html.light-mode .lp-projects-doodles{--proj-doodle-opacity: .13}.lp-section-title,.lp-section-note{position:relative;z-index:1}.lp-filter-bar{position:relative;z-index:2}.lp-grid{position:relative;z-index:1}.lp-section-title{font-family:var(--font-display);font-weight:700;font-size:1.5rem;text-align:center;margin:0 0 .25rem;color:var(--lp-text)}.lp-section-title-caret{position:relative;font-family:var(--font-handwritten);font-size:170%;font-weight:400;color:var(--lp-annotation);opacity:.85}.lp-section-title-scrawl{position:absolute;bottom:55%;right:-1.3em;transform:rotate(-8deg);font-family:var(--font-handwritten);font-size:100%;font-weight:400;color:var(--lp-annotation);white-space:nowrap;pointer-events:none}.lp-section-note{font-family:var(--font-handwritten);font-size:clamp(1.5rem,3vw,2rem);color:var(--lp-handwritten);text-align:center;opacity:.8;transform:rotate(-3deg);margin:0 0 2rem}.lp-filter-bar{position:relative;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:2rem;max-width:480px;margin-left:auto;margin-right:auto}.lp-filter-combo{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;flex:1;min-height:38px;padding:.3rem .5rem;border-radius:12px;border:1.5px solid var(--lp-card-border);background:var(--lp-input-bg);transition:border-color .2s}.lp-filter-combo:focus-within{border-color:var(--lp-accent)}.lp-filter-input{flex:1;min-width:80px;border:none;background:transparent;font-family:var(--font-sans);font-size:.8rem;color:var(--lp-text);outline:none;padding:.25rem}.lp-filter-input::-moz-placeholder{color:var(--lp-muted);opacity:.6}.lp-filter-input::placeholder{color:var(--lp-muted);opacity:.6}.lp-filter-selected{display:inline-flex;align-items:center;gap:.25rem;font-family:var(--font-sans);font-size:.7rem;font-weight:500;padding:.2rem .5rem;border-radius:999px;background:var(--lp-accent);color:var(--color-surface-base);white-space:nowrap;animation:lp-pillIn .15s ease-out}.lp-filter-selected-x{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:inherit;font-size:.85rem;line-height:1;cursor:pointer;padding:0;opacity:.7;transition:opacity .15s}.lp-filter-selected-x:hover{opacity:1}.lp-filter-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:.35rem;list-style:none;padding:.35rem;background:var(--lp-surface-modal);border:1px solid var(--lp-card-border);border-radius:10px;box-shadow:0 8px 24px #00000026;max-height:200px;overflow-y:auto;z-index:20;animation:lp-menuIn .15s ease-out}.lp-filter-option{display:block;width:100%;text-align:left;padding:.45rem .75rem;border:none;border-radius:6px;background:transparent;font-family:var(--font-sans);font-size:.8rem;color:var(--lp-text);cursor:pointer;transition:background .15s,color .15s}.lp-filter-option:hover{background:var(--lp-tag-bg);color:var(--lp-accent)}.lp-filter-clear-btn{font-family:var(--font-sans);font-size:.75rem;font-weight:500;padding:.3rem .75rem;border-radius:999px;border:none;background:transparent;color:var(--lp-muted);cursor:pointer;white-space:nowrap;transition:all .2s ease}.lp-filter-clear-btn:hover{border-color:var(--lp-accent);color:var(--lp-accent)}.lp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.lp-card-wrap{perspective:600px;opacity:0;transform:translateY(40px);transition:opacity .6s cubic-bezier(.34,1.56,.64,1),transform .6s cubic-bezier(.34,1.56,.64,1)}.lp-card-wrap.is-visible{opacity:1;transform:translateY(0)}.lp-card{position:relative;width:100%;height:300px;border-radius:20px;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.34,1.56,.64,1);cursor:pointer}.lp-card.is-flipped{transform:rotateY(180deg);transition-duration:.6s}.lp-card-face{position:absolute;inset:0;border-radius:20px;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;padding:1.5rem}.lp-card-front{background:var(--lp-card-bg);border:1px solid var(--lp-card-border);transition:background-color .4s,border-color .4s}.lp-card-front.color-apricot{border-left:6px solid var(--lp-apricot);box-shadow:4px 4px rgba(var(--lp-apricot-rgb),.15)}.lp-card-front.color-rose{border-left:6px solid var(--lp-rose);box-shadow:4px 4px rgba(var(--lp-rose-rgb),.15)}.lp-card-front.color-sage{border-left:6px solid var(--lp-sage);box-shadow:4px 4px rgba(var(--lp-sage-rgb),.15)}.lp-card-front.color-lavender{border-left:6px solid var(--lp-lavender);box-shadow:4px 4px rgba(var(--lp-lavender-rgb),.15)}.lp-card-front.color-sand{border-left:6px solid var(--lp-sand);box-shadow:4px 4px rgba(var(--lp-sand-rgb),.15)}.landing.dark-mode .lp-card-front.color-apricot{box-shadow:0 0 16px rgba(var(--lp-apricot-rgb),.1)}.landing.dark-mode .lp-card-front.color-rose{box-shadow:0 0 16px rgba(var(--lp-rose-rgb),.1)}.landing.dark-mode .lp-card-front.color-sage{box-shadow:0 0 16px rgba(var(--lp-sage-rgb),.1)}.landing.dark-mode .lp-card-front.color-lavender{box-shadow:0 0 16px rgba(var(--lp-lavender-rgb),.1)}.landing.dark-mode .lp-card-front.color-sand{box-shadow:0 0 16px rgba(var(--lp-sand-rgb),.1)}.lp-card-icon{width:32px;height:32px;color:var(--lp-accent);margin-bottom:.75rem;opacity:.85}.lp-card-badge{position:absolute;top:.75rem;right:.75rem;font-family:var(--font-sans);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .5rem;border-radius:999px;background:var(--lp-accent);color:var(--color-surface-base);opacity:.9}.lp-card-name{font-family:var(--font-display);font-weight:700;font-size:1.15rem;margin-bottom:.5rem;color:var(--lp-text)}.lp-card-desc{font-size:.85rem;color:var(--lp-muted);line-height:1.5;flex:1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.lp-card-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:auto}.lp-card-tag{font-size:.7rem;padding:.2rem .5rem;border-radius:999px;background:var(--lp-tag-bg);color:var(--lp-muted);font-weight:500;transition:background-color .4s}.lp-card-back{background:var(--lp-card-back-bg);color:var(--lp-card-back-text);transform:rotateY(180deg);justify-content:center;align-items:center;text-align:center;gap:1rem;transition:background-color .4s,color .4s}.lp-card-back-name{font-family:var(--font-display);font-weight:700;font-size:1.25rem}.lp-card-back-desc{font-size:.85rem;color:var(--lp-card-back-muted);line-height:1.6;padding:0 1rem}.lp-card-ask-btn{padding:.5rem 1.25rem;border-radius:999px;border:none;background:var(--lp-accent);color:var(--color-surface-base);font-family:var(--font-display);font-weight:600;font-size:.85rem;cursor:pointer;transition:transform .2s,box-shadow .2s,background .3s,color .3s}.lp-card-ask-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px var(--lp-accent-glow)}.lp-card-badge--demo{top:auto;bottom:.75rem;right:.75rem;background:var(--lp-handwritten)}.lp-card-back-actions{display:flex;flex-direction:column;gap:.5rem;align-items:center}.lp-card-demo-btn{padding:.5rem 1.25rem;border-radius:999px;border:1.5px solid var(--lp-accent);background:transparent;color:var(--lp-accent);font-family:var(--font-display);font-weight:600;font-size:.85rem;cursor:pointer;transition:transform .2s,box-shadow .2s,background .3s,color .3s}.lp-card-demo-btn:hover{background:var(--lp-accent);color:var(--color-surface-base);transform:scale(1.05);box-shadow:0 4px 12px var(--lp-accent-glow)}.lp-filter-modal-backdrop{--lp-text: var(--color-text-primary);--lp-muted: var(--color-text-secondary);--lp-card-border: var(--color-overlay-medium);--lp-input-bg: var(--color-surface-elevated);--lp-surface-modal: var(--color-surface-modal);--lp-accent: var(--color-accent-primary);--lp-tag-bg: var(--color-overlay-medium);position:fixed;inset:0;background:#0006;z-index:9999;display:flex;align-items:flex-end;animation:lp-overlayFadeIn .15s ease-out}.lp-filter-modal{position:relative;width:100%;max-height:70vh;background:var(--color-surface-modal, var(--lp-surface-modal));border-radius:16px 16px 0 0;padding:1rem;z-index:10000;display:flex;flex-direction:column;animation:lp-overlaySlideUp .2s ease-out}.lp-filter-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.lp-filter-modal-title{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--lp-text)}.lp-filter-modal-close{width:32px;height:32px;border-radius:50%;border:none;background:var(--lp-tag-bg);color:var(--lp-muted);font-size:1.2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.lp-filter-modal-close:hover{background:var(--lp-accent);color:var(--color-surface-base)}.lp-filter-modal-pills{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;margin-bottom:.75rem}.lp-filter-modal-input{width:100%;border:1.5px solid var(--lp-card-border);border-radius:10px;background:var(--lp-input-bg);font-family:var(--font-sans);font-size:.85rem;color:var(--lp-text);padding:.5rem .75rem;outline:none;margin-bottom:.5rem;transition:border-color .2s}.lp-filter-modal-input:focus{border-color:var(--lp-accent)}.lp-filter-modal-input::-moz-placeholder{color:var(--lp-muted);opacity:.6}.lp-filter-modal-input::placeholder{color:var(--lp-muted);opacity:.6}.lp-filter-modal-list{list-style:none;padding:0;margin:0;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}.lp-filter-modal-empty{padding:1rem;text-align:center;font-size:.8rem;color:var(--lp-muted);opacity:.7}@media (max-width: 600px){.lp-grid{gap:2.25rem}.lp-card-face{padding:1.15rem}.lp-card-icon{width:26px;height:26px}.lp-card-name{font-size:1rem}.lp-card-desc{font-size:.78rem;-webkit-line-clamp:3}.lp-card-tag{font-size:.65rem}.lp-card-wrap{perspective:none}.lp-card{transform-style:flat;-webkit-transform-style:flat}.lp-card.is-flipped{transform:none!important}.lp-card-back{display:none}}.lp-card-overlay-backdrop{position:fixed;inset:0;z-index:1000;background:#0000008c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:flex-end;animation:lp-overlayFadeIn .25s ease}.lp-card-overlay{position:relative;width:100%;max-height:85vh;overflow-y:auto;border-radius:20px 20px 0 0;background:var(--lp-card-bg);color:var(--lp-text);padding:1.75rem 1.5rem 2.5rem;display:flex;flex-direction:column;gap:.85rem;animation:lp-overlaySlideUp .3s cubic-bezier(.34,1.56,.64,1)}.lp-card-overlay-close{position:absolute;top:.75rem;right:.75rem;width:32px;height:32px;border-radius:50%;border:none;background:var(--lp-tag-bg);color:var(--lp-muted);font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.lp-card-overlay-close:hover{background:var(--lp-accent);color:var(--color-surface-base)}.lp-card-overlay-icon{width:28px;height:28px;color:var(--lp-accent);opacity:.85}.lp-card-overlay-name{font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:var(--lp-text)}.lp-card-overlay-desc{font-size:.875rem;color:var(--lp-muted);line-height:1.6}.lp-card-overlay-tags{display:flex;flex-wrap:wrap;gap:.375rem}.lp-card-overlay-actions{display:flex;flex-direction:column;gap:.5rem;align-items:stretch;margin-top:.5rem}.lp-card-overlay-actions .lp-card-demo-btn,.lp-card-overlay-actions .lp-card-ask-btn{width:100%}@keyframes lp-overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes lp-overlaySlideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.lp-chat{position:relative;z-index:6;max-width:640px;margin:2rem auto 4rem;padding:0 1.5rem;text-align:center;background:var(--lp-bg);transition:background-color .4s}.lp-chat-doodles{position:absolute;top:0;left:50%;transform:translate(-50%);width:100vw;height:100%;overflow:hidden;pointer-events:none;z-index:0}.lp-chat-doodles .lp-pdoodle{position:absolute;opacity:0}.lp-chat-doodles.is-visible>.lp-pdoodle{animation:lp-projDoodleFade .6s ease forwards}.lp-chat-doodles.is-visible>:nth-child(1){animation-delay:0s}.lp-chat-doodles.is-visible>:nth-child(2){animation-delay:15ms}.lp-chat-doodles.is-visible>:nth-child(3){animation-delay:.03s}.lp-chat-doodles.is-visible>:nth-child(4){animation-delay:45ms}.lp-chat-doodles.is-visible>:nth-child(5){animation-delay:.06s}.lp-chat-doodles.is-visible>:nth-child(6){animation-delay:75ms}.lp-chat-doodles.is-visible>:nth-child(7){animation-delay:.09s}.lp-chat-doodles.is-visible>:nth-child(8){animation-delay:.105s}.lp-chat-doodles.is-visible>:nth-child(9){animation-delay:.12s}.lp-chat-doodles.is-visible>:nth-child(10){animation-delay:.135s}.lp-chat-doodles.is-visible>:nth-child(11){animation-delay:.15s}.lp-chat-doodles.is-visible>:nth-child(12){animation-delay:.165s}.lp-chat-doodles.is-visible>:nth-child(13){animation-delay:.18s}.lp-chat-doodles.is-visible>:nth-child(14){animation-delay:.195s}.lp-chat-doodles.is-visible>:nth-child(15){animation-delay:.21s}.lp-chat-doodles.is-visible>:nth-child(16){animation-delay:.225s}.lp-chat-doodles.is-visible>:nth-child(17){animation-delay:.24s}.lp-chat-doodles.is-visible>:nth-child(18){animation-delay:.255s}.lp-chat-doodles.is-visible>:nth-child(19){animation-delay:.27s}.lp-chat-doodles.is-visible>:nth-child(20){animation-delay:.285s}.lp-chat-doodles.is-visible>:nth-child(21){animation-delay:.3s}.lp-chat-doodles.is-visible>:nth-child(22){animation-delay:.315s}.lp-chat-doodles.is-visible>:nth-child(23){animation-delay:.33s}.lp-chat-doodles.is-visible>:nth-child(24){animation-delay:.345s}.lp-chat-doodles.is-visible>:nth-child(25){animation-delay:.36s}.lp-chat-doodles.is-visible>:nth-child(26){animation-delay:.375s}.lp-chat-doodles.is-visible>:nth-child(27){animation-delay:.39s}.lp-chat-doodles.is-visible>:nth-child(28){animation-delay:.405s}.lp-chat-doodles.is-visible>:nth-child(29){animation-delay:.42s}.lp-chat-doodles.is-visible>:nth-child(n+30){animation-delay:.435s}.lp-chat-doodles{--proj-doodle-opacity: .06}html.light-mode .lp-chat-doodles{--proj-doodle-opacity: .13}.lp-chat-label,.lp-chat form,.lp-chat-sub{position:relative;z-index:1}.lp-chat-label{font-family:var(--font-display);font-weight:700;font-size:1.25rem;margin-bottom:1rem;color:var(--lp-text)}.lp-chat-input-wrap{border-radius:16px;padding:0;background:transparent}.lp-chat-input-inner{position:relative;border-radius:16px;background:transparent;border:1.5px solid var(--lp-accent);opacity:.5;transition:opacity .3s,border-color .3s}.lp-chat-input-inner:focus-within{opacity:1}.lp-chat-input{width:100%;padding:1rem 1.25rem;border:none;border-radius:16px;background:transparent;font-family:var(--font-display);font-size:1rem;color:var(--lp-text);outline:none;position:relative;z-index:1}.lp-chat-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-handwritten);font-size:clamp(1.6rem,3vw,2.4rem);color:var(--lp-text);opacity:.5;pointer-events:none;white-space:nowrap;z-index:0;transition:opacity .3s}.lp-chat-input:focus~.lp-chat-placeholder{opacity:0}.lp-chat-sub{margin-top:.75rem;font-size:.85rem;color:var(--lp-muted)}.lp-chat-sub a{color:var(--lp-accent);text-decoration:none;font-weight:500}.lp-chat-sub a:hover{text-decoration:underline}@keyframes lp-menuIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes lp-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes lp-pillIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes lp-bounceIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes lp-scrawlPop{0%{opacity:0;transform:scale(.5) rotate(var(--scrawl-rotate, -8deg))}70%{opacity:.9;transform:scale(1.1) rotate(var(--scrawl-rotate, -8deg))}to{opacity:.8;transform:scale(1) rotate(var(--scrawl-rotate, -8deg))}}@keyframes lp-projDoodleFade{0%{opacity:0;transform:scale(.7)}to{opacity:var(--proj-doodle-opacity, .06);transform:scale(1)}}.lp-doodle{position:absolute;pointer-events:none;opacity:.55}@media (max-width: 768px){.lp-hero{position:relative;min-height:auto;padding:4rem 1.5rem 2rem}.lp-stats{position:relative;min-height:auto;padding:2rem 1rem}.lp-stats-inner{gap:1.5rem}.lp-stats-row{gap:2rem;flex-wrap:wrap;justify-content:center}.lp-stats-row--2{gap:2rem}.lp-projects{padding:2rem 1rem}.lp-grid{gap:1rem}.lp-card{height:auto;min-height:180px}.lp-card-face{padding:1.25rem}.lofi-annotation{display:none}.lp-player-area{top:.75rem;left:.75rem}.lp-settings-hint-group{display:none}.lp-settings-area{top:.75rem;right:.75rem}.lp-menu{min-width:180px;right:.75rem!important}.lp-menu-item{padding:.6rem .8rem;font-size:.85rem}.lp-chalkboard-header{margin-bottom:1.25rem;margin-top:0}.lp-chalkboard-header .lp-chalk-title{font-size:clamp(40px,12vw,56px);margin-bottom:.5rem}.lp-chalk-decorations{position:relative;height:auto;margin-top:.5rem}.lp-chalk-note{display:block;position:relative;font-size:clamp(18px,5vw,22px);text-align:center;left:auto;top:auto;transform:none;white-space:normal;margin:0 auto}.lp-hero-links{flex-wrap:wrap;justify-content:center}.lp-scroll-hint,.lp-stats-doodles,.lp-projects-doodles,.lp-chat-doodles{display:none}.lp-stat-scrawl{position:relative;top:auto;right:auto;bottom:auto;display:block;text-align:center;margin-top:.75rem;font-size:1.4rem}.lp-stats-inner.counts-done .lp-stat-scrawl--wow{--scrawl-rotate: -4deg;font-size:2rem}.lp-stats-inner.counts-done .lp-stat-scrawl--counting{--scrawl-rotate: 3deg}.lp-transition-scrawl{display:none}.lp-chat{margin:1.5rem auto 3rem;padding:0 1rem}.lp-chat-placeholder{font-size:1.5rem}.lp-filter-dropdown{max-height:160px}}@media (max-width: 480px){.lp-hero{padding:3rem 1rem 1.5rem}.lp-hero-links{flex-direction:column;gap:.5rem;align-items:stretch}.lp-btn{justify-content:center}.lp-stats-inner{gap:1.25rem;padding:1.5rem 1rem}.lp-stats-row,.lp-stats-row--2{gap:1.5rem}.lp-projects{padding:1.5rem .75rem}.lp-grid{gap:.75rem}.lp-card-face{padding:1rem}.lp-card-name{font-size:1rem}.lp-filter-bar{gap:.375rem}.lp-filter-combo{padding:.2rem .4rem}.lp-chat{padding:0 .75rem}.lp-chat-input{padding:.75rem 1rem}}body:has(.landing){background:var(--color-surface-base);transition:background-color .4s}body:has(.landing.dark-mode){background:var(--color-surface-base)}:root{--color-accent-primary: #82FFF4;--color-accent-primary-rgb: 130, 255, 244;--color-accent-secondary: #FFB67A;--color-accent-secondary-rgb: 255, 182, 122;--color-accent-secondary-bright: #FFCC9A;--color-accent-secondary-bright-rgb: 255, 204, 154;--color-accent-tertiary: #A3F7BF;--color-accent-tertiary-rgb: 163, 247, 191;--color-accent-quaternary: var(--color-accent-primary);--color-accent-quaternary-rgb: var(--color-accent-primary-rgb);--color-accent-quinary: #A78BFA;--color-accent-quinary-rgb: 167, 139, 250;--color-palette-apricot: #FFB67A;--color-palette-apricot-rgb: 255, 182, 122;--color-palette-rose: #E8A0BF;--color-palette-rose-rgb: 232, 160, 191;--color-palette-sage: #A8C5A0;--color-palette-sage-rgb: 168, 197, 160;--color-palette-lavender: #B8A9D4;--color-palette-lavender-rgb: 184, 169, 212;--color-palette-sand: #D4C5A0;--color-palette-sand-rgb: 212, 197, 160;--color-surface-base: #242222;--color-surface-base-rgb: 36, 34, 34;--color-surface-elevated: #12151B;--color-surface-elevated-rgb: 18, 21, 27;--color-surface-elevated-higher: #171A20;--color-surface-elevated-higher-rgb: 23, 26, 32;--color-surface-editor: #1E1E1E;--color-surface-editor-rgb: 30, 30, 30;--color-surface-canvas: #242222;--color-surface-canvas-rgb: 36, 34, 34;--color-surface-glass: rgba(53, 53, 57, .85);--color-surface-modal: #1a1a1a;--color-surface-modal-rgb: 26, 26, 26;--color-surface-header: rgba(36, 34, 34, .65);--color-surface-header-transparent: rgba(36, 34, 34, .1);--color-surface-gradient-base: #1C1A1A;--color-surface-gradient-base-rgb: 28, 26, 26;--color-text-primary: #DFE3EA;--color-text-primary-rgb: 223, 227, 234;--color-text-secondary: #A5AFBE;--color-text-secondary-rgb: 165, 175, 190;--color-text-tertiary: #7B8494;--color-text-tertiary-rgb: 123, 132, 148;--color-text-handwritten: #9CA3AF;--color-text-handwritten-rgb: 156, 163, 175;--color-text-link: #8FB7BE;--color-text-link-rgb: 143, 183, 190;--color-border-primary: #06989A;--color-border-primary-rgb: 6, 152, 154;--color-border-subtle: #1C222C;--color-border-subtle-rgb: 28, 34, 44;--color-border-default: #22293A;--color-border-default-rgb: 34, 41, 58;--color-border-dark: rgba(0, 0, 0, .3);--color-overlay-subtle: rgba(255, 255, 255, .03);--color-overlay-light: rgba(255, 255, 255, .05);--color-overlay-medium: rgba(255, 255, 255, .1);--color-overlay-strong: rgba(255, 255, 255, .15);--color-overlay-border: rgba(255, 255, 255, .2);--gradient-accent-primary: linear-gradient(90deg, #82FFF4 0%, rgba(130, 255, 244, .3) 100%);--gradient-accent-secondary: linear-gradient(90deg, #FFB67A 0%, rgba(255, 182, 122, .3) 100%);--gradient-accent-tertiary: linear-gradient(90deg, #A3F7BF 0%, rgba(163, 247, 191, .3) 100%);--color-diagram-primary: #A1DBE1;--color-diagram-secondary: #e08a3c;--color-diagram-tertiary: #e08a8a;--color-semantic-success: #7CFF5E;--color-semantic-success-rgb: 124, 255, 94;--color-semantic-warning: #FF9800;--color-semantic-warning-rgb: 255, 152, 0;--color-semantic-error: #FF6B6B;--color-semantic-error-rgb: 255, 107, 107;--color-semantic-info: #82FFF4;--color-semantic-info-rgb: 130, 255, 244;--color-highlight-code: rgba(130, 255, 244, .1);--color-highlight-subtle: rgba(130, 255, 244, .05);--color-state-hover: rgba(130, 255, 244, .15);--color-state-active: rgba(130, 255, 244, .25);--color-state-disabled: rgba(123, 132, 148, .4);--color-state-focus: rgba(130, 255, 244, .3);--color-state-border: rgba(130, 255, 244, .4);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Comfortaa", "Inter", sans-serif;--font-handwritten: "Reenie Beanie", cursive;--font-handwritten-alt: "Patrick Hand", cursive;--header-height: 70px;--canvas-header-height: 3rem;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;background-color:var(--color-surface-base);color:var(--color-text-primary);min-height:var(--app-height, 100vh);overflow-x:hidden;-webkit-overflow-scrolling:touch}#root{width:100%;min-height:var(--app-height, 100vh)}html.light-mode{--color-accent-primary: #0DA69F;--color-accent-primary-rgb: 13, 166, 159;--color-accent-secondary: #EA580C;--color-accent-secondary-rgb: 234, 88, 12;--color-accent-secondary-bright: #C2410C;--color-accent-secondary-bright-rgb: 194, 65, 12;--color-accent-tertiary: #16A34A;--color-accent-tertiary-rgb: 22, 163, 74;--color-accent-quinary: #8B5CF6;--color-accent-quinary-rgb: 139, 92, 246;--color-palette-apricot: #E8A87C;--color-palette-apricot-rgb: 232, 168, 124;--color-palette-rose: #D4869C;--color-palette-rose-rgb: 212, 134, 156;--color-palette-sage: #8FB396;--color-palette-sage-rgb: 143, 179, 150;--color-palette-lavender: #9C8DB8;--color-palette-lavender-rgb: 156, 141, 184;--color-palette-sand: #C4B590;--color-palette-sand-rgb: 196, 181, 144;--color-surface-base: #F5F5F5;--color-surface-base-rgb: 245, 245, 245;--color-surface-elevated: #FEFEFE;--color-surface-elevated-rgb: 254, 254, 254;--color-surface-elevated-higher: #FEFEFE;--color-surface-elevated-higher-rgb: 254, 254, 254;--color-surface-editor: #FEFEFE;--color-surface-editor-rgb: 254, 254, 254;--color-surface-canvas: #F5F5F5;--color-surface-canvas-rgb: 245, 245, 245;--color-surface-glass: rgba(254, 254, 254, .88);--color-surface-modal: #FEFEFE;--color-surface-modal-rgb: 254, 254, 254;--color-surface-header: rgba(245, 245, 245, .88);--color-surface-header-transparent: rgba(245, 245, 245, .3);--color-surface-gradient-base: #EBEBEB;--color-surface-gradient-base-rgb: 235, 235, 235;--color-text-primary: #1C1917;--color-text-primary-rgb: 28, 25, 23;--color-text-secondary: #57534E;--color-text-secondary-rgb: 87, 83, 78;--color-text-tertiary: #A8A29E;--color-text-tertiary-rgb: 168, 162, 158;--color-text-handwritten: #78716C;--color-text-handwritten-rgb: 120, 113, 108;--color-text-link: #0E7490;--color-text-link-rgb: 14, 116, 144;--color-border-primary: #0E8C86;--color-border-primary-rgb: 14, 140, 134;--color-border-subtle: #E7E5E4;--color-border-subtle-rgb: 231, 229, 228;--color-border-default: #D6D3D1;--color-border-default-rgb: 214, 211, 209;--color-border-dark: rgba(0, 0, 0, .08);--color-overlay-subtle: rgba(0, 0, 0, .02);--color-overlay-light: rgba(0, 0, 0, .04);--color-overlay-medium: rgba(0, 0, 0, .06);--color-overlay-strong: rgba(0, 0, 0, .08);--color-overlay-border: rgba(0, 0, 0, .12);--gradient-accent-primary: linear-gradient(90deg, #0E8C86 0%, rgba(14, 140, 134, .3) 100%);--gradient-accent-secondary: linear-gradient(90deg, #EA580C 0%, rgba(234, 88, 12, .3) 100%);--gradient-accent-tertiary: linear-gradient(90deg, #16A34A 0%, rgba(22, 163, 74, .3) 100%);--color-diagram-primary: #0E7490;--color-diagram-secondary: #b06b2a;--color-diagram-tertiary: #c97272;--color-semantic-success: #16A34A;--color-semantic-success-rgb: 22, 163, 74;--color-semantic-warning: #D97706;--color-semantic-warning-rgb: 217, 119, 6;--color-semantic-error: #DC2626;--color-semantic-error-rgb: 220, 38, 38;--color-semantic-info: #0E8C86;--color-semantic-info-rgb: 14, 140, 134;--color-highlight-code: rgba(14, 140, 134, .1);--color-highlight-subtle: rgba(14, 140, 134, .05);--color-state-hover: rgba(14, 140, 134, .1);--color-state-active: rgba(14, 140, 134, .18);--color-state-disabled: rgba(168, 162, 158, .4);--color-state-focus: rgba(14, 140, 134, .2);--color-state-border: rgba(14, 140, 134, .3)}
