:root{--black: #010101;--gray-900: #1b1e21;--gray-700: #353a3f;--gray-600: #24292F;--gray-400: #5b524c;--gray-100: #fdfbef;--gray-50: #fcfcfc;--white: #f5f5f5;--bg: #F6F5F0;--accent: #f7c68d;--accent-burnt: #E4AF75;--border: #e8e6e1;--surface-tint: rgba(0, 0, 0, .02);--focus: rgb(248, 99, 117);--error: #ef4444;--radius-sm: .25rem;--radius: .75rem;--radius-pill: 50rem;--border-radius: var(--radius);--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-family: var(--font);--text-xs: .7rem;--text-sm: .8rem;--text-base: .875rem;--text-md: .95rem;--text-lg: 1.1rem;--text-xl: 1.5rem;--text-2xl: 1.75rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.25rem;--space-2xl: 1.5rem;--space-3xl: 2rem;--space-4xl: 2.5rem;--space-5xl: 3.75rem;--space-6xl: 5rem;--background: var(--gray-50);--burnt-accent: var(--accent-burnt);--dark-gray: var(--gray-900);--secondary-color: var(--gray-700);--text-color: var(--gray-600);--light-gray: var(--gray-100);--primary-color: var(--black);--letter-spacing: .005em}*{margin:0;padding:0;box-sizing:border-box}:focus-visible{outline:var(--focus) solid 2px}html{font-size:15px;scroll-behavior:smooth;overflow-y:scroll}body{font-family:var(--font);line-height:1.6;color:var(--gray-600);background-color:var(--bg);display:flex;flex-direction:column;min-height:100vh;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.site-wrapper{display:grid;grid-template-columns:11rem minmax(0,1fr);column-gap:3.5rem;width:50rem;margin:0 auto;position:relative;left:-7.25rem;min-height:100vh;padding:2rem 1.5rem 0;background:var(--bg);z-index:2}.site-content{min-width:0;padding-bottom:2rem}main{flex:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-to-content{position:absolute;top:-9999px;left:-9999px;background:var(--gray-900);color:var(--white);padding:var(--space-sm) var(--space-lg);border-radius:var(--border-radius);z-index:10001}.skip-to-content:focus{top:var(--space-lg);left:50%;transform:translate(-50%);color:var(--white)}.copy-email{cursor:pointer}.copy-tip{position:absolute;left:calc(100% + .5rem);top:50%;transform:translateY(-50%);background:var(--gray-900);color:var(--white);font-size:var(--text-xs);padding:.2rem .5rem;border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;animation:tip-in .15s ease-out}@keyframes tip-in{0%{opacity:0;transform:translateY(-50%) translate(-4px)}to{opacity:1;transform:translateY(-50%) translate(0)}}a{color:var(--gray-600);text-decoration:none;transition:color .2s ease}a:hover{color:var(--gray-900)}h1,h2,h3,h4,h5,h6{color:var(--gray-600);line-height:1.2;font-family:var(--font);letter-spacing:var(--letter-spacing)}h1{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-bottom:var(--space-xl)}h2{font-size:var(--text-sm);font-weight:500;letter-spacing:0;color:var(--gray-400);display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-3xl);margin-bottom:var(--space-xl)}h2:after{content:"";flex:1;height:1px;background-color:var(--border)}h3{font-size:var(--text-base);font-weight:600}h4{font-size:var(--text-sm);font-weight:600}article h1{font-size:var(--text-xl)}p{font-size:var(--text-base);line-height:1.7;margin:var(--space-md) 0 var(--space-xl) 0;font-weight:400;letter-spacing:var(--letter-spacing)}p.subtitle{font-size:var(--text-base);margin:var(--space-xs) 0 var(--space-3xl) 0;color:var(--gray-700)}ul{list-style:none;margin-bottom:1rem}li{margin-bottom:.5rem}img{position:relative;max-width:100%;height:auto;display:block;margin-bottom:1rem;border-radius:var(--border-radius);image-rendering:crisp-edges;image-rendering:-webkit-optimize-contrast}img.lazyload{opacity:0;transition:opacity .3s ease-in-out}video{max-width:100%;height:auto;display:block;margin-bottom:1rem;border-radius:var(--border-radius)}.highlight{background:linear-gradient(to top,var(--white) 30%,transparent 30%);padding:0;border-radius:0}blockquote{display:inline-block;font-size:var(--text-base);font-style:italic;color:var(--gray-600);border-left:4px solid var(--accent);margin:1rem 1rem 1rem 0;padding:.5em 1em;background-color:var(--surface-tint);border-radius:var(--border-radius)}blockquote footer{display:inline;background-color:transparent;text-align:right;font-style:normal;color:var(--gray-900)}.paper{background-color:transparent;padding:var(--space-2xl) 0;border-radius:var(--border-radius)}.button{position:relative;display:inline-flex;align-items:center;gap:.3em;padding:.45em 1.25em;word-spacing:.25em;font-weight:500;font-family:var(--font);border-radius:var(--radius-pill);font-size:var(--text-xs);text-transform:none;line-height:1.25;text-align:center;cursor:pointer;transition:all .2s ease;text-decoration:none;background:var(--gray-900);border:1px solid var(--gray-900);color:var(--bg);letter-spacing:.01em}.button:hover{background:var(--gray-700);border-color:var(--gray-700);color:var(--bg)}.button.active{background:var(--gray-900);border-color:var(--gray-900);color:var(--bg)}.button--outline{background:transparent;border-color:var(--border);color:var(--gray-600)}.button--outline:hover{background:var(--surface-tint);border-color:var(--gray-400);color:var(--gray-900)}.sidebar{display:flex;flex-direction:column;padding-bottom:2rem}.sidebar-inner{display:flex;flex-direction:column;flex:1}.sidebar-header{margin-bottom:1.5rem;display:flex;align-items:center;gap:var(--space-sm)}.sidebar-name{text-decoration:none;font-weight:500;color:var(--gray-900);font-size:var(--text-sm);letter-spacing:-.01em}.sidebar-nav{flex:1;overflow-y:auto}.sidebar-nav ul{list-style:none;margin:0 0 .75rem;padding:0}.sidebar-nav ul li{margin-bottom:1px}.sidebar-nav ul li a{display:block;font-size:var(--text-sm);font-weight:400;color:var(--gray-700);padding:.15rem 0;transition:color .15s ease;line-height:1.5}.sidebar-nav ul li a:hover{color:var(--gray-900)}.sidebar-nav ul li a.active{color:var(--gray-900);width:fit-content;-webkit-text-stroke:.4px currentColor;background:linear-gradient(to top,var(--white) 45%,transparent 45%)}.nav-muted{font-size:var(--text-sm);color:var(--gray-400);opacity:.5;cursor:default;padding:.15rem 0;display:block;line-height:1.5}.nav-label{display:block;font-size:.6rem;font-weight:500;text-transform:capitalize;letter-spacing:0;color:var(--gray-400);margin-top:1rem;margin-bottom:.2rem}.sidebar-footer{padding-top:.75rem;font-size:.65rem;color:var(--gray-400);display:flex;align-items:center;gap:var(--space-sm)}.sidebar-footer a{color:var(--gray-400)}.theme-toggle{background:none;border:none;cursor:pointer;color:var(--gray-400);padding:.2rem;display:flex;align-items:center;transition:color .2s ease}.theme-toggle:hover{color:var(--gray-900)}#navigation-root{position:sticky;top:2rem;height:calc(100vh - 2rem);overflow:hidden;z-index:1200}.sidebar-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem}.sidebar-toggle span,.sidebar-toggle .icon-bar{display:block;width:1.1rem;height:1.5px;background-color:var(--gray-900);margin:.2rem 0}.hero-section{padding:0 0 var(--space-lg) 0;text-align:left}.hero-section p.dot-flag{display:inline-flex;align-items:center;vertical-align:bottom;gap:.5rem;font-size:var(--text-sm);color:var(--gray-400);margin:0 0 var(--space-xl) 0}.dot-flag .dot{width:8px;height:8px;border-radius:50%;background:var(--accent-burnt);flex-shrink:0;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.hero-section h2{margin:0;font-weight:500}.hero-section p{text-align:left;max-width:32rem;font-size:var(--text-base);color:var(--gray-700)}.hero-section ul{list-style:none;padding-left:0;margin:1.5rem 0}.hero-section ul li{font-size:var(--text-sm);color:var(--gray-400)}.hero-section a{text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--border)}.hero-section a:hover{text-decoration-color:var(--gray-600)}.hero-section ul li a{font-weight:600;color:var(--gray-700)}.personal-card{display:flex;gap:var(--space-md);align-items:center;width:fit-content;padding:.55rem 1.75rem .55rem .75rem;border-radius:var(--radius-pill);background-color:var(--surface-tint);margin-bottom:var(--space-md)}.personal-card .profile-photo{width:4.25rem;height:4.25rem;object-fit:cover;border-radius:50%;margin:0;background-color:transparent}.personal-card .content{display:flex;flex-direction:column;gap:.1rem}.personal-card h2{font-size:var(--text-sm);font-weight:600;margin-bottom:0;display:inline;line-height:1.3}.personal-card h2:after{display:none}.personal-card p{font-size:var(--text-xs);margin:0;color:var(--gray-400);line-height:1.3}.personal-card--lg{align-items:stretch;gap:var(--space-lg);padding:.65rem 2rem .65rem .65rem;margin-bottom:var(--space-2xl)}.personal-card--lg .profile-photo{width:5rem;height:5rem;align-self:center}.personal-card--lg .content{gap:0;justify-content:space-between;padding:.35rem 0}.personal-card--lg .card-header h2{font-size:var(--text-lg);line-height:1.2}.personal-card--lg .card-header p{font-size:var(--text-sm);color:var(--gray-400);margin-top:.1rem}.personal-card--lg .social{margin-top:0;gap:.6rem}.personal-card--lg .social img{width:1rem;height:1rem;opacity:.5}.social{display:flex;align-items:center;margin-top:.25rem;gap:.625rem}.social img,.social svg{width:.9rem;height:.9rem;border-radius:0;vertical-align:middle;margin-bottom:0;opacity:.6;transition:opacity .15s ease;color:var(--gray-600)}.social a:hover img,.social a:hover svg{opacity:.8}.availability-status{margin-bottom:var(--space-3xl);display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-2xl);border-radius:var(--radius-pill);background-color:var(--surface-tint);width:fit-content}.availability-status p{margin:0;color:var(--gray-600)}.status-indicator{width:.8125rem;height:.8125rem;background:var(--accent);flex-shrink:0;border-radius:50%}.work-section{padding:var(--space-2xl) 0 var(--space-2xl)}.work-section h2{margin-top:0;margin-bottom:var(--space-md)}.side-note{font-size:var(--text-sm);color:var(--gray-400);margin:var(--space-lg) 0 0 0;line-height:1.6}.side-note a{color:var(--gray-600);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--border)}.side-note a:hover{color:var(--gray-900);text-decoration-color:var(--gray-600)}.project-grid{display:flex;flex-direction:column;gap:var(--space-sm)}.project-card{background-color:var(--surface-tint);border-radius:var(--radius-pill);overflow:hidden;transition:box-shadow .2s ease}.project-card a{display:flex;align-items:center;gap:var(--space-lg);color:inherit;text-decoration:none;padding:.6rem .6rem .6rem 1.35rem;flex-direction:row-reverse}.project-card a:hover{color:inherit}.project-card img{width:3.5rem;height:3.5rem;object-fit:cover;margin-bottom:0;border-radius:50%;flex-shrink:0;filter:grayscale(1);background-color:var(--bg)}.project-card-thumb{flex-shrink:0;width:3.5rem;height:3.5rem;border-radius:50%;background-color:var(--bg);display:flex;align-items:center;justify-content:center}.project-card-thumb svg{color:var(--gray-400)}.project-card-text{display:flex;flex-direction:column;gap:.1rem;flex:1;text-align:left}.project-card h3{font-size:var(--text-sm);text-transform:none;margin:0;font-weight:600;letter-spacing:-.01em;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card p{margin:0;font-size:var(--text-xs);line-height:1.3;text-transform:none;color:var(--gray-400)}p.special{margin:4rem 0;font-size:3rem;font-weight:800;font-family:var(--font);text-transform:uppercase;line-height:1;word-break:break-word}.archive-section{padding:0 0 var(--space-4xl) 0}.archive-intro{margin:0 auto var(--space-6xl) auto}.archive-grid{display:flex;flex-direction:column;gap:var(--space-sm)}.archive-card{display:flex;align-items:center;gap:var(--space-lg);position:relative;overflow:hidden;border-radius:var(--radius-pill);transition:box-shadow .2s ease;cursor:pointer;background-color:var(--surface-tint);padding:.6rem .6rem .6rem 1.35rem}.archive-card img{width:3.5rem;height:3.5rem;object-fit:cover;display:block;margin-bottom:0;border-radius:50%;flex-shrink:0;order:1;filter:grayscale(1);background-color:var(--bg)}.archive-details{display:none}.archive-caption{flex:1;min-width:0}.archive-caption p{color:var(--gray-700);font-size:var(--text-sm);font-weight:600;line-height:1.3;margin:0;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.archive-section ul li a{text-decoration:underline}.archive-drawer-title{font-size:var(--text-sm);font-weight:500;color:var(--gray-600)}.archive-drawer-body h3{margin-bottom:var(--space-sm);font-size:var(--text-base)}.archive-drawer-body p{font-size:var(--text-sm);color:var(--gray-600);line-height:1.7;margin:0 0 var(--space-lg) 0}.archive-card.modal-card.expanded{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;max-width:32rem;width:90vw;margin:0;box-shadow:0 1rem 3rem #00000026;transition:none;border-radius:var(--border-radius);background:var(--gray-50);display:block;padding:0}.archive-card.modal-card.expanded img{width:100%;height:20rem;object-fit:cover;border-radius:var(--border-radius) var(--border-radius) 0 0;filter:none}.archive-card.modal-card.expanded .archive-caption{display:none}.archive-card.modal-card.expanded .archive-details{display:block;max-height:30rem;opacity:1;padding:.8rem}.archive-details{max-height:0;opacity:0;overflow:hidden;transition:all .4s ease;background-color:var(--surface-tint);border-top:1px solid var(--border)}.archive-details h3{margin-bottom:var(--space-sm);font-size:1rem}.archive-details p{font-size:var(--text-base);color:var(--gray-700);margin:0;text-transform:none;line-height:1.6}.archive-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0003;z-index:999;opacity:0;transition:opacity .4s ease;pointer-events:none;display:flex;align-items:center;justify-content:center}.archive-overlay.active{opacity:1;pointer-events:none}.modal-close-btn{position:absolute;top:var(--space-sm);right:var(--space-sm);width:2.5rem;height:2.5rem;border:none;background:#000000b3;color:#fff;border-radius:50%;font-size:var(--text-xl);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1002;transition:background-color .2s ease}.modal-close-btn:hover{background:#000000e6}.case-study{padding:0 0 var(--space-4xl) 0}.project-intro{color:var(--gray-700)}.project-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.375rem,1fr));gap:var(--space-xl);background-color:var(--surface-tint);padding:1rem;border-radius:var(--border-radius);margin-bottom:var(--space-6xl);border:1px solid var(--border)}.detail-item h4{font-size:var(--text-sm);color:var(--black)}.detail-item p{font-size:var(--text-sm);margin:0}.case-study-section{margin-bottom:var(--space-2xl);border-bottom:1px solid var(--border);padding-bottom:var(--space-4xl)}.case-study-section:last-of-type{border-bottom:none;padding-bottom:0}.case-study-section h3{margin-bottom:var(--space-xl)}.case-study-section h4{margin-bottom:1rem}.case-study-section ul{list-style:disc;padding-left:var(--space-xl);margin-bottom:2.5rem}.case-study-section ul li{margin-bottom:.8rem}.image-caption{font-style:italic;font-size:var(--text-xs);text-transform:uppercase;color:var(--gray-700);text-align:center;margin-top:-.5rem;margin-bottom:2rem}.project-navigation{display:flex;justify-content:space-between;margin-top:var(--space-3xl);flex-direction:row-reverse}.project-navigation .button{min-width:6.875rem}.article-hero{margin:0 auto;max-height:22.5rem}.case-study-section img{aspect-ratio:16 / 10;object-fit:contain;background:var(--surface-tint)}.firma{width:5rem;margin:var(--space-6xl) auto}.about-section{padding:0 0 var(--space-4xl) 0}.about-content{display:flex;flex-wrap:wrap;gap:var(--space-xl);align-items:flex-start}.profile-photo{width:12.5rem;height:12.5rem;object-fit:cover;border-radius:50%;flex-shrink:0;margin:0 auto}.about-text{flex-grow:1;min-width:18.75rem}.about-section p>a{text-decoration:underline}.about-text h2:first-of-type{margin-top:0}.about-text h2{margin-top:var(--space-2xl)}.skills-list{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-xl);margin-bottom:var(--space-3xl)}.skill-tag{background-color:var(--surface-tint);color:var(--gray-600);padding:.2rem .6rem;border-radius:var(--border-radius);font-size:var(--text-xs);text-transform:none;white-space:nowrap}.contact-section{padding:0 0 var(--space-4xl) 0}.contact-section p{max-width:none}.contact-section .button{text-transform:none}.contact-info{display:flex;align-items:flex-start;gap:var(--space-xl);margin-bottom:var(--space-4xl)}.contact-item{font-weight:400;color:var(--gray-700);margin-bottom:var(--space-md);display:block;font-size:var(--text-sm)}.contact-item strong{display:block;margin-bottom:.1rem;font-size:var(--text-xs);font-weight:500;color:var(--gray-400)}.contact-item a{color:var(--gray-600);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--border);font-weight:400}.contact-item a:hover{color:var(--gray-900);text-decoration-color:var(--gray-600)}.location-section{padding:0;margin-top:var(--space-lg)}.location-section p{margin:.15rem 0;color:var(--gray-400);font-size:var(--text-xs);max-width:100%}footer{background:transparent;color:var(--gray-700);padding:1.5rem 0;border-top:1px solid var(--border);text-align:left;font-size:var(--text-xs);margin-top:var(--space-5xl)}footer p{margin:0;color:var(--gray-700);font-size:var(--text-xs)}.social-links a{color:var(--gray-600);margin-left:var(--space-xl);opacity:.8;transition:opacity .2s ease}.social-links a:hover{opacity:1}.footer-columns{display:flex;width:100%;justify-content:space-between;gap:var(--space-4xl);margin-bottom:var(--space-2xl)}.footer-column{flex:1;text-align:left}.footer-column:first-child{flex:2}.footer-column:last-child{text-align:right}.footer-column h4{color:var(--gray-900);font-size:var(--text-sm);margin-bottom:.6rem;font-weight:600}.footer-column ul{list-style:none;padding:0;margin:0}.footer-column ul li{margin-bottom:var(--space-sm)}.footer-column ul li a{color:var(--gray-600);opacity:.8;transition:opacity .2s ease;font-size:var(--text-sm)}.footer-column ul li a:hover{opacity:1}.footer-bottom{text-align:left;width:100%;padding-top:var(--space-lg);border-top:1px solid var(--border)}.footer-bottom p{margin:0;color:var(--gray-700);opacity:.7;font-size:var(--text-xs)}.site-content>footer{margin-top:4rem;padding:1.5rem 0;border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--gray-700);background:transparent}.custom-cursor{position:fixed;width:1.25rem;height:1.25rem;background-color:#fff;border-radius:50%;pointer-events:none;z-index:1;mix-blend-mode:difference;opacity:0}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes content-fade-in{0%{opacity:0}to{opacity:1}}.site-content--entering{animation:content-fade-in .2s ease-out}.note-section{padding:0 0 var(--space-4xl) 0}.note-grid{display:flex;flex-direction:column;gap:var(--space-sm)}.note-card{display:flex;align-items:center;gap:var(--space-lg);background-color:var(--surface-tint);border-radius:var(--radius-pill);overflow:hidden;transition:box-shadow .2s ease,background-color .2s ease;cursor:pointer;position:relative;padding:.6rem .6rem .6rem 1.35rem;flex-direction:row-reverse}.note-card-media{position:relative;overflow:hidden;flex-shrink:0}.note-card img{width:3.5rem;height:3.5rem;padding:.25rem;aspect-ratio:1 / 1;object-fit:contain;margin-bottom:0;border-radius:50%;background:var(--bg);filter:grayscale(1)}.note-card--active{background-color:var(--white)}[data-theme=dark] .note-card--active{background-color:var(--gray-100);box-shadow:inset 0 0 0 1px var(--border)}.note-card-badge{position:absolute;top:var(--space-lg);right:var(--space-lg);background:var(--accent-burnt);color:var(--gray-600);padding:.125rem .625rem;border-radius:var(--border-radius);font-size:var(--text-xs);text-transform:uppercase;font-weight:600}.note-content{padding:0;flex:1}.note-card h3{font-size:var(--text-sm);text-transform:none;margin-bottom:.1rem;color:var(--gray-900);line-height:1.2;letter-spacing:var(--letter-spacing)}.note-card p{margin:0;font-size:var(--text-xs);line-height:1.3;text-transform:uppercase;color:var(--gray-700)}.note-overlay{display:none}.note-drawer{position:fixed;right:5vw;top:50%;width:90vw;max-width:28rem;max-height:90vh;background:var(--white);transform:translateY(-50%) translate(calc(100% + 5vw));transition:transform .4s cubic-bezier(.4,0,.2,1);z-index:3;display:flex;flex-direction:column;border-radius:var(--border-radius)}.note-drawer--open{transform:translateY(-50%) translate(0)}.image-viewer{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000c;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:10000}.image-viewer--open{opacity:1;pointer-events:auto}.image-viewer-img{display:block;max-width:90vw;max-height:90vh;margin:0;border-radius:var(--border-radius);object-fit:contain;cursor:pointer}.image-viewer-close{position:absolute;top:var(--space-lg);right:var(--space-lg);background:none;border:none;font-size:var(--text-xl);cursor:pointer;padding:.25rem .5rem;border-radius:var(--border-radius);color:#ffffffb3;transition:color .2s ease}.image-viewer-close:hover{color:#fff}.note-drawer-content img{cursor:zoom-in;aspect-ratio:16 / 10;object-fit:contain;background:var(--surface-tint)}.note-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-lg);border-bottom:1px solid var(--border)}.note-drawer-header h2{margin:0;font-size:var(--text-sm);font-weight:600;display:inline}.note-drawer-header h2:after{display:none}.note-drawer-content-type,.note-drawer-type{font-size:var(--text-xs);color:var(--gray-600);text-transform:uppercase}.note-drawer-close{background:none;border:none;font-size:var(--text-lg);cursor:pointer;padding:.2rem .5rem;border-radius:var(--border-radius);color:var(--gray-600);transition:background-color .2s ease}.note-drawer-close:hover{background-color:var(--gray-100)}.note-drawer-content{flex:1;overflow-y:auto;padding:var(--space-lg)}.drawer-section{margin-bottom:var(--space-xl)}.drawer-section h3{font-size:var(--text-lg);color:var(--gray-900);margin-bottom:var(--space-lg);letter-spacing:var(--letter-spacing)}.drawer-section p{color:var(--gray-600);line-height:1.8;letter-spacing:var(--letter-spacing);margin:0}.note-preview{background:var(--gray-50);padding:var(--space-xl);border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center}.note-code-block{background:var(--accent-burnt);border-radius:var(--border-radius);overflow:hidden;border:1px solid var(--border)}.note-code-header{display:flex;gap:1rem;background:var(--gray-400);padding:.5rem 1rem;font-size:var(--text-sm);color:var(--white);border-bottom:1px solid var(--gray-700)}.note-code{padding:1rem;font-size:var(--text-sm);overflow-x:auto;margin:0;font-family:monospace,Courier New,Courier,monospace;line-height:1.5;background:var(--gray-100);color:var(--gray-600)}.note-filters,.note-card-badge,.note-content-type-badge,.note-difficulty-badge,.note-new-badge{display:none!important}.note-filters{display:flex;gap:var(--space-sm);margin:1rem 0;flex-wrap:wrap}.note-filters>.button{padding:.5rem 1rem;border:none;background:var(--gray-50);border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease;color:var(--gray-600)}.note-filters>.button:hover{background:var(--accent-burnt)}.note-filters>.button.active{background:var(--accent);color:var(--gray-900)}.note-content-type-badge,.note-difficulty-badge{position:absolute;top:2.8125rem;right:var(--space-lg);padding:.125rem .5rem;border-radius:var(--border-radius);font-size:var(--text-xs);text-transform:uppercase;font-weight:600}.note-content-type-badge{background:var(--accent);color:var(--gray-900)}.note-difficulty-badge{background:var(--accent-burnt);color:var(--gray-900)}.note-meta{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border)}.estimated-time{font-size:.6rem;font-weight:700;color:var(--gray-700);text-transform:uppercase}.note-drawer-meta{display:flex;gap:var(--space-lg);align-items:center;margin-top:.3125rem}.note-drawer-difficulty{background:transparent;color:var(--gray-400);padding:.15rem .5rem;border-radius:var(--radius-pill);border:1px solid var(--border);font-size:var(--text-xs);text-transform:lowercase;font-weight:400;letter-spacing:.02em}.note-drawer-time{color:var(--gray-400);font-size:var(--text-xs)}.note-new-badge{position:absolute;top:1.0625rem;left:var(--space-lg);background:var(--accent);color:var(--gray-600);padding:.125rem .25rem .0625rem;border-radius:.25rem;font-size:.5rem;text-transform:uppercase;font-weight:900}.tutorial-preview{background:var(--gray-100);padding:var(--space-xl);border-radius:var(--border-radius);border:2px dashed var(--border)}.tutorial-container{max-width:37.5rem}.tutorial-header{margin-bottom:var(--space-xl);padding:var(--space-lg);background:var(--gray-100);border-radius:var(--border-radius)}.tutorial-meta{display:flex;gap:var(--space-lg);margin-bottom:var(--space-sm)}.difficulty{padding:.15rem .5rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius-pill);font-size:var(--text-xs);text-transform:lowercase;font-weight:400;color:var(--gray-400);letter-spacing:.02em}.time{color:var(--gray-400);font-size:var(--text-xs)}.tutorial-tools{font-size:var(--text-sm);color:var(--gray-600);margin-top:var(--space-lg);padding:var(--space-md);background:var(--gray-100);border-radius:var(--border-radius)}.step-navigator{display:flex;gap:var(--space-sm);margin-bottom:var(--space-xl);justify-content:center}.step-btn{width:2.1875rem;height:2.1875rem;border-radius:50%;border:2px solid var(--border);background:var(--gray-50);cursor:pointer;transition:all .2s ease;font-weight:600}.step-btn.active{background:var(--accent);border-color:var(--gray-900)}.tutorial-step{margin-bottom:var(--space-2xl)}.step-image{width:100%;margin:var(--space-lg) auto;border:1px solid var(--border);border-radius:var(--border-radius)}.step-tips{background:var(--gray-100);padding:var(--space-lg);border-radius:var(--border-radius);margin-top:var(--space-lg)}.step-tips ul{margin:.5rem 0 0;padding-left:var(--space-xl)}.step-tips li{font-size:var(--text-sm);margin-bottom:.3125rem}.tutorial-navigation{display:flex;justify-content:space-between;margin-top:var(--space-xl)}.tutorial-navigation button{padding:.5rem 1rem;border:1px solid var(--border);background:var(--gray-50);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.tutorial-navigation button:hover:not(:disabled){background:var(--accent-burnt)}.tutorial-navigation button:disabled{opacity:.5;cursor:not-allowed}.final-result{margin-top:var(--space-2xl);padding:var(--space-xl);background:var(--gray-100);border-radius:var(--border-radius);text-align:center}.toast{position:fixed;top:var(--space-xl);right:var(--space-xl);z-index:10000;min-width:18.75rem;padding:0;border-radius:var(--border-radius);box-shadow:0 .25rem .75rem #00000026;animation:toast-slide-in .3s ease-out}.toast--success{background:var(--accent-burnt);color:var(--gray-600)}.toast--error{background:#ef4444;color:#fff}.toast-content{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg)}.toast-icon{font-weight:700;font-size:var(--text-base)}.toast-message{font-size:var(--text-sm);font-weight:500}.note-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-6xl) var(--space-xl);max-width:31.25rem;margin:0 auto}.empty-state-icon{font-size:4rem;margin-bottom:var(--space-xl);opacity:.7}.empty-state-title{font-size:var(--text-xl);color:var(--gray-900);margin-bottom:var(--space-md);font-weight:600}.empty-state-description{color:var(--gray-700);line-height:1.6;margin-bottom:var(--space-3xl);font-size:var(--text-md)}.empty-state-actions{display:flex;gap:var(--space-md);flex-wrap:wrap;justify-content:center}.ux-post-container{max-width:none;padding:0}.ux-post-viewer{font-family:var(--font);line-height:1.6;color:var(--gray-600);letter-spacing:var(--letter-spacing)}.ux-post-header{padding:0 0 var(--space-sm) 0;margin-bottom:var(--space-sm)}.ux-post-meta{display:flex;gap:var(--space-xs);flex-wrap:wrap;align-items:center}.ux-category,.ux-read-time{background:transparent;color:var(--gray-400);padding:.15rem .5rem;border-radius:var(--radius-pill);border:1px solid var(--border);font-size:var(--text-xs);text-transform:lowercase;font-weight:400;letter-spacing:.02em}.ux-read-time{border-color:var(--border)}.ux-post-title{font-size:var(--text-lg);font-weight:700;color:var(--gray-900);margin-bottom:var(--space-xs);letter-spacing:var(--letter-spacing);line-height:1.2}.ux-post-description{font-size:var(--text-base);color:var(--gray-700);font-style:italic;margin:0;line-height:1.8}.ux-section{margin-bottom:var(--space-2xl);padding:0}.ux-section:last-child{margin-bottom:0}.ux-section h2{font-size:var(--text-lg);font-weight:600;color:var(--gray-900);margin-bottom:var(--space-lg);letter-spacing:var(--letter-spacing);text-transform:uppercase}.ux-overview{font-size:var(--text-base);line-height:1.8;color:var(--gray-600);background:var(--gray-50);padding:var(--space-lg);border-radius:var(--border-radius);border-left:4px solid var(--accent);letter-spacing:var(--letter-spacing)}.ux-takeaways{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-sm)}.ux-takeaway{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-lg);background:var(--gray-50);border-radius:var(--border-radius);border-left:3px solid var(--accent)}.takeaway-icon{font-size:var(--text-base);flex-shrink:0;line-height:1}.takeaway-text{font-size:var(--text-sm);line-height:1.6;color:var(--gray-600);letter-spacing:var(--letter-spacing)}.ux-examples{border:1px solid var(--border);border-radius:var(--border-radius);overflow:hidden;background:var(--gray-50)}.example-tabs{position:relative;display:flex;background:var(--gray-100);border-radius:var(--border-radius);padding:4px 10px;margin:var(--space-sm);border-bottom:none}.example-tab{flex:1;padding:10px 16px;background:none;border:none;cursor:pointer;font-size:var(--text-sm);color:var(--gray-700);transition:color .2s ease;position:relative;z-index:2;border-radius:calc(var(--border-radius) - 4px);text-transform:none;font-family:var(--font);font-weight:500;letter-spacing:var(--letter-spacing)}.example-tab.active{color:var(--gray-900)}.example-tab:before{content:"";position:absolute;top:4px;left:0;right:0;bottom:4px;background:#fff;border-radius:calc(var(--border-radius) - 4px);box-shadow:0 2px 4px #0000001a;opacity:0;transition:opacity .2s ease;z-index:-1}.example-tab.active:before{opacity:1}.example-content{padding:var(--space-xl);background:var(--gray-50)}.example-details{margin-bottom:var(--space-lg)}.example-details h3{margin-bottom:var(--space-sm);color:var(--gray-900);font-size:var(--text-base);text-transform:uppercase;letter-spacing:var(--letter-spacing)}.example-details p{font-size:var(--text-sm);line-height:1.6;color:var(--gray-600);letter-spacing:var(--letter-spacing)}.example-image{border-radius:var(--border-radius);overflow:hidden;border:1px solid var(--border)}.example-image img{width:100%;height:auto;display:block}.image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6xl) var(--space-xl);background:var(--gray-100);color:var(--gray-700);text-align:center}.image-placeholder span{font-size:3rem;margin-bottom:var(--space-sm)}.image-placeholder p{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing);margin:0}.ux-applications,.ux-mistakes{display:grid;gap:var(--space-sm)}.application-item,.mistake-item{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-lg);background:var(--gray-50);border-radius:var(--border-radius)}.application-item{border-left:3px solid var(--accent)}.application-number{background:var(--accent);color:var(--gray-900);width:1.5rem;height:1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;flex-shrink:0;text-transform:uppercase}.application-text,.mistake-text{font-size:var(--text-sm);line-height:1.6;color:var(--gray-600);letter-spacing:var(--letter-spacing)}.mistake-icon{font-size:var(--text-base);flex-shrink:0;line-height:1}.mistake-item{border-left:3px solid #ef4444}.ux-content{font-size:var(--text-base);line-height:1.8;color:var(--gray-600);letter-spacing:var(--letter-spacing)}.ux-content p{margin-bottom:var(--space-lg)}.ux-content p:last-child{margin-bottom:0}.example-analysis{background:var(--gray-100);padding:var(--space-lg);border-radius:var(--border-radius);border-left:3px solid var(--accent-burnt);font-style:italic;margin-top:var(--space-lg)}.law-connection{display:block;margin-top:var(--space-sm);font-size:var(--text-sm);color:var(--gray-700);font-style:italic;text-transform:uppercase;letter-spacing:var(--letter-spacing)}.related-laws{display:grid;grid-template-columns:repeat(auto-fit,minmax(1fr));gap:var(--space-lg)}.related-law-card{padding:var(--space-lg);background:var(--gray-50);border-radius:var(--border-radius);border:1px solid var(--border);transition:all .2s ease;cursor:pointer}.related-law-card h4{margin-bottom:var(--space-sm);color:var(--gray-900);font-size:var(--text-base);text-transform:uppercase;letter-spacing:var(--letter-spacing)}.related-law-card p{margin-bottom:var(--space-sm);font-size:var(--text-sm);color:var(--gray-600);line-height:1.6}@media (max-width: 48rem){:root{--space-xs: .1875rem;--space-sm: .375rem;--space-md: .625rem;--space-lg: .75rem;--space-xl: 1rem;--space-2xl: 1.25rem;--space-3xl: 1.5rem;--space-4xl: 2rem;--space-5xl: 2.5rem;--space-6xl: 3.75rem}.site-wrapper{width:100%;grid-template-columns:1fr;column-gap:0;padding:0 1rem;left:0}.site-content{padding:.5rem 0 2rem}.sidebar{width:100%;height:auto;position:relative;top:auto;padding:.75rem 0;border-bottom:1px solid var(--border)}.sidebar-inner{flex-direction:row;align-items:center;gap:var(--space-sm)}.sidebar-header{margin-bottom:0;margin-right:auto}.sidebar-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);padding:1rem;z-index:1000;border-bottom:1px solid var(--border);box-shadow:0 4px 8px #0000000d}.sidebar-nav.open{display:block}.sidebar-nav ul{margin-bottom:.5rem}.sidebar-toggle{display:block}.sidebar-footer{display:flex;padding:0}.sidebar-footer a{display:none}h1{font-size:1.8rem}h2{font-size:var(--text-xs)}h3{font-size:var(--text-lg)}article h1{font-size:1.6rem;line-height:1.2}.hero-section,.about-section,.archive-section,.contact-section{padding:0 0 var(--space-2xl) 0}p.special{font-size:2rem}.paper{padding:var(--space-md) 0}.personal-card .profile-photo{width:3.75rem;height:3.75rem}.personal-card--lg .profile-photo{width:4.5rem;height:4.5rem}.personal-card h2{font-size:1rem;margin-bottom:4px}.personal-card p{font-size:var(--text-base);line-height:1.1;margin-bottom:4px}.case-study-section{margin-bottom:var(--space-5xl);padding-bottom:var(--space-2xl)}.project-details{grid-template-columns:1fr}.project-navigation{flex-direction:row-reverse;gap:var(--space-sm)}.project-navigation .button{padding:.6em 1em;font-size:var(--text-sm)}.archive-card img{width:2.75rem;height:2.75rem}.archive-card.modal-card.expanded{position:fixed;top:3rem;left:0;right:0;bottom:0;transform:none;max-width:none;width:100%;height:98%;overflow-y:auto;padding:1rem;box-sizing:border-box;border-radius:0}.archive-card.modal-card.expanded img{height:50vh;max-height:25rem;width:100%;object-fit:cover}.archive-card.modal-card.expanded .archive-details{max-height:none;padding:1rem}.archive-overlay.active{background-color:#0000000d}.about-content{flex-direction:column;align-items:center}.profile-photo{margin-bottom:var(--space-3xl)}.contact-info{gap:var(--space-xl)}.availability-status{flex-direction:column;text-align:center;gap:var(--space-sm)}.location-section p{margin:.3rem 0}.social-links a{margin:0 var(--space-sm)}.footer-columns{flex-direction:column;gap:var(--space-3xl);text-align:center}.footer-column:last-child{text-align:left}.note-drawer{right:0;left:auto;top:0;width:100%;max-width:100%;max-height:100vh;border-radius:0;border:none;z-index:1300;transform:translateY(0) translate(100%)}.note-drawer.note-drawer--open{z-index:1300;transform:translateY(0) translate(0)}.note-card img{width:2.75rem;height:2.75rem}.note-header{padding:var(--space-2xl) 0}.note-filters>.button{font-size:var(--text-xs);padding:.25rem .5rem}.note-header h1{font-size:var(--text-xl)}.note-empty-state{padding:var(--space-2xl) var(--space-xl)}.empty-state-icon{font-size:3rem}.empty-state-title{font-size:var(--text-xl)}.toast{left:var(--space-xl);right:var(--space-xl);min-width:auto}.ux-post-title{font-size:1.2rem}.example-tabs{flex-direction:column;gap:var(--space-xs);padding:var(--space-sm)}.example-tab{text-align:center;flex:none;padding:8px 12px;font-size:var(--text-sm)}.example-content{padding:var(--space-lg)}.image-placeholder{padding:var(--space-4xl) var(--space-lg)}.image-placeholder span{font-size:2rem}#navigation-root{position:sticky;top:0;height:auto;overflow:visible;z-index:1200;background:var(--bg)}.sidebar-nav ul li a{padding:.5rem 0}.personal-card{max-width:100%;padding:.55rem 1rem .55rem .55rem}pre{overflow-x:auto;-webkit-overflow-scrolling:touch}.header-card-icon{width:3.5rem;height:3.5rem}.contact-info{flex-direction:column}.project-card-thumb{width:2.75rem;height:2.75rem}.side-note{margin-left:0;margin-right:0}.site-content>footer{margin-top:2rem}}@media (hover: hover){.project-card:hover,.archive-card:hover,.note-card:hover{box-shadow:0 .25rem .5rem #02020214}.related-law-card:hover{border-color:var(--accent);background:#f7c68d0d;transform:translateY(-2px);box-shadow:0 .25rem .5rem #02020214}.sidebar-nav ul li a:hover{color:var(--gray-900)}}.style-guide-section{padding:0 0 var(--space-4xl) 0}.header-card{display:flex;gap:var(--space-xl);align-items:flex-start;background-color:var(--surface-tint);border:1px solid var(--border);border-radius:var(--border-radius);padding:var(--space-2xl);margin-bottom:var(--space-3xl)}.header-card-icon{width:4.5rem;height:4.5rem;border-radius:var(--radius);flex-shrink:0;margin:0}.header-card-body h1{font-size:var(--text-lg);margin-bottom:var(--space-xs)}.header-card-desc{font-size:var(--text-sm);color:var(--gray-700);margin:0 0 var(--space-sm) 0}.header-card-sub{font-size:var(--text-xs);color:var(--gray-400);margin:0 0 var(--space-lg) 0;line-height:1.6}.header-card .button{margin-top:var(--space-xs)}@media (max-width: 48rem){.header-card{flex-direction:column;align-items:center;text-align:center}}.tool-section{padding:0 0 var(--space-4xl) 0}.tool-section .feature-list{list-style:none;padding:0;margin:0 0 var(--space-2xl) 0}.tool-section .feature-list li{font-size:var(--text-sm);color:var(--gray-700);margin-bottom:var(--space-sm);line-height:1.5}.tool-section .feature-list li strong{color:var(--gray-900);font-weight:600}[data-theme=dark]{--black: #f0ede6;--gray-900: #e8e4db;--gray-700: #b5b0a8;--gray-600: #c5c0b8;--gray-400: #7a756d;--gray-100: #1c1c1c;--gray-50: #151515;--white: #191919;--bg: #111111;background-color:#111;--accent: #c4903a;--accent-burnt: #a87830;--border: #2a2825;--surface-tint: rgba(255, 255, 255, .03);--focus: rgb(248, 99, 117)}[data-theme=dark] .highlight,[data-theme=dark] .sidebar-nav ul li a.active{background:linear-gradient(to top,rgba(196,144,58,.25) 45%,transparent 45%)}[data-theme=dark] .custom-cursor{background-color:#fff}[data-theme=dark] .social img,[data-theme=dark] .sidebar-nav img,[data-theme=dark] .sidebar-toggle span,[data-theme=dark] .sidebar-toggle .icon-bar{background-color:var(--white)}[data-theme=dark] .personal-card h2{color:var(--gray-900)}[data-theme=dark] .personal-card p{color:var(--gray-700)}[data-theme=dark] .social svg{color:var(--gray-700)}[data-theme=dark] .note-card img{background:var(--bg);filter:none}[data-theme=dark] .note-card h3,[data-theme=dark] .project-card h3{color:#f0ede6}[data-theme=dark] .sidebar-nav.open{background:var(--bg)}[data-theme=dark] .project-card:hover,[data-theme=dark] .archive-card:hover,[data-theme=dark] .note-card:hover,[data-theme=dark] .related-law-card:hover{box-shadow:0 .25rem .5rem #0000004d}[data-theme=dark] .archive-card.modal-card.expanded{box-shadow:0 1rem 3rem #0006}[data-theme=dark] .toast{box-shadow:0 .25rem .75rem #0006}[data-theme=dark] .sidebar-nav.open{box-shadow:0 4px 8px #0000004d}[data-theme=dark] .example-tab.active:before{background:var(--gray-100);box-shadow:0 2px 4px #0000004d}[data-theme=dark] .button{background:var(--gray-900);border-color:var(--gray-900);color:var(--bg)}[data-theme=dark] .button:hover{background:var(--gray-700);border-color:var(--gray-700);color:var(--bg)}[data-theme=dark] .button--outline{background:transparent;border-color:var(--border);color:var(--gray-600)}[data-theme=dark] .button--outline:hover{background:var(--surface-tint);border-color:var(--gray-400);color:var(--gray-900)}[data-theme=dark] .step-btn{background:var(--gray-100);border-color:var(--border);color:var(--gray-600)}[data-theme=dark] .step-btn.active{background:var(--accent);border-color:var(--accent);color:var(--bg)}[data-theme=dark] .tutorial-navigation button{background:var(--gray-100);border-color:var(--border);color:var(--gray-600)}[data-theme=dark] .tutorial-navigation button:hover:not(:disabled){background:var(--accent-burnt);color:var(--bg)}[data-theme=dark] .note-preview{background:#f5f5f5;color:#24292f;border-radius:var(--border-radius)}[data-theme=dark] .note-code-block{background:var(--gray-100)}[data-theme=dark] .tutorial-preview{background:var(--gray-100);border-color:var(--border)}[data-theme=dark] .tutorial-header,[data-theme=dark] .tutorial-tools,[data-theme=dark] .step-tips,[data-theme=dark] .final-result{background:var(--gray-100)}[data-theme=dark] .example-tabs{background:var(--surface-tint)}[data-theme=dark] .ux-examples{background:var(--gray-100);border-color:var(--border)}[data-theme=dark] .example-content{background:var(--gray-100)}[data-theme=dark] .example-image{border-color:var(--border)}[data-theme=dark] .image-placeholder{background:var(--surface-tint)}[data-theme=dark] .ux-overview,[data-theme=dark] .ux-takeaway,[data-theme=dark] .application-item,[data-theme=dark] .mistake-item,[data-theme=dark] .example-analysis{background:var(--gray-100)}[data-theme=dark] .related-law-card{background:var(--gray-100);border-color:var(--border)}.style-guide-section{padding:60px 0}.style-guide-generator{max-width:1200px;margin:0 auto;padding:40px 20px;background:var(--background);border-radius:var(--border-radius);min-height:100vh}.generator-header{margin-bottom:40px;padding:30px;background:var(--burnt-accent);border-radius:var(--border-radius)}.project-info{display:flex;flex-direction:column;gap:15px}.project-name{font-size:1.4rem;font-weight:700;border:none;background:transparent;color:var(--dark-gray);padding:8px 0;outline:none;border-bottom:2px solid var(--border);transition:border-color .3s ease;width:100%;font-family:var(--font-family)}.project-name:focus{border-bottom-color:var(--accent)}.project-name:hover{border-bottom-color:var(--burnt-accent)}.project-description{font-size:1rem;color:var(--secondary-color);border:none;background:transparent;padding:8px 0;outline:none;border-bottom:1px solid var(--border);transition:border-color .3s ease;width:100%;font-family:var(--font-family)}.project-description:focus{border-bottom-color:var(--accent)}.project-description:hover{border-bottom-color:var(--burnt-accent)}.generator-tabs{display:flex;gap:4px;margin-bottom:30px;background:var(--light-gray);padding:6px;border-radius:var(--border-radius)}.tab-btn{flex:1;padding:8px 16px;background:transparent;border:none;border-radius:calc(var(--border-radius) - 6px);cursor:pointer;font-weight:500;color:var(--secondary-color);transition:all .3s ease;text-transform:capitalize}.tab-btn:hover{background:#ffffff80}.tab-btn.active{background:#fff;color:var(--dark-gray)}.generator-content{border-radius:var(--border-radius);overflow:hidden}.tab-content{padding:40px}.section{margin-bottom:50px}.section:last-child{margin-bottom:0}.section h3{font-size:1.5rem;color:var(--dark-gray);margin-bottom:25px;border-bottom:2px solid var(--light-gray);padding-bottom:10px}.section h4{font-size:1.1rem;color:var(--dark-gray);margin-bottom:15px;font-weight:600}.color-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.color-input-group{display:flex;flex-direction:column;gap:8px}.color-input-group label{font-weight:600;color:var(--dark-gray);text-transform:capitalize;font-size:.9rem}.color-input-wrapper{display:flex;gap:10px;align-items:center}.color-input-wrapper input[type=color]{width:50px;height:35px;border:2px solid var(--border);cursor:pointer;background:none;outline:none}.color-input-wrapper input[type=text]{flex:1;padding:10px 15px;border:2px solid var(--border);border-radius:8px;font-family:monospace;font-size:.9rem;outline:none;transition:border-color .3s ease}.color-input-wrapper input[type=text]:focus{border-color:var(--accent)}.color-palette{display:flex;flex-direction:column;gap:30px}.color-family{border:1px solid var(--border);border-radius:var(--border-radius);overflow:hidden}.color-family h4{background:var(--light-gray);padding:15px 20px;margin:0;text-transform:capitalize;font-weight:600;color:var(--dark-gray)}.color-swatches{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1px;background:var(--border)}.color-swatch{aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);position:relative;transition:transform .2s ease;cursor:pointer}.color-swatch:hover{transform:scale(1.05);z-index:10;box-shadow:0 4px 12px #0003}.shade-label{font-weight:700;font-size:.8rem}.hex-label{font-size:.7rem;opacity:.9;font-family:monospace}.typography-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.input-group{display:flex;flex-direction:column;gap:8px}.input-group label{font-weight:600;color:var(--dark-gray);font-size:.9rem}.input-group input{padding:12px 15px;border:2px solid var(--border);border-radius:8px;outline:none;transition:border-color .3s ease;font-size:.9rem}.input-group input:focus{border-color:var(--accent)}.typography-preview{display:flex;flex-direction:column;gap:20px}.typography-sample{padding:20px;border:1px solid var(--border);border-radius:var(--border-radius);background:var(--light-gray)}.sample-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.8rem;color:var(--secondary-color)}.size-name{font-weight:600;text-transform:uppercase}.size-value{font-family:monospace;background:#fff;padding:2px 8px;border-radius:4px;border:1px solid var(--border)}.sample-text{color:var(--dark-gray);line-height:1.4}.branding-controls{display:flex;flex-direction:column;gap:30px}.logo-upload{padding:20px;border:2px dashed var(--border);border-radius:var(--border-radius);text-align:center;background:var(--light-gray)}.upload-btn{padding:12px 24px;background:var(--accent);border:none;border-radius:8px;cursor:pointer;font-weight:600;color:var(--dark-gray);transition:all .3s ease;margin-bottom:15px}.upload-btn:hover{background:var(--burnt-accent);transform:translateY(-2px)}.logo-preview{max-width:200px;margin:0 auto;padding:20px;background:#fff;border-radius:8px;border:1px solid var(--border)}.logo-preview img{width:100%;height:auto;border-radius:4px}.export-controls{display:flex;flex-direction:column;gap:25px;margin-bottom:40px}.export-option{padding:25px;border:2px solid var(--border);border-radius:var(--border-radius);background:var(--light-gray);transition:all .3s ease}.export-option:hover{border-color:var(--accent);background:#fff}.export-option h4{margin-bottom:8px;color:var(--dark-gray)}.export-option p{color:var(--secondary-color);margin-bottom:15px;font-size:.9rem;line-height:1.5}.export-btn{padding:12px 24px;background:var(--dark-gray);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem}.export-btn:hover{background:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.style-guide-preview{padding:30px;border:2px solid var(--border);border-radius:var(--border-radius);background:var(--light-gray)}.preview-header{margin-bottom:30px;text-align:center}.preview-header h2{margin-bottom:8px;color:var(--dark-gray)}.preview-header p{color:var(--secondary-color);margin:0}.preview-colors{margin-bottom:30px}.preview-color-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-top:20px}.preview-color-family{text-align:center}.preview-color-family h4{margin-bottom:10px;text-transform:capitalize;color:var(--dark-gray);font-size:.9rem}.preview-swatches{display:flex;gap:4px;justify-content:center}.preview-swatch{width:30px;height:30px;border-radius:6px;box-shadow:0 2px 4px #0000001a}.preview-typography h1,.preview-typography h2,.preview-typography h3{margin-bottom:10px;color:var(--dark-gray)}.preview-typography p{color:var(--text-color);margin:0}@media (max-width: 768px){.style-guide-generator{padding:20px 15px}.generator-header{padding:20px}.project-name{font-size:1.5rem}.project-description{font-size:1rem}.generator-tabs{flex-wrap:wrap}.tab-btn{min-width:calc(50% - 2px)}.tab-content{padding:25px}.color-inputs,.typography-controls{grid-template-columns:1fr}.color-swatches{grid-template-columns:repeat(5,1fr)}.preview-color-grid{grid-template-columns:repeat(2,1fr)}.branding-controls,.export-controls{gap:20px}.style-guide-preview{padding:20px}}@media (max-width: 480px){.color-swatches{grid-template-columns:repeat(3,1fr)}.preview-color-grid{grid-template-columns:1fr}.tab-btn{padding:10px 15px;font-size:.8rem}.section h3{font-size:1.2rem}}.color-swatch{animation:fadeInScale .3s ease backwards}.color-swatch:nth-child(1){animation-delay:.1s}.color-swatch:nth-child(2){animation-delay:.2s}.color-swatch:nth-child(3){animation-delay:.3s}.color-swatch:nth-child(4){animation-delay:.4s}.color-swatch:nth-child(5){animation-delay:.5s}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.tab-btn:focus,.export-btn:focus,.upload-btn:focus{outline:2px solid var(--accent);outline-offset:2px}.color-swatch:focus{outline:3px solid white;outline-offset:2px;transform:scale(1.05)}.tab-content{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.tab-content::-webkit-scrollbar{width:6px}.tab-content::-webkit-scrollbar-track{background:transparent}.tab-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.tab-content::-webkit-scrollbar-thumb:hover{background:var(--secondary-color)}
