:root{color:#302a2d;font-synthesis:none;text-rendering:optimizelegibility;background:#fffaf7;font-family:Inter,Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit}.app-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{background:#fffaf7eb;border-bottom:1px solid #eaded8;justify-content:space-between;align-items:center;gap:1.5rem;min-height:4.5rem;padding:1rem clamp(1rem,5vw,4rem);display:flex}.brand{color:#8c3850;font-size:1.25rem;font-weight:800;text-decoration:none}nav{gap:clamp(.75rem,3vw,2rem);font-size:.95rem;display:flex}nav a:focus-visible,nav a:hover{text-decoration-thickness:.15rem}.nav-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.setup-notice{color:#5a4105;background:#fff0bd;border-bottom:1px solid #e8d08b;flex-wrap:wrap;gap:.5rem 1rem;padding:.75rem clamp(1rem,5vw,4rem);font-size:.9rem;display:flex}.hero,.principles,.page-shell{width:min(70rem,100% - 2rem);margin-inline:auto}.hero{text-align:center;padding:clamp(4rem,10vw,8rem) 0 clamp(3rem,7vw,6rem)}.eyebrow{color:#8c3850;letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em;max-width:18ch;margin-inline:auto;font-size:clamp(2.25rem,6vw,4.75rem);line-height:1.15}.hero>p:not(.eyebrow){color:#6c6065;max-width:39rem;margin:0 auto;font-size:1.05rem;line-height:1.9}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:2rem;display:flex}.button{color:#fff;border:2px solid #0000;border-radius:999px;min-width:12.5rem;padding:.9rem 1.25rem;font-weight:800;text-decoration:none;transition:transform .16s}.button:hover{transform:translateY(-2px)}.button:focus-visible{outline-offset:3px;outline:3px solid #302a2d}.button-wife{background:#315d91}.button-husband{background:#a14255}.button-primary{cursor:pointer;background:#8c3850;border:0}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.auth-card{max-width:40rem}.auth-card h1{margin-inline:0;font-size:clamp(2rem,5vw,3.5rem)}.profile-form{gap:1.25rem;margin-top:2rem;display:grid}.profile-form>label,.profile-form .form-field,.profile-form fieldset{gap:.5rem;font-weight:700;display:grid}.profile-form fieldset label{font-weight:400}.field-help,.field-warning{margin:0;font-size:.9rem;line-height:1.6}.field-help{color:#6c6065;font-weight:400}.field-warning{color:#8c3850;font-weight:700}.profile-form input:not([type]),.profile-form select,.profile-form textarea{width:100%;font:inherit;background:#fff;border:1px solid #bcaeb4;border-radius:.6rem;padding:.75rem}.profile-form textarea{resize:vertical}.button-secondary{color:#8c3850;cursor:pointer;background:0 0;border-color:#8c3850}.profile-page{max-width:52rem}.profile-summary{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.profile-summary h1{overflow-wrap:anywhere}.profile-avatar{object-fit:cover;border:.35rem solid;border-radius:50%;width:6rem;height:6rem}.profile-avatar.default{background:#fff;place-items:center;font-size:1.65rem;font-weight:800;display:grid}.profile-avatar.husband,.role-label.husband{color:#315d91;border-color:#315d91}.profile-avatar.wife,.role-label.wife{color:#a14255;border-color:#a14255}.role-label{font-weight:800}.profile-details{flex-wrap:wrap;gap:.75rem 1.5rem;margin:1.25rem 0;display:flex}.profile-details div{gap:.2rem;display:grid}.profile-details dt{color:#756a6e;font-size:.8rem;font-weight:700}.profile-details dd{margin:0}.profile-bio{white-space:pre-wrap;overflow-wrap:anywhere;max-width:42rem;line-height:1.75}.profile-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2rem;display:flex}.profile-edit-form{border-top:1px solid #eaded8;margin-top:2.5rem;padding-top:2rem}.form-error{color:#9c1c2d;font-weight:700}.form-help{color:#6c6065;margin-top:.75rem}.principles{padding-bottom:5rem}.principles h2{text-align:center;font-size:clamp(1.5rem,3vw,2.25rem)}.principle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.principle-grid article{background:#fff;border:1px solid #eaded8;border-radius:1.25rem;padding:1.5rem;box-shadow:0 .75rem 2rem #59364412}.principle-grid article>span{color:#a14255;font-size:1.5rem}.principle-grid h3{margin:.75rem 0 .5rem}.principle-grid p{color:#6c6065;margin-bottom:0;line-height:1.75}.page-shell{flex:1;padding-block:clamp(3rem,8vw,7rem)}.page-shell h1{margin-inline:0;font-size:clamp(2rem,5vw,3.5rem)}footer{color:#756a6e;text-align:center;border-top:1px solid #eaded8;padding:1.5rem}footer p{margin:0}@media (width<=47.99rem){.site-header{flex-direction:column;align-items:flex-start}.principle-grid,.profile-summary{grid-template-columns:1fr}}
