:root{--navy:#0a2a6b;--navy-dark:#061c4a;--ink:#0b1220;--blue:#0072ce;--blue-dark:#005ba3;
  --gold:#ffb100;--grey:#f5f7fb;--surface:#ffffff;--line:#e3e7f0;--dim:#5a6478;
  --green:#0a8a3c;--green-dark:#07702f;--amber:#b26a00;--red:#c62828;
  --radius:16px;--radius-sm:10px;
  --shadow-sm:0 1px 2px rgba(11,18,32,.05);
  --shadow-md:0 6px 20px -6px rgba(11,18,32,.14),0 1px 2px rgba(11,18,32,.04);
  --shadow-lg:0 16px 36px -12px rgba(11,18,32,.22);
  --ease:cubic-bezier(.2,.7,.3,1)}
*{box-sizing:border-box}
body{margin:0;background:
    radial-gradient(1100px 520px at 50% -180px,#eaf1ff 0%,var(--grey) 55%);
  background-attachment:fixed;
  color:var(--ink);
  font:16px/1.5 "Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-text-size-adjust:100%}
main{padding:20px 16px 56px;max-width:640px;margin:0 auto}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:17px;margin-bottom:14px;box-shadow:var(--shadow-sm)}
.muted{color:var(--dim);font-size:12.5px}
footer{text-align:center;font-size:12px;color:var(--dim);padding:8px 18px 34px;max-width:640px;margin:0 auto}
footer a{color:var(--dim)}
[hidden]{display:none!important}
::selection{background:#cfe0ff}

/* Shared navbar, injected by shared/nav.js into <div id="nav">. */
.navbar{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;
  padding:0 16px;position:sticky;top:0;z-index:40;box-shadow:0 2px 14px rgba(6,20,60,.18)}
.navbar .navInner{max-width:640px;margin:0 auto;display:flex;align-items:center;gap:4px;
  min-height:56px;flex-wrap:wrap}
.navbar .brand{color:#fff;text-decoration:none;font-weight:800;font-size:16.5px;
  letter-spacing:-.01em;padding:14px 8px 14px 0;white-space:nowrap;display:flex;align-items:center;gap:7px}
.navbar nav{display:flex;gap:2px;margin-left:auto;flex-wrap:wrap;align-items:center}
.navbar nav a{color:#fff;opacity:.72;text-decoration:none;font-size:13px;font-weight:650;
  padding:8px 11px;border-radius:99px;transition:opacity .15s var(--ease),background-color .15s var(--ease)}
.navbar nav a:hover{opacity:1;background:rgba(255,255,255,.08)}
.navbar nav a[aria-current=page]{opacity:1;background:rgba(255,255,255,.16)}
.navbar nav a.signout{opacity:.55;margin-left:4px}
.navbar nav a.signout:hover{opacity:.85;background:none}

header.page{padding:26px 16px 6px;max-width:640px;margin:0 auto}
header.page h1{margin:0;font-size:23px;letter-spacing:-.02em;font-weight:800}
header.page p{margin:5px 0 0;font-size:14px;color:var(--dim)}

.sectionHead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  margin:26px 2px 10px}
.sectionHead h2{margin:0;font-size:16px;letter-spacing:-.01em;font-weight:750}
.sectionHead p{margin:2px 0 0;font-size:12.5px;color:var(--dim)}
.toggle{background:none;border:0;color:var(--blue);font:inherit;font-size:13px;
  font-weight:700;cursor:pointer;padding:4px 2px;white-space:nowrap}
.tweak{background:none;border:0;color:var(--blue);font:inherit;font-size:13px;
  font-weight:700;cursor:pointer;padding:9px 2px 0}
.tweak:hover{color:var(--blue-dark)}
.tweaks{border-top:1px solid var(--line);margin-top:12px;padding-top:14px}
.tweaks .grid{margin-bottom:0}
.back{display:inline-flex;align-items:center;color:var(--blue);text-decoration:none;font-size:13px;
  font-weight:700;margin-bottom:14px;transition:transform .15s var(--ease)}
.back:hover{color:var(--blue-dark);transform:translateX(-2px)}

/* Quick Picks: a symmetric grid, live cards and disabled placeholders alike. */
.cards{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:14px}
.quick{background:linear-gradient(135deg,var(--navy) 0%,var(--blue) 130%);color:#fff;border:0;
  border-radius:var(--radius);padding:18px;width:100%;text-align:left;cursor:pointer;
  font:inherit;display:flex;align-items:center;gap:15px;box-shadow:var(--shadow-md);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease);position:relative;overflow:hidden}
.quick::after{content:"";position:absolute;inset:0;background:
    radial-gradient(180px 140px at 90% -20%,rgba(255,255,255,.16),transparent 70%)}
.quick:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.quick:active{transform:translateY(0)}
.quick .coin{font-size:28px;line-height:1;flex:none;width:52px;height:52px;border-radius:14px;
  background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center}
.quick b{display:block;font-size:17.5px;font-weight:800;letter-spacing:-.01em}
.quick small{display:block;font-size:12.5px;opacity:.85;margin-top:2px}
.quick.soon{background:var(--surface);color:var(--dim);border:1.5px dashed var(--line);
  cursor:default;box-shadow:none}
.quick.soon:hover{transform:none;box-shadow:none}
.quick.soon .coin{background:var(--grey);opacity:.7}
.quick.soon b{color:var(--dim)}
.quick:disabled{opacity:1}

/* Sports/Racing switch atop Build-your-own. */
.segmented{display:flex;background:var(--grey);border:1px solid var(--line);border-radius:99px;
  padding:3px;gap:2px;margin-bottom:16px}
.segmented button{flex:1;background:none;border:0;border-radius:99px;padding:9px 14px;
  font:inherit;font-size:13.5px;font-weight:700;color:var(--dim);cursor:pointer;
  transition:background-color .15s var(--ease),color .15s var(--ease)}
.segmented button[aria-selected=true]{background:var(--surface);color:var(--ink);
  box-shadow:var(--shadow-sm)}

/* Build-your-own tiles: equal width, equal height. */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px 16px;text-align:center;text-decoration:none;color:var(--ink);
  display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:var(--shadow-sm);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease)}
.tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#cddafb}
.tile .icon{font-size:26px;width:56px;height:56px;border-radius:16px;
  background:linear-gradient(135deg,#eaf1ff,#dbe7fd);display:flex;align-items:center;justify-content:center}
.tile b{font-size:15.5px;font-weight:750}
.tile small{color:var(--dim);font-size:12px;line-height:1.35}
@media (max-width:520px){
  .tiles{grid-template-columns:1fr}
  .tile{flex-direction:row;text-align:left;padding:16px}
}

.modes{display:flex;gap:6px;margin-bottom:14px}
.modes button{flex:1;background:var(--grey);color:var(--dim);border:1px solid var(--line);
  border-radius:10px;padding:10px 6px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;
  line-height:1.25;transition:background-color .15s var(--ease),color .15s var(--ease)}
.modes button small{display:block;font-weight:400;font-size:11px;opacity:.8;margin-top:2px}
.modes button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}

.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{min-width:0}
.field.wide{grid-column:1 / -1}
label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);
  margin-bottom:6px;font-weight:650}
select,input[type=number]{width:100%;background:var(--grey);color:var(--ink);border:1.5px solid var(--line);
  border-radius:var(--radius-sm);padding:10px 11px;font:inherit;font-size:15px;
  transition:border-color .15s var(--ease),background-color .15s var(--ease)}
select:hover,input:hover{border-color:#c7d1e6}
select:focus,input:focus{outline:none;border-color:var(--blue);background:#fff;
  box-shadow:0 0 0 3px rgba(0,114,206,.15)}
.odds{display:flex;align-items:center;gap:8px}
.odds span{color:var(--dim);font-size:13px}
.picker{margin-top:14px}

.pickBtn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:var(--grey);border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:12px 13px;
  font:inherit;font-size:14px;color:var(--ink);cursor:pointer;text-align:left;margin-top:2px;
  transition:border-color .15s var(--ease)}
.pickBtn:hover{border-color:#c7d1e6}
.pickBtn b{font-weight:650}
.pickBtn .caret{color:var(--blue);font-size:12px;font-weight:700}

.sheet{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center}
.sheet::before{content:"";position:absolute;inset:0;background:rgba(6,12,28,.55);backdrop-filter:blur(1px)}
.sheetBox{position:relative;background:var(--surface);width:100%;max-width:640px;max-height:88vh;
  border-radius:20px 20px 0 0;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}
@media (min-width:640px){
  .sheet{align-items:center}
  .sheetBox{border-radius:18px;max-height:80vh}
}
.sheetHead{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:16px;border-bottom:1px solid var(--line)}
.sheetHead h2{margin:0;font-size:16.5px;font-weight:750}
.sheetTools{display:flex;gap:14px;padding:11px 16px;border-bottom:1px solid var(--line)}
.sheetTools .clear{background:none;border:1px solid var(--line);border-radius:99px;color:var(--blue);
  font:inherit;font-size:12.5px;font-weight:650;cursor:pointer;padding:6px 12px;transition:background-color .15s}
.sheetTools .clear:hover{background:var(--grey)}
.sheetBody{overflow-y:auto;padding:4px 0;flex:1}
.sheetFoot{padding:14px 16px;border-top:1px solid var(--line);display:flex;gap:10px}
.sheetFoot button{flex:1;font:inherit;font-size:15px;font-weight:750;padding:13px;
  border-radius:var(--radius-sm);cursor:pointer;transition:transform .12s var(--ease),filter .15s var(--ease)}
.sheetFoot button:hover{filter:brightness(1.05)}
.sheetFoot button:active{transform:scale(.98)}
.sheetFoot .apply{background:var(--green);color:#fff;border:0}
.sheetFoot .cancel{background:var(--surface);color:var(--dim);border:1.5px solid var(--line)}

.row{display:flex;align-items:center;gap:10px;padding:11px 16px}
.row + .row{border-top:1px solid #eef1f7}
.row input{width:19px;height:19px;accent-color:var(--blue);flex:none}
.row label{margin:0;text-transform:none;letter-spacing:0;font-size:14.5px;color:var(--ink);
  flex:1;min-width:0;cursor:pointer;font-weight:500}
.row .n{color:var(--dim);font-size:12.5px;font-variant-numeric:tabular-nums}
.row .twist{background:none;border:0;color:var(--dim);font:inherit;font-size:12px;cursor:pointer;
  padding:4px 6px;flex:none}
.kids{background:var(--grey);border-top:1px solid #eef1f7}
.kids .row{padding-left:46px}
.kids .row label{font-size:13.5px;color:var(--dim)}
.kids:empty::after{content:"No leagues listed";display:block;color:var(--dim);
  font-size:12.5px;padding:10px 16px 10px 46px}
.sheetTools .check{margin:0;font-size:12.5px}
.sheetTools{flex-wrap:wrap;align-items:center}
.tierNote{width:100%;color:var(--dim);font-size:12px;margin:0}
.hint{text-transform:none;letter-spacing:0;font-weight:400;color:var(--dim);opacity:.85}
.estimate{grid-column:1/-1;margin:2px 0 0;font-size:12.5px;color:var(--dim);
  background:linear-gradient(135deg,#eef3ff,#f6f8ff);border:1px solid #e2eaff;border-radius:var(--radius-sm);
  padding:11px 13px}
.estimate b{color:var(--ink)}
.check{display:flex;align-items:center;gap:9px;margin-top:12px;font-size:13.5px;color:var(--dim);
  font-weight:500}
.check input{width:18px;height:18px;accent-color:var(--blue)}

#go,#again{width:100%;margin-top:16px;background:linear-gradient(135deg,var(--green),var(--green-dark));
  color:#fff;border:0;border-radius:var(--radius-sm);padding:16px;font:inherit;font-size:16px;
  font-weight:750;cursor:pointer;box-shadow:0 8px 20px -8px rgba(10,138,60,.55);
  transition:transform .15s var(--ease),box-shadow .15s var(--ease)}
#go:hover,#again:hover{transform:translateY(-1px);box-shadow:0 10px 24px -8px rgba(10,138,60,.6)}
#go:active,#again:active{transform:translateY(0)}
#go:disabled,#again:disabled{opacity:.55;cursor:progress;transform:none;box-shadow:none}

/* Bet summary: the at-a-glance strip shown above the full breakdown. */
#betSummary{background:linear-gradient(160deg,#0f2e78,#0a2a6b 60%,#0a3a8a);color:#fff;border:0;
  box-shadow:var(--shadow-md)}
#betSummary h2{color:#fff}
.summaryGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;text-align:center}
.summaryGrid .stat{background:rgba(255,255,255,.08);border-radius:12px;padding:12px 6px}
.summaryGrid .stat dt{font-size:10px;text-transform:uppercase;letter-spacing:.05em;
  color:rgba(255,255,255,.65);margin:0;font-weight:650}
.summaryGrid .stat dd{margin:5px 0 0;font-size:18px;font-weight:800;
  font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:#fff}
@media (max-width:420px){
  .summaryGrid{grid-template-columns:1fr 1fr}
}

.slipHead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  padding-bottom:11px;border-bottom:1px solid var(--line)}
.slipHead b{font-size:15px;font-weight:750}
.slipHead span{color:var(--dim);font-size:12.5px;white-space:nowrap}
.line{border-bottom:1px solid var(--line);padding:12px 0}
.line:last-of-type{border-bottom:0}
.lineHead{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.lineHead b{font-size:13.5px}
.lineHead .p{font-weight:750;font-variant-numeric:tabular-nums}
.leg{display:flex;justify-content:space-between;gap:10px;padding:7px 0 0}
.leg small{color:var(--dim);font-size:12.5px;display:block}
.leg .p{font-variant-numeric:tabular-nums;font-weight:650;white-space:nowrap}
.when{color:var(--amber);font-size:11.5px;font-weight:650}
.total{display:flex;justify-content:space-between;align-items:baseline;
  padding:14px 0 4px;border-top:2px solid var(--line);font-size:15px}
.total .p{font-size:26px;font-weight:800;color:var(--green);font-variant-numeric:tabular-nums}
#place{display:block;background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;
  text-align:center;text-decoration:none;font-weight:750;padding:15px;border-radius:var(--radius-sm);
  margin-top:14px;box-shadow:0 8px 20px -8px rgba(0,114,206,.5);
  transition:transform .15s var(--ease),box-shadow .15s var(--ease)}
#place:hover{transform:translateY(-1px);box-shadow:0 10px 24px -8px rgba(0,114,206,.55)}
.notice{background:#fff8dd;border:1px solid #f0d98a;border-left:4px solid var(--gold);
  border-radius:var(--radius-sm);padding:12px 13px;font-size:13.5px;margin-top:12px}
.down{text-align:center;padding:38px 20px}
.down h2{margin:0 0 8px;font-size:20px;color:var(--red)}
.down p{margin:0 0 6px;color:var(--dim);font-size:14px}
.down .age{font-size:12.5px;opacity:.8}
.err{background:#fdeaea;border:1px solid #f3c2c2;border-left:4px solid var(--red);
  border-radius:var(--radius-sm);padding:13px;font-size:14px;margin-bottom:14px;display:none}
.err.show{display:block}
