:root{color-scheme:light;--paper:#f6f4ee;--ink:#292b2a;--muted:#74796e;--line:#dfdfd4;--accent:#d5ee7b;--purple:#e7e1f2;--font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8a75b2;outline-offset:4px}button{transition:background .16s,transform .16s}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}#app{max-width:1160px;margin:auto;padding:0 54px}.topbar{height:110px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.brand{font-family:Georgia,serif;font-size:42px;letter-spacing:-2px;font-weight:600;line-height:1}.brand span{display:block;font-family:var(--font);font-size:8px;letter-spacing:2px;margin-top:12px;font-weight:600}.level-button{border:1px solid var(--line);border-radius:24px;background:transparent;padding:9px 20px;font-size:14px}.demo-note{font-size:11px;text-align:center;background:#eee9dc;padding:6px 12px;border-radius:0 0 8px 8px;color:#6b695d}main{padding:42px 0 130px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;color:var(--muted);margin:0 0 18px;text-transform:uppercase}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,4.6vw,52px);line-height:1.13;letter-spacing:-1.6px;font-weight:400;margin:0 0 18px;max-width:690px}h2{font-size:21px;font-weight:500;line-height:1.35;margin:0 0 16px}h3{margin:0;font-weight:400}p{margin:0 0 16px}.muted,.hint{color:var(--muted)}.hint,.small{font-size:12px}.page-heading{margin-bottom:38px}.page-heading>.muted{font-size:15px;max-width:560px}.primary,.secondary{border-radius:9px;border:1px solid transparent;padding:12px 18px;font-size:13px;font-weight:550;white-space:nowrap}.primary{background:var(--accent)}.primary:hover{background:#c7e466}.secondary{background:transparent;border-color:var(--line)}.secondary:hover{background:#eeede5}.wide{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:22px}.text-button{border:0;background:transparent;font-size:13px;padding:8px 0;color:var(--muted)}.continue-card{border:1px solid var(--line);border-radius:14px;background:#eeefe4;padding:26px 30px;margin:24px 0 36px}.continue-card h2{font-family:Georgia,serif;font-size:27px}.continue-card .eyebrow{margin-bottom:10px}.section-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:32px 0 20px}.section-toolbar h2{margin:0;font-size:18px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 26px}.filter{border:1px solid var(--line);background:transparent;border-radius:30px;font-size:12px;padding:7px 16px}.filter.active{background:var(--ink);color:#fff;border-color:var(--ink)}.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.book-card{min-width:0;padding:0;background:transparent;border:0;text-align:left}.book-cover{height:290px;position:relative;padding:22px;display:flex;flex-direction:column;justify-content:space-between;border-radius:4px 14px 14px 4px;border-left:7px solid #00000013;background:#dfe5d0;box-shadow:2px 3px 0 #00000008;overflow:hidden}.book-cover:after{content:"";position:absolute;width:160px;height:160px;border:1px solid #00000019;border-radius:50%;right:-45px;bottom:-30px;pointer-events:none}.cover-a2 .book-cover{background:#e7d9cc}.cover-b1 .book-cover{background:#ded8e9}.cover-b2 .book-cover{background:#e6dfb9}.cover-c1 .book-cover{background:#cfddd9}.cover-c2 .book-cover{background:#e5cfd0}.cover-top{display:flex;align-items:center;justify-content:space-between}.level-chip{border:1px solid #00000028;border-radius:20px;padding:1px 10px;font-size:11px}.cover-mark{font-family:Georgia,serif;font-size:24px}.book-cover h3{font-family:Georgia,serif;font-size:31px;line-height:1.12;letter-spacing:-.6px;position:relative;z-index:1;word-break:break-word}.cover-bottom{font-size:7px;letter-spacing:1.5px;font-weight:600}.book-meta{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted);margin-top:12px}.book-state{font-size:11px;margin:4px 0;color:#596142}.library-note{font-size:11px;color:var(--muted);margin-top:35px;max-width:650px}.bottom-nav{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:6px;background:#fbfaf5f5;border:1px solid var(--line);box-shadow:0 4px 24px #0000000a;border-radius:17px;padding:7px;backdrop-filter:blur(14px)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:95px;padding:7px 10px;border-radius:10px;font-size:10px;line-height:1.5;color:var(--muted)}.bottom-nav a span{font-size:22px;line-height:1.3}.bottom-nav a.active{color:var(--ink);background:var(--accent)}.bottom-nav .admin-link{font-size:11px}.empty{text-align:center;padding:50px 20px;grid-column:1/-1;max-width:560px;margin:auto}.empty-icon{font-family:Georgia,serif;font-size:48px;color:#b6bca8;margin-bottom:10px}.empty h2{font-family:Georgia,serif;font-size:28px}.loading{padding:60px 0;color:var(--muted);text-align:center}.reading{max-width:720px;margin:auto}.reader-tools{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.reader-title{font-size:40px}.reader-tip{font-size:11px;color:var(--muted);padding-bottom:20px;border-bottom:1px solid var(--line)}.book-text{font-family:Georgia,"Times New Roman",serif;font-size:22px;line-height:1.9;white-space:pre-wrap;margin:30px 0 45px;overflow-wrap:anywhere}.large-type .book-text{font-size:27px}.word{font:inherit;line-height:inherit;display:inline;border:0;border-radius:3px;margin:0;padding:0;background:transparent}.word:hover,.word:focus{background:#dfebbd;text-decoration:underline;text-decoration-color:#a2b36f;text-underline-offset:5px}.reader-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:22px;border-top:1px solid var(--line)}.reader-navigation span{font-size:12px}dialog{border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);padding:34px;width:min(480px,calc(100vw - 28px));max-height:85dvh;overflow:auto;box-shadow:0 20px 100px #0002}dialog::backdrop{background:#2228;backdrop-filter:blur(4px)}dialog .close{position:absolute;top:10px;right:16px;font-size:26px;border:0;background:transparent;color:var(--muted);padding:4px}dialog h2{font-family:Georgia,serif;font-size:34px;line-height:1.1;margin:20px 0}dialog .sentence{background:#eae8de;padding:16px;border-radius:8px;font-family:Georgia,serif;font-size:18px;line-height:1.6}.translations{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.translation-choice{border:1px solid var(--line);background:#e8edd9;border-radius:20px;padding:6px 12px;font-size:13px}label{display:block;font-size:12px;margin:18px 0 8px;color:var(--muted)}input,select{display:block;width:100%;padding:12px 13px;background:#fdfcf8;border:1px solid var(--line);border-radius:8px;color:var(--ink);margin-top:5px;min-width:0}input[type=checkbox]{display:inline;width:auto;margin:0 8px 0 0}input[type=file]{font-size:12px}.hint{margin-top:14px;line-height:1.5}.level-options{display:grid;gap:8px}.level-option{background:transparent;border:1px solid var(--line);text-align:left;padding:13px;border-radius:9px}.level-option:hover{background:var(--accent)}#dictionary-status,#import-status{font-size:12px;color:var(--muted)}.toast{position:fixed;left:50%;bottom:110px;transform:translateX(-50%);max-width:90vw;width:max-content;background:var(--ink);color:#fff;border-radius:10px;padding:13px 20px;font-size:13px;z-index:20;box-shadow:0 6px 25px #0002}.word-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.word-row h2{font-family:Georgia,serif;font-size:26px;margin-bottom:8px}.word-row .muted{font-family:Georgia,serif;font-size:14px;margin:0}.translation-value{font-size:17px;margin:0 0 8px}.word-row .small{color:var(--muted)}.review-panel{max-width:580px;margin:30px auto;background:#eeebe3;border:1px solid var(--line);border-radius:20px;padding:40px;text-align:center}.review-word{font-family:Georgia,serif;font-size:48px;margin:35px 0 20px}.review-panel .sentence{font-family:Georgia,serif;color:var(--muted);font-size:18px}.review-panel>.primary{margin-top:25px}.review-translation{font-size:25px;margin:25px 0}.review-choices{display:flex;justify-content:center;gap:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stat-card{padding:25px;background:#e9eddc;border:1px solid var(--line);border-radius:12px}.stat-card:nth-child(even){background:var(--purple)}.stat-card strong{font-family:Georgia,serif;font-weight:400;font-size:55px;line-height:1.4}.stat-card p{font-size:12px;margin:0}.admin-book{display:grid;grid-template-columns:1fr 75px 160px auto;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.admin-book input,.admin-book select{margin:0;font-size:12px}.admin-users-title{margin:40px 0 20px}.invite-form{display:flex;gap:10px;align-items:center}.invite-form input{margin:0}.member-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:15px 0;font-size:13px}.admin-link{border-left:1px solid var(--line)}
@media(min-width:1200px){.book-cover{height:320px}.book-cover h3{font-size:36px}}@media(max-width:700px){#app{padding:0 22px}.topbar{height:90px}.brand{font-size:35px}.brand span{font-size:6px;letter-spacing:1.8px}main{padding-top:30px}h1{font-size:37px;letter-spacing:-1px}.page-heading{margin-bottom:28px}.page-heading>.muted{font-size:13px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.book-cover{height:245px;padding:16px;border-left-width:5px}.book-cover h3{font-size:26px}.cover-bottom{font-size:6px;letter-spacing:1px}.book-meta{font-size:9px;flex-wrap:wrap;gap:0}.section-toolbar{margin-top:25px;align-items:start}.section-toolbar h2{font-size:17px;padding-top:9px}.section-toolbar .primary,.section-toolbar .secondary{padding:10px 12px;font-size:11px}.bottom-nav{bottom:max(10px,env(safe-area-inset-bottom));width:calc(100% - 20px);max-width:560px;gap:2px;padding:5px}.bottom-nav a{min-width:0;flex:1;padding:7px 3px;font-size:9px}.bottom-nav .admin-link{font-size:9px}.continue-card{padding:22px}.continue-card h2{font-size:25px}.reader-title{font-size:33px}.book-text{font-size:21px;line-height:1.85}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{padding:20px}.review-panel{padding:30px 22px}.word-row{grid-template-columns:1fr;gap:10px}.admin-book{grid-template-columns:1fr 1fr;gap:8px}.admin-book input{grid-column:1/-1}.admin-book button{grid-column:1/-1}.invite-form{align-items:stretch}.invite-form .primary{padding:10px;font-size:11px}.member-row{font-size:11px}.member-row .text-button{font-size:11px}.toast{bottom:105px}.cover-top .cover-mark{font-size:21px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media(max-width:350px){.book-cover{height:220px}.book-cover h3{font-size:22px}#app{padding:0 16px}.filter{font-size:10px;padding:7px 12px}}
/* Readuck character identity */
.duck-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(230px,1fr);gap:10px;align-items:center;margin:-10px 0 28px}.duck-hero .page-heading{margin:0;position:relative;z-index:1}.duck-hero h1{font-size:clamp(33px,3.6vw,45px);white-space:pre-line;line-height:1.15;max-width:540px}.duck-hero .muted{max-width:360px;font-size:14px}.duck-art{position:relative;display:flex;justify-content:center;align-items:center;min-height:310px}.duck-art:before{content:"";position:absolute;width:260px;height:260px;background:#e4dfed;border-radius:50%;z-index:0}.duck-mascot{width:min(100%,290px);height:310px;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 10px 8px #3333330b)}.duck-speech{position:absolute;top:0;right:0;z-index:2;background:#e6efc7;border:1px solid #d7dfbe;border-radius:14px 14px 14px 2px;padding:8px 12px;font-size:10px;transform:rotate(4deg);max-width:170px}.brand{font-family:var(--font);font-weight:850;font-size:38px;letter-spacing:-2px}.brand span{letter-spacing:1.6px;font-size:7px}.cover-mark{font-weight:700}.demo-note{background:#ece8f0}.primary{background:#d7ed8d}.primary:hover{background:#c8e477}.continue-card{background:#ece8f2}.duck-hero+.continue-card{margin-top:15px}.book-cover h3{font-weight:500}@media(max-width:700px){.duck-hero{grid-template-columns:1fr;margin-top:0;gap:0}.duck-hero h1{font-size:36px;max-width:430px}.duck-hero .muted{max-width:330px}.duck-art{min-height:220px;margin-top:10px}.duck-art:before{width:190px;height:190px}.duck-mascot{height:235px;width:235px}.duck-speech{right:calc(50% - 165px);top:8px;font-size:9px;max-width:145px}.brand{font-size:32px}.duck-hero .eyebrow{font-size:9px;margin-bottom:14px}}@media(max-width:350px){.duck-hero h1{font-size:31px}.duck-speech{right:0}}

.state-mascot{display:block;width:160px;height:180px;object-fit:contain;margin:0 auto 24px}.review-panel .empty{padding-top:5px;padding-bottom:20px}.review-panel .state-mascot{width:140px;height:155px}
