/* AT public role pages only. This stylesheet is never loaded by the game. */
body.rl-page{background:#f5f2e9!important;color:#173c33!important}
body.rl-page .plain-header{padding:12px 0!important;gap:12px!important}
body.rl-page .plain-header nav{gap:4px 24px!important;align-items:center}
body.rl-page .plain-header .language{border:1px solid #a9b7aa;border-radius:30px;padding:0 14px}
body.rl-page main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.rl-page .rl-section{width:min(1240px,calc(100% - 64px));max-width:1240px;margin:0 auto;padding:64px 0!important;border-bottom:1px solid #ccd3c6;scroll-margin-top:20px}
body.rl-page .rl-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:start;padding:48px 0 56px!important}
body.rl-page .rl-kicker{font-size:14px!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#405b51!important;margin:0 0 14px!important}
body.rl-page .rl-intro h1{font-size:clamp(40px,4.7vw,66px)!important;line-height:1.04!important;letter-spacing:-.055em!important;max-width:17ch!important;margin:12px 0 24px!important;text-wrap:balance}
body.rl-page .rl-lead{font-size:21px!important;line-height:1.5!important;max-width:40ch;color:#405b51!important;margin:0 0 24px}
body.rl-page .rl-actions{display:flex;gap:10px 20px;align-items:center;flex-wrap:wrap;margin:20px 0 12px}
body.rl-page .rl-actions a{min-height:46px;display:inline-flex;align-items:center;text-underline-offset:5px}
body.rl-page .rl-button{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;min-height:52px;border:1px solid #173c33;border-radius:10px;background:#173c33;color:#fffefa!important;font-weight:700;font-size:18px!important;line-height:1.3;text-decoration:none;text-align:center;cursor:pointer}
body.rl-page .rl-secondary{background:transparent;color:#173c33!important}
body.rl-page .rl-price-line{font-size:16px!important;color:#405b51!important;margin:12px 0}
body.rl-page .rl-price-line strong{color:#173c33;font-size:18px}
body.rl-page .rl-example{min-width:0;background:#fffefa;border:1px solid #b9c6b9;border-radius:18px;box-shadow:0 22px 54px #173c330d;overflow:hidden;position:relative}
body.rl-page .rl-example-top{padding:18px 24px 16px;border-bottom:1px solid #d7ded2;display:flex;align-items:center;justify-content:space-between;gap:14px}
body.rl-page .rl-example-top p{margin:0;font-size:14px!important;color:#405b51!important}
body.rl-page .rl-example-top span{font-size:13px;font-weight:700;letter-spacing:.07em;color:#426253;white-space:nowrap}
body.rl-page .rl-example h2{font-size:25px!important;line-height:1.18!important;letter-spacing:-.03em!important;margin:0 0 20px!important;max-width:none}
body.rl-page .rl-sample-tabs{display:flex;gap:4px;padding:12px 16px 0;flex-wrap:wrap}
body.rl-page .rl-sample-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:#426253;min-height:44px;padding:8px 12px;font:600 15px/1.3 Arial,sans-serif!important;border-radius:0;cursor:pointer}
body.rl-page .rl-sample-tabs button[aria-selected=true]{color:#173c33;border-color:#173c33}
body.rl-page [data-sample-panel]{padding:24px;min-height:310px}
body.rl-page [data-sample-panel]>h3{font-size:22px!important;margin:0 0 16px!important}
body.rl-page .rl-units{display:grid;gap:12px}
body.rl-page .rl-unit{min-width:0;padding:14px 16px;border:1px solid #d7ded2;border-left:3px solid #b28149;border-radius:6px;background:#fffefa}
body.rl-page .rl-unit h3{font-size:15px!important;line-height:1.4!important;letter-spacing:0!important;margin:0 0 7px!important;color:#426253!important;font-weight:700}
body.rl-page .rl-unit p{font-size:17px!important;line-height:1.45!important;margin:0!important}
body.rl-page .rl-source{font-size:18px!important;line-height:1.55!important;margin:0}
body.rl-page .rl-unit-number{font-size:13px;color:#426253;display:block;margin-bottom:10px}
body.rl-page .rl-example-foot{padding:12px 24px;border-top:1px solid #d7ded2;background:#f1f3e9;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}
body.rl-page .rl-example-foot a,body.rl-page .rl-example-foot button{font-size:14px!important;min-height:44px;display:inline-flex;align-items:center;color:#173c33;background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:0}
body.rl-page .rl-example-status{font-size:14px!important;margin:0;padding:0 24px;color:#405b51!important}
body.rl-page .rl-example-status:not(:empty){padding:12px 24px}
body.rl-page .rl-review{display:grid;gap:14px}
body.rl-page .rl-review label{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #d7ded2;font-size:17px!important;line-height:1.4!important;cursor:pointer}
body.rl-page .rl-review input{accent-color:#173c33;margin:2px 0 0;flex:0 0 22px}
body.rl-page .rl-review p{font-size:15px!important;color:#405b51!important;margin:0}
body.rl-page .rl-table-wrap{overflow-x:auto;max-width:100%;border:1px solid #d7ded2;border-radius:8px}
body.rl-page .rl-table{border-collapse:collapse;width:100%;font-size:15px;text-align:left}
body.rl-page .rl-table :is(th,td){padding:13px 12px;border-bottom:1px solid #d7ded2;vertical-align:top;font-size:15px!important;line-height:1.4;overflow-wrap:anywhere}
body.rl-page .rl-table th{background:#e9eee2;color:#173c33;font-weight:700}
body.rl-page .rl-table tr:last-child td{border-bottom:0;background:#f4e7ce;font-weight:600}
body.rl-page .rl-table tbody tr:hover{background:#f5f2e9}
body.rl-page .rl-kind-chat .rl-unit{max-width:94%;border:0;background:#e9eee2;border-radius:12px 12px 12px 0}
body.rl-page .rl-kind-chat .rl-unit:nth-child(2){margin-left:24px;background:#173c33;color:#fffefa;border-radius:12px 12px 0 12px}
body.rl-page .rl-kind-chat .rl-unit:nth-child(2) :is(h3,p){color:#fffefa!important}
body.rl-page .rl-kind-board .rl-unit{border-left:4px solid #c5924d;background:#fbfaf5}
body.rl-page .rl-kind-board .rl-unit h3:before{content:'●';font-size:10px;color:#a06a2e;padding-right:8px}
body.rl-page .rl-kind-package .rl-unit:first-child{background:#173c33;border-color:#173c33}
body.rl-page .rl-kind-package .rl-unit:first-child :is(h3,p){color:#fffefa!important}
body.rl-page .rl-kind-document .rl-units{gap:0;padding-left:18px;border-left:2px solid #d2d9c9}
body.rl-page .rl-kind-document .rl-unit{border:0;border-bottom:1px solid #d7ded2;border-radius:0;padding:16px 0;background:transparent}
body.rl-page .rl-kind-slides .rl-unit{aspect-ratio:1.8;padding:20px 24px;display:flex;flex-direction:column;justify-content:space-between;background:#173c33;border:0;border-radius:8px}
body.rl-page .rl-kind-slides .rl-unit:nth-child(2){background:#f2d8ab}
body.rl-page .rl-kind-slides .rl-unit:not(:nth-child(2)) :is(p,h3){color:#fffefa!important}
body.rl-page .rl-kind-slides .rl-unit p{font-size:23px!important;line-height:1.25!important;max-width:24ch}
body.rl-page .rl-kind-slides .rl-units{gap:14px}
body.rl-page .rl-poster{background:#173c33;padding:26px;border-radius:8px;margin-bottom:20px;color:#edbf79;border:1px solid #173c33;display:grid;grid-template-columns:1fr auto;gap:24px}
body.rl-page .rl-poster strong{font-size:38px;letter-spacing:-.05em;line-height:1.02;max-width:8ch;font-weight:500}
body.rl-page .rl-poster .rl-poster-date{font-size:48px;line-height:1;letter-spacing:-.06em;font-family:Georgia,serif}
body.rl-page .rl-poster p{color:#fffefa!important;font-size:16px!important;margin:0;grid-column:1/-1}
body.rl-page .rl-product{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:center;background:#eef1e7;border-radius:8px;padding:18px;margin-bottom:20px}
body.rl-page .rl-product svg{width:100%;height:145px}
body.rl-page .rl-product strong{font-size:27px;line-height:1.15;display:block;letter-spacing:-.03em}
body.rl-page .rl-product p{font-size:14px!important;line-height:1.4!important;color:#405b51!important;margin:10px 0 0}
body.rl-page .rl-property{display:flex;align-items:end;justify-content:space-between;gap:18px;background:#173c33;border-radius:8px;padding:22px;margin-bottom:18px;color:#fffefa}
body.rl-page .rl-property strong{font-size:48px;font-weight:500;letter-spacing:-.06em;line-height:1}
body.rl-page .rl-property p{font-size:15px!important;margin:0;color:#edbf79!important}
body.rl-page .rl-section-head{display:flex;justify-content:space-between;gap:32px;align-items:end;margin:0 0 32px}
body.rl-page .rl-section-head h2{font-size:clamp(30px,3.4vw,44px)!important;max-width:24ch;margin:0!important;line-height:1.1!important}
body.rl-page .rl-section-head p{font-size:17px!important;line-height:1.5!important;max-width:38ch;color:#405b51!important;margin:0}
body.rl-page .rl-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0;counter-reset:step}
body.rl-page .rl-path li{padding:24px;background:#fffefa;border:1px solid #ccd3c6;border-radius:10px;min-width:0;position:relative}
body.rl-page .rl-path li:before{counter-increment:step;content:'0'counter(step);font:italic 40px/1 Georgia,serif;color:#9b623d;display:block;margin-bottom:24px}
body.rl-page .rl-path h3{font-size:24px!important;margin:0 0 14px!important}
body.rl-page .rl-path p{font-size:16px!important;line-height:1.5!important;color:#405b51!important}
body.rl-page .rl-path a{font-size:15px!important;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px}
body.rl-page .rl-course-note{font-size:16px!important;line-height:1.5!important;color:#405b51!important;margin:20px 0 0;max-width:78ch}
body.rl-page .rl-format{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
body.rl-page .rl-format img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid #173c33;box-shadow:0 20px 45px #173c3317}
body.rl-page .rl-format h2{max-width:20ch}
body.rl-page .rl-format ul{list-style:none;padding:0;display:grid;gap:16px}
body.rl-page .rl-format li{border-bottom:1px solid #ccd3c6;padding-bottom:14px;font-size:18px!important}
body.rl-page .rl-format figure{margin:0;min-width:0}
body.rl-page .rl-format figcaption{font-size:14px;line-height:1.4;color:#405b51;margin:12px 0}
body.rl-page .rl-price-card{background:#173c33;border-radius:18px;padding:40px;display:grid;grid-template-columns:1.1fr 1fr;gap:48px;color:#fffefa}
body.rl-page .rl-price-card :is(h2,h3,p,li){color:#fffefa!important}
body.rl-page .rl-price-card h2{font-size:clamp(30px,3.5vw,44px)!important;max-width:22ch}
body.rl-page .rl-price-card .rl-kicker{color:#edbf79!important}
body.rl-page .rl-price-card .school-price{font-size:64px!important;line-height:1!important;letter-spacing:-.055em;margin:14px 0 12px!important;font-weight:600}
body.rl-page .rl-price-card .school-discount{font-size:16px!important;color:#edbf79!important;margin:0}
body.rl-page .rl-price-card .rl-renew{font-size:18px!important;margin:10px 0 20px}
body.rl-page .rl-price-card a{color:#edbf79!important;text-underline-offset:5px}
body.rl-page .rl-price-card .rl-button{color:#173c33!important;background:#edbf79;border-color:#edbf79;width:100%}
body.rl-page .rl-price-card .rl-fine{font-size:15px!important;line-height:1.5!important;color:#e1e8dc!important}
body.rl-page .rl-price-card ul{padding-left:20px;display:grid;gap:12px}
body.rl-page .rl-price-card li{font-size:18px!important}
body.rl-page .rl-price-card details{border-top:1px solid #6e8c7b;margin-top:22px;padding-top:10px}
body.rl-page .rl-price-card summary{font-size:16px!important;color:#fffefa}
body.rl-page .rl-price-card [data-role-availability]{font-size:16px!important}
body.rl-page .rl-price-card [data-role-availability]:empty{display:none}
body.rl-page .rl-retry{border:1px solid #edbf79;background:transparent;color:#edbf79;min-height:44px;border-radius:8px;padding:10px 16px;cursor:pointer}
body.rl-page .rl-faq{display:grid;grid-template-columns:1fr 1.4fr;gap:64px}
body.rl-page .rl-faq h2{font-size:36px!important}
body.rl-page .rl-faq details{border-bottom:1px solid #bcc8b9;padding:6px 0}
body.rl-page .rl-faq summary{font-size:19px!important;font-weight:600;padding:16px 0;min-height:50px}
body.rl-page .rl-faq p{font-size:17px!important;line-height:1.5!important;color:#405b51!important}
body.rl-page .rl-roles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:24px}
body.rl-page .rl-role-link{display:block;background:#fffefa;border:1px solid #ccd3c6;border-radius:10px;padding:18px;text-decoration:none;font-size:18px!important;min-height:70px;align-content:center}
body.rl-page .rl-role-link:hover{border-color:#173c33;background:#f0dfc0}
body.rl-page .rl-role-more{margin-top:16px}
body.rl-page .rl-related{display:flex;gap:12px 26px;flex-wrap:wrap;align-items:center;margin-top:24px}
body.rl-page .rl-related a{min-height:44px;display:inline-flex;align-items:center}
body.rl-page .rl-role-motion{border:1px solid #a9b7aa;background:transparent;color:#405b51;min-height:44px;border-radius:8px;padding:8px 14px;cursor:pointer}
body.rl-page .rl-role-motion:disabled{cursor:default;opacity:.8}
body.rl-page #motion-toggle{display:none!important}
body.rl-page .rl-video{display:block;max-width:100%;width:100%;border-radius:12px;border:1px solid #ccd3c6;margin-top:24px}
body.rl-page [hidden]{display:none!important}
body.rl-page :is(a,button,input,summary):focus-visible{outline:3px solid #aa6b1a!important;outline-offset:4px}
body.rl-page .rl-price-card :is(a,button):focus-visible{outline-color:#fffefa!important}
body.rl-page [data-role-motion=on] .rl-example{animation:rl-arrive .6s ease-out 1!important}
@keyframes rl-arrive{from{opacity:.3;transform:translateY(14px)}to{opacity:1;transform:none}}
body.rl-page .rl-preserved-lessons{margin-top:24px;border:1px solid #ccd3c6;border-radius:10px;padding:20px;background:#fffefa}
body.rl-page .rl-preserved-lessons>.section{width:100%!important;max-width:100%!important}
@media(max-width:900px){body.rl-page .rl-hero{gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body.rl-page .rl-section{width:calc(100% - 40px)}body.rl-page .rl-roles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){
 body.rl-page .plain-header{display:flex!important;flex-wrap:wrap!important;align-items:center!important;width:calc(100% - 32px)!important}
 body.rl-page .plain-header .plain-brand{font-size:22px!important;white-space:nowrap!important;gap:8px!important}
 body.rl-page .plain-header nav{display:flex!important;width:auto!important;flex:1!important;justify-content:flex-end!important;gap:0 14px!important}
 body.rl-page .plain-header nav a{font-size:14px!important;min-height:44px}
 body.rl-page .plain-header nav .rl-header-program{display:none!important}
 body.rl-page .plain-header .language{padding:0 10px}
 body.rl-page .plain-header .plain-brand:before{flex-basis:30px;height:30px;font-size:16px}
 body.rl-page .rl-section{width:calc(100% - 32px);padding:40px 0!important}
 body.rl-page .rl-hero{grid-template-columns:minmax(0,1fr);gap:24px;padding:28px 0 40px!important}
 body.rl-page .rl-intro h1{font-size:39px!important;max-width:20ch!important;margin:8px 0 16px!important;line-height:1.07!important}
 body.rl-page .rl-lead{font-size:18px!important;line-height:1.45!important;margin:0 0 18px}
 body.rl-page .rl-actions{margin:16px 0 8px;gap:8px 18px}
 body.rl-page .rl-button{font-size:17px!important;padding:14px 16px}
 body.rl-page .rl-actions>a:not(.rl-button){font-size:16px!important}
 body.rl-page .rl-kicker{font-size:13px!important;margin-bottom:10px!important}
 body.rl-page .rl-price-line{font-size:15px!important;line-height:1.4!important;margin:10px 0}
 body.rl-page .rl-price-line strong{font-size:16px}
 body.rl-page .rl-example-top{padding:14px 18px}
 body.rl-page .rl-example-top p{font-size:13px!important}
 body.rl-page .rl-sample-tabs{padding:6px 10px 0}
 body.rl-page .rl-sample-tabs button{font-size:14px!important;padding:8px 10px}
 body.rl-page [data-sample-panel]{padding:18px;min-height:0}
 body.rl-page .rl-example h2{font-size:23px!important}
 body.rl-page .rl-unit{padding:12px}
 body.rl-page .rl-unit p{font-size:16px!important;line-height:1.45!important}
 body.rl-page .rl-source{font-size:17px!important}
 body.rl-page .rl-table :is(th,td){font-size:13px!important;padding:10px 7px}
 body.rl-page .rl-example-foot{padding:10px 18px}
 body.rl-page .rl-path,body.rl-page .rl-format,body.rl-page .rl-faq,body.rl-page .rl-price-card{grid-template-columns:minmax(0,1fr);gap:22px}
 body.rl-page .rl-path li{padding:22px}
 body.rl-page .rl-path li:before{margin-bottom:14px;font-size:32px}
 body.rl-page .rl-section-head{display:block;margin-bottom:24px}
 body.rl-page .rl-section-head p{margin-top:16px}
 body.rl-page .rl-section-head h2{font-size:32px!important}
 body.rl-page .rl-price-card{padding:26px 22px}
 body.rl-page .rl-price-card .school-price{font-size:56px!important}
 body.rl-page .rl-price-card h2{font-size:32px!important}
 body.rl-page .rl-roles{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.rl-page .rl-role-link{font-size:16px!important;padding:16px}
 body.rl-page .rl-poster{padding:20px;gap:18px}
 body.rl-page .rl-poster strong{font-size:32px}
 body.rl-page .rl-poster .rl-poster-date{font-size:40px}
 body.rl-page .rl-kind-slides .rl-unit{aspect-ratio:auto;min-height:150px}
 body.rl-page .rl-kind-slides .rl-unit p{font-size:21px!important}
}
@media(prefers-reduced-motion:reduce){body.rl-page *,body.rl-page *:before,body.rl-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body.rl-page :is(header,footer,.rl-sample-tabs,.rl-example-foot,.rl-actions,.rl-price-card){display:none!important}body.rl-page .rl-section{width:100%}body.rl-page [data-sample-panel]{display:block!important}body.rl-page .rl-hero{display:block}body.rl-page .rl-example{box-shadow:none}}

/* Intrinsic long words and enlarged text must reflow inside the grid. */
body.rl-page .rl-intro,body.rl-page .rl-price-card>div{min-width:0}
body.rl-page :is(h1,h2,h3){overflow-wrap:anywhere;hyphens:none}
@media(max-width:400px){body.rl-page .plain-header nav .rl-header-price{display:none!important}}

/* Price emphasis: constant readable text, slow glow, existing/global pause. */
body.rl-page .rl-price-card .school-discount{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:12px!important}
body.rl-page .rl-old-price{font-size:28px!important;font-weight:500;color:#cfdbcd;text-decoration-line:line-through;text-decoration-thickness:2px;text-decoration-color:#edbf79;text-decoration-skip-ink:none}
body.rl-page .rl-hero .rl-old-price{font-size:20px!important;color:#52695e;text-decoration-color:#8a4c30;margin-right:12px}
body.rl-page .rl-sale-badge{padding:5px 10px;background:#edbf79;color:#173c33;border-radius:6px;font-size:16px!important;font-weight:700}
body.rl-page [data-role-motion=on] .school-price{animation:rl-price-glow 3.6s ease-in-out infinite!important}
body.rl-page [data-role-motion=on] .rl-price-line strong{animation:rl-intro-glow 3.6s ease-in-out infinite!important}
@keyframes rl-price-glow{0%,100%{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 18px #edbf7980,0 0 38px #edbf7938}}
@keyframes rl-intro-glow{0%,100%{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 16px #d2a34b70}}
body.rl-page .rl-price-pause{display:inline-flex;min-height:44px;padding:8px 0;border:0;background:transparent;color:#edbf79;font-size:14px!important;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
body.rl-page .rl-price-pause:disabled{color:#cfdbcd;cursor:default}
body.rl-page .rl-sale-clock{display:grid;gap:6px;border:1px solid #78917a;border-radius:9px;padding:14px 16px;margin:18px 0;color:#fffefa}
body.rl-page .rl-sale-clock>span:first-child{font-size:15px!important;color:#edbf79}
body.rl-page .rl-clock-digits{font-size:32px!important;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:.04em}
body.rl-page .rl-sale-clock time{font-size:13px;color:#dbe6d6}
@media(prefers-reduced-motion:reduce){body.rl-page [data-role-motion] :is(.school-price,.rl-price-line strong){animation:none!important;text-shadow:none!important}}

body.rl-page [data-price-discount=false] :is(.school-price,.rl-price-line strong){animation:none!important;text-shadow:none!important}

/* Price animation follows verified timed quote, existing pause, and visibility. */
body.rl-page [data-role-landing]:not([data-price-timed=true]) :is(.school-price,.rl-price-line strong,.sc-amount){animation:none!important;text-shadow:none!important}
body.rl-page [data-price-timed=true][data-role-motion=on] :is(.rl-old-price,[data-sales-discount]){position:relative;text-decoration:none!important}
body.rl-page [data-price-timed=true][data-role-motion=on] :is(.rl-old-price,[data-sales-discount])::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:currentColor;transform-origin:left;animation:learn-price-strike .7s ease-out 1 both}
@keyframes learn-price-strike{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){body.rl-page [data-role-landing] :is(.rl-old-price,[data-sales-discount])::after{animation:none!important;transform:none!important}}
