@font-face{font-family:"Plex Thai Looped";src:url("assets/fonts/IBMPlexSansThaiLooped-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Thai Looped";src:url("assets/fonts/IBMPlexSansThaiLooped-Medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Plex Thai Looped";src:url("assets/fonts/IBMPlexSansThaiLooped-SemiBold.woff2") format("woff2");font-weight:600 800;font-display:swap}
:root{--bg:#f4f3ed;--paper:#fffdf8;--ink:#151515;--muted:#66645e;--line:#cbc9c0;--blue:#165dcc;--blue2:#e7efff;--orange:#ff7629;--pink:#f14d70;--green:#187b49;--yellow:#f4bd32;--thai:"Plex Thai Looped","Leelawadee UI",Tahoma,sans-serif;--sans:"Microsoft YaHei UI","PingFang SC","Noto Sans CJK SC",system-ui,sans-serif}
*{box-sizing:border-box}html{font-size:16px;overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--sans);overflow-x:hidden}button,input,select,textarea{font:inherit}.thai,.thai-main,.dict-thai,.hero-thai,.sound-chips button,.sign-board button,.brand small{font-family:var(--thai)!important}[hidden]{display:none!important}
.layout{display:block;min-height:100vh;padding-top:72px}main{min-width:0}.sidebar{position:fixed;inset:0 0 auto;width:auto;height:72px;padding:0 clamp(22px,5vw,70px);display:flex;flex-direction:row;align-items:center;gap:35px;background:#fff;box-shadow:0 1px 0 #111;z-index:30;color:var(--ink)}.brand{display:flex;align-items:center;gap:11px;margin:0;padding:0;color:var(--ink);text-decoration:none;flex:none}.brand>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--orange);color:#fff;font:600 24px var(--thai)}.brand b,.brand small{display:block}.brand b{font-size:17px;letter-spacing:.06em}.brand small{font-size:10px;color:var(--blue)}.primary-nav{display:flex!important;align-items:center;gap:2px;height:100%;flex:1}.nav,.nav-more>summary{border:0;background:transparent;color:#4e4c47;padding:12px 14px;display:flex;gap:7px;align-items:center;cursor:pointer;white-space:nowrap}.nav i,.nav-more i{font-style:normal;font-size:10px}.nav:hover,.nav-more>summary:hover{color:var(--blue)}.nav.active{background:var(--blue);color:#fff}.nav-more{position:relative;height:100%;display:flex;align-items:center}.nav-more>summary{list-style:none}.nav-more>summary::-webkit-details-marker{display:none}.more-popover{position:absolute;top:61px;right:0;width:310px;padding:15px;background:#fff;border:1px solid #111;box-shadow:7px 7px 0 #111;display:grid;grid-template-columns:1fr 1fr;gap:3px}.more-heading{grid-column:1/-1;padding:5px 8px 11px;border-bottom:1px solid var(--line)}.more-heading b,.more-heading small{display:block}.more-heading small{font-size:11px;color:var(--muted)}.more-popover .nav{justify-content:flex-start}.more-popover .side-progress{grid-column:1/-1;background:var(--blue2);border:0;margin:9px 0 0;padding:13px}.side-progress small{font-size:10px}.mini-line{height:5px;background:#ccd8ed;margin:9px 0}.mini-line i{display:block;height:100%;background:var(--blue)}
.topbar{height:80px;position:sticky;top:72px;z-index:15;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(22px,6vw,82px);background:rgba(244,243,237,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar small{font-size:10px;font-weight:800;letter-spacing:.13em;color:var(--pink)}.topbar h1{font-size:22px;margin:3px 0 0}.top-stats{display:flex;align-items:center;gap:7px}.top-stats span,.membership-pill,.user-menu{border:1px solid var(--line);background:#fff;padding:8px 10px;font-size:11px}.user-menu{cursor:pointer}.menu-btn{display:none!important}.main-content{max-width:1320px;margin:auto;padding:38px clamp(22px,6vw,82px) 100px}.view{display:none}.view.active{display:block}.eyebrow,.word-number,.route-stamp{font-size:11px;font-weight:800;letter-spacing:.11em;color:var(--pink)}
/* Home hero: image and content are peers; no floating decoration. */
#view-today.active{display:flex;flex-direction:column}#view-today .trial-banner{order:0}#view-today .today-overview,#view-today .lesson-shell{order:1}#view-today .day-history-panel{order:2}#view-today .journey-section{order:3}.today-overview{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(430px,1.18fr);gap:0;background:#fff;border:1px solid #111}.overview-copy{position:relative;min-height:470px;padding:48px 44px 64px;background:#fff;color:var(--ink);border:0;border-right:1px solid #111;box-shadow:none}.overview-copy:before,.overview-copy:after{display:none}.route-stamp{display:inline-block;background:var(--yellow);color:#111;padding:5px 9px;margin-bottom:24px}.overview-copy .eyebrow{display:block;color:var(--blue)}.overview-copy h2{font-size:clamp(34px,3.4vw,49px);line-height:1.23;letter-spacing:-.045em;margin:18px 0}.overview-copy p{font-size:15px;line-height:1.8;color:var(--muted);max-width:560px}.hero-actions{display:flex;gap:14px;align-items:center;margin-top:27px}.primary{border:0;background:var(--blue);color:#fff;border-radius:0;padding:13px 19px;font-weight:800;cursor:pointer;box-shadow:4px 4px 0 #111}.primary:hover{transform:translate(1px,1px);box-shadow:3px 3px 0 #111}.passport-link,.plain{border:0;background:transparent;color:var(--blue);cursor:pointer}.passport-link{border-bottom:2px solid var(--blue);padding:9px 2px}.hero-thai{position:absolute;left:44px;bottom:21px;font-size:14px;color:var(--green)}.hero-image{min-height:470px;background:url("assets/images/bangkok-learning-hero.webp") center/cover no-repeat}.plan-card{grid-column:1/-1;display:grid;grid-template-columns:170px repeat(4,1fr) 230px;align-items:stretch;padding:0;background:#111;border:0;border-radius:0;box-shadow:none;gap:1px}.plan-card h3{margin:0;background:var(--blue);color:#fff;padding:25px 22px;font-size:18px}.plan-card ol{display:contents}.plan-card li{display:grid;grid-template-columns:auto 1fr;gap:2px 11px;margin:0;padding:22px 16px;background:#fff;border:0}.plan-card li>b{grid-row:1/3;position:static!important;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#fff;font-size:10px}.plan-card li span{font-weight:800;font-size:13px}.plan-card li em{font-style:normal;font-size:10px;color:var(--muted)}.review-callout{margin:0;padding:18px;background:var(--yellow);border:0;border-radius:0;display:flex;align-items:center;justify-content:space-between}.review-callout span,.review-callout b{display:block}.review-callout span{font-size:10px}.review-callout b{font-size:12px}.review-callout button{border:0;background:#111;color:#fff;padding:8px;font-size:10px}.review-callout button:disabled{opacity:.45}
.day-history-panel{display:grid;grid-template-columns:245px 1fr;gap:24px;align-items:center;margin:24px 0 0;padding:22px 0;border:0;border-bottom:1px solid #111;background:transparent;border-radius:0}.day-history-panel .eyebrow{display:none}.day-history-panel h3{font-size:20px;margin:0}.day-history-panel p{font-size:12px;line-height:1.7;color:var(--muted);margin:5px 0 0}.day-history{display:flex;gap:7px;overflow:auto}.day-chip{min-width:98px;border:1px solid var(--line);border-radius:0;background:#fff;padding:11px;text-align:left}.day-chip b,.day-chip span{display:block}.day-chip span{font-size:9px;color:var(--muted)}.day-chip.active{background:var(--blue);border-color:var(--blue);color:#fff}.day-chip.active span{color:#fff}.journey-section{margin-top:0;padding:42px 0;background:transparent;border:0;border-radius:0}.journey-heading{display:grid;grid-template-columns:1fr minmax(280px,450px);gap:35px;align-items:end}.journey-heading h2{font-size:27px;margin:8px 0 0}.journey-heading p{font-size:13px;line-height:1.75;color:var(--muted)}.journey-path{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:28px}.journey-path:before{display:none}.journey-path article{position:relative;min-height:155px;padding:20px 17px 18px;border:1px solid #111;border-top:9px solid var(--blue);border-radius:0;background:#fff}.journey-path article:nth-child(2){border-top-color:var(--pink)}.journey-path article:nth-child(3){border-top-color:var(--orange)}.journey-path article:nth-child(4){border-top-color:var(--green)}.journey-path article:nth-child(5){border-top-color:var(--yellow)}.journey-path article i{position:static!important;width:auto;height:auto;display:block;margin:0 0 23px;background:transparent!important;color:var(--ink)!important;font:800 25px/1 var(--sans);text-align:left}.journey-path article b,.journey-path article span{display:block}.journey-path article b{font-size:16px}.journey-path article span{font-size:11px;color:var(--muted);margin-top:7px}.journey-path article.current{outline:3px solid var(--orange);outline-offset:3px}.journey-path article.done{background:var(--blue2)}
/* Shared content structure */
.section-intro{display:flex;justify-content:space-between;align-items:end;padding-bottom:20px;margin-bottom:24px;border-bottom:3px solid #111}.section-intro h2,.membership-hero h2{font-size:clamp(30px,3vw,43px);line-height:1.25;margin:7px 0}.section-intro p{font-size:14px;line-height:1.75;color:var(--muted);margin:0}.big-number b,.big-number small{display:block}.big-number{text-align:right}.big-number b{font-size:35px;color:var(--blue)}.big-number small{font-size:11px;color:var(--muted)}.guide-hero{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);padding:0;background:#fff;border:1px solid #111;border-radius:0;overflow:hidden}.guide-hero>div:first-child{padding:45px}.guide-hero h2{font-size:38px;line-height:1.3;margin:12px 0}.guide-hero p{font-size:15px;line-height:1.8;color:var(--muted)}.guide-art{min-height:390px;background:url("assets/images/listen-speak-collage.webp") center/cover no-repeat}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.guide-card,.culture-card{background:#fff;border:1px solid #111;border-radius:0;padding:26px}.guide-card.featured-guide{border:3px solid var(--blue)}.guide-no{font-size:11px;color:var(--pink)}.guide-card h3,.culture-card h3{font-size:19px}.guide-card p,.culture-card p{font-size:13px;line-height:1.75;color:var(--muted)}.sound-chips,.sign-board{display:flex;gap:7px;flex-wrap:wrap}.sound-chips button,.sign-board button{border:1px solid #111;border-radius:0;background:var(--blue2);padding:9px 12px;font-size:20px}.sound-chips small,.sign-board small{display:block;font:9px var(--sans);color:var(--muted)}.guide-next{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:23px;background:var(--yellow);border:1px solid #111}.guide-next p{font-size:12px}.guide-next .primary{margin:0}
.search-box,.sentence-tools{display:flex;align-items:center;background:#fff;border:1px solid #111;border-radius:0;padding:7px}.search-box{display:grid;grid-template-columns:auto 1fr 170px auto}.search-box input,.search-box select,.sentence-tools input{border:0;background:transparent;outline:0;padding:10px;min-width:0}.search-box select{border-left:1px solid var(--line)}.search-box button,.sentence-tools button{border:0;background:var(--blue);color:#fff;padding:10px 17px}.filter-row{display:flex;gap:6px;overflow:auto;margin-bottom:15px}.filter{border:1px solid var(--line);border-radius:0;background:#fff;padding:8px 12px;white-space:nowrap;font-size:11px}.filter.active{background:var(--blue);border-color:var(--blue);color:#fff}.dict-list,.memory-list{background:#fff;border:1px solid #111;border-radius:0;overflow:hidden}.dict-row{display:grid;grid-template-columns:48px minmax(150px,.8fr) minmax(220px,1.3fr) 120px 95px;gap:15px;align-items:center;padding:17px;border-bottom:1px solid var(--line)}.dict-row:hover,.memory-row:hover{background:var(--blue2)}.dict-audio,.audio-btn{border:0;border-radius:50%;background:var(--blue);color:#fff;cursor:pointer}.dict-audio{width:38px;height:38px}.dict-thai{font-size:24px;font-weight:500}.dict-cn{font-weight:800}.dict-sub{font-size:11px;line-height:1.6;color:var(--muted)}.tag{display:inline-block;width:max-content;border-radius:0;padding:5px 7px;background:var(--yellow);font-size:9px}.detail-button,.sentence-practice{border:1px solid var(--blue);border-radius:0;background:#fff;color:var(--blue);padding:7px 9px}.pagination{display:flex;justify-content:center;gap:4px;margin-top:18px}.pagination button{border:1px solid var(--line);border-radius:0;background:#fff;padding:8px 11px}.pagination button.active{background:var(--blue);color:#fff}.sentence-list,.dialogue-list,.culture-list{display:grid;gap:10px}.sentence-card{display:grid;grid-template-columns:46px 1fr auto;gap:15px;padding:21px;background:#fff;border:1px solid #111;border-radius:0}.sentence-card .thai{font-size:22px;font-weight:500}.sentence-card .cn{font-weight:800;margin-top:4px}.sentence-card .roman,.sentence-card .note{font-size:11px;color:var(--muted)}.dialogue-list{grid-template-columns:1fr 1fr}.dialogue-card{background:#fff;border:1px solid #111;border-radius:0;overflow:hidden}.dialogue-card summary{display:flex;align-items:center;gap:13px;padding:18px;list-style:none}.dialogue-card summary>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--orange)}.dialogue-card summary div{display:flex;flex-direction:column;flex:1}.dialogue-card summary small{font-size:10px;color:var(--muted)}.dialogue-card summary>i{font-style:normal;font-size:10px;color:var(--blue)}.dialogue-lines{padding:5px 16px 12px;border-top:1px solid var(--line)}.dialogue-lines article{display:grid;grid-template-columns:48px 1fr auto auto;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}.dialogue-lines .thai{font-size:19px}.dialogue-lines p{font-size:11px;margin:3px 0}.dialogue-lines button{border:1px solid var(--line);background:#fff;color:var(--blue)}.culture-list{grid-template-columns:1fr 1fr}.culture-tip,.usage-box{background:var(--blue2);border-left:5px solid var(--blue);border-radius:0;padding:13px;font-size:11px}
.memory-stats,.admin-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.memory-stats article,.admin-metrics article{background:#fff;border:1px solid #111;border-radius:0;padding:20px}.memory-stats b,.memory-stats span{display:block}.memory-stats b{font-size:29px;color:var(--blue)}.memory-stats span{font-size:11px;color:var(--muted)}.curriculum-card,.review-schedule,.backup-card,.admin-panel,.price-card,.redeem-card,.member-benefits,.purchase-note{background:#fff;border:1px solid #111;border-radius:0;padding:24px}.curriculum-stages{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.curriculum-stages>div{display:flex;gap:7px;padding:10px;background:#ecebe4;border-radius:0}.curriculum-stages>div.current{background:var(--blue);color:#fff}.curriculum-stages>div.done{background:#bfe0ca}.curriculum-stages span{display:flex;flex-direction:column}.curriculum-stages small{font-size:9px}.curriculum-progress>div{height:7px;background:#ddd}.curriculum-progress>div i{display:block;height:100%;background:var(--orange)}.review-schedule{display:grid;grid-template-columns:1.1fr 1fr auto;gap:24px;align-items:center}.personal-list{display:flex;gap:7px;flex-wrap:wrap}.personal-list>button{border:1px solid #111;border-radius:0;background:#fff;padding:11px}.backup-card{display:flex;justify-content:space-between;align-items:center}.file-button input{display:none}.file-button{display:inline-flex}.memory-row{display:grid;grid-template-columns:1fr 1fr 130px 130px;gap:15px;padding:15px 19px;border-bottom:1px solid var(--line)}
/* Learning focus */
.lesson-shell{max-width:900px;margin:auto}.lesson-progress{height:6px;background:#ddd}.lesson-progress i{display:block;height:100%;background:var(--orange)}.learn-card,.quiz-card,.culture-lesson,.complete-card,.review-card{padding:clamp(28px,5vw,52px);background:#fff;border:1px solid #111;border-radius:0;box-shadow:8px 8px 0 var(--blue)}.word-number{display:inline-block;background:var(--yellow);color:#111;padding:6px 9px}.learn-word-head{display:grid;grid-template-columns:1fr auto;align-items:center}.thai-main{font-size:clamp(49px,7vw,75px);line-height:1.25;font-weight:600}.roman{font-size:13px;color:var(--muted)}.meaning-main{font-size:26px;font-weight:800}.audio-controls{display:flex;gap:8px}.audio-btn{width:54px;height:54px}.audio-btn.slow{background:var(--yellow);color:#111}.example-box{background:#f1f0e9;border-radius:0;border-left:6px solid var(--orange);padding:19px}.example-box .thai{font-size:22px}.example-box .cn{font-size:12px;color:var(--muted)}.card-actions{display:flex;justify-content:space-between;align-items:center}.familiar{border:1px solid #111;border-radius:0;background:#fff;padding:11px}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quiz-option{border:1px solid #111;border-radius:0;background:#fff;padding:15px}.quiz-option:hover{background:var(--blue2)}.quiz-option.correct{background:#bfe0ca}.quiz-option.wrong{background:#ffd1d7}.review-ratings{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.review-ratings p{grid-column:1/-1}.review-ratings button{border:1px solid #111;border-radius:0;background:#fff;padding:10px}.review-ratings small{display:block}.complete-card{text-align:center}.culture-lesson{text-align:center}
.word-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px}.word-modal-backdrop{position:absolute;inset:0;background:#071d3dcc;backdrop-filter:blur(4px)}.word-detail{position:relative;width:min(700px,100%);max-height:90vh;overflow:auto;background:#fff;border:1px solid #111;border-radius:0;padding:35px;box-shadow:10px 10px 0 var(--orange)}.word-modal-close{position:absolute;right:13px;top:13px;border:0;background:var(--pink);color:#fff;width:34px;height:34px}.detail-head{display:grid;grid-template-columns:1fr auto}.word-detail .thai-main{font-size:48px}.personal-editor textarea,.report-form select{width:100%;border:1px solid #111;border-radius:0;padding:10px}.report-form,.practice-status,.practice-result{background:#ecebe4;border-radius:0;padding:13px}.auth-screen{min-height:100vh;display:grid;grid-template-columns:1.2fr minmax(390px,.8fr);gap:0;padding:0;background:#fff}.auth-brand{min-height:100vh;justify-content:flex-start;align-items:flex-end;padding:55px;background:url("assets/images/listen-speak-collage.webp") center/cover no-repeat;color:#fff}.auth-brand>span{background:var(--orange);color:#fff;border-radius:50%}.auth-brand div{background:#111;padding:14px 18px}.auth-brand b{font-size:28px}.auth-panel{align-self:center;margin:45px;background:#fff;border:1px solid #111;border-radius:0;padding:40px;box-shadow:8px 8px 0 var(--blue)}.auth-panel h1{font-size:27px}.auth-panel input{width:100%;border:1px solid #111;border-radius:0;padding:12px}.auth-panel .primary{width:100%}.membership-hero{display:grid;grid-template-columns:1fr 230px;gap:25px;background:var(--blue2);border:1px solid #111;border-radius:0;padding:38px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.admin-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:10px}.admin-metrics{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.sidebar{padding:0 18px;gap:15px}.brand div{display:none}.nav{padding-inline:10px}.today-overview{grid-template-columns:1fr}.overview-copy{min-height:auto;border-right:0}.hero-image{min-height:370px}.plan-card{grid-template-columns:1fr 1fr}.plan-card h3,.review-callout{grid-column:1/-1}.journey-path{grid-template-columns:1fr 1fr}.guide-hero{grid-template-columns:1fr}.guide-art{min-height:330px}.dialogue-list{grid-template-columns:1fr}.review-schedule{grid-template-columns:1fr}.auth-screen{grid-template-columns:1fr}.auth-brand{min-height:280px}.auth-panel{width:min(520px,calc(100% - 36px));justify-self:center}.admin-grid{grid-template-columns:1fr}}
@media(max-width:620px){body{padding-bottom:68px}.layout{padding-top:0}.sidebar{inset:auto 0 0;width:auto;height:64px;padding:5px 7px;background:#fff;border-top:1px solid #111;box-shadow:none;display:block;transform:none}.brand{display:none}.primary-nav{display:grid!important;grid-template-columns:repeat(5,1fr);gap:1px}.nav,.nav-more>summary{height:54px;padding:4px 2px;display:flex;flex-direction:column;justify-content:center;gap:1px;font-size:10px}.nav span,.nav-more>summary span{display:block;font-size:10px}.nav.active{background:var(--blue);color:#fff}.nav-more{height:54px;display:block}.more-popover{position:fixed;left:10px;right:10px;top:auto;bottom:72px;width:auto}.more-popover .nav{height:auto;min-height:48px;flex-direction:row}.topbar{top:0;height:70px;padding:10px 14px}.topbar h1{font-size:18px}.topbar>div:first-of-type{min-width:0}.top-stats span,.membership-pill{display:none!important}.user-menu{max-width:86px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.main-content{width:100%;padding:20px 13px 45px}.today-overview{display:grid;border-left:0;border-right:0}.overview-copy{padding:29px 22px 58px;order:2}.hero-image{min-height:245px;order:1;background-position:68% center}.overview-copy h2{font-size:32px}.overview-copy p{font-size:14px}.hero-actions{align-items:stretch;flex-direction:column}.primary{box-shadow:3px 3px 0 #111}.passport-link{align-self:flex-start}.hero-thai{left:22px}.plan-card{order:3;display:block}.plan-card h3{padding:20px}.plan-card li{border-bottom:1px solid var(--line)}.review-callout{padding:17px}.day-history-panel,.journey-heading{grid-template-columns:1fr}.journey-path{grid-template-columns:1fr 1fr}.journey-path article{min-height:135px}.section-intro{display:block}.section-intro h2{font-size:30px}.big-number{text-align:left}.guide-hero>div:first-child{padding:28px 21px}.guide-hero h2{font-size:29px}.guide-art{min-height:250px}.guide-grid{grid-template-columns:1fr}.guide-next{align-items:flex-start;flex-direction:column}.search-box{grid-template-columns:auto 1fr auto}.search-box select{grid-column:2/4;width:100%;border-left:0;border-top:1px solid var(--line)}.dict-row{grid-template-columns:42px 1fr}.dict-row>div:nth-child(3){grid-column:2}.dict-row>div:nth-child(4){display:none}.dict-row>div:nth-child(5){grid-column:2}.sentence-card{grid-template-columns:40px 1fr}.sentence-card>.tag{grid-column:2}.culture-list{grid-template-columns:1fr}.curriculum-stages{grid-template-columns:1fr}.backup-card{align-items:flex-start;flex-direction:column}.memory-row{grid-template-columns:1fr 1fr}.memory-row>div:nth-child(3),.memory-row>div:nth-child(4){display:none}.learn-card,.quiz-card,.culture-lesson,.complete-card,.review-card{padding:26px 19px;box-shadow:5px 5px 0 var(--blue)}.thai-main{font-size:47px}.quiz-options{grid-template-columns:1fr}.review-ratings{grid-template-columns:1fr 1fr}.word-detail{padding:27px 19px}.dialogue-lines article{grid-template-columns:42px 1fr auto}.dialogue-lines article button:last-child{grid-column:2/4}.auth-brand{min-height:230px;padding:25px}.auth-panel{margin:30px 18px;width:auto;padding:28px 22px}.membership-hero{grid-template-columns:1fr;padding:27px 21px}.pricing-grid{grid-template-columns:1fr}.admin-metrics{grid-template-columns:1fr 1fr}}

/* Login artwork: the illustration fills the viewport and the form floats above it. */
.auth-screen{position:relative;isolation:isolate;min-height:100vh;min-height:100svh;display:grid;grid-template-columns:1fr;place-items:center;padding:clamp(24px,4vw,64px);overflow:hidden;background:linear-gradient(90deg,rgba(4,25,22,.12),rgba(4,25,22,.2) 48%,rgba(4,25,22,.62)),url("assets/images/listen-speak-collage.webp") center/cover no-repeat}
.auth-screen:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.2));pointer-events:none}
.auth-brand{position:absolute;left:clamp(28px,5vw,80px);bottom:clamp(28px,6vh,72px);z-index:2;min-height:0;padding:0;background:none;color:#fff;display:flex;align-items:center;justify-content:flex-start;gap:14px}
.auth-brand div{background:rgba(17,17,17,.92);padding:13px 17px}
.auth-panel{position:relative;z-index:2;justify-self:end;align-self:center;box-sizing:border-box;width:min(520px,calc(100vw - 48px));margin:0 clamp(12px,5vw,76px) 0 0;background:rgba(255,255,255,.97);border:1px solid #111;padding:40px;box-shadow:8px 8px 0 var(--blue);backdrop-filter:blur(5px)}
.auth-switch{display:block;width:100%;margin-top:12px;padding:13px 16px;border:2px solid var(--blue);background:#fff;color:var(--blue);font-weight:800;cursor:pointer}.auth-switch:hover{background:var(--blue);color:#fff}.auth-legal{font-size:10px!important;line-height:1.6;color:#666!important}
@media(max-width:900px){.auth-screen{place-items:end center;padding:110px 18px 28px;background-position:center}.auth-brand{left:22px;top:22px;bottom:auto}.auth-brand div{padding:10px 13px}.auth-brand b{font-size:22px}.auth-brand small{font-size:11px}.auth-panel{justify-self:center;align-self:end;width:min(520px,calc(100vw - 36px));margin:0;padding:30px 26px}}
@media(max-width:480px){.auth-screen{padding:92px 14px 18px}.auth-brand{left:16px;top:16px}.auth-brand>span{width:54px;height:54px;font-size:34px}.auth-panel{width:calc(100vw - 28px);padding:25px 20px;box-shadow:5px 5px 0 var(--blue)}.auth-panel h1{font-size:24px;margin:8px 0}.auth-panel>p{line-height:1.55}.auth-panel form{gap:11px;margin-top:18px}}
.nav.active{box-shadow:none}.overview-copy{border-radius:0}
@media(max-width:620px){.user-menu{width:54px;max-width:54px;font-size:0;text-align:center}.user-menu b{display:none}.user-menu:after{content:"退出";font-size:10px}}
