@import 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&family=Luckiest+Guy&display=swap';:root{--color-canvas:#f7f5f0;--color-ink-primary:#1a1a1c;--color-ink-muted:#55555a;--c1:#2d1b4e;--c2:#693b69;--c3:#b85b56;--c4:#dca258;--glass-bg:rgba(247, 245, 240, 0.4);--glass-blur:blur(12px);--font-heading:'Luckiest Guy', cursive;--font-body:'Inter', sans-serif}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);color:var(--color-ink-primary);background-color:var(--color-canvas);min-height:100vh;position:relative;overflow-x:hidden;background-image:url('data:image/svg+xml,%3Csvg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"%3E%3Cfilter id="noiseFilter"%3E%3CfeTurbulence type="fractalNoise" baseFrequency="0.65" numOctaves="3" stitchTiles="stitch"/%3E%3C/filter%3E%3Crect width="100%25" height="100%25" filter="url(%23noiseFilter)" opacity="0.08"/%3E%3C/svg%3E')}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-ink-primary);margin-bottom:.5rem}p{line-height:1.6;margin-bottom:1rem}a{color:var(--c1);text-decoration:underline;text-underline-offset:4px;transition:color .2s ease}a:hover{color:var(--c3)}:focus-visible{outline:3px solid var(--c3);outline-offset:4px}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-ink-primary);color:var(--color-canvas);padding:8px;z-index:100;transition:top .2s}.skip-link:focus{top:0}#p5-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none}.ui-layer{position:relative;z-index:10;max-width:800px;margin:0 auto;padding:2rem;min-height:100vh;display:flex;flex-direction:column}#main-content{flex:1;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:12px;padding:2.5rem;box-shadow:0 4px 6px rgba(0,0,0,5%);border:1px solid rgba(255,255,255,.2)}.glass-box{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:12px;padding:2.5rem;box-shadow:0 4px 6px rgba(0,0,0,5%);border:1px solid rgba(255,255,255,.2)}.site-header{position:sticky;top:0;z-index:100;margin:-2rem 0 2rem;border-radius:0 0 12px 12px;display:flex;justify-content:space-between;align-items:center;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);padding:1.5rem 2.5rem;box-shadow:0 4px 6px rgba(0,0,0,5%);border:1px solid rgba(255,255,255,.2);border-top:none}.site-logo{height:60px;width:auto;display:block;margin:-20px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);transform-origin:center right}.site-logo:hover{transform:scale(1.2)rotate(-10deg)}.site-nav ul{list-style:none;display:flex;gap:2rem}.site-nav a{text-decoration:none;font-weight:500;color:var(--color-ink-primary)}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--c3)}.text-muted{color:var(--color-ink-muted)}.grid-2{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:2rem}@media(min-width:768px){.grid-2{grid-template-columns:1fr 1fr}}.cta-button{display:inline-block;background-color:var(--color-ink-primary);color:var(--color-canvas);padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;font-family:var(--font-body);font-weight:500;margin-top:1rem;transition:transform .2s,background-color .2s;border:2px solid transparent}.cta-button:hover{background-color:var(--c1);color:var(--color-canvas);transform:translateY(-2px)}.cta-button:focus-visible{border-color:var(--c3)}.form-group{margin-bottom:1.5rem}label{display:block;margin-bottom:.5rem;font-weight:700}input[type=text],input[type=email],textarea{width:100%;padding:.75rem;border:1px solid var(--color-ink-muted);border-radius:4px;font-family:var(--font-body);background:rgba(255,255,255,.5);font-size:1rem}button[type=submit]{cursor:pointer;border:none}.circuit-divider{width:100%;height:24px;margin:2.5rem 0;display:block;opacity:.8}.circuit-divider line,.circuit-divider path{stroke:var(--c4);stroke-width:2;fill:none;transition:stroke .3s ease}.circuit-divider polygon.solid{fill:var(--c4);transition:fill .3s ease}.sketch-selector-container{position:fixed;bottom:30px;right:30px;z-index:100;display:flex;flex-direction:column;align-items:flex-end}.sketch-selector-icon{width:40px;height:24px;cursor:pointer;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);transform-origin:center}.diode-icon{width:100%;height:100%;object-fit:contain;opacity:.8;transition:opacity .3s}.sketch-selector-container:hover .sketch-selector-icon{transform:rotate(-45deg)scale(1.2)}.sketch-selector-container:hover .diode-icon{opacity:1}.sketch-selector-menu{position:absolute;bottom:40px;right:0;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:160px;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 10px 25px rgba(0,0,0,.1)}.sketch-selector-container:hover .sketch-selector-menu{opacity:1;visibility:visible;transform:translateY(0)}.menu-label{font-family:var(--font-heading);font-size:.85rem;color:var(--c1);margin-bottom:4px;border-bottom:1px solid rgba(0,0,0,.1);padding-bottom:4px}.sketch-btn{background:0 0;border:none;text-align:right;font-family:var(--font-body);font-size:.85rem;color:var(--color-ink-primary);cursor:pointer;padding:4px 6px;border-radius:4px;transition:background .2s,color .2s}.sketch-btn:hover{background:var(--c3);color:var(--color-canvas);.site-footer{padding-top:4rem;text-align:center;color:var(--color-ink-muted);font-size:.85rem} #sketch-data { display: none; } .single-container { margin-top: 5vh; max-width: 800px; } .single-header { margin-bottom: 2rem; } .single-title { font-size: 2.5rem; margin-bottom: 0.5rem; border-bottom: 2px solid var(--color-ink-muted); padding-bottom: 0.5rem; }}