:root{--ink:#19130d;--paper:#efe0bd;--paper2:#f8f0da;--red:#9f2d22;--blue:#2b6f8e;--gold:#c89732;--muted:#6f6251;--line:#3c3024;--shadow:0 10px 30px rgba(25,19,13,.18)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Georgia,"Times New Roman",serif;background:radial-gradient(circle at top,#f7edd2 0,#dcc79d 68%,#b79b6b 100%);min-height:100vh}.masthead{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:14px;padding:12px max(18px,calc((100vw - 1080px)/2));background:rgba(25,19,13,.96);color:white;border-bottom:4px solid var(--gold)}.masthead h1{font-size:clamp(1.15rem,4vw,1.8rem);margin:0;letter-spacing:.09em}.masthead p{margin:2px 0 0;color:#e3c77d;font-size:.84rem;text-transform:uppercase;letter-spacing:.12em}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font:bold 34px/1 system-ui;background:var(--paper2);color:var(--red);border:4px solid var(--gold);box-shadow:inset 0 0 0 2px var(--ink)}.masthead>:last-child{margin-left:auto}.shell{width:min(1080px,calc(100% - 24px));margin:18px auto 80px;display:grid;gap:16px}.panel{position:relative;background:linear-gradient(145deg,rgba(255,250,233,.96),rgba(231,213,172,.97));border:2px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.panel:before{content:"";position:absolute;inset:5px;border:1px dashed rgba(60,48,36,.35);border-radius:9px;pointer-events:none}.compact{padding-bottom:14px}.panel h2,.panel h3{margin:0 0 12px}.muted{color:var(--muted);font-size:.9rem}.hidden{display:none!important}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-weight:bold;font-size:.72rem;color:var(--red)}button,.button-link{border:2px solid var(--ink);background:#ead9ad;color:var(--ink);border-radius:8px;padding:10px 14px;font:700 .95rem Georgia,serif;cursor:pointer;text-decoration:none;box-shadow:2px 3px 0 var(--ink)}button:hover,.button-link:hover{transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.primary{background:var(--red);color:white}.danger{background:#551b18;color:white}.large{font-size:1.08rem;padding:14px 20px}.icon-btn{background:transparent;color:white;border-color:#ddc77f;box-shadow:none}.active-ride{display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:var(--red)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-head h2{margin:0}.score-pill{background:var(--ink);color:white;border:3px solid var(--gold);border-radius:999px;padding:8px 14px;font-weight:bold}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.form-grid label{font-weight:bold;font-size:.85rem}.form-grid input,.form-grid select,.form-grid textarea,.search{width:100%;display:block;margin-top:5px;border:2px solid var(--line);background:#fffaf0;padding:10px;border-radius:7px;font:inherit}.admin-form{grid-template-columns:repeat(4,minmax(140px,1fr)) auto auto}.quest-card{border:4px double var(--line);border-radius:16px;padding:18px;background:rgba(255,250,234,.85);min-height:220px}.quest-card.empty{display:grid;place-items:center;color:var(--muted)}.quest-card h3{font-size:1.55rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:3px solid var(--ink);padding-bottom:8px}.objective{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px 8px;border-bottom:1px dashed #887962}.objective:last-child{border-bottom:0}.objective input{width:24px;height:24px;accent-color:var(--red)}.points{font-weight:bold;color:var(--red)}.button-row{display:flex;gap:10px;margin-top:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0 18px}.stat{background:#fff8e6;border:2px solid var(--line);border-radius:10px;text-align:center;padding:13px}.stat strong{display:block;font-size:1.55rem}.ride-list,.history,.rider-list,.feed,.leaderboard{display:grid;gap:9px}.ride-item,.history-item,.rider-item,.feed-item,.leader-row{background:rgba(255,250,237,.82);border:1px solid #75654e;border-left:6px solid var(--blue);border-radius:8px;padding:12px}.ride-item,.rider-item,.leader-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.leader-row.me{border-left-color:var(--red);font-weight:bold}.feed-item{display:grid;grid-template-columns:1fr auto;gap:10px}.kudos-btn{box-shadow:none;padding:6px 10px;background:#fff3c2}.history-item details summary{cursor:pointer;font-weight:bold}.rider-actions{display:flex;flex-wrap:wrap;gap:6px}.rider-actions button{padding:6px 9px;box-shadow:none;font-size:.8rem}.badge{display:inline-block;border-radius:999px;padding:3px 8px;background:var(--ink);color:white;font-size:.75rem;margin-left:5px}.badge.banned{background:var(--red)}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(30px);opacity:0;background:var(--ink);color:white;padding:12px 18px;border-radius:9px;transition:.2s;z-index:30}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.modal{position:fixed;inset:0;background:rgba(0,0,0,.65);display:grid;place-items:center;padding:16px;z-index:20}.modal-card{background:var(--paper2);border:3px solid var(--ink);border-radius:12px;padding:20px;width:min(620px,100%);max-height:85vh;overflow:auto;position:relative}.modal-close{position:absolute;right:12px;top:10px;box-shadow:none;padding:3px 9px;font-size:1.4rem}.message-box{padding:10px;background:#fff8e5;border-left:5px solid var(--gold);margin:8px 0}.share-card{width:1080px;height:1080px;background:#efe0bd;color:#19130d;padding:70px;font-family:Georgia,serif;display:flex;flex-direction:column;justify-content:space-between;border:30px solid #19130d}.share-card h1{font-size:82px;margin:0}.share-card h2{font-size:58px;margin:10px 0}.share-card .big-score{font-size:170px;font-weight:bold;color:#9f2d22}.share-card .share-stats{font-size:42px;line-height:1.5}.share-card footer{font-size:34px;border-top:6px solid #19130d;padding-top:20px}
@media(max-width:800px){.admin-form{grid-template-columns:1fr 1fr}.stats-grid{grid-template-columns:1fr 1fr}.active-ride,.ride-item,.rider-item{align-items:stretch;flex-direction:column}.form-grid{grid-template-columns:1fr}.section-head{align-items:flex-start}.masthead{padding-left:12px;padding-right:12px}.masthead .button-link,.masthead .icon-btn{padding:8px;font-size:.8rem}}
