@import"https://fonts.googleapis.com/css2?family=Lora:wght@400;600;700&family=Merriweather:wght@400;700&display=swap";:root{font-family:Lora,Merriweather,serif;line-height:1.5;font-weight:400;color:#2d1f16;background-color:#fdf6e3;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-synthesis:none}*{box-sizing:border-box}html,body{position:fixed;overflow:hidden;width:100%;height:100%;margin:0;background-color:#fdf6e3}body{font-family:Lora,Merriweather,serif}#root{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;background-color:#fdf6e3;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.app-shell{min-height:100%;display:flex;flex-direction:column;background:radial-gradient(circle at top,#fffaf1,#fdf6e3 45%,#f7eac9);color:#3b2e2e;padding:clamp(1rem,4vw,2.25rem);gap:clamp(1rem,3vw,1.75rem)}.app-header{padding:clamp(1rem,3vw,1.75rem);border-radius:1.5rem;background:#ffffffbf;box-shadow:0 20px 45px #5c403326;display:flex;flex-wrap:wrap;align-items:flex-start;gap:1rem}.app-header__info{display:flex;align-items:center;gap:1rem;flex:1 1 240px;flex-wrap:wrap}.app-header__titles{display:flex;flex-direction:column;gap:.25rem}.app-header__actions{display:flex;justify-content:flex-end;flex:1 1 240px}.global-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.button{border:none;border-radius:999px;padding:.65rem 1.4rem;font-size:.95rem;font-weight:600;background:linear-gradient(120deg,#ffba66,#ff8ca1);color:#2b1e1c;box-shadow:0 12px 25px #ff8aa140;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.button:not(:disabled):hover,.button:not(:disabled):focus-visible{transform:translateY(-1px);box-shadow:0 16px 30px #ff8aa14d}.button:focus-visible{outline:2px solid #2b1e1c;outline-offset:3px}.button--ghost{background:transparent;color:#3b2e2e;border:1px solid rgba(43,30,28,.25);box-shadow:none}.button--ghost.is-active{background:#ffba6640;border-color:transparent}.app-header h1{font-size:clamp(1.5rem,3.5vw,1.5rem);margin:0}.eyebrow{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:#b78646;margin:0}.badge{padding:.35rem .9rem;border-radius:999px;background:#f0c9a0;font-size:.85rem;font-weight:600;white-space:nowrap}.app-content{flex:1;display:flex;flex-direction:column;gap:clamp(1rem,3vw,1.5rem)}.panel{border-radius:1.5rem;padding:clamp(1.5rem,4vw,2.5rem);background:#ffffffe6;box-shadow:0 20px 45px #5c40331f}.panel h2,.panel h3{margin:0 0 .5rem}.panel--hero{display:flex;flex-direction:column;gap:1.5rem}.key-setup{display:flex;flex-direction:column;gap:1rem}.key-setup__form{display:flex;flex-direction:column;gap:.65rem}.key-setup__field{display:flex;align-items:center;gap:.5rem}.key-setup__field input{flex:1;border-radius:999px;border:1px solid rgba(43,30,28,.2);padding:.85rem 1.1rem;background:#ffffffd9;font-family:inherit;font-size:1rem}.key-setup__scan{border:none;background:#ffba6626;border-radius:50%;width:2.75rem;height:2.75rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease;color:#3b2e2e}.key-setup__scan:disabled{opacity:.45;cursor:not-allowed}.key-setup__scan:not(:disabled):hover{background:#ffba6659}.panel--library,.creator{display:flex;flex-direction:column;gap:1rem}.builder-sentence{font-size:1rem;display:flex;flex-wrap:wrap;gap:.5rem;margin:0}.chip{padding:.35rem .85rem;border-radius:999px;background:#2b1e1c14;font-size:.9rem}.chip--accent{background:#ffba6666}.chip--small{font-size:.75rem;padding:.2rem .65rem}.creator-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.85rem}.field{display:flex;flex-direction:column;gap:.4rem;font-weight:600}.field input,.pill-select select{width:100%;border:1px solid rgba(43,30,28,.12);border-radius:999px;padding:.85rem 1.1rem;font-size:1rem;font-family:inherit;background:#ffffffd9}.pill-select{position:relative}.pill-select:after{content:"";position:absolute;right:1rem;top:50%;width:.35rem;height:.35rem;border-right:2px solid #8a6a54;border-bottom:2px solid #8a6a54;transform:translateY(-50%) rotate(45deg);pointer-events:none}select{appearance:none;background-color:transparent}.creator-note{font-size:.9rem;color:#745d4a;margin:0}.error-message{color:#b13b37;font-weight:600;margin:0}.muted{color:#745d4a;margin:0}.cta{align-self:flex-start;padding:.9rem 1.5rem;border-radius:999px;border:none;font-size:1rem;font-weight:600;background:linear-gradient(120deg,#ffba66,#ff8ca1);color:#2b1e1c;box-shadow:0 15px 30px #ff8aa159;cursor:pointer}.cta:disabled{opacity:.5;cursor:not-allowed}.cta:focus-visible{outline:2px solid #2b1e1c;outline-offset:3px}.ghost{border:1px dashed rgba(43,30,28,.4);border-radius:999px;background:transparent;padding:.5rem 1.25rem;font-size:.95rem;color:#3b2e2e;cursor:pointer}.ghost:hover{border-color:#2b1e1c99}.ghost:disabled{opacity:.5;cursor:not-allowed}.library-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.library-header__actions{display:flex;flex-wrap:wrap;gap:.5rem}.library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem}.library-card{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-radius:1.1rem;background:#fffaf4;border:1px solid rgba(43,30,28,.08);transition:border-color .15s ease,box-shadow .15s ease}.library-card.is-active{border-color:#ffba66;box-shadow:0 12px 25px #ffba6659}.library-card__cover{width:100%;aspect-ratio:4 / 3;border-radius:.85rem;overflow:hidden;background:#2b1e1c14;border:1px solid rgba(43,30,28,.08)}.library-card__cover img{width:100%;height:100%;object-fit:cover;display:block}.library-card__cover-placeholder{width:100%;height:100%;background:repeating-linear-gradient(45deg,#ffba6640,#ffba6640 12px,#ff8ca133 12px 24px)}.library-card__body{display:flex;flex-direction:column;gap:.4rem}.library-card__title{margin:0}.library-card__meta{margin:0;font-size:.85rem;color:#8a6a54}.library-card__summary{margin:0;color:#5c4639;font-size:.9rem}.library-card__chips{display:flex;flex-wrap:wrap;gap:.35rem}.library-card__actions{display:flex;flex-wrap:wrap;gap:.5rem}.library-empty{border:1px dashed rgba(183,134,70,.45);border-radius:1.1rem;padding:1.25rem;background:#fffaf4cc;text-align:center}.library-empty__title{margin:0 0 .35rem;font-weight:600}.loading-view{display:flex;flex-direction:column;gap:1rem}.loading-view__stage{display:flex;align-items:center;gap:.85rem}.stage-icon{font-size:2rem}.loading-progress{width:100%;height:.65rem;border-radius:999px;background:#3b2e2e14;overflow:hidden}.loading-progress__bar{height:100%;background:linear-gradient(120deg,#ffa94d,#ff7aa2);border-radius:inherit;transition:width .3s ease}.loading-progress__stats{display:flex;gap:1.5rem}.stat-label{margin:0;font-size:.85rem;color:#745d4a;text-transform:uppercase;letter-spacing:.1em}.stat-value{margin:0;font-size:1.25rem;font-weight:700;color:#2b1e1c}.reader{display:flex;flex-direction:column;gap:1rem}.reader__header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.reader__summary{margin:0;color:#5c4639}.reader__meta{display:flex;flex-wrap:wrap;gap:.5rem}.reader__modes{display:flex;gap:.5rem}.mode-toggle{border:1px solid rgba(43,30,28,.2);border-radius:999px;padding:.45rem 1rem;background:transparent;cursor:pointer}.mode-toggle.is-active{background:#ffba6647;border-color:transparent}.reader__chapter{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-radius:1rem;background:#ffffffa6;border:1px solid rgba(43,30,28,.08)}.reader__content{background:#fffdf6;padding:1rem;border-radius:.85rem;line-height:1.75;position:relative}.reader__content p{margin-top:0;margin-bottom:1rem}.reader__content ul,.reader__content ol{margin:0 0 1rem 1.25rem;padding-left:1rem}.reader__content :last-child{margin-bottom:0}.reader__content:after{content:"";display:block;clear:both}.embedded-image{max-width:min(400px,40%);border-radius:.85rem;overflow:hidden;border:1px solid rgba(43,30,28,.08);background:#fff}.embedded-image img{display:block;width:100%;height:auto}.embedded-image--top{float:left;margin:0 1.25rem 1rem 0}.embedded-image--bottom{float:right;margin:.5rem 0 0 1.25rem}.reader__image-placeholder{margin:0;font-size:.9rem}.reader__nav{display:flex;justify-content:space-between;gap:.75rem}.reader__nav button{flex:1;border:none;border-radius:999px;padding:.65rem;background:#3b2e2e1a;font-weight:600;cursor:pointer}.reader__nav button:disabled{opacity:.5;cursor:not-allowed}.reader__scroll{display:flex;flex-direction:column;gap:1rem}@media(max-width:640px){.embedded-image{float:none;max-width:100%;margin:0 0 1rem}.embedded-image--bottom{margin-top:1rem}}@media(min-width:1024px){.app-content{flex-direction:row}.panel--hero{flex:2}.panel--library{flex:1}}.app-footer{display:flex;justify-content:space-between;align-items:center;padding:.5rem}.version-button{background:transparent;border:none;padding:.4rem .8rem;font-size:.75rem;color:#9a8477;cursor:pointer;border-radius:999px;transition:background .15s ease,color .15s ease}.version-button:hover{background:#0000000d;color:#5c4033}.version-button--update{background:linear-gradient(120deg,#ffba66,#ff8ca1);color:#2b1e1c;font-weight:600;box-shadow:0 4px 12px #ff8aa140}.version-button--update:hover{background:linear-gradient(120deg,#ffc97d,#ff9db0);color:#2b1e1c;transform:translateY(-1px);box-shadow:0 6px 16px #ff8aa14d}.definition-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.definition-modal{position:relative;background:#fffaf4;border-radius:1.5rem;padding:2rem;max-width:600px;width:100%;box-shadow:0 25px 50px #5c403340;animation:modal-appear .2s ease-out}@keyframes modal-appear{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.definition-modal__close{position:absolute;top:.75rem;right:.75rem;width:2rem;height:2rem;border:none;background:#2b1e1c14;border-radius:50%;font-size:1.25rem;line-height:1;cursor:pointer;color:#5c4639;transition:background .15s ease}.definition-modal__close:hover{background:#2b1e1c26}.definition-modal__lookup{margin:0 0 1rem;display:flex;flex-direction:column;gap:.5rem}.definition-modal__lookup-field{display:flex;align-items:center;gap:.5rem;background:#ffffffe6;border:1px solid rgba(43,30,28,.08);padding:.25rem;border-radius:999px;box-shadow:0 6px 18px #5c40330f}.definition-modal__lookup-input{flex:1 1 auto;border:none;background:transparent;padding:.55rem .75rem;font-size:1rem;color:#3b2e2e;border-radius:999px;font-family:inherit}.definition-modal__lookup-input::placeholder{color:#3b2e2e73}.definition-modal__lookup-input:focus{outline:none}.definition-modal__lookup-button{border:none;background:linear-gradient(120deg,#ffba66,#ff8ca1);color:#2b1e1c;padding:.45rem .6rem;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 18px #ff8aa129;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.definition-modal__lookup-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.definition-modal__lookup-button:hover:not(:disabled){transform:translateY(-1px)}.definition-modal__word{margin:0 0 .25rem;font-size:1.5rem;color:#3b2e2e}.definition-modal__pos{margin:0 0 .75rem;font-size:.85rem;font-style:italic;color:#b78646}.definition-modal__definition{margin:0 0 1rem;font-size:1rem;line-height:1.6;color:#5c4639}.definition-modal__examples{margin:0 0 1.25rem}.definition-modal__examples-title{margin:0 0 .5rem;font-size:.85rem;font-weight:600;color:#8a6a54}.definition-modal__examples ul{margin:0;padding-left:1.25rem}.definition-modal__examples li{font-size:.9rem;color:#5c4639;line-height:1.5;margin-bottom:.35rem}.definition-modal__loading,.definition-modal__error{text-align:center;padding:1rem 0}.definition-modal__loading p{margin:0;color:#8a6a54}.definition-modal__error p{margin:0;color:#b13b37}.definition-modal__close-btn{width:100%;margin-top:.5rem}.qr-scanner-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1200}.qr-scanner{width:min(420px,100%);background:#fffdf8;border-radius:1.25rem;padding:1.25rem;box-shadow:0 25px 50px #2b1e1c59;display:flex;flex-direction:column;gap:.8rem}.qr-scanner__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.qr-scanner__title{margin:0;font-size:1.25rem;font-weight:600}.qr-scanner__subtitle{margin:0;font-size:.9rem;color:#5c4639}.qr-scanner__close{border:none;background:#2b1e1c14;border-radius:999px;width:2.25rem;height:2.25rem;cursor:pointer;font-size:1.25rem;line-height:1}.qr-scanner__viewport{position:relative;width:100%;padding-top:65%;border-radius:1rem;background:#000;overflow:hidden}.qr-scanner__viewport video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.qr-scanner__frame{position:absolute;inset:0;border-radius:1rem;border:2px dashed rgba(255,255,255,.7);pointer-events:none}.qr-scanner__status{margin:0;font-size:.9rem;color:#5c4639}
