:root{font-family:system-ui,'Segoe UI',sans-serif;color:#154c43;background:#faf8ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{max-width:1120px;margin:auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:14px;font-size:30px;font-weight:850;text-decoration:none}.brand>span{font-size:20px}.brand small{display:block;font-size:12px;font-weight:550}a{color:inherit}main{max-width:1060px;margin:30px auto;padding:0 24px}h1{font-size:clamp(32px,5vw,58px);line-height:1.08;letter-spacing:-1.5px;margin:18px 0}h2{font-size:clamp(24px,3vw,34px);line-height:1.25}p{line-height:1.65}.lead{font-size:20px;max-width:700px;color:#48655e}.eyebrow{font-weight:750;letter-spacing:1.5px;font-size:12px;text-transform:uppercase}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:30px 0}.card,.panel{background:#fff;border:1px solid #dce7dc;border-radius:26px;padding:26px;box-shadow:0 8px 28px #20433808}.card img{width:100%;height:240px;object-fit:contain;border-radius:14px;background:#faf8ef}.card h2{margin:16px 0 8px}.card p{min-height:52px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.primary,button{font:inherit;font-weight:700;border:1px solid #cbdcd3;border-radius:14px;padding:13px 20px;background:#fff;color:#154c43;cursor:pointer;min-height:48px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary{background:#155f4f;color:white;border-color:#155f4f}button:hover,.primary:hover{filter:brightness(.96)}button:disabled{opacity:.6;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d59a24;outline-offset:4px}.muted{color:#547168;font-size:14px}.progress{height:9px;background:#e8eee2;border-radius:9px;margin:20px 0;overflow:hidden}.progress span{display:block;height:100%;background:#e4b84d;transition:width .3s}.choices{display:grid;gap:12px;margin:24px 0}.choices button{justify-content:flex-start;text-align:left;white-space:normal}.selected{background:#e3efd7!important;border:2px solid #39774b}.feedback{margin:18px 0;padding:18px;border-radius:14px;background:#fff0d1;border:1px solid #e2bd6a}.feedback.good{background:#e5f4dc;border-color:#9dc98f}.question{font-size:clamp(30px,6vw,60px);font-weight:800;text-align:center;margin:30px}.reading{display:grid;grid-template-columns:minmax(200px,.8fr) 1.2fr;gap:28px;align-items:center}.reading img{width:100%;border-radius:22px}.reading p{font-size:22px;line-height:1.8}.clock{max-width:290px;width:100%;display:block;margin:10px auto}.clock text{font-family:inherit;font-size:15px;fill:#154c43}.clock line{stroke-linecap:round}.shop{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.product{background:#fff6df;border-radius:18px;padding:22px;text-align:center}.product .emoji{font-size:58px}.count{font-size:26px;min-width:24px}.product .row{justify-content:center}label{display:grid;gap:8px;font-weight:700}select,input{font:inherit;border:1px solid #acbfb5;border-radius:12px;padding:13px;background:white;min-width:0}input{width:160px}footer{max-width:1060px;margin:45px auto;padding:28px 24px;border-top:1px solid #dce4d8;font-size:13px;line-height:1.8;color:#527166}.result{text-align:center;padding:35px 10px}.result .star{font-size:76px;display:block;animation:pop .5s ease-out}.order{display:grid;gap:10px;margin:20px 0}.slot{padding:12px;background:#f3f5ed;border-radius:12px}details{margin:20px 0}summary{cursor:pointer;font-weight:700}.hidden{display:none!important}@keyframes pop{from{transform:scale(.6)}to{transform:scale(1)}}@media(max-width:640px){header{padding:18px}.brand{gap:9px}.brand>span{font-size:16px}header button{padding:10px}main{padding:0 16px;margin:15px auto}.grid,.reading{grid-template-columns:1fr}.card,.panel{padding:20px}.reading img{max-height:220px;object-fit:cover}.reading p{font-size:20px}.shop{gap:10px}.product{padding:14px}.product .row{gap:6px}.product button{padding:10px 14px}.card img{height:220px}.row>.primary{max-width:100%}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:640px){.product{padding:10px}.product .row{flex-wrap:nowrap;gap:3px}.product button{padding:6px;min-width:44px}.count{font-size:22px;min-width:20px}}
