@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#0a0a0f;--text-primary:#fff;--accent-color:#8b5cf6;--primary-color:#fff;--secondary-color:#a5a5b5;--bg-secondary:color-mix(in srgb, var(--bg-primary) 95%, var(--text-primary));--bg-card:color-mix(in srgb, var(--bg-primary) 70%, transparent);--border-color:color-mix(in srgb, var(--text-primary) 15%, transparent);--text-secondary:color-mix(in srgb, var(--text-primary) 75%, transparent);--text-muted:color-mix(in srgb, var(--text-primary) 45%, transparent);--accent-hover:color-mix(in srgb, var(--accent-color) 80%, var(--text-primary));--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000004d, 0 2px 4px -1px #0003;--shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -2px #0003;--shadow-xl:0 20px 25px -5px #00000080, 0 10px 10px -5px #0000004d;--font-sans:"Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:var(--font-sans);--font-body:var(--font-sans);--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth;scrollbar-gutter:stable;overflow-y:scroll}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body,var(--font-sans));background-color:var(--bg-primary);color:var(--text-primary);background-image:radial-gradient(circle at 15%,#8b5cf60a,#0000 25%),radial-gradient(circle at 85% 30%,#38bdf80a,#0000 25%);min-height:100vh;margin:0;overflow-x:hidden}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-display,var(--font-sans));font-weight:600;line-height:1.2}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}.glass{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color)}.theme-font-gothic{font-family:Cinzel Decorative,Georgia,serif!important}.theme-font-art-deco{font-family:Limelight,cursive,sans-serif!important}.theme-font-minimalist{letter-spacing:-.02em;font-weight:500;font-family:Space Grotesk,sans-serif!important}.theme-font-bohemian{font-family:Italiana,serif!important}.theme-font-industrial{letter-spacing:.08em;font-family:Bebas Neue,sans-serif!important}.theme-font-tropical{font-family:Satisfy,cursive!important}.theme-font-elegant{font-style:italic;font-weight:600;font-family:Cormorant Garamond,serif!important}.theme-font-cyberpunk{letter-spacing:.1em;font-family:Orbitron,sans-serif!important}.font-card{border:1px solid var(--border-color,#e0e0e0);background-color:#0000;border-radius:4px;flex-direction:column;min-width:0;height:410px;padding:24px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.font-card.unlocked{cursor:pointer}.font-card:hover{border-color:var(--text-primary,#333);transform:translateY(-4px);box-shadow:0 10px 30px -10px #0000001a}.font-card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.font-card-label{font-size:11px;font-family:var(--font-body,var(--font-sans));letter-spacing:.15em;color:#888;text-transform:uppercase}.font-card-name-container{border-bottom:1px solid var(--border-color,#e0e0e0);box-sizing:border-box;justify-content:space-between;align-items:flex-start;width:100%;height:90px;margin-bottom:20px;padding-bottom:20px;display:flex;position:relative;overflow:hidden}.font-card-name{color:var(--text-primary,#111);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;padding-right:32px;font-size:38px;font-weight:300;line-height:1.1;overflow:hidden}.font-cycle-hint{opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000000d;border-radius:50%;justify-content:center;align-items:center;padding:.75rem;transition:opacity .2s;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.font-card.unlocked:hover .font-cycle-hint{opacity:1}.font-card-details{flex-direction:column;flex-shrink:0;gap:12px;margin-bottom:16px;display:flex}.detail-row{grid-template-columns:100px 1fr;gap:16px;display:grid}.detail-label{font-size:10px;font-family:var(--font-body,var(--font-sans));letter-spacing:.15em;color:#888;text-transform:uppercase}.detail-value{color:var(--text-primary,#333);font-size:12px;font-family:var(--font-body,monospace)}.font-card-showcase{color:var(--text-primary,#111);height:32px;margin-top:auto;font-size:26px;line-height:32px;overflow:hidden}.type-scale-container{margin-top:80px}.type-scale-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.scale-label{font-size:11px;font-family:var(--font-body,var(--font-sans));letter-spacing:.15em;color:#888;text-transform:uppercase}.type-scale-table{border-top:1px solid var(--border-color,#e0e0e0)}.scale-row{border-bottom:1px solid var(--border-color,#e0e0e0);box-sizing:border-box;height:var(--row-height);grid-template-columns:40px 100px 1fr 280px;grid-template-areas:"lock label sample specs";align-items:center;padding:0;transition:background-color .2s;display:grid;overflow:hidden}.scale-col-lock{grid-area:lock;justify-content:flex-start;align-items:center;display:flex}.scale-row.unlocked{cursor:pointer}.scale-row.unlocked:hover{background-color:#8080800a}.scale-col-label{font-size:10px;font-family:var(--font-body,var(--font-sans));letter-spacing:.15em;color:#888;text-transform:uppercase;grid-area:label}.scale-col-sample{color:var(--text-primary,#111);grid-area:sample;width:100%;overflow:hidden}.scale-sample-text{white-space:nowrap;display:inline-block}.scale-col-specs{font-family:var(--font-body,monospace);color:#888;letter-spacing:.02em;flex-direction:column;grid-area:specs;justify-content:center;align-items:flex-end;gap:2px;height:100%;font-size:8.5px;line-height:1.25;display:flex}.spec-item{white-space:nowrap;justify-content:flex-end;gap:6px;width:100%;display:flex}.spec-label{color:var(--text-muted,#888);opacity:.65;text-transform:lowercase}.spec-value{color:var(--text-primary,#333);font-weight:500}@media (width<=768px){.scale-row{min-height:var(--row-height);grid-template-columns:32px 1fr;grid-template-areas:"label label""sample sample""lock specs";align-items:center;gap:12px;padding:16px 0;height:auto!important}.scale-col-label{margin-bottom:-4px}.scale-col-sample{align-self:center;padding:8px 0}.scale-col-specs{flex-flow:wrap;justify-content:flex-start;align-items:center;gap:12px}.spec-item{justify-content:flex-start;width:auto}}.typography-section{box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;padding:64px 24px;overflow:hidden}.typography-header-row{justify-content:space-between;align-items:flex-start;margin-bottom:64px;display:flex}.typography-intro{max-width:600px}.typography-header{font-size:48px;line-height:1.2;font-family:var(--font-display,serif);color:var(--text-primary,#111);margin-bottom:24px;font-weight:400}.typography-description{color:#666;font-size:16px;font-style:italic;line-height:1.6;font-family:var(--font-body,serif)}.font-cards-container{grid-template-columns:1fr 1fr;gap:32px;margin-bottom:32px;display:grid;overflow:hidden}@media (width<=768px){.font-cards-container{grid-template-columns:1fr}.typography-intro{min-height:220px}.typography-header{font-size:36px}.typography-header-row{flex-direction:column;gap:24px}}.graphic-language-section{box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;padding:4rem 2rem;overflow:hidden}.graphic-header-row{justify-content:space-between;align-items:flex-start;margin-bottom:3rem;display:flex}.graphic-header{max-width:800px}.graphic-headline{font-family:var(--font-display);color:var(--text-primary);overflow-wrap:break-word;word-break:break-word;margin-bottom:1.5rem;font-size:3rem;font-weight:400;line-height:1.1}.graphic-description{font-family:var(--font-body);color:var(--text-primary);opacity:.8;max-width:600px;font-size:1.25rem;line-height:1.6}.graphic-grid{grid-template-columns:repeat(4,1fr);gap:2rem;display:grid}@media (width<=1024px){.graphic-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=576px){.graphic-grid{grid-template-columns:1fr;gap:1.5rem}}.graphic-card{background-color:#0000;border:1px solid #0000001a;border-radius:6px;flex-direction:column;min-width:0;transition:all .2s;display:flex;position:relative;overflow:hidden}:root[style*="--bg-primary: #0"] .graphic-card,:root[style*="--bg-primary: #1"] .graphic-card{border-color:#ffffff1a}.graphic-image-container{aspect-ratio:1;background-color:var(--text-primary);border-radius:5px 5px 0 0;display:block;position:relative;box-shadow:inset 0 -1px #0000001a}:root[style*="--bg-primary: #0"] .graphic-image-container,:root[style*="--bg-primary: #1"] .graphic-image-container{box-shadow:inset 0 -1px #ffffff1a}.graphic-image-container img,.graphic-image-container svg,.graphic-svg-mask{object-fit:contain;opacity:.85;width:auto;height:auto;transition:opacity .2s;position:absolute;inset:2.25rem}.graphic-card:hover .graphic-svg-mask{opacity:1}.cycle-hint-overlay{opacity:0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;background:#ffffff73;border-radius:50%;justify-content:center;align-items:center;padding:.75rem;transition:opacity .2s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #00000014}.graphic-card.unlocked:hover .cycle-hint-overlay{opacity:1}.graphic-meta{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);opacity:.85;justify-content:flex-start;align-items:center;gap:.5rem;padding:1.25rem 1.5rem;font-size:.7rem;display:flex}.graphic-index{font-weight:600}.graphic-name{cursor:pointer;font-weight:500}.graphic-name:hover{opacity:1;text-decoration:underline}.graphic-controls{justify-content:center;margin-top:3rem;display:flex}.shuffle-graphics-btn{border:1px solid var(--text-primary);color:var(--text-primary);font-family:var(--font-body);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:4px;padding:.75rem 1.5rem;font-size:.9rem;transition:all .2s}.shuffle-graphics-btn:hover{background:var(--text-primary);color:var(--bg-primary)}.graphic-picker{background-color:var(--bg-primary);border:1px solid var(--text-primary);z-index:10;width:100%;padding:.5rem 0;position:absolute;bottom:0;left:0;transform:translateY(100%);box-shadow:0 4px 12px #0000001a}.picker-option{font-family:var(--font-body);color:var(--text-primary);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;padding:.5rem 1rem;font-size:.8rem}.picker-option:hover{background-color:var(--text-primary);color:var(--bg-primary)}.applications-section{border-top:1px solid #0000001a;max-width:1200px;margin:0 auto;padding:4rem 2rem}.applications-header{justify-content:space-between;align-items:flex-end;margin-bottom:3rem;display:flex}.applications-headline{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:2.5rem;font-weight:400}.applications-description{font-family:var(--font-body);color:var(--text-primary);opacity:.7;max-width:600px;margin:.5rem 0 0;font-size:1.1rem}.download-all-btn{background:var(--text-primary);color:var(--bg-primary);font-family:var(--font-body);cursor:pointer;white-space:nowrap;border:none;border-radius:4px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.download-all-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.flyer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;display:grid}@media (width<=900px){.flyer-grid{grid-template-columns:minmax(0,1fr);max-width:500px;margin:0 auto}}.flyer-wrapper{border-radius:3px;width:100%;min-width:0;height:0;padding-bottom:125%;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 2px 16px #0000000f}.flyer-wrapper:hover{transform:translateY(-3px);box-shadow:0 8px 28px #0000001a}.flyer{box-sizing:border-box;flex-direction:column;width:100%;height:100%;display:flex;position:absolute;inset:0}.flyer h1,.flyer h2,.flyer h3,.flyer p,.flyer span,.flyer div{margin:0;padding:0}.flyer-svg-graphic{flex-shrink:0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.f-event{background-color:var(--bg-primary);color:var(--text-primary);text-align:center;justify-content:space-between;align-items:center;padding:1.8rem 1.6rem}.f-event:before{content:"";border:1px solid var(--text-primary);opacity:.12;pointer-events:none;position:absolute;inset:.75rem}.f-event-stars{opacity:.7;justify-content:center;align-items:center;gap:.4rem;margin-top:.5rem;display:flex}.f-accent-icon{width:12px;height:12px}.f-event-stars .dot{opacity:.5;color:var(--secondary-color);font-size:.35rem}.f-inline-divider{opacity:.15;width:80px;height:8px;margin:.3rem 0}.f-event-body{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:0 .5rem;display:flex}.f-event-date{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;opacity:.4;font-size:.5rem}.f-event-title{font-family:var(--font-display);font-size:clamp(1.4rem,3.5vw,2rem);font-weight:400;line-height:1.12}.f-event-title em{color:var(--accent-color);font-style:italic}.f-event-venue{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;opacity:.4;margin-top:.2rem;font-size:.5rem}.f-event-cta{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;opacity:.35;align-items:center;gap:.6rem;font-size:.5rem;display:flex}.f-event-cta:before,.f-event-cta:after{content:"—";font-size:.6rem}.f-quote{background-color:var(--bg-primary);color:var(--text-primary);text-align:center;justify-content:center;align-items:center;padding:2rem 1.8rem}.f-quote:before{content:"";border:1px solid var(--text-primary);opacity:.12;pointer-events:none;position:absolute;inset:.75rem}.f-corner{opacity:.35;z-index:1;width:44px;height:44px;position:absolute}.f-corner-tl{top:1.1rem;left:1.1rem}.f-corner-tr{top:1.1rem;right:1.1rem;transform:rotate(90deg)}.f-corner-bl{bottom:1.1rem;left:1.1rem;transform:rotate(-90deg)}.f-corner-br{bottom:1.1rem;right:1.1rem;transform:rotate(180deg)}.f-quote-body{flex-direction:column;align-items:center;gap:1.8rem;max-width:85%;margin-top:15%;display:flex}.f-quote-text{font-family:var(--font-display);font-size:clamp(1.1rem,2.8vw,1.5rem);font-style:italic;font-weight:400;line-height:1.35}.f-quote-attr{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;opacity:.35;align-items:center;gap:.5rem;font-size:.45rem;display:flex}.f-quote-attr:before{content:"—";font-size:.55rem}.f-profile{background-color:var(--text-primary);color:var(--bg-primary);padding:10px}.f-profile-inner{box-sizing:border-box;border:1px solid var(--accent-color);opacity:1;flex-direction:column;width:100%;height:100%;display:flex}.f-portrait-box{box-sizing:border-box;border-bottom:1px solid var(--accent-color);background:repeating-linear-gradient(-45deg,#0000,#0000 7px,#ffffff06 7px 8px);flex-shrink:0;justify-content:flex-start;align-items:flex-end;height:62%;padding:.7rem .9rem;display:flex;position:relative;overflow:hidden}.f-portrait-pattern{opacity:.04;position:absolute;inset:0;-webkit-mask-size:cover;mask-size:cover}.f-portrait-label{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;opacity:.35;z-index:1;font-size:.45rem;position:relative}.f-profile-text{flex-direction:column;flex:1;justify-content:flex-end;gap:.3rem;padding:.9rem 1rem 1.1rem;display:flex}.f-profile-name{font-family:var(--font-display);margin-bottom:.15rem;font-size:clamp(1.4rem,3.5vw,2rem);font-weight:400;line-height:1.12}.f-profile-name em{color:var(--accent-color);font-style:italic;display:block}.f-profile-divider{opacity:.35;width:50px;height:5px;margin:.1rem 0;-webkit-mask-position:0;mask-position:0}.f-profile-tags{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--accent-color);margin-top:.1rem;font-size:.42rem}.f-schedule{background-color:var(--bg-primary);color:var(--text-primary);justify-content:space-between;padding:2rem 1.6rem}.f-schedule:before{content:"";border:1px solid var(--text-primary);opacity:.12;pointer-events:none;position:absolute;inset:.75rem}.f-sched-header{text-align:center;padding-bottom:.8rem;position:relative}.f-sched-title{font-family:var(--font-display);text-align:center;font-size:clamp(1.3rem,3.2vw,1.7rem);font-weight:400;line-height:1.12}.f-sched-title em{color:var(--accent-color);font-style:italic}.f-sched-flow{opacity:.15;width:60%;height:10px;margin:.6rem auto 0}.f-sched-list{border-top:1px solid #00000014;flex-direction:column;flex:1;justify-content:center;display:flex}.f-sched-row{border-bottom:1px solid #00000014;align-items:baseline;padding:.5rem 0;display:flex}.f-sched-day{width:2.4rem;font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;opacity:.4;flex-shrink:0;font-size:.45rem}.f-sched-name{font-family:var(--font-body);flex:1;padding:0 .5rem;font-size:.7rem}.f-sched-time{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;opacity:.4;text-align:right;font-size:.45rem}.f-sched-footer{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;text-align:center;opacity:.45;color:var(--accent-color);justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;font-size:.45rem;display:flex}.f-sched-accent{width:8px;height:8px}.f-atmosphere{background-color:var(--text-primary);color:var(--bg-primary);justify-content:flex-end;padding:2rem 1.6rem}.f-atmo-pattern{opacity:.06;position:absolute;inset:0;-webkit-mask-size:cover;mask-size:cover}.f-gradient-overlay{pointer-events:none;background:linear-gradient(to bottom, var(--text-primary) 0%, transparent 30%, transparent 60%, var(--text-primary) 100%);position:absolute;inset:0}.f-atmo-text{z-index:1;flex-direction:column;gap:.4rem;display:flex;position:relative}.f-atmo-motif{opacity:.6;width:18px;height:18px;margin-bottom:.4rem}.f-atmo-eyebrow{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--accent-color);font-size:.45rem}.f-atmo-headline{font-family:var(--font-display);font-size:clamp(1.4rem,3.5vw,2rem);font-weight:400;line-height:1.12}.f-statement{background-color:var(--accent-color);color:var(--bg-primary);padding:2rem 1.6rem}.f-stmt-frame{opacity:.12;position:absolute;inset:.6rem}.f-stmt-inner{z-index:1;flex-direction:column;justify-content:space-between;height:100%;display:flex;position:relative}.f-stmt-top{justify-content:space-between;align-items:flex-start;display:flex}.f-stmt-meta{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;opacity:.5;font-size:.42rem}.f-stmt-motif{opacity:.4;width:16px;height:16px}.f-stmt-bottom{flex-direction:column;gap:.8rem;display:flex}.f-stmt-headline{font-family:var(--font-display);font-size:clamp(1.5rem,3.8vw,2.2rem);font-style:italic;font-weight:400;line-height:1.1}.f-stmt-divider{opacity:.3;width:50px;height:6px;-webkit-mask-position:0;mask-position:0}.app-container{flex-direction:column;gap:2.5rem;width:100%;max-width:1400px;margin:0 auto;padding:2rem;display:flex}.app-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:1.5rem;display:flex}.brand-title{font-size:1.75rem;font-weight:700;font-family:var(--font-display,var(--font-sans));letter-spacing:-.02em;background:linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.header-actions{align-items:center;gap:.75rem;display:flex}.back-button{border:1px solid var(--border-color);color:var(--text-secondary);transition:var(--transition-fast);cursor:pointer;background:#ffffff0d;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;display:flex}.back-button:hover{background:var(--secondary-color);color:var(--bg-primary);border-color:var(--primary-color);transform:translateY(-1px)}.back-button svg{align-items:center;display:flex}.export-button{background:var(--accent-color);color:#fff;transition:var(--transition-fast);cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600}.export-button:hover{filter:brightness(1.1);box-shadow:var(--shadow-md);transform:translateY(-1px)}.preset-section{flex-direction:column;gap:1rem;display:flex}.section-title{font-size:1.1rem;font-family:var(--font-body,var(--font-sans));color:var(--text-secondary);font-weight:500}.preset-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;display:grid}.preset-card{cursor:pointer;transition:var(--transition-normal);background:var(--bg-card);text-align:center;border:1px solid var(--border-color);border-radius:12px;justify-content:center;align-items:center;width:100%;min-width:0;padding:2.5rem 1.5rem;display:flex}.preset-card:hover{box-shadow:var(--shadow-lg);background:#ffffff0a;border-color:#fff3;transform:translateY(-4px)}.preset-card.active{border-color:var(--primary-color);background:var(--bg-primary);box-shadow:0 0 0 1px var(--primary-color)}.preset-label{color:var(--text-primary);text-align:center;font-size:1.5rem;line-height:1.2}.palette-container{flex-direction:column;gap:3rem;width:100%;display:flex}.palette-cards-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1.5rem;display:grid}.palette-instructions-container{flex-direction:column;align-items:center;gap:1rem;display:flex}.palette-instructions{text-align:center;font-size:.9rem;font-family:var(--font-body,var(--font-sans));color:var(--text-muted)}.mobile-text,.shuffle-button-bottom{display:none}.color-card{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;border-radius:4px;flex-direction:column;width:100%;min-width:0;height:420px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.color-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-color-block{flex:1;justify-content:center;align-items:center;display:flex;position:relative}.cycle-hint{opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border-radius:50%;padding:1rem;transition:opacity .2s}.color-card:hover .cycle-hint{opacity:1}.card-details{background:var(--bg-card);flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.card-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;padding-bottom:1rem;display:flex}.card-role{font-size:1.25rem;font-family:var(--font-display,"Outfit", sans-serif);color:var(--text-primary);text-transform:capitalize;letter-spacing:.02em;font-weight:300}.card-lock-button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:color .2s;display:flex}.card-lock-button:hover{color:var(--text-primary)}.card-specs{flex-direction:column;gap:.5rem;display:flex}.spec-row{justify-content:space-between;align-items:center;display:flex}.spec-label{font-size:.65rem;font-family:var(--font-body,var(--font-sans));color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.spec-value{font-size:.8rem;font-family:var(--font-body,monospace);color:var(--text-secondary)}.ratio-section{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.ratio-title{font-size:.75rem;font-family:var(--font-body,var(--font-sans));color:var(--text-muted);text-transform:uppercase;letter-spacing:.2em;font-weight:500}.ratio-bar{border-radius:4px;height:48px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #0000000d}.ratio-segment{justify-content:center;align-items:center;transition:width .3s;display:flex;overflow:hidden}.ratio-label{font-size:.65rem;font-family:var(--font-body,var(--font-sans));text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;opacity:.9;font-weight:600}@media (width<=1024px){.palette-cards-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (width<=768px){.app-container{padding:1rem}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.preset-card{padding:1.25rem .5rem}.preset-label{font-size:1.1rem}.palette-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.color-card{flex-direction:column;height:200px}.card-color-block{flex:1}.card-details{border-left:none;border-top:1px solid var(--border-color);flex:none;gap:.5rem;padding:.75rem}.card-header{padding-bottom:.5rem}.card-role{font-size:.95rem}.spec-label{font-size:.55rem}.spec-value{font-size:.7rem}.desktop-text{display:none}.mobile-text{display:inline}.shuffle-button-bottom{display:flex}.ratio-bar{flex-direction:column;height:200px}.ratio-segment{height:var(--segment-height,20%);width:100%!important}.app-header{flex-direction:column;align-items:flex-start;gap:1rem;padding-bottom:1rem}.header-actions{gap:.5rem;width:100%;display:flex}.back-button,.export-button{flex:1;justify-content:center;padding:.65rem 1rem;font-size:.85rem}}.palette-section{flex-direction:column;gap:1.5rem;padding-bottom:8rem;scroll-margin-top:3rem;display:flex}.palette-header{justify-content:space-between;align-items:center;margin-bottom:-.5rem;display:flex}.vibe-title{font-size:1.25rem;font-weight:500;font-family:var(--font-body,var(--font-sans));color:var(--text-secondary)}.vibe-name{color:var(--text-primary);background:linear-gradient(135deg, var(--secondary-color) 0%, var(--primary-color) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-weight:700}.cycle-all-button{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;transition:var(--transition-fast);border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:flex}.cycle-all-button:hover{background:var(--secondary-color);color:var(--bg-primary);border-color:var(--primary-color);transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.35s cubic-bezier(.16,1,.3,1) forwards fadeIn}.section-lock-controls{align-items:center;gap:.5rem;display:flex}.lock-control-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:var(--transition-fast);border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.75rem;font-weight:500;display:flex}.lock-control-btn:hover{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.lock-control-btn svg{stroke-width:2px;align-items:center;display:flex}@media (width<=768px){.typography-header-row,.graphic-header-row{flex-direction:column;align-items:flex-start;gap:1.5rem}}.reset-warning-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;background:#000000b3;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.reset-warning-modal{background:var(--bg-card,#1c1c1e);border:1px solid var(--border-color,#ffffff1a);border-radius:16px;flex-direction:column;gap:1.25rem;width:90%;max-width:420px;padding:2rem;animation:.3s cubic-bezier(.16,1,.3,1) scaleUp;display:flex;box-shadow:0 20px 40px #00000080}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.reset-warning-modal .modal-title{font-size:1.5rem;font-family:var(--font-display,serif);color:var(--text-primary,#fff);margin:0;font-weight:700}.reset-warning-modal .modal-text{font-size:.95rem;font-family:var(--font-body,sans-serif);color:var(--text-secondary,#a3a3a3);margin:0;line-height:1.5}.reset-warning-modal .modal-actions{gap:1rem;margin-top:.5rem;display:flex}.reset-warning-modal .modal-btn{cursor:pointer;border-radius:8px;flex:1;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s}.reset-warning-modal .cancel-btn{border:1px solid var(--border-color,#ffffff26);color:var(--text-primary,#fff);background:0 0}.reset-warning-modal .cancel-btn:hover{background:#ffffff0d;border-color:#ffffff4d}.reset-warning-modal .confirm-btn{background:var(--accent-color,#e94560);color:#fff;border:1px solid #0000}.reset-warning-modal .confirm-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}
