@font-face{font-family:Literata;src:url("./media/literata-latin-ext.woff2") format("woff2");font-style:normal;font-weight:200 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Literata;src:url("./media/literata-latin.woff2") format("woff2");font-style:normal;font-weight:200 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--reader-controls-height: calc(3.6rem + env(safe-area-inset-bottom)) ;--paper: #f5f2ea;--panel: #fffdf7;--ink: #252b25;--muted: #576058;--rule: #dcd9cd;--green: #294938;--pale: #e2eadf;font:16px/1.5 system-ui,sans-serif;background:var(--paper);color:var(--ink)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{min-height:44px}button{cursor:pointer}button:disabled{opacity:.6;cursor:default}:focus-visible{outline:3px solid #608467;outline-offset:3px}button,input,select{border-radius:9px}h1,h2,.book-meta strong{font-family:Georgia,serif}h1{font-size:clamp(2.35rem,7vw,4rem);line-height:1.06;margin:.2em 0;font-weight:500}h2{line-height:1.2;font-weight:500;margin:0 0 .55em}p{margin:0 0 .85em}small,.muted{color:var(--muted)}.eyebrow{letter-spacing:.12em;font-size:.73rem;font-weight:750;color:var(--green);margin:0}.primary,.quiet{padding:.55rem .9rem;font-weight:650}.primary{background:var(--green);border:1px solid var(--green);color:#fff}.primary:hover:not(:disabled){background:#365b46}.quiet{background:transparent;border:1px solid var(--rule);color:var(--green)}.quiet:hover:not(:disabled),.text-button:hover:not(:disabled){background:var(--pale)}.text-button{background:transparent;border:0;color:var(--green);padding:.25rem .35rem;text-align:left;text-decoration:underline}.panel{background:var(--panel);border:1px solid var(--rule);border-radius:15px}.book-icon{display:inline-grid;place-items:center;color:var(--green);background:var(--pale);border-radius:7px;font-family:Georgia,serif}.page,.auth-layout{max-width:65rem;margin:auto;padding:clamp(1.15rem,5vw,3rem) clamp(.85rem,4vw,2rem) 4rem}.auth-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(1rem,6vw,5rem);align-items:center;min-height:65vh}.auth-intro p:last-child{max-width:34ch;color:var(--muted)}.auth-panel{padding:clamp(1rem,4vw,2rem)}.auth-panel form,.auth-panel label{display:grid;gap:.45rem}.auth-panel form{gap:.9rem;margin-bottom:.6rem}.auth-panel label{font-weight:650}.auth-panel input{width:100%;min-height:46px;padding:.45rem .65rem;border:1px solid #a8aca0;background:#fff;color:var(--ink)}.page-title{display:flex;align-items:end;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.book-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:.75rem}.book-card{text-align:left;display:flex;align-items:center;gap:.85rem;padding:1rem;color:var(--ink);min-width:0}.book-card:hover:not(:disabled){border-color:var(--green)}.book-meta{display:grid;flex:1;gap:.15rem;min-width:0;overflow-wrap:anywhere}.book-meta strong{font-size:1.3rem;line-height:1.2}.book-icon{width:2.8rem;height:3.4rem;flex:none;font-size:1.15rem}.empty{padding:clamp(1.25rem,6vw,3rem)}.empty h2{margin-top:.75rem}.empty p{max-width:46ch;color:var(--muted);margin:0}.history-list{display:grid;gap:.75rem}.translation-card{padding:1rem 1.3rem;overflow-wrap:anywhere}.entry-source{display:flex;gap:.5rem;align-items:baseline;justify-content:space-between;color:var(--muted);font-size:.85rem}.load-more{margin-top:1rem}.notice{margin:.75rem auto;padding:.65rem 1rem;width:min(94%,60rem);border-radius:9px}.error{background:#f4dfd8;color:#702c20}.reader{max-width:47rem;margin:auto;padding:max(1.4rem,env(safe-area-inset-top)) clamp(1rem,5vw,2.5rem) calc(var(--reader-controls-height) + 1.25rem)}.reader-notice{background:var(--pale);padding:.7rem;border-radius:7px}.chapter,.chapter h2{font-family:Literata,Georgia,serif}.chapter{line-height:1.65;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.chapter h2{font-size:1.34em}.chapter p{margin-bottom:.9em}.chapter blockquote{margin:.8em 0;padding-left:.75em;border-left:3px solid var(--rule)}.chapter mark{background:#f4df91;color:inherit}.chapter ::selection{color:var(--ink);background:#cadfc7}.library-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.certificate-download{display:inline-flex;align-items:center;min-height:44px;border-radius:9px;text-decoration:none}.reader-controls{position:fixed;z-index:1;inset:auto 0 0;padding-bottom:env(safe-area-inset-bottom);background:var(--paper);border-top:1px solid var(--rule)}.reader-controls-inner{display:flex;align-items:center;justify-content:space-between;max-width:47rem;height:3.6rem;margin:auto;padding-inline:clamp(1rem,5vw,2.5rem)}.page-arrow,.reader-menu summary{display:grid;place-items:center;width:48px;min-height:44px;background:none;color:var(--green);border:0;font-size:1.5rem}.reader-menu summary{cursor:pointer;list-style:none;border-radius:9px}.reader-menu summary::-webkit-details-marker{display:none}.page-arrow:hover:not(:disabled),.reader-menu summary:hover{background:var(--pale)}.page-arrow:disabled{opacity:.3}.reader-menu-panel{position:absolute;left:50%;bottom:calc(var(--reader-controls-height) + .5rem);transform:translate(-50%);display:grid;gap:.5rem;width:min(90vw,19rem);padding:.75rem;box-shadow:0 8px 30px #24362620}.reader-menu-panel select{min-width:0;padding-inline:.5rem;background:var(--panel);color:var(--green);border:1px solid var(--rule)}.text-size{display:flex;gap:.5rem}.text-size button{flex:1}.selection-tools,.translation-sheet{position:fixed;z-index:2;left:50%;transform:translate(-50%);bottom:calc(var(--reader-controls-height) + .5rem)}.selection-tools{width:max-content;max-width:94vw}.translation-sheet{width:min(94vw,43rem);padding:.7rem 1rem 1rem;max-height:min(55dvh,32rem);overflow:auto;overscroll-behavior:contain;box-shadow:0 8px 40px #24362635}.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.original{color:var(--muted);font-family:Georgia,serif;overflow-wrap:anywhere;margin-top:.35rem}.translated{font-size:1.12rem;overflow-wrap:anywhere}@media(max-width:42rem){.auth-layout{grid-template-columns:1fr;align-content:start;padding-top:2rem}}
