.landing{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background-color:var(--parchment);background-image:radial-gradient(ellipse at 50% 0%,rgba(154,123,46,.08) 0%,transparent 70%)}.landing-inner{text-align:center}.landing-cross{font-size:2rem;color:var(--gold);margin-bottom:1.5rem;display:block;animation:fadeIn 1s ease .2s both}.landing-title{font-size:clamp(2.2rem,5vw,3.4rem);color:var(--ink);margin-bottom:0;line-height:1.15;animation:fadeIn .8s ease .3s both}.landing-subtitle{font-family:var(--font-body);font-style:italic;font-size:1.05rem;color:var(--ink-muted);max-width:500px;margin:0 auto 1.5rem;animation:fadeIn .8s ease .5s both}.landing-body{text-align:left;max-width:600px;margin:0 auto 1.5rem;animation:fadeIn .8s ease .6s both}.landing-body p{margin-bottom:1rem;font-size:1rem;color:var(--ink-light)}.landing-body strong{font-weight:600;color:var(--ink)}.landing-axes{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:600px;margin:0 auto 1.5rem;animation:fadeIn .8s ease .7s both}.axis-card{border:1px solid var(--rule);padding:1.25rem;text-align:left;background:#ffffff4d}.axis-label{font-family:var(--font-display);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}.axis-poles{display:flex;justify-content:space-between;font-family:var(--font-body);font-weight:600;font-size:.9rem;color:var(--ink);margin-bottom:.5rem}.axis-card p{font-size:.85rem;color:var(--ink-muted);line-height:1.5}.landing-footer{margin-top:2rem;font-size:.8rem;color:var(--ink-muted);font-style:italic;animation:fadeIn .8s ease .9s both}.landing-inner .btn-donate{margin-top:1.5rem}@media (max-width: 500px){.landing-axes{grid-template-columns:1fr}}.quiz-page{min-height:100vh;display:flex;flex-direction:column;background-color:var(--parchment)}.quiz-header{position:sticky;top:0;background:var(--parchment);border-bottom:1px solid var(--rule);padding:.75rem 2rem;z-index:10}.quiz-progress-bar{height:3px;background:var(--rule);border-radius:2px;overflow:hidden;margin-bottom:.5rem}.quiz-progress-fill{height:100%;background:linear-gradient(to right,var(--gold),var(--gold-light));transition:width .4s ease}.quiz-counter{font-family:var(--font-body);font-size:.82rem;color:var(--ink-muted);letter-spacing:.05em;text-align:right}.quiz-body{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:640px;padding-top:3rem;padding-bottom:3rem}.quiz-category{font-family:var(--font-display);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}.quiz-question{font-size:clamp(1.3rem,3vw,1.7rem);color:var(--ink);font-family:var(--font-display);font-style:italic;line-height:1.4;margin-bottom:0}.quiz-likert{display:flex;flex-direction:column;gap:.6rem;margin:1.5rem 0}.likert-btn{display:flex;align-items:center;gap:1rem;padding:.85rem 1.25rem;background:#fff6;border:1px solid var(--rule);cursor:pointer;transition:all .2s ease;text-align:left;width:100%;font-family:var(--font-body);color:var(--ink)}.likert-btn:hover{border-color:var(--gold);background:var(--gold-faint)}.likert-btn.active{border-color:var(--ink);background:var(--ink);color:var(--parchment)}.likert-btn.active .likert-pip{background:var(--gold-light);border-color:var(--gold-light)}.likert-pip{width:12px;height:12px;border-radius:50%;border:1px solid var(--rule);background:transparent;flex-shrink:0;transition:all .2s ease}.likert-label{font-size:.95rem;font-weight:300}.quiz-nav{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.quiz-nav .btn-primary:disabled,.quiz-nav .btn-ghost:disabled{opacity:.35;cursor:default;pointer-events:none}.results-page{min-height:100vh;background-color:var(--parchment);background-image:radial-gradient(ellipse at 50% 0%,rgba(154,123,46,.07) 0%,transparent 60%)}.results-top{text-align:center;margin-bottom:0}.results-cross{font-size:1.8rem;color:var(--gold);margin-bottom:.75rem}.results-heading{font-size:clamp(1.8rem,4vw,2.6rem);color:var(--ink)}.results-main{display:grid;grid-template-columns:3fr 2fr;gap:2.5rem;align-items:start;margin:1.5rem 0}.compass-section{display:flex;flex-direction:column;align-items:center;gap:.75rem}.compass-svg{width:100%;max-width:540px;height:auto;display:block;border:1px solid var(--rule);background:var(--parchment-dark);box-shadow:0 4px 24px #1a120814}:global(.q-label){font-family:Crimson Pro,serif;font-size:11px;fill:var(--ink-muted);font-style:italic}:global(.axis-tick){font-family:Crimson Pro,serif;font-size:10px;fill:var(--ink-muted)}.compass-svg text{font-family:Crimson Pro,Georgia,serif}.party-label{font-family:Crimson Pro,Georgia,serif;font-size:8px;font-weight:700;fill:#1a1208}.score-coords{display:flex;gap:2rem;font-family:var(--font-body);font-size:.9rem;color:var(--ink-muted)}.score-coords strong{color:var(--ink);font-weight:600}.party-controls{display:flex;align-items:center;gap:1rem;font-family:var(--font-body);font-size:.88rem;color:var(--ink-muted)}.party-toggle-label{display:flex;align-items:center;gap:.4rem;cursor:pointer;-webkit-user-select:none;user-select:none}.party-toggle-label input[type=checkbox]{accent-color:var(--gold);width:14px;height:14px;cursor:pointer}.country-switcher{display:flex;border:1px solid var(--rule);overflow:hidden}.country-btn{background:transparent;border:none;border-left:1px solid var(--rule);padding:.18rem .65rem;font-family:var(--font-body);font-size:.8rem;color:var(--ink-muted);cursor:pointer;transition:background .15s,color .15s}.country-btn:first-child{border-left:none}.country-btn.active{background:var(--ink);color:var(--parchment)}.country-btn:not(.active):hover{background:#9a7b2e14}.party-legend{display:flex;flex-wrap:wrap;gap:.4rem 1rem;justify-content:center;width:100%;max-width:540px}.legend-item{display:flex;align-items:center;gap:.35rem;font-family:var(--font-body);font-size:.78rem;color:var(--ink-muted)}.legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0;border:1px solid rgba(255,255,255,.5)}.results-text{padding-top:.5rem}.quadrant-tag{font-family:var(--font-display);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;border:1px solid;display:inline-block;padding:.2rem .75rem;margin-bottom:.75rem}.quadrant-name{font-size:clamp(1.8rem,4vw,2.4rem);color:var(--ink);margin-bottom:.25rem}.position-line{font-size:1rem;color:var(--ink-muted);margin-bottom:0}.quadrant-desc{font-size:1rem;color:var(--ink-light);line-height:1.75;font-weight:300}.figures{margin-top:1.25rem}.figures-label{font-family:var(--font-display);font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}.figures-list{display:flex;flex-wrap:wrap;gap:.4rem}.figure-chip{font-family:var(--font-body);font-size:.85rem;color:var(--ink-light);border:1px solid var(--rule);padding:.15rem .6rem;background:#ffffff4d}.shared-banner{text-align:center;border:1px solid var(--gold);background:#9a7b2e0f;padding:1.25rem 1.75rem;margin-bottom:1.75rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.shared-banner-text{font-family:var(--font-body);font-size:1rem;color:var(--ink-light);line-height:1.6;margin:0;font-style:italic}.btn-share{font-family:var(--font-body);font-size:.88rem;color:var(--ink-muted);background:transparent;border:1px solid var(--rule);padding:.5rem 1.5rem;cursor:pointer;transition:var(--transition);letter-spacing:.02em}.btn-share:hover{border-color:var(--ink-muted);color:var(--ink)}.results-footer{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.save-status{font-size:.82rem;color:var(--ink-muted);font-style:italic}.save-error{color:var(--church-red, #8B1A1A)}@media (max-width: 700px){.results-main{grid-template-columns:1fr;gap:2rem}.compass-section{order:-1}.party-controls{flex-wrap:wrap;justify-content:center}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--parchment: #F5F0E8;--parchment-dark: #EDE6D6;--ink: #1A1208;--ink-light: #3D3020;--ink-muted: #6B5D4A;--gold: #9A7B2E;--gold-light: #C9A84C;--gold-faint: #F0E6C8;--red-church: #8B1A1A;--blue-deep: #1A2B5C;--rule: #C4B49A;--font-display: "IM Fell English", Georgia, serif;--font-body: "Crimson Pro", "Palatino Linotype", Georgia, serif;--max-w: 780px;--transition: .3s ease}html{font-size:18px;scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--parchment);color:var(--ink);min-height:100vh;line-height:1.7}.app{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{font-family:var(--font-display);line-height:1.2;font-weight:400}p{font-family:var(--font-body);font-weight:300}.ornamental-rule{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;color:var(--gold)}.ornamental-rule:before,.ornamental-rule:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,var(--rule),transparent)}.ornamental-rule span{font-size:1.2rem;color:var(--gold)}.btn-primary{font-family:var(--font-display);font-size:1rem;letter-spacing:.05em;color:var(--parchment);background:var(--ink);border:1px solid var(--ink);padding:.75rem 2.5rem;cursor:pointer;transition:var(--transition);display:inline-block;text-align:center}.btn-primary:hover{background:var(--ink-light);border-color:var(--gold)}.btn-donate{font-family:var(--font-body);font-size:.88rem;color:var(--gold);background:transparent;border:1px solid var(--gold);padding:.5rem 1.5rem;cursor:pointer;transition:var(--transition);display:inline-block;text-align:center;text-decoration:none;letter-spacing:.03em}.btn-donate:hover{background:var(--gold);color:var(--parchment)}.btn-ghost{font-family:var(--font-body);font-size:.9rem;color:var(--ink-muted);background:transparent;border:1px solid var(--rule);padding:.5rem 1.5rem;cursor:pointer;transition:var(--transition)}.btn-ghost:hover{border-color:var(--ink-muted);color:var(--ink)}.page-container{max-width:var(--max-w);margin:0 auto;padding:3rem 2rem;width:100%;flex:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease forwards}@keyframes drawLine{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}@media (max-width: 600px){html{font-size:16px}.page-container{padding:2rem 1.25rem}}
