:root{--cream:#fdf4e3;--parchment:#f6e5c8;--sand:#ecd4ad;--pumpkin:#e2711d;--burnt:#bf4c16;--cranberry:#8f2d2d;--cocoa:#4a2c19;--bark:#6b4526;--gold:#d9a441;--sage:#6d7d50;--ink:#33200f;--shadow:0 2px 0 rgba(74,44,25,.18)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background-color:var(--cream);background-image:radial-gradient(circle at 12% 8%,rgba(226,113,29,.1),transparent 45%),radial-gradient(circle at 88% 4%,rgba(143,45,45,.09),transparent 40%),radial-gradient(circle at 50% 100%,rgba(109,125,80,.1),transparent 55%);background-attachment:fixed;color:var(--ink);font-family:ui-rounded,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;-webkit-text-size-adjust:100%}.shell{max-width:820px;margin:0 auto;padding:1rem 1rem 4rem}.topbar{justify-content:space-between;gap:.75rem;padding:.85rem 0 .6rem;border-bottom:3px dashed var(--sand);margin-bottom:1.25rem}.brand,.topbar{display:flex;align-items:center}.brand{gap:.5rem;font-weight:800;font-size:1.05rem;letter-spacing:-.01em;color:var(--cranberry);text-decoration:none}.brand span.mark{font-size:1.4rem;line-height:1}.topbar nav{display:flex;align-items:center;gap:.4rem}.banner{text-align:center;padding:1.5rem 1rem 1.75rem;background:linear-gradient(170deg,var(--parchment),var(--sand));border:3px solid var(--bark);border-radius:22px;box-shadow:0 6px 0 rgba(74,44,25,.22);margin-bottom:1.5rem}.banner h1{margin:.25rem 0 .4rem;font-size:clamp(1.9rem,9vw,2.9rem);line-height:1;color:var(--cranberry);letter-spacing:-.03em;text-shadow:2px 2px 0 hsla(0,0%,100%,.55)}.banner .feathers{font-size:2.2rem;line-height:1}.banner p{margin:0;color:var(--bark);font-weight:600;font-size:.95rem}.pill{display:inline-block;margin-top:.8rem;padding:.3rem .85rem;border-radius:999px;background:var(--cocoa);color:var(--parchment);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.pill.open{background:var(--sage)}.pill.ended{background:var(--cranberry)}.card{background:#fffaf0;border:2px solid var(--sand);border-radius:18px;padding:1.1rem;margin-bottom:1.25rem;box-shadow:var(--shadow)}.card h2{margin:0 0 .3rem;font-size:1.15rem;color:var(--cranberry);display:flex;align-items:center;gap:.45rem}.card .hint{margin:0 0 .9rem;font-size:.88rem;color:var(--bark)}.runner{padding:.7rem 0;border-bottom:2px dotted var(--sand)}.runner:last-child{border-bottom:none}.runner-head{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.45rem}.rank{flex:none;width:1.9rem;height:1.9rem;display:grid;place-items:center;border-radius:50%;background:var(--sand);color:var(--cocoa);font-weight:800;font-size:.85rem;align-self:center}.rank.gold{background:var(--gold);color:var(--ink)}.rank.silver{background:#cfc3b0}.rank.bronze{background:#cf9b6a}.runner-name{font-weight:800;font-size:1rem;line-height:1.2}.runner-team{font-size:.8rem;color:var(--bark);font-weight:600}.miles{margin-left:auto;font-weight:800;color:var(--burnt);white-space:nowrap;font-size:.95rem}.track{position:relative;height:2.5rem;border-radius:12px;background:repeating-linear-gradient(90deg,var(--parchment) 0 14px,#f1dcbb 14px 28px);border:2px solid var(--sand);overflow:hidden}.track .road{position:absolute;inset:auto 0 .55rem 0;height:2px;background:repeating-linear-gradient(90deg,var(--bark) 0 10px,transparent 10px 20px);opacity:.35}.turkey{top:50%;transform:translate(-50%,-50%);font-size:1.5rem;line-height:1;transition:left .4s ease}.finish,.turkey{position:absolute}.finish{top:0;right:0;width:10px;height:100%;background:repeating-conic-gradient(var(--cocoa) 0 25%,#fff 0 50%) 0 0 /10px 10px;opacity:.8}.waiting{display:inline-block;margin-top:.4rem;font-size:.76rem;font-weight:700;color:var(--cranberry);background:#fbe3e3;border-radius:999px;padding:.12rem .6rem}.me{background:#fff3d8;border-radius:12px;padding:.7rem .6rem;margin:0 -.3rem}label{display:block;font-size:.82rem;font-weight:700;color:var(--bark);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.03em}input,select{width:100%;padding:.65rem .7rem;font-size:1rem;font-family:inherit;color:var(--ink);background:#fffdf8;border:2px solid var(--sand);border-radius:12px}input:focus,select:focus{outline:none;border-color:var(--pumpkin);box-shadow:0 0 0 3px rgba(226,113,29,.18)}.field{margin-bottom:.8rem}.row{display:flex;gap:.6rem;flex-wrap:wrap}.row>*{flex:1 1 10rem;min-width:0}button{font-family:inherit;font-size:.95rem;font-weight:800;padding:.65rem 1.1rem;border:none;border-radius:12px;background:var(--pumpkin);color:#fff;cursor:pointer;box-shadow:0 3px 0 var(--burnt)}button:active{transform:translateY(2px);box-shadow:0 1px 0 var(--burnt)}button.wide{width:100%}button.ghost{background:transparent;color:var(--cranberry);border:2px solid var(--sand);box-shadow:none;padding:.45rem .8rem;font-size:.85rem}button.small{padding:.45rem .75rem;font-size:.82rem;box-shadow:0 2px 0 var(--burnt)}button.danger{background:var(--cranberry);box-shadow:0 2px 0 #6d1f1f}button.restore{background:var(--sage);box-shadow:0 2px 0 #4e5b39}.notice{padding:.65rem .9rem;border-radius:12px;font-weight:700;font-size:.9rem;margin-bottom:1rem}.notice.good{background:#e6efd9;color:#41522c}.notice.bad{background:#fbe0e0;color:#7c2525}.person{border:2px solid var(--sand);border-radius:14px;padding:.75rem;margin-bottom:.7rem;background:#fffdf8}.person.inactive{opacity:.6}.person-top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.55rem}.person-top strong{font-size:.98rem}.person-top .who{font-size:.78rem;color:var(--bark);font-weight:600}.person-top form{margin-left:auto}.inline{display:flex;gap:.4rem;align-items:stretch}.inline input{padding:.45rem .6rem;font-size:.88rem}.inline button{flex:none}.tag{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .5rem;border-radius:999px;background:var(--sand);color:var(--cocoa)}.footnote{font-size:.8rem;margin-top:1.5rem}.empty,.footnote{text-align:center;color:var(--bark)}.empty{padding:1.5rem .5rem;font-weight:600}