@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');
:root{--bg:#f5f0e8;--paper:#fbf8f2;--ink:#171513;--muted:#716a62;--line:#d8d0c5;--red:#b74738}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 "DM Sans",sans-serif}a{text-decoration:none;color:inherit}header{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;background:#f5f0e8ee;backdrop-filter:blur(10px);z-index:5}.logo{font-weight:700;letter-spacing:.12em}.logo i{font:italic 500 1em "Playfair Display";letter-spacing:0}nav{display:flex;gap:22px;font-size:13px;color:var(--muted)}main{max-width:1200px;margin:auto;padding:0 5vw}.hero{min-height:calc(100vh - 76px);display:flex;flex-direction:column;justify-content:center;max-width:1000px}.hero small,.content>small,.result>small,.challenge>small{color:var(--red);letter-spacing:.18em;font-weight:600;font-size:11px}.hero h1,.content h1{font-size:clamp(50px,7vw,90px);line-height:.98;letter-spacing:-.05em;font-weight:500;margin:22px 0}.hero h1 em,.content h1 em{font-family:"Playfair Display"}.hero p,.lead{font-size:20px;color:var(--muted);max-width:720px}.btn{display:inline-block;background:var(--ink);color:var(--bg);border:1px solid var(--ink);padding:15px 24px;font-weight:600;cursor:pointer;margin:25px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);gap:1px;background:var(--line)}.cards article{background:var(--paper);padding:34px;min-height:210px}.cards b,.row>b,.talkgrid b{color:var(--red);font-size:11px;letter-spacing:.12em}.cards h2{margin-top:35px;font-size:26px;font-weight:500}.cards p,.row p,.entry p{color:var(--muted)}blockquote{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:100px 0;padding:70px 0;font:italic 42px/1.15 "Playfair Display"}footer{padding:50px 5vw;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.content{padding-top:85px;padding-bottom:100px}.content h1{max-width:900px}fieldset{border:0;border-top:1px solid var(--line);padding:40px 0;margin:0}legend{font-size:27px;line-height:1.2;font-weight:500;max-width:900px}legend span{color:var(--red);font-size:11px;vertical-align:top;margin-right:18px}.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0 0 35px}.opts label{cursor:pointer}.opts input{position:absolute;opacity:0}.opts span{display:block;border:1px solid var(--line);padding:17px;background:#ffffff20;height:100%}.opts input:checked+span{background:var(--ink);color:var(--bg)}.notice{padding:18px 20px;background:var(--paper);border:1px solid var(--line);margin:25px 0}.result{text-align:center;padding-top:80px;padding-bottom:100px}.score{font:100px "Playfair Display";color:var(--red);line-height:1;margin:25px}.score i{font:18px "DM Sans";color:var(--muted)}.center{margin:0 auto}.metrics{text-align:left;max-width:800px;margin:80px auto}.metrics h2{font-size:32px;font-weight:500}.metric{margin:23px 0}.metric>div{display:flex;justify-content:space-between;font-size:14px}.metric>i,.progress{height:5px;background:var(--line);display:block;margin-top:8px}.metric em,.progress i{display:block;height:100%;background:var(--red)}.next{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);text-align:left}.next a{background:var(--paper);padding:30px}.next h2{font-size:25px;font-weight:500}.next p{color:var(--muted)}.row{max-width:900px;display:grid;grid-template-columns:60px 1fr 60px;border-top:1px solid var(--line);padding:32px 0;opacity:.5}.row.done{opacity:1}.row h2{margin:0;font-size:27px;font-weight:500}.row p{margin-bottom:0}.talkgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:950px;margin:45px 0}.talkgrid button{background:var(--paper);border:1px solid var(--line);text-align:left;padding:28px;min-height:180px;cursor:pointer}.talkgrid strong{display:block;font:22px "Playfair Display";margin:30px 0}.talkgrid small{color:var(--muted)}.talkgrid button.used{background:var(--ink);color:var(--bg)}.talkgrid button.used small{color:#bbb}.challenge{min-height:calc(100vh - 76px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.circle{width:170px;height:170px;border:1px solid var(--line);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;margin:25px}.circle span{color:var(--red);font-size:10px;letter-spacing:.2em}.circle b{font:65px "Playfair Display";line-height:1}.circle i{color:var(--muted);font-style:normal}.challenge h1{font:50px "Playfair Display";font-weight:500;max-width:800px;margin:0}.challenge p{font-size:19px;color:var(--muted);max-width:650px}.challenge .progress{width:300px;margin-top:35px}.diary{max-width:800px;display:grid;gap:12px;margin:50px 0}.diary input,.diary textarea,.diary select{font:inherit;border:1px solid var(--line);background:var(--paper);padding:15px}.diary textarea{min-height:220px}.entry{max-width:800px;border-top:1px solid var(--line);padding:28px 0}.entry h2{font:30px "Playfair Display"}.entry small{color:var(--red)}
@media(max-width:750px){header{height:auto;min-height:66px;gap:12px;padding:13px 5vw}nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}.hero{min-height:auto;padding:90px 0}.hero h1,.content h1{font-size:52px}.cards,.next,.talkgrid,.opts{grid-template-columns:1fr}.opts{margin-left:0}legend{font-size:23px}.row{grid-template-columns:45px 1fr}.row>span{grid-column:2}.score{font-size:80px}blockquote{font-size:31px}.challenge h1{font-size:40px}}
