
:root{--navy:#0d1b32;--navy2:#162846;--gold:#c8a25d;--cream:#f6f2e9;--paper:#fffdf8;--ink:#182238;--muted:#6c7688;--line:#e3ded3;--soft:#efede6;--green:#4e8468;--shadow:0 16px 45px rgba(13,27,50,.09)}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}button,select,textarea{font:inherit}button{cursor:pointer}
#app{min-height:100vh;display:flex}.sidebar{width:252px;background:var(--navy);color:#fff;padding:24px 15px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:4px 10px 32px;cursor:pointer}.brand-mark{width:40px;height:40px;border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center;border-radius:10px;font:24px Georgia}.brand strong{display:block;font:18px Georgia}.brand small{color:#aab6ca;font-size:9px;letter-spacing:1.5px}.sidebar nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;color:#b7c1d1;text-align:left;padding:12px 14px;border-radius:9px;display:flex;gap:12px;align-items:center}.nav-item:hover,.nav-item.active{background:var(--navy2);color:#fff}.nav-item.active{box-shadow:inset 3px 0 var(--gold)}.sidebar-bottom{margin-top:auto;padding:15px 10px;border-top:1px solid #28364e;color:#8794aa}.engine-badge{font-size:9px;letter-spacing:1px}.engine-badge b{color:var(--gold)}.sidebar-bottom small{display:block;margin-top:7px;font-size:10px;line-height:1.5}
.main{margin-left:252px;width:calc(100% - 252px);min-height:100vh}.topbar{height:68px;background:rgba(255,253,248,.94);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.crumbs{font-size:13px;color:var(--muted)}.top-left{display:flex;align-items:center;gap:12px}.top-actions{display:flex;align-items:center;gap:10px}.top-actions select{border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px 32px 8px 10px}.avatar{border:0;background:var(--navy);color:#fff;width:34px;height:34px;border-radius:50%}.mobile-menu{display:none}
.container{max-width:1180px;margin:auto;padding:42px 34px 75px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:var(--gold)}h1,h2,h3{font-family:Georgia,serif;font-weight:500}.hero{display:grid;grid-template-columns:1.45fr .75fr;gap:20px}.hero-copy{background:var(--navy);color:#fff;border-radius:20px;padding:42px;box-shadow:var(--shadow)}h1{font-size:44px;line-height:1.08;margin:10px 0 13px}.hero-copy h1 em{color:#e3c27d;font-style:normal}.hero-copy p{color:#c4cddd;max-width:680px;line-height:1.7}.hero-actions{display:flex;gap:10px;margin-top:26px}.btn{border:0;border-radius:9px;padding:11px 16px;font-weight:750}.btn-primary{background:var(--gold);color:var(--navy)}.btn-outline{background:transparent;color:var(--navy);border:1px solid var(--line)}.hero-copy .btn-outline{color:#fff;border-color:#506078}.btn-dark{background:var(--navy);color:#fff}.hero-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow)}.course-icon{font-size:38px;margin-top:22px}.hero-card h2{font-size:25px;margin:10px 0}.progress{height:8px;background:#e5e1d7;border-radius:9px;overflow:hidden;margin-top:20px}.progress i{height:100%;display:block;background:var(--gold)}.progress-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:8px}.section-title{font-size:26px;margin:38px 0 16px}.system-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.system-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px}.system-card span{color:var(--gold);font-weight:800;font-size:11px}.system-card h3{font-size:20px;margin:9px 0 5px}.system-card p{font-size:12px;color:var(--muted);line-height:1.5}.lesson-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.lesson-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:19px;text-align:left;min-height:150px;transition:.18s}.lesson-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.lesson-card.done{border-color:#b6cdbf}.lesson-number{font-size:9px;letter-spacing:1.4px;color:var(--gold);font-weight:800}.lesson-title{font:20px Georgia;margin:13px 0 5px}.lesson-sub{font-size:12px;color:var(--muted)}.lesson-state{font-size:11px;margin-top:20px;color:var(--muted)}
.page-head{margin-bottom:25px}.language-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.language-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px;text-align:left;min-height:255px;transition:.18s}.language-card:hover,.language-card.selected{transform:translateY(-3px);box-shadow:var(--shadow)}.language-card.selected{border-color:var(--gold)}.language-top{display:flex;justify-content:space-between}.big-flag{font-size:34px}.level{font-size:9px;letter-spacing:1px;color:var(--gold);font-weight:800}.language-card h2{margin:17px 0 2px;font-size:24px}.native{color:var(--muted);font-size:12px}.language-card p{color:var(--muted);font-size:12px;line-height:1.6;min-height:50px}.open-language{font-size:12px;font-weight:800}
.course-banner{background:var(--navy);color:#fff;border-radius:19px;padding:32px;display:flex;justify-content:space-between;align-items:end}.course-banner h1{margin:7px 0 3px}.course-banner p{color:#bdc8d8;margin:0}.course-stat{text-align:right}.course-stat strong{display:block;font:34px Georgia;color:#e1c17d}.course-stat span{color:#b6c1d2;font-size:11px}.unit-head{display:flex;justify-content:space-between;align-items:center;padding:25px 4px 15px}.unit-label{font-size:9px;color:var(--gold);letter-spacing:1.6px;font-weight:800}.unit-head h2{font-size:27px;margin:5px 0}.unit-head p{color:var(--muted);font-size:13px}.unit-progress{text-align:right;color:var(--muted);font-size:11px}.unit-progress b{display:block;font:24px Georgia;color:var(--navy)}.sequence{display:grid;gap:7px}.sequence-row{width:100%;display:grid;grid-template-columns:65px 1fr auto 45px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:14px 16px;text-align:left}.sequence-row:hover{border-color:#c9b47e;box-shadow:0 6px 18px rgba(13,27,50,.05)}.sequence-row.completed{border-color:#bdd1c4}.seq-num{font:20px Georgia;color:#9a8d73}.seq-main b{display:block;font:17px Georgia}.seq-main small{display:block;color:var(--muted);margin-top:3px}.seq-status{text-align:right;color:var(--gold);font-weight:800}.milestone{margin:28px 0;padding:35px 24px;text-align:center;background:linear-gradient(180deg,#eee9dc,#f8f4eb);border:1px solid #d9d0bc;border-radius:16px}.milestone-rule{height:1px;background:#cfc4aa;margin-bottom:14px}.milestone-badge{display:inline-block;border:1px solid var(--gold);color:#80652f;padding:5px 9px;border-radius:20px;font-size:9px;letter-spacing:1.4px;font-weight:800}.milestone h2{font-size:25px;margin:12px 0 8px}.milestone p{max-width:650px;margin:auto;color:var(--muted);line-height:1.6;font-size:13px}.milestone-line{display:flex;gap:15px;align-items:center;justify-content:center;margin-top:20px;color:var(--muted);font-size:11px}.milestone-line i{width:120px;height:2px;background:var(--gold)}
.lesson-shell{max-width:1080px;margin:auto;padding:34px}.back{border:0;background:transparent;color:var(--muted);padding:0;margin-bottom:15px}.lesson-header{background:var(--navy);color:#fff;border-radius:18px;padding:30px}.lesson-top{display:flex;gap:8px}.lesson-badge,.status-badge{font-size:9px;letter-spacing:1.2px;font-weight:800;padding:6px 9px;border-radius:20px}.lesson-badge{background:#253654;color:#e1c17d}.status-badge{background:#203b31;color:#b9d8c6}.lesson-header h1{font-size:40px;margin:18px 0 5px}.lesson-header .subtitle{font:20px Georgia;color:#e2c47e}.lesson-header p{color:#c5cedb;line-height:1.6;max-width:800px}.lesson-nav{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.part-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 12px;color:var(--muted)}.part-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}.lesson-content{display:grid;gap:14px}.section-card{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:25px}.part-heading span{font-size:9px;color:var(--gold);letter-spacing:1.5px;font-weight:800}.part-heading h2{font-size:25px;margin:5px 0 8px}.dialogue{border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-top:15px}.dialogue-title{background:var(--soft);padding:10px 14px;font-size:12px;font-weight:800}.line{display:grid;grid-template-columns:30px 1.2fr 1fr;gap:10px;padding:13px;border-top:1px solid var(--line)}.speaker{color:var(--gold);font-weight:900}.jp{font-size:17px}.romaji,.translation,.muted{color:var(--muted);font-size:12px}.pattern-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.pattern{border:1px solid var(--line);border-radius:10px;padding:14px}.pattern b{display:block;font-size:18px;margin-bottom:4px}.pattern span{color:var(--muted);font-size:12px}.prompt{background:#f4f1e9;border-radius:10px;padding:13px;margin:9px 0}.textarea{display:block;width:100%;margin-top:9px;min-height:72px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;resize:vertical}.writing-note{font-size:11px;color:var(--muted);margin-top:10px}.word-table{width:100%;border-collapse:collapse}.word-table th,.word-table td{text-align:left;padding:11px;border-bottom:1px solid var(--line);font-size:12px}.word-table th{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.audio-btn{border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 8px}.microclip{margin:10px 0;padding:11px;border:1px dashed #d6cfbf;border-radius:9px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.question{border:1px solid var(--line);border-radius:10px;padding:15px;margin-bottom:10px}.options{display:grid;gap:7px;margin-top:10px}.option{background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px;text-align:left}.option.correct{background:#eef7f0;border-color:#a9c8b2}.option.wrong{background:#fff0f0;border-color:#d7a5a5}.score-box{background:var(--navy);color:#fff;padding:15px;border-radius:10px}.cine-grid{display:grid;grid-template-columns:190px 1fr;gap:22px}.poster{min-height:220px;border-radius:12px;background:linear-gradient(145deg,#14243f,#36516d);display:grid;place-items:center;text-align:center;color:#e4c57f;padding:15px;font:22px Georgia}.media-tag{display:inline-block;color:var(--gold);font-size:9px;letter-spacing:1.4px;font-weight:800}.cine-section h3{font:25px Georgia;margin:8px 0}.cine-section p{color:var(--muted);line-height:1.6;font-size:13px}.activity-list{color:var(--muted);line-height:1.9;font-size:13px}.lesson-footer{display:flex;gap:9px;margin-top:18px}.empty-note{padding:30px;border:1px dashed #cfc8b9;border-radius:12px;text-align:center;color:var(--muted)}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.practice-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:25px;text-align:left}.practice-card b{display:block;font:25px Georgia;margin-bottom:10px}.practice-card span{font-size:12px;color:var(--muted)}.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.library-card{min-height:225px;background:var(--navy);border:0;border-radius:15px;padding:22px;color:#fff;text-align:left;display:flex;flex-direction:column;justify-content:end}.library-card span{color:#e0c078;font-size:9px;letter-spacing:1px}.library-card h3{font-size:23px;margin:7px 0}.library-card small{color:#b7c2d2}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px}.stat-card span,.stat-card small{display:block;color:var(--muted);font-size:11px}.stat-card strong{display:block;font:30px Georgia;margin:6px 0}.progress-list{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}.progress-list div{display:flex;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line);font-size:12px}.progress-list div:last-child{border-bottom:0}
@media(max-width:950px){.sidebar{width:220px}.main{margin-left:220px;width:calc(100% - 220px)}.hero{grid-template-columns:1fr}.language-grid{grid-template-columns:repeat(2,1fr)}.system-grid{grid-template-columns:repeat(2,1fr)}.library-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.mobile-menu{display:block;border:0;background:transparent;font-size:19px}.topbar{padding:0 14px}.container,.lesson-shell{padding:24px 15px 55px}.hero-copy{padding:28px}h1,.lesson-header h1{font-size:32px}.language-grid,.system-grid,.lesson-strip,.pattern-grid,.practice-grid,.library-grid,.stats{grid-template-columns:1fr}.course-banner{align-items:flex-start;gap:15px}.sequence-row{grid-template-columns:45px 1fr auto 30px}.line{grid-template-columns:25px 1fr}.translation{grid-column:2}.cine-grid{grid-template-columns:1fr}.poster{min-height:145px}.lesson-footer{flex-wrap:wrap}}
/* Student Experience v3 */
.student-mini{margin-top:18px;padding-top:15px;border-top:1px solid #e2ddd3}.student-mini span,.student-mini small{display:block;color:#7b8491;font-size:10px}.student-mini strong{display:block;font:16px Georgia;margin:4px 0}.student-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0 34px}.student-stats>div{background:#fffdf8;border:1px solid #ded7ca;border-radius:12px;padding:15px}.student-stats span{display:block;color:#7b8491;font-size:10px}.student-stats b{display:block;font:22px Georgia;margin-top:5px}.resume-card{display:flex;justify-content:space-between;align-items:center;gap:25px;background:#0d1b32;color:#fff;border-radius:15px;padding:25px;margin-bottom:35px;box-shadow:0 12px 30px #0d1b3218}.resume-card h2{font:25px Georgia;margin:7px 0}.resume-card p{color:#c4ccda;max-width:700px;font-size:12px}.resume-card small{color:#aab5c5}.activity-progress,.lesson-progress{height:7px;background:#e5e0d7;border-radius:99px;overflow:hidden}.activity-progress{max-width:500px;margin:14px 0 6px}.activity-progress i,.lesson-progress i,.tiny-progress i{display:block;height:100%;background:#c8a25d;border-radius:inherit}.lesson-progress-head{display:flex;justify-content:space-between;font-size:10px;color:#7b8491;margin-top:16px;margin-bottom:6px}.lesson-progress-head b{color:#0d1b32}.lesson-progress{margin-bottom:18px}.tiny-progress{height:3px;background:#e4dfd6;border-radius:99px;overflow:hidden;margin-top:7px;max-width:260px}.sequence-row.locked{opacity:.55;cursor:not-allowed}.sequence-row.locked:hover{background:transparent}.part-btn.part-done{border-color:#b7c99f;color:#4e6b38}.activity-done{border-color:#c4d2b4}.done-pill{margin-left:auto;font-size:9px;letter-spacing:1px;color:#58743d;background:#eaf0e3;border-radius:99px;padding:6px 9px}.activity-action{display:flex;justify-content:flex-end;align-items:center;border-top:1px solid #eee9e0;margin-top:20px;padding-top:15px}.completion-message{font-size:11px;color:#58743d;font-weight:800}.writing-workspace{display:grid;gap:15px}.writing-task{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:14px;background:#f7f4ed;border:1px solid #e3ddd2;border-radius:10px}.writing-task>b{width:28px;height:28px;border-radius:50%;background:#0d1b32;color:#fff;display:grid;place-items:center;font-size:11px}.writing-task p{margin:0 0 8px;font-size:12px}.writing-task small{display:block;color:#8992a0;font-size:9px;margin-top:4px}.mini-speak{border:0;background:transparent;cursor:pointer;font-size:12px}.pattern{position:relative}.pattern .mini-speak{position:absolute;right:8px;top:8px}.score-box{display:flex;gap:12px;align-items:center;margin-top:15px;padding:13px 15px;background:#f1eee7;border-radius:9px;font-size:11px}.score-box span{color:#7b8491}.score-box.visible{display:flex}.quiz .option{cursor:pointer}.quiz .option:disabled{cursor:default}.quiz .option.correct{border-color:#75935c;background:#eaf0e3}.quiz .option.wrong{border-color:#b36a6a;background:#f5e6e6}.practice-note{margin-top:30px;background:#fffdf8;border:1px solid #ddd7ca;border-radius:12px;padding:20px}.practice-note b{font:18px Georgia}.practice-note p{color:#687385;font-size:12px;line-height:1.6}@media(max-width:900px){.student-stats{grid-template-columns:repeat(2,1fr)}.resume-card{display:block}.resume-card .btn{margin-top:15px}}@media(max-width:600px){.student-stats{grid-template-columns:1fr}.writing-task{grid-template-columns:25px 1fr}.done-pill{margin-left:5px}}
/* Student Account / Profile Layer v4 */
.profile-page{padding-bottom:60px}.profile-hero{background:var(--navy);color:#fff;border-radius:18px;padding:30px;display:flex;align-items:center;gap:18px;margin-bottom:18px}.profile-avatar{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:#e1c17d;color:#0d1b32;font:28px Georgia;font-weight:700}.profile-hero h1{font:36px Georgia;margin:3px 0}.profile-hero p{color:#c8d0dc;margin:0 0 8px;font-size:12px}.account-badge{display:inline-block;border:1px solid #66748a;color:#d9e0e9;border-radius:99px;padding:5px 9px;font-size:9px;letter-spacing:1px}.profile-edit-btn{margin-left:auto;color:#fff;border-color:#637087}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.profile-card{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:24px;margin-top:15px}.profile-card h2{font:23px Georgia;margin:7px 0 18px}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-fields>div{background:#f7f4ed;border:1px solid #e3ddd2;border-radius:10px;padding:12px}.profile-fields span,.profile-fields b{display:block}.profile-fields span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.profile-fields b{font-size:13px;margin-top:4px}.profile-bio{font-size:12px;line-height:1.6;color:var(--muted);margin-top:15px}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.profile-stats>div{padding:12px;border:1px solid #e3ddd2;border-radius:10px;text-align:center;background:#f7f4ed}.profile-stats b,.profile-stats span{display:block}.profile-stats b{font:23px Georgia}.profile-stats span{font-size:9px;color:var(--muted);margin-top:3px}.member-line{display:flex;justify-content:space-between;margin-top:15px;border-top:1px solid var(--line);padding-top:13px;font-size:11px}.member-line span{color:var(--muted)}.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.edit-panel label{display:block;font-size:10px;color:var(--muted);margin-bottom:10px}.edit-panel input,.edit-panel select,.edit-panel textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;font:inherit}.edit-panel textarea{min-height:80px;resize:vertical}.edit-actions{display:flex;gap:8px;margin-top:14px}.tool-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;border-top:1px solid var(--line)}.tool-row:first-of-type{border-top:0}.tool-row b,.tool-row span{display:block}.tool-row b{font-size:12px}.tool-row span{font-size:10px;color:var(--muted);margin-top:4px}.btn-danger{border:1px solid #b56c6c;background:#fff;color:#9a4e4e;border-radius:8px;padding:10px 14px}.account-note{margin-top:15px;padding:16px 18px;border:1px dashed #c9c1b2;border-radius:12px;background:#f7f4ed;color:var(--muted);font-size:11px;line-height:1.6}.account-note b{color:#26344a}.account-note p{margin:5px 0 0}@media(max-width:800px){.profile-grid{grid-template-columns:1fr}.profile-hero{align-items:flex-start;flex-wrap:wrap}.profile-edit-btn{margin-left:0}.profile-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.profile-fields,.edit-grid{grid-template-columns:1fr}.profile-hero h1{font-size:30px}.tool-row{align-items:flex-start;flex-direction:column}.profile-avatar{width:60px;height:60px;font-size:23px}}
.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:radial-gradient(circle at top left,#f4eee3,transparent 40%),#f8f6f1}.auth-brand{position:fixed;top:28px;left:32px;display:flex;align-items:center;gap:12px;color:#16243b}.auth-brand strong{display:block;font-size:18px}.auth-brand small{display:block;letter-spacing:1.5px;font-size:9px;opacity:.65}.auth-card{width:min(500px,100%);background:#fff;border:1px solid #e7e1d6;border-radius:20px;padding:34px;box-shadow:0 20px 70px rgba(24,35,52,.10)}.auth-card h1{margin:8px 0 10px}.auth-card label{display:block;margin:18px 0;font-weight:600;font-size:13px}.auth-card input,.auth-card select,.auth-card textarea{display:block;width:100%;box-sizing:border-box;margin-top:7px;border:1px solid #d9d4ca;border-radius:10px;padding:12px 13px;font:inherit;background:#fff}.auth-submit{width:100%;margin-top:8px}.auth-switch{text-align:center;margin-top:20px;color:#626a73;font-size:14px}.auth-switch button{border:0;background:none;color:#16243b;font-weight:700;cursor:pointer}.auth-security{margin-top:22px;padding:13px 14px;background:#f5f2ec;border-radius:10px;font-size:12px;color:#666}.auth-security b,.auth-security span{display:block}.auth-security span{margin-top:4px}.auth-message{background:#f8eee8;border:1px solid #ead3c5;color:#75412c;padding:11px 13px;border-radius:10px;margin:18px 0;font-size:13px}.signout-btn{border:1px solid #ddd7cc;background:#fff;border-radius:9px;padding:8px 11px;font-weight:700;color:#344050;cursor:pointer}.setup-card h2{font-size:17px;margin:24px 0 6px}.setup-card p{line-height:1.6}.setup-card a{color:#16243b;font-weight:700}.setup-card code{background:#f0ede7;padding:2px 5px;border-radius:4px}.auth-mode #app{min-height:100vh}@media(max-width:700px){.auth-brand{position:static;align-self:flex-start;margin-bottom:20px}.auth-shell{flex-direction:column;align-items:stretch}.auth-card{margin:auto}}


/* Lesson 3 visual listening player */
.visual-listen-card{padding:25px}.listen-player{margin-top:16px;border:1px solid #cfc7b8;border-radius:14px;background:linear-gradient(135deg,#f8f6f0,#ece8de);padding:22px}.listen-player-top{display:flex;align-items:center;gap:14px}.listen-player-icon{width:48px;height:48px;border-radius:12px;background:var(--navy);display:grid;place-items:center;font-size:22px}.listen-player-kicker{display:block;font-size:9px;letter-spacing:1.5px;font-weight:800;color:var(--gold);margin-bottom:4px}.listen-player h3{font:24px Georgia,serif;color:var(--navy);margin:0}.listen-player-intro{max-width:760px;color:var(--muted);font-size:12px;line-height:1.65;margin:15px 0 18px}.listen-controls{display:flex;align-items:center;gap:10px}.listen-play-btn{min-width:190px}.listen-replay-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 13px;font-weight:700;color:var(--navy);cursor:pointer}.listen-steps{display:flex;align-items:center;gap:9px;margin-top:19px;color:#697586;font-size:9px;font-weight:800;letter-spacing:1.1px}.listen-steps i{height:1px;width:28px;background:#cfc7b8}.dialogue-transcript{margin-top:16px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.transcript-line{display:grid;grid-template-columns:34px 80px 1fr;gap:12px;padding:14px 16px;border-top:1px solid #ece7de;align-items:start}.transcript-line:first-child{border-top:0}.transcript-number{font-size:10px;color:#a38a59;font-weight:800;padding-top:2px}.transcript-speaker{font-size:12px;font-weight:800;color:var(--navy)}.transcript-text{font-size:14px;line-height:1.55;color:#354052}.listen-play-btn:disabled{opacity:.75;cursor:wait}.listen-replay-btn:disabled{opacity:.65}@media(max-width:600px){.listen-controls{align-items:stretch;flex-direction:column}.listen-play-btn{width:100%}.listen-steps{gap:6px}.listen-steps i{width:18px}.transcript-line{grid-template-columns:28px 64px 1fr;gap:8px;padding:12px}.transcript-text{font-size:13px}}

/* Lesson 3 — French Part B: clean sentence-by-sentence reading practice */
.reading-practice-card .reading-rows{border-top:1px solid rgba(34,50,71,.12);margin-top:10px}
.reading-rows-title{padding:13px 8px 11px;font:600 12px/1.2 inherit;letter-spacing:.08em;text-transform:uppercase;color:#8c6b2e;border-bottom:1px solid rgba(34,50,71,.12)}
.reading-row{display:grid;grid-template-columns:72px minmax(0,1fr) 44px;align-items:center;gap:14px;padding:13px 8px;border-bottom:1px solid rgba(34,50,71,.12)}
.reading-speaker{font-size:13px;font-weight:700;color:#43536a}
.reading-sentence{font-size:14px;line-height:1.5;color:#26384e}
.reading-row .audio-btn{justify-self:end;min-width:36px}
@media (max-width:640px){.reading-row{grid-template-columns:58px minmax(0,1fr) 40px;gap:9px;padding:12px 0}.reading-sentence{font-size:13px}}


/* Lesson 3 — Part C daily-routine writing */
.writing-intro{padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:16px}.writing-intro h3{font:22px Georgia;margin:0 0 7px}.writing-intro p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.writing-builder{gap:12px}.writing-builder-task{padding:16px;border:1px solid #e3ddd2;border-radius:11px;background:#faf8f3}.writing-builder-head{display:flex;gap:12px;align-items:flex-start}.writing-builder-head>span{width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:#0d1b32;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}.writing-builder-head b{display:block;font-size:13px;margin-bottom:4px}.writing-builder-head p{margin:0;color:#3d4a5d;font-size:12px;line-height:1.5}.writing-helper{margin:12px 0 8px;padding:9px 11px;border-left:3px solid #c8a25d;background:#f4f1e9;color:#687385;font-size:11px;line-height:1.5}.writing-builder-task .textarea{min-height:105px;background:#fff}.writing-builder-task small{display:block;color:#8992a0;font-size:9px;margin-top:4px}


/* Lesson review experience */
.review-intro{padding:10px 2px 4px;max-width:820px}.review-intro h3{font:26px Georgia,serif;margin:8px 0}.review-intro p{color:#647083;line-height:1.65;max-width:700px}.review-kicker{font-size:10px;letter-spacing:1.5px;font-weight:800;color:#9a7a3d}.review-map{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.review-map span{font-size:11px;border:1px solid #ded6c8;background:#faf7f0;padding:8px 10px;border-radius:999px;color:#596577}.review-player{max-width:880px;margin:20px auto}.review-player-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.review-player-top h2{font:30px Georgia,serif;margin:5px 0 0}.review-count{border:1px solid #ddd4c5;border-radius:999px;padding:7px 11px;font-size:11px;color:#657083}.review-progress{height:7px;background:#ebe6dc;border-radius:20px;overflow:hidden;margin:20px 0 28px}.review-progress i{display:block;height:100%;background:#c8a25d;border-radius:20px}.review-question{max-width:760px}.review-section-label{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#9a7a3d;font-weight:800;margin-bottom:8px}.review-question h3{font:25px Georgia,serif;line-height:1.35;margin:0 0 22px}.review-options{display:grid;gap:10px}.review-options .option{text-align:left;padding:15px 16px;font-size:14px}.review-feedback{display:none;margin-top:18px;border-radius:12px;padding:16px;background:#f6f2e9;border:1px solid #e2dacd}.review-feedback.visible{display:grid;gap:8px}.review-feedback.success{border-left:4px solid #5c8068}.review-feedback.retry{border-left:4px solid #b06a58}.review-feedback span{color:#687385;font-size:13px;line-height:1.55}.review-feedback .btn{justify-self:start;margin-top:4px}.review-results{text-align:center;padding:22px 10px 10px}.review-result-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:#e7efe8;color:#466d54;font-size:26px}.review-results h3{font:28px Georgia,serif;margin:0 0 7px}.review-results p{color:#687385}.review-results b{display:block;margin-top:12px;font-size:15px;color:#27364d}@media(max-width:600px){.review-player-top{display:block}

/* Lesson 3 polished reading practice */
.polished-reading-card .reading-intro-block{padding:18px 18px 16px;border:1px solid rgba(183,142,72,.22);border-radius:14px;background:rgba(255,255,255,.34);margin:10px 0 14px}
.reading-kicker{display:block;font-size:10px;letter-spacing:1.5px;font-weight:800;color:#9d7a40;margin-bottom:7px}
.reading-intro-block h3{margin:0 0 7px;font-family:Georgia,serif;font-size:24px;color:#1d2a3d}
.reading-intro-block p{margin:0;color:#5f6975;line-height:1.55;max-width:880px}
.reading-controls{display:flex;align-items:center;gap:14px;margin-top:14px;flex-wrap:wrap}
.reading-controls span{font-size:10px;letter-spacing:1.2px;font-weight:800;color:#8b7551}
.polished-reading-card .reading-rows{border:1px solid rgba(26,42,61,.10);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.42)}
.polished-reading-card .reading-row{display:grid;grid-template-columns:32px 96px 1fr 38px;gap:10px;align-items:center;padding:14px 14px;border-bottom:1px solid rgba(26,42,61,.08)}
.polished-reading-card .reading-row:last-child{border-bottom:0}
.reading-number{font-size:10px;font-weight:800;color:#a28045;letter-spacing:.8px}
.polished-reading-card .reading-speaker{font-weight:800;color:#24364e}
.polished-reading-card .reading-sentence{line-height:1.5;color:#334052}
@media(max-width:700px){.polished-reading-card .reading-row{grid-template-columns:28px 1fr 34px}.polished-reading-card .reading-speaker{grid-column:2}.polished-reading-card .reading-sentence{grid-column:2}.polished-reading-card .audio-btn{grid-column:3;grid-row:1 / span 2}.reading-controls{align-items:flex-start;flex-direction:column;gap:9px}}


/* Lesson 3 Spanish Part B layout fix: isolate reading rows from legacy grid rules */
.polished-reading-card .cine-reading-list-v2{display:block;border:1px solid rgba(26,42,61,.10);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.42)}
.polished-reading-card .cine-reading-row-v2{display:flex;align-items:flex-start;gap:14px;width:100%;padding:15px 16px;border-bottom:1px solid rgba(26,42,61,.08)}
.polished-reading-card .cine-reading-row-v2:last-child{border-bottom:0}
.cine-reading-number-v2{flex:0 0 34px;font-size:10px;font-weight:800;color:#a28045;letter-spacing:.8px;padding-top:3px}
.cine-reading-copy-v2{flex:1 1 auto;min-width:0;text-align:left}
.cine-reading-speaker-v2{display:block;font-size:12px;font-weight:800;color:#24364e;margin-bottom:4px}
.cine-reading-sentence-v2{display:block;width:100%;font-size:14px;line-height:1.55;color:#334052;white-space:normal;overflow-wrap:anywhere;text-align:left}
.cine-reading-audio-v2{flex:0 0 auto;align-self:center;margin-left:8px}
@media(max-width:700px){.polished-reading-card .cine-reading-row-v2{gap:10px;padding:13px 12px}.cine-reading-number-v2{flex-basis:28px}.cine-reading-sentence-v2{font-size:13px}.cine-reading-audio-v2{margin-left:2px}}

/* Cinefluency CEFR level system */
.level-badge,.sequence-level{font-size:9px;letter-spacing:.8px;font-weight:900;padding:6px 9px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;min-width:28px}
.level-a1{background:#d9e9ff;color:#1764b0;border:1px solid #b6d3f5}
.level-a2{background:#d9b7ff;color:#5b2a91;border:1px solid #bd8be9}
.level-b1{background:#d9efd9;color:#28653b;border:1px solid #b5d9b9}
.level-b1plus{background:#cfe7d4;color:#245b34;border:1px solid #a8cbaa}
.level-b2{background:#f2dfad;color:#765300;border:1px solid #ddc27d}
.level-c1{background:#f0c6cf;color:#8a3147;border:1px solid #dda0ae}
.level-c2{background:#ddd3e9;color:#59406f;border:1px solid #c2b0d2}
.lesson-top{align-items:center}
.sequence-level{margin-left:auto;margin-right:10px}.level-legend{display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap;margin:20px 0 6px;padding:0 8px}.legend-item{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.legend-item em{font-style:normal}.level-legend .sequence-level{margin:0;min-width:28px}

/* B1 Review & Test — performance-oriented review */
.b1-review-player .review-question h3{max-width:900px;line-height:1.5}
.b1-review-response{width:100%;box-sizing:border-box;margin:18px 0 12px;padding:16px;border:1px solid #d9d4ca;border-radius:10px;background:#fffdf8;font:inherit;line-height:1.6;resize:vertical}
.b1-review-response:focus{outline:none;border-color:#9b8bc1;box-shadow:0 0 0 3px rgba(123,97,162,.10)}
.review-guide{margin:8px 0 18px;padding:12px 14px;border-left:3px solid #c7b99e;background:#f7f3eb;color:#5f5a51;font-size:.94rem;line-height:1.5}

/* Cinefluency Spanish lesson polish */
.lesson-shell{max-width:1120px;padding:30px 34px 42px}
.lesson-header{padding:32px 34px 30px;box-shadow:0 12px 28px rgba(15,31,55,.08)}
.lesson-header h1{letter-spacing:-.02em;margin-bottom:7px}
.lesson-header .subtitle{font-size:1.08rem}
.lesson-header p{max-width:850px;line-height:1.65;margin:12px 0 20px}
.lesson-progress-head{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;opacity:.82}
.lesson-nav{gap:8px;margin:18px 0 14px}
.part-btn{padding:10px 14px;border-radius:10px;transition:transform .15s ease,box-shadow .15s ease}
.part-btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(15,31,55,.07)}
.section-card{padding:28px;border-radius:17px;box-shadow:0 8px 24px rgba(15,31,55,.045)}
.visual-listen-card .part-heading{margin-bottom:18px}
.listen-player{padding:24px 26px;border-radius:16px;box-shadow:inset 0 1px rgba(255,255,255,.65)}
.listen-player-intro{max-width:820px;line-height:1.65}
.listen-controls{gap:10px}
.listen-steps{margin-top:18px}
.lesson-footer{align-items:center;justify-content:space-between}


/* Spanish Lesson 2 visual polish */
.lesson-shell{max-width:1120px;padding:30px 34px 48px}
.lesson-header{padding:28px 30px 24px;box-shadow:0 10px 28px rgba(13,27,50,.08)}
.lesson-header h1{letter-spacing:-.4px}
.lesson-header p{margin-bottom:0}
.lesson-top{align-items:center}
.lesson-badge,.status-badge{display:inline-flex;align-items:center;height:28px}
.lesson-nav{gap:8px;margin:14px 0 12px;padding:3px 0}
.part-btn{font-size:12px;line-height:1.2;padding:10px 13px;transition:.16s ease;box-shadow:0 1px 0 rgba(13,27,50,.02)}
.part-btn:hover{border-color:#cdbb91;transform:translateY(-1px)}
.part-btn.active{box-shadow:0 5px 14px rgba(13,27,50,.10)}
.section-card{padding:24px 25px;box-shadow:0 5px 18px rgba(13,27,50,.035)}
.part-heading{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.part-heading h2{margin:3px 0 7px}
.part-heading span{order:0}
.part-heading h2{order:1}
.part-heading .done-pill{order:2}
.microclip{background:#fcfaf5}
.listen-resource{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:15px 0 4px;padding:16px 17px;border:1px solid #ded7ca;border-radius:12px;background:#fbf8f1}
.listen-resource-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.resource-kicker{font-size:9px;letter-spacing:1.4px;color:#a17c3b;font-weight:800}
.listen-resource-copy strong{font:17px Georgia;color:#16243a}
.listen-resource-copy small{font-size:11px;color:#7b8491;line-height:1.45}
.audio-primary{white-space:nowrap;border-color:#c8a25d;background:#fffaf0;color:#735829;font-weight:800;padding:9px 13px}
.activity-action{margin-top:18px;padding-top:14px}
.lesson-footer{align-items:center;justify-content:space-between}
.lesson-footer small{color:#687385;font-size:11px}
.lesson-footer .btn{padding:10px 14px}
@media(max-width:680px){
 .lesson-shell{padding:22px 15px 45px}
 .lesson-header{padding:23px 21px}
 .lesson-nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}
 .part-btn{white-space:nowrap}
 .listen-resource{align-items:flex-start;flex-direction:column}
 .audio-primary{width:100%}
 .lesson-footer{display:block}
 .lesson-footer>div:last-child{margin-top:12px}
}

/* Spanish Book 2 — polished listening presentation */
.visual-listen-card .part-heading{margin-bottom:4px}
.visual-listen-card .listen-player{box-shadow:0 8px 24px rgba(13,27,50,.06)}
.visual-listen-card .listen-player-top h3{letter-spacing:-.2px}
.visual-listen-card .transcript-line:nth-child(even){background:rgba(246,242,233,.48)}
.visual-listen-card .transcript-text{font-size:14px}

/* Spanish Book 2 Lesson 4 reading polish */
.reading-focus{margin-top:12px;padding:10px 12px;border-left:3px solid #b78e48;background:rgba(183,142,72,.07);color:#536071;font-size:12px;line-height:1.5;border-radius:0 8px 8px 0}
.reading-focus b{color:#26374d}

/* Explicit Cinefluency scene links */
.cine-link-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}
.cine-direct-link{font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* Spanish Cinefluency — make the external scene link unmistakable */
.cine-link-wrap{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:12px;
  padding:10px 0 2px;
}
.cine-watch-link{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  pointer-events:auto !important;
  position:relative;
  z-index:5;
}
.cine-direct-link{
  display:inline-flex !important;
  align-items:center;
  font-size:12px;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
  pointer-events:auto !important;
  position:relative;
  z-index:5;
}
.cine-url-display{
  display:block;
  margin-top:7px;
  font-size:11px;
  line-height:1.4;
  word-break:break-all;
  opacity:.82;
}


/* Spanish Book 2 — Lesson 05 visual polish */
.spanish-airport-lesson .lesson-header{
  position:relative;
  overflow:hidden;
  padding:30px 32px 25px;
  background:
    radial-gradient(circle at 88% 18%, rgba(196,160,85,.16), transparent 22%),
    radial-gradient(circle at 76% 78%, rgba(255,255,255,.055), transparent 30%),
    var(--navy);
  box-shadow:0 14px 32px rgba(11,27,51,.12);
}
.spanish-airport-lesson .lesson-header:after{
  content:"✈";
  position:absolute;
  right:54px;
  top:26px;
  font-size:92px;
  line-height:1;
  color:rgba(255,255,255,.055);
  transform:rotate(-12deg);
  pointer-events:none;
}
.spanish-airport-lesson .lesson-header h1,
.spanish-airport-lesson .lesson-header .subtitle,
.spanish-airport-lesson .lesson-header p,
.spanish-airport-lesson .lesson-progress-head,
.spanish-airport-lesson .lesson-progress{
  position:relative;
  z-index:1;
}
.spanish-airport-lesson .lesson-header h1{max-width:760px;margin-top:18px}
.spanish-airport-lesson .lesson-header .subtitle{font-size:20px}
.spanish-airport-lesson .lesson-header p{max-width:820px;font-size:14px}
.spanish-airport-lesson .lesson-progress-head{margin-top:20px}
.spanish-airport-lesson .lesson-progress-head b{font-size:12px}
.spanish-airport-lesson .lesson-nav{
  margin:16px 0 18px;
  gap:8px;
}
.spanish-airport-lesson .part-btn{
  padding:10px 13px;
  font-weight:650;
  transition:transform .15s ease,box-shadow .15s ease;
}
.spanish-airport-lesson .part-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(11,27,51,.08);
}
.spanish-airport-lesson .section-card{
  padding:26px 28px;
  box-shadow:0 8px 22px rgba(11,27,51,.045);
}
.spanish-airport-lesson .visual-listen-card .part-heading{
  margin-bottom:2px;
}
.spanish-airport-lesson .listen-player{
  margin-top:16px;
  padding:20px;
  border-color:#ddd6c9;
  background:linear-gradient(135deg,#faf8f3,#f0ece3);
}
.spanish-airport-lesson .listen-player-icon{
  background:#d2a650;
  color:var(--navy);
  border-radius:50%;
  width:52px;height:52px;
}
.spanish-airport-lesson .listen-play-btn{
  background:var(--navy);
  min-width:205px;
}
.spanish-airport-lesson .dialogue-transcript{
  margin-top:14px;
}
.spanish-airport-lesson .activity-action{
  display:flex;
  justify-content:flex-end;
  margin-top:16px;
}
.spanish-airport-lesson .activity-action .btn-primary{
  min-width:250px;
}
.spanish-airport-lesson .lesson-footer{
  padding-top:2px;
}
@media(max-width:760px){
  .spanish-airport-lesson .lesson-header:after{right:18px;top:18px;font-size:62px}
  .spanish-airport-lesson .lesson-header{padding:24px 22px}
  .spanish-airport-lesson .section-card{padding:22px 18px}
  .spanish-airport-lesson .activity-action{justify-content:stretch}
  .spanish-airport-lesson .activity-action .btn-primary{width:100%;min-width:0}
}


/* Spanish Book 2 — Lesson 05 / visible Lesson 05 reading polish */
.spanish-airport-lesson .polished-reading-card{
  padding:28px 30px 24px;
}
.spanish-airport-lesson .reading-intro-block{
  padding:0 0 16px;
}
.spanish-airport-lesson .reading-kicker{
  display:block;
  margin-bottom:6px;
  font-size:10px;
  font-weight:800;
  letter-spacing:1.5px;
  color:#b78e48;
}
.spanish-airport-lesson .reading-intro-block h3{
  margin:0 0 7px;
  font:24px Georgia,serif;
  color:#14233a;
}
.spanish-airport-lesson .reading-intro-block p{
  max-width:850px;
  margin:0;
  color:#667386;
  font-size:13px;
  line-height:1.6;
}
.spanish-airport-lesson .polished-reading-card .reading-focus{
  margin:15px 0 14px;
  padding:12px 14px;
  background:#faf6eb;
  border:1px solid #eee2c8;
  border-left:3px solid #c9a054;
  border-radius:0 9px 9px 0;
  color:#536071;
  font-size:12px;
}
.spanish-airport-lesson .cine-reading-list-v2{
  margin-top:4px;
  border-top:1px solid #e7e0d5;
}
.spanish-airport-lesson .cine-reading-row-v2{
  min-height:64px;
  padding:12px 4px 12px 0;
  border-bottom:1px solid #ebe5dc;
  transition:background .15s ease;
}
.spanish-airport-lesson .cine-reading-row-v2:hover{
  background:#fcfaf5;
}
.spanish-airport-lesson .cine-reading-number-v2{
  width:34px;
  color:#b78e48;
  font-size:10px;
  font-weight:800;
}
.spanish-airport-lesson .cine-reading-speaker-v2{
  font-size:11px;
  letter-spacing:.2px;
  color:#9a7137;
  font-weight:800;
}
.spanish-airport-lesson .cine-reading-sentence-v2{
  margin-top:3px;
  font-size:14px;
  line-height:1.55;
  color:#26374d;
}
.spanish-airport-lesson .cine-reading-audio-v2{
  width:36px;
  height:36px;
  border:1px solid #ddd4c5;
  background:#fffaf0;
  border-radius:50%;
}
.spanish-airport-lesson .reading-controls{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:15px;
}
.spanish-airport-lesson .reading-controls span{
  font-size:10px;
  letter-spacing:1.2px;
  font-weight:800;
  color:#9a8b73;
}
.spanish-airport-lesson .reading-controls .btn-dark{
  padding:9px 14px;
}
.spanish-airport-lesson .polished-reading-card .activity-action{
  display:flex;
  justify-content:flex-end;
  border-top:1px solid #e7e0d5;
  margin-top:18px;
  padding-top:16px;
}
@media(max-width:760px){
  .spanish-airport-lesson .polished-reading-card{padding:22px 18px}
  .spanish-airport-lesson .reading-controls{align-items:flex-start;flex-direction:column}
  .spanish-airport-lesson .reading-controls .btn-dark{width:100%}
}

/* Spanish Book 2 — Lesson 06 / security reading polish */
.spanish-airport-lesson .security-reading-card{padding:28px 30px 24px}
.spanish-airport-lesson .security-reading-intro{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 280px;
  gap:18px;
  align-items:center;
  padding:16px 0 18px;
}
.spanish-airport-lesson .security-reading-icon{
  width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;
  background:#edf1f7;color:#18345a;
  font-size:27px;font-weight:700;
}
.spanish-airport-lesson .security-reading-main .reading-kicker{margin-bottom:5px}
.spanish-airport-lesson .security-reading-main h3{margin:0 0 6px;font:20px Georgia,serif;color:#14233a}
.spanish-airport-lesson .security-reading-main p{margin:0;color:#667386;font-size:12px;line-height:1.55}
.spanish-airport-lesson .security-reading-main .reading-controls{margin-top:12px}
.spanish-airport-lesson .security-reading-main .reading-controls .btn-primary{padding:10px 16px}
.spanish-airport-lesson .reading-time{font-size:12px;color:#778397}
.spanish-airport-lesson .security-reading-tip{
  display:flex;gap:10px;align-items:flex-start;
  padding:13px 14px;border:1px solid #eee2c8;border-radius:12px;background:#faf6eb;
}
.spanish-airport-lesson .security-reading-tip .tip-icon{font-size:22px;color:#c39a4d;line-height:1}
.spanish-airport-lesson .security-reading-tip b{display:block;color:#26374d;font-size:12px;margin-bottom:4px}
.spanish-airport-lesson .security-reading-tip p{margin:0;color:#596678;font-size:11px;line-height:1.45}
.spanish-airport-lesson .security-reading-steps{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px;
}
.spanish-airport-lesson .security-reading-steps>div{
  min-height:66px;border:1px solid #e6e0d6;border-radius:11px;padding:11px 12px;
  display:grid;grid-template-columns:34px 1fr;column-gap:8px;align-items:center;background:#fffdfa;
}
.spanish-airport-lesson .security-reading-steps span{
  grid-row:1 / span 2;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;
  background:#e8edf5;color:#18345a;font-weight:800;font-size:12px;
}
.spanish-airport-lesson .security-reading-steps b{font-size:11px;color:#17345b;letter-spacing:.4px}
.spanish-airport-lesson .security-reading-steps small{font-size:10px;color:#6b7788;line-height:1.3}
.spanish-airport-lesson .security-reading-card .cine-reading-list-v2{margin-top:2px}
@media(max-width:820px){
  .spanish-airport-lesson .security-reading-intro{grid-template-columns:56px 1fr}
  .spanish-airport-lesson .security-reading-tip{grid-column:1 / -1}
}
@media(max-width:650px){
  .spanish-airport-lesson .security-reading-intro{grid-template-columns:1fr}
  .spanish-airport-lesson .security-reading-icon{display:none}
  .spanish-airport-lesson .security-reading-steps{grid-template-columns:1fr}
}

/* Spanish Book 2 — refined airport lesson experience */
.spanish-airport-lesson{max-width:1180px;padding:30px 34px 52px}
.spanish-airport-lesson .back{margin:0 0 18px 2px;font-size:13px;color:#6b7890}
.spanish-airport-lesson .lesson-header{
  min-height:285px;padding:31px 34px 25px;border-radius:18px;position:relative;overflow:hidden;
  background:
    linear-gradient(90deg,rgba(9,24,47,.99) 0%,rgba(9,24,47,.96) 43%,rgba(9,24,47,.76) 67%,rgba(9,24,47,.46) 100%),
    radial-gradient(circle at 82% 25%,rgba(207,166,88,.30),transparent 22%),
    linear-gradient(135deg,#0d1b32 0%,#17365a 62%,#315777 100%);
  box-shadow:0 15px 35px rgba(13,27,50,.14);
}
.spanish-airport-lesson .lesson-header:before{
  content:"";position:absolute;inset:0 0 0 56%;
  background:
    linear-gradient(90deg,rgba(10,26,48,.25),transparent 25%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.055) 0 2px,transparent 2px 72px),
    linear-gradient(180deg,transparent 0 58%,rgba(255,255,255,.07) 58% 59%,transparent 59% 100%);
  opacity:.9;pointer-events:none;
}
.spanish-airport-lesson .lesson-header:after{
  content:"A8  ✈  EMBARQUE";position:absolute;right:28px;top:28px;
  padding:13px 17px;border:1px solid rgba(255,255,255,.16);border-radius:5px;
  background:rgba(6,18,35,.72);color:rgba(255,255,255,.88);font:700 15px/1.2 Inter,system-ui,sans-serif;
  letter-spacing:.5px;box-shadow:0 8px 24px rgba(0,0,0,.12);pointer-events:none;
}
.spanish-airport-lesson .lesson-header>*{position:relative;z-index:2}
.spanish-airport-lesson .lesson-header h1{font-size:42px;line-height:1.05;max-width:760px;margin:17px 0 5px;letter-spacing:-.7px}
.spanish-airport-lesson .lesson-header .subtitle{font-size:20px;color:#e3c27d;margin-bottom:13px}
.spanish-airport-lesson .lesson-header p{max-width:720px;font-size:14px;line-height:1.55;margin:0;color:#d1d9e5}
.spanish-airport-lesson .lesson-top{gap:9px}
.spanish-airport-lesson .lesson-badge{background:#d4a74f;color:#12233d}
.spanish-airport-lesson .level-badge{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}
.spanish-airport-lesson .status-badge{background:#23503c;color:#d3eadc}
.spanish-airport-lesson .lesson-progress-head{margin-top:23px;color:#c6cfdd}
.spanish-airport-lesson .lesson-progress{height:6px;background:rgba(255,255,255,.25)}
.spanish-airport-lesson .lesson-progress i{background:#e2c078}
.spanish-airport-lesson .lesson-nav{gap:9px;margin:18px 0 15px}
.spanish-airport-lesson .part-btn{padding:10px 14px;border-radius:9px;font-size:13px;background:#fff;transition:.16s ease}
.spanish-airport-lesson .part-btn:hover{transform:translateY(-1px);box-shadow:0 5px 15px rgba(13,27,50,.08)}
.spanish-airport-lesson .part-btn.active{background:#0d1b32;box-shadow:0 5px 13px rgba(13,27,50,.12)}
.spanish-airport-lesson .section-card{padding:25px 27px;border-radius:15px;box-shadow:0 7px 22px rgba(13,27,50,.045)}
.spanish-airport-lesson .visual-listen-card{padding:25px 27px 23px}
.spanish-airport-lesson .visual-listen-card>.part-heading{margin-bottom:1px}
.spanish-airport-lesson .listen-player{margin-top:10px;padding:18px 20px 15px;background:#faf8f3;border-color:#ddd6c9;border-radius:13px}
.spanish-airport-lesson .listen-player-grid{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:18px;align-items:center}
.spanish-airport-lesson .listen-player-top{gap:14px}
.spanish-airport-lesson .listen-player-icon{width:56px;height:56px;border-radius:50%;background:#e8edf5;color:#17365d;font-size:25px}
.spanish-airport-lesson .listen-player-kicker{color:#a17b3c}
.spanish-airport-lesson .listen-player h3{font-size:20px}
.spanish-airport-lesson .listen-player-intro{margin:9px 0 13px;max-width:720px;font-size:12px;line-height:1.55}
.spanish-airport-lesson .listen-controls{gap:10px;flex-wrap:wrap}
.spanish-airport-lesson .listen-play-btn{min-width:205px;padding:10px 16px}
.spanish-airport-lesson .listen-replay-btn{padding:9px 12px}
.spanish-airport-lesson .listen-duration{font-size:11px;color:#748094;white-space:nowrap}
.spanish-airport-lesson .listen-tip{display:flex;gap:10px;padding:13px 14px;border:1px solid #eee1c5;border-radius:11px;background:#fcf6e7}
.spanish-airport-lesson .listen-tip>span{font-size:21px;line-height:1}
.spanish-airport-lesson .listen-tip b{display:block;color:#25364d;font-size:12px;margin-bottom:3px}
.spanish-airport-lesson .listen-tip p{margin:0;color:#687487;font-size:11px;line-height:1.45}
.spanish-airport-lesson .listen-steps{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr;align-items:center;gap:7px;margin:14px 0 0;padding-top:13px;border-top:1px solid #e5dfd4}
.spanish-airport-lesson .listen-steps>div{display:grid;grid-template-columns:29px 1fr;column-gap:8px;align-items:center}
.spanish-airport-lesson .listen-steps>div>span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#e8edf5;color:#17365d;font-weight:800;font-size:11px;grid-row:1 / span 2}
.spanish-airport-lesson .listen-steps b{font-size:10px;color:#173d6a;letter-spacing:.7px}
.spanish-airport-lesson .listen-steps small{font-size:10px;color:#738094}
.spanish-airport-lesson .listen-steps i{height:1px;background:#d9d1c4}
.spanish-airport-lesson .dialogue-transcript{margin-top:13px;background:#fff;border-radius:11px}
.spanish-airport-lesson .transcript-heading{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#f5f3ee;border-bottom:1px solid #e8e2d9}
.spanish-airport-lesson .transcript-heading span{font-size:9px;letter-spacing:1.4px;font-weight:800;color:#a27c40}
.spanish-airport-lesson .transcript-heading small{font-size:10px;color:#7a8493}
.spanish-airport-lesson .transcript-line{grid-template-columns:30px 72px minmax(0,1fr) 34px;padding:11px 14px;align-items:center}
.spanish-airport-lesson .transcript-text{font-size:13px}
.spanish-airport-lesson .transcript-audio{width:30px;height:30px;padding:0;border-radius:50%;justify-self:end;color:#17365d}
.spanish-airport-lesson .activity-action{display:flex;justify-content:flex-end;margin-top:14px}
.spanish-airport-lesson .activity-action .btn-primary{min-width:245px}
.spanish-airport-lesson .lesson-footer{align-items:center;margin-top:17px;padding-top:0}
.spanish-airport-lesson .lesson-footer>div:first-child{color:#667387}
.spanish-airport-lesson .lesson-footer .btn-outline{background:#fff}
.spanish-airport-lesson .lesson-footer .btn-outline:hover{border-color:#c8a25d}
@media(max-width:900px){
  .spanish-airport-lesson .listen-player-grid{grid-template-columns:1fr}
  .spanish-airport-lesson .listen-tip{max-width:none}
  .spanish-airport-lesson .lesson-header:after{right:20px;top:22px;font-size:12px}
}
@media(max-width:650px){
  .spanish-airport-lesson{padding:22px 15px 45px}
  .spanish-airport-lesson .lesson-header{padding:24px 21px;min-height:0}
  .spanish-airport-lesson .lesson-header:before{display:none}
  .spanish-airport-lesson .lesson-header:after{position:static;display:inline-block;margin-top:17px}
  .spanish-airport-lesson .lesson-header h1{font-size:32px}
  .spanish-airport-lesson .lesson-nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}
  .spanish-airport-lesson .listen-steps{grid-template-columns:1fr;gap:9px}
  .spanish-airport-lesson .listen-steps i{display:none}
  .spanish-airport-lesson .transcript-line{grid-template-columns:27px 62px minmax(0,1fr) 30px;gap:7px;padding:11px 10px}
  .spanish-airport-lesson .transcript-text{font-size:12px}
  .spanish-airport-lesson .activity-action .btn-primary{width:100%;min-width:0}
}
/* Spanish Book 2 — refined airport lesson experience */
.spanish-airport-lesson{max-width:1180px;padding:30px 34px 52px}
.spanish-airport-lesson .back{margin:0 0 18px 2px;font-size:13px;color:#6b7890}
.spanish-airport-lesson .lesson-header{min-height:285px;padding:31px 34px 25px;border-radius:18px;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(9,24,47,.99) 0%,rgba(9,24,47,.96) 43%,rgba(9,24,47,.76) 67%,rgba(9,24,47,.46) 100%),radial-gradient(circle at 82% 25%,rgba(207,166,88,.30),transparent 22%),linear-gradient(135deg,#0d1b32 0%,#17365a 62%,#315777 100%);box-shadow:0 15px 35px rgba(13,27,50,.14)}
.spanish-airport-lesson .lesson-header:before{content:"";position:absolute;inset:0 0 0 56%;background:linear-gradient(90deg,rgba(10,26,48,.25),transparent 25%),repeating-linear-gradient(90deg,rgba(255,255,255,.055) 0 2px,transparent 2px 72px),linear-gradient(180deg,transparent 0 58%,rgba(255,255,255,.07) 58% 59%,transparent 59% 100%);opacity:.9;pointer-events:none}
.spanish-airport-lesson .lesson-header:after{content:"A8  ✈  EMBARQUE";position:absolute;right:28px;top:28px;padding:13px 17px;border:1px solid rgba(255,255,255,.16);border-radius:5px;background:rgba(6,18,35,.72);color:rgba(255,255,255,.88);font:700 15px/1.2 Inter,system-ui,sans-serif;letter-spacing:.5px;box-shadow:0 8px 24px rgba(0,0,0,.12);pointer-events:none}
.spanish-airport-lesson .lesson-header>*{position:relative;z-index:2}.spanish-airport-lesson .lesson-header h1{font-size:42px;line-height:1.05;max-width:760px;margin:17px 0 5px;letter-spacing:-.7px}.spanish-airport-lesson .lesson-header .subtitle{font-size:20px;color:#e3c27d;margin-bottom:13px}.spanish-airport-lesson .lesson-header p{max-width:720px;font-size:14px;line-height:1.55;margin:0;color:#d1d9e5}.spanish-airport-lesson .lesson-top{gap:9px}.spanish-airport-lesson .lesson-badge{background:#d4a74f;color:#12233d}.spanish-airport-lesson .level-badge{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}.spanish-airport-lesson .status-badge{background:#23503c;color:#d3eadc}.spanish-airport-lesson .lesson-progress-head{margin-top:23px;color:#c6cfdd}.spanish-airport-lesson .lesson-progress{height:6px;background:rgba(255,255,255,.25)}.spanish-airport-lesson .lesson-progress i{background:#e2c078}
.spanish-airport-lesson .lesson-nav{gap:9px;margin:18px 0 15px}.spanish-airport-lesson .part-btn{padding:10px 14px;border-radius:9px;font-size:13px;background:#fff;transition:.16s ease}.spanish-airport-lesson .part-btn:hover{transform:translateY(-1px);box-shadow:0 5px 15px rgba(13,27,50,.08)}.spanish-airport-lesson .part-btn.active{background:#0d1b32;box-shadow:0 5px 13px rgba(13,27,50,.12)}
.spanish-airport-lesson .section-card{padding:25px 27px;border-radius:15px;box-shadow:0 7px 22px rgba(13,27,50,.045)}.spanish-airport-lesson .visual-listen-card{padding:25px 27px 23px}.spanish-airport-lesson .visual-listen-card>.part-heading{margin-bottom:1px}.spanish-airport-lesson .listen-player{margin-top:10px;padding:18px 20px 15px;background:#faf8f3;border-color:#ddd6c9;border-radius:13px}.spanish-airport-lesson .listen-player-grid{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:18px;align-items:center}.spanish-airport-lesson .listen-player-top{gap:14px}.spanish-airport-lesson .listen-player-icon{width:56px;height:56px;border-radius:50%;background:#e8edf5;color:#17365d;font-size:25px}.spanish-airport-lesson .listen-player-kicker{color:#a17b3c}.spanish-airport-lesson .listen-player h3{font-size:20px}.spanish-airport-lesson .listen-player-intro{margin:9px 0 13px;max-width:720px;font-size:12px;line-height:1.55}.spanish-airport-lesson .listen-controls{gap:10px;flex-wrap:wrap}.spanish-airport-lesson .listen-play-btn{min-width:205px;padding:10px 16px}.spanish-airport-lesson .listen-replay-btn{padding:9px 12px}.spanish-airport-lesson .listen-duration{font-size:11px;color:#748094;white-space:nowrap}.spanish-airport-lesson .listen-tip{display:flex;gap:10px;padding:13px 14px;border:1px solid #eee1c5;border-radius:11px;background:#fcf6e7}.spanish-airport-lesson .listen-tip>span{font-size:21px;line-height:1}.spanish-airport-lesson .listen-tip b{display:block;color:#25364d;font-size:12px;margin-bottom:3px}.spanish-airport-lesson .listen-tip p{margin:0;color:#687487;font-size:11px;line-height:1.45}
.spanish-airport-lesson .listen-steps{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr;align-items:center;gap:7px;margin:14px 0 0;padding-top:13px;border-top:1px solid #e5dfd4}.spanish-airport-lesson .listen-steps>div{display:grid;grid-template-columns:29px 1fr;column-gap:8px;align-items:center}.spanish-airport-lesson .listen-steps>div>span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#e8edf5;color:#17365d;font-weight:800;font-size:11px;grid-row:1 / span 2}.spanish-airport-lesson .listen-steps b{font-size:10px;color:#173d6a;letter-spacing:.7px}.spanish-airport-lesson .listen-steps small{font-size:10px;color:#738094}.spanish-airport-lesson .listen-steps i{height:1px;background:#d9d1c4}
.spanish-airport-lesson .dialogue-transcript{margin-top:13px;background:#fff;border-radius:11px}.spanish-airport-lesson .transcript-heading{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#f5f3ee;border-bottom:1px solid #e8e2d9}.spanish-airport-lesson .transcript-heading span{font-size:9px;letter-spacing:1.4px;font-weight:800;color:#a27c40}.spanish-airport-lesson .transcript-heading small{font-size:10px;color:#7a8493}.spanish-airport-lesson .transcript-line{grid-template-columns:30px 72px minmax(0,1fr) 34px;padding:11px 14px;align-items:center}.spanish-airport-lesson .transcript-text{font-size:13px}.spanish-airport-lesson .transcript-audio{width:30px;height:30px;padding:0;border-radius:50%;justify-self:end;color:#17365d}.spanish-airport-lesson .activity-action{display:flex;justify-content:flex-end;margin-top:14px}.spanish-airport-lesson .activity-action .btn-primary{min-width:245px}.spanish-airport-lesson .lesson-footer{align-items:center;margin-top:17px;padding-top:0}.spanish-airport-lesson .lesson-footer>div:first-child{color:#667387}.spanish-airport-lesson .lesson-footer .btn-outline{background:#fff}.spanish-airport-lesson .lesson-footer .btn-outline:hover{border-color:#c8a25d}
@media(max-width:900px){.spanish-airport-lesson .listen-player-grid{grid-template-columns:1fr}.spanish-airport-lesson .listen-tip{max-width:none}.spanish-airport-lesson .lesson-header:after{right:20px;top:22px;font-size:12px}}
@media(max-width:650px){.spanish-airport-lesson{padding:22px 15px 45px}.spanish-airport-lesson .lesson-header{padding:24px 21px;min-height:0}.spanish-airport-lesson .lesson-header:before{display:none}.spanish-airport-lesson .lesson-header:after{position:static;display:inline-block;margin-top:17px}.spanish-airport-lesson .lesson-header h1{font-size:32px}.spanish-airport-lesson .lesson-nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.spanish-airport-lesson .listen-steps{grid-template-columns:1fr;gap:9px}.spanish-airport-lesson .listen-steps i{display:none}.spanish-airport-lesson .transcript-line{grid-template-columns:27px 62px minmax(0,1fr) 30px;gap:7px;padding:11px 10px}.spanish-airport-lesson .transcript-text{font-size:12px}.spanish-airport-lesson .activity-action .btn-primary{width:100%;min-width:0}}


/* Lesson 07 — focused dialogue reading: no image, no vocabulary */
.boarding-gate-reading-card .boarding-reading-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:28px;
  padding:4px 0 18px;border-bottom:1px solid rgba(26,42,61,.10);
}
.boarding-gate-reading-card .boarding-reading-head h3{
  margin:5px 0 7px;font-family:Georgia,serif;font-size:25px;color:#162b47;
}
.boarding-gate-reading-card .boarding-reading-head p{
  margin:0;max-width:760px;color:#60789a;line-height:1.55;
}
.boarding-gate-reading-card .reading-controls{
  display:flex;align-items:center;gap:12px;flex:0 0 auto;
}
.boarding-gate-reading-card .reading-time{white-space:nowrap;color:#6b7f9a;font-size:13px}
.boarding-dialogue{
  margin-top:18px;border:1px solid rgba(26,42,61,.11);border-radius:16px;
  overflow:hidden;background:rgba(255,255,255,.55);
}
.boarding-dialogue-row{
  display:flex;align-items:flex-start;gap:15px;padding:16px 18px;
  border-bottom:1px solid rgba(26,42,61,.08);transition:background .15s ease;
}
.boarding-dialogue-row:last-child{border-bottom:0}
.boarding-dialogue-row:hover{background:rgba(246,239,222,.45)}
.boarding-dialogue-number{
  flex:0 0 34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:#eef2f7;color:#8c6b2e;font-size:11px;font-weight:700;letter-spacing:.04em;
}
.boarding-dialogue-copy{flex:1;min-width:0}
.boarding-dialogue-speaker{
  display:block;margin:1px 0 5px;color:#9a7329;font-size:11px;font-weight:800;letter-spacing:.10em;text-transform:uppercase;
}
.boarding-dialogue-sentence{font-size:16px;line-height:1.55;color:#1b304d}
.boarding-dialogue-audio{
  flex:0 0 36px;width:36px;height:36px;padding:0;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:13px;
}
.boarding-reading-focus{margin-top:16px}
@media(max-width:760px){
  .boarding-gate-reading-card .boarding-reading-head{display:block}
  .boarding-gate-reading-card .reading-controls{margin-top:15px;flex-wrap:wrap}
  .boarding-dialogue-row{padding:14px 12px;gap:10px}
  .boarding-dialogue-sentence{font-size:14px}
}


/* Spanish Book 2 Lesson 8 — polished boarding presentation */
.lesson8-polished .lesson-header{
  position:relative;overflow:hidden;min-height:250px;
  background:
    linear-gradient(90deg,rgba(8,24,47,.98) 0%,rgba(10,29,53,.96) 52%,rgba(15,38,64,.80) 100%),
    radial-gradient(circle at 78% 35%,rgba(225,194,125,.25),transparent 24%),
    linear-gradient(135deg,#0b1d35,#203b59);
  border:1px solid rgba(255,255,255,.06);
}
.lesson8-polished .lesson-header:after{
  content:"";position:absolute;right:0;top:0;width:42%;height:100%;pointer-events:none;opacity:.92;
  background:
    linear-gradient(90deg,rgba(10,29,53,1) 0%,rgba(10,29,53,.55) 18%,rgba(10,29,53,.08) 48%,rgba(8,20,36,.18) 100%),
    radial-gradient(ellipse at 70% 28%,rgba(238,205,137,.52) 0 7%,transparent 8%),
    radial-gradient(ellipse at 68% 34%,rgba(192,214,232,.30) 0 18%,transparent 19%),
    linear-gradient(165deg,rgba(255,255,255,.08),transparent 42%),
    repeating-linear-gradient(90deg,transparent 0 54px,rgba(226,237,247,.10) 55px 57px,transparent 58px 108px),
    linear-gradient(180deg,rgba(219,232,244,.10),rgba(65,95,124,.16));
  box-shadow:inset 35px 0 50px rgba(8,20,36,.75);
}
.lesson8-polished .lesson-header>*{position:relative;z-index:1}
.lesson8-polished .lesson-header h1{max-width:60%;font-size:42px}
.lesson8-polished .lesson-header .subtitle{max-width:62%}
.lesson8-polished .lesson-header p{max-width:64%;font-size:13px}
.lesson8-polished .lesson-progress-head,.lesson8-polished .lesson-progress{position:relative;z-index:2;max-width:100%}
.lesson8-polished .lesson-progress{background:rgba(255,255,255,.85)}
.lesson8-polished .lesson-progress i{background:#d2aa62}
.lesson8-polished .visual-listen-card{padding:27px 28px}
.lesson8-polished .listen-player{border:1px solid #ddd6c9;background:linear-gradient(135deg,#fbfaf7,#fffdf9)}
.lesson8-polished .listen-player-main{padding-right:10px}
.lesson8-polished .listen-player-icon{width:62px;height:62px;background:#e9eef5;color:#16467b;border-radius:50%;display:grid;place-items:center;font-size:27px}
.lesson8-polished .listen-player-top{align-items:center}
.lesson8-polished .listen-player-top h3{font-size:20px}
.lesson8-polished .listen-tip{background:#fff8e7;border-color:#ead9af}
.lesson8-polished .listen-steps>div{background:#fff;border-color:#e2ddd3}
.lesson8-polished .listen-steps>div span{background:#edf1f6;color:#7d8a9b}
.lesson8-polished .listen-steps>div b{color:#164b88}
.lesson8-polished .transcript-heading{background:#f5f3ee}
@media(max-width:800px){
  .lesson8-polished .lesson-header:after{display:none}
  .lesson8-polished .lesson-header h1,.lesson8-polished .lesson-header .subtitle,.lesson8-polished .lesson-header p{max-width:none}
}

/* B1 performance review — listening + responding */
.b1-review-intro{max-width:1000px}
.b1-review-intro h3{font-size:30px}
.b1-situation-card{margin:18px 0 16px;padding:20px;border:1px solid #ddd5c7;border-radius:14px;background:#f8f4eb}
.b1-audio-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.b1-listen-button{border:0;border-radius:10px;padding:13px 18px;background:#cfa455;color:#0c1d38;font-weight:800;cursor:pointer;font-size:14px}
.b1-listen-button:disabled{opacity:.7;cursor:wait}
.b1-audio-row span{font-size:12px;color:#687991}
.b1-audio-hint{margin:12px 0 0;color:#687991;font-size:13px;line-height:1.55}
.b1-response-card{padding:20px;border:1px solid #e1d9cb;border-radius:14px;background:#fffdf8}
.b1-response-label{font-size:10px;letter-spacing:1.5px;font-weight:800;color:#9a7a3d;margin-bottom:4px}
.b1-response-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.b1-response-actions .btn{margin-top:0}
.review-guide{margin-top:10px;color:#687385;font-size:12px;line-height:1.55}
@media(max-width:700px){.b1-situation-card,.b1-response-card{padding:15px}.b1-audio-row{align-items:flex-start;flex-direction:column;gap:9px}}

/* B1 AI writing feedback */
.b1-writing-banner{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:14px 16px;border:1px solid #d9cfbb;border-radius:12px;background:#f6f1e6}.b1-writing-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#0d1b32;color:#e0bd72;font-size:14px;flex:0 0 30px}.b1-writing-banner strong{display:block;font-size:13px;margin-bottom:3px}.b1-writing-banner span{display:block;color:#687385;font-size:11px;line-height:1.5}.ai-checker{margin-top:13px;padding-top:13px;border-top:1px solid #e7e1d7}.ai-check-btn{font-size:11px}.ai-check-status{margin-left:9px;color:#8992a0;font-size:10px}.ai-feedback{margin-top:12px}.ai-feedback-empty{padding:12px;border:1px dashed #d7d0c3;border-radius:9px;color:#8992a0;font-size:11px}.ai-feedback-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;padding:14px 15px;background:#0d1b32;color:#fff;border-radius:11px 11px 0 0}.ai-feedback-head h4{margin:3px 0 0;font:19px Georgia}.ai-kicker{font-size:8px;letter-spacing:1.3px;font-weight:800;color:#dfbd72}.ai-level{font-size:9px;font-weight:800;border:1px solid #53627a;border-radius:20px;padding:5px 8px;color:#e6d4aa}.ai-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ddd7cb;border:1px solid #ddd7cb;border-top:0}.ai-summary>div{background:#fffdf8;padding:11px;text-align:center}.ai-summary b{display:block;font:20px Georgia;color:#0d1b32}.ai-summary span{display:block;color:#7b8491;font-size:9px;margin-top:2px}.ai-error-list{border:1px solid #ddd7cb;border-top:0}.ai-error{display:grid;grid-template-columns:27px 1fr;gap:10px;padding:13px 14px;border-top:1px solid #e7e1d7;background:#fffdf8}.ai-error:first-child{border-top:0}.ai-error-num{width:24px;height:24px;border-radius:50%;background:#f1e7d2;color:#806329;display:grid;place-items:center;font-size:10px;font-weight:800}.ai-error-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px}.ai-bad{text-decoration:line-through;color:#a45e5e}.ai-good{font-weight:800;color:#496d43}.ai-arrow{color:#9a927f}.ai-error p{margin:6px 0 0;color:#687385;font-size:10px;line-height:1.5}.ai-success{padding:14px;border:1px solid #c7d6bd;border-top:0;background:#f1f6ed;color:#4f6d46;font-size:11px;line-height:1.5}.ai-corrected{padding:13px 14px;border:1px solid #ddd7cb;border-top:0;border-radius:0 0 11px 11px;background:#f7f4ed}.ai-corrected strong{display:block;font-size:12px;margin-top:3px}.ai-corrected p{margin:5px 0 0;color:#687385;font-size:10px;line-height:1.5}@media(max-width:600px){.ai-summary{grid-template-columns:1fr}.ai-check-status{display:block;margin:7px 0 0}}

/* Permanent shared B1 Review & Test visual system */
.b1-polished{max-width:1180px}
.b1-polished .lesson-header{
  position:relative;overflow:hidden;padding:30px 34px 28px;min-height:218px;
  background:
    linear-gradient(90deg,rgba(9,28,52,.99) 0%,rgba(9,28,52,.96) 50%,rgba(12,31,55,.72) 100%),
    url('../assets/baggage-claim-hero.png') right center/48% 100% no-repeat,
    #0d1b32;
  box-shadow:0 14px 34px rgba(13,27,50,.12);
}
.b1-polished .lesson-header:after{content:"";position:absolute;right:28px;top:50%;width:90px;height:2px;background:#d5ae67;opacity:.95;box-shadow:0 34px 0 rgba(213,174,103,.0)}
.b1-polished .lesson-header>*{position:relative;z-index:1}
.b1-polished .lesson-header h1{font-size:42px;max-width:62%;margin:13px 0 5px;letter-spacing:-.02em}
.b1-polished .lesson-header .subtitle{max-width:68%;font-size:20px}
.b1-polished .lesson-header p{max-width:660px;margin:11px 0 18px;color:#ccd4df}
.b1-polished .lesson-nav{margin:16px 0 14px}
.b1-polished .section-card{box-shadow:0 7px 22px rgba(13,27,50,.045)}
.b1-review-card{padding:27px 28px 24px}
.b1-review-heading{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:28px;align-items:stretch}
.b1-review-heading h3{font:36px Georgia,serif;margin:5px 0 8px;color:#14233a}
.b1-review-heading>div>p{max-width:690px;margin:0;color:#687385;line-height:1.55}
.b1-progress-panel{border:1px solid #cfdae5;background:#edf5fc;border-radius:15px;padding:20px 20px 18px;min-width:0}
.b1-progress-panel h4{margin:0 0 14px;font:19px Georgia,serif;color:#183f6b}
.b1-progress-list{display:grid;gap:9px}
.b1-progress-step{display:flex;align-items:center;gap:10px;color:#3d4b5e;font-size:12px}
.b1-progress-dot{width:13px;height:13px;border:2px solid #b9c8d9;border-radius:50%;background:#fff;box-sizing:border-box;flex:0 0 13px}
.b1-progress-meter{height:9px;background:#d5e0ea;border-radius:99px;overflow:hidden;margin:16px 0 6px}
.b1-progress-meter i{display:block;height:100%;background:#c8a25d;border-radius:inherit}
.b1-progress-panel>strong{display:block;text-align:right;color:#3f5d7b;font-size:12px}
.b1-progress-panel em{display:block;margin-top:18px;font:italic 17px Georgia,serif;color:#274261;line-height:1.25}
.b1-review-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:22px}
.b1-review-step{border-radius:13px;padding:15px 13px 14px;min-height:122px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:flex-start}
.b1-review-step .b1-step-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;margin-bottom:9px;font-size:22px;font-weight:700}
.b1-review-step b{font-size:12px;color:#193457}
.b1-review-step small{margin-top:5px;color:#687385;font-size:10px;line-height:1.4}
.b1-review-step.step-1{background:#f1e8fb}.step-1 .b1-step-icon{color:#6f42b5}
.b1-review-step.step-2{background:#e9f2fc}.step-2 .b1-step-icon{color:#2e67a8}
.b1-review-step.step-3{background:#edf6e6}.step-3 .b1-step-icon{color:#2d7047}
.b1-review-step.step-4{background:#fff2dd}.step-4 .b1-step-icon{color:#a36c0d}
.b1-review-step.step-5{background:#fbe9ed}.step-5 .b1-step-icon{color:#b23b50}
.b1-review-action{display:flex;align-items:center;gap:22px;margin-top:20px;padding-top:17px;border-top:1px solid #ece7de}
.b1-review-action>span{color:#687385;font-size:12px}
@media(max-width:900px){
 .b1-polished .lesson-header{background:linear-gradient(90deg,rgba(9,28,52,.99),rgba(9,28,52,.9)),url('../assets/baggage-claim-hero.png') right center/46% 100% no-repeat}
 .b1-review-heading{grid-template-columns:1fr}
 .b1-review-steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
 .b1-polished .lesson-header{background:#0d1b32;min-height:0;padding:24px 22px}
 .b1-polished .lesson-header h1,.b1-polished .lesson-header .subtitle,.b1-polished .lesson-header p{max-width:none}
 .b1-polished .lesson-header h1{font-size:34px}
 .b1-review-steps{grid-template-columns:1fr}
 .b1-review-action{align-items:flex-start;flex-direction:column;gap:10px}
}

/* CINEFLUENCY — CANONICAL BOOK 3 LESSON 11 REVIEW DESIGN */
.b1-polished{max-width:1180px;padding:30px 34px 48px}
.b1-polished .lesson-header{
  position:relative;overflow:hidden;min-height:252px;padding:29px 38px 27px;border-radius:18px;
  background:
    linear-gradient(90deg,rgba(8,25,47,.98) 0%,rgba(8,25,47,.95) 48%,rgba(8,25,47,.62) 78%,rgba(8,25,47,.40) 100%),
    url('../assets/baggage-claim-hero.png') right center/56% 100% no-repeat,
    var(--navy);
  box-shadow:0 14px 34px rgba(13,27,50,.12)
}
.b1-polished .lesson-header:after{content:"";position:absolute;right:45px;bottom:27px;width:74px;height:2px;background:#e0ba69;z-index:1}
.b1-polished .lesson-header>*{position:relative;z-index:2}
.b1-polished .lesson-header h1{font-size:42px;line-height:1.06;max-width:640px;margin:14px 0 7px;letter-spacing:-.02em}
.b1-polished .lesson-header .subtitle{font-size:20px;line-height:1.3;max-width:720px}
.b1-polished .lesson-header p{font-size:14px;line-height:1.55;max-width:650px;margin:12px 0 0;color:#c9d2df}
.b1-polished .lesson-hero-quote{position:absolute!important;right:38px;bottom:45px;width:220px;color:#fff;font:italic 19px Georgia,serif;line-height:1.3;text-align:center;z-index:3!important}
.b1-polished .lesson-hero-quote span{display:block;width:38px;height:2px;background:#dfb96b;margin:14px auto 0}
.b1-polished .lesson-nav{margin:15px 0 15px;gap:8px}
.b1-polished .part-btn{padding:10px 14px;border-radius:9px;background:#fff;font-size:12px;color:#617087}
.b1-polished .part-btn.active{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 4px 12px rgba(13,27,50,.10)}
.b1-polished .section-card{border-radius:17px;box-shadow:0 8px 24px rgba(13,27,50,.045)}
.b1-polished .b1-review-card{padding:27px 28px 22px}
.b1-polished .b1-review-heading{grid-template-columns:minmax(0,1fr) 300px;gap:28px}
.b1-polished .b1-review-heading h3{font-size:36px;margin:5px 0 8px}
.b1-polished .b1-review-steps{gap:12px;margin-top:21px}
.b1-polished .b1-review-step{min-height:123px}
.b1-polished .b1-review-action{margin-top:20px;padding-top:17px}
.b1-polished .b1-review-action .btn-primary{min-width:190px;font-size:14px}
.b1-polished .lesson-footer{padding-top:2px}
.b1-polished .lesson-footer .btn-dark{background:var(--navy);color:#fff}
@media(max-width:900px){
 .b1-polished .lesson-header{background:linear-gradient(90deg,rgba(8,25,47,.98),rgba(8,25,47,.84)),url('../assets/baggage-claim-hero.png') right center/48% 100% no-repeat}
 .b1-polished .lesson-hero-quote{display:none!important}
 .b1-polished .b1-review-heading{grid-template-columns:1fr}
}
@media(max-width:650px){
 .b1-polished{padding:22px 15px 45px}
 .b1-polished .lesson-header{min-height:0;padding:24px 22px;background:var(--navy)}
 .b1-polished .lesson-header h1{font-size:34px;max-width:none}
 .b1-polished .lesson-header .subtitle,.b1-polished .lesson-header p{max-width:none}
 .b1-polished .lesson-nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
 .b1-polished .part-btn{white-space:nowrap}
 .b1-polished .b1-review-steps{grid-template-columns:1fr}
 .b1-polished .b1-review-action{align-items:flex-start;flex-direction:column;gap:10px}
}

/* CINEFLUENCY — CANONICAL ACTUAL B1 REVIEW & TEST DESIGN */
.actual-review-design{background:#fffdf8;border:1px solid #e4dfd5;border-radius:17px;overflow:hidden}
.actual-review-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;padding:28px 28px 22px}
.actual-review-main{min-width:0}
.actual-review-design .review-kicker{font-size:10px;letter-spacing:2px;font-weight:800;color:#c19345;margin:0 0 6px}
.actual-review-design h2{font:36px Georgia,serif;color:#14233a;margin:0 0 7px;line-height:1.15}
.actual-review-intro{font-size:15px;line-height:1.55;color:#687385;max-width:720px;margin:0}
.actual-review-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:22px}
.actual-review-step{min-height:124px;border-radius:14px;padding:15px 10px 13px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;box-sizing:border-box}
.actual-step-1{background:#f0e6fb}.actual-step-2{background:#e5f0fb}.actual-step-3{background:#eaf4e4}.actual-step-4{background:#fff0d8}.actual-step-5{background:#fae4e4}
.actual-step-icon{font-size:27px;line-height:1;margin:0 0 10px;font-weight:700}
.actual-step-1 .actual-step-icon{color:#7041b8}.actual-step-2 .actual-step-icon{color:#1265ad}.actual-step-3 .actual-step-icon{color:#277346}.actual-step-4 .actual-step-icon{color:#b87505}.actual-step-5 .actual-step-icon{color:#bd3041}
.actual-review-step b{font-size:14px;color:#18365d;line-height:1.2;margin-bottom:7px}.actual-step-3 b{color:#17633d}.actual-step-4 b{color:#202b3d}.actual-step-5 b{color:#8e2028}
.actual-review-step small{font-size:11px;line-height:1.35;color:#5e6c80}
.actual-review-action{display:flex;align-items:center;gap:18px;margin-top:20px;padding-top:0}
.actual-review-action .btn-primary{min-width:190px;justify-content:center;font-size:14px;padding:12px 18px}
.actual-play{font-size:11px;margin-right:7px}
.actual-time{font-size:13px;color:#687385}
.actual-progress-panel{background:#eaf3fb;border:1px solid #d9e7f2;border-radius:15px;padding:18px 20px;box-sizing:border-box;min-height:300px}
.actual-progress-panel h4{margin:0 0 14px;font:18px Georgia,serif;color:#18365d}
.actual-progress-step{display:flex;align-items:center;gap:10px;margin:10px 0;color:#294b73}
.actual-progress-step span{width:15px;height:15px;border:2px solid #aebdcb;border-radius:50%;background:#fff;box-sizing:border-box;flex:0 0 15px}
.actual-progress-step em{font-style:normal;font-size:13px}
.actual-meter{display:flex;align-items:center;gap:10px;margin-top:17px}.actual-meter:before{content:"";height:11px;flex:1;background:#d4e0ea;border-radius:99px}.actual-meter i{display:none}.actual-meter strong{font-size:13px;font-weight:500;color:#294b73}
.actual-progress-panel p{font:italic 17px Georgia,serif;line-height:1.35;text-align:center;color:#18365d;margin:26px 0 0}
@media(max-width:950px){.actual-review-grid{grid-template-columns:1fr}.actual-progress-panel{min-height:0}.actual-review-steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.actual-review-grid{padding:22px 18px}.actual-review-steps{grid-template-columns:1fr 1fr}.actual-review-step{min-height:110px}.actual-review-action{align-items:flex-start;flex-direction:column;gap:10px}.actual-review-design h2{font-size:31px}}

/* FINAL HARDENED REVIEW & TEST DESIGN */
#app .actual-review-design{display:block!important;background:#fffdf8!important;border:1px solid #e4dfd5!important;border-radius:17px!important;overflow:hidden!important}
#app .actual-review-grid{display:grid!important;grid-template-columns:minmax(0,1fr) 300px!important;gap:28px!important;padding:28px 28px 22px!important}
#app .actual-review-steps{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important;margin-top:22px!important}
#app .actual-review-step{display:flex!important;min-height:124px!important;border-radius:14px!important;padding:15px 10px 13px!important;text-align:center!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;box-sizing:border-box!important}
#app .actual-step-1{background:#f0e6fb!important}#app .actual-step-2{background:#e5f0fb!important}#app .actual-step-3{background:#eaf4e4!important}#app .actual-step-4{background:#fff0d8!important}#app .actual-step-5{background:#fae4e4!important}
#app .actual-progress-panel{display:block!important;background:#eaf3fb!important;border:1px solid #d9e7f2!important;border-radius:15px!important;padding:18px 20px!important;box-sizing:border-box!important;min-height:300px!important}
@media(max-width:950px){#app .actual-review-grid{grid-template-columns:1fr!important}#app .actual-review-steps{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:650px){#app .actual-review-grid{padding:22px 18px!important}#app .actual-review-steps{grid-template-columns:1fr 1fr!important}}

/* Actual Review & Test implementation: responsive safety */
@media(max-width:950px){#app .section-card > div[style*="grid-template-columns:minmax(0,1fr) 300px"]{grid-template-columns:1fr!important}}
@media(max-width:650px){#app .section-card > div[style*="grid-template-columns:repeat(5"]{grid-template-columns:1fr 1fr!important}}

/* FINAL REAL Review & Test renderer */
.real-review-inner{display:grid!important;grid-template-columns:minmax(0,1fr) 300px!important;gap:28px!important;padding:28px!important;background:#fffdf8!important}
.real-review-main{min-width:0!important}
.real-review-kicker{font-size:10px!important;letter-spacing:2px!important;font-weight:800!important;color:#c19345!important;margin-bottom:7px!important}
.real-review-main h2{font:36px Georgia,serif!important;line-height:1.15!important;color:#14233a!important;margin:0 0 8px!important}
.real-review-intro{font-size:15px!important;line-height:1.5!important;color:#687385!important;margin:0!important;max-width:760px!important}
.real-review-steps{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important;margin-top:22px!important}
.real-review-step{min-height:124px!important;border-radius:14px!important;padding:15px 10px 13px!important;text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;box-sizing:border-box!important}
.real-review-icon{font-size:28px!important;line-height:1!important;font-weight:700!important;margin-bottom:10px!important}
.real-review-step strong{font-size:14px!important;line-height:1.2!important;color:#18365d!important;margin-bottom:7px!important}
.real-review-step small{font-size:11px!important;line-height:1.35!important;color:#5e6c80!important}
.real-review-actions{display:flex!important;align-items:center!important;gap:18px!important;margin-top:20px!important}
.real-review-start{min-width:190px!important}
.real-review-time{font-size:14px!important;color:#687385!important}
.real-progress-panel{background:#eaf3fb!important;border:1px solid #d9e7f2!important;border-radius:15px!important;padding:18px 20px!important;box-sizing:border-box!important;min-height:300px!important}
.real-progress-panel h4{margin:0 0 14px!important;font:18px Georgia,serif!important;color:#18365d!important}
.real-progress-row{display:flex!important;align-items:center!important;gap:10px!important;margin:10px 0!important;color:#294b73!important;font-size:13px!important}
.real-progress-row span:first-child{width:15px!important;height:15px!important;border:2px solid #aebdcb!important;border-radius:50%!important;background:#fff!important;box-sizing:border-box!important;flex:0 0 15px!important}
.real-progress-meter{display:flex!important;align-items:center!important;gap:10px!important;margin-top:17px!important}
.real-progress-meter div{height:11px!important;flex:1!important;background:#d4e0ea!important;border-radius:99px!important}
.real-progress-meter b{font-size:13px!important;font-weight:500!important;color:#294b73!important}
.real-progress-panel p{font:italic 17px Georgia,serif!important;line-height:1.35!important;text-align:center!important;color:#18365d!important;margin:26px 0 0!important}
@media(max-width:950px){.real-review-inner{grid-template-columns:1fr!important}.real-review-steps{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:650px){.real-review-steps{grid-template-columns:1fr 1fr!important}.real-review-inner{padding:22px 18px!important}}

/* FINAL B1 Review & Test: simple approved layout. No stage labels/checklist. */
.b1-review-clean{overflow:hidden}
.b1-review-clean-body{padding:24px 28px 26px;background:#fffdf8}
.b1-review-clean-intro{font-size:15px;line-height:1.6;color:#294b73;max-width:900px;margin:0}
.b1-review-clean-action{display:flex;align-items:center;gap:18px;margin-top:20px}
.b1-review-clean-action>span{font-size:14px;color:#687385}
.b1-review-clean-progress{margin-top:24px;padding-top:18px;border-top:1px solid #e8e2d8;max-width:900px}
.b1-review-clean-progress-title{font-weight:700;color:#18365d;font-size:14px;margin-bottom:12px}
.b1-review-clean-meter{display:flex;align-items:center;gap:10px}
.b1-review-clean-meter i{display:block;height:10px;flex:1;background:#d9e2ea;border-radius:99px}
.b1-review-clean-meter strong{font-size:13px;font-weight:500;color:#294b73}
.b1-review-clean-progress p{font:italic 17px Georgia,serif;color:#18365d;margin:18px 0 0}

/* My Languages — permanent subscription entry point */
.subscription-entry{
  margin-top:28px;padding:24px 26px;border:1px solid #d8c49a;border-radius:16px;
  background:linear-gradient(135deg,#fffaf0 0%,#f8f3e8 100%);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  box-shadow:0 8px 24px rgba(13,27,50,.05);
}
.subscription-entry-copy{min-width:0}
.subscription-entry-kicker{font-size:9px;letter-spacing:1.8px;font-weight:800;color:#b17f2d;margin-bottom:7px}
.subscription-entry h2{font:26px Georgia,serif;color:#14233a;margin:0 0 6px}
.subscription-entry p{font-size:13px;line-height:1.5;color:#687385;margin:0;max-width:700px}
.subscription-entry-action{flex:0 0 auto}
.subscription-entry-action .btn-primary{white-space:nowrap;min-width:205px}
.subscription-active-pill{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:1px solid #b9cfb0;border-radius:999px;background:#eef6ea;color:#477040;font-size:12px;font-weight:800}
@media(max-width:720px){.subscription-entry{align-items:flex-start;flex-direction:column}.subscription-entry-action,.subscription-entry-action .btn-primary{width:100%}}
