/* THPT reuses the canonical JLPT Main Gateway V24 shell.
   This file only adapts the eight-stage rail and progressive stage sheet. */
body.thpt-gateway{height:100dvh;overflow:hidden}
body.thpt-gateway.is-roadmap-open{height:auto;overflow-x:hidden;overflow-y:auto}
.thpt-gateway .thpt-gateway-hero{height:100dvh;min-height:620px;padding-bottom:clamp(56px,8vh,84px)}
.thpt-gateway .hero__scene{transition:opacity .22s ease,transform .55s ease}
.thpt-gateway .hero.is-switching .hero__scene{opacity:.28;transform:scale(1.035)}
.thpt-gateway .hero__content{position:relative;z-index:2}
.thpt-gateway .hero__lead{max-width:520px}
.thpt-gateway .primary-action{appearance:none;cursor:pointer;color:#fff;text-align:left}
.thpt-hero-actions{display:grid;width:min(430px,100%);grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.thpt-hero-actions>a,.thpt-hero-actions>button{display:flex;min-height:52px;align-items:center;justify-content:center;gap:9px;padding:9px 14px;border:1px solid rgba(226,242,250,.32);border-radius:14px;background:rgba(5,18,32,.38);color:#f7f5ed;cursor:pointer;font:inherit;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.thpt-hero-actions span{color:var(--glow-gold);font-family:var(--jp);font-size:19px}.thpt-hero-actions b{font-family:var(--display);font-size:14px;font-weight:600}

.thpt-stage-rail[data-count="8"]{grid-template-columns:minmax(122px,.82fr) repeat(8,minmax(86px,1fr));overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none}
.thpt-stage-rail[data-count="8"]::-webkit-scrollbar{display:none}
.thpt-stage-rail button{position:relative;display:flex;min-width:0;min-height:98px;align-items:center;justify-content:center;gap:8px;padding:15px 8px;border:0;border-right:1px solid rgba(222,239,248,.10);background:transparent;color:rgba(228,239,246,.72);cursor:pointer;font:inherit;scroll-snap-align:start;transition:background-color .22s ease,color .22s ease,transform .22s ease}
.thpt-stage-rail button::before{position:absolute;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--glow-gold),var(--glow-coral));box-shadow:0 0 11px rgba(255,155,105,.26);content:"";transition:width .28s ease}
.thpt-stage-rail button:hover,.thpt-stage-rail button.is-featured{z-index:1;background:rgba(255,255,255,.045);color:#fff}
.thpt-stage-rail button:hover::before,.thpt-stage-rail button.is-featured::before{width:100%}
.thpt-stage-rail button.is-complete::after{position:absolute;top:8px;right:9px;display:grid;width:18px;height:18px;place-items:center;border:1px solid rgba(169,241,213,.48);border-radius:50%;color:var(--glow-mint);content:"✓";font-size:10px}
.thpt-stage-rail button>span{font-family:var(--display);font-size:clamp(20px,2vw,31px);font-weight:600;letter-spacing:-.04em;line-height:1;text-shadow:0 2px 8px rgba(0,4,12,.48)}
.thpt-stage-rail button>small{display:block;max-width:80px;color:rgba(225,237,244,.72);font-size:9px;font-weight:600;line-height:1.2;text-align:center}
.thpt-stage-rail .level-rail__intro{display:flex;min-width:122px;align-items:center;gap:11px;justify-content:flex-start;padding-inline:15px;background:linear-gradient(135deg,rgba(255,210,139,.11),rgba(255,123,104,.025))}
.thpt-stage-rail .level-rail__intro i{color:var(--glow-gold);font-family:var(--jp);font-size:38px;font-style:normal;line-height:1}
.thpt-stage-rail .level-rail__intro p{margin:0;line-height:1;text-align:left}.thpt-stage-rail .level-rail__intro small{display:block;margin-bottom:6px;color:rgba(231,241,247,.68);font-size:8px;letter-spacing:.16em;text-transform:uppercase}.thpt-stage-rail .level-rail__intro b{color:#fff8e9;font-family:var(--serif);font-size:20px;font-weight:600}
html[data-theme="light"] .thpt-stage-rail button{color:rgba(249,252,254,.9);text-shadow:0 1px 6px rgba(0,7,16,.74)}
html[data-theme="light"] .thpt-stage-rail button>small{color:rgba(244,250,253,.82)}

.thpt-stage-sheet{position:absolute;right:clamp(20px,6vw,92px);bottom:clamp(158px,21vh,200px);z-index:24;width:min(410px,calc(100vw - 40px));max-height:calc(100dvh - 210px);overflow:auto;border:1px solid rgba(226,242,250,.34);border-radius:22px;background:linear-gradient(145deg,rgba(12,31,48,.82),rgba(5,18,32,.72));box-shadow:0 28px 72px rgba(0,7,16,.34),inset 0 1px rgba(255,255,255,.14);color:#f5f8f7;-webkit-backdrop-filter:blur(22px) saturate(145%);backdrop-filter:blur(22px) saturate(145%)}
.thpt-stage-sheet>header{display:flex;min-height:58px;align-items:center;padding:7px 8px 7px 20px;border-bottom:1px solid rgba(225,239,247,.16)}
.thpt-stage-sheet>header>span{color:var(--glow-gold);font-family:var(--tl-font-mono);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.thpt-stage-sheet>header>button{display:grid;width:44px;height:44px;margin-left:auto;place-items:center;border:1px solid rgba(225,239,247,.22);border-radius:12px;background:rgba(255,255,255,.04);color:#fff;cursor:pointer;font-size:25px}
.thpt-stage-sheet__title{display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:center;padding:18px 20px}.thpt-stage-sheet__title>i{color:var(--glow-coral);font-family:var(--jp);font-size:45px;font-style:normal;line-height:1}.thpt-stage-sheet__title h2{margin:0;color:#fff8e9;font-family:var(--serif);font-size:34px;font-weight:600;line-height:1}.thpt-stage-sheet__title p{margin:7px 0 0;color:rgba(231,241,247,.68);font-size:12px;font-weight:600}
.thpt-stage-sheet>nav{border-top:1px solid rgba(225,239,247,.16)}
.thpt-stage-sheet>nav a{display:grid;grid-template-columns:38px minmax(0,1fr) 30px;gap:8px;align-items:center;min-height:56px;padding:7px 18px;border-bottom:1px solid rgba(225,239,247,.14)}
.thpt-stage-sheet>nav a:hover{background:rgba(255,255,255,.045)}
.thpt-stage-sheet>nav a>span{color:var(--glow-coral);font-family:var(--jp);font-size:19px}.thpt-stage-sheet>nav a>b{font-family:var(--display);font-size:15px;font-weight:600}.thpt-stage-sheet>nav a>i{font-style:normal;text-align:right;opacity:.62}
.thpt-stage-sheet>footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;min-height:72px;padding:11px 18px;color:rgba(231,241,247,.72)}
.thpt-stage-sheet__gate{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center}.thpt-stage-sheet__gate>span{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(169,241,213,.45);border-radius:50%;color:var(--glow-mint)}.thpt-stage-sheet__gate>b{font-size:11px;line-height:1.4}
.thpt-stage-sheet>footer>button{display:grid;min-height:48px;grid-template-columns:26px minmax(0,1fr) 18px;gap:8px;align-items:center;padding:7px 12px;border:1px solid rgba(239,198,126,.36);border-radius:12px;background:rgba(239,198,126,.08);color:#fff8e9;cursor:pointer;font:inherit}.thpt-stage-sheet>footer>button>span{color:var(--glow-gold);font-family:var(--jp);font-size:19px}.thpt-stage-sheet>footer>button>b{font-size:12px;white-space:nowrap}.thpt-stage-sheet>footer>button>i{font-style:normal;opacity:.72}
.thpt-review-sheet{bottom:clamp(34px,7vh,66px)}

.thpt-roadmap-section{min-height:100dvh;padding:clamp(88px,10vw,132px) clamp(20px,6vw,92px) 56px;background:radial-gradient(circle at 78% 16%,rgba(239,198,126,.11),transparent 28rem),linear-gradient(155deg,#091827,#06101c 72%);color:#eff6f8}
.thpt-roadmap-section__head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:26px;align-items:start;max-width:980px;margin:0 auto 42px}.thpt-roadmap-section__head>button{display:inline-flex;min-width:128px;min-height:48px;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(225,239,247,.24);border-radius:14px;background:rgba(255,255,255,.04);color:#f5f8f7;cursor:pointer;font-weight:700}.thpt-roadmap-section__head>button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.thpt-roadmap-section__head small{color:var(--glow-gold);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.thpt-roadmap-section__head h2{margin:10px 0 12px;color:#fff8e9;font-family:var(--serif);font-size:clamp(48px,6vw,76px);font-weight:500;letter-spacing:-.045em;line-height:.9}.thpt-roadmap-section__head p{max-width:620px;margin:0;color:rgba(231,241,247,.72);font-size:15px}
#thptRoadmapTitle:focus{outline:none}
.thpt-roadmap-section .thpt-stage-rail{position:relative;inset:auto;width:min(100%,1180px);margin:0 auto 24px}
.thpt-roadmap-overview{display:grid;width:min(100%,980px);grid-template-columns:repeat(3,1fr);margin:0 auto 28px;border-block:1px solid rgba(225,239,247,.16)}
.thpt-roadmap-overview article{min-width:0;padding:24px 26px}.thpt-roadmap-overview article+article{border-left:1px solid rgba(225,239,247,.14)}.thpt-roadmap-overview article>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.thpt-roadmap-overview article>header span{color:var(--glow-coral);font-family:var(--display);font-size:13px;font-weight:700}.thpt-roadmap-overview article>header small{color:var(--glow-gold);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.thpt-roadmap-overview h3{margin:16px 0 8px;color:#fff8e9;font-family:var(--serif);font-size:30px;font-weight:600;line-height:1}.thpt-roadmap-overview p{margin:0;color:rgba(231,241,247,.66);font-size:12px;line-height:1.5}
.thpt-roadmap-stage-area{width:min(100%,980px);margin:0 auto}
.thpt-roadmap-section .thpt-stage-sheet{position:relative;inset:auto;display:grid;width:100%;max-height:none;grid-template-columns:minmax(230px,.62fr) minmax(0,1.38fr);overflow:hidden}
.thpt-roadmap-section .thpt-stage-sheet[hidden]{display:none}
.thpt-roadmap-section .thpt-stage-sheet>header{grid-column:1/-1}.thpt-roadmap-section .thpt-stage-sheet__title{grid-column:1;align-content:start;min-height:100%;border-right:1px solid rgba(225,239,247,.14)}.thpt-roadmap-section .thpt-stage-sheet>nav{grid-column:2;grid-row:2;border-top:0}.thpt-roadmap-section .thpt-stage-sheet>footer{grid-column:1/-1;border-top:1px solid rgba(225,239,247,.14)}

.thpt-week-plan{width:min(980px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid rgba(226,242,250,.30);border-radius:24px;background:transparent;color:#f5f8f7;box-shadow:0 34px 96px rgba(0,7,16,.54);overflow:hidden}
.thpt-week-plan::backdrop{background:rgba(2,10,18,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.thpt-week-plan__surface{display:grid;max-height:calc(100dvh - 34px);grid-template-rows:auto auto minmax(0,1fr);background:radial-gradient(circle at 88% 4%,rgba(239,198,126,.12),transparent 28rem),linear-gradient(150deg,rgba(12,31,48,.98),rgba(5,18,32,.98))}
.thpt-week-plan__surface>header{display:flex;align-items:center;gap:20px;padding:20px 22px;border-bottom:1px solid rgba(225,239,247,.16)}.thpt-week-plan__surface>header>div{min-width:0}.thpt-week-plan__surface>header small{color:var(--glow-gold);font-family:var(--tl-font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.thpt-week-plan__surface>header h2{margin:7px 0 0;color:#fff8e9;font-family:var(--serif);font-size:clamp(34px,5vw,52px);font-weight:600;letter-spacing:-.035em;line-height:.92}.thpt-week-plan__surface>header>button{display:grid;width:48px;height:48px;flex:0 0 auto;margin-left:auto;place-items:center;border:1px solid rgba(225,239,247,.24);border-radius:12px;background:rgba(255,255,255,.04);color:#fff;cursor:pointer;font-size:28px}
.thpt-week-plan__surface>header>strong{margin-left:auto;color:rgba(231,241,247,.72);font-family:var(--tl-font-mono);font-size:11px;letter-spacing:.08em;white-space:nowrap}.thpt-week-plan__surface>header>button{margin-left:0}
.thpt-week-plan__method{margin:0;padding:13px 22px;border-bottom:1px solid rgba(225,239,247,.12);color:rgba(231,241,247,.72);font-size:14px}
.thpt-week-plan__body{min-height:0;overflow:auto;padding:0 22px 24px;overscroll-behavior:contain}.thpt-week-plan__body>section>header{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:center;padding:24px 0 18px}.thpt-week-plan__body>section>header>span{color:var(--glow-coral);font-family:var(--jp);font-size:48px;line-height:1}.thpt-week-plan__body>section>header small{color:var(--glow-gold);font-family:var(--tl-font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.thpt-week-plan__body>section>header h3{margin:3px 0 5px;color:#fff8e9;font-family:var(--serif);font-size:34px;font-weight:600;line-height:1}.thpt-week-plan__body>section>header p{margin:0;color:rgba(231,241,247,.66);font-size:14px}
.thpt-week-plan ol{margin:0;padding:0;border-block:1px solid rgba(225,239,247,.16);list-style:none}.thpt-week-plan li{display:grid;grid-template-columns:minmax(150px,.42fr) minmax(0,1.16fr) minmax(190px,.66fr);gap:20px;align-items:start;padding:20px 0}.thpt-week-plan li+li{border-top:1px solid rgba(225,239,247,.14)}.thpt-week-plan li.is-complete{border-left:3px solid rgba(169,241,213,.48);padding-left:14px}.thpt-week-plan li>header span{color:var(--glow-gold);font-family:var(--tl-font-mono);font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.thpt-week-plan li>header h4{margin:7px 0 0;color:#fff8e9;font-family:var(--display);font-size:20px;font-weight:650;line-height:1.18}.thpt-week-plan li>header small{display:block;margin-top:9px;color:rgba(231,241,247,.56);font-size:10px;line-height:1.35}.thpt-week-plan dl{display:grid;gap:10px;margin:0}.thpt-week-plan dl>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px}.thpt-week-plan dt{color:var(--glow-coral);font-family:var(--tl-font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.thpt-week-plan dd{margin:0;color:rgba(239,246,249,.82);font-size:16px;line-height:1.42}
.thpt-week-tracks{display:grid;gap:6px}.thpt-week-track,.thpt-week-track-group>summary,.thpt-week-track-group nav a,.thpt-week-tracks>button{display:grid;min-height:44px;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 10px;border:0;border-bottom:1px solid rgba(225,239,247,.16);background:transparent;color:#f5f8f7;font:inherit;text-align:left}.thpt-week-track span,.thpt-week-track-group>summary span{font-size:13px;font-weight:700}.thpt-week-track i,.thpt-week-track-group i{font-style:normal;opacity:.68}.thpt-week-track-group>summary{grid-template-columns:minmax(0,1fr) auto 18px;cursor:pointer;list-style:none}.thpt-week-track-group>summary::-webkit-details-marker{display:none}.thpt-week-track-group>summary small{color:rgba(231,241,247,.55);font-size:10px}.thpt-week-track-group[open]>summary i{transform:rotate(45deg)}.thpt-week-track-group nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding-left:8px}.thpt-week-track-group nav a{font-size:12px}.thpt-week-tracks>button{margin-top:5px;border:1px solid rgba(169,241,213,.28);border-radius:10px;cursor:pointer;grid-template-columns:22px minmax(0,1fr)}.thpt-week-tracks>button>span{color:var(--glow-mint)}.thpt-week-tracks>button>b{font-size:12px}.thpt-week-tracks>button[aria-pressed="true"]{background:rgba(169,241,213,.10);color:var(--glow-mint)}.thpt-week-plan button:focus-visible,.thpt-week-plan a:focus-visible,.thpt-week-plan summary:focus-visible,.thpt-stage-sheet>footer>button:focus-visible{outline:3px solid var(--glow-gold);outline-offset:3px}

/* A genuinely distinct light mode: warm paper, dark ink and a daylight scene. */
html[data-theme="light"] body.thpt-gateway{--thpt-day-ink:#17333d;--thpt-day-soft:#425b62;--thpt-day-line:rgba(23,51,61,.20);--thpt-day-paper:rgba(250,247,239,.92)}
html[data-theme="light"] body.thpt-gateway .hero__scene{filter:saturate(.90) contrast(.94) brightness(1.10)}
html[data-theme="light"] body.thpt-gateway .hero__scene::before{background:linear-gradient(90deg,rgba(250,246,235,.82) 0%,rgba(250,246,235,.60) 29%,rgba(250,246,235,.22) 52%,rgba(250,246,235,.06) 73%,rgba(235,224,206,.16) 100%)}
html[data-theme="light"] body.thpt-gateway .hero__scene::after{background:radial-gradient(circle at 72% 38%,rgba(255,225,167,.28),transparent 28%),linear-gradient(180deg,rgba(255,253,246,.12),transparent 56%,rgba(238,228,210,.78))}
html[data-theme="light"] body.thpt-gateway .hero__veil{background:linear-gradient(180deg,rgba(255,252,244,.12),transparent 34%),linear-gradient(0deg,#eee5d7,transparent 20%)}
html[data-theme="light"] body.thpt-gateway .hero__content::before{background:radial-gradient(ellipse at 42% 48%,rgba(255,252,244,.68),rgba(255,252,244,.34) 54%,transparent 76%)}
html[data-theme="light"] body.thpt-gateway .hero__kanji{color:rgba(151,66,48,.22);text-shadow:none}
html[data-theme="light"] body.thpt-gateway .hero__vertical{color:rgba(37,65,70,.48);text-shadow:none}
html[data-theme="light"] body.thpt-gateway .hero__level{color:#875627;text-shadow:0 1px 8px rgba(255,255,255,.78)}
html[data-theme="light"] body.thpt-gateway .hero__level b{border-color:rgba(135,86,39,.42);background:rgba(255,249,237,.66);color:#6e4426}
html[data-theme="light"] body.thpt-gateway .hero h1{color:var(--thpt-day-ink);text-shadow:0 2px 14px rgba(255,255,255,.86)}
html[data-theme="light"] body.thpt-gateway .hero h1 span{color:var(--thpt-day-ink);text-shadow:0 1px 12px rgba(255,255,255,.92)}
html[data-theme="light"] body.thpt-gateway .hero h1 em{background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:#9c4f3f;color:#9c4f3f;filter:none;text-shadow:0 1px 10px rgba(255,255,255,.82)}
html[data-theme="light"] body.thpt-gateway .hero__lead{color:#29454d;text-shadow:0 1px 8px rgba(255,255,255,.88)}
html[data-theme="light"] body.thpt-gateway .primary-action{border-color:rgba(151,77,58,.46);background:linear-gradient(130deg,rgba(255,250,240,.92),rgba(244,231,211,.82));box-shadow:0 20px 44px rgba(43,64,67,.18),inset 0 1px rgba(255,255,255,.88);color:var(--thpt-day-ink)}
html[data-theme="light"] body.thpt-gateway .primary-action small{color:#775d4c}html[data-theme="light"] body.thpt-gateway .primary-action b{color:var(--thpt-day-ink)}html[data-theme="light"] body.thpt-gateway .primary-action i{border-color:rgba(23,51,61,.24);color:#a64f3d}
html[data-theme="light"] body.thpt-gateway .thpt-hero-actions>a,html[data-theme="light"] body.thpt-gateway .thpt-hero-actions>button{border-color:rgba(23,51,61,.24);background:rgba(250,247,239,.78);box-shadow:0 10px 28px rgba(34,55,59,.12);color:var(--thpt-day-ink)}
html[data-theme="light"] body.thpt-gateway .thpt-hero-actions span{color:#a64f3d}

html[data-theme="light"] body.thpt-gateway .thpt-roadmap-section{background:radial-gradient(circle at 78% 14%,rgba(196,111,76,.12),transparent 28rem),linear-gradient(150deg,#f7f1e6,#e8dfd0 76%);color:var(--thpt-day-ink)}
html[data-theme="light"] body.thpt-gateway .thpt-roadmap-section__head>button{border-color:var(--thpt-day-line);background:rgba(255,252,245,.72);color:var(--thpt-day-ink)}
html[data-theme="light"] body.thpt-gateway .thpt-roadmap-section__head small{color:#8c5b29}html[data-theme="light"] body.thpt-gateway .thpt-roadmap-section__head h2{color:var(--thpt-day-ink)}html[data-theme="light"] body.thpt-gateway .thpt-roadmap-section__head p{color:var(--thpt-day-soft)}
html[data-theme="light"] body.thpt-gateway .thpt-roadmap-section .thpt-stage-rail{border:1px solid var(--thpt-day-line);background:rgba(255,252,245,.72);box-shadow:0 18px 42px rgba(39,58,61,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
html[data-theme="light"] body.thpt-gateway .thpt-roadmap-section .thpt-stage-rail button{border-right-color:var(--thpt-day-line);color:#365159;text-shadow:none}html[data-theme="light"] body.thpt-gateway .thpt-roadmap-section .thpt-stage-rail button>small{color:#536a70}html[data-theme="light"] body.thpt-gateway .thpt-roadmap-section .thpt-stage-rail button:hover,html[data-theme="light"] body.thpt-gateway .thpt-roadmap-section .thpt-stage-rail button.is-featured{background:rgba(176,79,59,.10);color:#8d402f}
html[data-theme="light"] body.thpt-gateway .thpt-roadmap-section .thpt-stage-rail button>span{text-shadow:none}
html[data-theme="light"] body.thpt-gateway .thpt-roadmap-section .level-rail__intro{border-right-color:var(--thpt-day-line);background:rgba(238,222,196,.72)}html[data-theme="light"] body.thpt-gateway .thpt-roadmap-section .level-rail__intro small{color:#6d6257;text-shadow:none}html[data-theme="light"] body.thpt-gateway .thpt-roadmap-section .level-rail__intro b{color:var(--thpt-day-ink);text-shadow:none}
html[data-theme="light"] body.thpt-gateway .thpt-roadmap-overview{border-color:var(--thpt-day-line)}html[data-theme="light"] body.thpt-gateway .thpt-roadmap-overview article+article{border-color:var(--thpt-day-line)}html[data-theme="light"] body.thpt-gateway .thpt-roadmap-overview h3{color:var(--thpt-day-ink)}html[data-theme="light"] body.thpt-gateway .thpt-roadmap-overview p{color:var(--thpt-day-soft)}html[data-theme="light"] body.thpt-gateway .thpt-roadmap-overview article>header span{color:#a64f3d}html[data-theme="light"] body.thpt-gateway .thpt-roadmap-overview article>header small{color:#8c5b29}
html[data-theme="light"] body.thpt-gateway .thpt-stage-sheet{border-color:var(--thpt-day-line);background:var(--thpt-day-paper);box-shadow:0 26px 66px rgba(35,54,58,.20),inset 0 1px rgba(255,255,255,.90);color:var(--thpt-day-ink)}
html[data-theme="light"] body.thpt-gateway .thpt-stage-sheet>header,html[data-theme="light"] body.thpt-gateway .thpt-stage-sheet>nav,html[data-theme="light"] body.thpt-gateway .thpt-stage-sheet>nav a,html[data-theme="light"] body.thpt-gateway .thpt-stage-sheet>footer,html[data-theme="light"] body.thpt-gateway .thpt-stage-sheet__title{border-color:var(--thpt-day-line)}
html[data-theme="light"] body.thpt-gateway .thpt-stage-sheet>header>span{color:#8c5b29}html[data-theme="light"] body.thpt-gateway .thpt-stage-sheet>header>button{border-color:var(--thpt-day-line);background:rgba(255,255,255,.56);color:var(--thpt-day-ink)}html[data-theme="light"] body.thpt-gateway .thpt-stage-sheet__title h2{color:var(--thpt-day-ink)}html[data-theme="light"] body.thpt-gateway .thpt-stage-sheet__title p,html[data-theme="light"] body.thpt-gateway .thpt-stage-sheet>footer{color:var(--thpt-day-soft)}html[data-theme="light"] body.thpt-gateway .thpt-stage-sheet>nav a:hover{background:rgba(166,79,61,.08)}
html[data-theme="light"] body.thpt-gateway .thpt-stage-sheet>footer>button{border-color:rgba(140,91,41,.28);background:rgba(140,91,41,.07);color:var(--thpt-day-ink)}html[data-theme="light"] body.thpt-gateway .thpt-stage-sheet>footer>button>span{color:#a64f3d}
html[data-theme="light"] body.thpt-gateway .thpt-week-plan{border-color:var(--thpt-day-line);color:var(--thpt-day-ink);box-shadow:0 34px 96px rgba(35,54,58,.28)}html[data-theme="light"] body.thpt-gateway .thpt-week-plan::backdrop{background:rgba(34,46,48,.45)}html[data-theme="light"] body.thpt-gateway .thpt-week-plan__surface{background:radial-gradient(circle at 88% 4%,rgba(196,111,76,.12),transparent 28rem),linear-gradient(150deg,#faf6ed,#e9dfd0)}html[data-theme="light"] body.thpt-gateway .thpt-week-plan__surface>header,html[data-theme="light"] body.thpt-gateway .thpt-week-plan__method,html[data-theme="light"] body.thpt-gateway .thpt-week-plan ol,html[data-theme="light"] body.thpt-gateway .thpt-week-plan li+li,html[data-theme="light"] body.thpt-gateway .thpt-week-plan li>nav a{border-color:var(--thpt-day-line)}html[data-theme="light"] body.thpt-gateway .thpt-week-plan__surface>header h2,html[data-theme="light"] body.thpt-gateway .thpt-week-plan__body>section>header h3,html[data-theme="light"] body.thpt-gateway .thpt-week-plan li>header h4,html[data-theme="light"] body.thpt-gateway .thpt-week-plan li>nav a{color:var(--thpt-day-ink)}html[data-theme="light"] body.thpt-gateway .thpt-week-plan__surface>header>button{border-color:var(--thpt-day-line);background:rgba(255,255,255,.54);color:var(--thpt-day-ink)}html[data-theme="light"] body.thpt-gateway .thpt-week-plan__method,html[data-theme="light"] body.thpt-gateway .thpt-week-plan__body>section>header p,html[data-theme="light"] body.thpt-gateway .thpt-week-plan dd{color:var(--thpt-day-soft)}html[data-theme="light"] body.thpt-gateway .thpt-week-plan dt,html[data-theme="light"] body.thpt-gateway .thpt-week-plan__body>section>header>span{color:#a64f3d}html[data-theme="light"] body.thpt-gateway .thpt-week-plan li>header span,html[data-theme="light"] body.thpt-gateway .thpt-week-plan__surface>header small,html[data-theme="light"] body.thpt-gateway .thpt-week-plan__body>section>header small{color:#8c5b29}
html[data-theme="light"] body.thpt-gateway .thpt-week-plan__surface>header>strong,html[data-theme="light"] body.thpt-gateway .thpt-week-plan li>header small{color:#64767a}html[data-theme="light"] body.thpt-gateway .thpt-week-track,html[data-theme="light"] body.thpt-gateway .thpt-week-track-group>summary,html[data-theme="light"] body.thpt-gateway .thpt-week-track-group nav a,html[data-theme="light"] body.thpt-gateway .thpt-week-tracks>button{border-color:var(--thpt-day-line);color:var(--thpt-day-ink)}html[data-theme="light"] body.thpt-gateway .thpt-week-track-group>summary small{color:#68797c}html[data-theme="light"] body.thpt-gateway .thpt-week-tracks>button{border-color:rgba(48,113,86,.28)}html[data-theme="light"] body.thpt-gateway .thpt-week-tracks>button[aria-pressed="true"]{background:rgba(48,113,86,.10);color:#236a4e}

@media(max-width:980px){
  .thpt-stage-rail[data-count="8"]{grid-template-columns:repeat(8,minmax(82px,1fr))}.thpt-stage-rail .level-rail__intro{display:none}.thpt-stage-sheet{right:24px;bottom:152px;left:24px;width:auto;max-height:48dvh}
  .thpt-review-sheet{bottom:28px}
  .thpt-roadmap-section .thpt-stage-sheet{right:auto;bottom:auto;left:auto;width:100%;max-height:none}
}
@media(max-width:700px){
  .thpt-gateway .thpt-gateway-hero{min-height:100svh;min-height:100dvh;padding-bottom:34px}.thpt-gateway .hero__content{max-width:min(88vw,340px)}
  .thpt-hero-actions>a,.thpt-hero-actions>button{gap:5px;padding-inline:7px}.thpt-hero-actions b{font-size:13px;white-space:nowrap}
  .thpt-stage-rail[data-count="8"]{right:14px;bottom:16px;left:14px;grid-template-columns:repeat(8,76px);border-radius:18px}.thpt-stage-rail button{min-height:76px;flex-direction:column;gap:4px;padding:8px 3px}.thpt-stage-rail button>span{font-size:23px}.thpt-stage-rail button>small{display:block;font-size:8px}
  .thpt-stage-sheet{right:14px;bottom:126px;left:14px;max-height:54dvh;border-radius:19px}.thpt-stage-sheet__title{padding:14px 16px}.thpt-stage-sheet__title h2{font-size:29px}.thpt-stage-sheet>nav a{min-height:54px;padding-inline:15px}.thpt-stage-sheet>footer{grid-template-columns:1fr;padding-inline:15px}.thpt-stage-sheet>footer>button{width:100%}
  .thpt-review-sheet{bottom:22px}
  .thpt-roadmap-section{padding:72px 14px 30px}.thpt-roadmap-section__head{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.thpt-roadmap-section__head>button{justify-self:start}.thpt-roadmap-section__head h2{font-size:48px}.thpt-roadmap-section .thpt-stage-rail{right:auto;bottom:auto;left:auto;margin-bottom:18px}.thpt-roadmap-section .thpt-stage-sheet{right:auto;bottom:auto;left:auto;grid-template-columns:1fr;max-height:none}.thpt-roadmap-section .thpt-stage-sheet__title{grid-column:1;border-right:0;border-bottom:1px solid rgba(225,239,247,.14)}.thpt-roadmap-section .thpt-stage-sheet>nav{grid-column:1;grid-row:auto}.thpt-roadmap-section .thpt-stage-sheet>footer{grid-column:1}
  .thpt-roadmap-overview{grid-template-columns:1fr}.thpt-roadmap-overview article{padding:18px 16px}.thpt-roadmap-overview article+article{border-top:1px solid rgba(225,239,247,.14);border-left:0}.thpt-roadmap-overview h3{font-size:27px}
  .thpt-week-plan{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:20px}.thpt-week-plan__surface{max-height:calc(100dvh - 18px)}.thpt-week-plan__surface>header{gap:10px;padding:16px}.thpt-week-plan__surface>header h2{font-size:36px}.thpt-week-plan__surface>header>strong{display:none}.thpt-week-plan__method{padding:11px 16px;font-size:13px}.thpt-week-plan__body{padding:0 16px 20px}.thpt-week-plan__body>section>header{grid-template-columns:48px minmax(0,1fr);gap:12px;padding-block:20px 16px}.thpt-week-plan__body>section>header>span{font-size:40px}.thpt-week-plan__body>section>header h3{font-size:30px}.thpt-week-plan li{grid-template-columns:1fr;gap:14px;padding:18px 0}.thpt-week-plan li.is-complete{padding-left:10px}.thpt-week-plan dl>div{grid-template-columns:64px minmax(0,1fr)}.thpt-week-track-group nav{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:360px){.thpt-stage-rail[data-count="8"]{grid-template-columns:repeat(8,70px)}.thpt-stage-sheet{right:10px;left:10px}}
@media(prefers-reduced-motion:reduce){.thpt-gateway .hero__scene,.thpt-stage-rail button{transition:none!important}}
@media(prefers-reduced-transparency:reduce){.thpt-stage-sheet{background:#081b2c;-webkit-backdrop-filter:none;backdrop-filter:none}.thpt-week-plan::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.thpt-week-plan__surface{background:#081b2c}html[data-theme="light"] body.thpt-gateway .thpt-stage-sheet,html[data-theme="light"] body.thpt-gateway .thpt-week-plan__surface{background:#f8f3e9}}
@media(forced-colors:active){.thpt-stage-sheet,.thpt-stage-rail button,.thpt-week-plan,.thpt-week-plan__surface,.thpt-week-plan button,.thpt-week-plan a{background:Canvas!important;color:CanvasText!important;border-color:ButtonText!important}.thpt-stage-sheet__title h2,.thpt-week-plan h2,.thpt-week-plan h3,.thpt-week-plan h4{color:CanvasText!important}}
@media print{body.thpt-gateway{height:auto;overflow:visible}.thpt-stage-sheet,.thpt-week-plan{display:none!important}}
