:root{--bg:#070809;--panel:#0d0e0f;--text:#f4f0e8;--muted:#bdb6ac;--gold:#c9974d;--line:#343438;--good:#b9d8b5;--bad:#e0aaa2}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% 4%,#141210 0,#08090a 34%,#050606 100%);color:var(--text);font-family:Georgia,"Times New Roman",serif}
button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}
.site-head{min-height:72px;padding:20px clamp(18px,4vw,40px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(201,151,77,.13)}
.brand{color:#d8d0c4;text-decoration:none;text-transform:uppercase;letter-spacing:.22em;font:650 12px/1.4 Arial,sans-serif}
.home-link,footer a{color:var(--muted);text-underline-offset:4px;font:14px/1.5 Arial,sans-serif}
main{width:min(920px,calc(100% - 40px));margin:0 auto;padding:clamp(34px,6vw,68px) 0 88px}
.loading,.auth-card,.empty,.notice{max-width:620px;margin-left:auto;margin-right:auto}
.eyebrow{margin:0 0 12px;color:var(--gold);font:700 11px/1.3 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}
h1{max-width:760px;margin:0 0 14px;font-size:clamp(38px,7vw,62px);font-weight:normal;line-height:1.03;letter-spacing:-.035em}
h2{margin:0;font-weight:normal;font-size:clamp(29px,4vw,40px);line-height:1.08;letter-spacing:-.025em}
h3{margin:0;font-weight:normal;font-size:clamp(25px,4vw,34px);line-height:1.1}
p{line-height:1.6}.lede{max-width:620px;color:#d0c9be;font-size:18px}.muted,.hint{color:var(--muted);font:14px/1.6 Arial,sans-serif}
.auth-card{padding:clamp(26px,5vw,48px);border:1px solid var(--line);border-radius:16px;background:rgba(10,11,12,.92)}
label{display:block}label>span{display:block;margin:0 0 7px;color:#ddd6cb;font:650 12px/1.3 Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase}
input,textarea,select{width:100%;padding:13px 14px;border:1px solid #444448;border-radius:9px;background:#101112;color:var(--text);outline:none}
input:focus,textarea:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,151,77,.14)}
button,.button{min-height:44px;padding:11px 17px;border:1px solid #514a40;border-radius:999px;background:transparent;color:#eee8de;cursor:pointer;text-decoration:none;font:650 11px/1.2 Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase}
button:hover,.button:hover,button:focus-visible,.button:focus-visible{border-color:var(--gold);color:#f4dca8}
button.primary,.button.primary{border-color:var(--gold);background:var(--gold);color:#17120a}
button.quiet{border:0;color:var(--muted);text-decoration:underline;text-underline-offset:4px}button:disabled{opacity:.55;cursor:default}
.auth-form{display:grid;gap:14px;margin-top:28px}.account-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.status{min-height:1.5em;color:#c6bda9;font:13px/1.5 Arial,sans-serif}.status.bad{color:var(--bad)}.status.good{color:var(--good)}
.dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:34px}.dashboard-head .who{margin-top:14px;color:var(--muted);font:13px/1.5 Arial,sans-serif}
.summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 58px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.summary>div{min-height:94px;padding:20px 24px;border-right:1px solid var(--line)}.summary>div:first-child{padding-left:0}.summary>div:last-child{border-right:0}
.summary strong{display:block;margin-bottom:5px;color:#ead9b0;font:normal 28px/1 Georgia,serif}
.summary span{color:var(--muted);font:600 11px/1.45 Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:52px 0 18px;padding-bottom:16px;border-bottom:1px solid var(--line)}.section-head p{margin:7px 0 0}
.cards{display:grid;gap:0}
.memorial-card{padding:30px 0 42px;border-bottom:1px solid var(--line)}
.memorial-card:first-child{padding-top:12px}
.memorial-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.dates{margin-top:8px;color:var(--muted);font:12px/1.5 Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.role,.state{display:inline-flex;padding:5px 9px;border:1px solid #4a4238;border-radius:999px;color:#d8cbb4;font:650 9px/1 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.quote{max-width:720px;margin:24px 0;color:#e0d9cf;font-size:20px;font-style:italic;line-height:1.55}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat{padding:14px 16px;text-align:left;border-right:1px solid var(--line)}.stat:first-child{padding-left:0}.stat:last-child{border-right:0}
.stat strong{display:block;font-size:24px;font-weight:normal}.stat span{color:var(--muted);font:10px/1.4 Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.new{display:inline-block;margin-top:5px;color:var(--good);font:650 10px/1.2 Arial,sans-serif}
.milestone{margin:20px 0 0;padding:4px 0 4px 16px;border-left:2px solid var(--gold);color:#c9c1b5;font:14px/1.6 Arial,sans-serif}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.card-status{margin-top:10px}
.subpanel{margin-top:22px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.subpanel[hidden]{display:none}.subpanel form{display:grid;gap:12px}
.manager-list{display:grid;gap:7px;margin:12px 0 0;padding:0;list-style:none}.manager-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#d0c8bd;font:13px/1.5 Arial,sans-serif}.manager-list small{color:var(--muted)}
.collection-upgrade{position:relative;margin-top:28px;padding:24px 0 24px 24px;border-top:1px solid rgba(201,151,77,.34);border-bottom:1px solid rgba(201,151,77,.34)}
.collection-upgrade:before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:2px;background:var(--gold)}
.collection-upgrade h4{margin:0 0 8px;color:var(--text);font:normal 28px/1.1 Georgia,serif}.collection-upgrade p:not(.eyebrow){max-width:700px;margin:0 0 16px;color:#c9c1b5;font:14px/1.6 Arial,sans-serif}
.funding{margin-top:24px;padding:22px 0;border-top:1px solid rgba(201,151,77,.24)}.funding h4{margin:0 0 8px;font:normal 24px/1.2 Georgia,serif}.funding p{margin:0 0 15px;color:#c3bbaf;font:14px/1.6 Arial,sans-serif}
.funding-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.funding-choices button{padding:11px 8px;border-radius:10px;letter-spacing:.02em;text-transform:none;font-size:13px}.funding-choices .recommended{border-color:var(--gold)}.funding-choices small{display:block;margin-top:3px;color:var(--muted);font-size:10px}
.funding-zero,.funding-later{display:block;margin:10px auto 0!important}.funding-later{margin-top:3px!important;color:var(--muted)!important;font-size:10px!important}
.custom-row{display:flex;gap:8px;margin-top:10px}.custom-row input{max-width:180px}
.contribution-history{display:grid}.contribution-history>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}
.contribution-history span{color:#d1c9be;font:14px/1.45 Arial,sans-serif}.contribution-history strong{color:#ead8aa;font-size:19px;font-weight:normal}.contribution-history small{color:var(--muted);font:12px/1.4 Arial,sans-serif}
.follow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.follow-card{padding:22px;background:#08090a}.follow-card p{margin:12px 0;color:#c8c0b5;line-height:1.55}
.notice{padding:15px 18px;margin-bottom:20px;border:1px solid var(--line);border-radius:10px;color:#d0c8bb;font:14px/1.6 Arial,sans-serif}.notice.good{border-color:rgba(120,176,126,.45)}.notice.bad{border-color:rgba(205,116,104,.55)}
.empty{padding:38px 0;text-align:center;color:var(--muted)}
footer{display:flex;justify-content:center;gap:16px 26px;flex-wrap:wrap;padding:28px 20px;border-top:1px solid #252527}
@media(max-width:700px){
 main{width:calc(100% - 40px);padding-top:36px}
 .dashboard-head{display:block;margin-bottom:28px}.dashboard-head button{margin-top:16px}
 h1{font-size:42px}
 .summary{grid-template-columns:repeat(3,1fr);margin-bottom:42px}
 .summary>div{min-height:82px;padding:16px 10px}.summary>div:first-child{padding-left:0}
 .summary strong{font-size:24px}.summary span{font-size:9px}
 .section-head{align-items:flex-start;margin-top:42px}.section-head .button{flex:0 0 auto}
 .memorial-card{padding:24px 0 34px}
 .memorial-top{display:block}.role{margin-top:12px}
 .quote{font-size:18px}
 .stats{gap:0}.stat{padding:12px 8px}.stat:first-child{padding-left:0}.stat strong{font-size:21px}
 .actions{gap:7px}.actions .button,.actions button{padding-left:13px;padding-right:13px;font-size:10px}
 .funding-choices{grid-template-columns:1fr 1fr}
 .follow-grid{grid-template-columns:1fr}
}
@media(max-width:460px){
 .site-head{align-items:flex-start}.home-link{max-width:145px;text-align:right}
 .section-head{display:block}.section-head .button{display:inline-flex;align-items:center;margin-top:14px}
 .summary>div{padding:14px 7px}.summary strong{font-size:21px}
 .summary span{letter-spacing:.04em}
 .contribution-history>div{grid-template-columns:1fr auto}.contribution-history small{grid-column:1/-1}
 .funding-choices{grid-template-columns:1fr 1fr}
 .custom-row{display:grid}.custom-row input{max-width:none}
}
@media(max-width:350px){main{width:calc(100% - 28px)}.summary{grid-template-columns:1fr}.summary>div{border-right:0;border-bottom:1px solid var(--line);padding-left:0}.summary>div:last-child{border-bottom:0}.actions>*{width:100%}.funding-choices{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}


/* Owner permissions and removal controls */
.preferences-panel,.danger-panel{margin-top:1rem}
.preferences-panel form,.danger-panel form{display:grid;gap:1rem}
.preference-row{
  display:flex;align-items:flex-start;gap:.85rem;padding:1rem;
  border:1px solid rgba(185,139,82,.3);border-radius:16px;
  background:rgba(255,255,255,.025);cursor:pointer
}
.preference-row input{
  flex:0 0 auto;width:1.25rem;height:1.25rem;margin:.16rem 0 0;
  accent-color:#b98b52
}
.preference-row span{display:grid;gap:.28rem}
.preference-row strong{font:600 1rem/1.35 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f5f1ea}
.preference-row small{font:400 .9rem/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#aaa39a}
.removal-toggle{margin-left:auto;color:#b9b2aa!important;border-color:rgba(185,178,170,.25)!important}
.danger-panel{border-color:rgba(190,104,93,.38)!important;background:rgba(75,25,21,.12)!important}
.danger-panel .eyebrow{color:#c68d83}
.danger-button{
  justify-self:start;min-height:48px;padding:.8rem 1.15rem;border:1px solid rgba(205,119,105,.55);
  border-radius:999px;background:rgba(142,54,43,.2);color:#f3ded9;
  font:700 .86rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.08em;text-transform:uppercase;cursor:pointer
}
.danger-button:hover,.danger-button:focus-visible{background:rgba(164,65,52,.34);outline:none}
.danger-button:disabled{opacity:.55;cursor:wait}
@media(max-width:640px){
  .preference-row{padding:.9rem}
  .removal-toggle{margin-left:0}
}
.collection-upgrade-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:20px}
.collection-upgrade-actions .button{display:flex;align-items:center;justify-content:center;max-width:100%;white-space:normal;text-align:center;line-height:1.25}
.collection-upgrade-actions .button+.button{margin-left:0}
@media(max-width:640px){.collection-upgrade-actions{align-items:stretch}.collection-upgrade-actions .button{width:fit-content;max-width:100%}}
