
@font-face{font-family:'Roboto';src:url('/fonts/Roboto-Regular.woff2') format('woff2');
 font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Roboto';src:url('/fonts/Roboto-Bold.woff2') format('woff2');
 font-weight:700;font-style:normal;font-display:swap}

:root{
 --paper:#f7f3ea;
 --paper-2:#fffdf8;
 --ink:#1b2026;
 --ink-2:#4b5560;
 --rule:#ddd4c2;
 --teal:#0f7a72;
 --teal-dk:#0b5a54;
 --amber:#c9711a;
 --amber-soft:#fbead7;
 --band:#171c22;
 --radius:6px;
 color-scheme:light;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
 font-family:'Roboto',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
 font-size:17px;line-height:1.68}
img{max-width:100%;height:auto}
a{color:var(--teal-dk)}
a:hover{color:var(--amber)}

/* ---- layout shell: horizontal padding in LONGHAND, never the shorthand ---- */
.shell{width:100%;max-width:1080px;margin-left:auto;margin-right:auto;
 padding-left:18px;padding-right:18px}
.bodyzone{display:block;padding-top:8px;padding-bottom:56px}
.bodyzone h2{font-size:1.55rem;line-height:1.28;margin-top:2.6rem;margin-bottom:.7rem;
 letter-spacing:-.01em}
.bodyzone h3{font-size:1.16rem;margin-top:1.7rem;margin-bottom:.5rem}
.bodyzone h2::after{content:"";display:block;width:56px;height:3px;background:var(--teal);
 margin-top:.55rem;border-radius:2px}
.bodyzone p{margin:0 0 1.05rem}
.bodyzone ul,.bodyzone ol{margin:0 0 1.15rem;padding-left:1.3rem}
.bodyzone li{margin-bottom:.45rem}
h1{font-size:2.1rem;line-height:1.2;margin:1.4rem 0 .7rem;letter-spacing:-.02em}
.lede-slab20{font-size:1.09rem;color:var(--ink-2);border-left:3px solid var(--amber);
 padding-left:14px;margin-bottom:1.6rem}

/* ---- masthead ---- */
.topbar{background:var(--band);color:#f2efe7;position:relative}
.topbar__row{display:flex;flex-wrap:wrap;align-items:center;gap:18px;min-height:64px}
.mark{display:inline-flex;align-items:center;flex:0 0 auto}
.mark img{display:block;width:156px;height:34px}
.menu{display:flex;gap:16px;flex-wrap:wrap;margin-left:auto;font-size:.93rem}
.menu a{color:#cfd6dd;text-decoration:none;padding-top:6px;padding-bottom:6px;
 border-bottom:2px solid transparent}
.menu a:hover{color:#fff;border-bottom-color:var(--amber)}
.menu a[aria-current]{color:#fff;border-bottom-color:var(--teal)}
.headcta{flex:0 0 auto}
.menu-btn{display:none;width:44px;margin-left:auto;background:none;border:1px solid #3a444f;
 color:#f2efe7;font-size:1.25rem;line-height:1;border-radius:var(--radius);
 padding-top:7px;padding-bottom:7px;padding-left:11px;padding-right:11px;cursor:pointer}
/* The sheet is a sibling of .topbar__row, not a flex child, so it already
   spans the header. width:100% states that explicitly: a menu that opens as
   a flex ITEM lands beside the burger and overflows the viewport, and no
   gate but overflow_audit can see it. */
.sheet{display:none;width:100%;flex:0 0 100%;background:#10151a;
 border-top:1px solid #29323b}
.sheet.is-open{display:block}
.sheet__list{list-style:none;margin:0;padding-top:8px;padding-bottom:12px;padding-left:0;padding-right:0}
.sheet__list li{margin:0}
.sheet__list a{display:block;color:#dfe5ea;text-decoration:none;
 padding-top:11px;padding-bottom:11px;border-bottom:1px solid #222a32}

/* ---- buttons ---- */
.prs{display:inline-block;background:var(--amber);color:#fff;text-decoration:none;
 font-weight:700;border-radius:var(--radius);
 padding-top:13px;padding-bottom:13px;padding-left:26px;padding-right:26px;
 box-shadow:0 2px 0 #9c560f}
.prs:hover{background:#b3630f;color:#fff}
.prs--sm{padding-top:8px;padding-bottom:8px;padding-left:15px;padding-right:15px;
 font-size:.88rem;box-shadow:0 2px 0 #9c560f}
.ctarow{margin-top:1.6rem;margin-bottom:1.9rem;text-align:center}

/* ---- breadcrumb ---- */
.crumbs{font-size:.86rem;color:var(--ink-2);padding-top:14px}
.crumbs a{color:var(--teal-dk)}

/* ---- opening panel + task-card hub index ---- */
.opener{background:var(--paper-2);border:1px solid var(--rule);
 border-top:4px solid var(--teal);border-radius:var(--radius);
 margin-top:20px;padding-top:26px;padding-bottom:26px;padding-left:24px;padding-right:24px}
.opener__kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;
 color:var(--amber);font-weight:700;margin:0 0 .5rem}
.opener h1{margin-top:0}
.hubgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));
 gap:14px;margin-top:1.4rem;margin-bottom:2rem;list-style:none;padding-left:0}
.taskcard{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);
 padding-top:16px;padding-bottom:16px;padding-left:18px;padding-right:18px;margin:0}
.taskcard:hover{border-color:var(--teal);box-shadow:0 3px 14px rgba(15,122,114,.12)}
.taskcard__num{display:inline-block;font-weight:700;font-size:.72rem;letter-spacing:.12em;
 color:var(--amber);margin-bottom:.35rem}
.taskcard__title{display:block;font-weight:700;font-size:1.02rem;margin-bottom:.3rem}
.taskcard__title a{text-decoration:none}
.taskcard__note{display:block;font-size:.9rem;color:var(--ink-2);line-height:1.5}

/* ---- numbered step rail ---- */
.steprail{list-style:none;margin:1.3rem 0 1.7rem;padding-left:0;
 border-left:2px dashed var(--rule)}
.steprail__item{position:relative;padding-left:52px;padding-bottom:18px;margin:0}
.steprail__num{position:absolute;left:-17px;top:0;width:34px;height:34px;border-radius:50%;
 background:var(--amber);color:#fff;font-weight:700;display:flex;align-items:center;
 justify-content:center;font-size:.95rem}
.steprail__body{display:block}
.steprail__body strong{display:block;margin-bottom:.15rem}

/* ---- prerequisite callout ---- */
.prereq{background:var(--amber-soft);border:1px solid #ecd6b8;border-radius:var(--radius);
 padding-top:16px;padding-bottom:6px;padding-left:20px;padding-right:20px;margin-bottom:1.5rem}
.prereq__title{font-weight:700;margin:0 0 .5rem;font-size:.95rem;
 text-transform:uppercase;letter-spacing:.08em;color:#8a4c0c}

/* ---- fact strip ---- */
.factbox{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:1px;
 background:var(--rule);border:1px solid var(--rule);border-radius:var(--radius);
 overflow:hidden;margin-top:1.2rem;margin-bottom:1.7rem}
.fact{background:var(--paper-2);padding-top:14px;padding-bottom:14px;
 padding-left:16px;padding-right:16px}
.fact__k{display:block;font-size:.73rem;text-transform:uppercase;letter-spacing:.1em;
 color:var(--ink-2);margin-bottom:.25rem}
.fact__v{display:block;font-weight:700;font-size:1.02rem}

/* ---- tables ---- */
.tablewrap{overflow-x:auto;margin-bottom:1.7rem;border:1px solid var(--rule);
 border-radius:var(--radius);background:var(--paper-2)}
.dtable{width:100%;border-collapse:collapse;font-size:.95rem;min-width:0}
.dtable th,.dtable td{text-align:left;padding-top:11px;padding-bottom:11px;
 padding-left:14px;padding-right:14px;border-bottom:1px solid var(--rule);
 vertical-align:top;white-space:normal;overflow-wrap:anywhere}
.dtable th{background:#efe9dc;font-size:.78rem;text-transform:uppercase;
 letter-spacing:.07em;color:#3c454f}
.dtable tr:last-child td{border-bottom:none}

/* ---- wagering calculator ---- */
.calc{background:var(--paper-2);border:1px solid var(--rule);border-left:4px solid var(--teal);
 border-radius:var(--radius);padding-top:18px;padding-bottom:18px;
 padding-left:20px;padding-right:20px;margin-top:1.3rem;margin-bottom:1.8rem}
.calc__row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.calc__row input[type=range]{flex:1 1 220px;accent-color:var(--teal)}
.calc__out{display:flex;gap:26px;flex-wrap:wrap;margin-top:.9rem}
.calc__cell{min-width:120px}
.calc__num{display:block;font-size:1.3rem;font-weight:700;color:var(--teal-dk)}

/* ---- glossary tooltip ---- */
.gloss{border-bottom:1px dotted var(--amber);cursor:help}

/* ---- figures ---- */
.fig{margin-top:1.5rem;margin-bottom:1.7rem;text-align:center}
.fig img{width:90%;height:auto;display:block;margin-left:auto;margin-right:auto;
 border-radius:var(--radius);box-shadow:0 2px 12px rgba(27,32,38,.12)}
.fig__cap{display:block;font-size:.86rem;color:var(--ink-2);margin-top:.6rem}

/* ---- badge row ---- */
.badges{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding-left:0;
 margin-top:1rem;margin-bottom:1.6rem}
.badge{background:var(--paper-2);border:1px solid var(--rule);border-radius:999px;
 font-size:.85rem;padding-top:6px;padding-bottom:6px;padding-left:14px;padding-right:14px}
.badges a{text-decoration:none}

/* ---- promo code widget ---- */
.codebox{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
 background:var(--band);color:#f4f1ea;border-radius:var(--radius);
 padding-top:16px;padding-bottom:16px;padding-left:20px;padding-right:20px;
 margin-top:1.2rem;margin-bottom:1.8rem}
.codebox__code{font-size:1.32rem;font-weight:700;letter-spacing:.16em;color:#ffd08a}
.codebox__btn{background:var(--teal);color:#fff;border:none;border-radius:var(--radius);
 font-weight:700;cursor:pointer;font-size:.9rem;
 padding-top:10px;padding-bottom:10px;padding-left:18px;padding-right:18px}
.codebox__btn.is-done{background:#2e7d32}
.codebox__note{font-size:.84rem;color:#b9c2ca;flex:1 1 180px;margin:0}

/* ---- FAQ ---- */
.askzone{margin-top:2.2rem}
.askzone__item{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);
 margin-bottom:9px;padding-top:2px;padding-bottom:2px;padding-left:18px;padding-right:18px}
.askzone__item summary{cursor:pointer;font-weight:700;
 padding-top:13px;padding-bottom:13px;list-style:none}
.askzone__item summary::-webkit-details-marker{display:none}
.askzone__item summary::after{content:"+";float:right;color:var(--amber);font-weight:700}
.askzone__item[open] summary::after{content:"\2013"}
.answer{margin-top:0;color:var(--ink-2)}

/* ---- footer ---- */
.foot{background:var(--band);color:#c9d1d9;margin-top:40px;
 padding-top:40px;padding-bottom:26px;font-size:.93rem}
.foot__inner{display:block}
.foot__cols{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:28px;
 padding-bottom:26px;border-bottom:1px solid #2a333c}
.foot__about{color:#9aa5b0;font-size:.89rem;margin-top:.8rem;margin-bottom:0}
.foot__col h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.11em;
 color:#7f8b96;margin:0 0 .7rem}
.foot__col ul{list-style:none;margin:0;padding-left:0}
.foot__col li{margin-bottom:.45rem}
.foot__col a{color:#c9d1d9;text-decoration:none}
.foot__col a:hover{color:#fff}
.foot__legal{padding-top:20px;color:#8f9aa5;font-size:.86rem}
.foot__legal p{margin:0 0 .7rem}
.foot__legal a{color:#c9d1d9}
.foot__age{display:inline-block;background:var(--amber);color:#fff;font-weight:700;
 border-radius:4px;margin-right:10px;font-size:.78rem;
 padding-top:3px;padding-bottom:3px;padding-left:8px;padding-right:8px}

/* ---- back to top ---- */
.totop{position:fixed;right:16px;bottom:16px;width:44px;height:44px;border-radius:50%;
 border:none;background:var(--teal);color:#fff;font-size:1.1rem;cursor:pointer;
 display:none;z-index:20;box-shadow:0 3px 10px rgba(0,0,0,.25)}
.totop.is-on{display:block}

/* ---- 404 ---- */
.nf{text-align:center;padding-top:50px;padding-bottom:50px}
.nf__code{font-size:4rem;font-weight:700;color:var(--amber);margin:0;line-height:1}

.note{color:var(--ink-2)}

/* ---- responsive ---- */
@media (max-width:860px){
 .foot__cols{grid-template-columns:1fr}
}
@media (max-width:760px){
 body{font-size:16px}
 .menu{display:none}
 .menu-btn{display:block;width:44px}
 .sheet.is-open{display:block;width:100%;flex:0 0 100%}
 .headcta{display:none}
 h1{font-size:1.62rem}
 .bodyzone h2{font-size:1.3rem}
 .shell{padding-left:16px;padding-right:16px}
 .mark img{width:132px;height:29px}
 .topbar__row{gap:12px}
 .opener{padding-left:18px;padding-right:18px}
 .fig img{width:100%}
 .steprail__item{padding-left:44px}
 .steprail__num{width:30px;height:30px;left:-15px;font-size:.88rem}
}
