:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1d1d1f;background:#f6f6f8}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:3px solid rgba(0,102,204,.5);outline-offset:3px}[hidden]{display:none!important}
.auth-library-preview{position:fixed;inset:0;display:flex;pointer-events:none;user-select:none;overflow:hidden;background:#fff}.preview-sidebar{flex:0 0 250px;display:flex;flex-direction:column;gap:21px;padding:36px 20px;background:#ececed;color:#36363a;font-size:15px}.preview-sidebar strong{margin:6px 0 -4px}.preview-sidebar strong:not(:first-child){margin-top:24px}.preview-sidebar span{padding:0 10px}.preview-sidebar .preview-nav-active{background:#252526;color:#fff;border-radius:10px;padding:13px 10px;margin:-5px -8px}.preview-main{flex:1;min-width:0;padding:44px 42px}.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}.preview-heading h2{font:700 44px/1.2 "New York",Georgia,serif;letter-spacing:-.025em;margin:0}.preview-search{width:260px;height:40px;background:#f0f0f4;border-radius:12px}.preview-subline{width:72px;height:10px;margin-top:20px;border-radius:4px;background:#dcdce0}.preview-formats{display:inline-flex;align-items:center;gap:18px;margin:38px 0 25px;padding:4px 22px 4px 4px;height:42px;border-radius:999px;background:#ededf1;color:#636368;font-size:14px}.preview-formats span{border-radius:999px;background:#fff;padding:9px 17px;box-shadow:0 2px 5px #0002}.preview-books{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:54px 25px;border-top:1px solid #e2e2e6;padding-top:28px}.preview-book{position:relative;aspect-ratio:2/3;border-radius:11px;box-shadow:0 8px 18px #0002;overflow:visible;background-color:#525460;background-image:linear-gradient(105deg,#0003,transparent 12%,#fff1 44%,#0001),radial-gradient(ellipse at 50% 68%,#e7d9a477 0%,transparent 60%)}.preview-book::before{content:"";position:absolute;inset:12% 14% 24%;background:repeating-linear-gradient(0deg,transparent 0 21px,#f2e8d522 22px 27px);border:1px solid #e7dfcb33;border-radius:2px}.preview-book::after{content:"";position:absolute;left:0;bottom:-24px;width:76%;height:8px;background:#d8d8dc;border-radius:5px}.cover-jade{background-color:#225759}.cover-rose{background-color:#805846}.cover-ink{background-color:#252838}.cover-ochre{background-color:#b28d4a}.cover-blue{background-color:#2b546e}.cover-violet{background-color:#64526a}
.auth-glass-overlay{position:fixed;inset:0;z-index:1000;display:flex;overflow:auto;padding:80px 24px 40px;background:rgba(22,24,29,.46);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);overscroll-behavior:contain;min-height:100dvh}.auth-glass-card{position:relative;isolation:isolate;width:100%;max-width:420px;flex-shrink:0;margin:auto;padding:54px 32px 30px;border-radius:28px;background:linear-gradient(165deg,rgba(255,255,255,.78),rgba(255,255,255,.58));backdrop-filter:blur(32px) saturate(200%);-webkit-backdrop-filter:blur(32px) saturate(200%);border:1px solid rgba(255,255,255,.85);box-shadow:0 24px 70px rgba(0,0,0,.24),0 4px 16px rgba(0,0,0,.08),inset 0 1px 1px #fff,inset 0 -1px 1px #fff3}.auth-ambient-glow{position:absolute;z-index:-1;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 10% 0%,#ffffff85,transparent 65%),radial-gradient(ellipse at 95% 100%,#d7e7f438,transparent 60%)}.auth-brand-badge{position:absolute;top:-41px;left:50%;transform:translateX(-50%);width:82px;height:82px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(ellipse at 45% 28%,#41434d,#222329 75%);color:#fff;border:1px solid #ffffff2b;box-shadow:0 10px 25px #0003,inset 0 1px 1px #ffffff38}.auth-brand-badge svg{width:51px;height:51px;filter:drop-shadow(0 0 7px #9fbcd33d)}.auth-title{margin:0 0 9px;text-align:center;font:700 28px/1.16 "New York",Georgia,serif;letter-spacing:-.025em;color:#141416}.auth-subtitle{margin:0 0 27px;text-align:center;color:#37373c;font-size:12px;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:15px}.auth-field{min-width:0}.auth-label{display:block;font-size:12px;font-weight:600;color:#3a3a3e;margin:0 0 6px 12px}.auth-input-wrap{position:relative;display:flex;align-items:center;min-height:48px;border:1px solid rgba(255,255,255,.85);border-radius:999px;background:linear-gradient(160deg,#ffffff57,#ffffff26);box-shadow:inset 0 1px 1px #fff7,0 1px 2px #00000005;transition:box-shadow .16s,border-color .16s}.auth-input-wrap:focus-within{border-color:rgba(0,102,204,.55);box-shadow:0 0 0 3px #0066cc24,inset 0 1px 1px #fff9}.auth-field-icon{position:absolute;left:15px;width:17px;height:17px;fill:none;stroke:#63636a;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.auth-input{width:100%;min-width:0;height:48px;padding:0 15px 0 42px;background:transparent;border:0;border-radius:inherit;color:#1d1d1f;font-size:15px;outline:none!important;box-shadow:none}.auth-input::placeholder{color:#4b4b52;opacity:1}#auth-password{padding-right:48px}.auth-input-wrap:has(.auth-eye-btn) .auth-input{padding-right:48px}.auth-eye-btn{position:absolute;right:3px;top:2px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#54545c;cursor:pointer}.auth-eye-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.auth-eye-btn:hover{background:#ffffff40}.auth-eye-btn[aria-pressed="true"] .auth-eye-slash{display:none}.auth-remember{display:flex;align-items:center;gap:8px;min-height:44px;margin:1px 2px 0;font-size:13px;color:#303035;cursor:pointer}.auth-remember input{width:17px;height:17px;margin:0;accent-color:#303039;cursor:pointer}.auth-error-banner{font-size:12px;line-height:1.45;color:#922b28;background:#fff8;border:1px solid #c65b4f38;border-radius:12px;padding:9px 12px}.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.auth-actions button{height:46px;border-radius:999px;font-size:14px;font-weight:600;cursor:pointer;transition:background .18s,box-shadow .18s,opacity .18s}.btn-auth-cancel{color:#1d1d1f;background:linear-gradient(165deg,#ffffff70,#ffffff30);border:1px solid #ffffffcc;box-shadow:inset 0 1px 1px #fffc,0 2px 5px #0000000a;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.btn-auth-cancel:hover{background:#ffffff85}.btn-auth-submit{color:#fff;background:linear-gradient(175deg,#494a51 0%,#25262b 55%,#1c1d21 100%);border:1px solid #202126;box-shadow:inset 0 1px 1px #ffffff80,0 3px 8px #0003}.btn-auth-submit:hover{background:linear-gradient(175deg,#5b5c64,#28292e 60%,#202126)}.auth-actions button:active{opacity:.84}.auth-actions button:disabled{opacity:.6;cursor:wait}.is-shaking{animation:macos-shake .42s ease both}@keyframes macos-shake{0%,100%{translate:0}20%,60%{translate:-9px}40%,80%{translate:9px}}
@media(max-width:768px){.preview-sidebar{display:none}.preview-main{padding:42px 20px}.preview-heading h2{font-size:34px}.preview-search{display:none}.preview-books{grid-template-columns:repeat(3,minmax(75px,1fr));gap:42px 16px}.auth-glass-overlay{padding:calc(66px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom))}.auth-glass-card{padding:51px 24px 25px;max-width:390px}.auth-title{font-size:27px}.auth-subtitle{font-size:12px;margin-bottom:22px}.auth-input{font-size:16px}.auth-form{gap:14px}.auth-actions button{height:48px}}
@media(max-width:360px){.auth-glass-overlay{padding-left:12px;padding-right:12px}.auth-glass-card{padding-left:20px;padding-right:20px}.auth-title{font-size:25px}.auth-subtitle{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(prefers-reduced-transparency:reduce){.auth-glass-card{background:#e9eaed}.auth-input-wrap,.btn-auth-cancel{background:#f5f5f7}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.auth-glass-card{background:linear-gradient(165deg,#ececef,#dedfe5)}.auth-library-preview{filter:blur(6px)}}
