:root{--paper:#f7f3f6;--paper-strong:#fff;--ink:#251d23;--muted:#665b63;--plum:#7a3f70;--plum-dark:#4d2848;--accent:#946515;--accent-soft:#f3ead8;--coral:#b65248;--line:#d8cdd5;--line-strong:#b9aab5;--focus:#2e6f68;--error:#9f302d;--radius:8px;--shadow-raised:0 12px 28px #251d231a;--font-sans:"Manrope", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Bodoni Moda", "Bodoni 72", Georgia, "Times New Roman", serif}*{box-sizing:border-box}html{background:var(--paper);min-width:320px;color:var(--ink);font-family:var(--font-sans);scroll-behavior:smooth}body{background:var(--paper);min-width:320px;min-height:100dvh;color:var(--ink);letter-spacing:0;margin:0;font-size:16px;line-height:1.55;overflow-x:hidden}button,input,a{font:inherit;letter-spacing:0}button,a,label{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h1,h2,p,dl,dd{margin-top:0}h1,h2{color:var(--ink);line-height:1.12}h1{max-width:18ch;font-family:var(--font-sans);margin-bottom:18px;font-size:2.125rem;font-weight:800}h2{margin-bottom:14px;font-size:1.25rem;font-weight:800}.skip-link{z-index:100;border-radius:var(--radius);background:var(--paper-strong);color:var(--ink);padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-frame{grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid}.app-header{background:var(--plum-dark);color:#fff;border-bottom:1px solid #ffffff29;justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:10px max(16px,50% - 380px);display:flex}.brand-link{color:#fff;align-items:center;gap:12px;min-width:0;text-decoration:none;display:flex}.brand-logo{object-fit:contain;width:92px;height:auto}.brand-link span{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:750;overflow:hidden}.app-header nav{align-items:center;gap:8px;display:flex}.header-action,.icon-button,.dialog-close{border-radius:var(--radius);color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff4d;justify-content:center;align-items:center;gap:4px;width:44px;min-width:44px;height:44px;text-decoration:none;display:inline-flex}.header-action span{font-size:.75rem;font-weight:800}.main-shell{width:100%;max-width:760px;margin:0 auto;padding:32px 16px 64px}.screen{flex-direction:column;justify-content:center;align-items:flex-start;width:100%;min-height:560px;display:flex}.intro-screen,.question-screen,.review-screen,.result-screen,.card-screen,.privacy-screen{max-width:640px;margin:0 auto}.eyebrow{color:var(--accent);text-transform:uppercase;margin-bottom:10px;font-size:.8125rem;font-weight:800}.lead,.supporting-copy{max-width:56ch;color:var(--muted)}.lead{margin-bottom:28px;font-size:1.0625rem}.supporting-copy{margin-bottom:20px}.instrument-mark,.privacy-icon{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft);width:56px;height:56px;color:var(--accent);justify-content:center;align-items:center;margin-bottom:22px;display:inline-flex}.principle-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:36px 1fr;align-items:start;gap:12px;width:100%;margin:4px 0 30px;padding:16px 0;display:grid}.principle-line span{color:var(--accent);font-size:.75rem;font-weight:800}.principle-line p{margin:0}.button{border-radius:var(--radius);text-align:center;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;width:100%;min-height:52px;padding:14px 18px;font-size:1rem;font-weight:800;text-decoration:none;display:inline-flex}.button+.button,.button+.text-button,.text-button+.button{margin-top:12px}.button-primary{background:var(--accent);color:#fff}.button-primary:hover{background:#744e0f}.button-secondary{border-color:var(--line-strong);background:var(--paper-strong);color:var(--ink)}.button-ghost{color:var(--plum);background:0 0;border-color:#0000}.button-danger{border-color:var(--error);background:var(--paper-strong);color:var(--error)}.button:disabled{cursor:not-allowed;opacity:.48}.text-button{min-height:44px;color:var(--plum);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:.9375rem;font-weight:750;text-decoration:underline}.text-button.standalone{align-self:center}.progress-row{width:100%;color:var(--muted);justify-content:space-between;margin-bottom:8px;font-size:.8125rem;font-weight:750;display:flex}.progress-track{background:var(--line);width:100%;height:5px;margin-bottom:36px;overflow:hidden}.progress-track span{background:var(--accent);height:100%;transition:width .18s ease-out;display:block}.option-group{border:0;gap:10px;width:100%;margin:8px 0 28px;padding:0;display:grid}.option{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper-strong);cursor:pointer;grid-template-columns:22px 1fr 24px;align-items:center;gap:12px;width:100%;min-height:58px;padding:13px 15px;display:grid}.option:hover{border-color:var(--accent)}.option input{width:20px;height:20px;accent-color:var(--accent);margin:0}.option svg{color:#0000}.option-selected{border-color:var(--accent);background:var(--accent-soft)}.option-selected svg{color:var(--accent)}.screen-actions{gap:10px;width:100%;display:grid}.screen-actions .button{margin:0}.observation-list{border-top:1px solid var(--line);width:100%;margin-bottom:28px;padding:0;list-style:none}.observation-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:74px;padding:14px 0;display:flex}.observation-label{color:var(--muted);text-transform:uppercase;margin-bottom:3px;font-size:.75rem;font-weight:750;display:block}.observation-value{color:var(--ink);font-weight:700;display:block}.result-symbol{border:2px solid var(--accent);border-radius:var(--radius);align-items:center;width:72px;height:44px;margin-bottom:26px;padding:8px;display:flex}.result-symbol span{background:var(--accent);width:62%;height:4px;display:block}.result-screen>h2{margin-top:6px}.saved-card{border:1px solid var(--accent);border-radius:var(--radius);background:var(--paper-strong);width:100%;box-shadow:var(--shadow-raised);margin-bottom:24px;padding:24px 18px 8px}.saved-card h2{max-width:22ch;font-family:var(--font-serif);margin-bottom:18px;font-size:1.75rem;font-weight:600}.card-date{color:var(--accent);text-transform:uppercase;margin-bottom:10px;font-size:.75rem;font-weight:800;display:block}.history-section{border-top:1px solid var(--line);width:100%;margin-top:38px;padding-top:28px}.history-list{gap:10px;margin:0 0 24px;padding:0;list-style:none;display:grid}.history-list li{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-strong);justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:12px 14px;display:flex}.history-list strong,.history-list span{display:block}.history-list strong{font-size:.875rem}.history-list span{color:var(--muted);margin-top:2px;font-size:.8125rem}.history-actions{gap:8px;display:flex}.icon-button{border-color:var(--line);background:var(--paper);color:var(--plum)}.icon-button.danger{color:var(--error)}.data-summary{border-top:1px solid var(--line);width:100%;margin:4px 0 30px}.data-summary div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:14px 0;display:flex}.data-summary dt{color:var(--muted)}.data-summary dd{text-align:right;margin:0;font-weight:800}.memory-notice,.error-region:not(:empty),.live-region:not(:empty){border-left:3px solid var(--accent);background:var(--accent-soft);width:100%;max-width:640px;margin:0 auto 16px;padding:12px 14px;font-size:.875rem}.error-region:not(:empty){border-color:var(--error);color:var(--error);background:#fff1f0}.live-region:empty,.error-region:empty{display:none}.loading-state{color:var(--muted);margin:auto}.dialog-backdrop{z-index:80;background:#251d239e;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.confirm-dialog{border-radius:var(--radius);background:var(--paper-strong);width:min(100%,440px);padding:28px 20px 20px;position:relative;box-shadow:0 20px 50px #251d2347}.confirm-dialog h2{padding-right:42px}.confirm-dialog p{color:var(--muted)}.dialog-icon{color:var(--accent);margin-bottom:16px}.dialog-close{border-color:var(--line);color:var(--ink);position:absolute;top:12px;right:12px}.dialog-actions{gap:10px;margin-top:24px;display:grid}.dialog-actions .button{margin:0}.app-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:16px;padding:22px max(16px,50% - 380px);font-size:.8125rem;display:flex}.app-footer a{min-height:44px;color:var(--plum);align-items:center;display:inline-flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (min-width:640px){.main-shell{padding-top:52px}h1{font-size:2.625rem}.screen-actions,.dialog-actions{grid-template-columns:1fr 1fr}.screen-actions .button-primary{grid-column:2}.screen-actions .button-secondary{grid-area:1/1}}@media (max-width:359px){.app-header,.main-shell,.app-footer{padding-left:14px;padding-right:14px}h1{font-size:1.875rem}.brand-link span{display:none}.option{padding-left:12px;padding-right:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
