/* sdp-dash.css: the 60-Day GMAT Focus Study Plan dashboard (60-day-plan.php, templates sdp_dash_*.html). Served at /assets/css/sdp-dash.css;
   bump ?v= in sdp_dash_body.html on every change. Its look is the TTP offer card's (styles/btgi/template/ttp_featured.html; Justin 10-29: "for style
   ui/ux tokens just reference our ttp widgets"): ink #1e2640, blue #4059c7, line #e6e9f2, tint #fafbfe, shell 24px, cards 18px, inner 12px, buttons 11px. --spring is im-in.events' one spring (imin-prod/src/lib/spring.ts) as a CSS curve. */
.sdp{--ink:#1e2640;--soft:#3e4658;--muted:#5f677d;--paper:#f6f7fc;--tint:#fafbfe;--line:#e6e9f2;--edge:#8c94a7;--blue:#4059c7;--blue-t:#eef1fc;--orange:#f47c20;--orange-ink:#a84a08;--orange-t:#fdf0e6;--violet:#6d55c9;--violet-t:#eee9fb;--teal:#17706b;--teal-t:#dbf3f0;--ok:#16713a;--ok-t:#ecf8f0;--no:#b42318;--no-t:#fdf0ef;
--sh:0 8px 24px rgba(32,48,91,.05);--sh-up:0 16px 36px rgba(36,55,107,.1);--sh-shell:0 20px 60px rgba(29,42,78,.09),inset 0 1px 0 #fff;--sh-pill:0 8px 22px rgba(32,44,78,.05);
--spring:linear(0,.03567,.121,.2311,.3491,.464,.5696,.6624,.7414,.8067,.8593,.9007,.9326,.9565,.9739,.9863,.9948,1,1.004,1.005,1.006,1.006,1.006,1.005,1.005,1);--dur:.5s;
font:400 16px/1.55 var(--btg-font);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:clip}
.sdp *{box-sizing:border-box}.sdp h1,.sdp h2,.sdp h3,.sdp h4{margin:0;font-family:var(--btg-font);font-weight:800;letter-spacing:-.03em;color:var(--ink);text-wrap:balance}
.sdp p,.sdp ol,.sdp ul,.sdp dl,.sdp dd{margin:0;padding:0}.sdp ol,.sdp ul{list-style:none}.sdp p,.sdp li{text-wrap:pretty}.sdp b,.sdp strong{font-weight:800}.sdp a{color:var(--blue);font-weight:800}
.sdp .wrap{width:min(1510px,100%);margin:0 auto;padding:0 clamp(12px,2.4vw,36px)}.sdp section{position:relative}#sdp section{padding:64px 0}/* the id outranks combined.css's section:not(12 classes) + section{padding-top:0} */.sdp section.white{background:#fff;color:var(--ink)}
.sdp .head{max-width:860px;margin-bottom:24px}.sdp h2{font-size:clamp(26px,2.6vw,36px);line-height:1.1;letter-spacing:-.035em}.sdp .head p{margin-top:10px;font-size:17px;color:var(--muted)}
.sdp .card{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--sh);transition:transform .19s ease,border-color .19s ease,box-shadow .19s ease}.sdp a.card:hover{transform:translateY(-3px);border-color:#cdd4eb;box-shadow:var(--sh-up)}.sdp .board,.sdp .week,.sdp .mix{border-color:rgba(213,218,232,.82);border-radius:24px;box-shadow:var(--sh-shell)}.sdp .sr{position:absolute;left:-5000px}.sdp .muted,.sdp .note{color:var(--muted)}
.sdp a:focus-visible,.sdp button:focus-visible,.sdp summary:focus-visible,.sdp input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
/* the one action: the TTP card's action button, a blue gradient with a white label (4.7:1 or better) and a light sweep on hover */
.sdp .go{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 24px;border:1px solid rgba(45,65,153,.35);border-radius:11px;background:linear-gradient(135deg,#536cd5,#3e56c0 58%,#3349a9);color:#fff;font:800 14px/1.2 var(--btg-font);font-size:14px!important;letter-spacing:.025em;text-transform:uppercase;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;box-shadow:0 8px 16px rgba(53,75,175,.2),inset 0 1px 0 rgba(255,255,255,.28);transition:transform .18s ease,box-shadow .18s ease}
.sdp .go:before{content:"";position:absolute;top:0;left:-100px;width:70px;height:100%;transform:skewX(-24deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transition:left .5s ease}.sdp .go:hover:before{left:calc(100% + 30px)}
.sdp .go:hover{transform:translateY(-2px);box-shadow:0 13px 24px rgba(53,75,175,.28);color:#fff}.sdp .busy .go{opacity:.6;pointer-events:none}
.sdp .form .one{display:flex;gap:10px}.sdp .form input{flex:1 1 auto;min-width:0;height:52px;margin:0;padding:0 16px;border:0;border-radius:11px;background:#fff;box-shadow:var(--sh-pill),inset 0 0 0 1px #c9cfdf;font:400 17px var(--btg-font);color:var(--ink);outline:0}
.sdp button{height:auto;letter-spacing:0}/* combined.css: button{height:52px;letter-spacing:1px;font-size:.625em!important} */.sdp input::placeholder{font-style:normal;color:var(--muted)}
.sdp .form input:focus{box-shadow:inset 0 0 0 2px var(--blue),0 0 0 4px rgb(68 95 184/.25)}.sdp .fine{margin-top:10px;font-size:14px;color:var(--muted)}
.sdp .fine.err{color:var(--no);font-weight:800}.sdp .fine.yes{color:var(--ok);font-weight:800}.sdp .joined .one{display:none}
/* hero: the pitch and signup beside the headline dashboard card */
#sdp .hero{padding:56px 0 72px}.sdp .hero{overflow:hidden}.sdp .bloom{position:absolute;inset:0;pointer-events:none;-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}
.sdp .bloom:before,.sdp .bloom:after{content:"";position:absolute;width:56vmax;height:56vmax;border-radius:50%}.sdp .bloom:before{left:-16vmax;top:-24vmax;background:radial-gradient(closest-side,rgb(68 95 184/.22),transparent)}.sdp .bloom:after{right:-18vmax;top:-6vmax;background:radial-gradient(closest-side,rgb(244 124 32/.18),transparent)}
.sdp .hero .grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:48px;align-items:center}
.sdp .kicker{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;background:#fff;box-shadow:var(--sh-pill);font-size:14px;font-weight:800;color:var(--soft)}.sdp .kicker i{width:8px;height:8px;border-radius:50%;background:var(--orange)}
.sdp h1{margin:18px 0 16px;font-size:clamp(42px,5.6vw,72px);line-height:.95;letter-spacing:-.045em}.sdp h1 span{display:block;color:var(--blue)}.sdp .lead{max-width:52ch;margin:0;font-size:18px;font-weight:400;line-height:1.55;color:var(--soft)}
.sdp .pitch .form,.sdp .back{max-width:560px;margin-top:24px}.sdp .facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:560px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line);font-size:14px;line-height:1.35;color:var(--muted)}.sdp .facts b{display:block;font-size:26px;line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums}
.sdp .board{padding:24px}.sdp .board-head h2{font-size:24px}.sdp .board-head p{margin-top:4px;color:var(--muted)}
.sdp .tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.sdp .tiles div{padding:12px 14px;border:1px solid #eceef4;border-radius:12px;background:var(--tint)}
.sdp .tiles b{display:block;font-size:28px;line-height:1.1;letter-spacing:-.03em;color:var(--blue);font-variant-numeric:tabular-nums}.sdp .tiles b small{font-size:16px;color:var(--muted)}.sdp .tiles span{font-size:13px;line-height:1.3;color:var(--muted)}.sdp b.slow,.sdp .big.slow{color:var(--orange-ink)}
.sdp .grid60{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:5px}.sdp .sq{display:grid;place-items:center;aspect-ratio:1;border-radius:8px;background:var(--paper);font-size:13px;font-weight:800;color:var(--muted);font-variant-numeric:tabular-nums}
.sdp .sq.mile{box-shadow:inset 0 0 0 2px var(--orange)}.sdp .sq.exam{box-shadow:inset 0 0 0 2px var(--violet)}.sdp .sq.done{background:var(--blue);color:#fff}.sdp .sq.missed{background:var(--orange-t);color:var(--orange-ink)}.sdp .sq.now{background:#fff;color:var(--ink);outline:3px solid var(--ink);outline-offset:1px}
.sdp .sqkey{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:13px;color:var(--muted)}.sdp .sqkey i{display:inline-block;width:12px;height:12px;margin-right:6px;border-radius:4px;vertical-align:-1px}
.sdp .k-done{background:var(--blue)}.sdp .k-missed{background:var(--orange-t);box-shadow:inset 0 0 0 1px var(--orange)}.sdp .k-now{outline:2px solid var(--ink)}.sdp .k-mile{box-shadow:inset 0 0 0 2px var(--orange)}.sdp .k-exam{box-shadow:inset 0 0 0 2px var(--violet)}
.sdp .ontrack{margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--blue-t);font-weight:800;color:var(--blue)}.sdp .ontrack.behind{background:var(--orange-t);color:var(--orange-ink)}
/* the dashboard cards */
.sdp .dgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.sdp .dc{display:flex;flex-direction:column;gap:12px;padding:24px}.sdp .dc.wide{grid-column:span 2}.sdp .dc h3{font-size:20px}.sdp .dc .note{margin-top:auto;font-size:14px}.sdp .dc .note.top{margin-top:0}
.sdp .track{display:block;height:8px;border-radius:999px;background:var(--line);overflow:hidden}.sdp .fill{display:block;height:100%;border-radius:999px;background:var(--blue);transform-origin:left}.sdp .fill.slow{background:var(--orange)}
.sdp .bar p{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px;font-size:15px}.sdp .bar p span{color:var(--muted)}
.sdp .lv-sec+.lv-sec{margin-top:16px}.sdp .lv-sec>p{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;font-size:15px}.sdp .lv-sec>p span{color:var(--muted)}.sdp .lv{display:grid;gap:7px;margin:0;padding:0;list-style:none}.sdp .lv li{display:grid;grid-template-columns:86px 70px minmax(0,1fr);align-items:center;gap:10px;font-size:13px;color:var(--muted)}.sdp .lv li b{color:var(--ink);font-variant-numeric:tabular-nums}.sdp .lv li.un{grid-template-columns:86px 1fr}
.sdp .big{font-size:44px;line-height:1;font-weight:800;letter-spacing:-.04em;color:var(--blue);font-variant-numeric:tabular-nums}.sdp .big small{font-size:16px;letter-spacing:0;color:var(--muted)}
.sdp .pace{position:relative}.sdp .pace .track{height:12px}.sdp .pace i{position:absolute;left:50%;top:-4px;width:2px;height:20px;background:var(--ink)}.sdp .pace-l{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}
.sdp .weak li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:15px}.sdp .weak li:first-child{border-top:0}.sdp .weak a{display:flex;align-items:center;min-height:44px;font-weight:700}.sdp .weak b{color:var(--orange-ink)}.sdp .weak .muted{grid-column:span 2;font-size:14px}
.sdp .stepper{display:grid;grid-template-columns:44px 44px minmax(0,1fr) 44px 44px;gap:6px;align-items:center}.sdp .stepper button{height:44px;border:0;border-radius:12px;background:var(--blue-t);color:var(--blue);font:800 15px var(--btg-font);font-size:15px!important;cursor:pointer}.sdp .stepper button:hover{background:#dce3f7}
/* combined.css forces button:hover/focus/active text to #fff !important; each button keeps its own ink, dark fills set --btn-fg */
.sdp .go{--btn-fg:#fff}.sdp .stepper button{--btn-fg:var(--blue)}.sdp button:is(:hover,:focus,:active){color:var(--btn-fg,var(--ink))!important}
.sdp .stepper b{text-align:center;font-size:17px;font-variant-numeric:tabular-nums}
.sdp .trend{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end}.sdp .col{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:44px;color:var(--ink);text-decoration:none;font-weight:400}.sdp .col b{min-height:1.4em;font-size:18px;font-variant-numeric:tabular-nums}
.sdp .colbar{display:flex;align-items:flex-end;width:100%;height:120px;border-radius:12px;background:var(--paper);overflow:hidden}.sdp .colbar i{display:block;width:100%;border-radius:12px 12px 0 0;background:linear-gradient(var(--blue),#5c74d3);transform-origin:bottom}
.sdp .col.empty .colbar{background:none;box-shadow:inset 0 0 0 2px var(--line)}.sdp .col span{font-size:14px;font-weight:800}.sdp .col small{font-size:13px;color:var(--muted)}.sdp .gain{color:var(--ok)}
.sdp .forum-note{margin-top:20px;color:var(--muted)}
/* the outline: weeks, days that open in place, the question, the walkthrough */
.sdp .mix{padding:22px 24px;margin-bottom:20px}.sdp .mix h3{font-size:20px}.sdp .mix>p{margin-top:12px;color:var(--muted)}.sdp .seg{display:flex;height:14px;margin:14px 0;border-radius:999px;overflow:hidden;transform-origin:left}
.sdp .seg .q,.sdp .chip.q{background:var(--blue)}.sdp .seg .v{background:var(--violet)}.sdp .seg .di{background:var(--teal)}.sdp .legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sdp .legend b{font-size:20px}.sdp .legend p{font-size:14px;color:var(--muted)}
.sdp .tq{color:var(--blue)}.sdp .tv{color:var(--violet)}.sdp .tdi{color:var(--teal)}
.sdp .weeks{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;margin-bottom:20px}.sdp .weeks a{display:flex;flex-direction:column;justify-content:flex-start;min-height:64px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--sh-pill);color:var(--ink);text-decoration:none;line-height:1.25}.sdp .weeks span{font-size:13px;font-weight:400;color:var(--muted)}
.sdp .week{margin-bottom:16px;padding:4px 0;overflow:hidden;scroll-margin-top:90px}.sdp .week h3{padding:16px 22px 12px;font-size:20px}.sdp .week h3 small{display:block;margin-bottom:2px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.sdp .day{border-top:1px solid var(--line);scroll-margin-top:90px}.sdp .day summary{display:grid;grid-template-columns:88px minmax(0,1fr) 300px 18px;gap:14px;align-items:center;min-height:54px;padding:8px 22px;list-style:none;cursor:pointer}.sdp .day summary::-webkit-details-marker{display:none}
.sdp .day summary:hover{background:#fafbfe}.sdp .dn{font-size:14px;font-weight:800;color:var(--blue);line-height:1.2}.sdp .dn time{display:block;font-weight:400;color:var(--muted)}.sdp .dt{font-size:16px;font-weight:700;line-height:1.35}
.sdp .tags{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}.sdp .chip{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:8px;font-size:12.5px;font-weight:800;line-height:1.2;white-space:nowrap}.sdp .chip.q{background:var(--blue-t);color:var(--blue)}.sdp .chip.v{background:var(--violet-t);color:var(--violet)}.sdp .chip.di{background:var(--teal-t);color:var(--teal)}
.sdp .chip.ex{background:var(--orange-t);color:var(--orange-ink)}.sdp .chip.mi{box-shadow:inset 0 0 0 1px var(--orange);color:var(--orange-ink)}.sdp .chip.now{background:var(--ink);color:#fff}
.sdp .st{width:18px;height:18px;fill:none;stroke:var(--edge);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--dur) var(--spring)}.sdp .day[open] .st.chev{transform:rotate(180deg)}.sdp .day.done .st,.sdp .day.missed .st{stroke:var(--blue)}
.sdp .day.now{background:linear-gradient(90deg,var(--blue-t),#fff 40%)}.sdp .inside{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:6px 24px 28px 132px;max-width:1000px}.sdp .day[open] .inside{animation:sdp-rise var(--dur) var(--spring)}
.sdp .lesson{display:grid;gap:10px;color:var(--soft)}.sdp .lesson table,.sdp .stem table{display:block;max-width:100%;overflow-x:auto}.sdp .goal{font-size:17px}
.sdp .qbox{padding:18px;border-radius:18px;background:#f3f5fb}.sdp .clock{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:14px;color:var(--muted)}.sdp .clock b{min-width:3.2em;font-size:18px;color:var(--ink);font-variant-numeric:tabular-nums}
.sdp .tbar{flex:1;height:6px;border-radius:999px;background:var(--line);overflow:hidden}.sdp .tbar i{display:block;height:100%;background:var(--blue);transform:scaleX(0);transform-origin:left}.sdp .qbox.slow .tbar i{background:var(--orange)}
.sdp .stem{display:grid;gap:8px}.sdp .stem table{border-collapse:collapse;max-width:100%;background:#fff}.sdp .stem td,.sdp .stem th{padding:6px 10px;border:1px solid var(--line);text-align:left}
.sdp .pick{display:grid;gap:8px;margin-top:14px}.sdp .pick button{display:flex;gap:12px;align-items:center;min-height:48px;padding:8px 14px;border:0;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);font:400 16px/1.4 var(--btg-font);font-size:16px!important;color:var(--ink);text-align:left;cursor:pointer;transition:box-shadow var(--dur) var(--spring)}
.sdp .pick button:hover:enabled{box-shadow:inset 0 0 0 1px var(--edge)}.sdp .pick button:disabled{cursor:default}.sdp .pick b{flex:0 0 28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--blue-t);color:var(--blue);font-size:14px}
.sdp .pick .key{box-shadow:inset 0 0 0 2px var(--ok);background:var(--ok-t)}.sdp .pick .key b{background:var(--ok);color:#fff}.sdp .pick .picked:not(.key){box-shadow:inset 0 0 0 2px var(--no);background:var(--no-t)}.sdp .pick .picked:not(.key) b{background:var(--no);color:#fff}
.sdp .reveal:not(:empty){display:grid;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.sdp .reveal>*{animation:sdp-rise var(--dur) var(--spring) backwards}.sdp .reveal>:nth-child(2){animation-delay:.12s}.sdp .reveal>:nth-child(n+3){animation-delay:.24s}
.sdp .verdict{font-weight:800}.sdp .verdict.ok{color:var(--ok)}.sdp .verdict.no{color:var(--no)}.sdp .walk{display:grid;gap:10px;counter-reset:s}.sdp .walk li{padding:14px 16px;border-radius:12px;background:#fff;counter-increment:s}.sdp .walk h4{font-size:16px}.sdp .walk h4:before{content:"Step " counter(s) ". ";color:var(--blue)}
.sdp .walk dl{display:grid;grid-template-columns:150px minmax(0,1fr);gap:4px 14px;margin-top:8px}.sdp .walk dt{font-size:14px;font-weight:800;color:var(--muted)}.sdp .trap{padding:12px 14px;border-radius:12px;background:var(--orange-t)}.sdp .faster{padding:12px 14px;border-radius:12px;background:var(--blue-t)}.sdp .take{font-weight:700}
.sdp form.exam{padding:18px;border-radius:18px;box-shadow:inset 0 0 0 2px var(--violet-t)}.sdp form.exam h4{margin-bottom:10px}.sdp .scores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:end}
.sdp .scores label{display:grid;gap:4px;font-size:13px;font-weight:800;color:var(--muted)}.sdp .scores input{width:100%;height:48px;padding:0 12px;border:0;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--edge);font:800 18px var(--btg-font);color:var(--ink);font-variant-numeric:tabular-nums}.sdp .scores .go{min-height:48px}
.sdp .donow h4,.sdp .fq h4{margin-bottom:8px;font-size:16px}.sdp .donow{display:grid;gap:6px}.sdp .lock p{margin-bottom:12px}.sdp .lock .form{max-width:560px}
.sdp .fq li{display:grid;gap:2px;padding:8px 0;border-top:1px solid var(--line)}.sdp .fq li:first-child{border-top:0}.sdp .fq a{display:flex;align-items:center;min-height:44px;font-weight:700}
.sdp .fqs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:14px;color:var(--muted)}.sdp .fqs .track{width:72px;height:6px}.sdp .fqs em{font-style:normal;font-weight:800}.sdp .ok{color:var(--ok)}.sdp .no{color:var(--no)}
/* how a day works, the track record, the FAQ, the last signup */
.sdp .steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.sdp .step{display:flex;flex-direction:column;padding:24px}.sdp .step h3{display:flex;gap:12px;align-items:center;font-size:22px;line-height:1.2}.sdp .step>p{margin-top:8px;color:var(--muted)}
.sdp .n{flex:0 0 36px;height:36px;display:grid;place-items:center;border-radius:8px;background:var(--blue-t);color:var(--blue);font-size:16px}.sdp .stage{flex:1;margin-top:16px;padding:16px;border-radius:12px;background:var(--blue-t)}.sdp .stage.o{background:var(--orange-t)}
.sdp .sheet{padding:16px 18px;border-radius:12px;background:#fff;box-shadow:var(--sh-pill)}.sdp .sheet small{display:block;font-size:13px;font-weight:800;color:var(--blue)}.sdp .sheet>strong{display:block;margin:2px 0 10px;font-size:18px}.sdp .foot{margin:-4px 0 8px;font-size:13px;color:var(--muted)}.sdp .todo+.foot{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line)}
.sdp .todo li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--line)}.sdp .todo li:first-child,.sdp .fql li:first-child{border-top:0}.sdp .todo i{flex:0 0 24px;height:24px;display:grid;place-items:center;border-radius:8px;background:var(--blue);color:#fff;font:800 13px var(--btg-font);font-style:normal}
.sdp .fql li{padding:10px 0;border-top:1px solid var(--line)}.sdp .fql li>span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sdp .fql em{display:flex;align-items:center;gap:10px;margin-top:4px;font-size:13px;font-style:normal;color:var(--muted)}.sdp .fql .track{flex:0 0 72px;height:6px}
.sdp .cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:32px;color:var(--muted)}
.sdp .posts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.sdp .story{display:flex;flex-direction:column;padding:24px;color:var(--ink);font-weight:400;text-decoration:none}.sdp .story p{margin:10px 0 12px;color:var(--soft)}.sdp .story small{margin-top:auto;font-size:13px;color:var(--muted)}.sdp .story small u{color:var(--blue);font-weight:800}
.sdp .jump{font-size:clamp(30px,3.4vw,46px);line-height:1;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.sdp .jump s{text-decoration:none;color:var(--muted)}.sdp .jump i{font-size:16px;font-style:normal;color:var(--orange-ink)}
.sdp .faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}.sdp .faq div{padding:20px 0;border-top:1px solid var(--line)}.sdp .faq h3{margin-bottom:6px;font-size:18px}.sdp .faq p{color:var(--soft)}
.sdp .final{overflow:hidden;background:var(--ink)}.sdp .final .bloom{-webkit-mask-image:none;mask-image:none}.sdp .final .grid{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}
.sdp .final h2{color:#fff}.sdp .final p{max-width:52ch;margin-top:14px;font-size:18px;color:rgb(255 255 255/.85)}.sdp .final .fine{font-size:14px;color:rgb(255 255 255/.8)}.sdp .final .fine.err{color:#ffb4a8}.sdp .final .fine.yes{color:#9be3b4}
.sdp .stick{position:fixed;left:16px;right:16px;bottom:12px;z-index:50;display:none;visibility:hidden;opacity:0;transform:translateY(140%);transition:transform var(--dur) var(--spring),opacity var(--dur) var(--spring),visibility var(--dur)}.sdp .stick.on{visibility:visible;opacity:1;transform:none}
@keyframes sdp-rise{from{opacity:0;transform:translateY(10px)}}
@media (prefers-reduced-motion:reduce){.sdp *{animation:none!important;transition:none!important}}
@media (max-width:1100px){.sdp .hero .grid,.sdp .final .grid{grid-template-columns:minmax(0,1fr);gap:36px}.sdp .dgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.sdp .weeks{grid-template-columns:repeat(4,minmax(0,1fr))}.sdp .stick{display:flex}.sdp .inside{padding-left:24px}}
@media (max-width:760px){.sdp .faq,.sdp .dgrid,.sdp .steps,.sdp .legend,.sdp .posts{grid-template-columns:minmax(0,1fr)}.sdp .dc.wide{grid-column:auto}.sdp .grid60{grid-template-columns:repeat(10,minmax(0,1fr))}.sdp .day summary{grid-template-columns:auto minmax(0,1fr) 18px;grid-template-areas:"dn tags st" "dt dt dt";row-gap:4px}.sdp .day summary>.dn{grid-area:dn}.sdp .day summary>.dt{grid-area:dt}.sdp .tags{grid-area:tags}.sdp .st{grid-area:st}.sdp .tags{justify-content:flex-end}.sdp .dn time{display:inline;margin-left:8px}.sdp .walk dl{grid-template-columns:minmax(0,1fr)}.sdp .scores{grid-template-columns:repeat(2,minmax(0,1fr))}.sdp .scores .go{grid-column:span 2}}
@media (max-width:640px){.sdp .wrap{padding:0 16px}#sdp .hero{padding:24px 0 48px}#sdp section{padding:56px 0}.sdp h1{margin:14px 0 12px}.sdp .lead{font-size:17px}.sdp .form .one{flex-direction:column}.sdp .facts,.sdp .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.sdp .board,.sdp .dc{padding:18px}.sdp .grid60{gap:4px}.sdp .weeks{grid-template-columns:repeat(2,minmax(0,1fr))}.sdp .week h3,.sdp .day summary{padding-left:16px;padding-right:16px}.sdp .inside{padding:4px 16px 22px}.sdp .qbox,.sdp form.exam{padding:14px}.sdp .trend{gap:6px}.sdp .stepper{grid-template-columns:44px 44px minmax(0,1fr) 44px 44px;gap:4px}.sdp .stepper b{font-size:15px}}
