/* Shared styles for the portfolio and portfolio manager pages (the home page inlines its own copy). */
:root{--bg:#faf7f0;--bg2:#f1ebdd;--surface:#fff;--ink:#16130c;--muted:#5e5849;--gold:#8a6410;--gold-hi:#c9a032;--dark:#0b0a08;--on-dark:#f4eee1;--line:#e3d9c4;
--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#0b0a08;--bg2:#12100c;--surface:#17140e;--ink:#f4eee1;--muted:#b7ae98;--gold:#dcb23f;--line:#2d2818}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 18px/1.7 var(--sans);min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
h1,h2,h3{font-family:var(--serif);margin:0;font-weight:600;line-height:1.05}
a{color:inherit}img{display:block;max-width:100%}
:focus-visible{outline:3px solid var(--gold-hi);outline-offset:3px}
[hidden]{display:none!important}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.gold{background:linear-gradient(180deg,#f6dc82 0,#d3a834 45%,#a47a1a 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
header{position:sticky;top:0;z-index:20;background:rgba(11,10,8,.94);color:var(--on-dark);border-bottom:1px solid rgba(201,160,50,.35);backdrop-filter:blur(10px)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:70px;gap:14px}
.brand{text-decoration:none;font:700 30px/1 var(--serif);display:flex;align-items:baseline;gap:10px}
.brand small{font:500 13px var(--sans);letter-spacing:.14em;color:#d8d0bd}
nav{display:flex;gap:28px;align-items:center;font-size:16px;font-weight:500}
nav a{text-decoration:none;opacity:.88}nav a:hover,nav a[aria-current]{opacity:1;color:#e8c35a}
.btn{display:inline-block;background:linear-gradient(180deg,#f0cd68,#b98c1e);color:#17120a;font:600 17px var(--sans);padding:15px 30px;border-radius:999px;text-decoration:none;border:0;cursor:pointer;box-shadow:0 6px 20px rgba(201,160,50,.28);transition:transform .15s}
.btn:hover{transform:translateY(-2px)}.btn:disabled{opacity:.6;cursor:wait;transform:none}
.btn.sm{padding:10px 20px;font-size:15px;box-shadow:none}
.btn.ghost{background:transparent;color:var(--gold);border:1.5px solid var(--gold-hi);box-shadow:none}
.link{font-weight:600;color:var(--gold);text-decoration:none;border-bottom:2px solid var(--gold-hi);padding-bottom:2px;background:none;border-top:0;border-left:0;border-right:0;font-family:inherit;font-size:inherit;cursor:pointer}
.intro{background:var(--dark) radial-gradient(circle at 85% 0,rgba(201,160,50,.18),transparent 55%);color:var(--on-dark);padding:84px 0 64px;border-bottom:1px solid rgba(201,160,50,.4)}
.intro h1{font-size:clamp(52px,9vw,104px);letter-spacing:-.01em}
.intro p{max-width:560px;color:#d1c9b4;margin:14px 0 0;font-size:19px}
.rule{width:96px;height:2px;background:linear-gradient(90deg,#d3a834,transparent);margin:22px 0 0}
footer{background:#050403;color:#a39b86;padding:30px 0;font-size:15px;text-align:center}
footer a{color:#d8d0bd}
@media(max-width:640px){nav a:not(.btn){display:none}.brand small{display:none}.intro{padding:60px 0 48px}}
@media(prefers-reduced-motion:reduce){.btn{transition:none}}
.login{display:block;margin-top:10px;font-size:14px}
