/* Quiet stone surfaces and bronze fittings; form text stays flat and legible. */
:root{--field-face49:#242925;--field-ink49:#fff6e5;--field-muted49:#dacdb6;--field-line49:#93836a;--field-focus49:#f5d697;--form-wash49:#ffffff07;--field-shadow49:#0005;--error49:#ffb8a8}
:root[data-theme=light]{--field-face49:#fffaf0;--field-ink49:#302417;--field-muted49:#66533b;--field-line49:#998367;--field-focus49:#725016;--form-wash49:#fffaf04d;--field-shadow49:#65401b12;--error49:#96341f}
.member-main :is(form,.forecast-builder30,.form-grid),.entry-card20,.setup20{--ink:var(--field-ink49);--muted:var(--field-muted49)}
:is(.member-main,.entry-card20,.setup20,dialog) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){background:var(--field-face49);color:var(--field-ink49);border:1px solid var(--field-line49);border-radius:10px;min-height:48px;padding:11px 14px;box-shadow:inset 0 2px 4px var(--field-shadow49),0 1px 0 #ffffff18;text-shadow:none;font-size:1rem;line-height:1.4;transition:border-color .15s,box-shadow .15s}
:is(.member-main,.entry-card20,.setup20,dialog) :is(input,select,textarea):focus-visible{outline:2px solid var(--field-focus49);outline-offset:3px;border-color:var(--field-focus49)}
:is(.member-main,.entry-card20,.setup20,dialog) :is(input,textarea)::placeholder{color:var(--field-muted49);opacity:.85}
:is(.member-main,.entry-card20,.setup20,dialog) option{background:var(--field-face49);color:var(--field-ink49)}
:is(.member-main,.entry-card20,.setup20,dialog) :is(input,textarea):user-invalid{border-color:var(--error49);outline-color:var(--error49)}
:is(.member-main,.entry-card20,.setup20,dialog) :is(input,textarea)[aria-invalid=true]{border-color:var(--error49)}
:is(.member-main,.entry-card20,.setup20,dialog) label{color:var(--field-ink49);font-weight:550;letter-spacing:0;text-shadow:none;font-size:.9rem}
:is(.member-main,.entry-card20,.setup20,dialog) input:is([type=checkbox],[type=radio]){accent-color:var(--field-focus49);flex:none;inline-size:20px;block-size:20px}
:is(.member-main,.entry-card20,.setup20,dialog) .check-label{display:flex;align-items:center;gap:10px;min-height:44px;line-height:1.5}
:is(.member-main,.entry-card20,.setup20,dialog) .error{color:var(--error49);font-size:.9rem;text-shadow:none}
:is(.member-main,.entry-card20,.setup20,dialog) .error:empty{display:none}
.form-card{max-width:900px;margin-inline:auto}
.member-main .form-card h1,.setup20 h1{font-size:1.5rem;line-height:1.45;letter-spacing:0}
.form-card>.muted{font-size:.9rem;max-width:68ch;margin:10px 0 20px}
.form-grid{gap:16px 20px;align-items:start}
.form-grid select,.form-grid textarea{width:100%}
.form-section49{min-inline-size:0;margin:0;padding:18px 20px 20px;border:1px solid var(--field-line49);border-radius:14px;background:var(--form-wash49);box-shadow:inset 0 1px 0 #ffffff15}
.form-section49 legend{padding-inline:9px;color:var(--field-ink49);font-size:.95rem;font-weight:650;text-shadow:none}
.form-help49{font-size:.85rem!important;color:var(--field-muted49)!important;line-height:1.6;margin:0 0 15px!important;text-shadow:none!important}
.advanced-form49{padding:12px 16px;border:1px solid var(--field-line49);border-radius:12px;margin:0}
.advanced-form49 summary{color:var(--field-ink49)}
.advanced-form49 fieldset{border:1px solid var(--field-line49);border-radius:10px;margin:15px 0;padding:15px;min-inline-size:0}
.entry-card20{background:linear-gradient(135deg,#39342c,#211f1d);border:1px solid #ac9066;box-shadow:inset 0 1px 0 #f5d69738,0 20px 60px #0005;border-radius:18px;padding:28px}
:root[data-theme=light] .entry-card20{background:linear-gradient(135deg,#fff9ec,#eee0c8);box-shadow:inset 0 1px 0 #fff,0 20px 60px #4a321f24}
.entry-card20 :is(h1,h2,p,small,footer,footer a){color:var(--field-ink49);text-shadow:none}
.entry-card20 h2{font-size:1.4rem}.entry-card20 form{display:grid;gap:8px}.entry-card20 form>button{margin-top:6px;min-height:46px}
.entry-card20 form>label:not(:first-child){margin-top:10px}
.entry-card20 form>small{color:var(--field-muted49)}
.entry-card20 .primary{background:linear-gradient(#704f2b,#48321d);border:1px solid #af8b53;color:#fff8e6;text-shadow:none;box-shadow:inset 0 1px 0 #ead5a03d}
.entry-card20 .primary:hover{background:linear-gradient(#816035,#583e22);color:#fff8e6}
:root[data-theme=light] .entry-card20 :is(button:not(.primary),.provider20){background:#fffaf0;color:#302417;border-color:#998367}
.sun-strip49{margin-top:16px}
.member-main .glass.sun-strip49{padding:24px 28px}
.sun-strip49>header{display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin-bottom:14px}
.sun-strip49 h2{font-size:1.08rem!important;margin:0}
.sun-icons49{display:grid;grid-template-columns:repeat(12,minmax(44px,1fr));gap:8px}
.member-main .sun-icons49 button{position:relative;display:grid;place-items:center;min-width:0;min-height:50px;padding:5px;background:linear-gradient(145deg,#665039,#372a1e);color:#ffe7b6;border:1px solid #a88b5e;border-radius:12px;box-shadow:inset 0 1px 0 #fce3a63d,0 3px 5px #0003;text-shadow:0 1px 1px #000;font-size:1.8rem;line-height:1}
.member-main .sun-icons49 button:hover,.member-main .sun-icons49 button:focus-visible{background:linear-gradient(145deg,#876437,#4d371f);outline:2px solid var(--field-focus49);outline-offset:2px}
.sun-tooltip49{position:absolute;bottom:calc(100% + 7px);font:500 .8rem/1.4 'Segoe UI',sans-serif;white-space:nowrap;color:#fff9e9;background:#302519;border:1px solid #c5a474;padding:5px 8px;border-radius:6px;opacity:0;pointer-events:none;z-index:3;text-shadow:none}
.sun-icons49 button:is(:hover,:focus-visible) .sun-tooltip49{opacity:1}
.sun-scope49{font-size:.85rem;color:var(--muted);margin-bottom:8px}
.sun-context49{border-inline-start:3px solid var(--gold);padding-inline-start:16px;margin:20px 0}
.sun-reading-grid49{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.sun-reading-grid49>article{min-width:0;border:1px solid var(--line);border-radius:12px;padding:18px;background:var(--form-wash49)}
.sun-reading-grid49 h3{font-size:1rem;margin-bottom:10px}.sun-reading-grid49 p{font-size:.93rem;line-height:1.75}
.reading-takeaway49{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.reading-takeaway49 strong{font-size:.85rem;color:var(--gold)}.reading-takeaway49 small{display:block;margin-top:9px;line-height:1.65}
.sun-method49{margin-top:20px}
@media(max-width:1100px){.sun-icons49{grid-template-columns:repeat(6,minmax(44px,1fr))}}
@media(max-width:650px){.form-section49{padding:14px}.form-grid{gap:14px}.entry-card20{padding:22px}.sun-reading-grid49{grid-template-columns:1fr}.member-main .glass.sun-strip49{padding:22px}.sun-icons49{gap:6px}.member-main .sun-icons49 button{font-size:1.5rem;min-height:46px}.sun-tooltip49{display:none}}
@media(max-width:360px){.sun-icons49{grid-template-columns:repeat(4,minmax(44px,1fr))}}
@media(prefers-reduced-motion:reduce){:is(input,select,textarea){transition:none!important}}
/* Same vector mark on desktop and mobile, without recolouring or cropping. */
.brand-mark27,.logo27 img,.welcome-logo27,.mobile-brand49 img{object-fit:contain;flex-shrink:0;filter:none}
.sidebar14 .brand-mark27{display:block;width:38px;height:38px}
.mobile-brand49{display:none;flex:none;line-height:0}
@media(max-width:850px){.mobile-brand49{display:block}}
