@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Karla:wght@400;500;600;700&display=swap";:root{--font-display:"Fraunces", serif;--font-body:"Karla", sans-serif;--transition-theme:background-color .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:26px;--shadow-sm:0 2px 8px var(--color-shadow);--shadow-md:0 8px 24px var(--color-shadow);--shadow-lg:0 16px 40px var(--color-shadow);--focus-ring:0 0 0 3px #c59a6c38;--color-bg:#211814;--color-bg-elevated:#2d211c;--color-bg-input:#261b17;--color-text:#f3eadc;--color-text-muted:#b8a697;--color-accent:#c59a6c;--color-accent-hover:#d6ae82;--color-border:#f3eadc1c;--color-a-lire:#9b806a;--color-en-cours:#c59a6c;--color-lu:#8fa184;--color-danger:#c27e70;--color-cover-placeholder-start:#3a2b24;--color-cover-placeholder-end:#2a1e19;--color-shadow:#0000003d;--color-overlay:#f3eadc0f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=brown]{--color-bg:#211814;--color-bg-elevated:#2d211c;--color-bg-input:#261b17;--color-text:#f3eadc;--color-text-muted:#b8a697;--color-accent:#c59a6c;--color-accent-hover:#d6ae82;--color-border:#f3eadc1c;--color-a-lire:#9b806a;--color-en-cours:#c59a6c;--color-lu:#8fa184;--color-danger:#c27e70;--color-cover-placeholder-start:#3a2b24;--color-cover-placeholder-end:#2a1e19;--color-shadow:#0000003d;--color-overlay:#f3eadc0f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=blue]{--color-bg:#101923;--color-bg-elevated:#182533;--color-bg-input:#141f2b;--color-text:#e7f1fa;--color-text-muted:#91a6b8;--color-accent:#5b9bd5;--color-accent-hover:#78b3e8;--color-border:#dcedfa1f;--color-a-lire:#7898b2;--color-en-cours:#5b9bd5;--color-lu:#6fa58e;--color-danger:#c77d7d;--color-cover-placeholder-start:#263746;--color-cover-placeholder-end:#1a2834;--color-shadow:#0000004d;--color-overlay:#dcedfa0f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=pink]{--color-bg:#21151c;--color-bg-elevated:#2d1d27;--color-bg-input:#261923;--color-text:#f7e9ef;--color-text-muted:#b99eaa;--color-accent:#d4779d;--color-accent-hover:#e493b5;--color-border:#f7e9ef1f;--color-a-lire:#ad8298;--color-en-cours:#d4779d;--color-lu:#7fa18d;--color-danger:#cf7d7d;--color-cover-placeholder-start:#3b2732;--color-cover-placeholder-end:#2a1c24;--color-shadow:#0000004d;--color-overlay:#f7e9ef0f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=green]{--color-bg:#121d18;--color-bg-elevated:#1b2a23;--color-bg-input:#16231d;--color-text:#e8f3ec;--color-text-muted:#98aea1;--color-accent:#6fa889;--color-accent-hover:#88c0a0;--color-border:#e8f3ec1f;--color-a-lire:#829c8d;--color-en-cours:#6fa889;--color-lu:#82b18f;--color-danger:#c77e7e;--color-cover-placeholder-start:#294037;--color-cover-placeholder-end:#1d3028;--color-shadow:#0000004d;--color-overlay:#e8f3ec0f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=yellow]{--color-bg:#211e13;--color-bg-elevated:#2e2919;--color-bg-input:#272316;--color-text:#f5f0dc;--color-text-muted:#b5ab86;--color-accent:#c7a84e;--color-accent-hover:#dfc16a;--color-border:#f5f0dc1f;--color-a-lire:#a99a6d;--color-en-cours:#c7a84e;--color-lu:#7fa082;--color-danger:#c77e70;--color-cover-placeholder-start:#3d3823;--color-cover-placeholder-end:#2b2719;--color-shadow:#0000004d;--color-overlay:#f5f0dc0f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=purple]{--color-bg:#181321;--color-bg-elevated:#241b30;--color-bg-input:#1e1728;--color-text:#f1eafa;--color-text-muted:#aa9ab9;--color-accent:#9b6dcc;--color-accent-hover:#b184df;--color-border:#f1eafa1f;--color-a-lire:#927da8;--color-en-cours:#9b6dcc;--color-lu:#7fa18d;--color-danger:#c77d8d;--color-cover-placeholder-start:#342746;--color-cover-placeholder-end:#241b31;--color-shadow:#0000004d;--color-overlay:#f1eafa0f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;width:100%;min-width:0;overflow-x:hidden}body{background-color:var(--color-bg);width:100%;min-width:0;color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;transition:var(--transition-theme);background-image:radial-gradient(circle at 0 0,#b58a5a14,#0000 30%);margin:0}#root{width:100%;min-width:0}button,input,select,textarea{font-family:var(--font-body)}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a{color:inherit;text-decoration:none;transition:color .2s,opacity .2s}a:hover{color:var(--color-accent)}img{max-width:100%;display:block}button{-webkit-tap-highlight-color:transparent;border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}input,select,textarea{max-width:100%;color:var(--color-text);background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;transition:border-color .2s,box-shadow .2s,background-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring)}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:.8}h1,h2,h3,h4{font-family:var(--font-display);margin:0;font-weight:600}::selection{background:var(--color-accent);color:var(--color-bg)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-text-muted);opacity:.4;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.profile-page{padding-top:10px}.profile-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);width:100%;max-width:520px;box-shadow:0 15px 40px var(--color-shadow);text-align:center;border-radius:18px;margin:30px auto 0;padding:32px}.profile-avatar-picker{flex-direction:column;align-items:center;gap:10px;margin-bottom:15px;display:flex}.profile-icon{background:#a9784e1a;border:1px solid #a9784e40;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0;font-size:1.7rem;display:flex}.profile-avatar-preview{object-fit:cover;border:1px solid var(--color-border);width:84px;height:84px;box-shadow:0 8px 20px var(--color-shadow);border-radius:50%}.profile-avatar-btn{border:1px dashed var(--color-accent);color:var(--color-accent);cursor:pointer;text-align:center;background:0 0;border-radius:999px;padding:7px 14px;font-size:.72rem;font-weight:600;transition:background .2s,color .2s;display:inline-block}.profile-avatar-btn:hover{color:var(--color-accent-hover);background:#a9784e1a}.profile-avatar-error{color:var(--color-danger);text-align:center;margin:0;font-size:.7rem}.profile-card h1{color:var(--color-text);margin-bottom:5px;font-size:1.8rem}.profile-subtitle{color:var(--color-text-muted);margin:0 0 28px;font-size:.85rem}.profile-card form{text-align:left;flex-direction:column;gap:15px;display:flex}.profile-field{flex-direction:column;gap:7px;display:flex}.profile-field label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.76rem;font-weight:700}.profile-field input{border:1px solid var(--color-border);background:var(--color-bg-input);width:100%;color:var(--color-text);font-family:var(--font-body);border-radius:10px;outline:none;padding:12px 14px;font-size:.88rem;transition:border-color .2s,box-shadow .2s}.profile-field input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #a9784e14}.profile-field input:disabled{opacity:.55;cursor:not-allowed}.profile-message{color:var(--color-lu);background:#71806b1a;border-radius:8px;margin:0;padding:9px 12px;font-size:.78rem;font-weight:600}.profile-save-btn{border:1px solid var(--color-accent);background:var(--color-accent);color:#fffdf8;cursor:pointer;border-radius:10px;width:100%;margin-top:3px;padding:12px;font-size:.82rem;font-weight:700;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}.profile-save-btn:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 6px 16px #a9784e33}.profile-save-btn:disabled{opacity:.55;cursor:not-allowed}.profile-friends-link{border:1px solid var(--color-border);background:var(--color-bg-input);color:var(--color-text);border-radius:999px;align-items:center;gap:6px;margin-bottom:22px;padding:8px 14px;font-size:.76rem;font-weight:600;text-decoration:none;transition:border-color .2s,color .2s;display:inline-flex}.profile-friends-link:hover{border-color:var(--color-accent);color:var(--color-accent)}.profile-privacy-zone{border-top:1px solid var(--color-border);text-align:left;margin-top:28px;padding-top:22px}.profile-privacy-zone h2{color:var(--color-text);margin-bottom:6px;font-size:.95rem}.privacy-toggle-list{flex-direction:column;gap:4px;margin-top:10px;display:flex}.privacy-toggle{border-bottom:1px solid var(--color-border);cursor:pointer;justify-content:space-between;align-items:center;padding:11px 4px;display:flex}.privacy-toggle:last-child{border-bottom:none}.privacy-toggle span{color:var(--color-text);font-size:.82rem}.privacy-toggle input{appearance:none;background:var(--color-border);cursor:pointer;border-radius:999px;width:38px;height:22px;transition:background-color .2s;position:relative}.privacy-toggle input:before{content:"";background:#fffdf8;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #00000040}.privacy-toggle input:checked{background:var(--color-accent)}.privacy-toggle input:checked:before{transform:translate(16px)}.privacy-toggle input:disabled{opacity:.6;cursor:not-allowed}.profile-data-zone{border-top:1px solid var(--color-border);text-align:left;margin-top:28px;padding-top:22px}.profile-data-zone h2{color:var(--color-text);margin-bottom:6px;font-size:.95rem}.profile-data-text{color:var(--color-text-muted);margin:0 0 14px;font-size:.78rem;line-height:1.5}.profile-export-btn{border:1px solid var(--color-border);background:var(--color-bg-input);width:100%;color:var(--color-text);cursor:pointer;border-radius:10px;padding:11px;font-size:.8rem;font-weight:600;transition:border-color .2s,background-color .2s}.profile-export-btn:hover:not(:disabled){border-color:var(--color-accent)}.profile-export-btn:disabled{opacity:.55;cursor:not-allowed}.profile-danger-zone{margin-top:16px}.profile-delete-btn{width:100%;color:var(--color-danger);cursor:pointer;background:0 0;border:1px solid #a86f614d;border-radius:10px;padding:11px;font-size:.8rem;font-weight:600;transition:background-color .2s,border-color .2s}.profile-delete-btn:hover:not(:disabled){background:#a86f6114}.profile-delete-btn:disabled{opacity:.55;cursor:not-allowed}.profile-delete-confirm{background:#a86f610f;border:1px solid #a86f6140;border-radius:10px;padding:14px}.profile-delete-confirm p{color:var(--color-text);margin:0 0 12px;font-size:.78rem;line-height:1.5}.profile-delete-confirm-actions{gap:8px;display:flex}.profile-delete-confirm-actions .profile-delete-btn{flex:1}.profile-cancel-btn{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:10px;flex:1;padding:11px;font-size:.8rem;font-weight:600;transition:border-color .2s}.profile-cancel-btn:hover:not(:disabled){border-color:var(--color-accent)}.profile-cancel-btn:disabled{opacity:.55;cursor:not-allowed}.profile-legal-links{opacity:.6;justify-content:center;align-items:center;gap:8px;margin-top:22px;display:flex}.profile-legal-links a{color:var(--color-text-muted);font-size:.65rem;text-decoration:none}.profile-legal-links a:hover{color:var(--color-accent);text-decoration:underline}.profile-legal-links span{color:var(--color-text-muted);font-size:.62rem}@media (width<=600px){.profile-card{margin-top:20px;padding:25px 20px}}.profile-security-zone{overflow:hidden}.profile-section-toggle{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.profile-section-toggle span:first-child{flex-direction:column;gap:4px;display:flex}.profile-section-toggle strong{font-size:.9rem;font-weight:700}.profile-section-toggle small{color:var(--color-text-muted);font-size:.72rem}.profile-section-chevron{border:1px solid var(--color-border);width:30px;height:30px;color:var(--color-text-muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:1rem;transition:transform .25s,background .25s;display:grid}.profile-security-zone.is-open .profile-section-chevron{color:var(--color-accent);background:#a9784e1a;transform:rotate(180deg)}.profile-section-toggle:hover .profile-section-chevron{border-color:var(--color-accent);color:var(--color-accent)}.profile-collapsible-content{padding:4px 0;animation:.22s profileAccordionIn}@keyframes profileAccordionIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.profile-refresh-zone{text-align:left;margin-top:28px;padding-top:22px}.profile-refresh-btn{border:1px solid var(--color-border);background:var(--color-bg-input);width:100%;color:var(--color-text);cursor:pointer;border-radius:10px;padding:11px;font-size:.8rem;font-weight:600;transition:border-color .2s,background-color .2s,transform .2s}.profile-refresh-btn:hover{border-color:var(--color-accent);background:#a9784e14}.profile-refresh-btn:active{transform:scale(.98)}.profile-import-zone .import-csv{margin-top:4px}.profile-import-zone .import-btn{border:1px solid var(--color-border);background:var(--color-bg-input);min-height:42px;color:var(--color-text);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0 16px;font-size:.78rem;font-weight:700;transition:border-color .2s,background .2s,transform .2s;display:inline-flex}.profile-import-zone .import-btn:hover{border-color:var(--color-accent);background:#a9784e14}.profile-import-zone .import-btn:active{transform:scale(.98)}@media (width<=700px){.profile-section-toggle{padding:13px 0}.profile-section-toggle strong{font-size:.84rem}.profile-section-toggle small{font-size:.68rem}}.profile-theme-zone{border-top:1px solid var(--color-border);text-align:left;margin-top:28px;padding-top:22px}.profile-theme-zone h2{color:var(--color-text);margin-bottom:6px;font-size:.95rem}.profile-theme-description{color:var(--color-text-muted);margin:0 0 15px;font-size:.78rem;line-height:1.5}.profile-theme-list{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.profile-theme-button{border:1px solid var(--color-border);background:var(--color-bg-input);min-height:76px;color:var(--color-text-muted);cursor:pointer;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:10px 5px;transition:border-color .2s,background-color .2s,transform .2s,box-shadow .2s;display:flex;position:relative}.profile-theme-button:hover:not(:disabled){border-color:var(--theme-color);box-shadow:0 5px 14px var(--color-shadow);transform:translateY(-2px)}.profile-theme-button.active{border-color:var(--theme-color);background:color-mix(in srgb, var(--theme-color) 8%, var(--color-bg-input));box-shadow:0 0 0 2px color-mix(in srgb, var(--theme-color) 18%, transparent)}.profile-theme-color{background:var(--theme-color);border-radius:50%;flex-shrink:0;width:30px;height:30px;box-shadow:inset 0 0 0 1px #00000014,0 3px 8px #0000001f}.profile-theme-name{font-size:.66rem;font-weight:700}.profile-theme-check{background:var(--theme-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;font-size:.58rem;font-weight:800;display:flex;position:absolute;top:6px;right:6px}@media (width<=430px){.profile-theme-list{grid-template-columns:repeat(2,1fr)}.profile-theme-button{min-height:70px}}.import-csv{align-items:center;gap:12px;margin:22px 0 8px;display:flex}.import-btn{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:8px 13px;font-size:.72rem;font-weight:600;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.import-btn:hover{background:var(--color-bg-elevated);color:var(--color-text);border-color:#3e2b2233;transform:translateY(-1px)}.import-result{color:var(--color-lu);margin:0;font-size:.75rem;font-weight:600}@media (width<=500px){.import-csv{flex-direction:column;align-items:flex-start}}.login-page{color:#f4eadb;background:radial-gradient(circle at 50% -10%,#c2976521,#0000 38%),radial-gradient(circle at 0 100%,#74896714,#0000 32%),linear-gradient(145deg,#211712 0%,#251a15 48%,#1d1411 100%);justify-content:center;align-items:center;min-height:100dvh;padding:40px 20px;display:flex;position:relative;overflow:hidden}.ambient{pointer-events:none;filter:blur(2px);opacity:.7;border-radius:50%;position:absolute}.ambient-one{background:#be915e12;width:320px;height:320px;top:-180px;left:-100px}.ambient-two{background:#778d690f;width:260px;height:260px;bottom:-100px;right:-100px}.ambient-three{background:#d3a66c09;width:140px;height:140px;top:18%;right:13%}.login-content{z-index:2;flex-direction:column;align-items:center;width:100%;max-width:430px;display:flex;position:relative}.login-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:28px;display:flex}.brand{align-items:center;gap:13px;display:flex}.brand-logo{flex-shrink:0;width:49px;height:49px;position:relative}.book{transform-origin:0 100%;border-radius:3px 4px 4px 2px;width:24px;height:31px;position:absolute;box-shadow:0 4px 10px #00000038}.book:after{content:"";background:#ffffff59;border-radius:999px;height:2px;position:absolute;bottom:5px;left:4px;right:4px}.book-green{background:#88c95a;top:1px;left:4px;transform:rotate(0)}.book-pink{background:#e43878;top:7px;left:13px;transform:rotate(0)}.book-blue{background:#4da8d8;top:14px;left:19px;transform:rotate(0)}.brand-name{flex-direction:column;align-items:flex-start;line-height:1;display:flex}.brand-name>span{letter-spacing:-.055em;color:#f6eddf;text-shadow:0 2px 18px #0003;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.35rem,8vw,3rem);font-weight:700}.brand-name small{color:#caa980;letter-spacing:.24em;margin-top:8px;font-family:Arial,sans-serif;font-size:.62rem;font-weight:700}.login-tagline{color:#aa9685;letter-spacing:.02em;margin:16px 0 0;font-family:Georgia,Times New Roman,serif;font-size:.9rem;font-style:italic}.login-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#35261ff5,#271b17f7);border:1px solid #dbbf9b1f;border-radius:24px;width:100%;padding:34px;position:relative;overflow:hidden;box-shadow:0 35px 90px #00000061,0 8px 30px #00000029,inset 0 1px #ffffff09}.card-decoration{filter:blur(20px);pointer-events:none;background:#c99e691f;border-radius:50%;width:170px;height:170px;position:absolute;top:-120px;right:-70px}.card-header{text-align:center;margin-bottom:28px;position:relative}.eyebrow{color:#c6a27a;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;font-family:Arial,sans-serif;font-size:.65rem;font-weight:700;display:inline-block}.card-header h1{color:#f5ecdf;letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.65rem,5vw,2rem);font-weight:600;line-height:1.15}.card-header p{color:#a99789;max-width:310px;margin:10px auto 0;font-size:.82rem;line-height:1.55}.login-form{flex-direction:column;gap:17px;width:100%;display:flex}.field{flex-direction:column;gap:7px;display:flex}.field-label{color:#c9b7a7;letter-spacing:.03em;padding-left:2px;font-size:.7rem;font-weight:600}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:#987d66;pointer-events:none;justify-content:center;align-items:center;width:17px;height:17px;transition:color .2s,transform .2s;display:flex;position:absolute;left:15px}.input-icon svg{width:100%;height:100%}.login-form input{box-sizing:border-box;color:#f4eadc;background:#1a120f7a;border:1px solid #d3b89721;border-radius:12px;outline:none;width:100%;min-width:0;padding:13px 15px 13px 45px;font-family:inherit;font-size:.84rem;transition:border-color .2s,background-color .2s,box-shadow .2s,transform .2s}.login-form input::placeholder{color:#77675c;opacity:1}.login-form input:hover{background:#1d14119e;border-color:#d3b89738}.login-form input:focus{background:#1d1411c7;border-color:#caa16d8c;box-shadow:0 0 0 4px #caa16d11,0 8px 24px #0000001f}.input-wrapper:focus-within .input-icon{color:#c9a26f;transform:scale(1.05)}.input-wrapper-password input{padding-right:44px}.toggle-visibility-btn{color:#987d66;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:color .2s;display:flex;position:absolute;right:13px}.toggle-visibility-btn svg{width:100%;height:100%}.toggle-visibility-btn:hover{color:#c9a26f}.cgu-checkbox{cursor:pointer;align-items:flex-start;gap:9px;padding:2px 2px 0;display:flex}.cgu-checkbox input{accent-color:#c9a06d;cursor:pointer;flex-shrink:0;width:15px;height:15px;margin-top:1px}.cgu-checkbox span{color:#a99789;font-size:.72rem;line-height:1.5}.cgu-checkbox a{color:#c9a06d;font-weight:600;text-decoration:none}.cgu-checkbox a:hover{text-decoration:underline}.error-message{color:#d99b8c;background:#9b4f4214;border:1px solid #be705f2e;border-radius:10px;align-items:center;gap:9px;padding:10px 12px;font-size:.72rem;display:flex}.error-message>span{background:#be705f26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:.68rem;font-weight:800;display:flex}.error-message p{margin:0}.login-button{color:#fffaf3;cursor:pointer;background:linear-gradient(135deg,#cda574,#b98b59);border:1px solid #e6c69e1f;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:48px;margin-top:3px;padding:13px 18px;font-family:inherit;font-size:.78rem;font-weight:700;transition:transform .2s,box-shadow .2s,filter .2s;display:flex;box-shadow:0 8px 20px #91653a2e}.login-button svg{width:17px;height:17px;transition:transform .2s}.login-button:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 12px 28px #91653a47}.login-button:hover:not(:disabled) svg{transform:translate(3px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.65;cursor:not-allowed}.card-footer{color:#88776b;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;margin-top:23px;font-size:.72rem;display:flex}.toggle-button{color:#c9a06d;font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;transition:color .2s,transform .2s}.toggle-button:hover{color:#e0bd8b;transform:translateY(-1px)}.forgot-password-link{color:#a99789;cursor:pointer;background:0 0;border:none;align-self:flex-end;margin-top:2px;padding:0;font-family:inherit;font-size:.7rem;font-weight:600;transition:color .2s,transform .2s}.forgot-password-link:hover{color:#c9a06d;transform:translateY(-1px)}.reset-success{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.reset-success p{color:#d3ddcd;background:#71806b1a;border:1px solid #71806b38;border-radius:10px;margin:0;padding:12px 14px;font-size:.8rem;line-height:1.5}.reset-success strong{color:#f4eadc}.login-footer{color:#66574d;letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;gap:12px;width:100%;margin-top:24px;font-size:.6rem;display:flex}.footer-line{background:#b4967829;width:35px;height:1px}.legal-footer-links{opacity:.65;justify-content:center;align-items:center;gap:8px;margin-top:12px;display:flex}.login-card{animation:.55s ease-out both cardAppear}.login-header{animation:.55s ease-out both headerAppear}.login-footer{animation:.7s ease-out .1s both footerAppear}@keyframes cardAppear{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes headerAppear{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes footerAppear{0%{opacity:0}to{opacity:1}}@media (width<=600px){.login-page{padding:28px 16px}.login-content{max-width:400px}.login-header{margin-bottom:22px}.brand-logo{width:43px;height:43px}.brand-name>span{font-size:2.25rem}.brand-name small{font-size:.55rem}.login-tagline{margin-top:13px;font-size:.82rem}.login-card{border-radius:20px;padding:27px 21px}.card-header{margin-bottom:23px}.card-header h1{font-size:1.55rem}.card-header p{font-size:.76rem}.login-form{gap:15px}.login-footer{margin-top:19px;font-size:.54rem}}@media (width<=360px){.login-page{padding:20px 12px}.brand-name>span{font-size:2rem}.login-card{padding:23px 17px}.card-header h1{font-size:1.4rem}.card-header p{font-size:.72rem}}@media (prefers-reduced-motion:reduce){.login-card,.login-header,.login-footer{animation:none}.login-button,.login-form input,.toggle-button,.input-icon,.toggle-visibility-btn{transition:none}}.landing-page{color:#f4e8d4;background:radial-gradient(circle at 78% 38%,#7e4d2b38,#0000 32%),linear-gradient(135deg,#1b110c 0%,#2a1810 52%,#160d09 100%);min-height:100vh;padding:0 6vw;font-family:Georgia,Times New Roman,serif;position:relative;overflow:hidden}.landing-glow{pointer-events:none;filter:blur(80px);opacity:.22;border-radius:50%;position:absolute}.landing-glow-one{background:#a8754d;width:380px;height:380px;top:5%;right:8%}.landing-glow-two{background:#6b3c27;width:280px;height:280px;bottom:0;left:5%}.landing-nav{z-index:2;justify-content:space-between;align-items:center;max-width:1380px;height:92px;margin:0 auto;display:flex;position:relative}.landing-brand{color:#f4e8d4;align-items:center;gap:12px;font-size:1.55rem;font-weight:700;text-decoration:none;display:inline-flex}.landing-brand img{object-fit:contain;width:42px;height:42px}.landing-login{color:#f4e8d4;border:1px solid #f4e8d459;border-radius:999px;padding:10px 20px;font-family:Arial,sans-serif;font-size:.9rem;text-decoration:none;transition:transform .2s,background .2s}.landing-login:hover{background:#ffffff14;transform:translateY(-2px)}.landing-hero{z-index:1;grid-template-columns:1.05fr .95fr;align-items:center;gap:60px;max-width:1380px;min-height:610px;margin:0 auto;display:grid;position:relative}.landing-copy{max-width:680px}.landing-eyebrow{color:#c69a70;letter-spacing:.18em;margin-bottom:20px;font-family:Arial,sans-serif;font-size:.74rem;font-weight:700;display:inline-block}.landing-copy h1{letter-spacing:-.045em;margin:0;font-size:clamp(4rem,7vw,7.5rem);font-weight:500;line-height:.92}.landing-copy h1 em{color:#c99868;font-style:italic}.landing-copy>p{color:#cdbda9;max-width:560px;margin:30px 0;font-family:Arial,sans-serif;font-size:1.12rem;line-height:1.7}.landing-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.landing-primary,.landing-secondary{font-family:Arial,sans-serif;font-weight:700;text-decoration:none}.landing-primary{color:#25160e;background:#e4c39b;border-radius:12px;align-items:center;gap:18px;padding:15px 22px;transition:transform .2s;display:inline-flex;box-shadow:0 16px 45px #00000040}.landing-primary span{font-size:1.2rem}.landing-primary:hover{transform:translateY(-3px)}.landing-secondary{color:#e4d4c0;padding:15px 8px}.landing-visual{justify-content:center;align-items:center;min-height:480px;display:flex;position:relative}.book-stack{width:360px;height:340px;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.book-shape{border-radius:12px 12px 7px 7px;position:absolute;bottom:0;box-shadow:18px 22px 35px #00000059}.book-shape-one{background:#d8a66d;width:82px;height:255px;left:20px;transform:rotate(-5deg)}.book-shape-two{background:#efd0a2;width:94px;height:305px;left:105px}.book-shape-three{background:#8d5a36;width:88px;height:270px;left:205px;transform:rotate(3deg)}.book-shape-four{background:#d9b17d;width:82px;height:235px;left:278px;transform:rotate(13deg)}.landing-logo-card{z-index:2;aspect-ratio:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#24140db8;border:1px solid #f4e8d447;border-radius:50%;place-items:center;width:min(320px,68%);display:grid;position:relative;box-shadow:0 35px 90px #00000073,inset 0 0 60px #e6c2970f}.landing-logo-card img{object-fit:contain;width:72%;height:72%}.landing-features{z-index:2;border-top:1px solid #f4e8d429;grid-template-columns:repeat(3,1fr);gap:34px;max-width:1380px;margin:20px auto 0;padding:34px 0;display:grid;position:relative}.landing-features article{padding-right:30px}.landing-features article+article{border-left:1px solid #f4e8d41f;padding-left:30px}.landing-features span{color:#a97a55;letter-spacing:.12em;font-family:Arial,sans-serif;font-size:.75rem}.landing-features h2{margin:8px 0;font-size:1.55rem;font-weight:500}.landing-features p{color:#bca995;margin:0;font-family:Arial,sans-serif;line-height:1.55}.landing-footer{z-index:2;color:#8f7c6a;justify-content:space-between;gap:20px;max-width:1380px;margin:0 auto;padding:22px 0 28px;font-family:Arial,sans-serif;font-size:.78rem;display:flex;position:relative}.landing-footer div{gap:18px;display:flex}.landing-footer a{color:inherit;text-decoration:none}.landing-footer a:hover{color:#d9c1a4}@media (width<=850px){.landing-page{padding:0 22px}.landing-nav{height:76px}.landing-hero{grid-template-columns:1fr;gap:10px;min-height:auto;padding:70px 0 50px}.landing-copy{text-align:center;margin:0 auto}.landing-copy h1{font-size:clamp(3.4rem,16vw,6rem)}.landing-copy>p{margin-left:auto;margin-right:auto}.landing-actions{justify-content:center}.landing-visual{min-height:400px}.landing-features{grid-template-columns:1fr}.landing-features article+article{border-top:1px solid #f4e8d41f;border-left:0;padding:28px 0 0}.landing-footer{flex-direction:column}}.star-rating{align-items:center;gap:2px;width:fit-content;display:inline-flex}.star{color:#d8cbbb;cursor:pointer;font-size:1rem;line-height:1;transition:color .15s,transform .15s}.star.filled{color:var(--color-accent)}.star-rating:not(.readonly) .star:hover{color:var(--color-accent-hover);transform:scale(1.12)}.star-rating.readonly .star{cursor:default}.favorite-star{color:#c94b4b;font:inherit;cursor:pointer;opacity:.38;background:0 0;border:none;justify-content:center;align-items:center;margin-left:5px;padding:0;font-size:.9rem;line-height:1;transition:color .15s,opacity .15s,transform .15s;display:inline-flex}.favorite-star.active{color:#d93636;opacity:1}.favorite-star:not(:disabled):hover{color:#e22f2f;opacity:1;transform:scale(1.14)}.favorite-star.readonly,.favorite-star:disabled{cursor:default}.favorite-star.readonly.active,.favorite-star:disabled.active{opacity:1}.book-list{margin-top:38px}.library-tools{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.library-search{flex-direction:column;flex:1;gap:6px;max-width:420px;display:flex}.library-search span{color:var(--color-text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;font-weight:800}.library-search input{border:1px solid var(--color-border);background:var(--color-bg-input);width:100%;color:var(--color-text);box-shadow:0 4px 15px var(--color-shadow);border-radius:12px;padding:11px 14px;font-size:.84rem;transition:border-color .2s,box-shadow .2s}.library-search input::placeholder{color:var(--color-text-muted);opacity:.75}.library-search input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 4px #a9784e14}.tabs{border-bottom:1px solid var(--color-border);align-items:center;gap:28px;margin-bottom:24px;display:flex}.tab{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:0 0 13px;font-size:.9rem;font-weight:600;transition:color .2s,transform .2s;position:relative}.tab:before{display:none}.tab:after{content:"";background:var(--color-accent);transform-origin:50%;height:2px;transition:transform .2s;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-text);border:none;font-weight:700}.tab.active:after{transform:scaleX(1)}.sort-bar{--control-height:36px;--control-radius:999px;--control-font-size:.78rem;color:var(--color-text-muted);font-size:var(--control-font-size);justify-content:flex-start;align-items:center;gap:10px;margin-bottom:24px;display:flex}.sort-bar label{font-size:var(--control-font-size);letter-spacing:.01em;white-space:nowrap;color:var(--color-text-muted);margin-left:6px;margin-right:-4px;font-weight:500;line-height:1}.view-toggle-btn,.sort-bar select{box-sizing:border-box;height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--control-radius);background-color:var(--color-bg-elevated);color:var(--color-text-muted);font-family:inherit;font-size:var(--control-font-size);letter-spacing:0;cursor:pointer;margin:0;font-weight:600;line-height:1;transition:border-color .2s,color .2s,background-color .2s}.view-toggle-btn{white-space:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:7px;padding:0 16px;display:inline-flex}.sort-bar select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;flex:none;width:auto;min-width:0;padding:0 32px 0 16px}.view-toggle-btn:hover,.sort-bar select:hover{border-color:var(--color-accent);color:var(--color-text)}.view-toggle-btn:focus-visible,.sort-bar select:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 22%, transparent);outline:none}.empty-message{text-align:center;color:var(--color-text-muted);font-family:var(--font-display);padding:55px 20px;font-size:1rem;font-style:italic}.books-compact-list{flex-direction:column;gap:4px;display:flex}.book-compact-row{cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:8px 10px;transition:background-color .15s;display:flex}.book-compact-row:hover{background-color:var(--color-bg-elevated)}.book-compact-cover{background:var(--color-bg-input);width:34px;height:50px;box-shadow:0 2px 6px var(--color-shadow);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.book-compact-cover img{object-fit:cover;width:100%;height:100%}.book-compact-placeholder{opacity:.5;font-size:1rem}.book-compact-titre{font-family:var(--font-display);color:var(--color-text);font-size:.9rem}.books-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:34px 24px;display:grid}.book-card{box-shadow:none;background:0 0;border:none;border-radius:14px;flex-direction:column;padding:0;transition:transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden}.book-card:before{display:none}.book-card:hover{box-shadow:0 18px 35px var(--color-shadow);transform:translateY(-7px)}.cover-wrapper{aspect-ratio:2/3;background:var(--color-bg-input);width:100%;box-shadow:0 8px 20px var(--color-shadow), 0 2px 5px var(--color-shadow);border-radius:12px;position:relative;overflow:hidden}.cover-wrapper img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .5s,transform .45s;display:block}.cover-wrapper img.loaded{opacity:1}.book-card:hover .cover-wrapper img{transform:scale(1.035)}.cover-clickable{cursor:pointer;width:100%;height:100%}.cover-placeholder{background:linear-gradient(145deg, var(--color-cover-placeholder-start), var(--color-cover-placeholder-end));width:100%;height:100%;color:var(--color-text-muted);font-family:var(--font-display);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:15px;font-size:.8rem;font-style:italic;display:flex}.cover-placeholder-icon{opacity:.55;font-size:2rem}.edit-cover-btn{color:#fffdf8;cursor:pointer;opacity:0;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#1e1612c7;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;transition:opacity .2s,transform .2s,background-color .2s;display:flex;position:absolute;top:12px;right:12px}.cover-wrapper:hover .edit-cover-btn{opacity:1}.edit-cover-btn:hover{background:#1e1612eb;transform:scale(1.08)}.edit-cover-panel{z-index:5;color:#fffdf8;text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#261b17f0;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px;display:flex;position:absolute;inset:0}.cover-search-status{color:#e9dfd2;margin:0;font-size:.8rem;line-height:1.4}.import-cover-btn{border:1px solid var(--color-accent);color:var(--color-accent);cursor:pointer;background:0 0;border-radius:999px;padding:10px 15px;font-size:.78rem;font-weight:600;transition:background .2s,color .2s;display:inline-block}.import-cover-btn:hover{background:var(--color-accent);color:var(--color-bg)}.cover-upload-error{color:var(--color-danger);margin:0;font-size:.72rem;line-height:1.35}.cancel-cover-btn{color:#cdbfb1;cursor:pointer;background:0 0;border:none;padding:7px 14px;font-size:.75rem;transition:color .2s}.cancel-cover-btn:hover{color:#fffdf8}.cover-suggestions-grid{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-height:160px;padding:2px;display:grid;overflow-y:auto}.cover-wrapper .cover-suggestion-item,.cover-suggestion-item{aspect-ratio:2/3;object-fit:cover;opacity:1;cursor:pointer;border:2px solid #0000;border-radius:6px;width:100%;transition:transform .15s,border-color .15s;display:block}.cover-suggestion-item:hover{border-color:var(--color-accent);transform:scale(1.05)}.cover-suggestions-grid::-webkit-scrollbar{width:5px}.cover-suggestions-grid::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:3px}.cover-suggestions-attribution{color:#cdbfb1;margin:0;font-size:.68rem;line-height:1.3}.cover-suggestions-attribution a{color:#e9dfd2;text-decoration:underline}.book-info{flex-direction:column;gap:5px;padding:14px 3px 0;display:flex}.book-info strong{font-family:var(--font-display);color:var(--color-text);font-size:1rem;line-height:1.25}.book-info p{color:var(--color-text-muted);margin:0;font-size:.78rem;line-height:1.35}.book-pages{opacity:.7;color:var(--color-text-muted)!important;font-size:.7rem!important}.book-info .star-rating{margin-top:5px}.book-actions{gap:7px;margin-top:11px;display:flex}.book-actions select{border:1px solid var(--color-border);background:var(--color-bg-elevated);min-width:0;color:var(--color-text-muted);cursor:pointer;border-radius:8px;flex:1;padding:8px 10px;font-size:.72rem;transition:border-color .2s,color .2s,background-color .2s}.book-actions select:hover{border-color:var(--color-accent);color:var(--color-text)}.book-actions select:focus{border-color:var(--color-accent)}.delete-btn{border:1px solid var(--color-border);width:34px;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:8px;transition:color .2s,background .2s,border-color .2s}.delete-btn:hover{color:var(--color-danger);background:#a86f611a;border-color:#a86f614d}@media (prefers-color-scheme:dark){.cover-wrapper{box-shadow:0 10px 25px #00000052,0 2px 6px #00000040}.book-card:hover{box-shadow:0 20px 40px #0006}.edit-cover-panel{background:#211814f2}}@media (prefers-color-scheme:light){.cover-wrapper{box-shadow:0 8px 20px #3e2b221f,0 2px 5px #3e2b2212}.book-card:hover{box-shadow:0 18px 35px #3e2b221f}.edit-cover-panel{background:#30251fed}}@media (width<=700px){.book-list{margin-top:10px}.library-tools{display:block}.library-search{gap:5px;max-width:none}.tabs{-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:none;gap:17px;margin-bottom:15px;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{flex-shrink:0}.books-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 15px}.book-info strong{font-size:.9rem}.edit-cover-btn{opacity:1}.edit-cover-panel{top:10vh;left:5vw;right:5vw;inset:unset;z-index:1000;border-radius:16px;width:auto;max-width:380px;max-height:78vh;margin:0 auto;position:fixed;overflow-y:auto;box-shadow:0 25px 60px #00000073}.edit-cover-panel:before{content:"";z-index:-1;background:#140e0b99;position:fixed;inset:0}.cover-suggestions-grid{grid-template-columns:repeat(3,1fr);gap:12px;max-height:48vh}}@media (width<=500px){.sort-bar{--control-height:34px;flex-wrap:nowrap;justify-content:flex-end;gap:8px;margin-bottom:15px}.view-toggle-btn{flex-shrink:0;margin-right:auto;padding:0 13px}.sort-bar label{flex-shrink:0;margin-left:0}.sort-bar select{flex:0 auto;width:auto;min-width:0;padding:0 30px 0 13px}}@media (width<=400px){.books-grid{gap:24px 12px}.book-info{padding-top:10px}.book-info strong{font-size:.86rem}.book-info p{font-size:.72rem}.book-actions select{font-size:.68rem}.delete-btn{width:32px}}.cover-modal-layer .edit-cover-panel{box-sizing:border-box;color:#fffdf8;-webkit-overflow-scrolling:touch;background:#211814fa;border:1px solid #ffffff1f;border-radius:20px;flex-direction:column;justify-content:flex-start;gap:12px;width:min(430px,100%);max-width:430px;max-height:min(760px,100dvh - 40px);padding:20px;display:flex;position:relative;inset:auto;overflow:hidden auto;box-shadow:0 28px 80px #0000008c}.cover-modal-layer .cover-edit-header{flex:none}.cover-modal-layer .cover-suggestions-grid{box-sizing:border-box;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-height:none;padding:2px;display:grid;overflow:visible}.cover-modal-layer .cover-suggestion-card{width:100%;min-width:0;color:inherit;text-align:center;cursor:pointer;background:0 0;border:0;padding:0}.cover-modal-layer .cover-suggestion-image{aspect-ratio:2/3;box-sizing:border-box;background:#ffffff0f;border:2px solid #0000;border-radius:10px;width:100%;transition:transform .18s,border-color .18s;display:block;overflow:hidden;box-shadow:0 5px 14px #0000003d}.cover-modal-layer .cover-suggestion-card:hover .cover-suggestion-image,.cover-modal-layer .cover-suggestion-card:focus-visible .cover-suggestion-image{border-color:var(--color-accent);transform:translateY(-3px)}.cover-modal-layer .cover-suggestion-card:focus-visible{outline:none}.cover-modal-layer .cover-suggestion-item{object-fit:cover;opacity:1;border:0;border-radius:8px;width:100%;height:100%;display:block}.cover-modal-layer .cover-suggestion-label{color:#cdbfb1;margin-top:5px;font-size:.64rem;font-weight:700;display:block}.cover-modal-layer .import-cover-btn{box-sizing:border-box;background:var(--color-accent);color:#fffdf8;text-align:center;border-radius:10px;flex:none;justify-content:center;align-items:center;width:100%;min-height:44px;padding:11px 14px;font-size:.78rem;font-weight:700;display:flex}.cover-modal-layer .cancel-cover-btn{flex:none;align-self:center;padding:6px 12px}@media (width<=700px){.cover-modal-layer{align-items:flex-start;padding:12px;overflow:hidden}.cover-modal-layer .edit-cover-panel{border-radius:18px;width:100%;max-width:520px;max-height:calc(100dvh - 24px);margin:auto;padding:18px}.cover-modal-layer .cover-suggestions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cover-modal-layer .cover-edit-heading strong{font-size:1.08rem}.cover-modal-layer .cover-edit-heading>span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 110px);overflow:hidden}.cover-modal-layer .cover-search-status{font-size:.76rem}}@media (width<=380px){.cover-modal-layer{padding:8px}.cover-modal-layer .edit-cover-panel{border-radius:16px;max-height:calc(100dvh - 16px);padding:15px}.cover-modal-layer .cover-suggestions-grid{gap:10px}}.book-title-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.book-title-row strong{min-width:0}.book-status{white-space:nowrap;background:var(--color-bg-input);color:var(--color-text-muted);border-radius:999px;flex-shrink:0;padding:4px 7px;font-size:.58rem;font-weight:700;line-height:1}.status-lu{color:var(--color-lu);background:#71806b24}.status-en_cours{color:var(--color-en-cours);background:#b58a5a24}.status-a_lire{color:var(--color-a-lire);background:#8d725d24}.status-inacheve,.status-abandonnee{color:var(--color-danger);background:#a86f611f}.book-meta{flex-wrap:wrap;gap:5px 9px;margin-top:1px;display:flex}.book-meta span{color:var(--color-text-muted);font-size:.68rem}.book-meta span+span:before{content:"•";opacity:.45;margin-right:9px}.book-actions{align-items:center}.edit-book-btn,.delete-btn{flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.edit-book-btn{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:8px;transition:color .2s,background .2s,border-color .2s}.edit-book-btn:hover{color:var(--color-accent);background:#a9784e14;border-color:#a9784e4d}.delete-modal-layer{z-index:100000;-webkit-backdrop-filter:blur(5px);background:#140e0b9e;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.delete-modal{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-elevated);width:min(430px,100%);color:var(--color-text);box-shadow:var(--shadow-lg);padding:28px;animation:.2s ease-out delete-modal-in}.delete-modal-eyebrow{color:var(--color-danger);letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px;font-size:.65rem;font-weight:800;display:block}.delete-modal h2{font-family:var(--font-display);margin:0;font-size:1.45rem}.delete-modal p{color:var(--color-text-muted);margin:12px 0 24px;font-size:.86rem;line-height:1.55}.delete-modal p strong{color:var(--color-text)}.delete-modal-actions{justify-content:flex-end;gap:9px;display:flex}.delete-modal-cancel,.delete-modal-confirm{cursor:pointer;border-radius:10px;min-height:40px;padding:9px 16px;font-size:.78rem;font-weight:700;transition:transform .18s,background .18s,border-color .18s}.delete-modal-cancel{border:1px solid var(--color-border);color:var(--color-text-muted);background:0 0}.delete-modal-cancel:hover{border-color:var(--color-accent);color:var(--color-text)}.delete-modal-confirm{border:1px solid var(--color-danger);background:var(--color-danger);color:#fffdf8}.delete-modal-confirm:hover:not(:disabled){filter:brightness(.94);transform:translateY(-1px)}@keyframes delete-modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=500px){.book-title-row{display:block}.book-status{margin-top:5px;display:inline-block}.delete-modal{border-radius:18px;padding:22px}.delete-modal-actions{grid-template-columns:1fr 1fr;display:grid}}.book-card{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.book-info{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.book-info strong{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;display:-webkit-box;overflow:hidden}.book-info p:not(.book-pages){-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:2.7em;display:-webkit-box;overflow:hidden}.book-pages{min-height:1.2em}.book-info .star-rating{align-items:center;min-height:22px;display:flex}.book-actions{box-sizing:border-box;width:100%;min-width:0;min-height:34px;margin-top:auto}.book-actions select{box-sizing:border-box;min-width:0;max-width:100%}@media (width<=700px){.book-info{gap:4px;padding-top:9px}.book-info strong{min-height:2.4em;font-size:.78rem;line-height:1.2}.book-info p:not(.book-pages){min-height:2.5em;font-size:.66rem;line-height:1.25}.book-pages{min-height:1.2em}.book-info .star-rating{min-height:20px;margin-top:3px}.book-actions{gap:5px;min-height:30px;margin-top:auto}.book-actions select{padding:7px 8px;font-size:.66rem}.delete-btn,.edit-book-btn{flex:0 0 30px;width:30px;height:30px}}@media (hover:none),(width<=700px){.book-card,.book-card:hover,.book-card:active{box-shadow:none;-webkit-tap-highlight-color:transparent;transform:none}.book-card:hover .cover-wrapper img,.book-card:active .cover-wrapper img{transform:none}}.books-grid{align-items:start}.book-card{flex-direction:column;min-width:0;height:auto;display:flex}.book-info{box-sizing:border-box;flex-direction:column;flex:0 0 190px;gap:5px;min-width:0;height:190px;min-height:190px;display:flex}.book-info strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;max-height:2.5em;display:-webkit-box;overflow:hidden}.book-info p:not(.book-pages){-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.7em;max-height:2.7em;display:-webkit-box;overflow:hidden}.book-pages{flex-shrink:0;min-height:1.35em;max-height:1.35em;line-height:1.35}.book-info .star-rating{flex-shrink:0;align-items:center;height:20px;min-height:20px;margin-top:auto;display:flex}.book-actions{box-sizing:border-box;flex:0 0 34px;height:34px;min-height:34px;margin-top:11px}.book-actions select{box-sizing:border-box;min-width:0;max-width:100%;height:34px}.delete-btn,.edit-book-btn{box-sizing:border-box;height:34px;min-height:34px;max-height:34px}@media (width<=700px){.book-info{flex-basis:153px;gap:4px;height:153px;min-height:153px;padding-top:9px}.book-info strong{min-height:2.4em;max-height:2.4em;font-size:.78rem;line-height:1.2}.book-info p:not(.book-pages){min-height:2.5em;max-height:2.5em;font-size:.66rem;line-height:1.25}.book-pages{min-height:1.25em;max-height:1.25em}.book-info .star-rating{height:20px;min-height:20px}.book-actions{flex-basis:30px;gap:5px;height:30px;min-height:30px;margin-top:8px}.book-actions select{height:30px;padding:7px 8px;font-size:.66rem}.delete-btn,.edit-book-btn{flex:0 0 30px;width:30px;height:30px;min-height:30px;max-height:30px}}@media (width<=400px){.book-info{box-sizing:border-box;flex:0 0 135px;grid-template-rows:30px 30px 14px 18px 30px;gap:2px;height:135px;min-height:135px;padding:5px 3px 0;display:grid}.book-info strong{-webkit-line-clamp:2;box-sizing:border-box;-webkit-box-orient:vertical;grid-row:1;width:100%;height:30px;min-height:30px;max-height:30px;font-size:.78rem;line-height:15px;display:-webkit-box;overflow:hidden}.book-info p:not(.book-pages){-webkit-line-clamp:2;box-sizing:border-box;-webkit-box-orient:vertical;grid-row:2;width:100%;height:30px;min-height:30px;max-height:30px;font-size:.66rem;line-height:15px;display:-webkit-box;overflow:hidden}.book-pages{box-sizing:border-box;grid-row:3;width:100%;height:14px;min-height:14px;max-height:14px;margin:0;font-size:.64rem!important;line-height:14px!important}.book-info:before{content:"";box-sizing:border-box;grid-row:3;width:100%;height:14px}.book-info:has(.book-pages):before{display:none}.book-info .star-rating{box-sizing:border-box;grid-row:4;align-items:center;width:100%;height:18px;min-height:18px;max-height:18px;margin:0;display:flex}.book-actions{box-sizing:border-box;grid-row:5;align-items:center;gap:5px;width:100%;height:30px;min-height:30px;max-height:30px;margin:0;display:flex}.book-actions select{height:30px;min-height:30px;padding:5px 8px;font-size:.65rem}.delete-btn,.edit-book-btn{flex:0 0 30px;width:30px;height:30px;min-height:30px;max-height:30px;padding:0}}.book-detail{padding-top:10px}.back-btn{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:999px;margin-bottom:30px;padding:8px 15px;font-size:.8rem;font-weight:600;transition:border-color .2s,color .2s,background-color .2s}.back-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:#a9784e0d}.detail-loading{text-align:center;color:var(--color-text-muted);font-family:var(--font-display);padding:60px 0;font-style:italic}.detail-content{align-items:flex-start;gap:40px;display:flex}.detail-cover-block{flex-shrink:0;width:220px;position:relative}.detail-cover{aspect-ratio:2/3;width:100%;box-shadow:0 12px 30px var(--color-shadow);border-radius:12px;overflow:hidden}.detail-cover img{object-fit:cover;width:100%;height:100%;display:block}.detail-cover-placeholder{background:linear-gradient(145deg, var(--color-cover-placeholder-start), var(--color-cover-placeholder-end));justify-content:center;align-items:center;width:100%;height:100%;font-size:3rem;display:flex}.change-cover-btn{border:1px solid var(--color-border);background:var(--color-bg-elevated);width:100%;color:var(--color-text-muted);cursor:pointer;border-radius:999px;margin-top:10px;padding:8px 10px;font-size:.74rem;font-weight:600;transition:border-color .2s,color .2s,background-color .2s}.change-cover-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.cover-edit-panel{z-index:100;border:1px solid var(--color-border);background:var(--color-bg-elevated);border-radius:13px;flex-direction:column;gap:12px;width:100%;padding:16px;animation:.16s ease-out monthPickerAppear;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 45px #1e140f38}.cover-edit-status{color:var(--color-text-muted);text-align:center;margin:0;font-size:.76rem;line-height:1.4}.cover-edit-suggestions-grid{grid-template-columns:repeat(3,1fr);gap:8px;max-height:220px;padding:2px;display:grid;overflow-y:auto}.cover-edit-suggestion-item{aspect-ratio:2/3;object-fit:cover;cursor:pointer;border:2px solid #0000;border-radius:6px;width:100%;transition:transform .15s,border-color .15s;display:block}.cover-edit-suggestion-item:hover{border-color:var(--color-accent);transform:scale(1.05)}.cover-edit-attribution{color:var(--color-text-muted);text-align:center;margin:0;font-size:.68rem;line-height:1.3}.cover-edit-attribution a{color:var(--color-accent)}.cover-edit-import-btn{text-align:center;border:1px solid var(--color-accent);color:var(--color-accent);cursor:pointer;background:0 0;border-radius:999px;padding:10px 15px;font-size:.78rem;font-weight:600;transition:background .2s,color .2s;display:block}.cover-edit-import-btn:hover{background:var(--color-accent);color:#fffdf8}.cover-edit-error{color:var(--color-danger);text-align:center;margin:0;font-size:.72rem;line-height:1.35}.cover-edit-cancel-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:.75rem;transition:color .2s}.cover-edit-cancel-btn:hover{color:var(--color-text)}.detail-info{flex:1;min-width:0}.detail-info h1{color:var(--color-text);margin-bottom:6px;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15}.detail-field-title{margin-bottom:8px}.detail-field-title label{margin-bottom:4px}.detail-title-input{width:100%;color:var(--color-text);font-family:var(--font-display);background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 10px 6px 0;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:600;line-height:1.15;transition:border-color .2s,background-color .2s,box-shadow .2s,padding .2s}.detail-title-input:hover{border-color:var(--color-border);background:var(--color-bg-input);padding-left:10px}.detail-title-input:focus{border-color:var(--color-accent);background:var(--color-bg-input);outline:none;padding-left:10px;box-shadow:0 0 0 3px #a9784e14}.detail-auteur{color:var(--color-text-muted);margin:0 0 24px;font-size:1rem}.detail-field{margin-bottom:20px;position:relative}.detail-field label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px;font-size:.78rem;font-weight:700;display:block}.detail-field input:not(.month-picker-input),.detail-field textarea{border:1px solid var(--color-border);background:var(--color-bg-input);width:100%;color:var(--color-text);font-family:var(--font-body);resize:vertical;border-radius:10px;padding:11px 13px;font-size:.88rem;transition:border-color .2s,box-shadow .2s,background-color .2s}.detail-field input::placeholder,.detail-field textarea::placeholder{color:var(--color-text-muted);opacity:.75}.detail-field input:focus,.detail-field textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #a9784e14}.custom-month-picker{width:100%;position:relative}.month-picker-trigger{border:1px solid var(--color-border);background:var(--color-bg-input);width:100%;color:var(--color-text);font-family:var(--font-body);text-align:left;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;padding:12px 14px;font-size:.88rem;transition:border-color .2s,box-shadow .2s,background-color .2s;display:flex}.month-picker-trigger:hover{border-color:#a9784e73}.month-picker-trigger.open{border-color:var(--color-accent);box-shadow:0 0 0 3px #a9784e14}.month-picker-trigger.empty{color:var(--color-text-muted)}.month-picker-icon{color:var(--color-accent);font-size:.9rem;transition:transform .2s}.month-picker-trigger.open .month-picker-icon{transform:rotate(180deg)}.month-picker-dropdown{z-index:100;border:1px solid var(--color-border);background:var(--color-bg-elevated);border-radius:13px;width:290px;padding:16px;animation:.16s ease-out monthPickerAppear;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 45px #1e140f38}@keyframes monthPickerAppear{0%{opacity:0;transform:translateY(-5px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.month-picker-header{justify-content:space-between;align-items:center;padding:1px 2px 4px;display:flex}.month-picker-year{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.02em;font-size:1.15rem;font-weight:600}.month-year-arrow{width:32px;height:32px;color:var(--color-text-muted);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;line-height:1;transition:background-color .15s,color .15s,transform .15s;display:flex}.month-year-arrow:hover{color:var(--color-accent);background:#a9784e1a;transform:scale(1.05)}.month-picker-divider{background:var(--color-border);height:1px;margin:9px 0 13px}.month-grid{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.month-option{min-height:36px;color:var(--color-text);font-family:var(--font-body);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:7px 4px;font-size:.76rem;font-weight:500;transition:background-color .15s,border-color .15s,color .15s,transform .15s}.month-option:hover{color:var(--color-accent);background:#a9784e17;border-color:#a9784e33;transform:translateY(-1px)}.month-option.selected{background:var(--color-accent);border-color:var(--color-accent);color:#fffdf8;font-weight:700;box-shadow:0 4px 10px #a9784e33}.month-option.selected:hover{background:var(--color-accent-hover);color:#fffdf8}.month-picker-footer{justify-content:space-between;align-items:center;display:flex}.month-footer-btn{color:var(--color-text-muted);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;padding:5px 4px;font-size:.75rem;font-weight:600;transition:color .15s,transform .15s}.month-footer-btn:hover{color:var(--color-text);transform:translateY(-1px)}.month-footer-btn.today{color:var(--color-accent)}.month-footer-btn.today:hover{color:var(--color-accent-hover)}.save-btn{border:1px solid var(--color-accent);background:var(--color-accent);color:#fffdf8;cursor:pointer;border-radius:10px;padding:12px 24px;font-size:.85rem;font-weight:700;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}.save-btn:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 6px 16px #a9784e33}.save-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}@media (width<=700px){.detail-content{flex-direction:column;align-items:center}.detail-cover-block{width:180px}.cover-edit-panel{z-index:1000;width:auto;max-width:380px;max-height:78vh;margin:0 auto;position:fixed;top:10vh;left:5vw;right:5vw;overflow-y:auto;box-shadow:0 25px 60px #00000073}.cover-edit-panel:before{content:"";z-index:-1;background:#140e0b99;position:fixed;inset:0}.cover-edit-suggestions-grid{grid-template-columns:repeat(3,1fr);gap:12px;max-height:48vh}.detail-info{width:100%}.month-picker-dropdown{width:100%;max-width:290px}}@media (width<=400px){.month-picker-dropdown{width:100%}.month-grid{gap:5px}.month-option{font-size:.7rem}}.cover-modal-layer{z-index:99999;box-sizing:border-box;-webkit-backdrop-filter:blur(4px);background:#0f0a08ad;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cover-modal-layer .cover-edit-panel{box-sizing:border-box;background:var(--color-bg-elevated);width:min(430px,100%);max-width:430px;max-height:min(760px,100dvh - 40px);color:var(--color-text);box-shadow:0 28px 80px var(--color-shadow);-webkit-overflow-scrolling:touch;border-radius:20px;flex-direction:column;justify-content:flex-start;gap:12px;padding:20px;display:flex;position:relative;inset:auto;overflow:hidden auto}.cover-modal-layer .cover-edit-suggestions-grid{box-sizing:border-box;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-height:none;padding:2px;display:grid;overflow:visible}.cover-modal-layer .cover-edit-suggestion-card{width:100%;min-width:0;color:inherit;text-align:center;cursor:pointer;background:0 0;border:0;padding:0}.cover-modal-layer .cover-edit-suggestion-image{aspect-ratio:2/3;box-sizing:border-box;background:var(--color-bg-input);width:100%;box-shadow:0 5px 14px var(--color-shadow);border:2px solid #0000;border-radius:10px;transition:transform .18s,border-color .18s;display:block;overflow:hidden}.cover-modal-layer .cover-edit-suggestion-card:hover .cover-edit-suggestion-image,.cover-modal-layer .cover-edit-suggestion-card:focus-visible .cover-edit-suggestion-image{border-color:var(--color-accent);transform:translateY(-3px)}.cover-modal-layer .cover-edit-suggestion-card:focus-visible{outline:none}.cover-modal-layer .cover-edit-suggestion-item{object-fit:cover;opacity:1;border:0;border-radius:8px;width:100%;height:100%;display:block}.cover-modal-layer .cover-edit-suggestion-label{color:var(--color-text-muted);margin-top:5px;font-size:.64rem;font-weight:700;display:block}.cover-modal-layer .cover-edit-import-btn{box-sizing:border-box;background:var(--color-accent);color:#fffdf8;text-align:center;border-radius:10px;flex:none;justify-content:center;align-items:center;width:100%;min-height:44px;padding:11px 14px;font-size:.78rem;font-weight:700;display:flex}.cover-modal-layer .cover-edit-cancel-btn{flex:none;align-self:center;padding:6px 12px}@media (width<=700px){.cover-modal-layer{align-items:flex-start;padding:12px;overflow:hidden}.cover-modal-layer .cover-edit-panel{border-radius:18px;width:100%;max-width:520px;max-height:calc(100dvh - 24px);margin:auto;padding:18px}.cover-modal-layer .cover-edit-suggestions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cover-modal-layer .cover-edit-heading strong{font-size:1.08rem}.cover-modal-layer .cover-edit-heading>span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 110px);overflow:hidden}.cover-modal-layer .cover-edit-status{font-size:.76rem}}@media (width<=380px){.cover-modal-layer{padding:8px}.cover-modal-layer .cover-edit-panel{border-radius:16px;max-height:calc(100dvh - 16px);padding:15px}.cover-modal-layer .cover-edit-suggestions-grid{gap:10px}}.stats-page{padding-top:10px}.stats-page h1{margin:0 0 28px;font-size:clamp(1.8rem,3.5vw,2.4rem)}.stats-page h2{margin:0 0 16px;font-size:1.15rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);box-shadow:0 4px 14px var(--color-shadow);border-radius:14px;flex-direction:column;gap:6px;padding:20px;display:flex}.stat-value{font-family:var(--font-display);color:var(--color-accent);font-size:2rem;line-height:1}.stat-label{color:var(--color-text-muted);font-size:.78rem}.stats-highlight{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-left:4px solid var(--color-accent);border-radius:10px;flex-direction:column;gap:4px;margin-bottom:32px;padding:16px 20px;display:flex}.highlight-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:.72rem;font-weight:700}.highlight-value{font-family:var(--font-display);color:var(--color-text);font-size:1.05rem}.stats-section{margin-bottom:32px}.stats-empty{color:var(--color-text-muted);font-size:.85rem;font-style:italic}.top-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.top-list li{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:10px;justify-content:space-between;align-items:center;padding:11px 16px;font-size:.88rem;display:flex}.top-count{color:var(--color-text-muted);font-size:.78rem}.year-bars{flex-direction:column;gap:10px;display:flex}.year-bar-row{align-items:center;gap:12px;display:flex}.year-label{width:45px;color:var(--color-text-muted);flex-shrink:0;font-size:.82rem}.year-bar-track{background:var(--color-bg-input);border-radius:999px;flex:1;height:10px;overflow:hidden}.year-bar-fill{background:var(--color-accent);border-radius:999px;height:100%;transition:width .4s}.year-count{text-align:right;width:24px;color:var(--color-text-muted);flex-shrink:0;font-size:.8rem}.stats-section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.stats-section-header h2{margin:0}.stats-section-header select{appearance:none;border:1px solid var(--color-accent);background:linear-gradient(45deg, transparent 50%, var(--color-accent) 50%) calc(100% - 16px) 50% / 5px 5px no-repeat, linear-gradient(135deg, var(--color-accent) 50%, transparent 50%) calc(100% - 12px) 50% / 5px 5px no-repeat, #a9784e14;color:var(--color-accent);cursor:pointer;border-radius:999px;padding:8px 30px 8px 16px;font-size:.82rem;font-weight:700;transition:background-color .2s,transform .2s}.stats-section-header select:hover{background-color:#a9784e26;transform:translateY(-1px)}.stats-section-header select:focus{outline:none;box-shadow:0 0 0 3px #a9784e26}.month-bars{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:14px;align-items:flex-end;gap:8px;height:160px;padding:16px;display:flex}.month-bar-col{flex-direction:column;flex:1;align-items:center;gap:6px;height:100%;display:flex}.month-bar-track{flex:1;align-items:flex-end;width:100%;display:flex}.month-bar-fill{background:var(--color-accent);border-radius:4px 4px 0 0;width:100%;min-height:3px;transition:height .4s}.month-count{color:var(--color-text-muted);font-size:.72rem;font-weight:600}.month-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:.65rem}@media (width<=600px){.month-bars{gap:4px;height:130px;padding:12px 8px}.month-label{font-size:.55rem}.month-count{font-size:.62rem}}.month-bar-col{cursor:pointer;border-radius:6px;padding:4px 0;transition:background-color .15s}.month-bar-col:hover{background-color:var(--color-bg-input)}.month-bar-col.selected .month-bar-fill{background:var(--color-lu)}.month-bar-col.selected .month-label{color:var(--color-text);font-weight:700}.month-detail{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-left:4px solid var(--color-accent);border-radius:10px;margin-top:16px;padding:18px 20px}.month-detail h3{color:var(--color-text);margin:0 0 12px;font-size:.95rem}.month-detail-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.month-detail-list li{background:var(--color-bg-input);border-radius:8px;justify-content:space-between;align-items:center;padding:9px 12px;font-size:.85rem;display:flex}.month-detail-titre{font-family:var(--font-display);color:var(--color-text)}.month-detail-auteur{color:var(--color-text-muted);font-size:.78rem}.search-page{width:100%;max-width:1240px;margin:0 auto;padding:12px 0 90px}.search-page-header{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:26px;display:flex}.search-page-eyebrow{color:var(--color-accent);letter-spacing:.18em;margin-bottom:7px;font-size:.65rem;font-weight:800;display:block}.search-page-header h1{font-family:var(--font-display);color:var(--color-text);margin:0;font-size:clamp(2rem,4vw,3.2rem);line-height:1}.search-page-header p{max-width:620px;color:var(--color-text-muted);margin:12px 0 0;font-size:.82rem;line-height:1.6}.search-page-form{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:10px;display:grid}.search-page-input-wrap{align-items:center;display:flex;position:relative}.search-page-input-wrap svg{fill:none;width:20px;height:20px;stroke:var(--color-text-muted);stroke-width:1.8px;pointer-events:none;position:absolute;left:18px}.search-page-input-wrap input{border:1px solid var(--color-border);background:var(--color-bg-input);width:100%;min-height:56px;color:var(--color-text);box-shadow:0 8px 25px var(--color-shadow);border-radius:16px;padding:0 18px 0 50px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.search-page-input-wrap input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 4px #a9784e17}.search-page-form>button{border:1px solid var(--color-accent);background:var(--color-accent);color:#fffdf8;cursor:pointer;border-radius:16px;min-width:150px;min-height:56px;padding:0 24px;font-size:.8rem;font-weight:800;transition:transform .2s,background .2s,box-shadow .2s}.search-page-form>button:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 10px 25px #a9784e33}.search-page-form>button:disabled{opacity:.55;cursor:not-allowed}.search-page-meta{color:var(--color-text-muted);justify-content:space-between;gap:15px;margin:0 2px 24px;font-size:.67rem;display:flex}.search-page-meta a{color:inherit;text-decoration:underline}.search-page-meta strong{color:var(--color-accent);font-weight:700}.search-page-message{border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-muted);border-radius:12px;margin:0 0 20px;padding:12px 14px;font-size:.78rem}.search-page-empty{border:1px dashed var(--color-border);text-align:center;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:40px 20px;display:flex}.search-page-empty-icon{border:1px solid var(--color-border);width:54px;height:54px;color:var(--color-accent);border-radius:50%;place-items:center;margin-bottom:15px;font-size:1.8rem;display:grid}.search-page-empty h2{font-family:var(--font-display);margin:0;font-size:1.25rem}.search-page-empty p{color:var(--color-text-muted);margin:8px 0 0;font-size:.76rem}.search-page-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.search-book-card{border:1px solid var(--color-border);background:linear-gradient(145deg, var(--color-bg-elevated), var(--color-bg-input));min-width:0;box-shadow:0 8px 25px var(--color-shadow);border-radius:18px;gap:16px;padding:14px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.search-book-card:hover{box-shadow:0 14px 32px var(--color-shadow);border-color:#a9784e6b;transform:translateY(-3px)}.search-book-cover-wrap{aspect-ratio:2/3;background:var(--color-cover-placeholder-start);width:105px;min-width:105px;box-shadow:0 7px 18px var(--color-shadow);border-radius:11px;overflow:hidden}.search-book-cover,.search-book-cover-placeholder{object-fit:cover;width:100%;height:100%;display:block}.search-book-cover-placeholder{background:linear-gradient(145deg, var(--color-cover-placeholder-start), var(--color-cover-placeholder-end));color:var(--color-text-muted);place-items:center;font-size:1.7rem;display:grid}.search-book-content{flex-direction:column;flex:1;min-width:0;display:flex}.search-book-type{color:var(--color-accent);letter-spacing:.16em;font-size:.56rem;font-weight:800}.search-book-content h2{font-family:var(--font-display);color:var(--color-text);line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 0;font-size:1.05rem;line-height:1.2;display:-webkit-box;overflow:hidden}.search-book-author{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:.74rem;line-height:1.35;overflow:hidden}.search-book-details{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.search-book-details span{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:999px;padding:4px 7px;font-size:.59rem}.search-book-actions{flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:13px;display:flex}.search-book-actions button{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:7px 9px;font-size:.61rem;font-weight:700;transition:background .2s,color .2s,border-color .2s}.search-book-actions button:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent);color:#fffdf8}.search-book-actions button:disabled{opacity:.5;cursor:wait}@media (width>=1200px){.search-page-results{grid-template-columns:repeat(4,minmax(0,1fr))}.search-book-card{flex-direction:column}.search-book-cover-wrap{width:100%;min-width:0;max-height:320px;margin:0 auto}}@media (width<=700px){.search-page{padding:4px 0 130px}.search-page-header{margin-bottom:18px}.search-page-header h1{font-size:2rem}.search-page-header p{margin-top:8px;font-size:.74rem}.search-page-form{grid-template-columns:1fr}.search-page-form>button{min-height:48px}.search-page-meta{margin-bottom:18px}.search-page-results{grid-template-columns:1fr;gap:10px}.search-book-card{border-radius:15px;gap:13px;padding:11px}.search-book-cover-wrap{width:82px;min-width:82px}.search-book-content h2{font-size:.96rem}.search-book-actions button{padding:7px 8px}}.search-mode-switch{border:1px solid var(--color-border);background:var(--color-bg-elevated);box-shadow:0 6px 18px var(--color-shadow);border-radius:999px;align-items:center;gap:4px;margin-bottom:24px;padding:4px;display:inline-flex}.search-mode-switch button{min-height:38px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 18px;font-size:.72rem;font-weight:700;transition:background .2s,color .2s,transform .2s}.search-mode-switch button:hover{color:var(--color-text)}.search-mode-switch button.active{background:var(--color-text);color:var(--color-bg);box-shadow:0 3px 10px #00000024}.manual-search-form{border:1px solid var(--color-border);background:linear-gradient(145deg, var(--color-bg-elevated), var(--color-bg-input));box-shadow:0 10px 30px var(--color-shadow);border-radius:20px;padding:22px}.manual-search-fields{align-items:flex-start;gap:26px;display:flex}.manual-search-cover-picker{flex-direction:column;flex:0 0 150px;align-items:center;gap:10px;display:flex}.manual-search-cover,.manual-search-cover-placeholder{aspect-ratio:2/3;border:1px solid var(--color-border);width:150px;box-shadow:0 8px 22px var(--color-shadow);border-radius:12px;overflow:hidden}.manual-search-cover{object-fit:cover;display:block}.manual-search-cover-placeholder{background:linear-gradient(145deg, var(--color-cover-placeholder-start), var(--color-cover-placeholder-end));color:var(--color-text-muted);font-family:var(--font-display);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:.7rem;font-style:italic;display:flex}.manual-search-cover-placeholder span{font-size:1.8rem}.manual-search-cover-btn{border:1px dashed var(--color-accent);width:100%;color:var(--color-accent);text-align:center;cursor:pointer;background:0 0;border-radius:999px;padding:9px 8px;font-size:.64rem;font-weight:700;transition:background .2s,color .2s}.manual-search-cover-btn:hover{color:var(--color-accent-hover);background:#a9784e14}.manual-search-inputs{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.manual-search-inputs label{flex-direction:column;gap:6px;min-width:0;display:flex}.manual-search-inputs label>span{color:var(--color-text-muted);letter-spacing:.04em;font-size:.62rem;font-weight:700}.manual-search-inputs input,.manual-search-inputs select{border:1px solid var(--color-border);background:var(--color-bg-input);width:100%;min-height:44px;color:var(--color-text);box-sizing:border-box;border-radius:11px;padding:0 13px;font-size:.8rem}.manual-search-inputs input:focus,.manual-search-inputs select:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #a9784e14}.manual-search-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.manual-search-auto{border:1px solid var(--color-border);min-height:40px;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:10px;padding:0 13px;font-size:.68rem;font-weight:700;transition:border-color .2s,color .2s,background .2s}.manual-search-auto:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);background:#a9784e0f}.manual-search-auto:disabled{opacity:.45;cursor:not-allowed}.manual-search-submit{border:1px solid var(--color-accent);background:var(--color-accent);color:#fffdf8;cursor:pointer;border-radius:11px;min-height:46px;margin-top:2px;font-size:.78rem;font-weight:800;transition:transform .2s,background .2s,box-shadow .2s}.manual-search-submit:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 8px 20px #a9784e33}.manual-search-error{color:var(--color-danger);text-align:center;margin:0;font-size:.64rem;line-height:1.35}@media (width<=700px){.search-mode-switch{box-sizing:border-box;grid-template-columns:1fr 1fr;width:100%;margin-bottom:18px;display:grid}.search-mode-switch button{min-width:0;padding:0 10px}.manual-search-form{border-radius:16px;padding:15px}.manual-search-fields{flex-direction:column;align-items:stretch;gap:18px}.manual-search-cover-picker{flex-basis:auto;width:150px;margin:0 auto}}.legal-page{padding-top:10px}.legal-page-inner{max-width:720px;margin:0 auto}.legal-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);box-shadow:0 15px 40px var(--color-shadow);border-radius:18px;padding:32px}.legal-card h1{color:var(--color-text);margin-bottom:22px;font-size:1.7rem}.legal-content h2{color:var(--color-text);font-family:var(--font-display);margin:22px 0 8px;font-size:1rem;font-weight:600}.legal-content h2:first-child{margin-top:0}.legal-content p{color:var(--color-text-muted);margin:0 0 4px;font-size:.85rem;line-height:1.65}.legal-nav{border-top:1px solid var(--color-border);flex-wrap:wrap;gap:8px 18px;margin-top:30px;padding-top:20px;display:flex}.legal-nav a{color:var(--color-text-muted);font-size:.78rem;font-weight:600;text-decoration:none;transition:color .2s}.legal-nav a:hover{color:var(--color-accent)}.legal-nav a.active{color:var(--color-accent);text-decoration:underline}.legal-standalone{justify-content:center;align-items:flex-start;padding:40px 20px;display:flex}.legal-standalone .legal-page-inner{width:100%}@media (width<=600px){.legal-card{padding:22px 18px}}.friends-page{padding-top:10px}.friends-intro{margin-bottom:24px}.friends-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);box-shadow:0 8px 25px var(--color-shadow);border-radius:16px;margin-bottom:20px;padding:22px 24px}.friends-card h3{color:var(--color-text);margin:0 0 6px;font-size:1rem}.friends-card>p{color:var(--color-text-muted);margin:0 0 14px;font-size:.8rem;line-height:1.5}.invite-link-row{gap:8px;display:flex}.invite-link-row input{border:1px solid var(--color-border);background:var(--color-bg-input);min-width:0;color:var(--color-text-muted);border-radius:9px;flex:1;padding:10px 13px;font-size:.78rem}.invite-link-row button{border:1px solid var(--color-accent);background:var(--color-accent);color:#fffdf8;cursor:pointer;white-space:nowrap;border-radius:9px;padding:0 16px;font-size:.78rem;font-weight:700;transition:background .2s}.invite-link-row button:hover{background:var(--color-accent-hover)}.friends-search-bar{gap:10px;display:flex}.friends-search-bar input{border:1px solid var(--color-border);background:var(--color-bg-input);min-width:0;color:var(--color-text);border-radius:10px;flex:1;padding:11px 14px;font-size:.85rem}.friends-search-bar button{border:1px solid var(--color-accent);background:var(--color-accent);color:#fffdf8;cursor:pointer;border-radius:10px;padding:0 18px;font-size:.8rem;font-weight:700}.friends-error{color:var(--color-danger);margin:12px 0 0;font-size:.78rem}.friends-empty{color:var(--color-text-muted);margin:10px 0 0;font-size:.82rem;font-style:italic}.friends-list{flex-direction:column;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.friend-row{border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;transition:background-color .15s;display:flex}.friend-row:hover{background:var(--color-bg-input)}.friend-identity{min-width:0;color:var(--color-text);align-items:center;gap:10px;font-size:.85rem;font-weight:600;text-decoration:none;display:flex}.friend-identity img,.friend-avatar-placeholder{object-fit:cover;border-radius:50%;flex-shrink:0;width:34px;height:34px}.friend-avatar-placeholder{color:var(--color-accent);background:#a9784e24;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.friend-row-actions{flex-shrink:0;gap:6px;display:flex}.friend-action-btn{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:999px;padding:7px 12px;font-size:.72rem;font-weight:600;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s}.friend-action-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.friend-action-btn.accept{border-color:var(--color-accent);background:var(--color-accent);color:#fffdf8}.friend-action-btn.accept:hover{background:var(--color-accent-hover);color:#fffdf8}.friend-action-btn.decline:hover{color:var(--color-danger);border-color:#a86f6166}.friend-status-tag{color:var(--color-text-muted);padding:6px 11px;font-size:.7rem;font-style:italic}@media (width<=500px){.friends-card{padding:18px}.invite-link-row{flex-direction:column}.friend-row{flex-wrap:wrap}}.my-profile-preview{background:var(--color-bg-elevated);border:1px solid var(--color-border);color:var(--color-text);box-shadow:0 8px 25px var(--color-shadow);border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;padding:18px 20px;text-decoration:none;transition:border-color .2s,background-color .2s,transform .2s;display:flex}.my-profile-preview:hover{background:var(--color-bg-input);border-color:#a9784e59;transform:translateY(-1px)}.my-profile-preview-identity{align-items:center;gap:14px;min-width:0;display:flex}.my-profile-preview-identity img,.my-profile-preview-avatar{object-fit:cover;border:1px solid var(--color-border);width:52px;height:52px;box-shadow:0 4px 12px var(--color-shadow);border-radius:50%;flex-shrink:0}.my-profile-preview-avatar{color:var(--color-accent);background:#a9784e24;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex}.my-profile-preview-text{flex-direction:column;gap:3px;min-width:0;display:flex}.my-profile-preview-label{color:var(--color-accent);letter-spacing:.08em;font-size:.62rem;font-weight:700}.my-profile-preview-text strong{color:var(--color-text);font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;overflow:hidden}.my-profile-preview-text>span:last-child{color:var(--color-text-muted);font-size:.72rem}.my-profile-preview-arrow{color:var(--color-accent);flex-shrink:0;font-size:1.2rem;font-weight:700;transition:transform .2s}.my-profile-preview:hover .my-profile-preview-arrow{transform:translate(3px)}@media (width<=500px){.my-profile-preview{padding:16px}.my-profile-preview-identity{gap:11px}.my-profile-preview-identity img,.my-profile-preview-avatar{width:46px;height:46px}.my-profile-preview-text>span:last-child{font-size:.66rem}}.friend-profile-page{padding-top:10px}.friend-profile-header{flex-direction:column;align-items:center;gap:12px;margin:10px 0 24px;display:flex}.friend-profile-avatar{object-fit:cover;border:1px solid var(--color-border);width:84px;height:84px;box-shadow:0 8px 20px var(--color-shadow);border-radius:50%;font-size:1.8rem}.friend-profile-header h1{color:var(--color-text);font-size:1.4rem}.friend-stats-grid{text-align:center;grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.friend-stat{flex-direction:column;gap:4px;display:flex}.friend-stat strong{font-family:var(--font-display);color:var(--color-accent);font-size:1.6rem}.friend-stat span{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.friend-library-card{margin-top:20px;overflow:hidden}.friend-library-tabs{border:1px solid var(--color-border);background:var(--color-bg-input);border-radius:12px;align-items:center;gap:4px;margin:-4px -4px 24px;padding:4px;display:flex}.friend-library-tab{min-height:40px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-family:inherit;font-size:.72rem;font-weight:650;transition:color .2s,background .2s;display:inline-flex}.friend-library-tab span{min-width:20px;color:var(--color-text-muted);background:#a9784e14;border-radius:20px;justify-content:center;align-items:center;padding:2px 6px;font-size:.62rem;display:inline-flex}.friend-library-tab:hover{color:var(--color-text);background:#a9784e0f}.friend-library-tab.active{color:var(--color-accent);background:var(--color-bg-elevated);box-shadow:0 2px 8px var(--color-shadow), inset 0 0 0 1px #a9784e14}.friend-library-tab.active span{color:var(--color-accent);background:#a9784e1f}.friend-books-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:20px 12px;margin:0;padding:0;list-style:none;display:grid}.friend-book-card{border:1px solid #0000;border-radius:9px;flex-direction:column;gap:7px;min-width:0;padding:5px;transition:background-color .2s,border-color .2s,transform .2s;display:flex}.friend-book-card:hover{background:var(--color-bg-input);border-color:var(--color-border);transform:translateY(-2px)}.friend-book-card-clickable{cursor:pointer}.friend-book-card-clickable:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.friend-book-cover{aspect-ratio:2/3;background:var(--color-bg-input);width:100%;color:var(--color-text-muted);box-shadow:0 5px 12px var(--color-shadow);border-radius:6px;justify-content:center;align-items:center;font-size:1.4rem;display:flex;overflow:hidden}.friend-book-cover img{object-fit:cover;width:100%;height:100%;display:block}.friend-book-info{min-width:0;padding:0 1px}.friend-book-info strong{color:var(--color-text);font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:600;line-height:1.2;display:block;overflow:hidden}.friend-book-info p{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;margin:3px 0 0;font-size:.58rem;line-height:1.2;overflow:hidden}.friend-book-note{color:var(--color-accent);letter-spacing:.5px;margin-top:3px;font-size:.58rem;display:block}.friend-books-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:220px;padding:30px;display:flex}.friend-books-empty-icon{color:var(--color-accent);font-family:var(--font-display);margin-bottom:10px;font-size:2rem}.friend-books-empty h4{color:var(--color-text);font-family:var(--font-display);margin:0;font-size:1rem}.friend-books-empty p{color:var(--color-text-muted);margin:6px 0 0;font-size:.72rem}.friend-pagination{border-top:1px solid var(--color-border);justify-content:center;align-items:center;gap:8px;margin-top:26px;padding-top:20px;display:flex}.friend-pagination-pages{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:flex}.friend-pagination button{border:1px solid var(--color-border);min-width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-family:inherit;font-size:.68rem;transition:color .2s,background .2s,border-color .2s;display:inline-flex}.friend-pagination button:hover:not(:disabled){color:var(--color-text);background:#a9784e12;border-color:#a9784e33}.friend-pagination button.active{color:var(--color-accent);background:#a9784e1c;border-color:#a9784e40;font-weight:700}.friend-pagination button:disabled{opacity:.35;cursor:default}.friend-pagination-arrow{flex-shrink:0}.friend-pagination-info{text-align:center;color:var(--color-text-muted);opacity:.8;margin:10px 0 0;font-size:.62rem}@media (width<=1000px){.friend-books-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px 10px}}@media (width<=800px){.friend-books-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 10px}}@media (width<=600px){.friend-library-tabs{margin-bottom:18px}.friend-library-tab{min-height:38px;padding:0 8px;font-size:.66rem}.friend-library-tab span{display:none}.friend-books-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 8px}.friend-book-card{padding:4px}.friend-book-info strong{font-size:.68rem}.friend-book-info p,.friend-book-note{font-size:.56rem}.friend-pagination{gap:4px}.friend-pagination button{min-width:29px;height:29px;padding:0 6px;font-size:.62rem}.friend-pagination-pages{max-width:220px}}@media (width<=420px){.friend-books-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 8px}}@media (width<=500px){.friend-stats-grid{gap:8px}.friend-stat strong{font-size:1.25rem}}.app-shell{background:var(--color-bg);min-height:100dvh;color:var(--color-text);position:relative}.app-background-glow{pointer-events:none;filter:blur(40px);opacity:.45;z-index:0;border-radius:50%;width:300px;height:300px;position:fixed}.glow-one{background:#c497620f;top:-180px;right:10%}.glow-two{background:#7087660d;bottom:-160px;left:-100px}.app{z-index:1;width:min(1220px,100% - 48px);margin:0 auto;padding:34px 0 40px;position:relative}.app-header{z-index:50;background:var(--color-bg);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:30px;min-height:74px;margin:-18px 0 0;padding:18px 0 25px;display:flex;position:sticky;top:0}.brand-area{align-items:center;gap:20px;min-width:0;display:flex}.app-brand{color:inherit;flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.app-brand-icon{flex-shrink:0;width:36px;height:36px;position:relative}.mini-book{border-radius:2px 3px 3px 1px;width:17px;height:23px;position:absolute;box-shadow:0 3px 7px #0000002e}.mini-green{background:#88c95a;top:0;left:2px}.mini-pink{background:#e43878;top:5px;left:9px}.mini-blue{background:#4da8d8;top:11px;left:14px}.app-brand-text{flex-direction:column;line-height:1;display:flex}.app-brand-text>span{color:var(--color-text);letter-spacing:-.055em;font-family:Georgia,Times New Roman,serif;font-size:1.65rem;font-weight:700}.app-brand-text small{color:var(--color-accent);letter-spacing:.22em;margin-top:5px;font-family:Arial,sans-serif;font-size:.42rem;font-weight:800}.brand-divider{background:var(--color-border);width:1px;height:34px}.welcome-area{flex-direction:column;gap:4px;min-width:0;display:flex}.welcome-small{color:var(--color-text-muted);letter-spacing:.13em;text-transform:uppercase;font-size:.62rem;font-weight:700}.app-header h1{color:var(--color-text);font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.08rem;font-weight:500}.app-header h1 strong{color:var(--color-accent);font-weight:600}.header-actions{flex-shrink:0;align-items:center;gap:17px;display:flex}.main-navigation{border:1px solid var(--color-border);background:var(--color-bg-elevated);border-radius:14px;align-items:center;gap:3px;padding:4px;display:flex}.nav-link{min-height:36px;color:var(--color-text-muted);border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:.69rem;font-weight:650;text-decoration:none;transition:color .2s,background .2s,transform .2s;display:inline-flex}.nav-link svg{width:15px;height:15px}.nav-link:hover{color:var(--color-text);background:#a9784e14}.nav-link.active{color:var(--color-accent);background:#a9784e1c;box-shadow:inset 0 0 0 1px #a9784e14}.user-menu{align-items:center;gap:9px;display:flex}.header-avatar{object-fit:cover;border:1px solid var(--color-border);background:var(--color-bg-elevated);width:38px;height:38px;box-shadow:0 5px 14px var(--color-shadow);border-radius:50%;flex-shrink:0}.header-avatar-placeholder{color:var(--color-accent);background:linear-gradient(145deg,#a9784e29,#a9784e0f);justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.logout-button{border:1px solid var(--color-border);min-height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-family:inherit;font-size:.66rem;font-weight:600;transition:color .2s,background .2s,border-color .2s,transform .2s;display:inline-flex}.logout-button svg{width:14px;height:14px}.logout-button:hover{color:var(--color-danger);background:#a86f610f;border-color:#a86f614d;transform:translateY(-1px)}.mobile-welcome{display:none}.app-main{padding-top:30px}.page-intro{border:1px solid var(--color-border);background:linear-gradient(135deg, var(--color-bg-elevated), #a9784e06);min-height:130px;box-shadow:0 12px 35px var(--color-shadow);border-radius:20px;justify-content:space-between;align-items:center;gap:30px;padding:25px 28px;display:flex;position:relative;overflow:hidden}.page-intro:before{content:"";filter:blur(5px);background:#a9784e0f;border-radius:50%;width:220px;height:220px;position:absolute;top:-130px;right:-100px}.page-eyebrow{color:var(--color-accent);letter-spacing:.17em;text-transform:uppercase;margin-bottom:7px;font-size:.62rem;font-weight:800;display:block}.page-intro h2{color:var(--color-text);font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,4vw,2.45rem);line-height:1}.page-intro p{max-width:580px;color:var(--color-text-muted);margin:10px 0 0;font-size:.78rem;line-height:1.6}.page-decoration{min-width:125px;color:var(--color-accent);opacity:.6;justify-content:center;align-items:center;gap:10px;font-family:Georgia,Times New Roman,serif;display:flex}.page-decoration span:nth-child(2){opacity:.8;font-size:3.2rem;transform:rotate(-5deg)}.page-decoration span:first-child,.page-decoration span:last-child{font-size:.7rem}.content-separator{align-items:center;gap:12px;margin:25px 0;display:flex}.content-separator span{background:var(--color-border);flex:1;height:1px}.content-separator i{color:var(--color-text-muted);font-family:var(--font-display);white-space:nowrap;opacity:.8;font-size:.72rem;font-style:italic}.library-content{flex-direction:column;gap:20px;display:flex}.app-footer{justify-content:center;align-items:center;gap:12px;padding:35px 0 5px;display:flex}.app-footer span{background:var(--color-border);width:45px;height:1px}.app-footer p{color:var(--color-text-muted);font-family:var(--font-display);opacity:.7;margin:0;font-size:.68rem;font-style:italic}.legal-footer-links{opacity:.55;justify-content:center;align-items:center;gap:8px;margin-top:6px;padding-bottom:4px;display:flex}.legal-footer-links a{color:var(--color-text-muted);font-size:.62rem;text-decoration:none;transition:color .2s}.legal-footer-links a:hover{color:var(--color-accent);text-decoration:underline}.legal-footer-links span{color:var(--color-text-muted);font-size:.6rem}.app-shell.legal-standalone{justify-content:center;align-items:flex-start;padding:34px 24px;display:flex}.app-loading{background:var(--color-bg);min-height:100vh;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.loading-logo{width:42px;height:42px;position:relative}.loading-logo span{border-radius:3px;width:20px;height:28px;position:absolute}.loading-logo span:first-child{background:#88c95a;top:0;left:2px}.loading-logo span:nth-child(2){background:#e43878;top:6px;left:11px}.loading-logo span:nth-child(3){background:#4da8d8;top:12px;left:17px}.app-loading p{font-family:var(--font-display);margin:0;font-size:.8rem;font-style:italic}.mobile-bottom-nav{display:none}@media (width<=1050px){.app{width:min(100% - 32px,1180px)}.welcome-area,.brand-divider{display:none}.header-actions{gap:10px}.nav-link{padding:0 10px}.nav-link span{display:none}.nav-link svg{width:17px;height:17px}}@media (width>=701px) and (width<=1050px) and (orientation:portrait){.app{padding-top:0}.app-header{margin-top:0}}@media (width<=700px){.app{width:calc(100% - 18px);padding-top:10px;padding-bottom:24px}.app-header{flex-wrap:wrap;gap:8px;min-height:auto;padding-bottom:10px}.app-brand-text>span{font-size:1.45rem}.app-brand-text small{font-size:.36rem}.app-brand-icon{width:31px;height:31px}.mini-book{width:15px;height:20px}.brand-area{flex:1 1 0;width:auto}.header-actions{flex:none;align-items:center;gap:7px;min-width:0;display:flex;position:absolute;top:16px;right:0}.main-navigation{display:none}.mobile-bottom-nav{--nav-bottom-space:max(14px, env(safe-area-inset-bottom,0px));z-index:100;padding:8px 14px var(--nav-bottom-space);border:0;border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg-elevated) 94%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.2);border-radius:24px 24px 0 0;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #00000029}.mobile-bottom-nav-link{min-width:0;min-height:54px;color:var(--color-text-muted);letter-spacing:.01em;-webkit-tap-highlight-color:transparent;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 2px;font-size:.62rem;font-weight:600;line-height:1;text-decoration:none;transition:color .2s,background .2s,transform .2s;display:flex}.mobile-bottom-nav-link span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.mobile-bottom-nav-link svg{flex-shrink:0;width:23px;height:23px}.mobile-bottom-nav-link:hover{color:var(--color-accent)}.mobile-bottom-nav-link.active{color:var(--color-accent);background:#a9784e24}.mobile-bottom-nav-link.active span{font-weight:800}.mobile-bottom-nav-link:active{transform:scale(.94)}.app-main{padding-bottom:12px}.app{padding-bottom:calc(92px + max(14px, env(safe-area-inset-bottom,0px)))}.nav-link{width:35px;min-height:34px;padding:0}.user-menu{gap:5px}.header-avatar{width:34px;height:34px}.logout-button{width:34px;min-height:34px;padding:0}.logout-button span{display:none}.mobile-welcome{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:18px 3px 4px;display:flex}.mobile-welcome h1{color:var(--color-text);font-family:var(--font-display);letter-spacing:-.025em;order:1;margin:0;font-size:1.65rem;font-weight:500;line-height:1.05}.mobile-welcome strong{color:var(--color-accent)}.mobile-welcome>span{color:var(--color-text-muted);letter-spacing:.16em;text-transform:uppercase;opacity:.82;order:2;margin-top:7px;font-size:.56rem;font-weight:700}.app-main{padding-top:12px}.page-intro{min-height:0;box-shadow:0 8px 24px var(--color-shadow);border-radius:16px;padding:16px 17px}.page-intro h2{font-size:1.75rem}.page-intro p{margin-top:7px;font-size:.7rem;line-height:1.45}.page-decoration{display:none}.content-separator{margin:13px 0 11px}.app-footer{padding-top:27px}}@media (width>=701px) and (width<=1050px) and (orientation:portrait){.main-navigation{display:none}.header-actions{gap:7px}.logout-button{width:34px;min-height:34px;padding:0}.logout-button span{display:none}.header-avatar{width:34px;height:34px}.mobile-bottom-nav{--nav-bottom-space:max(14px, env(safe-area-inset-bottom,0px));z-index:100;padding:8px 14px var(--nav-bottom-space);border:0;border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg-elevated) 94%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.2);border-radius:24px 24px 0 0;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #00000029}.mobile-bottom-nav-link{min-width:0;min-height:54px;color:var(--color-text-muted);letter-spacing:.01em;-webkit-tap-highlight-color:transparent;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 2px;font-size:.62rem;font-weight:600;line-height:1;text-decoration:none;transition:color .2s,background .2s,transform .2s;display:flex}.mobile-bottom-nav-link span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.mobile-bottom-nav-link svg{flex-shrink:0;width:23px;height:23px}.mobile-bottom-nav-link:hover{color:var(--color-accent)}.mobile-bottom-nav-link.active{color:var(--color-accent);background:#a9784e24}.mobile-bottom-nav-link.active span{font-weight:800}.mobile-bottom-nav-link:active{transform:scale(.94)}.app-main{padding-bottom:12px}.app{padding-bottom:calc(92px + max(14px, env(safe-area-inset-bottom,0px)))}}@media (width<=430px){.app{width:calc(100% - 18px)}.app-header{align-items:flex-start;gap:10px;padding-right:78px;position:sticky}.brand-area{flex:auto;width:100%}.header-actions{justify-content:flex-end;width:auto;top:13px;right:0}.app-brand-text>span{font-size:1.32rem}.app-brand-text small{display:none}.main-navigation{border-radius:11px;flex:auto;justify-content:space-between}.nav-link{flex:1 1 0;width:auto;min-height:31px}.nav-link svg{width:15px;height:15px}.header-avatar{width:31px;height:31px}.logout-button{width:31px;min-height:31px}.mobile-welcome{padding-top:14px}.page-intro{border-radius:15px;padding:15px}.page-intro h2{font-size:1.55rem}.page-intro p{margin-top:8px;font-size:.68rem}.content-separator i{font-size:.6rem}.library-content{gap:12px}.app-footer span{width:25px}}@media (width<=700px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not(.detail-title-input),select,textarea{font-size:16px!important}}@media (prefers-reduced-motion:reduce){.nav-link,.mobile-bottom-nav-link,.logout-button{transition:none}}
