:root{--ink: #14201B;--ink-green: #1B2E28;--ink-green-2: #223b33;--paper: #F2ECDD;--paper-2: #E7DFC8;--brass: #B98A2E;--brass-light: #D8AE5C;--rust: #A6472A;--sage: #7C9184;--line: rgba(20,32,27,.14);--line-paper: rgba(242,236,221,.22);--radius: 3px;--font-display: "Fraunces", serif;--font-body: "IBM Plex Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5}#root{min-height:100vh;display:flex;flex-direction:column}a{color:inherit}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;margin:0 0 .4em}h1{font-size:clamp(2rem,5vw,3.2rem)}h2{font-size:clamp(1.4rem,3vw,2rem)}p{margin:0 0 1em}.eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass)}button,input,select,textarea{font-family:inherit;font-size:1rem}.app-shell{display:flex;flex-direction:column;min-height:100vh}.topbar{background:var(--ink-green);color:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.4rem;border-bottom:3px solid var(--brass)}.brand{font-family:var(--font-display);font-style:italic;font-size:1.3rem;display:flex;align-items:center;gap:.5rem}.brand .mark{width:1.6rem;height:1.6rem;border-radius:50%;border:1.5px dashed var(--brass-light);display:flex;align-items:center;justify-content:center;font-style:normal;font-family:var(--font-mono);font-size:.65rem;color:var(--brass-light)}.nav{display:flex;flex-wrap:wrap;gap:0;background:var(--ink-green-2);border-bottom:1px solid rgba(242,236,221,.12)}.nav a{text-decoration:none;color:var(--paper-2);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;padding:.7rem 1rem;border-right:1px solid rgba(242,236,221,.1)}.nav a.active,.nav a:hover{background:var(--brass);color:var(--ink)}.signout{background:none;border:1px solid rgba(242,236,221,.3);color:var(--paper);padding:.4rem .8rem;border-radius:var(--radius);cursor:pointer;font-family:var(--font-mono);font-size:.75rem}.signout:hover{border-color:var(--brass-light);color:var(--brass-light)}main.content{flex:1;max-width:980px;width:100%;margin:0 auto;padding:2.4rem 1.4rem 4rem}footer.foot{text-align:center;padding:1.2rem;font-family:var(--font-mono);font-size:.7rem;color:var(--sage);border-top:1px solid var(--line)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;margin-bottom:1rem}.stamp{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:5.2rem;height:5.2rem;border-radius:50%;border:2px dashed var(--brass);color:var(--brass);font-family:var(--font-display);font-style:italic;transform:rotate(-4deg);flex-shrink:0}.stamp .yr{font-size:1.15rem;line-height:1}.stamp .place{font-family:var(--font-mono);font-style:normal;font-size:.5rem;letter-spacing:.05em;text-transform:uppercase;margin-top:.15rem;text-align:center;padding:0 .3rem}.year-row{display:flex;align-items:center;gap:1.1rem;padding:1rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.year-row:hover .stamp{transform:rotate(0);border-style:solid}.year-row .meta{flex:1}.year-row .meta .loc{font-family:var(--font-mono);font-size:.8rem;color:var(--sage)}.btn{display:inline-block;background:var(--ink-green);color:var(--paper);border:none;padding:.65rem 1.2rem;border-radius:var(--radius);cursor:pointer;font-family:var(--font-mono);font-size:.82rem;letter-spacing:.03em;text-decoration:none}.btn:hover{background:var(--brass);color:var(--ink)}.btn.secondary{background:transparent;color:var(--ink-green);border:1px solid var(--ink-green)}.btn.danger{background:var(--rust)}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.field label{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--sage)}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--radius);padding:.6rem .7rem;background:var(--paper)}.field textarea{min-height:6rem;resize:vertical}.form-row{display:flex;gap:1rem;flex-wrap:wrap}.form-row .field{flex:1;min-width:160px}.slideshow{position:relative;background:var(--ink);border-radius:var(--radius);overflow:hidden}.slideshow img{width:100%;display:block;max-height:70vh;object-fit:contain;background:#000}.slideshow .caption{color:var(--paper);font-family:var(--font-mono);font-size:.8rem;padding:.6rem 1rem}.slide-controls{display:flex;justify-content:space-between;align-items:center;padding:.6rem}.slide-controls button{background:#f2ecdd1f;color:var(--paper);border:1px solid rgba(242,236,221,.3);border-radius:var(--radius);padding:.4rem .8rem;cursor:pointer;font-family:var(--font-mono)}.thumbs{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.thumbs img{width:70px;height:52px;object-fit:cover;border-radius:2px;cursor:pointer;border:2px solid transparent;opacity:.7}.thumbs img.active{border-color:var(--brass);opacity:1}table.ledger{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.85rem}table.ledger th,table.ledger td{text-align:left;padding:.55rem .5rem;border-bottom:1px solid var(--line)}table.ledger th{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--sage)}.balance-pos{color:#2f6b4f}.balance-neg{color:var(--rust)}.empty{border:1px dashed var(--line);border-radius:var(--radius);padding:2rem;text-align:center;color:var(--sage)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ink-green);padding:1rem}.login-card{background:var(--paper);border-radius:var(--radius);padding:2.4rem;width:100%;max-width:380px}.login-tabs{display:flex;gap:.4rem;margin-bottom:1.2rem}.login-tabs button{flex:1;background:transparent;border:1px solid var(--ink-green);color:var(--ink-green);padding:.5rem;border-radius:var(--radius);cursor:pointer;font-family:var(--font-mono);font-size:.78rem}.login-tabs button.active{background:var(--ink-green);color:var(--paper)}.pending-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ink-green);padding:1rem}.pending-card{background:var(--paper);border-radius:var(--radius);padding:2.4rem;width:100%;max-width:420px;text-align:center}.badge{display:inline-block;font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .5rem;border-radius:2px;background:var(--paper-2);color:var(--ink-green)}.badge.open{background:#dcecdf;color:#2f6b4f}.badge.closed{background:var(--paper-2)}.error-text{color:var(--rust);font-family:var(--font-mono);font-size:.8rem}.success-text{color:#2f6b4f;font-family:var(--font-mono);font-size:.8rem}@media (max-width: 640px){.nav a{padding:.6rem .7rem;font-size:.72rem}main.content{padding:1.6rem 1rem 3rem}}.club-circle-wrap{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;display:flex;justify-content:center;overflow-x:auto;padding:.5rem 0 2.8rem}.club-circle{position:relative;margin:0 auto;flex-shrink:0}.club-circle-item{position:absolute;top:50%;left:50%;width:66px;height:66px;margin:-33px 0 0 -33px;background:none;border:none;cursor:pointer;padding:0;transform:rotate(var(--angle)) translate(var(--radius)) rotate(calc(-1 * var(--angle)))}.club-circle-item .avatar{width:66px;height:66px;border-radius:50%;background-color:var(--paper-2);background-size:cover;background-position:center;border:2px solid var(--brass);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-style:italic;font-size:1.4rem;color:var(--brass)}.club-circle-item:hover .avatar{border-color:var(--rust);transform:scale(1.08)}@media (max-width: 699px){.club-circle-wrap{width:auto;position:static;margin:0;overflow-x:visible}.club-circle{position:static;width:auto!important;height:auto!important;display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem}.club-circle-item{position:static;transform:none!important;margin:0;width:60px;height:60px}.club-circle-item .avatar{width:60px;height:60px}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14201b99;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.modal-card{background:var(--paper);border-radius:var(--radius);padding:1.6rem;width:100%;max-width:360px}
