
:root{--ink:#233f39;--green:#245d4d;--paper:#e9ddc9;--line:#cdbfa8;--muted:#60736a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 system-ui,sans-serif}header,main,footer{max-width:1000px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-weight:750;font-size:25px}.small,small{font-size:14px;color:var(--muted)}h1,h2,h3,p{margin:0 0 16px}h1{font:clamp(38px,7vw,68px)/1.08 Georgia,serif;max-width:800px;letter-spacing:-1px}h2{font:32px/1.2 Georgia,serif}h3{font-size:19px}.hero{padding:36px 0}.lead{max-width:700px;font-size:19px}.tag{display:inline-block;font-size:13px;letter-spacing:1px;text-transform:uppercase;margin-bottom:20px;color:var(--green)}.card{background:#f3e9d8;border:1px solid var(--line);border-radius:18px;padding:26px;margin:20px 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.chip{padding:6px 12px;background:#e6ecdf;border-radius:20px;font-size:13px;display:inline-block}button,.button{cursor:pointer;border:1px solid var(--green);border-radius:10px;background:var(--green);color:white;padding:13px 22px;font:600 16px system-ui;text-decoration:none;display:inline-block}button.secondary{background:transparent;color:var(--green)}button:disabled{opacity:.45;cursor:default}button:hover:not(:disabled){filter:brightness(.93)}a{color:var(--green)}label{cursor:pointer}select{padding:10px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font:inherit;max-width:100%}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.progress{height:5px;background:var(--line);border-radius:10px;margin:16px 0 24px}.progress div{height:100%;background:var(--green);border-radius:10px;transition:width .2s}.option{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:10px;padding:11px 12px;margin:8px 0;font-size:15px}.option:has(input:checked){border-color:var(--green);background:#edf3e9}input{accent-color:var(--green);flex-shrink:0;margin-top:5px;width:17px;height:17px}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:15px;font-weight:700;margin-bottom:6px}.question{scroll-margin-top:20px}.question:has(.invalid){border-color:#ad593b}.error{color:#9b342a;font-size:15px}.warn{background:#fff0e3;border-left:4px solid #b76836;padding:18px;border-radius:8px;margin:16px 0}.success{background:#e5eee0;padding:18px;border-radius:8px;margin:16px 0}.score{font:64px/1.1 Georgia,serif}.row{padding:16px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row strong{display:block}details{margin:20px 0}summary{cursor:pointer;font-weight:650}footer{border-top:1px solid var(--line);font-size:13px;color:var(--muted)}:focus-visible{outline:3px solid #bc713d;outline-offset:3px}[hidden]{display:none!important}@media(max-width:650px){.grid{grid-template-columns:1fr}.card{padding:18px}header,main,footer{padding:18px}h1{font-size:43px}.hero{padding:24px 0}.actions button{flex:1}header .small{max-width:145px;text-align:right}}@media print{header,footer,.actions,button{display:none}body{background:white}.card{break-inside:avoid}main{padding:0}}

:root{color-scheme:light}
progress{width:100%;height:7px;accent-color:var(--green);margin:12px 0 24px}.gap{margin-top:16px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.saved{font-size:13px;color:var(--muted)}input[type=file]{width:100%;height:auto}.detail-answer{margin:8px 0}.intro{margin-top:24px}.check{display:flex;align-items:flex-start;gap:8px}.hidden{display:none}.span{font:20px system-ui}.card a{overflow-wrap:anywhere}

#notice{max-width:1000px;margin:0 auto;padding:0 24px;color:var(--green)}

.code-input{display:block;width:100%;height:auto;margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#f3e9d8;color:var(--ink);font:clamp(16px,4.8vw,26px)/1.4 ui-monospace,monospace;letter-spacing:.02em}.zone-green{border-left:5px solid #8acf9a}.zone-yellow{border-left:5px solid #eac46d}.zone-red{border-left:5px solid #ed9c8b}.zone-green .chip{background:#dceede;color:#205334}.zone-yellow .chip{background:#fff0bc;color:#68500b}.zone-red .chip{background:#fbe0da;color:#83372a}

#pdf-report{display:none}
@media print{
 @page{size:A4;margin:18mm 16mm}
 :root{--ink:#172d24;--muted:#46594f;--line:#cbd5ce;color-scheme:light}
 body{background:#fff;color:#172d24;font:11pt/1.45 system-ui,sans-serif}
 body>header,main,footer{display:none!important}
 #pdf-report{display:block;color:#172d24}
 #pdf-report h1{font:27pt/1.15 Georgia,serif;margin:0 0 10pt;letter-spacing:0}
 #pdf-report h2{font:17pt/1.2 Georgia,serif;margin:0 0 9pt;break-after:avoid}
 #pdf-report p{margin:0 0 7pt}
 .pdf-heading{padding-bottom:12pt;border-bottom:1pt solid #8aa08f;margin-bottom:16pt}
 .pdf-summary{margin-bottom:18pt;break-inside:avoid}
 .pdf-answer{break-inside:avoid;margin:0 0 17pt;padding-top:10pt;border-top:.5pt solid #cbd5ce}
 .pdf-end{font-size:9pt;color:#46594f}
}

.reference-code{font:20px/1.5 ui-monospace,monospace;letter-spacing:.04em;color:var(--ink)}

.analysis-section{margin:40px 0;padding:clamp(16px,4vw,28px);border:2px solid var(--line);border-radius:18px;background:rgba(138,207,154,.035)}.analysis-section.personal-section{border-top:4px solid var(--muted);margin-top:56px;background:rgba(255,255,255,.025)}.analysis-heading{display:block;padding:0 0 18px;margin:0 0 22px;border-bottom:1px solid var(--line)}.analysis-heading h2{margin:12px 0 0}

.couples-banner{margin:0 0 32px}.couples-banner img{display:block;width:100%;height:clamp(220px,38vw,390px);object-fit:cover;border-radius:20px}.couples-banner figcaption{font-size:12px;color:var(--muted);margin-top:6px}

body>.site-header{position:relative;display:block;max-width:none;width:100%;height:clamp(300px,43vw,520px);margin:0;padding:0;border:0;background-image:linear-gradient(to bottom,rgba(233,221,201,.22) 0%,rgba(233,221,201,0) 48%,#e9ddc9 100%),url('couples-garden.png');background-size:cover;background-position:center 40%}.header-inner{max-width:1000px;margin:auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.header-inner .brand,.header-inner .small{background:rgba(243,233,216,.92);padding:8px 14px;border-radius:12px;color:#233f39}.photo-credit{position:absolute;bottom:12px;right:24px;color:#46544a;font-size:11px}.hero{padding-top:12px}.analysis-section{background:#e4dac5}.analysis-section.personal-section{background:#eee3d1}.closing-photo{margin:44px 0 0}.closing-photo img{display:block;width:100%;height:clamp(240px,38vw,410px);object-fit:cover;border-radius:20px}.closing-photo figcaption{font-size:12px;color:var(--muted);margin-top:6px}@media(max-width:650px){.header-inner{padding:18px}.header-inner .small{font-size:12px}.photo-credit{right:18px}}@media print{body>.site-header{display:none!important}}

/* Keep the photograph below the brand strip so text never overlaps faces. */
body>.site-header{height:auto;padding:0;background:none;display:flex;flex-direction:column}
.site-header .header-inner{width:100%;background:var(--paper);padding-top:16px;padding-bottom:16px}
.site-header .header-inner .brand,.site-header .header-inner .small{background:none;padding:0;border-radius:0}
body>.site-header::after{content:"";display:block;order:1;width:100%;height:clamp(230px,38vw,470px);background-image:linear-gradient(to bottom,rgba(233,221,201,0) 65%,#e9ddc9 100%),url('couples-garden.png');background-size:cover;background-position:center}
.site-header .photo-credit{position:static;order:2;align-self:flex-end;margin:4px 24px 0}
@media(max-width:650px){body>.site-header::after{height:auto;aspect-ratio:1774/887;background-size:100% auto;background-repeat:no-repeat}.site-header .photo-credit{margin-right:18px}.header-inner .brand{font-size:23px}}
