*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow:hidden}body{height:100%;margin:0;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0a0a;color:#fff;overflow:hidden;-webkit-user-select:none;user-select:none}#root{height:100vh;width:100vw;overflow:hidden}canvas{display:block;outline:none;touch-action:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(76,175,80,.6);border-radius:4px;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:rgba(76,175,80,.8)}.glass-panel{background:linear-gradient(145deg,rgba(26,26,26,.95),rgba(38,38,38,.9));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(76,175,80,.1);border-radius:16px;box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff1a}.glass-panel-light{background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.05));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 8px 32px #0000001a,inset 0 1px #fff3}:root{--primary-green: #4CAF50;--accent-blue: #2196F3;--growth-light: #8BC34A;--soil-brown: #795548;--sky-gradient: linear-gradient(180deg, #87CEEB 0%, #98FB98 100%);--background-primary: #0a0a0a;--background-secondary: #1a1a1a;--surface-primary: rgba(26, 26, 26, .95);--surface-secondary: rgba(38, 38, 38, .9);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--text-tertiary: rgba(255, 255, 255, .5);--border-primary: rgba(76, 175, 80, .1);--border-secondary: rgba(255, 255, 255, .1);--spring-bounce: cubic-bezier(.68, -.55, .265, 1.55);--smooth-ease: cubic-bezier(.4, 0, .2, 1);--grow-transition: all .8s var(--spring-bounce)}[data-season=spring]{--primary-color: #4CAF50;--secondary-color: #2196F3;--accent-color: #8BC34A;--earth-color: #795548;--atmosphere: linear-gradient(180deg, #87CEEB 0%, #98FB98 100%)}[data-season=summer]{--primary-color: #2E7D32;--secondary-color: #FF9800;--accent-color: #9C27B0;--earth-color: #6D4C41;--atmosphere: linear-gradient(180deg, #FFD54F 0%, #FF8A65 100%)}[data-season=autumn]{--primary-color: #FFC107;--secondary-color: #F44336;--accent-color: #FF5722;--earth-color: #8D6E63;--atmosphere: linear-gradient(180deg, #FFAB91 0%, #BCAAA4 100%)}[data-season=winter]{--primary-color: #1976D2;--secondary-color: #9E9E9E;--accent-color: #FAFAFA;--earth-color: #424242;--atmosphere: linear-gradient(180deg, #B0BEC5 0%, #263238 100%)}.garden-title{font-size:clamp(2rem,5vw,4rem);font-weight:300;letter-spacing:-.02em;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem}.project-title{font-family:IBM Plex Sans,sans-serif;font-weight:500;transition:var(--grow-transition);color:var(--primary-color)}.monospace{font-family:IBM Plex Mono,Menlo,Monaco,Consolas,monospace}.skill-name{font-weight:600;color:var(--text-primary);text-shadow:0 0 10px rgba(76,175,80,.3)}.loading-shimmer{background:linear-gradient(90deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.1) 100%);background-size:200% 100%;animation:shimmer 2s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.plant-growing{animation:plantGrow 3s var(--spring-bounce) forwards}@keyframes plantGrow{0%{transform:scale(0) rotateY(0);opacity:0}50%{transform:scale(.5) rotateY(180deg);opacity:.7}to{transform:scale(1) rotateY(360deg);opacity:1}}.sparkle-container{pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.sparkle{position:absolute;width:4px;height:4px;background:radial-gradient(circle,var(--primary-color),transparent);border-radius:50%;animation:sparkle 2s infinite}@keyframes sparkle{0%,to{opacity:0;transform:translateY(0) scale(0)}50%{opacity:1;transform:translateY(-20px) scale(1)}}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.focus-visible{outline:2px solid var(--primary-color)!important;outline-offset:2px!important;box-shadow:0 0 0 4px #4caf504d!important}@media (prefers-contrast: high){:root{--text-primary: #ffffff;--text-secondary: #ffffff;--background-primary: #000000;--background-secondary: #000000;--primary-color: #00ff00;--border-primary: #ffffff}.glass-panel{background:#000000;border:2px solid #ffffff;-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.plant-growing{animation:none;transform:scale(1);opacity:1}.sparkle{display:none}}@media (hover: none) and (pointer: coarse){.interactive-element{min-height:44px;min-width:44px}.glass-panel{-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-color-scheme: dark){:root{color-scheme:dark}}@media print{.garden-canvas,.navigation-overlay,.glass-panel{display:none!important}body{background:white!important;color:#000!important}}::selection{background:rgba(76,175,80,.3);color:#fff}::-moz-selection{background:rgba(76,175,80,.3);color:#fff}html{scroll-behavior:smooth}.focus-trap{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;pointer-events:none}.focus-trap:focus{outline:none}.will-change-transform{will-change:transform}.will-change-opacity{will-change:opacity}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden}@media (max-width: 768px){.desktop-only{display:none!important}}@media (min-width: 769px){.mobile-only{display:none!important}}.debug-bounds{outline:1px dashed red!important}.debug-grid{background-image:linear-gradient(rgba(255,0,0,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,0,0,.1) 1px,transparent 1px);background-size:20px 20px}
