@import"https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600&family=Source+Sans+3:wght@300;400;500;600&display=swap";:root{--bg-color: #050505;--text-primary: #ffffff;--text-secondary: #a0a0a0;--accent-cyan: #00f3ff;--accent-purple: #bc13fe;--accent-glow: rgba(0, 243, 255, .5);--font-main: "Inter", sans-serif;--font-mono: "Fira Code", monospace;--nav-height: 80px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-cyan)}a{text-decoration:none;color:inherit}ul{list-style:none}.navbar{position:fixed;top:0;left:0;right:0;height:var(--navbar-height);background:var(--color-sidebar);z-index:var(--z-sticky);border-bottom:1px solid var(--color-border)}.navbar-content{max-width:var(--content-max-width);height:100%;margin:0 auto;padding:0 var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.navbar-logo{display:flex;align-items:center;gap:var(--space-3)}.logo-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff0d;border-radius:var(--radius-lg);transition:transform var(--transition-spring)}.logo-icon:hover{transform:rotate(-15deg) scale(1.05)}.logo-text{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-ink);letter-spacing:-.025em}.navbar-nav{display:flex;align-items:center;gap:var(--space-2)}.navbar-group{display:flex;align-items:center;gap:var(--space-3);color:var(--color-muted)}.navbar-group--active{color:var(--color-ink)}.navbar-group-label{display:inline-flex;align-items:center;gap:var(--space-2);padding:.45rem .95rem;border-radius:999px;border:1px solid var(--color-border);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:inherit;background:transparent}.navbar-subnav{display:inline-flex;align-items:center;gap:var(--space-3)}.navbar-sublink{padding:.2rem;border-radius:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted);border-bottom:1px solid transparent;transition:color var(--transition-base),border-color var(--transition-base)}.navbar-sublink:hover,.navbar-sublink--active{color:var(--color-ink);border-color:var(--color-ink)}.navbar-link{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);padding:.45rem 1.2rem;border-radius:999px;border:1px solid transparent;color:var(--color-muted);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;transition:color var(--transition-base),background var(--transition-base),border-color var(--transition-base)}.navbar-link:hover{color:var(--color-ink);border-color:var(--color-border)}.navbar-link--active{color:var(--color-ink);background:#fff;border-color:var(--color-border);box-shadow:0 4px 12px #0000000f}.navbar-link--active .navbar-icon{color:var(--color-ink)}.navbar-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;transition:color var(--transition-fast)}.navbar-label{white-space:nowrap}.navbar-indicator{display:none}.navbar-back-link{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem 1rem;border-radius:999px;border:1px solid transparent;color:var(--color-muted);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:color var(--transition-base),border-color var(--transition-base)}.navbar-back-link:hover{color:var(--color-ink);border-color:var(--color-border)}@keyframes slideInIndicator{0%{opacity:0;transform:translate(-50%) scaleX(.4)}to{opacity:1;transform:translate(-50%) scaleX(1)}}.navbar-toggle{display:none;width:44px;height:44px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--color-border);align-items:center;justify-content:center;box-shadow:var(--shadow-lg);border:none}.hamburger{display:flex;flex-direction:column;gap:4px;width:20px}.hamburger span{display:block;width:100%;height:2px;background:var(--color-ink);border-radius:2px;transition:all var(--transition-base);transform-origin:center}.hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.navbar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:calc(var(--z-sticky) - 1);animation:fadeIn .2s ease-out}@media (max-width: 768px){.navbar-content{padding:0 var(--space-4)}.navbar-toggle{display:flex}.navbar-nav{display:none;position:absolute;top:calc(100% + 8px);left:var(--space-4);right:var(--space-4);flex-direction:column;align-items:stretch;gap:var(--space-2);padding:var(--space-4);background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.navbar-nav--open{display:flex}.navbar-link,.navbar-back-link{justify-content:flex-start}.navbar-group{flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-lg);background:#00000008}.navbar-subnav{flex-direction:column;align-items:flex-start;width:100%}.navbar-sublink{width:100%}.navbar-backdrop{display:block}}.gallery-page{display:flex;flex-direction:column;gap:var(--space-8)}.gallery-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-6)}.gallery-kicker{font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--color-muted);margin-bottom:var(--space-2)}.gallery-title{font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.5rem);font-weight:500;color:var(--color-ink);max-width:520px}.gallery-meta{display:flex;align-items:center;gap:var(--space-2);font-size:.9rem;color:var(--color-muted)}.gallery-dot{width:4px;height:4px;border-radius:50%;background:var(--color-muted)}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-2)}.filter-pill{border:1px solid var(--color-border);background:transparent;padding:.4rem .9rem;border-radius:999px;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted);cursor:pointer;transition:all var(--transition-base)}.filter-pill--active,.filter-pill:hover{background:#fff;color:var(--color-ink)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-6)}.artwork-card{background:#fff;border:1px solid var(--color-border);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base)}.artwork-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.artwork-media{aspect-ratio:4 / 3;background-size:cover;background-position:center}.artwork-body{padding:var(--space-4)}.artwork-body h2{font-family:var(--font-display);font-weight:500;font-size:1.2rem;margin-bottom:var(--space-1)}.artwork-body p{font-size:.9rem;color:var(--color-muted)}@media (max-width: 900px){.gallery-hero{flex-direction:column;align-items:flex-start}}.detail-page{display:flex;flex-direction:column;gap:var(--space-6)}.detail-back{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-muted);text-decoration:none}.detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:var(--space-8);align-items:start}.detail-media{min-height:440px;border-radius:12px;background-size:cover;background-position:center;box-shadow:var(--shadow-md)}.detail-content h1{font-family:var(--font-display);font-weight:500;font-size:clamp(2rem,3vw,3rem);margin-bottom:var(--space-3)}.detail-tags{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.detail-tags span{border:1px solid var(--color-border);padding:.25rem .6rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted)}.detail-specs{display:grid;gap:var(--space-3);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:var(--space-4) 0;margin-bottom:var(--space-4)}.detail-specs div{display:flex;justify-content:space-between;font-size:.9rem}.detail-specs p{color:var(--color-muted);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}.detail-story{margin-bottom:var(--space-4)}.detail-label{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-muted);margin-bottom:var(--space-2)}.detail-story p{font-size:.95rem;line-height:1.7;color:var(--color-ink-soft)}.detail-cta{background:#0f0f0f;color:#fff;border:none;padding:.9rem 1.4rem;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}@media (max-width: 900px){.detail-grid{grid-template-columns:1fr}.detail-media{min-height:320px}}.about-page{display:flex;flex-direction:column;gap:var(--space-10)}.about-hero{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-8);align-items:center}.about-image{max-width:360px;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md);background:#f1ede7}.about-image img{width:100%;height:100%;min-height:300px;object-fit:cover;display:block}.about-copy h1{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:500;margin-bottom:var(--space-4)}.about-copy p{margin-bottom:var(--space-3);font-size:.98rem;line-height:1.7;color:var(--color-ink-soft)}.about-instagram{display:inline-flex;align-items:center;gap:.5rem;margin-top:var(--space-3);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-ink);text-decoration:none}.about-instagram-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--color-border)}.about-instagram:hover .about-instagram-icon{border-color:var(--color-ink)}.about-kicker{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--color-muted);margin-bottom:var(--space-3)}.about-quote{text-align:center;padding:var(--space-8) var(--space-4);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.about-quote p{font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--color-muted);margin-bottom:var(--space-3)}.about-quote h2{font-family:var(--font-display);font-weight:400;max-width:760px;margin:0 auto}.about-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-8)}.about-columns h3{font-family:var(--font-display);font-weight:500;margin-bottom:var(--space-4)}.about-columns ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.about-columns li{display:flex;flex-direction:column;gap:.35rem;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);font-size:.9rem;color:var(--color-ink-soft)}.about-columns span:first-child{font-weight:500;color:var(--color-ink)}@media (max-width: 900px){.about-hero{grid-template-columns:1fr}.about-image{max-width:320px}}.color-swatch-wrapper{display:inline-flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;position:relative;font-family:Inter,sans-serif}.color-swatch{position:relative;border-radius:50%;border:2px solid rgba(255,255,255,.85);box-shadow:0 2px 8px #00000026,inset 0 -2px 4px #0000001a;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;flex-shrink:0}.color-swatch--sm{width:32px;height:32px}.color-swatch--md{width:44px;height:44px}.color-swatch--lg{width:60px;height:60px}.color-swatch--selected{border:3px solid #0D9488;box-shadow:0 0 0 3px #0d948840,0 2px 8px #00000026,inset 0 -2px 4px #0000001a}.color-swatch-wrapper:hover .color-swatch{transform:scale(1.15);box-shadow:0 6px 20px #00000038,inset 0 -2px 4px #0000001a}.color-swatch__check{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.5);transition:all .25s cubic-bezier(.4,0,.2,1);pointer-events:none}.color-swatch--selected .color-swatch__check{opacity:1;transform:scale(1)}.color-swatch__check svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.color-swatch-wrapper:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);background:#0f172a;color:#f8fafc;font-size:11px;font-weight:500;letter-spacing:.01em;padding:5px 10px;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transition:all .2s cubic-bezier(.4,0,.2,1);z-index:10;box-shadow:0 4px 12px #00000026}.color-swatch-wrapper:before{content:"";position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%) translateY(4px);border:5px solid transparent;border-top-color:#0f172a;opacity:0;transition:all .2s cubic-bezier(.4,0,.2,1);z-index:10;pointer-events:none}.color-swatch-wrapper:hover:after,.color-swatch-wrapper:hover:before{opacity:1;transform:translate(-50%) translateY(0)}.color-swatch__name{font-size:12px;font-weight:600;color:#334155;text-align:center;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.color-swatch__hex{font-size:10px;font-weight:500;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;font-family:SF Mono,Fira Code,monospace}.color-swatch-wrapper:focus-visible{outline:none}.color-swatch-wrapper:focus-visible .color-swatch{outline:2px solid #0D9488;outline-offset:3px}.mixer-page{padding:2rem;max-width:1200px;margin:0 auto}.mixer-header{text-align:center;margin-bottom:.5rem}.mixer-header h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#14b8a6,#10b981,#0d9488);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0 0 .35rem;letter-spacing:-.02em}.mixer-header p{color:#64748b;font-size:1rem;margin:0;line-height:1.5}.mixer-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}.mix-preview-section,.mix-recipe-section,.palette-section{background:#ffffffb8;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.45);border-radius:16px;box-shadow:0 4px 24px #0000000f,0 1px 3px #0000000a;padding:1.5rem}.mix-preview{width:100%;aspect-ratio:1;border-radius:16px;transition:background-color .6s ease;box-shadow:inset 0 4px 16px #0000001f,inset 0 1px 3px #00000014;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.mix-preview:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.25) 0%,transparent 50%);pointer-events:none}.mix-placeholder{color:#0000004d;font-size:1.1rem;text-align:center;padding:1rem;line-height:1.5;position:relative;z-index:1}.color-info-panel{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:1.5rem 0 0;margin-top:1.25rem;border-top:1px solid rgba(148,163,184,.15)}.color-info-row{display:flex;flex-direction:column;gap:.2rem}.info-label{text-transform:uppercase;font-size:.7rem;letter-spacing:.1em;color:#94a3b8;font-weight:600}.info-value{font-size:.95rem;font-weight:500;color:#1e293b;font-family:SF Mono,Fira Code,Cascadia Code,monospace}.mix-recipe-section{display:flex;flex-direction:column}.recipe-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid rgba(148,163,184,.15);margin-bottom:.5rem}.recipe-header h3{margin:0;font-size:1.15rem;font-weight:600;color:#1e293b}.reset-btn{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;border:none;border-radius:999px;padding:.4rem 1.1rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .25s ease;letter-spacing:.02em}.reset-btn:hover:not(:disabled){background:linear-gradient(135deg,#0f9d8e,#0a7f74);box-shadow:0 2px 10px #14b8a659;transform:translateY(-1px)}.reset-btn:disabled{opacity:.45;cursor:not-allowed}.empty-recipe{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1rem;color:#94a3b8}.empty-recipe p{margin:0}.empty-recipe .hint{font-size:.85rem;margin-top:.4rem;color:#b0bec5}.recipe-list{flex:1;overflow-y:auto;max-height:340px}.recipe-entry{display:flex;flex-direction:row;align-items:center;gap:.75rem;padding:.75rem .5rem;border-bottom:1px solid rgba(148,163,184,.1);transition:background-color .2s ease;border-radius:8px}.recipe-entry:last-child{border-bottom:none}.recipe-entry:hover{background-color:#94a3b80f}.recipe-color{width:36px;height:36px;border-radius:50%;flex-shrink:0;box-shadow:0 2px 6px #0000001a,inset 0 1px 2px #ffffff4d;border:2px solid rgba(255,255,255,.6)}.recipe-info{display:flex;flex-direction:column;flex:1;min-width:0}.recipe-name{font-size:.9rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipe-hex{font-size:.75rem;color:#94a3b8;font-family:SF Mono,Fira Code,Cascadia Code,monospace}.recipe-controls{display:flex;align-items:center;gap:.25rem}.unit-btn{width:28px;height:28px;border-radius:50%;border:1.5px solid #cbd5e1;background:#fff;color:#475569;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;line-height:1}.unit-btn:hover{border-color:#14b8a6;color:#14b8a6;background:#14b8a60f;transform:scale(1.1)}.unit-count{min-width:2rem;text-align:center;font-weight:600;font-size:.95rem;color:#1e293b}.recipe-percentage{background:#14b8a61a;color:#0d9488;font-weight:600;font-size:.8rem;padding:.2rem .55rem;border-radius:999px;white-space:nowrap}.remove-btn{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:#94a3b8;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;flex-shrink:0}.remove-btn:hover{color:#ef4444;background:#ef444414;transform:scale(1.15)}.proportion-bar{height:12px;border-radius:6px;overflow:hidden;display:flex;flex-direction:row;margin-top:1rem;box-shadow:inset 0 1px 3px #00000014;border:1px solid rgba(148,163,184,.12)}.proportion-segment{height:100%;transition:width .4s ease;position:relative}.proportion-segment:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,transparent 60%);pointer-events:none}.palette-section{margin-top:2rem}.palette-header{margin-bottom:1rem}.palette-tabs{display:flex;flex-direction:row;gap:.5rem;flex-wrap:wrap}.palette-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border-radius:999px;border:none;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .25s ease;background:#f1f5f9;color:#475569}.palette-tab:hover{background:#e2e8f0;color:#1e293b}.palette-tab.active{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;box-shadow:0 2px 10px #14b8a64d}.color-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.3rem;height:1.3rem;padding:0 .35rem;border-radius:999px;font-size:.7rem;font-weight:700;background:#00000014;color:inherit;line-height:1}.palette-tab.active .color-count{background:#ffffff40}.palette-colors{display:flex;flex-direction:row;flex-wrap:wrap;gap:1.5rem;padding:1.5rem .5rem;justify-content:center}.palette-color-item{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border-radius:12px}.palette-color-item:hover{transform:scale(1.05)}.palette-color-item:active{transform:scale(.97)}.mixer-page{animation:mixerFadeIn .5s ease-out}@keyframes mixerFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.recipe-entry{animation:recipeSlideIn .3s ease-out}@keyframes recipeSlideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){.mixer-page{padding:1rem}.mixer-header h1{font-size:1.6rem}.mixer-content{grid-template-columns:1fr;gap:1.25rem}.mix-preview{aspect-ratio:4 / 3}.palette-colors{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;justify-items:center}.recipe-list{max-height:260px}.color-info-panel{grid-template-columns:1fr 1fr;gap:.6rem}.palette-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.25rem;-webkit-overflow-scrolling:touch}.palette-tab{white-space:nowrap;flex-shrink:0}}@media (max-width: 480px){.palette-colors{grid-template-columns:repeat(3,1fr);gap:.75rem}.recipe-entry{gap:.5rem;padding:.6rem .25rem}.recipe-info{min-width:0}.recipe-name{font-size:.8rem}}.modal-dialog{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;padding:0;border:none;background:transparent;overflow:visible;max-width:none;max-height:none;width:100%;height:100%;display:none;align-items:center;justify-content:center;font-family:Inter,sans-serif;z-index:1000}.modal-dialog[open]{display:flex}.modal-dialog::backdrop{background:#0f172a99;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-content-in{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-dialog[open]::backdrop{animation:modal-backdrop-in .25s cubic-bezier(.4,0,.2,1) forwards}.modal-content{position:relative;background:#fff;border-radius:16px;box-shadow:0 24px 80px #0000001f,0 8px 24px #0000000f;overflow:hidden;display:flex;flex-direction:column;max-height:85vh;animation:modal-content-in .3s cubic-bezier(.4,0,.2,1) forwards}.modal-content--sm{width:min(380px,90vw)}.modal-content--md{width:min(540px,90vw)}.modal-content--lg{width:min(740px,92vw)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid rgba(0,0,0,.06)}.modal-title{font-size:18px;font-weight:700;color:#0f172a;letter-spacing:-.01em;line-height:1.3;margin:0}.modal-close{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.modal-close:hover{background:#f1f5f9;color:#1e293b}.modal-close:active{transform:scale(.92)}.modal-close svg{width:18px;height:18px}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:#00000014;border-radius:10px}@keyframes modal-content-out{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(8px)}}@keyframes modal-backdrop-out{0%{opacity:1}to{opacity:0}}.modal-dialog--closing .modal-content{animation:modal-content-out .2s cubic-bezier(.4,0,.2,1) forwards}.modal-dialog--closing::backdrop{animation:modal-backdrop-out .2s cubic-bezier(.4,0,.2,1) forwards}.chart-page{padding:2rem;max-width:1400px;margin:0 auto}.chart-header{margin-bottom:.5rem}.chart-header h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#0d9488,#14b8a6,#2dd4bf);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .5rem;line-height:1.2}.chart-header p{color:#64748b;font-size:1rem;margin:0;line-height:1.5}.chart-controls{margin-top:2rem;padding:2rem;border-radius:16px;background:#ffffffb3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.45);box-shadow:0 4px 24px #0000000f,0 1px 2px #0000000a}.control-step h3{font-size:1rem;font-weight:600;color:#334155;margin:0 0 .75rem}.step-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.step-header h3{margin-bottom:0}.step-actions{display:flex;gap:.75rem}.palette-tabs{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}.palette-tab{padding:.5rem 1rem;border:none;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.palette-tab:hover{background:#e2e8f0}.palette-tab.active{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;box-shadow:0 2px 8px #14b8a659}.link-btn{background:none;border:none;color:#0d9488;font-size:.85rem;font-weight:500;cursor:pointer;padding:0;transition:all .15s ease}.link-btn:hover{text-decoration:underline;color:#0f766e}.color-chips{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem}.generate-btn{width:100%;padding:1rem;border:none;border-radius:12px;background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 2px 8px #14b8a640;margin-top:.5rem}.generate-btn:hover:not(:disabled){box-shadow:0 8px 24px #14b8a666;transform:translateY(-1px)}.generate-btn:active:not(:disabled){transform:translateY(0)}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.chart-grid-wrapper{overflow-x:auto;margin-top:2rem;border-radius:16px;box-shadow:0 4px 24px #00000012,0 1px 3px #0000000a;background:#fff}.chart-grid{display:grid;background:#fff;min-width:max-content}.chart-cell.chart-corner{background:#f8fafc;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0}.chart-cell.chart-header-cell{padding:.75rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.header-swatch{width:28px;height:28px;border-radius:9999px;box-shadow:0 1px 3px #0000001f,0 0 0 1px #0000000a;flex-shrink:0}.header-name{font-size:.65rem;text-align:center;color:#64748b;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.chart-cell.chart-row-header{padding:.5rem .75rem;display:flex;flex-direction:row;align-items:center;gap:.75rem;background:#f8fafc;border-right:1px solid #e2e8f0}.chart-mix-cell{aspect-ratio:1;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border:1px solid rgba(0,0,0,.05);position:relative}.chart-mix-cell:hover:not(.diagonal){transform:scale(1.1);z-index:10;box-shadow:0 8px 24px #0000002e,0 2px 6px #00000014;border-radius:4px}.chart-mix-cell.diagonal{opacity:.7;cursor:default;position:relative}.chart-mix-cell.diagonal:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(255,255,255,.25) 3px,rgba(255,255,255,.25) 5px);pointer-events:none}.mix-detail{padding:1rem}.mix-detail h4{font-size:.95rem;font-weight:600;color:#334155;margin:0 0 1rem}.detail-colors{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:2rem}.detail-color-card{display:flex;flex-direction:column;align-items:center;gap:.5rem}.detail-color-card span{font-size:.85rem;font-weight:500;color:#475569}.detail-swatch{width:60px;height:60px;border-radius:9999px;box-shadow:0 4px 12px #00000026,0 0 0 2px #fffc}.detail-plus{font-size:1.5rem;font-weight:700;color:#94a3b8;-webkit-user-select:none;user-select:none}.ratio-variations{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.ratio-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem;border-radius:12px;background:#f8fafc;transition:background .15s ease;cursor:default}.ratio-card:hover{background:#f1f5f9}.ratio-swatch{width:48px;height:48px;border-radius:9999px;box-shadow:0 2px 8px #0000001f,0 0 0 1px #0000000a}.ratio-label{display:flex;flex-direction:column;align-items:center;font-size:.75rem;color:#64748b;gap:.15rem}.ratio-hex{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.7rem;color:#94a3b8}@media (max-width: 768px){.chart-page{padding:1rem}.chart-header h1{font-size:1.5rem}.chart-controls{padding:1.25rem}.ratio-variations{grid-template-columns:repeat(3,1fr)}.detail-swatch{width:48px;height:48px}.detail-colors{gap:1rem}.palette-tabs{flex-wrap:wrap}}.color-picker{display:flex;flex-direction:column;gap:8px;font-family:Inter,sans-serif}.color-picker__label{font-size:13px;font-weight:600;color:#334155;letter-spacing:.01em}.color-picker__row{display:flex;align-items:center;gap:10px}.color-picker__preview{width:48px;height:48px;border-radius:50%;border:2px solid rgba(255,255,255,.9);box-shadow:0 2px 8px #0000001f,inset 0 -2px 4px #00000014;flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1)}.color-picker__input-wrap{position:relative;flex:1}.color-picker__hash{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:14px;font-weight:700;color:#94a3b8;pointer-events:none;font-family:SF Mono,Fira Code,monospace;transition:color .2s ease}.color-picker__input{width:100%;padding:11px 14px 11px 30px;font-size:14px;font-weight:500;font-family:SF Mono,Fira Code,monospace;letter-spacing:.04em;text-transform:uppercase;color:#1e293b;background:#ffffffd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1.5px solid rgba(13,148,136,.15);border-radius:10px;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000a}.color-picker__input:focus{border-color:#0d9488;box-shadow:0 0 0 3px #0d94881a,0 2px 8px #0000000a}.color-picker__input:focus~.color-picker__hash{color:#0d9488}.color-picker__input--error{border-color:#ef4444;background:#fef2f2b3}.color-picker__input--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a,0 2px 8px #0000000a}.color-picker__input--error~.color-picker__hash{color:#ef4444}.color-picker__btn{position:relative;width:44px;height:44px;border-radius:10px;border:1.5px solid rgba(13,148,136,.15);background:#ffffffd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000a;overflow:hidden}.color-picker__native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;border:none;padding:0}.color-picker__btn:hover{border-color:#0d9488;color:#0d9488;box-shadow:0 4px 12px #0d94881f}.color-picker__btn:active{transform:scale(.95)}.color-picker__btn svg{width:20px;height:20px}.color-picker__error{font-size:11px;font-weight:500;color:#ef4444;padding-left:2px;opacity:0;transform:translateY(-4px);transition:all .2s ease}.color-picker__error--visible{opacity:1;transform:translateY(0)}.recipe-card{background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.5);border-radius:12px;box-shadow:0 4px 24px #0000000f;padding:20px;font-family:Inter,sans-serif;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.recipe-card:hover{box-shadow:0 8px 32px #0000001a;transform:translateY(-2px)}.recipe-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0d9488,#06b6d4,#8b5cf6);opacity:0;transition:opacity .3s ease}.recipe-card:hover:before{opacity:1}.recipe-card__rank{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;font-size:14px;font-weight:800;letter-spacing:-.01em;margin-bottom:14px}.recipe-card__rank--1{background:linear-gradient(135deg,#fde68a,#f59e0b);color:#78350f;box-shadow:0 2px 8px #f59e0b4d}.recipe-card__rank--2{background:linear-gradient(135deg,#e2e8f0,#94a3b8);color:#334155;box-shadow:0 2px 8px #94a3b84d}.recipe-card__rank--3{background:linear-gradient(135deg,#fed7aa,#ea580c);color:#7c2d12;box-shadow:0 2px 8px #ea580c4d}.recipe-card__rank--other{background:linear-gradient(135deg,#f1f5f9,#cbd5e1);color:#475569;box-shadow:0 2px 6px #0000000f}.recipe-card__bar{display:flex;height:28px;border-radius:8px;overflow:hidden;margin-bottom:12px;box-shadow:inset 0 1px 3px #00000014}.recipe-card__bar-segment{height:100%;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.recipe-card__bar-segment:first-child{border-radius:8px 0 0 8px}.recipe-card__bar-segment:last-child{border-radius:0 8px 8px 0}.recipe-card__bar-segment:only-child{border-radius:8px}.recipe-card__bar-segment+.recipe-card__bar-segment{border-left:1px solid rgba(255,255,255,.35)}.recipe-card__chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.recipe-card__chip{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;background:#f1f5f9b3;border-radius:20px;border:1px solid rgba(0,0,0,.04)}.recipe-card__chip-dot{width:20px;height:20px;border-radius:50%;border:1.5px solid rgba(255,255,255,.8);box-shadow:0 1px 3px #0000001a;flex-shrink:0}.recipe-card__chip-name{font-size:11px;font-weight:600;color:#334155;white-space:nowrap;max-width:80px;overflow:hidden;text-overflow:ellipsis}.recipe-card__chip-pct{font-size:11px;font-weight:500;color:#94a3b8;font-family:SF Mono,Fira Code,monospace}.recipe-card__compare{display:flex;align-items:center;gap:12px;padding:14px;background:#f1f5f980;border-radius:10px;border:1px solid rgba(0,0,0,.03)}.recipe-card__compare-side{flex:1;display:flex;align-items:center;gap:10px}.recipe-card__compare-swatch{width:36px;height:36px;border-radius:50%;border:2px solid rgba(255,255,255,.9);box-shadow:0 2px 6px #0000001a,inset 0 -1px 3px #00000014;flex-shrink:0}.recipe-card__compare-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;line-height:1;margin-bottom:2px}.recipe-card__compare-hex{font-size:12px;font-weight:600;color:#334155;font-family:SF Mono,Fira Code,monospace;text-transform:uppercase}.recipe-card__accuracy{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 8px;flex-shrink:0}.recipe-card__delta{font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap;letter-spacing:-.01em}.recipe-card__delta--excellent{background:#10b9811f;color:#059669}.recipe-card__delta--good{background:#eab3081f;color:#b45309}.recipe-card__delta--fair{background:#f973161f;color:#c2410c}.recipe-card__delta--poor{background:#ef44441f;color:#dc2626}.recipe-card__match{font-size:10px;font-weight:600;color:#64748b}.recipe-card__match-pct{font-size:20px;font-weight:800;letter-spacing:-.02em;line-height:1}.recipe-card__match-pct--excellent{color:#059669}.recipe-card__match-pct--good{color:#b45309}.recipe-card__match-pct--fair{color:#c2410c}.recipe-card__match-pct--poor{color:#dc2626}.recipes-page{padding:2rem;max-width:900px;margin:0 auto}.recipes-header h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#0d9488,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .5rem}.recipes-header p{color:#64748b;margin:0;font-size:1rem;line-height:1.5}.recipes-controls{background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.6);box-shadow:0 4px 24px #0000000f,0 1px 4px #0000000a;border-radius:16px;padding:2rem;margin-top:2rem}.control-step{margin-bottom:1.5rem}.control-step h3{font-size:1rem;color:#334155;font-weight:600;margin:0 0 .75rem}.step-desc{font-size:.85rem;color:#94a3b8;margin:0 0 .5rem}.palette-tabs{display:flex;flex-direction:row;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.palette-tab{background:#f1f5f9;color:#475569;border-radius:8px;padding:.5rem 1rem;font-size:.85rem;border:none;cursor:pointer;transition:all .2s ease;font-family:inherit}.palette-tab:hover{background:#e2e8f0;color:#334155}.palette-tab.active{background:#0d9488;color:#fff;box-shadow:0 2px 8px #0d94884d}.palette-preview{display:flex;flex-direction:row;gap:.5rem;flex-wrap:wrap}.preview-dot{width:24px;height:24px;border-radius:50%;box-shadow:0 1px 3px #0000001f;transition:transform .2s ease,box-shadow .2s ease}.preview-dot:hover{transform:scale(1.25);box-shadow:0 2px 8px #0003}.inline-step{display:flex;flex-direction:row;align-items:center;gap:1rem}.inline-step h3{margin-bottom:0}.max-colors-selector{display:flex;flex-direction:row;gap:.5rem}.max-color-btn{width:40px;height:40px;border-radius:8px;border:2px solid #e2e8f0;background:#fff;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease;font-family:inherit;color:#475569}.max-color-btn:hover{border-color:#cbd5e1;background:#f8fafc}.max-color-btn.active{border-color:#0d9488;background:#f0fdfa;color:#0d9488;box-shadow:0 0 0 1px #0d948826}.get-recipe-btn{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,#0d9488,#059669);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .25s ease;font-family:inherit;margin-top:.5rem}.get-recipe-btn:hover:not(:disabled){box-shadow:0 8px 24px #0d948859;transform:translateY(-1px)}.get-recipe-btn:active:not(:disabled){transform:translateY(0)}.get-recipe-btn:disabled{opacity:.7;cursor:not-allowed}.spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.error-message{margin-top:1rem;padding:1rem;background:#fef2f2;border:1px solid #FECACA;color:#dc2626;border-radius:12px}.error-message p{margin:0;font-size:.9rem;line-height:1.5}.warning-message{margin-top:1rem;padding:1rem;background:#fffbeb;border:1px solid #FDE68A;color:#b45309;border-radius:12px}.warning-message p{margin:0;font-size:.9rem;line-height:1.5}.recipes-results{margin-top:2rem}.recipes-results h2{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 1rem}.recipe-cards{display:flex;flex-direction:column;gap:1rem}.faq-section{margin-top:3rem;margin-bottom:2rem}.faq-section h2{font-size:1.5rem;font-weight:700;color:#1e293b;text-align:center;margin:0 0 1.5rem}.faq-item{background:#fff;border-radius:12px;border:1px solid #e2e8f0;margin-bottom:.75rem;overflow:hidden;transition:box-shadow .2s ease}.faq-item:hover{box-shadow:0 2px 8px #0000000f}.faq-item summary{padding:1rem 1.5rem;font-weight:500;color:#334155;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:.95rem;line-height:1.4;-webkit-user-select:none;user-select:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"▸";font-size:1rem;color:#94a3b8;transition:transform .2s ease;flex-shrink:0;margin-left:1rem}.faq-item[open] summary:after{transform:rotate(90deg)}.faq-item p{padding:0 1.5rem 1rem;color:#64748b;font-size:.9rem;line-height:1.6;margin:0}.acrylic-guide{--guide-bg: rgba(255, 255, 255, .7);--guide-surface: rgba(255, 255, 255, .85);--guide-text: #1e293b;--guide-muted: #64748b;--guide-accent: #0d9488;--guide-accent-soft: rgba(13, 148, 136, .14);--guide-border: rgba(255, 255, 255, .45);--guide-shadow: 0 12px 30px rgba(15, 23, 42, .08);--guide-shadow-soft: 0 8px 18px rgba(15, 23, 42, .08);--guide-ring: rgba(13, 148, 136, .45);min-height:100vh;background:var(--guide-bg);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:20px;padding:2.5rem;display:flex;flex-direction:column;gap:2rem;color:var(--guide-text);position:relative;overflow:hidden}.acrylic-guide:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,rgba(13,148,136,.08),transparent 45%);pointer-events:none}.acrylic-guide[data-theme=dark]{--guide-bg: rgba(15, 23, 42, .7);--guide-surface: rgba(15, 23, 42, .75);--guide-text: #f8fafc;--guide-muted: #94a3b8;--guide-border: rgba(148, 163, 184, .2);--guide-shadow: 0 18px 40px rgba(2, 6, 23, .45);--guide-shadow-soft: 0 12px 24px rgba(2, 6, 23, .35)}.acrylic-guide[data-theme=dark] .category-tab{background:#0f172a99}.acrylic-guide *{position:relative;z-index:1}.guide-hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}.guide-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;color:var(--guide-accent);margin-bottom:.5rem}.guide-hero h1{font-size:clamp(2.2rem,2vw + 1.6rem,3rem);margin-bottom:.75rem;background:linear-gradient(135deg,#0d9488,#14b8a6,#2dd4bf);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.guide-subtitle{max-width:560px;color:var(--guide-muted);font-size:1rem;line-height:1.6}.guide-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.ghost-btn{border:1px solid var(--guide-border);color:var(--guide-text);padding:.55rem 1.1rem;border-radius:999px;background:transparent;font-weight:600;transition:all .2s ease}.ghost-btn:hover{border-color:var(--guide-accent);color:var(--guide-accent);box-shadow:0 6px 12px #0d948833}.favorite-count{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:999px;background:var(--guide-accent-soft);color:var(--guide-text);font-weight:600}.guide-controls{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:2rem}.search-block label,.tab-block span{display:block;font-weight:600;margin-bottom:.5rem;color:var(--guide-text)}.search-block input{width:100%;padding:.75rem 1rem;border-radius:16px;background:var(--guide-surface);border:1px solid var(--guide-border);box-shadow:var(--guide-shadow-soft);color:var(--guide-text)}.search-block input::placeholder{color:var(--guide-muted)}.search-block input:focus{outline:2px solid var(--guide-ring);border-color:transparent}.category-tabs{display:flex;flex-wrap:wrap;gap:.6rem}.category-tab{padding:.45rem 1rem;border-radius:999px;border:1px solid transparent;background:#f8fafccc;color:var(--guide-muted);font-weight:600;transition:all .2s ease}.acrylic-guide[data-theme=dark] .category-tab{background:#ffffff14}.category-tab:hover{border-color:var(--guide-accent);color:var(--guide-accent)}.category-tab.active{background:var(--guide-accent);color:#fff;box-shadow:0 6px 16px #0d948859}.tab-count{margin-left:.4rem;padding:.1rem .45rem;border-radius:999px;background:#ffffff4d;font-size:.7rem;color:inherit}.guide-results{display:flex;flex-direction:column;gap:1.5rem}.results-header{display:flex;align-items:center;justify-content:space-between;color:var(--guide-muted)}.results-header h2{color:var(--guide-text)}.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.guide-card{background:var(--guide-surface);border-radius:20px;padding:1.5rem;box-shadow:var(--guide-shadow);display:flex;flex-direction:column;gap:1rem;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,border .2s ease}.guide-card:hover{transform:translateY(-4px);border-color:#0d948840;box-shadow:0 18px 40px #0f172a24}.guide-card__header{display:flex;align-items:center;justify-content:space-between}.guide-badge{font-size:.75rem;font-weight:600;padding:.25rem .65rem;border-radius:999px;background:var(--guide-accent-soft);color:var(--guide-accent)}.favorite-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--guide-border);color:var(--guide-muted);font-size:1.1rem;display:flex;align-items:center;justify-content:center;background:transparent;transition:all .2s ease}.favorite-btn.active{color:var(--guide-accent);border-color:var(--guide-accent);background:#0d94881f}.favorite-btn:hover{border-color:var(--guide-accent);color:var(--guide-accent)}.guide-result{display:flex;gap:1rem;align-items:center}.result-swatch{width:48px;height:48px;border-radius:50%;aspect-ratio:1 / 1;flex-shrink:0;box-shadow:inset 0 0 0 2px #fff9}.guide-ratio{color:var(--guide-muted);font-size:.9rem}.guide-recipe-line{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;font-size:.85rem;color:var(--guide-muted)}.guide-ingredients{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.guide-ingredient{display:grid;align-items:center;justify-items:center;gap:.2rem;font-size:.75rem;text-align:center;min-width:70px}.ingredient-swatch{width:28px;height:28px;border-radius:50%;aspect-ratio:1 / 1;flex-shrink:0;box-shadow:inset 0 0 0 2px #fff9}.ingredient-swatch--result{width:36px;height:36px;aspect-ratio:1 / 1}.ingredient-plus,.ingredient-equals{font-size:1rem;font-weight:700;color:var(--guide-accent)}.result-label{font-weight:600;color:var(--guide-text)}.guide-tip{background:#0d948814;border-radius:14px;padding:.75rem 1rem;color:var(--guide-muted)}.guide-tip span{font-weight:600;color:var(--guide-accent);display:block;margin-bottom:.25rem}.guide-empty{text-align:center;padding:2rem;border-radius:20px;background:var(--guide-surface);box-shadow:var(--guide-shadow-soft)}.guide-tips{background:var(--guide-surface);border-radius:20px;padding:1.5rem;box-shadow:var(--guide-shadow-soft);border:1px solid var(--guide-border)}.guide-tips summary{cursor:pointer;font-weight:700;color:var(--guide-text);margin-bottom:1rem}.guide-tips ol{padding-left:1.2rem;color:var(--guide-muted);line-height:1.7;display:grid;gap:.6rem}.guide-footer{text-align:center;color:var(--guide-muted);font-size:.9rem}@media (max-width: 960px){.guide-controls{grid-template-columns:1fr}}@media (max-width: 720px){.acrylic-guide{padding:1.5rem;border-radius:18px}.guide-hero{flex-direction:column;align-items:flex-start}.guide-toolbar{width:100%}.guide-recipe-line{justify-content:flex-start}}@media print{.sidebar,.mobile-menu-btn,.guide-toolbar,.guide-controls,.guide-footer{display:none!important}.app-main{margin-left:0!important}.acrylic-guide{padding:0;background:#fff!important;box-shadow:none}.guide-card{break-inside:avoid;box-shadow:none;border:1px solid #DDDDDD}}:root{--color-primary: #0D9488;--color-primary-light: #14B8A6;--color-primary-dark: #0F766E;--color-primary-50: #F0FDFA;--color-primary-100: #CCFBF1;--color-primary-200: #99F6E4;--color-primary-500: #14B8A6;--color-primary-600: #0D9488;--color-primary-700: #0F766E;--color-primary-800: #115E59;--color-slate-50: #F8FAFC;--color-slate-100: #F1F5F9;--color-slate-200: #E2E8F0;--color-slate-300: #CBD5E1;--color-slate-400: #94A3B8;--color-slate-500: #64748B;--color-slate-600: #475569;--color-slate-700: #334155;--color-slate-800: #1E293B;--color-slate-900: #0F172A;--color-slate-950: #020617;--color-success: #22C55E;--color-warning: #F59E0B;--color-error: #EF4444;--color-info: #3B82F6;--color-bg: #f8f6f3;--color-surface: rgba(255, 255, 255, .85);--color-surface-solid: #FFFFFF;--color-sidebar: #f8f6f3;--color-sidebar-hover: rgba(15, 15, 15, .08);--color-sidebar-active: rgba(15, 15, 15, .12);--color-ink: #1c1c1c;--color-ink-soft: #3d3d3d;--color-muted: #7a7a7a;--color-border: rgba(22, 22, 22, .12);--font-display: "Playfair Display", "Times New Roman", serif;--font-body: "Source Sans 3", "Helvetica Neue", Arial, sans-serif;--font-family: var(--font-body);--font-mono: "SF Mono", "Fira Code", "Cascadia Code", monospace;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-lg: 1.0625rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.65;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .08), 0 4px 8px rgba(0, 0, 0, .04);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .12), 0 8px 16px rgba(0, 0, 0, .06);--shadow-glass: 0 8px 32px rgba(0, 0, 0, .08);--shadow-glow: 0 0 24px rgba(13, 148, 136, .15);--glass-bg: rgba(255, 255, 255, .75);--glass-border: rgba(255, 255, 255, .4);--glass-blur: blur(16px);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--sidebar-width: 240px;--sidebar-collapsed: 72px;--content-max-width: 1400px;--navbar-height: 72px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-ink);background:var(--color-bg);min-height:100vh;overflow-x:hidden}#root{min-height:100vh}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}img{max-width:100%;height:auto;display:block}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;outline:none;transition:all var(--transition-base)}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input,select,textarea{font-family:inherit;font-size:inherit;border:none;outline:none}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}h1,h2,h3,h4,h5,h6{line-height:var(--line-height-tight);color:var(--color-slate-800)}ul,ol{list-style:none}.glass-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-glass)}.gradient-text{background:linear-gradient(135deg,var(--color-primary) 0%,#059669 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-slate-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-slate-400)}::selection{background:var(--color-primary-200);color:var(--color-primary-800)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes colorShift{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}.animate-fade-in{animation:fadeIn .5s ease-out forwards}.animate-fade-in-scale{animation:fadeInScale .3s ease-out forwards}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1;min-height:100vh;background:var(--color-bg);position:relative;overflow-y:auto;padding-top:var(--navbar-height)}.app-content{max-width:var(--content-max-width);margin:0 auto;padding:var(--space-8);animation:fadeIn .4s ease-out}.build-message{max-width:720px;margin:0 auto;padding:var(--space-10) var(--space-8);text-align:center}.build-message h1{font-size:clamp(2rem,4vw,3.25rem);font-weight:var(--font-weight-bold);letter-spacing:-.02em;color:var(--color-slate-900);margin-bottom:var(--space-3)}.build-message p{font-size:var(--font-size-lg);color:var(--color-slate-600)}@media (max-width: 768px){.app-content{padding:var(--space-4)}.build-message{padding:var(--space-8) var(--space-4)}}
