:root{--bg:#11100d;--paper:#efe1b8;--ink:#181510;--green:#3d7742;--red:#a43831;--gold:#d1a443;--cream:#fff8e7}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at top,#3b3428,#15130f 48%,#0b0a08);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}button,input{font:inherit}.app{width:min(100%,430px);min-height:100dvh;margin:auto;padding:calc(env(safe-area-inset-top) + 6px) 8px calc(60px + env(safe-area-inset-bottom))}
.top{height:44px;display:flex;align-items:center;justify-content:space-between;color:#fff}.brand{display:flex;align-items:center;gap:8px}.brand img{width:38px;height:38px;border-radius:9px}.brand strong,.brand span{display:block}.brand strong{font-size:.82rem;letter-spacing:.12em}.brand span{font-size:.58rem;color:#c8c1b5}.top>a{color:#fff;text-decoration:none;border:1px solid #8f7541;border-radius:9px;padding:7px 9px;font-size:.64rem;font-weight:800}
.rider-bar{display:grid;grid-template-columns:1fr auto;gap:5px;margin-top:4px}.rider-bar input{height:36px;border:0;border-radius:9px;padding:0 9px;font-weight:700}.rider-bar button{border:0;border-radius:9px;background:#211d17;color:#fff;padding:0 12px;font-weight:900}
.recent{margin-top:5px;background:#1b1915;border:1px solid #4d4129;border-radius:10px;padding:6px;color:#fff}.recent-title{display:flex;justify-content:space-between;font-size:.61rem;text-transform:uppercase;letter-spacing:.06em}.recent-title span{color:#aaa}.recent-list{display:flex;gap:5px;overflow-x:auto;padding-top:5px;scrollbar-width:none}.recent-chip{flex:0 0 auto;min-width:112px;background:#2a2721;border-radius:8px;padding:5px 7px}.recent-chip strong,.recent-chip span{display:block}.recent-chip strong{font-size:.68rem}.recent-chip span{font-size:.54rem;color:#c8c2b7}
.score-row{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:5px 0}.score-row div{background:rgba(255,255,255,.08);border:1px solid rgba(209,164,67,.35);border-radius:8px;padding:4px;text-align:center;color:#fff}.score-row strong,.score-row span{display:block}.score-row strong{font-size:.82rem}.score-row span{font-size:.5rem;text-transform:uppercase;color:#bdb7ac}
.quest-card{background:linear-gradient(rgba(255,255,255,.08),rgba(0,0,0,.04)),var(--paper);border:3px solid #1c1812;border-radius:14px;padding:11px 13px 12px;box-shadow:0 14px 35px rgba(0,0,0,.32);min-height:0}.card-head{display:flex;justify-content:space-between;align-items:center}.difficulty{border:2px solid currentColor;border-radius:999px;padding:3px 7px;font-size:.55rem;font-weight:950;letter-spacing:.08em}.easy{color:#2e6b3c}.medium{color:#285e83}.hard{color:#96342f}.star{border:0;background:transparent;font-size:1.35rem;min-width:32px;min-height:32px}.star.active{color:var(--gold)}
.quest-mark{height:36px;text-align:center}.quest-mark img{width:36px;height:36px}.quest-card h1{font-family:Georgia,serif;text-align:center;font-size:1.28rem;line-height:1.05;margin:2px 0}.quest-card>p{text-align:center;font-size:.67rem;color:#655a43;margin:0 0 7px}.tasks{display:grid;gap:5px}.task{width:100%;display:grid;grid-template-columns:27px 1fr;align-items:center;text-align:left;min-height:39px;border:2px solid rgba(24,21,16,.28);border-radius:8px;background:rgba(255,255,255,.23);padding:4px 7px;font-weight:800;font-size:.72rem;line-height:1.1}.box{width:21px;height:21px;border:2px solid var(--ink);border-radius:5px;display:grid;place-items:center}.task.checked{background:rgba(61,119,66,.15);border-color:var(--green)}.task.checked .box{background:var(--green);color:#fff;border-color:var(--green)}
.complete{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:6px;margin-top:6px;background:#17140f;color:#fff;border-radius:8px;padding:5px;text-align:center}.complete[hidden]{display:none}.complete img{width:36px;height:36px}.complete strong,.complete span{display:block}.complete strong{font-size:.68rem}.complete span{font-size:.66rem;color:#f1c96f}
.actions{display:grid;grid-template-columns:1fr auto;gap:5px;margin-top:6px}.actions button{min-height:41px;border:0;border-radius:9px;font-weight:950}.roll{background:var(--green);color:#fff}.skip{background:var(--red);color:#fff;padding:0 13px}.skip:disabled{opacity:.45}
.nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,430px);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(14,13,11,.98);padding:4px 5px calc(4px + env(safe-area-inset-bottom));border-top:1px solid #403622}.nav button{min-height:40px;border:0;background:transparent;color:#aaa;font-size:.6rem;font-weight:850}.nav button.active{color:#fff;background:#29241b;border-radius:8px}
.panel{background:var(--cream);border-radius:12px;padding:11px;margin-top:6px}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel h2{font-family:Georgia,serif;font-size:1rem;margin:0}.panel-head button{border:0;background:transparent;font-weight:800}.list-item{width:100%;border:1px solid #d7cdb4;border-radius:8px;background:#fff;padding:8px;text-align:left;margin-top:6px}.list-item strong,.list-item span{display:block}.list-item span{font-size:.65rem;color:#6a6252}.panel label{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #d7cdb4;font-weight:800}.reset{width:100%;margin-top:10px;min-height:40px;border:0;border-radius:9px;background:var(--red);color:#fff;font-weight:900}
.toast{position:fixed;left:50%;bottom:58px;transform:translate(-50%,15px);opacity:0;background:#fff;border-radius:999px;padding:8px 12px;font-size:.72rem;font-weight:850;transition:.2s;z-index:40}.toast.show{opacity:1;transform:translate(-50%,0)}
.admin{width:min(100%,620px);margin:auto;padding:8px}.admin-top{display:flex;justify-content:space-between;align-items:flex-start;color:#fff;padding:4px 2px}.admin-top h1{font-size:1.05rem;margin:0}.admin-top p{font-size:.65rem;color:#bbb;margin:2px 0}.admin-top a{color:#fff;text-decoration:none;border:1px solid #8f7541;border-radius:8px;padding:7px 9px;font-size:.65rem;font-weight:800}.admin-section{background:var(--cream);border-radius:12px;padding:10px;margin-top:8px}.admin-section h2{font-family:Georgia,serif;font-size:1rem;margin:0 0 7px}.admin-list{display:grid;gap:6px}.admin-card{background:#fff;border:1px solid #d8ceb6;border-radius:9px;padding:8px}.admin-line{display:flex;justify-content:space-between;gap:8px}.admin-line strong{font-size:.8rem}.admin-line b{background:#17140f;color:#f1c96f;border-radius:999px;padding:3px 7px;font-size:.66rem}.admin-card span,.admin-card small{display:block}.admin-card span{font-size:.68rem;margin-top:3px}.admin-card small{font-size:.59rem;color:#6a6252;margin-top:2px}
@media(max-height:720px){.recent{display:none}.score-row{margin:4px 0}.quest-card{padding-top:8px}.quest-mark{height:30px}.quest-mark img{width:30px;height:30px}.quest-card h1{font-size:1.17rem}.task{min-height:36px}.actions button{min-height:38px}}

.manage-form{display:grid;gap:8px}
.manage-form input{height:44px;border:1px solid #cbbf9e;border-radius:9px;padding:0 10px;font-weight:700}
.manage-form button,.manage-actions button,.logout-button{min-height:42px;border:0;border-radius:9px;background:#211d17;color:#fff;font-weight:900;padding:0 12px}
.manage-alert{border-radius:9px;padding:9px 10px;margin:8px 0;font-size:.75rem;font-weight:800}
.manage-alert.error{background:#f3d2cf;color:#7b211d}
.manage-alert.success{background:#d7ead8;color:#235c2b}
.manage-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:8px 0}
.manage-summary div{background:#fff8e7;border-radius:10px;padding:10px;text-align:center}
.manage-summary strong,.manage-summary span{display:block}
.manage-summary strong{font-size:1.2rem}
.manage-summary span{font-size:.62rem;text-transform:uppercase;color:#6a6252}
.manage-actions{display:grid;gap:8px}
.manage-actions .danger{background:#a43831}
.manage-note{font-size:.7rem;color:#6a6252;line-height:1.4}
.logout-button{width:100%;margin-top:8px;background:#4b463d}
@media(min-width:520px){.manage-summary{grid-template-columns:repeat(4,1fr)}}

.top-links{display:flex;gap:5px}.top-links a{color:#fff;text-decoration:none;border:1px solid #8f7541;border-radius:9px;padding:7px 8px;font-size:.58rem;font-weight:800}
.event-box{margin-top:5px;background:#241f18;border:1px solid #6b5630;border-radius:10px;padding:6px;color:#fff}.event-head{display:flex;justify-content:space-between;font-size:.61rem;text-transform:uppercase}.event-head a{color:#e1bd69}.event-list{display:flex;gap:5px;overflow-x:auto;padding-top:5px}.event-chip{flex:0 0 auto;min-width:130px;background:#352e23;border-radius:8px;padding:5px 7px}.event-chip strong,.event-chip span{display:block}.event-chip strong{font-size:.68rem}.event-chip span{font-size:.55rem;color:#cfc6b6}
.portal-hero{display:flex;align-items:center;gap:12px;background:#fff8e7;border-radius:12px;padding:10px}.portal-hero img{width:74px;height:74px}.portal-hero h2{margin:0;font-family:Georgia,serif}.portal-hero p{margin:2px 0;font-size:.7rem;color:#6a6252}
.badge-grid,.trophy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.badge-card{background:#fff;border:1px solid #d8ceb6;border-radius:10px;padding:10px;text-align:center}.badge-card span{display:block;font-size:2rem}.badge-card strong{font-size:.7rem}
.event-form textarea{min-height:80px;border:1px solid #cbbf9e;border-radius:9px;padding:9px;font:inherit}.event-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.scheduled-list{margin-top:10px}.delete-event{margin-top:7px;border:0;border-radius:7px;background:#a43831;color:#fff;padding:6px 9px;font-size:.65rem;font-weight:800}
@media(max-height:760px){.event-box{display:none}}

.live-banner{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#7e241f;color:#fff;border:2px solid #e1b85f;border-radius:10px;padding:7px 9px;margin-top:5px}.live-banner strong,.live-banner span{display:block}.live-banner strong{font-size:.72rem}.live-banner span{font-size:.56rem;color:#f0d7d4}.live-banner a{color:#17140f;background:#f1c96f;text-decoration:none;border-radius:8px;padding:7px 9px;font-size:.64rem;font-weight:900;white-space:nowrap}
.ride-hero{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff8e7;border-radius:12px;padding:12px}.ride-hero h2{font-family:Georgia,serif;margin:4px 0 2px}.ride-hero p{margin:0;font-size:.7rem;color:#6a6252}.ride-hero button{border:0;border-radius:9px;background:#3d7742;color:#fff;padding:10px 12px;font-weight:900}.ride-hero button:disabled{background:#6e746b}
.live-pill{display:inline-block;background:#a43831;color:#fff;border-radius:999px;padding:3px 7px;font-size:.58rem;font-weight:900}
.start-ride{margin-top:7px;border:0;border-radius:7px;background:#3d7742;color:#fff;padding:7px 10px;font-size:.65rem;font-weight:900}.manage-link{display:inline-block;margin-top:7px;color:#2b5c80;font-size:.68rem;font-weight:800}.live-ride-card{border:2px solid #a43831}
