@font-face{font-family:LangoLocal;src:local('Segoe UI')} :root{--bg:#f6f6f0;--paper:#fffefa;--ink:#26372c;--muted:#67716a;--green:#344d39;--line:#dfe3d9;--pale:#e7eddf;--lime:#d8e5b8;--accent:#506c52;--radius:20px;font-family:LangoLocal,'Noto Sans','Noto Sans Khmer','Noto Sans Devanagari','Yu Gothic',system-ui,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;color-scheme:light}*{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button,input,select{min-height:46px}button{border:0}input,select,textarea{width:100%;padding:11px 13px;background:var(--paper);border:1px solid #c9d0c5;border-radius:10px;color:var(--ink);min-width:0}textarea{resize:vertical;min-height:105px}input[type=color]{padding:5px;height:48px;width:70px}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--green)}input[type=range]{padding:0;accent-color:var(--green);border:0;background:transparent}input[type=number]{max-width:100px}label{display:block;margin:0 0 7px;font-size:13px;font-weight:600}form{display:grid;gap:20px}p{margin:0 0 16px;color:var(--muted)}h1,h2,h3{font-weight:600;line-height:1.22;letter-spacing:-.035em;margin:0 0 16px}h1{font-size:40px}h2{font-size:27px}h3{font-size:19px}small,.help{font-size:12px;color:var(--muted)}.help{display:block;margin-top:8px;line-height:1.6}.wrap{width:min(1180px,calc(100% - 80px));margin:auto}.brand{font-size:25px;letter-spacing:-1.2px;font-weight:750;display:inline-flex;align-items:center;gap:0;white-space:nowrap}.brand>span:not(.logo){color:#789061}.brand sup{font-size:10px;align-self:flex-start;margin:9px 0 0 3px;color:var(--muted);letter-spacing:0}.logo{display:grid;place-items:center;border-radius:9px;color:#f5f4e6;background:var(--green);width:31px;height:31px;margin-right:8px;font-size:24px}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:10px;font-weight:650;color:var(--muted);display:block}.pill{display:inline-flex;gap:18px;background:var(--pale);padding:7px 13px;border-radius:20px;letter-spacing:1px;color:var(--green)}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:46px;padding:11px 19px;background:var(--green);color:white;border-radius:10px;font-weight:600;font-size:13px;text-align:center;border:1px solid transparent;line-height:1.45}.button:hover{filter:brightness(.94)}.button.secondary{background:transparent;border:1px solid #cbd3c5;color:var(--ink)}.button.ghost{background:transparent;color:var(--muted)}.button.danger{background:#a83e39}.text-link{font-weight:600;font-size:13px;display:inline-flex;min-height:44px;align-items:center;padding:0 15px;text-decoration:underline;text-underline-offset:5px}.icon-button{width:44px;min-width:44px;height:44px;display:inline-grid;place-items:center;background:var(--paper);border:1px solid var(--line);border-radius:10px;color:var(--ink);font-size:18px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.stack{display:grid;gap:18px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}:focus-visible{outline:3px solid #b48335;outline-offset:4px}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.public-header{display:flex;align-items:center;gap:28px;height:100px;border-bottom:1px solid var(--line)}.public-header nav{display:flex;gap:28px;margin-left:auto;font-size:13px}.locale-picker{position:relative;font-size:12px;z-index:3}.locale-picker summary{cursor:pointer;padding:12px;min-height:44px}.locale-picker>div{position:absolute;right:0;top:45px;background:white;border:1px solid var(--line);box-shadow:0 12px 30px #26372c15;display:grid;min-width:180px;border-radius:12px;max-height:75vh;overflow:auto}.locale-picker a{padding:10px 15px}.public-main{padding:25px 0 65px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;padding:62px 0 80px}.hero h1{font-size:clamp(42px,5vw,67px);max-width:620px;margin:23px 0;letter-spacing:-.065em}.hero-intro{font-size:18px;max-width:430px;margin-bottom:30px}.micro{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;align-items:center;margin-top:28px;color:var(--muted)}.micro i{margin:0 7px}.hero-visual{height:410px;position:relative;border-radius:36px;background:radial-gradient(ellipse at center,#e8eddb,transparent 68%);display:flex;align-items:center;justify-content:center}.orbit{position:absolute;border:1px solid #d2dbc6;border-radius:50%;width:360px;height:360px;transform:rotate(-17deg)}.orbit-two{width:440px;height:260px;transform:rotate(-35deg)}.paper-card{width:230px;height:295px;padding:32px 20px;background:var(--paper);border:1px solid var(--line);border-radius:21px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;box-shadow:0 20px 35px #26372c13}.paper-card strong{font-size:32px;text-align:center;overflow-wrap:anywhere;line-height:1.25}.paper-card small{font-size:10px}.paper-front{position:absolute;transform:rotate(-8deg) translate(-28px,-6px)}.paper-front>div{border-radius:50%;height:36px;width:36px;display:grid;place-items:center;background:var(--pale);font-size:21px}.paper-back{transform:rotate(12deg) translate(66px,-4px);background:#d8e3ba}.paper-back strong{font-size:55px}.visual-note{position:absolute;top:10px;left:15px;font-size:11px;max-width:150px;color:var(--muted)}.visual-caption{position:absolute;bottom:10px;right:15px;font-size:12px;max-width:200px;text-align:right}.visual-caption span{font-size:32px;margin-left:12px}.section-heading{margin:20px 0 32px;max-width:720px}.section-heading h2{font-size:32px;margin-top:10px}.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.content-block{border:1px solid var(--line);padding:25px;border-radius:17px;background:#fffefa80}.content-block p{font-size:14px;line-height:1.85;margin:0}.step-number{display:block;color:#8b9b7d;font-size:11px;letter-spacing:2px;margin-bottom:23px}.content-block h2{font-size:21px}.language-directory{margin-top:70px;border-top:1px solid var(--line);padding-top:40px}.language-directory h2{margin-top:10px}.directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:26px}.directory-grid article{border:1px solid var(--line);background:var(--paper);padding:20px;border-radius:15px}.directory-grid article>a{display:flex;align-items:center;min-height:44px;font-size:12px;color:var(--muted)}.breadcrumb{display:flex;gap:12px;font-size:12px;color:var(--muted);margin-top:24px;overflow-wrap:anywhere}.article-hero{max-width:850px;padding:48px 0}.article-hero h1{font-size:48px;margin-top:20px}.article-hero p{font-size:18px;line-height:1.8}.region-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.sources{display:flex;gap:15px;font-size:12px;text-decoration:underline;margin-top:25px}.ad-region{display:grid;gap:18px;margin-top:38px}.ad-region [data-ad-slot=own-text]{background:#ebefdf;border:1px solid #d5dfc7;border-radius:15px;padding:22px}.ad-region [data-ad-slot=own-text] h3{margin:10px 0}.ad-region [data-ad-slot=own-text] a{display:inline-flex;min-height:44px;align-items:center;font-size:13px;font-weight:600}.ad-placeholder{min-height:120px;border:1px dashed #ccd1c6;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:18px;color:#67716a;background:#f0f1e9;gap:7px;font-size:11px}.ad-placeholder small{max-width:480px;font-size:10px}.public-main>.ad-region .ad-placeholder{min-height:200px}.public-footer{border-top:1px solid var(--line);padding:30px 0 45px}.public-footer>div{display:flex;flex-wrap:wrap;gap:20px;font-size:11px}.public-footer p{font-size:12px;margin:15px 0}.public-footer small{display:block;margin-top:20px}.selector{padding:70px 0}.selector>.eyebrow{margin-top:60px}.selector h1{font-size:60px;max-width:800px;margin:20px 0}.locale-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:35px}.locale-grid>a{padding:20px;border:1px solid var(--line);border-radius:12px;display:flex;justify-content:space-between;background:var(--paper)}
/* Private learning workspace */
.app-shell{min-height:100dvh;display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:230px;padding:31px 22px;display:flex;flex-direction:column;background:#edeFE6;border-right:1px solid var(--line)}.sidebar .brand{font-size:23px}.sidebar>.eyebrow{margin:47px 10px 14px;font-size:9px}.sidebar nav{display:grid;gap:7px}.nav-item{display:flex;align-items:center;gap:12px;min-height:48px;background:transparent;border-radius:10px;padding:10px 13px;color:#657160;font-size:13px;text-align:left}.nav-item svg{width:18px;height:18px;flex:none}.nav-item.active{background:#dce5cd;color:#344d39;font-weight:650}.side-bottom{margin-top:auto;display:grid;gap:6px}.sidebar footer{padding:18px 10px 0;border-top:1px solid #d5ddcb;margin-top:18px}.sidebar footer p{font-size:10px;margin:0}.sidebar footer a{display:inline-flex;min-height:44px;align-items:center;font-size:11px}.workspace{grid-column:2;min-width:0}.app-topbar{height:83px;border-bottom:1px solid var(--line);padding:0 46px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#f6f6f0d9}.app-topbar .eyebrow{font-size:9px}.top-user{display:flex;gap:10px;align-items:center}.avatar{width:32px;height:32px;background:#e4e9da;border:1px solid #d9dfd0;display:grid;place-items:center;font-size:12px;border-radius:50%;font-weight:600}.top-user small{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.mobile-brand{display:none}.app-main{width:min(1080px,100%);padding:42px 46px 80px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:30px}.page-heading h1{font-size:34px;margin:8px 0 10px}.page-heading p{font-size:13px;margin:0;max-width:600px}.page-heading>.button{flex:none;margin-top:17px}.welcome-heading h1{font-size:36px;max-width:600px}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--paper);border-radius:16px;margin-bottom:27px;overflow:hidden}.stats-row>div{padding:20px 25px;border-right:1px solid var(--line)}.stats-row>div:last-child{border:0}.stats-row strong{font-size:27px;font-weight:550;display:block;line-height:1.2}.stats-row small{font-size:10px;display:block;margin-top:7px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:25px 0 16px}.section-title h2{font-size:18px;margin:0}.section-title>small{font-size:10px}.language-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.language-tile{border:1px solid var(--line);border-radius:17px;padding:25px;background:var(--paper);min-width:0;position:relative;overflow:hidden}.language-tile:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent)}.language-tile h2{font-size:24px;margin:16px 0 5px;overflow-wrap:anywhere}.lang-icon{width:40px;height:40px;background:#ecf0e5;border-radius:11px;display:grid;place-items:center;font-size:15px;color:var(--ink);border:2px solid var(--accent);font-weight:600}.chip{display:inline-flex;align-items:center;gap:6px;font-size:10px;border-radius:30px;background:#edf0e5;padding:5px 10px;min-height:26px;color:var(--green);max-width:100%;overflow-wrap:anywhere}.chip:before{content:'';width:6px;height:6px;min-width:6px;border-radius:50%;background:var(--accent)}.tile-meta{display:flex;gap:13px;font-size:10px;color:var(--muted);margin-top:16px}.tile-progress{height:4px;background:#e9ecdf;border-radius:4px;overflow:hidden;margin:18px 0}.tile-progress span{display:block;height:100%;background:var(--accent)}.language-tile .button{width:100%;margin-top:20px}.daily-mini{padding:16px;background:#f1f3e9;border-radius:12px;margin-top:20px}.daily-mini>.eyebrow{font-size:8px;letter-spacing:1px}.daily-mini strong{display:block;font-size:20px;margin:5px 0 2px;overflow-wrap:anywhere}.daily-mini p{font-size:11px;margin:4px 0 0}.daily-mini button{width:100%;min-height:44px;padding:0;background:transparent;text-align:left;color:var(--ink)}.add-language-tile{border:1px dashed #c8d2c0;background:#eef1e5;border-radius:17px;display:grid;align-content:center;justify-items:center;gap:17px;min-height:260px;padding:25px;text-align:center;color:var(--muted)}.add-language-tile>span{display:grid;place-items:center;width:45px;height:45px;border:1px solid #ccd7bf;border-radius:50%;font-size:25px}.add-language-tile strong{font-size:14px;font-weight:500}.language-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:23px}.language-filter button{border:1px solid var(--line);background:var(--paper);padding:9px 14px;border-radius:10px;min-height:46px;color:var(--muted);font-size:12px}.language-filter button.active{background:var(--pale);color:var(--ink);border-color:#c3d0b4}.searchbox{display:flex;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:0 14px;margin-bottom:19px}.searchbox input{border:0;background:transparent;padding-left:0}.searchbox input:focus{outline:none}.searchbox:focus-within{outline:3px solid #b48335;outline-offset:3px}.list{display:grid;gap:12px}.list-card{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:17px 20px;min-width:0}.list-card>.card-details{flex:1;min-width:0}.list-card h3{font-size:17px;letter-spacing:-.02em;margin:0 0 4px;overflow-wrap:anywhere}.list-card p{font-size:12px;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.list-card .card-actions{display:flex;gap:6px}.list-card details{position:relative}.list-card summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:44px;height:44px;font-size:20px}.menu-pop{position:absolute;right:0;top:48px;z-index:5;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 14px 35px #26372c18;display:grid;min-width:210px;padding:5px}.menu-pop button{padding:10px 12px;text-align:left;background:white;font-size:12px;color:var(--ink);border-radius:6px}.menu-pop button:hover{background:var(--pale)}.empty{border:1px dashed #cbd4c4;border-radius:17px;padding:38px 24px;text-align:center;background:#f0f3e7}.empty>span{font-size:30px;display:block;margin-bottom:13px}.empty h2{font-size:21px}.empty p{font-size:13px;max-width:500px;margin:0 auto 20px}.editor,.settings-panel{max-width:670px;border:1px solid var(--line);background:var(--paper);padding:27px;border-radius:18px}.editor .chip{margin-bottom:20px}.editor .divider{border-top:1px solid var(--line)}.form-actions{display:flex;justify-content:flex-end;gap:10px}.color-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.color-swatch{width:38px;height:46px;min-width:38px;background:var(--swatch);border-radius:10px;border:3px solid transparent;position:relative}.color-swatch.selected{outline:2px solid var(--ink);outline-offset:3px}.color-swatch.selected:after{content:'✓';color:white;text-shadow:0 1px 3px black;font-size:18px}.settings-panel+.settings-panel{margin-top:22px}.settings-panel h2{font-size:21px}.settings-panel p{font-size:12px}.settings-panel .row>label{margin:0}.daily-panel{max-width:670px}.daily-panel .study-card{margin-bottom:20px}.study-area{max-width:650px;margin:auto}.study-heading{text-align:center;margin-bottom:25px}.study-heading h1{font-size:28px;margin-top:15px}.study-heading p{font-size:12px}.round-progress{display:flex;align-items:center;gap:15px;font-size:11px;color:var(--muted);margin-bottom:20px}.round-progress .bar{height:5px;flex:1;background:#e0e6d8;border-radius:10px;overflow:hidden}.round-progress .bar span{display:block;background:var(--accent);height:100%;transition:width .2s}.study-card{perspective:1200px;width:100%;height:350px;touch-action:pan-y;cursor:pointer;user-select:none;-webkit-user-select:none;border:0;background:transparent;padding:0;display:block;color:var(--ink)}.card-core{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.75,.22,1)}.study-card.flipped .card-core{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;background:var(--paper);border:1px solid var(--line);border-radius:25px;border-top:4px solid var(--accent);padding:25px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 18px 35px #26372c07;overflow-wrap:anywhere;text-align:center}.card-back{transform:rotateY(180deg);background:#f5f7ec}.card-face .eyebrow{font-size:9px;max-width:100%}.card-word{font-size:clamp(30px,5vw,51px);line-height:1.4;font-weight:550;letter-spacing:-.03em;max-width:100%;white-space:pre-wrap;overflow:auto;max-height:185px}.card-original{font-size:14px;color:var(--muted);margin-top:10px;white-space:pre-wrap}.card-face .flip-hint{font-size:10px;color:var(--muted)}.card-face .flip-hint span{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--pale);margin-left:8px;font-size:17px}.study-tip{font-size:10px;text-align:center;margin:18px 0}.study-nav{display:flex;gap:10px;justify-content:center;margin:15px 0 22px}.study-feedback{display:grid;grid-template-columns:1fr 1fr;gap:12px}.study-feedback .button{min-height:52px}.study-under{display:flex;justify-content:center;margin-top:17px}.study-under .button{font-size:11px}.study-bottom-note{text-align:center;font-size:10px;margin-top:20px}.auth-layout{width:min(1120px,calc(100% - 80px));margin:0 auto;padding:30px 0 65px}.auth-header{display:flex;justify-content:space-between;align-items:center;padding:0 0 25px;border-bottom:1px solid var(--line)}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;padding:65px 0}.auth-copy h1{font-size:50px;margin:17px 0;max-width:550px}.auth-copy p{font-size:17px}.auth-copy .paper-card{margin-top:40px;transform:rotate(-6deg);height:190px;width:250px;padding:20px}.auth-copy .paper-card strong{font-size:26px}.auth-form{background:var(--paper);border:1px solid var(--line);padding:32px;border-radius:21px}.auth-form h2{font-size:25px}.auth-form .button{width:100%}.auth-links{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-top:20px}.auth-links button{background:none;font-size:11px;color:var(--muted);text-decoration:underline}.inline-message{padding:14px;background:var(--pale);border-radius:10px;font-size:12px;overflow-wrap:anywhere;margin-bottom:20px}.inline-message a{display:flex;align-items:center;min-height:44px;text-decoration:underline}.offline-banner{background:#fff1d3;padding:12px 20px;font-size:12px;margin-bottom:20px;border-radius:10px}.bottom-nav{display:none}.notice{padding:14px 18px;border:1px solid var(--line);border-radius:12px;font-size:11px;color:var(--muted);margin-top:20px}.check-row{display:flex;gap:12px;align-items:flex-start;font-size:12px}.check-row input{flex:none;margin-top:3px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:100;max-width:calc(100% - 30px);background:var(--green);color:white;border-radius:12px;box-shadow:0 10px 30px #26372c20;font-size:13px;text-align:center}#toast:not(:empty){padding:13px 20px}.loading{padding:80px;text-align:center;color:var(--muted)}[hidden]{display:none!important}
@media(min-width:1500px){.app-main{padding-top:55px}.app-shell{grid-template-columns:260px 1fr}.sidebar{width:260px;padding:34px 28px}.app-topbar{padding-inline:64px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero{gap:25px}.hero-visual{transform:scale(.85);transform-origin:center}.public-header{gap:15px}.app-main{padding:30px}.app-topbar{padding:0 30px}.app-shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{width:200px;padding:27px 15px}.auth-grid{gap:35px}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.wrap{width:calc(100% - 36px)}.public-header{height:80px;gap:5px}.public-header .brand{font-size:21px}.public-header .logo{width:27px;height:27px;font-size:20px}.public-header nav{display:none}.public-header .locale-picker{margin-left:auto}.public-header>.button{font-size:11px;padding:8px 12px}.hero{grid-template-columns:1fr;padding:35px 0 30px;gap:0}.hero h1{font-size:48px;max-width:540px}.hero-intro{font-size:16px}.hero-visual{height:350px;transform:scale(.85);margin-top:22px}.content-grid{grid-template-columns:1fr}.content-block{padding:23px}.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-hero h1{font-size:35px}.article-hero p{font-size:16px}.locale-grid{grid-template-columns:repeat(2,1fr)}.selector{padding:35px 0}.selector h1{font-size:40px}.app-shell{display:block}.sidebar{display:none}.workspace{width:100%}.app-topbar{height:72px;padding:0 20px}.app-topbar>.eyebrow{display:none}.mobile-brand{display:inline-flex;font-size:22px}.top-user small{display:none}.app-main{padding:28px 20px calc(110px + env(safe-area-inset-bottom));width:100%}.page-heading{gap:10px;margin-bottom:24px}.page-heading h1{font-size:28px}.page-heading>.button{font-size:11px;padding:10px 12px;max-width:150px;margin-top:10px}.welcome-heading h1{font-size:30px}.stats-row>div{padding:16px 13px}.stats-row strong{font-size:23px}.stats-row small{font-size:9px}.language-grid{gap:15px}.language-tile{padding:20px}.language-tile h2{font-size:22px}.add-language-tile{min-height:245px}.tile-meta{gap:9px;font-size:9px}.bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;background:#fffefbf7;border-top:1px solid #dce3d2;z-index:20;padding:8px 8px calc(8px + env(safe-area-inset-bottom));backdrop-filter:blur(16px);gap:4px}.bottom-nav .nav-item{display:flex;flex-direction:column;gap:4px;justify-content:center;padding:5px 2px;min-height:52px;font-size:9px;text-align:center;line-height:1.25}.bottom-nav .nav-item svg{width:19px;height:19px}.study-card{height:325px}.study-heading h1{font-size:25px}.card-word{font-size:38px}.study-feedback{gap:10px}.study-feedback .button{font-size:12px;padding:12px 8px}.editor,.settings-panel{padding:21px}.list-card{padding:16px 13px;gap:9px}.list-card .card-actions{gap:0}.list-card .icon-button{border:0;background:transparent}.auth-layout{width:calc(100% - 36px);padding-top:20px}.auth-grid{display:block;padding:35px 0}.auth-copy h1{font-size:36px}.auth-copy p{font-size:14px}.auth-copy .paper-card{display:none}.auth-copy{margin-bottom:30px}.auth-form{padding:24px}.auth-header .button{font-size:11px;padding:10px}.auth-header .brand{font-size:22px}.public-main>.ad-region .ad-placeholder{min-height:120px}#toast{bottom:96px}.sources{overflow-wrap:anywhere}.language-directory{margin-top:40px}}
@media(max-width:480px){.language-grid{grid-template-columns:1fr}.add-language-tile{min-height:155px}.welcome-heading{display:block}.welcome-heading>.button{margin-top:20px}.hero-visual{transform:scale(.72);width:100%;height:310px;margin-top:5px}.orbit-two{width:380px}.hero h1{font-size:43px}.locale-grid>a{font-size:13px;padding:17px 12px}.page-heading p{font-size:12px}.language-filter{gap:7px}.language-filter button{font-size:11px;padding:8px 11px}.form-actions .button{font-size:12px;padding:11px 13px}.study-card{height:310px}.card-face{padding:21px 15px}.card-word{font-size:34px}.auth-header .button{display:none}.row{gap:9px}.public-header .brand sup{display:none}}@media(max-width:350px){.app-main{padding-inline:16px}.app-topbar{padding-inline:16px}.public-header>.button{padding:8px;font-size:10px}.wrap{width:calc(100% - 32px)}.hero h1{font-size:37px}.hero-visual{height:285px;transform:scale(.65)}.stats-row>div{padding:15px 10px}.page-heading h1{font-size:25px}.page-heading>.button{max-width:115px}.list-card h3{font-size:15px}.directory-grid{grid-template-columns:1fr}.study-card{height:295px}.card-word{font-size:31px}}
.card-core,.card-word,.card-original{display:block}.skip:not(:focus){visibility:hidden}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.study-card.flipped .card-core{transform:none}.study-card.flipped .card-front{visibility:hidden}.study-card.flipped .card-back{transform:none}.study-card:not(.flipped) .card-back{visibility:hidden}}

.operator-footer{padding-top:24px;padding-bottom:90px;font-size:.85rem;text-align:center;color:var(--muted)}.ad-region:empty{display:none}
.shared-main{padding-top:48px;padding-bottom:48px;max-width:980px}.shared-main>.list{margin-top:30px}.shared-main .card-details{min-width:0;overflow-wrap:anywhere}.shared-actions{display:flex;flex-wrap:wrap;gap:8px}.shared-main .list-card{flex-wrap:wrap}.shared-main .editor{margin-top:24px}.shared-main #share-status{margin:18px 0;color:var(--ink)}[hidden]{display:none!important}.settings-panel .row>input[readonly]{flex:1;min-width:180px}.settings-panel .stack{margin:20px 0}
@media(max-width:600px){.shared-main .card-details{flex:1 1 100%}.shared-actions{width:100%;margin-top:8px}.shared-main .list-card{gap:8px}}
/* Vocabulary entry and review */
.card-create-actions,.batch-modes{flex-wrap:wrap;gap:10px}
.batch-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#batch-source-form{display:grid;gap:18px;margin-top:22px}
.batch-mapping{margin-top:30px;border-top:1px solid var(--line,#dedfd6);padding-top:24px}
.batch-mapping>.check{margin:18px 0;display:flex;gap:10px;align-items:center}
.source-sample{overflow:auto;margin:20px 0;border:1px solid var(--line,#dedfd6);border-radius:12px}
.source-sample table{border-collapse:collapse;width:100%}.source-sample td{padding:12px;border-bottom:1px solid var(--line,#dedfd6);overflow-wrap:anywhere;min-width:120px}
.source-sample caption{text-align:left;padding:12px;font-weight:600}
.batch-list{display:grid;gap:18px;margin-top:20px}.batch-row{padding:18px;border:1px solid var(--line,#dedfd6);border-radius:16px;background:var(--paper,#fff)}
.batch-row>.row{gap:10px;flex-wrap:wrap;margin-bottom:16px}.batch-row .check{display:flex;align-items:center;gap:10px;margin:0}
.batch-row input[type=checkbox],.batch-mapping input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:#344d39}
.batch-status{font-size:13px;max-width:100%;overflow-wrap:anywhere;color:#4d584f}
.batch-row [aria-invalid=true]{border-color:#a63d30;box-shadow:0 0 0 1px #a63d30}
.batch-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.batch-fields textarea{width:100%;resize:vertical;min-height:70px}
.batch-mapping select{margin-bottom:12px}.selector h2{margin-top:36px}
@media(max-width:600px){.batch-fields{grid-template-columns:1fr}.batch-row{padding:14px}.card-create-actions{width:100%}.card-create-actions .button{flex:1 1 150px}.batch-toolbar .button{flex:1 1 150px}.selector .row{flex-wrap:wrap}.selector h1{font-size:clamp(36px,8vw,60px)}}

@media(max-width:760px){.public-header{flex-wrap:wrap;height:auto;gap:14px;padding-top:20px;padding-bottom:20px}.public-header nav{display:flex;order:4;width:100%;justify-content:center;gap:24px}.selector{padding-top:40px}.selector h1{font-size:clamp(36px,8vw,60px)}}

/* Appearance: preserve collection colours, change every surface and foreground. */
.theme-picker{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:18px}.theme-picker label{margin:0}.theme-picker select{width:auto;min-width:170px}.settings-panel .theme-picker{justify-content:flex-start;margin-top:0}
html[data-theme=dark]{--bg:#111913;--paper:#1b251f;--ink:#edf1e7;--muted:#b3beaf;--green:#3b6248;--line:#38453b;--pale:#243529;--lime:#526749;color-scheme:dark;background:var(--bg);color:var(--ink)}
html[data-theme=dark] :is(input,select,textarea,.button.secondary,.language-filter button.active){border-color:var(--line)}
html[data-theme=dark] :is(.sidebar,.app-topbar,.bottom-nav){background:var(--bg);border-color:var(--line)}
html[data-theme=dark] :is(.nav-item,.batch-status){color:var(--muted)}
html[data-theme=dark] :is(.nav-item.active,.avatar,.lang-icon,.chip,.daily-mini,.add-language-tile,.empty,.card-back,.paper-back,.content-block,.ad-region [data-ad-slot=own-text]){background:var(--pale);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] :is(.tile-progress,.round-progress .bar){background:var(--line)}
html[data-theme=dark] :is(.locale-picker>div,.menu-pop,.menu-pop button,.skip){background:var(--paper);color:var(--ink)}
html[data-theme=dark] .menu-pop button:hover{background:var(--pale)}
html[data-theme=dark] .offline-banner{background:#42371c;color:#f5e0ac}
html[data-theme=dark] :is(.sidebar footer,.orbit,.add-language-tile>span){border-color:var(--line)}
html[data-theme=dark] .hero-visual{background:radial-gradient(ellipse at center,#243529,transparent 68%)}
html[data-theme=dark] .batch-row input[type=checkbox],html[data-theme=dark] .batch-mapping input[type=checkbox]{accent-color:#b8cf98}
html[data-theme=dark] .batch-row [aria-invalid=true]{border-color:#df8174;box-shadow:0 0 0 1px #df8174}

/* Appearance is available above the fold, including on small screens. */
.appearance-menu{position:relative;flex:none;z-index:40;font-size:12px}.appearance-menu summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);cursor:pointer;list-style:none;color:var(--ink);white-space:nowrap}.appearance-menu summary::-webkit-details-marker{display:none}.appearance-menu summary svg{width:18px;height:18px;flex:none}.appearance-options{position:absolute;top:calc(100% + 8px);right:0;width:245px;max-width:calc(100vw - 32px);padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 10px 30px #0002}.appearance-options .theme-picker{display:block;margin:0}.appearance-options label{display:block;margin-bottom:8px}.appearance-options select{width:100%;min-width:0}.app-topbar{height:auto;min-height:83px;padding-block:12px;flex-wrap:wrap}.auth-header{gap:15px;flex-wrap:wrap}.auth-header>.row{margin-left:auto}.auth-header #auth-locale{width:auto;max-width:160px}.auth-header .appearance-menu{order:2}.public-header .appearance-menu{margin-left:auto}.public-header .locale-picker~.appearance-menu{margin-left:0}
@media(max-width:720px){.app-topbar{min-height:72px}.public-header{flex-wrap:wrap}.public-header nav{order:4;width:100%}.top-user{gap:8px}.appearance-menu summary{font-size:11px;padding:8px}.auth-header>.row{flex-wrap:wrap}}
@media(max-width:400px){.app-topbar{padding-inline:16px;gap:8px}.app-topbar .mobile-brand{font-size:19px}.app-topbar .mobile-brand .logo{width:26px;height:26px;font-size:20px;margin-right:6px}.auth-header>.row{width:100%;margin-left:0;justify-content:space-between}}

.hero-visual{overflow:clip}

/* The public card stack is an actual reversible card. */
.hero-demo-card{position:absolute;width:230px;height:295px;padding:0;border:0;background:transparent;color:var(--ink);transform:rotate(-8deg) translate(-28px,-6px);perspective:1200px;touch-action:pan-y;-webkit-tap-highlight-color:transparent;z-index:1}
.hero-demo-core{display:block;position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.2,.75,.22,1)}
.hero-demo-card.flipped .hero-demo-core{transform:rotateY(180deg)}
.hero-demo-face{position:absolute;inset:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;cursor:pointer}
.hero-demo-back{transform:rotateY(180deg);background:#d8e3ba}.hero-demo-word{display:block}.hero-demo-original{display:block;font-size:15px;margin-top:12px;color:var(--muted)}
.hero-flip-mark{border-radius:50%;height:36px;width:36px;display:grid;place-items:center;background:var(--pale);font-size:21px}
.hero-visual .visual-caption small{display:block;font-size:10px}.hero-visual .visual-caption .hero-demo-hint{display:block;font-size:12px;margin:4px 0 0}.hero-decoration,.hero-visual .visual-caption{cursor:pointer}
html[data-theme=dark] .hero-demo-back{background:var(--pale)}
@media(prefers-reduced-motion:reduce){.hero-demo-card.flipped .hero-demo-core{transform:none}.hero-demo-card.flipped .hero-demo-front{visibility:hidden}.hero-demo-card.flipped .hero-demo-back{transform:none}.hero-demo-card:not(.flipped) .hero-demo-back{visibility:hidden}}

.hero-visual .visual-caption{z-index:2;background:var(--bg);padding:4px 7px;border-radius:8px}.hero-visual .visual-note{z-index:2}
html[data-theme=dark] .pill{color:var(--ink)}
