:root{--card-w: 320px;--card-h: 200px;--gap: 2rem;--bg: #ffffff;--surface: #f4f7fb;--surface-2: #eaeff8;--paper: #ffffff;--ink: #1c1814;--ink-muted: rgba(28, 24, 20, .62);--ink-faint: rgba(28, 24, 20, .1);--card-ink: #1c1814;--card-ink-dim: rgba(28, 24, 20, .38);--gold: #5c87b2;--gold-hover: #6d9dc8;--gold-glow: rgba(92, 135, 178, .18);--border: rgba(28, 24, 20, .1);--border-warm: rgba(92, 135, 178, .3)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:DM Sans,system-ui,-apple-system,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;background-image:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(92,135,178,.03) 0%,transparent 70%)}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:128px 128px}main{position:relative;z-index:1}header{text-align:center;padding:4.5rem 1.5rem 2.75rem;max-width:760px;margin:0 auto}h1{font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-weight:400;font-size:clamp(2.1rem,5vw,3.75rem);line-height:1.12;letter-spacing:.01em;color:var(--ink);margin:0 0 .9rem}h1 em{font-style:italic;color:var(--gold)}h1:after{content:"";display:block;width:40px;height:1px;background:var(--gold);margin:1.3rem auto 0;opacity:.65}header p{margin:1.4rem 0 0;font-size:.92rem;color:var(--ink-muted);letter-spacing:.01em}.generator{max-width:1420px;margin:0 auto 2rem;padding:0 1rem}.toolbar{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;justify-content:center;margin-bottom:2rem}.name-input{flex:1 1 280px;max-width:440px;padding:.72rem 1.1rem;font-family:DM Sans,sans-serif;font-size:1rem;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:7px;transition:border-color .18s,box-shadow .18s}.name-input::placeholder{color:var(--ink-muted)}.name-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow)}.btn{padding:.72rem 1.25rem;font-family:DM Sans,sans-serif;font-size:.88rem;font-weight:500;letter-spacing:.025em;color:var(--ink-muted);background:var(--surface);border:1px solid var(--border);border-radius:7px;cursor:pointer;transition:color .16s,border-color .16s,background .16s,box-shadow .16s}.btn:hover:not(:disabled){color:var(--ink);border-color:var(--border-warm);background:var(--surface-2);box-shadow:0 1px 4px #1c181414}.btn.primary{color:#fff;background:var(--gold);border-color:var(--gold);font-weight:600}.btn.primary:hover:not(:disabled){background:var(--gold-hover);border-color:var(--gold-hover)}.btn:disabled{opacity:.3;cursor:default}.results{display:flex;flex-direction:column;gap:2.5rem}.classic-row{display:grid;grid-template-columns:repeat(4,var(--card-w));gap:var(--gap);justify-content:center}.artistic-row{display:grid;grid-template-columns:repeat(3,var(--card-w));gap:var(--gap);justify-content:center}.card{position:relative;width:var(--card-w);height:var(--card-h);margin:0;padding:1rem;background:var(--paper);border:none;border-radius:4px;box-shadow:0 1px 3px #00000059,0 6px 20px #0006,0 16px 48px #00000047,inset 0 1px #fff9;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:box-shadow .2s,transform .2s}.card:hover{transform:translateY(-2px);box-shadow:0 2px 6px #0006,0 12px 32px #00000073,0 24px 64px #0000004d,inset 0 1px #fff9}.card:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:96px 96px}.card svg{max-width:100%;max-height:100%;width:auto;height:auto;position:relative;z-index:2}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:280px;max-width:680px;margin:0 auto;padding:3rem 2rem;background:var(--paper);border:1px dashed var(--border-warm);border-radius:8px;text-align:center;box-shadow:0 1px 3px #0000000f}.empty-state-rule{width:40px;height:1px;background:var(--gold);opacity:.5;display:block}.empty-state-label{font-family:DM Sans,sans-serif;font-size:1.08rem;color:var(--ink);letter-spacing:.01em}.empty-state-hint{font-family:DM Sans,sans-serif;font-size:.88rem;color:var(--ink-muted);letter-spacing:.02em}.regen{position:absolute;top:7px;right:7px;width:26px;height:26px;display:grid;place-items:center;font-size:13px;line-height:1;color:var(--card-ink);background:#edf1f8e0;border:1px solid rgba(28,24,20,.1);border-radius:50%;cursor:pointer;z-index:4;transition:background .15s}.regen:hover:not(:disabled){background:#fffffffa}.regen:disabled{opacity:.28;cursor:default}.placeholder{display:grid;place-items:center;position:relative;z-index:2}.spinner{width:22px;height:22px;border:2px solid rgba(28,24,20,.1);border-top-color:#1c18148c;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sig-anim{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center;justify-content:center;transform-origin:center}@keyframes sig-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.sig-guide-glyph{animation:sig-draw 2.7s cubic-bezier(.42,0,.58,1) both}.sig-guide-swash{animation:sig-draw 1.8s cubic-bezier(.42,0,.58,1) 1.9s both}@media (prefers-reduced-motion: reduce){.sig-guide{animation:none}}.play-btn{position:absolute;top:7px;left:7px;width:26px;height:26px;display:grid;place-items:center;font-size:10px;line-height:1;color:var(--card-ink);background:#edf1f8e0;border:1px solid rgba(28,24,20,.1);border-radius:50%;cursor:pointer;z-index:4;transition:background .15s;padding-left:2px}.play-btn:hover:not(:disabled){background:#fffffffa}.play-btn:disabled{opacity:.28;cursor:default}.download{position:absolute;bottom:7px;left:7px;z-index:4}.download>summary{list-style:none;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.62rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding:.22rem .55rem;color:var(--card-ink);background:#edf1f8e0;border:1px solid rgba(28,24,20,.1);border-radius:4px;transition:background .14s}.download>summary:hover{background:#ffffffeb}.download>summary::-webkit-details-marker{display:none}.download-body{position:absolute;bottom:calc(100% + 4px);left:0;display:flex;gap:.3rem}.download-body button{font-family:DM Sans,sans-serif;padding:.24rem .55rem;font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--card-ink);background:#fff;border:1px solid rgba(28,24,20,.16);border-radius:4px;cursor:pointer;transition:background .12s,border-color .12s}.download-body button:hover:not(:disabled){background:var(--paper);border-color:#1c181466}.download-body button:disabled{opacity:.38;cursor:default}.customize-hint{text-align:center;font-size:.85rem;color:var(--text-muted, #666);margin:.5rem 0 1rem}.customize{max-width:640px;margin:0 auto;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:.5rem 1rem}.customize>summary{cursor:pointer;font-family:DM Sans,sans-serif;font-weight:600;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted);padding:.45rem 0;transition:color .15s}.customize>summary:hover{color:var(--ink)}.customize-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem 1.25rem;padding:.75rem 0 .4rem}.ctrl{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem}.ctrl>span{font-weight:600;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.ctrl input[type=range]{width:100%;accent-color:var(--gold)}.ctrl input[type=color]{width:44px;height:30px;padding:0;border:1px solid var(--border);border-radius:4px;background:none;cursor:pointer}.pen-tabs{display:flex;flex-wrap:wrap;gap:.3rem}.pen-tab{flex:1 1 auto;padding:.35rem .5rem;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:500;color:var(--ink-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;cursor:pointer;transition:color .14s,border-color .14s}.pen-tab:hover{color:var(--ink);border-color:var(--border-warm)}.pen-tab.active{color:#fff;background:var(--gold);border-color:var(--gold);font-weight:600}@media (max-width: 1380px){.classic-row,.artistic-row{grid-template-columns:repeat(2,var(--card-w))}}@media (max-width: 720px){.classic-row,.artistic-row{grid-template-columns:var(--card-w)}}.ad-slot{display:block;width:100%;max-width:728px;min-height:90px;margin:2.5rem auto;background:transparent}@media (max-width: 767px){.ad-slot{max-width:320px;min-height:50px}}.seo-content{max-width:720px;margin:0 auto;padding:1rem 1.5rem 5rem}.seo-content h2{font-family:Cormorant Garamond,Georgia,serif;font-weight:400;font-size:1.7rem;color:var(--ink);margin:3.5rem 0 .85rem;letter-spacing:.005em}.seo-content article:first-child h2{margin-top:0}.seo-content p{color:var(--ink-muted);font-size:.93rem;line-height:1.78;margin:.5rem 0}.seo-content p strong{color:var(--ink);font-weight:600}.seo-content article:last-child{margin-top:.5rem}.seo-content details{border-bottom:1px solid var(--ink-faint)}.seo-content details:first-of-type{border-top:1px solid var(--ink-faint)}.seo-content details summary{cursor:pointer;padding:.9rem 0;font-size:.93rem;font-weight:500;color:var(--ink);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;user-select:none;transition:color .14s}.seo-content details summary::-webkit-details-marker{display:none}.seo-content details summary:after{content:"+";font-size:1.15rem;color:var(--gold);flex-shrink:0;transition:transform .2s}.seo-content details[open] summary:after{transform:rotate(45deg)}.seo-content details p{margin-top:0;padding-bottom:1rem}.article-image{margin:2rem 0;padding:0}.article-image img{width:100%;height:auto;border-radius:4px;display:block}.article-image figcaption{margin-top:.6rem;color:var(--ink);line-height:1.6}.article-image figcaption small{color:var(--ink-muted)}.article-image figcaption small{display:block;margin-top:.25rem;font-size:.75rem;opacity:.7}.article-page{max-width:720px;margin:0 auto;padding:2rem 1.5rem 4rem}.article-page>header{padding:1.25rem 0 1rem}.back-link{display:inline-block;margin-bottom:1.5rem;font-size:.9rem;color:var(--ink);opacity:.6;text-decoration:none}.back-link:hover{opacity:1}.tldr{font-size:1rem;line-height:1.7;margin-bottom:1.5rem;padding:.9rem 1.2rem;border-left:3px solid var(--ink-muted);background:transparent;color:var(--ink-muted)}.article-intro{font-size:1.1rem;line-height:1.75;margin-bottom:0;color:var(--ink-muted)}.article-page h2{font-family:Cormorant Garamond,Georgia,serif;font-weight:400;font-size:1.7rem;margin-top:2.75rem}.article-page h3{margin-top:1.5rem}.article-page ul{padding-left:1.5rem;line-height:1.9}.cta-section{margin-top:3rem;padding:2rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;text-align:center}.cta-button{display:inline-block;margin-top:1rem;padding:.75rem 2rem;background:var(--gold);color:var(--bg);border-radius:7px;text-decoration:none;font-weight:600;font-size:.95rem}.cta-button:hover{opacity:.85}.score-test{max-width:620px;margin:1.25rem auto 2.5rem;padding:0 1.5rem}.signing-fallback-note{font-size:.82rem;color:var(--ink-muted);text-align:center;margin:0 0 1.25rem}.signing-step-title{font-family:Cormorant Garamond,Georgia,serif;font-weight:400;font-size:1.5rem;text-align:center;margin:0 0 1rem}.signing-explainer{font-size:.92rem;line-height:1.7;color:var(--ink-muted);text-align:center;max-width:480px;margin:0 auto 1.25rem}.signing-intro{margin:1.5rem auto 0;max-width:520px}.signing-box-wrap{display:flex;flex-direction:column;align-items:center;gap:.75rem}.signing-canvas-frame{position:relative;width:100%;max-width:520px;height:200px;background:var(--paper);border:1px solid var(--border);border-radius:8px;box-shadow:0 1px 3px #1c18140f;overflow:hidden}.signing-canvas{width:100%;height:100%;touch-action:none;cursor:crosshair}.signing-placeholder{position:absolute;left:50%;top:68%;transform:translate(-50%,-100%);font-size:.85rem;color:var(--ink-faint);pointer-events:none;letter-spacing:.03em}.signing-clear{font-size:.82rem;padding:.4rem 1rem}.signing-error{font-size:.88rem;line-height:1.6;text-align:center;max-width:420px;margin:1rem auto 0;padding:.7rem 1rem;color:var(--ink);background:var(--surface);border:1px solid var(--border-warm);border-radius:8px}.signing-next{display:block;margin:1.5rem auto 0}.score-warning{margin:1.5rem auto 0;padding:1rem 1.1rem;max-width:520px;font-size:.84rem;line-height:1.65;color:var(--ink-muted);background:var(--surface);border-left:3px solid var(--gold)}.score-warning strong{color:var(--ink)}.score-results{margin-top:1rem}.score-headline{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1.4rem;text-align:left;padding:2rem 1rem 1.75rem;border-bottom:1px solid var(--border);margin-bottom:2rem}.profile-badge{--profile-accent: var(--gold);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-width:7.5rem;padding:.85rem .75rem .7rem;color:var(--ink);background:color-mix(in srgb,var(--profile-accent) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--profile-accent) 38%,var(--border));border-radius:1rem}.profile-spark{--profile-accent: #c57a57}.profile-compass{--profile-accent: #668c87}.profile-wanderer{--profile-accent: #8278a3}.profile-glyph{width:3.35rem;height:3.35rem;fill:none;stroke:var(--profile-accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.profile-badge span{display:flex;flex-direction:column;align-items:center}.profile-badge small{color:var(--ink-muted);font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.profile-badge strong{margin-top:.1rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.15rem;font-weight:600}.score-kicker{margin:0 0 .55rem;color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.score-headline h2{max-width:20ch;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.75rem,6vw,2.35rem);font-weight:400;line-height:1.12}.score-headline-caption{max-width:48ch;margin:.9rem 0 0;font-size:.92rem;line-height:1.65;color:var(--ink-muted)}.signature-recap{margin:0 0 2rem}.signature-recap-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}.signature-recap-head h3{font-family:Cormorant Garamond,Georgia,serif;font-weight:400;font-size:1.1rem;margin:0;min-width:0}.start-over{flex:none;font-size:.78rem;padding:.4rem .85rem;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.signature-recap-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.signature-recap-item{min-width:0;margin:0;display:flex;flex-direction:column;gap:.45rem}.signature-recap-frame{height:110px;background:var(--paper);border:1px solid var(--border);border-radius:8px;overflow:hidden}.signature-recap-svg{width:100%;height:100%;display:block;color:var(--ink);stroke-width:1.75px}.signature-recap-item figcaption{font-size:.72rem;color:var(--ink-muted);text-align:center;letter-spacing:.02em}.dimension-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}.dimension-card{padding:1.15rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}.dimension-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.dimension-title{display:flex;align-items:center;gap:.55rem;min-width:0}.dimension-icon{display:inline-grid;flex:0 0 1.8rem;width:1.8rem;height:1.8rem;place-items:center;color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,var(--paper));border:1px solid color-mix(in srgb,var(--gold) 30%,var(--border));border-radius:50%;font-family:DM Sans,system-ui,sans-serif;font-size:.76rem;font-weight:700}.dimension-card h3{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-weight:400;font-size:1.3rem;display:flex;align-items:center;gap:.6rem;min-width:0}.estimate-badge{font-family:DM Sans,system-ui,sans-serif;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold);border:1px solid var(--border-warm);border-radius:4px;padding:.1rem .4rem}.dimension-value{flex:1 1 auto;min-width:0;font-size:.78rem;font-weight:600;color:var(--gold);text-align:right}.comparison-track{position:relative;height:.55rem;margin:1rem 0 .45rem;background:color-mix(in srgb,var(--border) 70%,transparent);border-radius:999px}.comparison-typical{position:absolute;inset-block:0;background:color-mix(in srgb,var(--gold) 26%,transparent);border-radius:inherit}.comparison-marker{position:absolute;top:50%;width:.9rem;height:.9rem;background:var(--gold);border:2px solid var(--paper);border-radius:50%;box-shadow:0 1px 4px #1c181440;transform:translate(-50%,-50%)}.comparison-labels{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.35rem;color:var(--ink-muted);font-size:.65rem}.comparison-labels span:nth-child(2){text-align:center}.comparison-labels span:last-child{text-align:right}.dimension-insight{margin:.85rem 0 0;color:var(--ink-muted);font-size:.84rem;line-height:1.55}.comparison-disclaimer{max-width:58ch;margin:1.4rem auto 0;color:var(--ink-muted);font-size:.76rem;line-height:1.6;text-align:center}.no-size-note{margin:2rem 0 0;padding:1rem 1.25rem;font-size:.85rem;line-height:1.7;color:var(--ink-muted);border-left:3px solid var(--ink-muted)}.measurement-list{padding-left:1.25rem}.measurement-list li{margin:.55rem 0;line-height:1.65}.name-ask{margin-top:3rem;padding:2rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;text-align:center}.name-ask h2{font-family:Cormorant Garamond,Georgia,serif;font-weight:400;font-size:1.6rem;margin:0 0 .5rem}.name-ask p{color:var(--ink-muted);font-size:.92rem;margin:0 0 1.25rem}.name-ask-form{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.variant-row{display:flex;gap:var(--gap);justify-content:center;flex-wrap:wrap;margin-top:2rem}.see-all-link{display:inline-block;margin-top:1.5rem;font-size:.88rem;color:var(--gold);text-decoration:none}.see-all-link:hover{text-decoration:underline}@media (min-width: 640px){.dimension-grid{grid-template-columns:1fr 1fr}}@media (max-width: 520px){.score-headline{grid-template-columns:1fr;justify-items:center;text-align:center}.score-headline h2,.score-headline-caption{margin-inline:auto}.signature-recap-frame{height:84px}}.site-footer{text-align:center;padding:2rem 1rem 3rem;font-size:.82rem;color:var(--ink-muted);border-top:1px solid var(--border);margin-top:4rem}.site-footer a{color:var(--ink-muted);text-decoration:none}.site-footer a:hover{color:var(--gold)}
