:root{--ink:#25164d;--purple:#462484;--violet:#7556b2;--cyan:#009fde;--yellow:#f7bd13;--muted:#6c6680;--line:#e6e0ef;--paper:#fff;--bg:#f7f6fa;--radius:15px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{cursor:pointer}button:disabled{cursor:default;opacity:.4}button{border:0;background:none;color:inherit}a{color:var(--purple);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}h1,h2,p{margin-top:0}.icon{width:21px;height:21px;flex-shrink:0;vertical-align:middle} .sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip:focus{position:fixed;z-index:100;top:8px;left:8px;background:white;padding:12px;border:2px solid var(--cyan)}.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{max-width:1440px;padding:18px 40px;margin:auto;display:flex;align-items:center;gap:40px}.brand{display:block;flex-shrink:0;width:235px}.brand img{width:100%;height:auto;display:block}.site-header nav{display:flex;align-items:center;gap:28px;margin-left:auto}.site-header nav a{font-size:15px;font-weight:650;color:#686172;padding:17px 0;position:relative}.site-header nav a.active{color:var(--purple)}.site-header nav a.active:after{content:"";position:absolute;bottom:3px;height:3px;left:0;right:0;background:var(--cyan);border-radius:3px}.lang{font-size:12px;font-weight:700;white-space:nowrap;letter-spacing:.04em}.catalog-main{max-width:1440px;margin:auto;padding:32px 40px 35px}.hero{background:linear-gradient(105deg,#ede7f8 0%,#f0eef8 65%,#e3f3fc 100%);padding:34px 40px;border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative;overflow:hidden}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:#705499;margin-bottom:12px}.hero h1{font-size:clamp(26px,3.1vw,43px);line-height:1.14;letter-spacing:-.035em;margin-bottom:14px}.hero p:not(.eyebrow){margin:0;color:#665779;line-height:1.6;max-width:620px;font-size:15px}.hero-mark{display:flex;flex-direction:column;align-items:center;gap:12px;flex-shrink:0;color:#7052a1;font-size:10px;letter-spacing:.04em}.hero-mark .icon{width:86px;height:86px;stroke-width:1;color:#00a0dc;transform:rotate(-8deg)}.library-shell{margin-top:26px}.shelf-tabs{display:flex;gap:5px;align-items:center;border-bottom:1px solid var(--line);margin-bottom:24px;flex-wrap:wrap}.tab{min-height:52px;padding:14px 18px;display:flex;gap:9px;align-items:center;border-bottom:3px solid transparent;color:var(--muted);font-size:14px;font-weight:600}.tab b{padding:3px 8px;background:#ede9f3;font-size:11px;border-radius:20px}.tab.active{border-bottom-color:var(--purple);color:var(--purple)}.tab.active b{background:var(--purple);color:white}.local-open{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--purple);padding:14px 0 14px 12px}.filterbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;scroll-margin-top:18px}.filterbar>label:not(.searchbox){min-width:0}.searchbox{background:white;border:1px solid var(--line);border-radius:10px;min-height:46px;display:flex;align-items:center;gap:10px;padding:0 15px;flex:1;min-width:260px;color:#9c92ad}.searchbox input{border:0;outline:none;background:transparent;width:100%;font-size:14px;min-width:0;padding:13px 0;color:var(--ink)}.searchbox:focus-within{border-color:var(--cyan);box-shadow:0 0 0 2px #00a0dc20}.filterbar select{border:1px solid var(--line);border-radius:10px;background:white;color:#514862;min-height:46px;padding:9px 29px 9px 12px;max-width:225px;font-size:13px}.filterbar #subject-filter{max-width:235px}.quiet{font-size:12px;padding:12px;color:var(--muted)}.quiet:hover{color:var(--purple);text-decoration:underline}.catalog-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:22px 0 18px;font-size:12px;color:var(--muted)}.catalog-meta p{margin:0}.sort-label{white-space:nowrap}.sort-label select{border:0;color:var(--ink);background:transparent;margin-left:5px;font-size:12px}.books-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:26px 24px}.book-card{min-width:0;background:white;border:1px solid #eee9f2;border-radius:var(--radius);overflow:hidden;transition:box-shadow .18s,transform .18s;display:flex;flex-direction:column}.book-card:hover{box-shadow:0 10px 30px #36226912;transform:translateY(-3px)}.cover-wrap{position:relative;background:linear-gradient(145deg,#f4f0f9,#eae8f1);padding:23px 23px 25px;height:255px;display:flex;justify-content:center;align-items:center}.cover{display:block;position:relative;width:100%;max-width:148px;height:205px;box-shadow:7px 8px 13px #21104023;border-radius:1px 5px 5px 1px;overflow:hidden;isolation:isolate;color:white}.cover img{position:absolute;inset:0;height:100%;width:100%;object-fit:contain;background:#fff;z-index:2}.cover-fallback{position:absolute;inset:0;background:linear-gradient(140deg,#513389,#8868b4);display:flex;flex-direction:column;padding:16px 13px;gap:10px;border-left:5px solid #25164d33;color:white}.cover-fallback small{font-size:9px;font-weight:800;letter-spacing:.07em;color:#f9cf47}.cover-fallback .icon{width:28px;height:28px;color:#d4c7eb;stroke-width:1.2}.cover-fallback strong{font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.cover-fallback>span{font-size:9px;line-height:1.3;margin-top:auto;max-height:26px;overflow:hidden;opacity:.8}.cover-read{position:absolute;inset:auto 0 0;background:#35126de6;color:white;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:5px;padding:10px;z-index:3;transform:translateY(100%);transition:transform .18s}.cover:hover .cover-read,.cover:focus .cover-read{transform:translateY(0)}.cover-read .icon{width:15px;height:15px}.save-btn{position:absolute;right:9px;top:9px;width:30px;height:33px;border-radius:7px;background:#fffffff2;box-shadow:0 2px 7px #38205d10;display:grid;place-items:center;z-index:4;color:#91829e}.save-btn .icon{width:17px;height:17px}.save-btn.is-saved{background:var(--yellow);color:var(--ink)}.grade-badge{position:absolute;left:10px;bottom:9px;font-size:10px;color:#5b4a77;background:#ffffffd9;backdrop-filter:blur(4px);border-radius:5px;padding:4px 7px;font-weight:650}.book-meta{padding:15px 16px 12px;display:flex;flex-direction:column;flex:1;min-height:153px}.book-kind{font-size:9px;color:#95859f;line-height:1.3;margin-bottom:7px}.book-meta h2{font-size:14px;line-height:1.4;letter-spacing:-.01em;margin:0 0 7px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.book-meta h2 a{color:var(--ink)}.authors{font-size:11px;line-height:1.55;color:var(--muted);margin:0 0 13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.warning-badge{font-size:10px;color:#7c5903;background:#fff6d9;padding:4px 6px;border-radius:4px;margin:0 0 8px}.card-actions{display:flex;align-items:center;gap:4px;border-top:1px solid #f0edf4;padding-top:8px;margin-top:auto}.read-link{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:700;margin-right:auto}.read-link .icon{width:13px;height:13px}.small-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;color:#897397;flex-shrink:0}.small-icon:hover{background:#f0ebf8;color:var(--purple)}.small-icon .icon{width:17px;height:17px}.catalog-pagination{display:flex;justify-content:center;align-items:center;gap:22px;margin:35px 0;font-size:13px;color:var(--muted)}.primary,.outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;border-radius:9px;font-size:13px;font-weight:650;text-decoration:none}.primary{background:var(--purple);color:white}.primary:hover{background:#321461;color:white;text-decoration:none}.outline{background:white;border:1px solid var(--line);color:var(--purple)}.outline:hover{border-color:var(--purple);text-decoration:none}.outline .icon{width:17px;height:17px}.integration{display:flex;align-items:center;gap:30px;justify-content:space-between;border:1px solid #e4dced;border-radius:14px;background:#f0ebf8;padding:23px 28px;margin:24px 0}.integration>div{max-width:900px}.integration .icon{color:var(--cyan);margin-right:8px}.integration strong{font-size:14px}.integration p{color:#776889;line-height:1.55;font-size:12px;margin:8px 0 0}.integration button{white-space:nowrap}.source-note{font-size:11px;line-height:1.7;color:#8d8199}.source-note p{margin-bottom:5px}.source-note a{text-decoration:underline}.preview-note{color:#8b6104!important;padding-top:12px}.empty{grid-column:1/-1;text-align:center;padding:55px 25px;width:100%;color:var(--muted)}.empty h1,.empty h2{color:var(--ink)}.empty h2{font-size:22px}.empty p{line-height:1.6}.boot{padding:40px;text-align:center;color:var(--muted)}#km-toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);max-width:min(620px,90vw);width:max-content;background:#271047;color:white;z-index:1000;padding:14px 21px;font-size:13px;line-height:1.5;border-radius:12px;box-shadow:0 10px 30px #23113633;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#km-toast.show{opacity:1;transform:translate(-50%,0)}
/* Reader. Only current pages are rendered; the PDF retains its original content. */
.reader{background:#eceaf1;min-height:100dvh;display:flex;flex-direction:column}.reader-header{display:flex;align-items:center;gap:22px;padding:12px 24px;background:white;border-bottom:1px solid var(--line);min-height:67px}.back{display:flex;align-items:center;gap:5px;color:#78648c;font-size:12px;white-space:nowrap}.back .icon{width:15px;height:15px}.reader-brand{width:148px;flex-shrink:0;display:block}.reader-brand img{display:block;width:100%}.reader-header h1{font-size:15px;font-weight:650;margin:0;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.reader-header>#info{margin-left:auto}.reader-main{display:flex;flex-direction:column;flex:1;min-height:0}.reader-toolbar{display:flex;align-items:center;gap:10px;padding:10px 22px;min-height:60px;background:#fff;border-bottom:1px solid var(--line);flex-wrap:wrap}.mode-toggle{display:flex;background:#f1edf8;padding:3px;border-radius:9px}.mode-toggle button{border-radius:6px;padding:7px 12px;font-size:11px;color:#7b688d}.mode-toggle button[aria-pressed="true"]{background:var(--purple);color:white;box-shadow:0 3px 6px #3615761a}.zoom-control{display:flex;gap:3px;align-items:center;margin-right:auto}.zoom-control button{width:32px;height:32px;border:1px solid var(--line);border-radius:6px;font-size:19px}.zoom-control output{font-size:11px;min-width:42px;text-align:center}.tool{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:9px 10px;border-radius:7px;font-size:11px;color:#78618e;min-height:36px}.tool .icon{width:17px;height:17px}.tool:hover{background:#f1edf7;text-decoration:none}.tool.selected{color:var(--purple);background:#fff1b3}.reader-stage{position:relative;display:flex;align-items:stretch;justify-content:center;min-height:300px;height:calc(100dvh - 183px);overflow:hidden;background:radial-gradient(ellipse at center,#f8f7fb 0%,#e8e6ef 100%)}#paper-area{overflow:auto;width:100%;padding:15px 58px;display:flex;align-items:safe center;justify-content:safe center;overscroll-behavior:contain;scrollbar-width:thin}.paper-spread{display:flex;gap:5px;justify-content:center;align-items:center;margin:auto;flex-shrink:0}.paper-sheet{background:white;box-shadow:0 4px 15px #2d1a3b20;position:relative}.paper-sheet canvas{display:block}.paper-spread.double .paper-sheet:first-child:after{content:"";position:absolute;right:0;top:0;bottom:0;width:15px;background:linear-gradient(90deg,transparent,#20122c0d);pointer-events:none}.paper-spread.double .paper-sheet:last-child:after{content:"";position:absolute;left:0;top:0;bottom:0;width:15px;background:linear-gradient(90deg,#20122c0d,transparent);pointer-events:none}.page-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:65px;border-radius:10px;background:#ffffffd9;box-shadow:0 3px 10px #281a4c0d;z-index:5;color:var(--purple);display:flex;align-items:center;justify-content:center}.page-arrow.previous{left:10px}.page-arrow.next{right:10px}.page-arrow .icon{height:29px;width:29px}.page-arrow:hover:not(:disabled){background:var(--purple);color:white}.reader-bottom{background:white;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 22px;min-height:54px}.reading-hint{font-size:10px;color:#9b90a7;flex:1}.page-counter{display:flex;align-items:center;justify-content:center;gap:8px;color:#8e7a9f;font-size:12px}.page-counter label{font-size:10px;color:#9c8eab}.page-counter input{border:1px solid var(--line);border-radius:5px;text-align:center;width:57px;height:29px;color:var(--purple);appearance:textfield;font-size:12px}.page-counter input::-webkit-inner-spin-button{appearance:none}#spread-status{flex:1;text-align:right;font-size:10px;color:#9b90a7}.loading{padding:40px 10px;align-self:center;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:540px;margin:auto;color:var(--muted);font-size:13px}.loading p{margin:0 0 8px}.spinner{width:34px;height:34px;border:3px solid #d9ceec;border-top-color:var(--purple);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(360deg)}}.book-details{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;background:#fcfbfe;border-bottom:1px solid var(--line);padding:20px 30px;max-height:310px;overflow:auto;font-size:12px;line-height:1.6}.book-details h2{font-size:13px;margin-bottom:9px}.book-details p{margin-bottom:8px}.book-details[hidden],.page-text[hidden]{display:none}.muted{color:var(--muted);font-size:11px}.supplements{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.supplements a{border:1px solid var(--line);background:white;border-radius:6px;padding:5px 9px;font-size:11px}.source-warning{background:#fff1c4;color:#805a00;border-radius:7px;padding:9px}.bookmark-chip{border:1px solid var(--line);border-radius:5px;padding:5px 9px;margin:0 5px 5px 0;background:white;font-size:11px;color:var(--purple)}.page-text{padding:22px 30px;white-space:pre-wrap;font-size:14px;line-height:1.8;background:white;max-height:280px;overflow:auto;border-top:1px solid var(--line)}.reader.embedded .reader-brand{width:110px}.reader.embedded .reader-header{padding:7px 16px;min-height:50px}.reader.embedded .reader-stage{height:calc(100dvh - 165px)}.reader:fullscreen{overflow:auto;width:100%;height:100%;background:#eceaf1}.reader:fullscreen .reader-stage{height:calc(100dvh - 183px)}
@media(min-width:1700px){.catalog-main,.header-inner{max-width:1580px}.books-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.hero h1{font-size:45px}}
@media(max-width:1150px){.header-inner{gap:20px;padding:15px 25px}.brand{width:190px}.site-header nav{gap:18px}.site-header nav a{font-size:13px}.catalog-main{padding:25px}.books-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.hero{padding:30px}.filterbar select{max-width:210px}.filterbar #subject-filter{max-width:210px}.reader-toolbar{gap:4px;padding:8px 12px}.tool{padding:8px}.reader-brand{width:128px}.reading-hint{display:none}.reader-bottom{justify-content:center}#spread-status{flex:none;min-width:100px}}
@media(max-width:850px){.header-inner{flex-wrap:wrap;padding:14px 20px;gap:9px}.brand{width:185px}.lang{margin-left:auto}.site-header nav{order:3;width:100%;margin:0;justify-content:space-between;gap:13px}.site-header nav a{padding:10px 0}.catalog-main{padding:20px}.hero{padding:25px}.hero h1{font-size:30px}.hero-mark{display:none}.hero p:not(.eyebrow){font-size:13px}.books-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.shelf-tabs{gap:0;margin-bottom:18px}.tab{padding:12px;font-size:12px}.tab .icon{width:17px}.local-open{width:100%;padding:12px 0;font-size:12px}.searchbox{min-width:100%;flex-basis:100%}.filterbar label:not(.searchbox){flex:1}.filterbar select,.filterbar #subject-filter{width:100%;max-width:unset;font-size:12px}.filterbar{gap:8px}.quiet{padding:8px}.integration{flex-direction:column;align-items:flex-start;gap:17px;padding:22px}.book-details{grid-template-columns:1fr;gap:15px;max-height:350px}.reader-brand{display:none}.reader-header{padding:12px 15px;gap:10px;min-height:55px}.reader-header h1{font-size:13px}.reader-header .back span{display:none}.reader-toolbar{padding:8px 10px;gap:3px}.reader-toolbar .tool span{display:none}.tool{min-width:32px}.reader-stage{height:calc(100dvh - 170px)}.reader-bottom{padding:8px 10px}.page-counter label{display:none}#spread-status{font-size:9px}.source-note{font-size:10px}}
@media(max-width:560px){.catalog-main{padding:16px 13px}.hero{padding:24px 20px;border-radius:14px}.hero h1{font-size:29px;max-width:270px}.eyebrow{font-size:9px}.books-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 10px}.book-card{border-radius:11px}.cover-wrap{padding:19px 18px 24px;height:222px}.cover{height:179px;max-width:129px}.book-meta{padding:12px 12px 9px;min-height:159px}.book-meta h2{font-size:13px}.authors{font-size:10px}.book-kind{font-size:8px}.save-btn{right:7px;top:7px;width:27px;height:30px}.cover-fallback{padding:13px 10px}.cover-fallback strong{font-size:13px}.card-actions{gap:0}.small-icon{width:27px;height:29px}.small-icon .icon{width:15px}.read-link{font-size:10px}.tab{padding:11px 8px;font-size:11px;gap:6px}.tab .icon{width:15px}.tab b{font-size:9px;padding:3px 6px}.tab[data-shelf="recent"]{font-size:10px}.tab[data-shelf="recent"] .icon{display:none}.filterbar label:nth-of-type(4){flex-basis:75%}.catalog-meta{align-items:flex-start;margin-top:18px;gap:4px;font-size:10px}.sort-label{font-size:9px}.sort-label select{font-size:10px;max-width:125px}.catalog-pagination{gap:12px;font-size:11px}.catalog-pagination .outline{font-size:11px;padding:9px}.integration{padding:18px}.integration strong{font-size:13px}.integration p{font-size:11px}.reader-toolbar{flex-wrap:wrap;gap:3px}.mode-toggle button{padding:7px 9px;font-size:10px}.zoom-control{margin-right:0}.zoom-control button{height:29px;width:28px}.zoom-control output{min-width:34px;font-size:10px}.tool{padding:7px;min-height:30px;font-size:10px}.tool .icon{width:15px;height:15px}.reader-stage{height:calc(100dvh - 198px)}#paper-area{padding:12px 18px}.page-arrow{width:26px;height:47px;border-radius:7px;background:#fffffff0}.page-arrow.previous{left:3px}.page-arrow.next{right:3px}.page-arrow .icon{width:20px;height:20px}.reader-bottom{gap:8px}.page-counter{gap:5px;font-size:11px}.page-counter input{width:43px}#spread-status{min-width:80px}.fallback-message{padding:18px}.fallback-message h2{font-size:16px}.fallback-message p{font-size:11px}.fallback iframe{min-height:350px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* 1.1.0 — original-page reader, approved dark-gutter spread. */
.reader{height:100dvh;min-height:440px;background:#eeedf4;overflow:hidden}
.reader-header{flex:0 0 auto;min-height:62px;border-bottom:0;background:transparent;padding:9px 24px}
.reader-header h1{color:#302c42}.reader-header .back{color:#62586e}
.reader-toolbar{flex:0 0 auto;min-height:54px;background:transparent;border:0;padding:5px 24px 10px;gap:6px}
.reader-toolbar button,.reader-toolbar a.tool{min-height:38px}
.reader-main{min-height:0;flex:1}
.reader-stage,.reader.embedded .reader-stage,.reader:fullscreen .reader-stage{flex:1;min-height:220px;height:auto;margin:0 22px;border-radius:12px;background:#252932;box-shadow:0 16px 40px #22233b16,inset 0 0 35px #0d12243d}
#paper-area{padding:10px 74px;scrollbar-width:thin;scrollbar-color:#717988 #252932}
.paper-spread{gap:0;box-shadow:0 5px 18px #10121b66;border-radius:5px;isolation:isolate}
.paper-sheet{box-shadow:none;border:0;overflow:hidden}
.paper-spread:not(.double) .paper-sheet{border-radius:5px}
.paper-spread.double .paper-sheet:first-child{border-radius:6px 0 0 6px}
.paper-spread.double .paper-sheet:last-child{border-radius:0 6px 6px 0}
.paper-spread.double .paper-sheet:first-child:after{width:20px;background:linear-gradient(90deg,transparent,#18191c12)}
.paper-spread.double .paper-sheet:last-child:after{width:20px;background:linear-gradient(90deg,#18191c12,transparent)}
.page-arrow{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#ffffff27,#ffffff14);border:1px solid #ffffff48;color:#fff;box-shadow:inset 0 1px 2px #ffffff30,0 3px 10px #0003}
.page-arrow.previous{left:12px}.page-arrow.next{right:12px}
.page-arrow:hover:not(:disabled){background:#626672;color:#fff}.page-arrow:disabled{opacity:.22}
.reader-bottom{flex:0 0 auto;min-height:68px;background:transparent;border:0;padding:10px 25px 14px;display:grid;grid-template-columns:1fr auto 1fr;gap:14px}
.page-counter{background:#ffffffed;box-shadow:0 8px 24px #33264b14;border:1px solid #fff;border-radius:30px;min-height:46px;padding:3px 10px;gap:8px;color:#5a536b;justify-self:center}
.page-counter input{height:30px;width:58px;border:0;background:#f2f1f7;border-radius:9px;font-size:14px;color:#252038}
.page-counter label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.page-counter .small-icon{height:36px;width:38px;color:#29243a}.page-counter .icon{width:21px;height:21px}
.reading-hint{font-size:11px;color:#756b83}#spread-status{font-size:11px;color:#756b83}
.reader-empty{align-self:center;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:470px;text-align:center;color:#f7f4ff;line-height:1.6;font-size:14px;padding:24px}
.reader-empty>.icon{width:32px;height:32px}.reader-empty p{margin:0}.reader-empty .quiet{color:#c9c0dd}
.reader-stage .loading{color:#eee9fa}.reader-stage .loading .outline{color:#ddd0fb}
.pdf-link{position:absolute;display:block;z-index:2;opacity:0;background:transparent;border:0;padding:0;cursor:pointer}
.pdf-link:hover,.pdf-link:focus-visible{opacity:1;background:#7154bd18;outline:2px solid #7c65b7}
.book-details{flex:0 1 auto;margin:0 22px 10px;border-radius:12px;border:0;background:#fff}
.reader:fullscreen{min-height:0;overflow:hidden}
@media(max-width:850px){.reader-header{padding:8px 14px;min-height:50px}.reader-toolbar{padding:2px 12px 8px}.reader-stage,.reader.embedded .reader-stage{margin:0 10px}.reading-hint{display:none}.reader-bottom{grid-template-columns:1fr;gap:3px;padding:8px 10px;min-height:72px}#spread-status{min-width:0;text-align:center}.book-details{margin:0 10px 8px}}
@media(max-width:560px){.reader-stage,.reader.embedded .reader-stage{min-height:220px;border-radius:8px}#paper-area{padding:10px 40px}.page-arrow{width:34px;height:44px;border-radius:22px}.page-arrow.previous{left:3px}.page-arrow.next{right:3px}.page-arrow .icon{width:20px;height:20px}.mode-toggle button{padding:7px 9px}.reader-toolbar{gap:4px}.tool{min-width:34px}.reader-empty{font-size:12px;padding:10px}.reader-bottom{padding-bottom:10px}}

/* 1.3.0 — explicit 1 / 2 / 4 page layouts. Reader only, no catalogue changes. */
.mode-toggle{flex-shrink:0;gap:2px}
.mode-toggle button{white-space:nowrap;min-height:38px}
.mode-toggle button:focus-visible{outline-offset:1px}
.paper-spread.quad{display:grid;background:transparent;box-shadow:none;border-radius:0;justify-items:center;align-items:center}
.paper-spread.quad .paper-sheet{border-radius:4px;box-shadow:0 3px 14px #0005}
.paper-spread.quad .paper-sheet:after{display:none}
#paper-area[aria-busy="true"] .paper-spread{opacity:.55}
@media(max-width:560px){.mode-toggle{max-width:100%}.mode-toggle button{font-size:11px;padding:7px 10px}.reader-toolbar .mode-toggle{margin-right:auto}.paper-spread.quad .paper-sheet{border-radius:2px}}
@media(max-height:500px){
 .reader{min-height:0}
 .reader-header{min-height:40px;padding:4px 12px}
 .reader-toolbar{min-height:44px;padding-top:2px;padding-bottom:4px}
 .reader-stage,.reader.embedded .reader-stage,.reader:fullscreen .reader-stage{min-height:80px}
 .reader-bottom{min-height:50px;padding-top:4px;padding-bottom:4px}
 .reading-hint{display:none}
}

/* 1.3.1 — PDF-sheet format is distinct from the 1 / 2 / 4 view. */
.source-layout-settings{margin-top:18px;max-width:460px}.source-layout-settings label{display:block;font-weight:650;font-size:12px;margin-bottom:8px}.source-layout-settings select{width:100%;max-width:100%;border:1px solid var(--line);border-radius:8px;padding:9px;color:var(--ink);background:#fff}.source-layout-settings p{font-size:11px;margin:8px 0;line-height:1.6;color:var(--muted)}


/* 1.4.1 — scene-style reader skin and interactive book tasks. */
.reader{background:radial-gradient(circle at top,#251b46 0,#13192f 34%,#0d1223 100%);color:#eef3ff}
.reader-header,.reader-toolbar,.reader-bottom{color:#eef3ff}
.reader-header h1,.reader-header .back,.reader-bottom .reading-hint,#spread-status{color:#eef3ffcc}
.reader-stage{background:linear-gradient(180deg,#17203d 0,#0f162b 100%);border-radius:18px;margin:0 22px;box-shadow:inset 0 1px 0 #ffffff1a,0 18px 48px #03071255}
.mode-toggle{background:#ffffff12;border:1px solid #ffffff1a}.mode-toggle button{color:#e5ebff}.mode-toggle button[aria-pressed="true"]{background:linear-gradient(135deg,#27c2ff,#6f7cff);box-shadow:0 8px 18px #25b8ff44;color:#fff}
.reader .zoom-control button,.reader .tool,.reader .small-icon{border:1px solid #ffffff18;background:#ffffff10;color:#eef3ff}.reader .tool:hover,.reader .small-icon:hover,.reader .zoom-control button:hover{background:#ffffff18}.tool.selected{background:linear-gradient(135deg,#fee585,#f7b955);color:#3f2a00}.tool[aria-expanded="true"]{background:linear-gradient(135deg,#2fd0ff,#6e79ff);color:#fff}
.page-counter{background:#11192fe6;border:1px solid #ffffff1c;box-shadow:0 8px 24px #060a162e}.page-counter input{background:#0b1224;color:#eef3ff}.book-details,.page-text{background:#f9fbff;color:#1a2540}
.activity-panel{margin:0 22px 14px}.activity-card{background:linear-gradient(180deg,#f8fbff 0,#edf4ff 100%);border-radius:18px;padding:18px 20px 16px;box-shadow:0 18px 40px #09122b33;border:1px solid #dce8ff;color:#19314f}.activity-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.activity-kicker{margin:0 0 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#5377c9;font-weight:700}.activity-hero h2{margin:0;font-size:24px;line-height:1.15;color:#18345c}.activity-hero p{margin:6px 0 0;color:#516989}.activity-scene-glow,.activity-badge-big{width:84px;height:84px;border-radius:22px;background:radial-gradient(circle at 30% 30%,#6fe8ff 0,#45c2ff 42%,#6f73ff 100%);box-shadow:0 16px 32px #3cbfff40}.activity-badge-big{display:flex;align-items:center;justify-content:center;font-size:40px;color:#fff;font-weight:800}.activity-progress{display:flex;gap:8px;align-items:center;margin-bottom:16px}.activity-dot{width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#dbe8ff;color:#45608d;font-weight:700;border:1px solid #c9dbff}.activity-dot.current{background:linear-gradient(135deg,#27c2ff,#6f7cff);color:#fff;border-color:transparent;box-shadow:0 8px 18px #42c6ff33}.activity-dot.done{background:#8ad77a;color:#103a11;border-color:#6fc65d}.activity-question h3,.activity-summary h3{margin:0 0 8px;font-size:20px;color:#18345c}.activity-question p,.activity-summary p{margin:0 0 14px;color:#4a6385;line-height:1.55}.activity-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.activity-option{padding:14px 16px;border-radius:14px;border:1px solid #cfe0ff;background:#fff;text-align:left;line-height:1.4;color:#17304d;box-shadow:0 4px 10px #d7e5ff44}.activity-option:hover{transform:translateY(-1px);box-shadow:0 8px 18px #bfd4ff55}.activity-option.selected{border-color:#87b4ff}.activity-option.correct{background:#ecfff0;border-color:#68c37b;color:#174c22}.activity-option.wrong{background:#fff2f2;border-color:#e07171;color:#6b2020}.activity-feedback{min-height:24px;margin-top:12px;font-weight:700}.activity-feedback.ok{color:#14702c}.activity-feedback.bad{color:#b43636}.activity-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.activity-summary{padding:16px;border-radius:16px;background:#fff;border:1px solid #dce8ff}.activity-summary.success{background:linear-gradient(180deg,#f1fff1,#f8fff8);border-color:#92db9a}.activity-summary ul{margin:10px 0 0 18px;padding:0;color:#29486b}.activity-summary li{margin:6px 0}.activity-actions .primary,.activity-actions .outline{min-height:42px;border-radius:999px;padding:0 16px}.activity-actions .primary{background:linear-gradient(135deg,#27c2ff,#6f7cff);color:#fff;box-shadow:0 10px 20px #41c3ff40}.activity-actions .outline{background:#fff;color:#365277;border:1px solid #cfe0ff}#activity-toggle[hidden],#activity-panel[hidden]{display:none!important}
@media(max-width:850px){.reader-stage,.activity-panel{margin-left:10px;margin-right:10px}.activity-card{padding:16px}.activity-hero{flex-direction:column}.activity-hero h2{font-size:21px}.activity-scene-glow,.activity-badge-big{width:58px;height:58px;border-radius:18px}.activity-options{grid-template-columns:1fr}}
@media(max-width:560px){.activity-panel{margin-bottom:10px}.activity-card{padding:14px;border-radius:14px}.activity-kicker{font-size:10px}.activity-hero h2{font-size:18px}.activity-question h3,.activity-summary h3{font-size:17px}.activity-dot{width:28px;height:28px;font-size:12px}.activity-options{gap:8px}.activity-option{padding:12px;font-size:13px}.activity-actions{flex-direction:column-reverse}}

/* 1.5.0 — exercises beside the ORIGINAL page. All selectors are scoped to the reader. */
.reader{--ex-blue:#1783ae;--ex-violet:#6c5bd0;--ex-ink:#1f2e47;--ex-line:#dce5ef;min-height:360px}
.reader .reader-workspace{flex:1;min-width:0;min-height:0;display:flex;gap:14px;margin:0 22px;align-items:stretch}
.reader .reader-workspace>.reader-stage{flex:1;min-width:0;min-height:100px;margin:0}
.reader .km-exercises{display:flex;flex-direction:column;flex:0 0 368px;min-width:0;min-height:0;overflow:hidden;background:#f8fafc;border:1px solid #d9e4f0;border-radius:18px;color:var(--ex-ink);box-shadow:0 18px 40px #020a2d38;font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;margin:0}
.reader .km-exercises[hidden]{display:none!important}
.reader .km-ex-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:18px 18px 14px;background:#fff;border-bottom:1px solid var(--ex-line)}
.reader .km-ex-head strong{display:block;font-size:17px;line-height:1.2;color:#243554}
.reader .km-eyebrow{display:block;color:#558296;font-size:9px;letter-spacing:.16em;font-weight:700;margin:0 0 6px}
.reader .km-icon-btn{background:#edf2f8;border:1px solid #d7e1eb;color:#40516b;width:34px;height:34px;min-height:34px;border-radius:50%;font-size:24px;flex-shrink:0}
.reader .km-ex-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:15px 18px 18px;scrollbar-width:thin}
.reader .km-index-title{font-size:24px;line-height:1.2;margin:0 0 9px;letter-spacing:-.02em}
.reader .km-index-note{color:#617188;font-size:12px;line-height:1.6;margin:0 0 16px}
.reader .km-task-index{display:flex;flex-direction:column;gap:6px}
.reader .km-task-index button{width:100%;min-height:61px;display:flex;align-items:center;gap:10px;padding:10px;background:white;border:1px solid #e1e8f0;border-radius:11px;text-align:left;color:#2d3d58;font-size:13px;font-weight:600;line-height:1.25}
.reader .km-task-index button small{display:block;color:#71869a;font-size:10px;font-weight:400;margin-top:4px}
.reader .km-task-index button.on-page{border-color:#8dbdd4;background:#f0faff}
.reader .km-task-index button:hover{background:#ebf6ff;border-color:#75adc6}
.reader .km-page-tag{flex-shrink:0;padding:6px 8px;min-width:30px;text-align:center;font-size:10px;font-weight:700;color:#216b92;border:1px solid #bcdce9;border-radius:8px;background:#ebf7fb}
.reader .km-done-mark{margin-left:auto;color:#258b63;font-size:18px}
.reader .km-back-index{display:block;border:0;background:none;color:#547485;font-size:12px;padding:0 0 10px;min-height:28px;text-align:left}
.reader .km-task-title{display:flex;gap:9px;align-items:center;margin-bottom:14px}
.reader .km-task-title h2{font-size:19px;line-height:1.25;margin:0;letter-spacing:-.025em;flex:1}
.reader .km-task-number{font-size:11px;color:#7b8a9c;white-space:nowrap}
.reader .km-progress{display:flex;gap:5px;align-items:center;margin-bottom:20px}
.reader .km-progress span{height:5px;border-radius:5px;background:#dce5ef;flex:1}
.reader .km-progress span.done{background:#49a88b}.reader .km-progress span.current{background:#5b77cb}
.reader .km-step-label{font-size:9px;color:#6d7f91;font-weight:700;letter-spacing:.15em;margin-bottom:8px}
.reader .km-prompt{font-size:18px;line-height:1.42;font-weight:650;margin:0 0 13px;color:#263854;outline:0}
.reader .km-touch-note{font-size:11px;line-height:1.5;color:#617288;margin-bottom:10px}
.reader .km-illustration{position:relative;width:100%;margin:0 0 13px;background:white;border-radius:10px;box-shadow:0 0 0 1px #dce5ee;isolation:isolate}
.reader .km-illustration canvas{display:block;width:100%;height:100%;border-radius:10px}
.reader .km-fragment-hotspots,.reader .km-page-hotspots{position:absolute;inset:0;pointer-events:none;z-index:4}
.reader .km-hotspot{position:absolute;display:flex;align-items:flex-start;justify-content:flex-start;pointer-events:auto;cursor:pointer;background:#20a6db08;border:1.5px dashed #417795aa;border-radius:9px;padding:1px;color:#fff;font-size:12px;font-weight:700;min-width:0;min-height:0;line-height:1}
.reader .km-hotspot:hover:not(:disabled){background:#29a3d026;outline:2px solid #3e7a9f;outline-offset:1px}
.reader .km-hotspot.is-selected{background:#2baade2d;border:2px solid #19789f;text-shadow:0 1px 3px #063c48;color:#fff}
.reader .km-hotspot.is-correct{background:#2cba791a;border:2px solid #268a5e;color:#126a44;text-shadow:0 0 2px #fff}
.reader .km-hotspot.is-wrong{background:#e0596430;border-color:#bf3e4a;color:#9c2834;text-shadow:0 0 2px #fff}
.reader .km-hotspot.is-start{border-color:#a07518;border-style:solid;color:#a07518;background:#f4cc5814}
.reader .km-hotspot:disabled{opacity:1;cursor:default}
.reader .km-launch{position:absolute;z-index:6;width:24px;height:24px;min-height:0;display:grid;place-items:center;padding:0;background:#5f47b8;color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 7px #381f6266;font-size:15px;line-height:1}
.reader .km-launch:hover{background:#2e879f;transform:scale(1.08)}
.reader .km-selection-row{display:flex;align-items:center;gap:8px;justify-content:space-between;font-size:11px;color:#627993;min-height:30px}
.reader .km-selection-row .km-primary{width:auto;min-height:36px;font-size:12px;padding:8px 12px}
.reader .km-choices{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:12px}
.reader .km-choices button{flex:1;min-width:58px;min-height:53px;padding:12px 14px;border:1px solid #b6cadc;background:white;border-radius:11px;color:#253d58;font-size:22px;line-height:1.35;font-weight:650}
.reader .km-choices button:hover:not(:disabled){border-color:#3876b0;background:#edf7ff}
.reader .km-choices button.is-correct{background:#e8f7ec;border-color:#439967;color:#23643f}.reader .km-choices button.is-wrong{background:#fff0f1;border-color:#c4656c;color:#9a3540}
.reader #km-number-form label{display:block;font-size:11px;color:#61748c;margin:7px 0}
.reader .km-number-row{display:flex;gap:9px}
.reader #km-answer{width:80px;height:47px;min-width:0;text-align:center;font-size:24px;color:#2e4767;border:1.5px solid #a2bbd1;background:white;border-radius:10px}
.reader .km-primary,.reader .km-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:10px 17px;border-radius:10px;line-height:1.25;font-size:13px;font-weight:700;border:1px solid transparent}
.reader .km-primary{background:linear-gradient(135deg,#087b9c,#526dc8);color:white;box-shadow:0 4px 10px #2374a422}
.reader .km-primary:disabled{background:#dae3ed;color:#8796a9;box-shadow:none;opacity:1;cursor:default}
.reader .km-secondary{background:#fff;color:#50647b;border-color:#cfdae6}
.reader .km-primary:hover:not(:disabled){filter:brightness(1.07)}
.reader .km-feedback{min-height:33px;margin:12px 0 3px;font-size:12px;line-height:1.5;color:#536c85;font-weight:650}
.reader .km-feedback[data-tone="ok"]{color:#1f8255}.reader .km-feedback[data-tone="error"]{color:#b54151}.reader .km-feedback[data-tone="notice"]{color:#8a6513}
.reader .km-hint-row{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:8px}
.reader .km-text-btn{background:transparent;border:0;min-height:32px;font-size:11px;color:#5b74a0;padding:2px 0}
.reader .km-hint{padding:12px;border:1px solid #ebd8a5;border-radius:9px;background:#fff8e6;color:#7d6127;font-size:12px;line-height:1.5;margin:7px 0}
.reader .km-source{font-size:10px;color:#6e8091;margin-top:12px;padding-top:12px;border-top:1px solid #e3e9f0;line-height:1.6}.reader .km-source summary{cursor:pointer;color:#5e7b93}.reader .km-source p{margin:7px 0}
.reader .km-note{font-size:10px;line-height:1.7;color:#7d8b9a;margin:16px 0 2px}
.reader .km-ex-foot{flex:0 0 auto;padding:12px 18px;display:flex;justify-content:space-between;gap:12px;border-top:1px solid #dce5ef;background:#fff}
.reader .km-success{margin:12px 0 20px;background:#edf9f0;border:1px solid #c1e3cb;border-radius:15px;padding:20px 16px;text-align:center}
.reader .km-success>div{width:50px;height:50px;border-radius:50%;background:#37976c;color:white;display:grid;place-items:center;font-size:28px;margin:0 auto 14px}
.reader .km-success h3{font-size:21px;line-height:1.2;margin:0 0 10px}.reader .km-success p{font-size:13px;line-height:1.65;color:#406856;margin:0}
.reader #km-restart,.reader #km-index2{display:flex;width:100%;margin:8px 0}
.reader #activity-toggle{gap:7px;color:#ebf7ff}.reader #activity-toggle[aria-expanded="true"]{background:#1985a4}
.reader .km-exercise-count{font-size:10px;border-radius:5px;padding:2px 5px;background:#fff2;color:#fff}
.reader .reader-brand{background:#fff;border-radius:9px;padding:4px 6px}
.reader .page-counter{color:#e0e8ff}.reader .page-counter .small-icon{color:#e0e8ff}
.reader .km-exercises button:focus-visible,.reader .km-hotspot:focus-visible{outline:3px solid #d09527;outline-offset:2px}
.reader.km-exercise-open #paper-area{padding-left:42px;padding-right:42px}
.reader.km-exercise-open .page-arrow{width:34px;height:42px}
.reader.km-exercise-open .page-arrow.previous{left:4px}.reader.km-exercise-open .page-arrow.next{right:4px}
@media(max-width:1100px){.reader .km-exercises{flex-basis:324px}.reader .reader-workspace{margin:0 10px;gap:10px}.reader .km-ex-head{padding:13px}.reader .km-ex-scroll{padding:12px 14px}.reader .km-ex-foot{padding:10px 14px}.reader .km-prompt{font-size:16px}.reader .km-task-title h2{font-size:17px}}
@media(max-width:730px){
 .reader .reader-workspace.has-exercises{flex-direction:column;overflow:hidden;gap:8px}
 .reader .has-exercises>.reader-stage{flex:1;min-height:96px}
 .reader .km-exercises{flex:0 1 53%;width:100%;min-height:170px;border-radius:12px}
 .reader .km-ex-head{padding:7px 12px}.reader .km-ex-head strong{font-size:14px}.reader .km-eyebrow{display:none}.reader .km-icon-btn{height:27px;width:27px;min-height:27px;font-size:21px}
 .reader .km-ex-scroll{padding:10px 12px}.reader .km-progress{margin-bottom:12px}
 .reader .km-task-title{margin-bottom:10px}.reader .km-task-title h2{font-size:17px}
 .reader .km-ex-foot{padding:7px 12px}.reader .km-ex-foot button{min-height:36px;font-size:12px}
 .reader .km-prompt{font-size:16px}.reader .km-launch{height:19px;width:19px;font-size:11px;border-width:1px}
 .reader .km-illustration{max-width:480px;margin-left:auto;margin-right:auto}
 .reader .reader-toolbar{gap:3px}.reader #activity-toggle span{display:inline}.reader #activity-toggle{font-size:10px;min-width:0;padding:5px}
 .reader.km-exercise-open .reader-bottom{min-height:46px;display:flex;padding:5px 10px}.reader.km-exercise-open #spread-status{display:none}
 .reader.km-exercise-open .page-counter{min-height:36px}.reader.km-exercise-open .page-counter .small-icon{min-height:28px;height:28px}
}
@media(max-height:550px) and (min-width:731px){.reader .km-exercises{flex-basis:340px}.reader .km-ex-head{padding:7px 10px}.reader .km-ex-head strong{font-size:13px}.reader .km-eyebrow{display:none}.reader .km-ex-foot{padding:7px 10px}.reader .reader-bottom{min-height:42px;padding:4px 10px}}

.reader .km-illustration canvas[hidden]{display:none}.reader .km-source-fragment{display:block;width:100%;height:100%;border-radius:10px}

/* Whole-book workspaces. Scoped entirely to the reader. */
.reader .km-exercises{flex-basis:410px}.reader .km-exercises *{box-sizing:border-box}.reader .km-exercises button,.reader .km-exercises input,.reader .km-exercises select,.reader .km-exercises textarea{font:inherit}.reader .km-exercises textarea{resize:vertical}.reader .km-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.reader #activity-toggle{background:#e7c542;color:#261d0c;border-color:#f7e18e;font-weight:700;gap:7px}.reader #activity-toggle span{display:inline}.reader .km-exercise-count{background:#fff7;padding:3px 7px;border-radius:15px;min-width:24px;text-align:center}
.reader .km-statline{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;line-height:1.5;margin:8px 0 16px}.reader .km-statline span{background:#e6edf5;padding:4px 7px;border-radius:7px}.reader #km-search,.reader #km-filter{width:100%;min-height:40px;border:1px solid #c5d1dd;border-radius:9px;padding:8px 11px;background:#fff;color:#24334b;margin-bottom:8px}.reader .km-task-index>button{padding:11px 7px;grid-template-columns:38px minmax(0,1fr) 18px}.reader .km-task-index small{display:block;line-height:1.45}.reader .km-index-pager,.reader .km-transfer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:16px 0}.reader .km-index-pager button{padding:8px 18px;background:#e5edf5;border-radius:7px;min-height:40px}.reader .km-transfer>*{flex:1;white-space:normal;line-height:1.3}.reader .km-assessment{display:block;font-size:11px;font-weight:700;color:#45658c;background:#e7eff8;border-radius:7px;padding:7px 9px;margin:10px 0}.reader .km-number-note{font-size:10px;line-height:1.5;color:#745925;padding:6px 8px;border-left:2px solid #dfbf73;background:#fff7df}
.reader .km-progress{gap:4px;margin:12px 0}.reader .km-progress button{height:25px;min-width:25px;border-radius:6px;flex:1;font-size:11px;background:#e0e8f1;color:#657488;display:grid;place-items:center;padding:0}.reader .km-progress button.current{background:#5440ac;color:white}.reader .km-progress button.done{background:#d9efdf;color:#205b32}.reader .km-work-tabs{display:flex;gap:5px;background:#e3eaf3;border-radius:10px;padding:4px;margin:12px 0}.reader .km-work-tabs button{padding:7px 10px;border-radius:7px;flex:1;min-height:38px;font-size:12px}.reader .km-work-tabs [aria-pressed=true]{background:#fff;box-shadow:0 2px 6px #21325512;color:#44307e;font-weight:700}
.reader .km-field{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:10px;align-items:center;padding:9px 10px;background:#fff;border:1px solid #d7e0ec;border-radius:9px;margin-bottom:7px;font-size:14px;line-height:1.45}.reader .km-field input,.reader .km-field select{width:100%;min-height:40px;border:1px solid #b8cadd;border-radius:7px;background:#f8fbff;color:#23344d;text-align:center;padding:6px}.reader .km-field-good{border-color:#50a978;background:#f3fcf5}.reader .km-field-bad{border-color:#de7f69;background:#fff8f5}.reader .km-fields .km-primary{width:100%;margin-top:8px}.reader #km-answer{width:100%;min-height:44px;background:white;border:1px solid #bdcbda;border-radius:8px;padding:9px;color:#263752;font-size:19px;margin:8px 0}.reader .km-sequence-track{border:1px solid #bdcfe1;background:#fff;border-radius:9px;min-height:44px;padding:10px;font-size:15px;line-height:1.6;margin-bottom:10px;overflow-wrap:anywhere}.reader .km-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.reader .km-chips button{border:1px solid #bfd0e5;border-radius:11px;min-width:43px;min-height:43px;padding:8px 12px;background:white;color:#1c3557;font-weight:700}.reader .km-chips .is-selected{background:#e8e0f8;border-color:#7964b6}.reader .km-token-tray{display:flex;flex-wrap:wrap;gap:9px;padding:16px 0}.reader .km-weight{background:linear-gradient(#dde5ee,#9cb3cb);border:2px solid #91a8bd;border-radius:13px 13px 8px 8px;color:#193b55;min-width:58px;min-height:65px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:21px}.reader .km-weight small{font-size:10px}.reader .km-weight.is-selected{background:#d1eedc;border-color:#3a8b60}.reader #km-token-sum{display:block;padding:10px;background:white;border-radius:8px;margin-bottom:12px;font-weight:700}.reader .km-piles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.reader .km-piles section{border:2px dashed #c8d5e6;border-radius:12px;min-height:140px;background:white;padding:9px}.reader .km-piles h4{margin:0 0 10px;font-size:12px}.reader .km-stick{font-family:Arial,sans-serif;color:#ad602d;background:#fff2cd;padding:0;width:23px;min-height:50px;font-size:42px;border-radius:4px;margin:3px}.reader .km-pair-row{display:flex;gap:8px;align-items:center;margin:12px 0}.reader .km-pair-row label{display:flex;gap:8px;align-items:center;flex:1;min-width:0;font-size:12px}.reader .km-pair-row input{width:64px;min-height:40px;padding:6px;text-align:center;border:1px solid #b8cadd;border-radius:8px;background:#fff}.reader .km-pair-head{font-weight:700;text-align:center;padding:9px;background:#fff4cc;border-radius:8px}
.reader .km-review-alert{border:1px solid #dfc882;background:#fff8dd;padding:10px 12px;border-radius:9px;color:#735521;font-size:12px;line-height:1.5}.reader .km-ink-tools{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0}.reader .km-ink-tools button{background:#fff;border:1px solid #c7d6e8;padding:7px 9px;min-height:34px;border-radius:6px;font-size:11px}.reader .km-ink-tools button[aria-pressed=true]{background:#4a3a8c;color:white;border-color:#4a3a8c}.reader .km-ink-tools label{font-size:11px;display:flex;align-items:center;gap:5px;margin:0 5px}.reader .km-ink-tools input{height:29px;width:31px;padding:0;border:0}.reader .km-work-source{position:relative;background:white;isolation:isolate;margin:12px 0;border-radius:6px;border:1px solid #d0ddec;overflow:hidden}.reader .km-work-source>canvas{display:block;width:100%;height:100%}.reader .km-ink-svg{position:absolute;inset:0;width:100%;height:100%;z-index:5;touch-action:none;cursor:crosshair}.reader .km-page-ink{z-index:4}.reader .km-notebook{margin:12px 0}.reader .km-notebook summary{font-weight:700;font-size:12px;cursor:pointer;padding:8px 0}.reader .km-notebook-board{aspect-ratio:5/4;position:relative;background-color:#fff;background-image:linear-gradient(#c9dcee8c 1px,transparent 1px),linear-gradient(90deg,#c9dcee8c 1px,transparent 1px);background-size:2.5% 3.125%;border:1px solid #c8d7e5}.reader .km-ink-counter{font-size:12px;padding:6px 0;display:block;font-weight:700;color:#35654d}.reader .km-notes-label{display:block;font-size:12px;font-weight:650;line-height:1.4;margin:10px 0 7px}.reader #km-written-answer{display:block;width:100%;border:1px solid #becddd;border-radius:9px;min-height:90px;background:#fff;padding:11px;color:#263650;line-height:1.6;font-size:14px}.reader .km-evidence{margin:12px 0}.reader .km-evidence label{display:inline-flex;align-items:center;min-height:37px;font-size:12px;cursor:pointer}.reader .km-work-photo{max-width:100%;max-height:240px;object-fit:contain;margin:10px 0;background:white}.reader #km-save-work{width:100%}.reader .km-success.km-awaiting{background:#fff7db;border-color:#e2c977;color:#684f25}.reader .km-awaiting h3{color:#684f25}.reader .km-awaiting>div{background:#f4df9e;color:#745820}.reader .km-teacher{border:1px solid #c7d4e4;border-radius:10px;padding:10px;margin:15px 0;font-size:12px;line-height:1.5}.reader .km-teacher summary{cursor:pointer;font-weight:700}.reader .km-teacher button{background:#e9eef6;padding:8px;border-radius:7px;display:block;width:100%;margin:7px 0}.reader .km-keyboard-targets{padding:8px 0;font-size:12px}.reader .km-keyboard-targets summary{cursor:pointer}.reader .km-keyboard-targets button{padding:8px 10px;border:1px solid #c4d4e5;border-radius:7px;margin:3px;background:white}.reader .km-exercises .km-primary{white-space:normal;line-height:1.4}
@media(min-width:1450px){.reader .km-exercises{flex-basis:445px}}@media(max-width:1100px){.reader .km-exercises{flex-basis:345px}}@media(max-width:730px){.reader .km-exercises{flex:1;min-height:250px;width:100%}.reader .reader-workspace.has-exercises>.reader-stage{flex:0 0 35%;min-height:160px}.reader .km-ex-scroll{padding:10px 12px}.reader .km-ex-head{padding:9px 12px}.reader .km-ex-head strong{font-size:13px}.reader .km-eyebrow{font-size:9px}.reader .km-field{font-size:13px}.reader .km-progress button{min-width:20px}.reader #activity-toggle{min-height:36px}.reader #activity-toggle span{font-size:11px}}@media(max-height:500px) and (max-width:730px){.reader .reader-workspace.has-exercises{overflow:auto}.reader .km-exercises{min-height:280px;flex:none}.reader .reader-workspace.has-exercises>.reader-stage{min-height:180px;flex:none}}
