:root{--tf-bg:oklch(98% 0.02 90);--tf-surface:oklch(96% 0.03 90);--tf-text:oklch(15% 0.02 90);--tf-muted:oklch(55% 0.02 90);--tf-primary:oklch(70% 0.15 200);--tf-accent:oklch(70% 0.15 200);--tf-primaryText:oklch(98% 0.02 90);--bg:var(--tf-bg);--surface:var(--tf-surface);--text:var(--tf-text);--accent:var(--tf-primary)}html{scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(1200px circle at 20% 20%,oklch(99% .03 90),transparent 60%),radial-gradient(900px circle at 80% 10%,oklch(98% .04 120),transparent 55%),var(--bg);color:var(--text);font-family:var(--font-sans),"IBM Plex Sans",sans-serif}.main{padding:32px 24px 64px}.header{justify-content:space-between;gap:16px;padding:24px}.header,.logo-group{display:flex;align-items:center}.logo-group{gap:12px}.logo{font-family:var(--font-display),"Space Grotesk",sans-serif;font-size:20px;letter-spacing:-.02em;font-weight:600;text-decoration:none;color:inherit}.logo-pill{font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding:4px 8px;border-radius:999px;background:color-mix(in oklch,var(--surface),#000 10%)}.nav{display:flex;gap:16px;font-size:13px}.nav a{color:inherit;text-decoration:none;opacity:.7}.nav a:hover{opacity:1}.header-actions{display:flex;gap:12px}.nav-cta{display:inline-flex;align-items:center;border:1px solid color-mix(in oklch,var(--surface),#000 12%);border-radius:999px;padding:6px 14px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;color:inherit}.frame{max-width:1600px;margin:0 auto;padding:0 16px}.section{background:color-mix(in oklch,var(--surface),#fff 40%);border:1px solid color-mix(in oklch,var(--surface),#000 10%);border-radius:20px;padding:32px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.section-header{margin-bottom:24px}.section-title{margin:0 0 8px;font-size:32px;font-family:var(--font-display),"Space Grotesk",sans-serif;letter-spacing:-.02em}.section-subtitle{margin:0;opacity:.7;line-height:1.6;max-width:620px}.section-body{display:block}.page{display:grid;grid-gap:48px;gap:48px}.legal-page{max-width:980px;margin:0 auto;gap:32px}.legal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:20px 24px;border-radius:18px;background:linear-gradient(135deg,color-mix(in oklch,var(--surface),#fff 35%),color-mix(in oklch,var(--surface),#fff 12%));border:1px solid color-mix(in oklch,var(--surface),#000 10%)}.legal-eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.6;margin:0 0 8px}.legal-title{margin:0;font-size:34px;line-height:1.15}.legal-meta{display:grid;grid-gap:8px;gap:8px;font-size:12px;text-align:right;opacity:.7}.legal-updated{display:block}.legal-draft{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;border:1px solid color-mix(in oklch,var(--surface),#000 12%);background:color-mix(in oklch,var(--surface),#fff 35%);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.legal-intro{margin:0;font-size:15px;line-height:1.7;opacity:.8}.legal-sections{display:grid;grid-gap:24px;gap:24px}.legal-section{padding:20px 22px;border-radius:16px;border:1px solid color-mix(in oklch,var(--surface),#000 10%);background:var(--surface);display:grid;grid-gap:12px;gap:12px}.legal-section h2{margin:0;font-size:18px}.legal-section p{margin:0;line-height:1.65;opacity:.85}.legal-section ul{margin:0;padding-left:18px;display:grid;grid-gap:6px;gap:6px;opacity:.85}.hero{position:relative;display:grid;grid-gap:32px;gap:32px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);padding:32px;border-radius:28px;background:linear-gradient(140deg,color-mix(in oklch,var(--surface),#fff 40%),color-mix(in oklch,var(--surface),#fff 15%));border:1px solid color-mix(in oklch,var(--surface),#000 8%);overflow:hidden}.hero:after{content:"";position:absolute;inset:-20% -10% auto auto;width:240px;height:240px;background:radial-gradient(circle,color-mix(in oklch,var(--accent),#fff 40%),transparent 70%);opacity:.7}.hero-copy{position:relative;z-index:1;display:grid;grid-gap:16px;gap:16px}.eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;opacity:.7}.eyebrow-with-icon{display:inline-flex;align-items:center;gap:8px}.eyebrow-icon{width:16px;height:16px;flex-shrink:0;transform:translateY(-.5px);opacity:.9}.hero-title{font-family:var(--font-display),"Space Grotesk",sans-serif;font-size:44px;margin:0;line-height:1.1}.hero-text{margin:0;font-size:16px;line-height:1.6;opacity:.8}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{border-radius:999px;padding:10px 18px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:none}.btn-primary{background:var(--accent);color:oklch(98% .02 90);border:none}.btn-ghost{border:1px solid color-mix(in oklch,var(--surface),#000 15%);color:inherit}.hero-note{font-size:12px;letter-spacing:.04em;opacity:.6}.hero-card{position:relative;z-index:1;background:color-mix(in oklch,var(--surface),#fff 35%);border-radius:20px;padding:20px;display:grid;grid-gap:16px;gap:16px;border:1px solid color-mix(in oklch,var(--surface),#000 8%);box-shadow:0 18px 30px color-mix(in oklch,var(--text),transparent 88%)}.hero-card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;letter-spacing:.1em;opacity:.7}.hero-card-header,.hero-score{font-size:12px;text-transform:uppercase}.hero-score{font-weight:600;letter-spacing:.12em}.hero-swatches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.hero-swatch{height:70px;border-radius:14px;border:1px solid color-mix(in oklch,var(--surface),#000 10%)}.hero-stats{display:flex;justify-content:space-between;gap:12px;font-size:12px}.hero-stat{display:grid;grid-gap:4px;gap:4px}.hero-stat strong{font-size:18px;font-weight:600}.highlights,.highlights-grid{display:grid;grid-gap:16px;gap:16px}.highlights-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.highlight-card{border-radius:18px;padding:20px;background:color-mix(in oklch,var(--surface),#fff 35%);border:1px solid color-mix(in oklch,var(--surface),#000 8%);display:grid;grid-gap:8px;gap:8px}.highlight-title{font-weight:600}.highlight-body{margin:0;font-size:13px;opacity:.75;line-height:1.6}.steps,.steps-grid{display:grid;grid-gap:16px;gap:16px}.steps-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.step-card{border-radius:18px;padding:20px;background:color-mix(in oklch,var(--surface),#fff 40%);border:1px solid color-mix(in oklch,var(--surface),#000 8%);display:grid;grid-gap:10px;gap:10px}.step-number{font-size:12px;text-transform:uppercase;letter-spacing:.18em;opacity:.6}.step-title{font-weight:600}.step-body{margin:0;font-size:13px;opacity:.75;line-height:1.6}.pricing,.pricing-grid{display:grid;grid-gap:16px;gap:16px}.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-card{border-radius:20px;padding:24px;background:color-mix(in oklch,var(--surface),#fff 40%);border:1px solid color-mix(in oklch,var(--surface),#000 8%);display:grid;grid-gap:12px;gap:12px}.pricing-card.pro{border-color:color-mix(in oklch,var(--accent),#fff 20%);box-shadow:0 18px 30px color-mix(in oklch,var(--accent),transparent 80%)}.pricing-price,.pricing-title{font-weight:600}.pricing-price{font-size:20px}.pricing-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px;font-size:13px;opacity:.75}.pricing-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;opacity:.7}.cta-block{border-radius:20px;padding:24px;background:linear-gradient(120deg,color-mix(in oklch,var(--surface),#fff 45%),color-mix(in oklch,var(--surface),#fff 20%));border:1px solid color-mix(in oklch,var(--surface),#000 8%);display:grid;grid-gap:12px;gap:12px}.reveal{animation:fade-up .6s ease both}.delay-1{animation-delay:.08s}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.field-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:300px 1fr 320px 280px;max-width:100%;margin:0 auto;padding:0;align-items:start}.panel{background:var(--surface);border-radius:16px;padding:16px;border:1px solid color-mix(in oklch,var(--surface),#000 12%);min-height:160px;display:flex;flex-direction:column;gap:12px}.field-grid>div,.panel{min-width:0}.export-pre{max-width:100%;overflow:auto}.panel-title{font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.6;margin-bottom:-4px}.collapsible-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.collapsible-label{letter-spacing:.1em;opacity:.6}.collapsible-label,.collapsible-toggle{font-size:11px;text-transform:uppercase}.collapsible-toggle{border:1px solid color-mix(in oklch,var(--surface),#000 12%);border-radius:999px;padding:4px 12px;letter-spacing:.08em;background:transparent;cursor:pointer}.collapsible{max-height:0;overflow:hidden;opacity:0;transition:max-height .35s ease,opacity .2s ease}.collapsible-open{max-height:4000px;opacity:1}.collapsible-content{padding-top:16px}.advanced-section,.collapsible-content{display:grid;grid-gap:16px;gap:16px}.advanced-toggles{display:grid;grid-gap:12px;gap:12px;padding:16px;background:color-mix(in oklch,var(--surface),#fff 50%);border-radius:12px;border:1px solid color-mix(in oklch,var(--surface),#000 8%)}.advanced-toggle{display:flex;align-items:center;gap:12px;cursor:pointer}.advanced-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.advanced-toggle-label{font-size:13px;font-weight:500;color:var(--text)}.advanced-toggle-desc{font-size:11px;opacity:.6;margin-left:30px;margin-top:2px}.advanced-slider{padding:12px 16px;background:color-mix(in oklch,var(--surface),#fff 50%);border-radius:10px;border:1px solid color-mix(in oklch,var(--surface),#000 8%)}.advanced-slider-label{font-size:12px;font-weight:600;color:var(--text);margin-bottom:8px;display:block}.advanced-slider input[type=range]{width:100%;height:6px;border-radius:3px;accent-color:var(--accent)}.field-block{display:grid;grid-gap:16px;gap:16px}.field-block-hero{position:relative;overflow:hidden;border-radius:18px}.field-block-hero:before{content:"";position:absolute;inset:-20% -10%;background:radial-gradient(260px circle at 15% 10%,color-mix(in oklch,var(--tf-primary,var(--accent)),#fff 35%),transparent 70%),radial-gradient(300px circle at 85% 80%,color-mix(in oklch,var(--tf-accent,var(--accent)),#fff 30%),transparent 72%);opacity:.35;pointer-events:none}.field-block-hero>*{position:relative;z-index:1}.field-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.field-heading{display:grid;grid-gap:4px;gap:4px}.field-title{font-weight:600}.field-mood{letter-spacing:.18em;opacity:.7}.field-mood,.field-values{font-size:11px;text-transform:uppercase}.field-values{display:flex;gap:12px;letter-spacing:.12em;opacity:.6}.field-canvas{position:relative;height:180px;border-radius:18px;border:1px solid color-mix(in oklch,var(--surface),#000 10%);overflow:hidden;touch-action:none;transition:background .35s ease,box-shadow .35s ease}.field-dot{position:absolute;width:16px;height:16px;border-radius:999px;background:color-mix(in oklch,var(--text),#fff 20%);border:2px solid color-mix(in oklch,var(--surface),#fff 60%);transform:translate(-50%,-50%);box-shadow:0 6px 14px color-mix(in oklch,var(--text),transparent 80%);transition:top .14s ease,left .14s ease,box-shadow .2s ease}.field-axis-label{position:absolute;font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.65;padding:4px 8px;border-radius:999px;background:color-mix(in oklch,#fff 75%,transparent);color:var(--text)}.field-axis-top{top:10px}.field-axis-bottom,.field-axis-top{left:50%;transform:translateX(-50%)}.field-axis-bottom{bottom:10px}.field-axis-left{left:10px;top:50%;transform:translateY(-50%)}.field-axis-right{right:10px;top:50%;transform:translateY(-50%)}.field-spectrum-indicator{position:absolute;top:50%;left:50%;width:90%;height:90%;transform:translate(-50%,-50%);pointer-events:none;z-index:1}.field-spectrum-wheel{width:100%;height:100%}.field-spectrum-active .field-dot{z-index:2}.variation-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.variation-swatch{position:relative;border:none;border-radius:12px;cursor:pointer;height:40px;overflow:hidden;padding:0;width:100%;transition:transform .18s ease,box-shadow .18s ease}.variation-swatch:focus-visible,.variation-swatch:hover{transform:translateY(-2px);box-shadow:0 10px 18px color-mix(in oklch,var(--text),transparent 86%)}.variation-label{position:absolute;bottom:8px;left:8px;font-size:10px;padding:2px 8px;border-radius:999px;background:color-mix(in oklch,#fff 70%,transparent);color:var(--text)}.controls{display:grid;grid-gap:20px;gap:20px}.panel button:focus-visible,.panel input:focus-visible,.panel select:focus-visible,.panel textarea:focus-visible{outline:2px solid color-mix(in oklch,var(--accent),#fff 35%);outline-offset:2px}.controls-toolbar{display:grid;grid-gap:12px;gap:12px;padding:12px;border-radius:14px;background:color-mix(in oklch,var(--surface),#fff 30%)}.shuffle-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;border:none;border-radius:999px;padding:8px 14px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;background:var(--accent);color:oklch(98% .02 90);cursor:pointer}.key-hint{font-size:10px;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.15);color:rgba(0,0,0,.7)}.seed-field{display:grid;grid-gap:6px;gap:6px}.seed-label{font-size:11px;text-transform:uppercase;letter-spacing:.16em;opacity:.65}.seed-input{border:1px solid color-mix(in oklch,var(--surface),#000 12%);border-radius:999px;padding:6px 12px;font-size:12px;background:transparent;color:var(--text)}.seed-hint{font-size:12px;opacity:.6}.preset-block{display:grid;grid-gap:12px;gap:12px}.preset-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.1em;opacity:.6}.preset-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.preset-btn{border:1px solid color-mix(in oklch,var(--surface),#000 12%);border-radius:12px;padding:8px;background:transparent;cursor:pointer;display:grid;grid-gap:6px;gap:6px;text-align:left}.preset-active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in oklch,var(--accent),#fff 50%)}.preset-swatch{height:38px;border-radius:10px;display:block}.preset-name{font-size:12px;font-weight:600}.preset-values{font-size:11px;opacity:.6}.import-block{display:grid;grid-gap:14px;gap:14px;padding:16px;background:color-mix(in oklch,var(--surface),#fff 50%);border-radius:12px;border:1px solid color-mix(in oklch,var(--surface),#000 8%)}.import-input{font-size:13px;padding:10px 14px;border:1px dashed color-mix(in oklch,var(--surface),#000 20%);border-radius:8px;background:color-mix(in oklch,var(--surface),#fff 70%);cursor:pointer;transition:border-color .2s,background .2s}.import-input:hover{border-color:var(--accent);background:color-mix(in oklch,var(--surface),#fff 90%)}.import-input::-webkit-file-upload-button{padding:6px 12px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:12px;font-weight:500;cursor:pointer;margin-right:12px}.import-input::file-selector-button{padding:6px 12px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:12px;font-weight:500;cursor:pointer;margin-right:12px}.import-preview{border-radius:10px;border:1px solid color-mix(in oklch,var(--surface),#000 10%);background:color-mix(in oklch,var(--surface),#fff 70%);height:160px;overflow:hidden;display:grid;place-items:center;position:relative}.import-preview img{width:100%;height:100%;object-fit:contain;display:block}.import-placeholder{font-size:12px;opacity:.5;text-align:center;padding:20px}.import-status{opacity:.7;text-align:center;background:color-mix(in oklch,var(--accent),#fff 80%)}.import-error,.import-status{font-size:12px;padding:8px;border-radius:6px}.import-error{color:oklch(45% .18 30);background:oklch(95% .05 30)}.import-results{display:grid;grid-gap:12px;gap:12px}.import-swatches{display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(6,1fr)}.import-swatch{border-radius:8px;height:36px;border:1px solid color-mix(in oklch,var(--surface),#000 10%);transition:transform .15s}.import-swatch:hover{transform:scale(1.05)}.import-apply{border:none;border-radius:8px;padding:10px 16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:var(--accent);color:#fff;cursor:pointer;transition:background .2s,transform .15s}.import-apply:hover{background:color-mix(in oklch,var(--accent),#000 10%);transform:translateY(-1px)}.lock-summary{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;opacity:.75}.lock-clear{border:none;border-radius:999px;padding:6px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:color-mix(in oklch,var(--surface),#000 10%);cursor:pointer}.slider{display:grid;grid-gap:10px;gap:10px}.slider-disabled{opacity:.5;pointer-events:none}.slider-disabled .slider-input{cursor:not-allowed}.slider-header{display:flex;justify-content:space-between;gap:16px}.slider-label{font-weight:600}.slider-description{font-size:12px;opacity:.6;margin-top:4px}.slider-value{font-size:18px;font-weight:600}.slider-input{width:100%;accent-color:var(--accent)}.slider-scale{display:flex;justify-content:space-between;font-size:12px;opacity:.6}.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.pair-compact .swatch{min-height:80px}.swatch{border-radius:16px;padding:16px;min-height:200px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.swatch-label{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:color-mix(in oklch,#fff 85%,var(--text))}.swatch-value{font-size:13px;padding:8px 12px;border-radius:999px;background:color-mix(in oklch,#fff 75%,var(--surface));color:var(--text);align-self:flex-start}.palette-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.palette-grid-responsive{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,1fr);width:100%}@media (min-width:600px){.palette-grid-responsive{grid-template-columns:repeat(2,1fr)}}.palette-value-btn{display:block;background:none;border:none;padding:2px 6px;margin:2px 0;border-radius:4px;font-size:11px;font-family:inherit;color:inherit;cursor:pointer;opacity:.85;transition:background .15s,opacity .15s;text-align:left}.palette-value-btn:hover{background:hsla(0,0%,100%,.25);opacity:1}.palette-value-btn:active{background:hsla(0,0%,100%,.4)}.palette-groups{display:grid;grid-gap:24px;gap:24px}.palette-group{display:grid;grid-gap:12px;gap:12px}.palette-group-title{font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.65}.palette-roles-with-tonal{display:grid;grid-gap:16px;gap:16px}.palette-role-container{display:grid;grid-gap:8px;gap:8px}.tonal-ramp-container{padding:8px;background:color-mix(in oklch,var(--surface),transparent 60%);border-radius:8px}.tonal-ramp-container.tonal-locked{opacity:.5;pointer-events:none}.tonal-ramp{display:flex;gap:2px;margin-bottom:6px}.tonal-swatch{flex:1 1;height:20px;border:none;border-radius:3px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;position:relative}.tonal-swatch:hover:not(:disabled){transform:scaleY(1.4);z-index:1}.tonal-swatch.tonal-selected{transform:scaleY(1.5);z-index:2;box-shadow:0 0 0 2px var(--accent,#6366f1),0 2px 8px rgba(0,0,0,.3)}.tonal-swatch:disabled{cursor:not-allowed}.tonal-slider-row{display:flex;align-items:center;gap:8px}.tonal-slider{flex:1 1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:hsla(0,0%,100%,.2);border-radius:2px;cursor:pointer}.tonal-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent,#6366f1);cursor:pointer;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3)}.tonal-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent,#6366f1);cursor:pointer;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3)}.tonal-value{font-size:11px;font-weight:600;min-width:28px;text-align:right;opacity:.8}.md3-roles-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.md3-role-card{padding:12px;border-radius:12px;border:1px solid color-mix(in oklch,var(--surface),#000 10%);background:color-mix(in oklch,var(--surface),#fff 65%);display:grid;grid-gap:10px;gap:10px}.md3-role-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.md3-role-title{font-size:13px;font-weight:600}.md3-role-description{font-size:11px;opacity:.65}.md3-role-tone{font-size:11px;font-weight:600;padding:4px 8px;border-radius:999px;background:color-mix(in oklch,var(--surface),#000 8%)}.md3-role-swatch{min-height:80px}.md3-role-locked{border-color:color-mix(in oklch,var(--accent),transparent 50%);background:color-mix(in oklch,var(--surface),var(--accent) 5%)}.md3-role-locked .md3-role-tone{background:color-mix(in oklch,var(--accent),transparent 70%)}.palette-locked{position:relative;filter:grayscale(.3)}.locked-pill{top:12px;right:12px;border-radius:999px}.lock-btn,.locked-pill{position:absolute;font-size:10px;padding:4px 10px;text-transform:uppercase;letter-spacing:.12em;background:color-mix(in oklch,var(--surface),#000 10%);color:var(--text)}.lock-btn{bottom:10px;right:10px;border:none;border-radius:999px;cursor:pointer}.md3-copy-btn{left:10px;right:auto}.lock-btn.is-locked{background:color-mix(in oklch,var(--accent),#fff 20%);color:oklch(20% .02 90)}.palette-preview{display:grid;grid-gap:12px;gap:12px}.preview-tabs{display:flex;gap:8px}.preview-tab{flex:1 1;border:1px solid color-mix(in oklch,var(--surface),#000 15%);border-radius:999px;padding:8px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;background:transparent;cursor:pointer}.preview-tab-active{border-color:var(--accent);background:var(--accent);color:oklch(98% .02 90)}.ui-preview{position:relative;border-radius:16px;padding:16px;transition:background .3s ease,color .3s ease}.preview-locked{filter:saturate(.8)}.upgrade-btn{border:none;border-radius:999px;padding:10px 18px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;background:var(--accent);color:oklch(98% .02 90);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.upgrade-btn:focus-visible,.upgrade-btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px color-mix(in oklch,var(--accent),transparent 70%)}.preview-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:10px 12px;border-radius:12px;font-size:12px;background:color-mix(in oklch,var(--surface),#fff 35%);border:1px solid color-mix(in oklch,var(--surface),#000 10%)}.ui-card{border-radius:14px;padding:16px;display:grid;grid-gap:10px;gap:10px;box-shadow:0 12px 20px color-mix(in oklch,var(--text),transparent 90%);transition:transform .22s ease,box-shadow .22s ease}.ui-card:hover{transform:translateY(-2px);box-shadow:0 16px 28px color-mix(in oklch,var(--text),transparent 86%)}.ui-chip{font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border-radius:999px;width:-moz-fit-content;width:fit-content}.ui-title{margin:0;font-size:18px}.ui-body{margin:0;font-size:13px;opacity:.8}.ui-actions{display:flex;gap:10px;flex-wrap:wrap}.ui-btn{border:none;border-radius:999px;padding:8px 16px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;background:transparent;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.ui-btn:focus-visible,.ui-btn:hover{transform:translateY(-1px);box-shadow:0 10px 18px color-mix(in oklch,var(--text),transparent 88%)}.ui-ghost{border:1px solid}.ui-preview-md3{padding:0;overflow:hidden;min-height:380px;position:relative}.md3-preview-header{padding:12px 16px;border-bottom:1px solid color-mix(in oklch,currentColor,transparent 90%)}.md3-preview-nav{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:16px}.md3-preview-icons{display:flex;gap:16px;font-size:12px;opacity:.7}.md3-icon{text-transform:uppercase;letter-spacing:.05em}.md3-preview-content{padding:16px;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.md3-card{border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px;transition:transform .18s ease,box-shadow .18s ease}.md3-card:hover{transform:translateY(-2px)}.md3-card-filled{box-shadow:0 2px 8px color-mix(in oklch,currentColor,transparent 85%)}.md3-card-outlined{border:1px solid;grid-column:span 3}.md3-card-error{grid-column:span 3}.md3-card-label{font-weight:600;font-size:12px}.md3-card-desc{font-size:11px;opacity:.8}.md3-card-body{font-size:12px;margin:4px 0 8px;line-height:1.4}.md3-chips{display:flex;gap:8px;flex-wrap:wrap}.md3-chip{font-size:11px;padding:4px 10px;border-radius:8px;font-weight:500}.md3-chip-outlined{background:transparent;border:1px solid}.md3-buttons{grid-column:span 3;display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:8px 0}.md3-btn{border:none;border-radius:20px;padding:8px 16px;font-size:12px;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.md3-btn:hover{transform:translateY(-1px)}.md3-btn-filled{box-shadow:0 2px 8px color-mix(in oklch,currentColor,transparent 70%)}.md3-btn-filled:hover{box-shadow:0 4px 12px color-mix(in oklch,currentColor,transparent 60%)}.md3-btn-tonal{box-shadow:none}.md3-btn-tonal:hover{opacity:.9}.md3-btn-outlined{border:1px solid}.md3-btn-outlined,.md3-btn-text{background:transparent}.md3-btn-text:hover{background:color-mix(in oklch,currentColor,transparent 92%)}.md3-fab{position:absolute;bottom:16px;right:16px;width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:300;box-shadow:0 4px 12px color-mix(in oklch,currentColor,transparent 70%);transition:transform .18s ease,box-shadow .18s ease}.md3-fab:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 20px color-mix(in oklch,currentColor,transparent 60%)}.palette-swatch{position:relative;border-radius:12px;padding:10px;min-height:75px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .18s ease,box-shadow .18s ease}.palette-swatch:hover{transform:translateY(-2px);box-shadow:0 12px 22px color-mix(in oklch,var(--text),transparent 88%)}.palette-user-locked{box-shadow:0 0 0 2px color-mix(in oklch,var(--accent),#fff 40%)}.palette-role{font-size:11px;text-transform:uppercase;letter-spacing:.14em;opacity:.7}.palette-value{font-size:12px;padding:6px 10px;border-radius:999px;background:color-mix(in oklch,#fff 70%,transparent);width:-moz-fit-content;width:fit-content}.metrics{display:grid;grid-gap:12px;gap:12px}.metric{display:flex;justify-content:space-between;font-size:13px;opacity:.8}.metric-label{position:relative;cursor:help}.metric-label:after{content:attr(data-tooltip);left:0;bottom:100%;transform:translateY(-6px);color:var(--text);padding:6px 8px;border-radius:6px;font-size:11px;line-height:1.3;white-space:nowrap;pointer-events:none;z-index:10}.metric-label:after,.metric-label:before{position:absolute;background:color-mix(in oklch,var(--surface),#000 10%);opacity:0;transition:opacity .2s ease,transform .2s ease}.metric-label:before{content:"";left:10px;bottom:calc(100% - 2px);width:8px;height:8px;transform:translateY(-6px) rotate(45deg);z-index:9}.metric-label:hover:after{opacity:1;transform:translateY(-10px)}.metric-label:hover:before{opacity:1;transform:translateY(-10px) rotate(45deg)}.score{display:grid;grid-gap:8px;gap:8px;margin-top:auto}.upgrade-hint{font-size:12px;opacity:.65}.contrast{display:grid;grid-gap:12px;gap:12px}.toggle{display:inline-flex;align-items:center;gap:8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.75}.toggle input{width:16px;height:16px;accent-color:var(--accent)}.contrast-list{display:grid;grid-gap:8px;gap:8px}.contrast-item{display:grid;grid-template-columns:1fr auto auto;grid-gap:8px;gap:8px;align-items:center;font-size:12px}.contrast-value{opacity:.7}.badge{font-size:11px;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.08em}.badge-aaa{background:color-mix(in oklch,oklch(85% .12 150),#fff 30%);color:oklch(25% .1 150)}.badge-aa{background:color-mix(in oklch,oklch(80% .1 250),#fff 35%);color:oklch(25% .08 250)}.badge-fail{background:color-mix(in oklch,oklch(80% .15 30),#fff 25%);color:oklch(25% .1 30)}.score-header{display:flex;justify-content:space-between;font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.7}.score-bar{height:8px;border-radius:999px;background:color-mix(in oklch,var(--surface),#000 12%);overflow:hidden}.score-fill{height:100%;background:linear-gradient(90deg,oklch(70% .18 150),oklch(72% .2 20));border-radius:inherit}.export{display:grid;grid-gap:12px;gap:12px}.export-block{display:grid;grid-gap:10px;gap:10px;padding:12px;border-radius:12px;background:color-mix(in oklch,var(--surface),#fff 20%)}.export-locked{opacity:.75}.export-title{font-size:12px;text-transform:uppercase;letter-spacing:.1em;opacity:.6}.export-grid{display:grid;grid-gap:8px;gap:8px}.export-token{display:flex;justify-content:space-between;font-size:12px}.export-options{display:flex;gap:10px;flex-wrap:wrap}.export-active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in oklch,var(--accent),#fff 50%)}.export-btn{border:1px solid color-mix(in oklch,var(--surface),#000 15%);border-radius:999px;padding:6px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:transparent;cursor:pointer}.export-btn:disabled{opacity:.4;cursor:not-allowed}.export-code{display:grid;grid-gap:10px;gap:10px}.export-pre{margin:0;padding:12px;border-radius:12px;background:color-mix(in oklch,var(--surface),#000 8%);font-size:12px;line-height:1.5;overflow-x:auto}.export-toolbar{display:flex;align-items:center;gap:10px}.copy-btn{border:none;border-radius:999px;padding:6px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:color-mix(in oklch,var(--surface),#000 10%);cursor:pointer}.copy-status{font-size:12px;opacity:.7}.share-row{display:flex;gap:10px;align-items:center}.share-input{flex:1 1;border:1px solid color-mix(in oklch,var(--surface),#000 12%);border-radius:999px;padding:8px 12px;font-size:12px;background:transparent;color:var(--text)}.plan{display:grid;grid-gap:12px;gap:12px}.plan-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.plan-pill{font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:4px 12px;border-radius:999px}.plan-free{background:color-mix(in oklch,var(--surface),#000 12%)}.plan-pro{background:color-mix(in oklch,var(--accent),#fff 20%);color:oklch(20% .02 90)}.plan-status{font-size:12px;opacity:.7}.save-btn{border:none;border-radius:999px;padding:8px 14px;font-size:12px;background:color-mix(in oklch,var(--surface),#000 10%);cursor:pointer}.save-btn:disabled{opacity:.5;cursor:not-allowed}.save-count{font-size:12px;opacity:.7}.saved-list{display:grid;grid-gap:10px;gap:10px}.saved-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px;border-radius:12px;background:color-mix(in oklch,var(--surface),#fff 25%)}.saved-meta{display:grid;grid-gap:2px;gap:2px;font-size:12px}.saved-actions{display:flex;gap:8px}.saved-btn{border:none;border-radius:999px;padding:6px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:color-mix(in oklch,var(--surface),#000 10%);cursor:pointer}.saved-remove{background:color-mix(in oklch,oklch(80% .12 30),#fff 30%)}.saved-empty{font-size:12px;opacity:.6}@media (min-width:1800px){.field-grid{grid-template-columns:340px 1fr 360px 320px;max-width:1900px;gap:14px}}@media (min-width:1400px) and (max-width:1799px){.field-grid{grid-template-columns:320px 1fr 340px 300px;gap:13px}}@media (max-width:1200px){.field-grid{grid-template-columns:1fr 1fr;gap:20px}}@media (max-width:900px){.header{flex-direction:column;align-items:flex-start}.nav{flex-wrap:wrap;justify-content:flex-start}.hero{grid-template-columns:1fr}.hero-title{font-size:34px}.field-grid,.highlights-grid,.pricing-grid,.steps-grid{grid-template-columns:1fr;gap:24px}.preset-grid{grid-template-columns:1fr}.share-row{flex-direction:column;align-items:stretch}.saved-item{flex-direction:column;align-items:flex-start}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;animation:fadeIn .2s ease-out}.modal-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--background);border:1px solid color-mix(in oklch,var(--surface),#000 15%);border-radius:24px;box-shadow:0 24px 48px rgba(0,0,0,.3);z-index:1001;max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .3s cubic-bezier(.16,1,.3,1)}.export-modal{width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid color-mix(in oklch,var(--surface),#000 10%);background:color-mix(in oklch,var(--surface),#fff 50%)}.modal-title{margin:0;font-size:24px;font-family:var(--font-display),"Space Grotesk",sans-serif;letter-spacing:-.02em}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:inherit;opacity:.6;padding:8px;line-height:1;border-radius:8px;transition:all .2s}.modal-close:hover{opacity:1;background:color-mix(in oklch,var(--surface),#000 10%)}.modal-body{padding:32px;overflow-y:auto;flex:1 1}.modal-body .export{background:none;border:none;padding:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.auth-modal{width:450px}.auth-form{gap:20px}.auth-form,.form-field{display:flex;flex-direction:column}.form-field{gap:8px}.form-field label{font-size:14px;font-weight:600}.form-field input{padding:12px 16px;border:1px solid color-mix(in oklch,var(--surface),#000 15%);border-radius:12px;font-size:14px;background:var(--background);color:var(--text);transition:border-color .2s}.form-field input:focus{outline:none;border-color:var(--accent)}.form-field input:disabled{opacity:.5;cursor:not-allowed}.form-hint{font-size:12px;opacity:.6}.auth-error{background:oklch(95% .08 20);color:oklch(40% .12 20)}.auth-error,.auth-success{padding:12px 16px;border-radius:12px;font-size:14px}.auth-success{background:oklch(95% .06 140);color:oklch(35% .1 140)}.auth-submit{width:100%;padding:14px;border-radius:12px;font-size:14px;font-weight:600;margin-top:8px}.auth-switch{text-align:center;font-size:14px}.auth-link{background:none;border:none;color:var(--accent);text-decoration:underline;cursor:pointer;font-size:inherit;padding:0}.auth-link:hover{opacity:.8}.user-menu-wrapper{position:relative}.user-button{display:flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid color-mix(in oklch,var(--surface),#000 15%);border-radius:999px;background:var(--surface);color:var(--text);cursor:pointer;transition:all .2s}.user-button:hover{background:color-mix(in oklch,var(--surface),#000 5%)}.user-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.user-name{font-size:14px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;background:oklch(75% .15 280);color:#fff;letter-spacing:.05em}.user-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--surface);border:1px solid color-mix(in oklch,var(--surface),#000 15%);border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:100;overflow:hidden;animation:fadeIn .2s ease-out}.user-menu-header{padding:16px}.user-menu-name{font-weight:600;font-size:14px}.user-menu-email{font-size:12px;opacity:.6;margin-top:4px}.user-menu-divider{height:1px;background:color-mix(in oklch,var(--surface),#000 10%)}.user-menu-item{width:100%;padding:12px 16px;text-align:left;background:none;border:none;color:var(--text);cursor:pointer;font-size:14px;transition:background .2s}.user-menu-item:hover{background:color-mix(in oklch,var(--surface),#000 5%)}.site-footer{margin-top:48px;padding:28px 24px 40px;border-top:1px solid color-mix(in oklch,var(--surface),#000 10%);background:color-mix(in oklch,var(--surface),#fff 25%)}.footer-inner{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-brand{display:grid;grid-gap:6px;gap:6px}.footer-logo{font-weight:600;letter-spacing:.04em}.footer-note{font-size:12px;opacity:.7}.footer-links{display:flex;gap:16px;flex-wrap:wrap;font-size:13px}.footer-links a{color:inherit;text-decoration:none;opacity:.75}.footer-links a:hover{opacity:1}.page[style*="--tf-"] .section{background:color-mix(in oklch,var(--tf-surface,var(--surface)),#fff 40%);border-color:color-mix(in oklch,var(--tf-surface,var(--surface)),#000 10%)}.page[style*="--tf-"] .btn-primary{background:var(--tf-primary,var(--accent));color:var(--tf-primaryText,oklch(98% .02 90))}.page[style*="--tf-"] .slider-input{accent-color:var(--tf-accent,var(--accent))}.page[style*="--tf-"] .panel{background:var(--tf-surface,var(--surface));border-color:color-mix(in oklch,var(--tf-surface,var(--surface)),#000 12%)}.page[style*="--tf-"] .field-canvas{border-color:color-mix(in oklch,var(--tf-surface,var(--surface)),#000 10%)}.page[style*="--tf-"] .field-dot{background:color-mix(in oklch,var(--tf-text,var(--text)),#fff 20%);border-color:color-mix(in oklch,var(--tf-surface,var(--surface)),#fff 60%);box-shadow:0 6px 14px color-mix(in oklch,var(--tf-text,var(--text)),transparent 80%)}.page[style*="--tf-"] .field-axis-label{background:color-mix(in oklch,var(--tf-bg,#fff) 75%,transparent);color:var(--tf-text,var(--text))}.page[style*="--tf-"] .export-tabs button{background:color-mix(in oklch,var(--tf-surface,var(--surface)),#000 10%)}.page[style*="--tf-"] .export-tabs button.active{background:var(--tf-primary,var(--accent));color:var(--tf-primaryText,oklch(98% .02 90))}.page[style*="--tf-"] .swatch-value{background:color-mix(in oklch,var(--tf-bg,#fff) 75%,var(--tf-surface,var(--surface)));color:var(--tf-text,var(--text))}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{animation:none}.collapsible{transition:none}}