body{display:flex;min-height:100vh;flex-direction:column}.main{flex:1;padding:58px 0 76px}.intro{max-width:950px;margin:0 auto 32px;text-align:center}.intro h1{margin:18px auto 14px;font-size:clamp(2.65rem,7vw,4.8rem)}.crumbs{margin-bottom:18px;color:var(--muted);font-size:.82rem}.crumbs a{color:var(--primary);font-weight:750}
.pairing-studio{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(370px,.82fr);max-width:1180px;margin:auto;border:1px solid var(--border);border-radius:30px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.preview-panel{min-width:0;padding:18px;background:#e8e6ef}.preview-topbar{display:flex;align-items:center;justify-content:space-between;min-height:41px;padding:0 4px 12px;color:#686578;font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.preview-topbar>span{display:flex;align-items:center;gap:9px}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#00c2a8;box-shadow:0 0 0 5px #00c2a81c}.preview-tools{display:flex;gap:6px}.preview-tools button{min-height:30px;padding:0 9px;border:1px solid #d9d6e1;border-radius:8px;color:#696678;background:#fff;font-size:.63rem;font-weight:850}
.type-specimen{--heading-size:76px;position:relative;display:grid;place-items:center;min-height:520px;padding:76px 62px;border:1px solid #17182a12;border-radius:22px;color:#18223b;background:#faf7f0;isolation:isolate;overflow:hidden;transition:color .3s,background .3s}.type-specimen:before{content:"";position:absolute;width:360px;height:360px;right:-225px;top:-205px;border:70px solid #e6ad5422;border-radius:50%;z-index:-1}.type-specimen:after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:linear-gradient(90deg,#6c5ce7 0 33%,#e6ad54 33% 66%,#00a98f 66%)}.type-specimen.dark{color:#f6f1e7;background:#17182a}.type-specimen.dark:before{border-color:#6c5ce730}.specimen-content{position:relative;z-index:2;width:min(100%,600px)}.specimen-kicker{display:block;margin-bottom:34px;color:#99744b;font:800 .62rem/1.4 Inter,sans-serif;letter-spacing:.22em}.dark .specimen-kicker{color:#cdb073}.specimen-content h2{margin:0;max-width:590px;font-family:"Playfair Display",serif;font-size:var(--heading-size);line-height:.94;letter-spacing:-.055em;text-wrap:balance;transition:font-family .18s,font-size .18s}.specimen-content p{max-width:510px;margin:31px 0 0;font-family:"Source Sans 3",sans-serif;font-size:17px;line-height:1.72;letter-spacing:.005em;opacity:.78;transition:font-family .18s}.specimen-rule{width:64px;height:3px;margin:35px 0 17px;border-radius:999px;background:#d29a48}.specimen-meta{display:flex;align-items:center;gap:9px;font:700 .58rem/1.2 Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase;opacity:.57}.specimen-orbit{position:absolute;z-index:1;color:#18223b0b;font:700 11rem/1 Georgia,serif;user-select:none}.dark .specimen-orbit{color:#ffffff08}.orbit-one{top:11px;right:22px;transform:rotate(8deg)}.orbit-two{left:18px;bottom:25px;font-size:8rem;transform:rotate(-13deg)}
.pair-strip{display:grid;grid-template-columns:repeat(4,minmax(118px,1fr));gap:8px;margin-top:12px}.pair-chip{position:relative;min-width:0;min-height:67px;padding:10px;border:1px solid #d8d5df;border-radius:12px;color:#5d5a69;background:#fff;text-align:left;transition:.2s;overflow:hidden}.pair-chip:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--chip,#6c5ce7);opacity:0}.pair-chip:hover,.pair-chip.active{border-color:#afa7d8;transform:translateY(-2px);box-shadow:0 8px 20px #25213c12}.pair-chip.active:before{opacity:1}.pair-chip strong,.pair-chip span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pair-chip strong{margin-bottom:5px;color:#2e2b39;font-size:.74rem}.pair-chip span{font-size:.61rem}
.control-panel{padding:26px 24px;background:#fff}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}.panel-heading h2{margin:4px 0 0;font-size:1.36rem;letter-spacing:-.03em}.step-label,.preview-fields label>span,.font-role label>span{color:#8a8797;font-size:.65rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.favorite-button{display:grid;place-items:center;flex:0 0 42px;height:42px;border:1px solid #dedbe6;border-radius:12px;color:#6c5ce7;background:#f8f7ff;font-size:1.35rem}.favorite-button[aria-pressed=true]{color:#fff;background:#6c5ce7;border-color:#6c5ce7}.style-filter{display:flex;gap:5px;padding:5px;border-radius:12px;background:#f1f0f6;overflow-x:auto}.style-filter button{min-height:34px;padding:0 10px;border:0;border-radius:8px;color:#777486;background:transparent;font-size:.65rem;font-weight:850;white-space:nowrap}.style-filter button.active{color:#5444c5;background:#fff;box-shadow:0 4px 12px #211b4d12}
.font-recipe{display:grid;grid-template-columns:1fr 50px 1fr;align-items:end;gap:8px;margin-top:20px}.font-role{min-width:0;padding:12px;border:1px solid #dfdce7;border-radius:14px;background:#fbfaff}.role-number{display:grid;place-items:center;width:25px;height:25px;margin-bottom:10px;border-radius:8px;color:#fff;background:#6c5ce7;font-size:.6rem;font-weight:900}.font-role label{display:grid;gap:6px}.font-role select{min-width:0;width:100%;height:38px;padding:0 8px;border:1px solid #ddd9e6;border-radius:9px;color:#343144;background:#fff;outline:0;font-size:.73rem;font-weight:700}.font-role select:focus{border-color:#6c5ce7;box-shadow:0 0 0 3px #6c5ce713}.swap-button{display:grid;place-items:center;gap:1px;height:48px;border:1px solid #dcd9e5;border-radius:13px;color:#6c5ce7;background:#f8f7ff;font-weight:900;transition:.2s}.swap-button:hover{transform:rotate(4deg);background:#f0eeff}.swap-button small{font-size:.52rem;letter-spacing:.06em;text-transform:uppercase}
.preview-fields{display:grid;gap:11px;margin-top:18px}.preview-fields label{display:grid;gap:6px}.preview-fields input,.preview-fields textarea{width:100%;padding:11px 12px;border:1px solid #dedbe6;border-radius:11px;color:#373446;background:#fff;outline:0;font-size:.77rem;resize:none}.preview-fields input:focus,.preview-fields textarea:focus{border-color:#6c5ce7;box-shadow:0 0 0 4px #6c5ce710}.range-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}.range-grid label{display:grid;gap:8px}.range-grid label>span{display:flex;justify-content:space-between;color:#555164;font-size:.69rem}.range-grid output{color:#6c5ce7;font-size:.63rem;font-weight:850}.range-grid input{width:100%;height:5px;accent-color:#6c5ce7}.primary-actions{display:grid;grid-template-columns:1.2fr .8fr;gap:9px;margin-top:20px}.primary-actions button{min-height:49px;border-radius:13px;font-size:.76rem;font-weight:900}.surprise-button{border:0;color:#fff;background:linear-gradient(135deg,#5a49d0,#8c6fe9);box-shadow:0 11px 24px #6c5ce735}.surprise-button span{display:inline-block;margin-right:6px}.surprise-button:hover span{animation:star-spin .55s ease}.copy-button{border:1px solid #dcd9e5;color:#4b475c;background:#fff}.copy-button:hover{color:#6c5ce7;border-color:#bcb4ea;background:#f8f7ff}.pair-note{display:flex;align-items:flex-start;gap:10px;margin-top:15px;padding:12px;border:1px solid #edeaf2;border-radius:12px;background:#fbfafc}.pair-badge{flex:0 0 auto;padding:5px 7px;border-radius:7px;color:#087b6c;background:#00c2a817;font-size:.55rem;font-weight:900;letter-spacing:.09em}.pair-note p{margin:1px 0 0;color:#7f7b8c;font-size:.67rem;line-height:1.45}
.type-specimen.reveal{animation:specimen-reveal .62s cubic-bezier(.2,.8,.2,1)}.spark{position:absolute;z-index:6;width:9px;height:9px;border-radius:3px;background:var(--spark);pointer-events:none;animation:spark-fly .85s ease-out forwards}.preview-panel.expanded{position:fixed;inset:14px;z-index:90;display:grid;grid-template-rows:auto 1fr auto;border:1px solid #ffffff30;border-radius:25px;background:#dedce6;box-shadow:0 30px 100px #0008}.preview-panel.expanded .type-specimen{min-height:0}.preview-panel.expanded #fullscreenPreview{font-size:0}.preview-panel.expanded #fullscreenPreview:before{content:"Close";font-size:.63rem}
.section{padding:68px 0}.section.alt{border-block:1px solid #1f223e0f;background:#ffffff6b}.content{max-width:930px;margin:auto}.content h2{margin:0 0 13px;font-size:clamp(1.75rem,4vw,2.45rem)}.content>p,.card p,.faq p,.tip-box p{color:var(--muted);line-height:1.75}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:25px}.card{padding:22px;border:1px solid var(--border);border-radius:19px;background:#fff}.card h3{margin:13px 0 8px}.card p{margin:0;font-size:.88rem}.feature-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#302a73,#6c5ce7);font-size:.79rem;font-weight:900;box-shadow:0 8px 18px #6c5ce733}.prose-content h2:not(:first-child){margin-top:42px}.tip-box{display:flex;gap:16px;margin:30px 0;padding:21px;border:1px solid #6c5ce72b;border-radius:18px;background:#f5f3ff}.tip-mark{display:grid;place-items:center;flex:0 0 45px;height:45px;border-radius:13px;color:#fff;background:#6c5ce7;font-size:.68rem;font-weight:900}.tip-box h3{margin:1px 0 5px}.tip-box p{margin:0;font-size:.88rem}.faq{display:grid;gap:11px;margin-top:23px}.faq details{border:1px solid var(--border);border-radius:15px;background:#fff}.faq summary{padding:17px 19px;cursor:pointer;font-weight:800}.faq p{margin:0;padding:0 19px 18px}.try-card{display:flex;align-items:center;gap:13px;padding:18px;border:1px solid var(--border);border-radius:17px;background:#fff;transition:.2s}.try-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px #35316e1a}.try-icon{display:grid;place-items:center;flex:0 0 43px;height:43px;border-radius:13px;color:#6c5ce7;background:#f0eeff;font-size:.64rem;font-weight:900}.try-card strong,.try-card span span{display:block}.try-card span span{margin-top:3px;color:var(--muted);font-size:.78rem}.toast{position:fixed;left:50%;bottom:28px;z-index:100;padding:12px 18px;border-radius:13px;color:#fff;background:#282640;font-weight:800;opacity:0;transform:translate(-50%,14px);transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes specimen-reveal{0%{opacity:.7;transform:scale(.975) rotate(-.35deg)}55%{transform:scale(1.012) rotate(.2deg)}100%{opacity:1;transform:none}}@keyframes spark-fly{to{opacity:0;transform:translate(var(--x),var(--y)) rotate(260deg) scale(.25)}}@keyframes star-spin{to{transform:rotate(180deg) scale(1.15)}}@media(prefers-reduced-motion:reduce){.type-specimen,.spark,.surprise-button span{animation:none!important}.pair-chip,.try-card,.swap-button{transition:none}}
@media(max-width:980px){.pairing-studio{grid-template-columns:1fr}.type-specimen{min-height:480px}.pair-strip{grid-template-columns:repeat(4,1fr)}.control-panel{padding:25px}}@media(max-width:650px){.main{padding-top:40px}.preview-panel{padding:10px}.preview-topbar{align-items:flex-start;gap:8px}.type-specimen{min-height:400px;padding:64px 24px}.specimen-content h2{font-size:min(var(--heading-size),58px)}.pair-strip{grid-template-columns:1fr 1fr}.font-recipe{grid-template-columns:1fr 42px 1fr}.font-role{padding:10px 8px}.range-grid{grid-template-columns:1fr}.primary-actions{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.section{padding:52px 0}.tip-box{align-items:flex-start}.preview-panel.expanded{inset:5px}.preview-panel.expanded .pair-strip{display:none}.preview-tools button:first-child{display:none}}@media(max-width:430px){.font-recipe{grid-template-columns:1fr}.swap-button{height:38px}.pair-strip{grid-template-columns:1fr}.type-specimen{padding-inline:19px}.specimen-content h2{font-size:min(var(--heading-size),50px)}}
