.md3-navigation-rail{--_container-color: var(--md-sys-color-surface);--_container-width: 80px;--_container-elevation: var(--md-sys-elevation-level0);position:relative;display:flex;flex-direction:column;width:var(--_container-width);height:100vh;background-color:rgb(var(--_container-color));box-shadow:var(--_container-elevation);overflow:hidden;transition:width var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized)}.md3-navigation-rail--expanded{--_container-width: 256px}.md3-navigation-rail__header{display:flex;align-items:center;justify-content:center;min-height:64px;padding:16px;border-bottom:1px solid rgb(var(--md-sys-color-outline-variant))}.md3-navigation-rail__fab{display:flex;align-items:center;justify-content:center;padding:16px}.md3-navigation-rail__destinations{flex:1;display:flex;flex-direction:column;gap:4px;padding:8px 0;overflow-y:auto}.md3-navigation-drawer__scrim{position:fixed;inset:0;background-color:rgb(var(--md-sys-color-scrim) / .32);z-index:var(--md-sys-z-index-modal);opacity:0;animation:md3-scrim-fade-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard) forwards}.md3-navigation-drawer{--_container-color: var(--md-sys-color-surface-container-low);--_container-width: 360px;--_container-elevation: var(--md-sys-elevation-level1);position:fixed;top:0;left:0;width:var(--_container-width);height:100vh;background-color:rgb(var(--_container-color));box-shadow:var(--_container-elevation);z-index:calc(var(--md-sys-z-index-modal) + 1);display:flex;flex-direction:column;transform:translate(-100%);transition:transform var(--md-sys-motion-duration-medium3) var(--md-sys-motion-easing-emphasized)}.md3-navigation-drawer--open{transform:translate(0)}.md3-navigation-drawer--permanent{position:relative;transform:none;z-index:auto}.md3-navigation-drawer__header{display:flex;align-items:center;min-height:64px;padding:16px 24px;border-bottom:1px solid rgb(var(--md-sys-color-outline-variant))}.md3-navigation-drawer__content{flex:1;overflow-y:auto;padding:8px 0}.md3-navigation-drawer__destinations{display:flex;flex-direction:column;gap:4px;padding:0 12px}.md3-navigation-drawer__footer{padding:16px 24px;border-top:1px solid rgb(var(--md-sys-color-outline-variant))}.md3-navigation-bar{--_container-color: var(--md-sys-color-surface-container);--_container-elevation: var(--md-sys-elevation-level2);--_container-height: 80px;position:fixed;bottom:0;left:0;right:0;height:var(--_container-height);background-color:rgb(var(--_container-color));box-shadow:var(--_container-elevation);z-index:var(--md-sys-z-index-fixed)}.md3-navigation-bar__destinations{display:flex;height:100%;align-items:center;justify-content:space-around;padding:0 8px}.md3-navigation-item{--_item-container-color: transparent;--_item-icon-color: var(--md-sys-color-on-surface-variant);--_item-label-text-color: var(--md-sys-color-on-surface-variant);--_item-selected-container-color: var(--md-sys-color-primary-container);--_item-selected-icon-color: var(--md-sys-color-on-primary-container);--_item-selected-label-text-color: var(--md-sys-color-on-primary-container);position:relative;display:flex;align-items:center;justify-content:center;min-height:56px;padding:4px 12px;border:none;border-radius:var(--md-sys-shape-corner-full);background-color:rgb(var(--_item-container-color));cursor:pointer;outline:none;transition:background-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);-webkit-user-select:none;user-select:none;overflow:hidden}.md3-navigation-item--rail{margin:0 8px;flex-direction:column;gap:4px;min-height:72px}.md3-navigation-item--drawer{margin:0;border-radius:var(--md-sys-shape-corner-full);justify-content:flex-start;padding:8px 12px}.md3-navigation-item--bar{flex:1;flex-direction:column;gap:4px;min-height:64px;margin:0 4px;border-radius:var(--md-sys-shape-corner-medium)}.md3-navigation-item--expanded{justify-content:flex-start;padding:8px 16px}.md3-navigation-item__container{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.md3-navigation-item--rail .md3-navigation-item__container,.md3-navigation-item--bar .md3-navigation-item__container{flex-direction:column;gap:4px}.md3-navigation-item--expanded .md3-navigation-item__container{flex-direction:row}.md3-navigation-item__icon-container{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.md3-navigation-item__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:rgb(var(--_item-icon-color));font-size:24px;line-height:1;transition:color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.md3-navigation-item__label{font:var(--md-sys-typescale-label-medium-font);color:rgb(var(--_item-label-text-color));line-height:var(--md-sys-typescale-label-medium-line-height);text-align:center;transition:color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md3-navigation-item--drawer .md3-navigation-item__label{font:var(--md-sys-typescale-label-large-font);line-height:var(--md-sys-typescale-label-large-line-height);text-align:left}.md3-navigation-item__badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;background-color:rgb(var(--md-sys-color-error));color:rgb(var(--md-sys-color-on-error));font:var(--md-sys-typescale-label-small-font);line-height:var(--md-sys-typescale-label-small-line-height);border-radius:var(--md-sys-shape-corner-full);display:flex;align-items:center;justify-content:center;font-weight:500}.md3-navigation-item__ripple{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--ripple-x, 50%) var(--ripple-y, 50%),rgb(var(--_item-icon-color) / .12) 0%,transparent 50%);opacity:0;transform:scale(0);transition:opacity var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-emphasized);pointer-events:none}.md3-navigation-item--selected{--_item-container-color: var(--md-sys-color-primary-container);--_item-icon-color: var(--md-sys-color-on-primary-container);--_item-label-text-color: var(--md-sys-color-on-primary-container)}.md3-navigation-item:hover:not(.md3-navigation-item--disabled){background-color:rgb(var(--_item-icon-color) / .08)}.md3-navigation-item:focus-visible{background-color:rgb(var(--_item-icon-color) / .12);outline:2px solid rgb(var(--md-sys-color-primary));outline-offset:2px}.md3-navigation-item:active:not(.md3-navigation-item--disabled) .md3-navigation-item__ripple{opacity:1;transform:scale(1)}.md3-navigation-item--disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.md3-navigation-layout{display:flex;min-height:100vh}.md3-navigation-layout--drawer,.md3-navigation-layout--bar{flex-direction:column}.md3-navigation-layout__header{display:flex;align-items:center;height:64px;padding:0 16px;background-color:rgb(var(--md-sys-color-surface));border-bottom:1px solid rgb(var(--md-sys-color-outline-variant));z-index:var(--md-sys-z-index-sticky)}.md3-navigation-layout__menu-button{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:var(--md-sys-shape-corner-full);background-color:transparent;color:rgb(var(--md-sys-color-on-surface));cursor:pointer;margin-right:16px;transition:background-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.md3-navigation-layout__menu-button:hover{background-color:rgb(var(--md-sys-color-on-surface) / .08)}.md3-navigation-layout__content{flex:1;overflow:auto}.md3-navigation-layout--bar .md3-navigation-layout__content{margin-bottom:80px}@media(max-width:599px){.md3-navigation-drawer{--_container-width: 100vw;max-width:320px}.md3-navigation-bar__destinations{padding:0 4px}.md3-navigation-item--bar{margin:0 2px}.md3-navigation-item__label{font-size:12px}}@media(max-width:480px){.md3-navigation-bar{--_container-height: 72px}.md3-navigation-item--bar{min-height:56px}.md3-navigation-item__icon{width:20px;height:20px;font-size:20px}.md3-navigation-item__label{font-size:11px}.md3-navigation-layout--bar .md3-navigation-layout__content{margin-bottom:72px}}@keyframes md3-drawer-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes md3-drawer-slide-out{0%{transform:translate(0)}to{transform:translate(-100%)}}@media(prefers-reduced-motion:reduce){.md3-navigation-rail,.md3-navigation-drawer,.md3-navigation-item,.md3-navigation-item__ripple,.md3-navigation-layout__menu-button{transition:none}.md3-navigation-drawer__scrim{animation:none}}@media(prefers-contrast:high){.md3-navigation-rail,.md3-navigation-drawer,.md3-navigation-bar{border:2px solid rgb(var(--md-sys-color-outline))}.md3-navigation-item--selected{border:2px solid rgb(var(--md-sys-color-primary))}.md3-navigation-item:focus-visible{outline-width:3px}}@media(prefers-color-scheme:dark){.md3-navigation-drawer__scrim{background-color:rgb(var(--md-sys-color-scrim) / .48)}.md3-navigation-rail{--_container-color: var(--md-sys-color-surface-container)}.md3-navigation-bar{--_container-color: var(--md-sys-color-surface-container-high)}}@media print{.md3-navigation-rail,.md3-navigation-drawer,.md3-navigation-bar,.md3-navigation-layout__header{display:none}.md3-navigation-layout__content{margin:0}}@supports (padding: env(safe-area-inset-bottom)){.md3-navigation-bar{padding-bottom:env(safe-area-inset-bottom);height:calc(var(--_container-height) + env(safe-area-inset-bottom))}.md3-navigation-layout--bar .md3-navigation-layout__content{margin-bottom:calc(80px + env(safe-area-inset-bottom))}}.md3-library-page{padding:0 24px 24px;max-width:1200px;margin:30px auto 10 auto;min-height:calc(100vh - 128px);color:var(--md-sys-color-on-background);position:relative;z-index:1}.md3-library-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:24px}.md3-loading-spinner{position:relative;width:48px;height:48px}.md3-circular-progress{width:48px;height:48px;border:4px solid var(--md-sys-color-outline);border-top:4px solid var(--md-sys-color-primary);border-radius:50%;animation:spin 1s linear infinite}.md3-loading-text{font-size:16px;color:var(--md-sys-color-on-surface-variant);margin:0}.md3-library-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;text-align:center;max-width:400px;margin:0 auto}.md3-error-icon{font-size:64px;color:var(--md-sys-color-error)}.md3-error-title{font-size:24px;font-weight:400;color:var(--md-sys-color-on-surface);margin:0}.md3-error-message{font-size:16px;color:var(--md-sys-color-on-surface-variant);margin:0;line-height:1.5}.md3-recent-books-section{background:linear-gradient(135deg,var(--md-sys-color-primary-container),var(--md-sys-color-secondary-container));border-radius:var(--md-sys-shape-corner-medium);padding:var(--md-sys-spacing-5);margin-bottom:var(--md-sys-spacing-6);box-shadow:var(--md-sys-elevation-level2)}.md3-recent-books-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.md3-recent-books-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:500;color:var(--md-sys-color-on-primary-container);margin:0}.md3-recent-books-count{font-size:14px;color:var(--md-sys-color-on-primary-container);opacity:.8}.md3-library-page.dark .md3-recent-books-title,.md3-library-page.dark .md3-recent-books-count{color:#e5e9f0}.md3-recent-books-scroll{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent;justify-content:flex-start}.md3-recent-books-scroll::-webkit-scrollbar{height:6px}.md3-recent-books-scroll::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.md3-recent-books-scroll::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.md3-recent-books-scroll::-webkit-scrollbar-thumb:hover{background:#ffffff80}.md3-recent-book-item{flex:1;min-width:160px;max-width:180px;flex-shrink:0}.md3-recent-book-card{height:160px;background:var(--md-sys-color-surface-container-highest);border-radius:8px;border:1px solid rgba(255,255,255,.3);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;padding:12px;position:relative;overflow:hidden}.md3-recent-book-card:hover{background:#fff;transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.md3-recent-book-card.highlighted{animation:bookHighlight 2s ease-in-out;transform:scale(1.02);box-shadow:0 8px 24px #24a8e04d}@keyframes bookHighlight{0%,to{box-shadow:0 6px 16px #00000026;transform:translateY(-2px)}50%{box-shadow:0 12px 32px #24a8e066;transform:translateY(-4px) scale(1.02)}}.reader-topbar{position:fixed;top:8px;left:12px;right:12px;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,var(--md-sys-color-surface) 70%,transparent);border:1px solid var(--md-sys-color-outline-variant);box-shadow:var(--md-sys-elevation-level2)}[data-theme=dark] .reader-topbar{background:color-mix(in srgb,var(--md-sys-color-surface-container) 70%,transparent)}.reader-topbar-left,.reader-topbar-right{display:flex;align-items:center;gap:8px}.reader-topbar-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);cursor:pointer;font-weight:600}.reader-topbar-btn:hover{background:var(--md-sys-color-surface-container-high)}.reader-topbar-back{font-size:16px;line-height:1}.reader-topbar-text{font-size:14px}.reader-topbar .theme-toggle-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface)}.reader-topbar .theme-toggle-button:hover{background:var(--md-sys-color-surface-container-high)}.reader-topbar-badge{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:20px;padding:0 6px;margin-left:6px;border-radius:999px;font-size:12px;font-weight:700;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.md3-recent-book-cover{width:100%;height:100px;border-radius:6px;overflow:hidden;margin-bottom:8px;background:var(--md-sys-color-surface-variant);display:flex;align-items:center;justify-content:center}.md3-recent-book-cover img{width:100%;height:100%;object-fit:contain}.md3-recent-book-cover .book-placeholder{color:var(--md-sys-color-on-surface-variant);font-size:24px}.md3-recent-book-info{flex:1;display:flex;flex-direction:column;gap:2px}.md3-recent-book-title{font-size:11px;font-weight:500;color:var(--md-sys-color-on-surface);line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0}.md3-recent-book-author{font-size:10px;color:var(--md-sys-color-on-surface-variant);line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.md3-library-page.dark .md3-recent-book-card{background:#2e3440e6;border-color:#4c566a4d}.md3-library-page.dark .md3-recent-book-card:hover,.md3-library-page.dark .md3-recent-book-cover{background:#3b4252}.md3-library-page.dark .md3-recent-book-title{color:#e5e9f0}.md3-library-page.dark .md3-recent-book-author{color:#d8dee9}.md3-library-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;gap:24px;flex-wrap:wrap}.md3-filter-chips{display:flex;gap:8px;flex-wrap:wrap}.md3-filter-chip{padding:8px 16px;border:1px solid var(--md-sys-color-outline);background:var(--md-sys-color-background);color:var(--md-sys-color-on-surface-variant);border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.md3-filter-chip:hover{background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface)}.md3-filter-chip.selected{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-color:var(--md-sys-color-secondary)}.md3-library-page.dark .md3-filter-chip{background:#1e293b;border-color:#334155;color:#94a3b8}.md3-library-page.dark .md3-filter-chip:hover{background:#334155;color:#f1f5f9}.md3-library-page.dark .md3-filter-chip.selected{background:#3b4252;color:#88c0d0;border-color:#5e81ac}.md3-view-controls{display:flex;gap:4px;background:var(--md-sys-color-on-surface);border-radius:8px;padding:4px}.md3-view-controls .md3-icon-button{width:40px;height:40px;border-radius:6px;border:none;background:transparent;color:var(--md-sys-color-on-surface-variant);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.md3-view-controls .md3-icon-button:hover{background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface)}.md3-view-controls .md3-icon-button.selected{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.md3-library-page.dark .md3-view-controls{background:#1e293bf2}.md3-library-page.dark .md3-view-controls .md3-icon-button{color:#94a3b8}.md3-library-page.dark .md3-view-controls .md3-icon-button:hover{background:#334155;color:#f1f5f9}.md3-library-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;text-align:center;max-width:400px;margin:0 auto}.md3-empty-icon{font-size:64px;color:var(--md-sys-color-outline)}.md3-empty-title{font-size:20px;font-weight:400;color:var(--md-sys-color-on-surface);margin:0}.md3-empty-message{font-size:14px;color:var(--md-sys-color-on-surface-variant);margin:0;line-height:1.5}.md3-books-container{display:grid;gap:8px}.md3-books-container.grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.md3-books-container.list{grid-template-columns:1fr}.md3-book-card{background:var(--md-sys-color-surface-container-highest);border-radius:12px;padding:10px;cursor:pointer;transition:all .2s;position:relative;overflow:visible;display:flex;gap:16px}.md3-books-container.grid .md3-book-card{flex-direction:column;text-align:center}.md3-books-container.list .md3-book-card{flex-direction:row;text-align:left}.md3-book-card:hover{background:var(--md-sys-color-surface-container-highest);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.md3-book-card.highlighted{animation:mainBookHighlight 2s ease-in-out;background:var(--md-sys-color-primary-container)!important;transform:scale(1.02);box-shadow:0 8px 24px #24a8e04d}@keyframes mainBookHighlight{0%,to{background:var(--md-sys-color-surface);box-shadow:0 4px 12px #a0550fe6;transform:translateY(0)}90%{background:var(--md-sys-color-primary-container);box-shadow:0 12px 32px #24a8e0e6;transform:translateY(-4px) scale(1.02)}}.md3-library-page.dark .md3-book-card{background:#334155e6}.md3-library-page.dark .md3-book-card:hover{background:#334155;box-shadow:0 4px 12px #0000004d}.md3-book-cover{position:relative;flex-shrink:0;overflow:hidden;border-radius:var(--md-sys-shape-corner-medium, 8px)}.md3-books-container.grid .md3-book-cover{width:100%;height:200px;margin-top:6px;margin-bottom:2px;display:flex;align-items:center;justify-content:center}.md3-books-container.list .md3-book-cover{width:140px;height:120px}.md3-book-cover img{width:100%;height:100%;object-fit:contain;border-radius:8px}.md3-book-cover .library-book-cover-manager{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.md3-book-cover .library-book-cover-manager .book-cover-container{width:100%;height:100%;display:flex;align-items:center}.md3-book-placeholder{width:100%;height:100%;background:#1e3a8ae8;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--md-sys-color-on-surface-variant)}.md3-book-placeholder .material-symbols-outlined{font-size:32px}.md3-library-page.dark .md3-book-placeholder{background:#1e3a8acc;color:#94a3b8}.md3-book-info{flex:1;min-width:0;background:#5294ff6b;border-radius:8px;padding:8px 12px}.md3-book-title{font-size:16px;font-weight:500;color:var(--md-sys-color-on-surface);margin:0 0 4px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.md3-book-author{font-size:14px;color:var(--md-sys-color-on-surface-variant);margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}.md3-book-genre{font-size:12px;color:var(--md-sys-color-on-surface-variant);margin:0 0 8px;opacity:.8;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md3-library-page.dark .md3-book-title,.md3-library-page.dark .md3-book-author,.md3-library-page.dark .md3-book-genre{color:#000}.md3-progress-bar{width:100%;height:4px;background:var(--md-sys-color-outline-variant);border-radius:2px;overflow:hidden;margin-top:8px}.md3-progress-fill{height:100%;background:var(--md-sys-color-primary);transition:width .3s ease}.md3-library-page.dark .md3-progress-bar{background:#334155}.md3-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:16px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px #0000001f;transition:all .2s;z-index:50}.md3-fab:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000029}.md3-fab .material-symbols-outlined{font-size:24px}.md3-library-page.dark .md3-fab{background:#3b4252;color:#88c0d0}.md3-button{padding:10px 24px;border-radius:20px;border:none;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;transition:all .2s}.md3-button-filled{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.md3-button-filled:hover{background:var(--md-sys-color-primary);box-shadow:0 2px 8px #0000001f;transform:translateY(-1px)}.md3-library-page.dark .md3-button-filled{background:#5e81ac;color:#fff}.md3-library-page.dark .md3-button-filled:hover{background:#81a1c1}@media(max-width:768px){.md3-library-page{padding:16px}.md3-library-controls{flex-direction:column;align-items:stretch;gap:16px}.md3-filter-chips{justify-content:center}.md3-view-controls{align-self:center}.md3-books-container.grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.md3-books-container.list .md3-book-card{padding:12px}.md3-books-container.list .md3-book-cover{width:60px;height:90px}.md3-fab{bottom:16px;right:16px;width:48px;height:48px;border-radius:12px}.md3-fab .material-symbols-outlined{font-size:20px}}.btn,.card,.chip,.dialog,.snackbar{will-change:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}.btn{contain:layout style}.card{contain:layout style paint}.list-item{contain:layout}.btn{transition:transform .15s cubic-bezier(.2,0,0,1),box-shadow .15s cubic-bezier(.2,0,0,1),background-color .15s cubic-bezier(.2,0,0,1)}.btn:hover{transform:translateY(-1px) scale(1.02);transition-duration:.1s}.btn:active{transform:translateY(0) scale(.98);transition-duration:50ms}.btn:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity 75ms ease-out;pointer-events:none;border-radius:inherit}.btn:hover:before{opacity:.08}.btn:focus-visible:before{opacity:.12}.btn:active:before{opacity:.16;transition-duration:25ms}.text-field{transition:border-color .15s ease-out,box-shadow .15s ease-out;will-change:border-color,box-shadow}.text-field:focus{transition-duration:.1s}.text-field-label{transition:transform .15s cubic-bezier(.2,0,0,1),color .15s cubic-bezier(.2,0,0,1),font-size .15s cubic-bezier(.2,0,0,1);will-change:transform}.card{transition:transform .2s cubic-bezier(.2,0,0,1),box-shadow .2s cubic-bezier(.2,0,0,1)}.card:hover{transform:translateY(-2px);transition-duration:.15s}.scroll-container{contain:layout style;overflow-anchor:auto;scroll-behavior:smooth}.scroll-indicator{transform:translate(var(--scroll-position, 0));transition:transform .1s ease-out;will-change:transform}.virtual-list-container{contain:strict;overflow-anchor:none}.virtual-list-item{contain:layout style;will-change:transform}:root{--motion-duration-short1: 50ms;--motion-duration-short2: .1s;--motion-duration-short3: .15s;--motion-duration-short4: .2s;--motion-duration-medium1: .25s;--motion-duration-medium2: .3s;--motion-easing-emphasized: cubic-bezier(.2, 0, 0, 1);--motion-easing-standard: cubic-bezier(.2, 0, 0, 1);--motion-easing-emphasized-accelerate: cubic-bezier(.3, 0, .8, .15);--motion-easing-emphasized-decelerate: cubic-bezier(.05, .7, .1, 1)}.slide-enter{transform:translate(100%)}.slide-enter-active{transform:translate(0);transition:transform .2s var(--motion-easing-emphasized)}.slide-exit{transform:translate(0)}.slide-exit-active{transform:translate(-100%);transition:transform .2s var(--motion-easing-emphasized)}.ripple-container{position:relative;overflow:hidden;contain:layout style paint}.ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.24;transform:scale(0);animation:ripple .6s cubic-bezier(.2,0,0,1);pointer-events:none}@keyframes ripple{to{transform:scale(2);opacity:0}}.focus-ring{transition:box-shadow .1s ease-out,outline .1s ease-out}.loading-spinner{width:1rem;height:1rem;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin 1s linear infinite;will-change:transform}.skeleton{background:linear-gradient(90deg,var(--md-sys-color-surface-variant) 25%,var(--md-sys-color-surface-container-high) 50%,var(--md-sys-color-surface-variant) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;will-change:background-position}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.book-card{min-height:200px}.user-avatar{width:40px;height:40px}.surface{background-color:var(--md-sys-color-surface)}.on-surface{color:var(--md-sys-color-on-surface)}.primary{background-color:var(--md-sys-color-primary)}.on-primary{color:var(--md-sys-color-on-primary)}@media(hover:none){.btn:hover{transform:none}}@media(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.btn,.card{transition-duration:.12s}}:root,[data-theme=light],.light{--brand-primary: #023e8a;--brand-secondary: #0077b6;--brand-tertiary: #00b4d8;--brand-neutral: #03045e;--md-sys-color-primary: var(--brand-primary);--md-sys-color-on-primary: #FFFFFF;--md-sys-color-primary-container: #CDE6FF;--md-sys-color-on-primary-container: #001B34;--md-sys-color-secondary: var(--brand-secondary);--md-sys-color-on-secondary: #FFFFFF;--md-sys-color-secondary-container: #CCE5FF;--md-sys-color-on-secondary-container: #001E32;--md-sys-color-tertiary: var(--brand-tertiary);--md-sys-color-on-tertiary: #FFFFFF;--md-sys-color-tertiary-container: #BFE9FF;--md-sys-color-on-tertiary-container: #001F2B;--md-sys-color-error: #BA1A1A;--md-sys-color-on-error: #FFFFFF;--md-sys-color-error-container: #FFDAD6;--md-sys-color-on-error-container: #410002;--md-sys-color-background: #F5F8FF;--md-sys-color-on-background: #1A1C28;--md-sys-color-surface: #F6F8FF;--md-sys-color-on-surface: #1A1C28;--md-sys-color-surface-variant: #E0E2EC;--md-sys-color-on-surface-variant: #434752;--md-sys-color-outline: #777680;--md-sys-color-outline-variant: #C3C7CF;--md-sys-color-surface-container-lowest: #FFFFFF;--md-sys-color-surface-container-low: #F6F7FF;--md-sys-color-surface-container: #F1F2FF;--md-sys-color-surface-container-high: #EBEBFF;--md-sys-color-surface-container-highest: #E7E7FF}@media(prefers-color-scheme:dark){:root{--brand-primary: #023e8a;--brand-secondary: #0077b6;--brand-tertiary: #00b4d8;--brand-neutral: #03045e;--md-sys-color-primary: color-mix(in srgb, var(--brand-primary) 45%, #9ECFFF);--md-sys-color-on-primary: #003258;--md-sys-color-primary-container: #00487D;--md-sys-color-on-primary-container: #CDE6FF;--md-sys-color-secondary: color-mix(in srgb, var(--brand-secondary) 45%, #74D2FF);--md-sys-color-on-secondary: #003651;--md-sys-color-secondary-container: #004D74;--md-sys-color-on-secondary-container: #CCE5FF;--md-sys-color-tertiary: color-mix(in srgb, var(--brand-tertiary) 55%, #5FDBFF);--md-sys-color-on-tertiary: #003643;--md-sys-color-tertiary-container: #004D60;--md-sys-color-on-tertiary-container: #BFE9FF;--md-sys-color-error: #FFB4AB;--md-sys-color-on-error: #690005;--md-sys-color-error-container: #93000A;--md-sys-color-on-error-container: #FFDAD6;--md-sys-color-background: #0A0A16;--md-sys-color-on-background: #E4E2F3;--md-sys-color-surface: #0A0A16;--md-sys-color-on-surface: #E4E2F3;--md-sys-color-surface-variant: #434752;--md-sys-color-on-surface-variant: #C3C6D0;--md-sys-color-outline: #8D91A1;--md-sys-color-outline-variant: #434752;--md-sys-color-surface-container-lowest: #050510;--md-sys-color-surface-container-low: #0D0D19;--md-sys-color-surface-container: #151624;--md-sys-color-surface-container-high: #191C28;--md-sys-color-surface-container-highest: #20232F}}[data-theme=dark],.dark{--md-sys-color-primary: #9ECFFF;--md-sys-color-on-primary: #003258;--md-sys-color-primary-container: #00487D;--md-sys-color-on-primary-container: #CDE6FF;--md-sys-color-secondary: #74D2FF;--md-sys-color-on-secondary: #003651;--md-sys-color-secondary-container: #004D74;--md-sys-color-on-secondary-container: #CCE5FF;--md-sys-color-tertiary: #5FDBFF;--md-sys-color-on-tertiary: #003643;--md-sys-color-tertiary-container: #004D60;--md-sys-color-on-tertiary-container: #BFE9FF;--md-sys-color-error: #FFB4AB;--md-sys-color-on-error: #690005;--md-sys-color-error-container: #93000A;--md-sys-color-on-error-container: #FFDAD6;--md-sys-color-background: #0A0A16;--md-sys-color-on-background: #E4E2F3;--md-sys-color-surface: #0A0A16;--md-sys-color-on-surface: #E4E2F3;--md-sys-color-surface-variant: #434752;--md-sys-color-on-surface-variant: #C3C6D0;--md-sys-color-outline: #8D91A1;--md-sys-color-outline-variant: #434752;--md-sys-color-surface-container-lowest: #050510;--md-sys-color-surface-container-low: #0D0D19;--md-sys-color-surface-container: #151624;--md-sys-color-surface-container-high: #191C28;--md-sys-color-surface-container-highest: #20232F}:root{--md-sys-typescale-display-large-font-family: "Inter", "Google Sans", system-ui, sans-serif;--md-sys-typescale-display-large-font-weight: 400;--md-sys-typescale-display-large-font-size: 3.5rem;--md-sys-typescale-display-large-line-height: 4rem;--md-sys-typescale-headline-large-font-family: "Inter", "Google Sans", system-ui, sans-serif;--md-sys-typescale-headline-large-font-weight: 400;--md-sys-typescale-headline-large-font-size: 2rem;--md-sys-typescale-headline-large-line-height: 2.5rem;--md-sys-typescale-title-large-font-family: "Inter", "Google Sans", system-ui, sans-serif;--md-sys-typescale-title-large-font-weight: 400;--md-sys-typescale-title-large-font-size: 1.375rem;--md-sys-typescale-title-large-line-height: 1.75rem;--md-sys-typescale-title-medium-font-family: "Inter", "Google Sans", system-ui, sans-serif;--md-sys-typescale-title-medium-font-weight: 500;--md-sys-typescale-title-medium-font-size: 1rem;--md-sys-typescale-title-medium-line-height: 1.5rem;--md-sys-typescale-body-large-font-family: "Inter", system-ui, sans-serif;--md-sys-typescale-body-large-font-weight: 400;--md-sys-typescale-body-large-font-size: 1rem;--md-sys-typescale-body-large-line-height: 1.5rem;--md-sys-typescale-body-medium-font-family: "Inter", system-ui, sans-serif;--md-sys-typescale-body-medium-font-weight: 400;--md-sys-typescale-body-medium-font-size: .875rem;--md-sys-typescale-body-medium-line-height: 1.25rem;--md-sys-typescale-label-large-font-family: "Inter", system-ui, sans-serif;--md-sys-typescale-label-large-font-weight: 500;--md-sys-typescale-label-large-font-size: .875rem;--md-sys-typescale-label-large-line-height: 1.25rem;--md-sys-shape-corner-extra-small: 4px;--md-sys-shape-corner-small: 8px;--md-sys-shape-corner-medium: 12px;--md-sys-shape-corner-large: 16px;--md-sys-shape-corner-extra-large: 28px;--md-sys-elevation-level0: none;--md-sys-elevation-level1: 0px 1px 2px 0px rgba(0, 0, 0, .3), 0px 1px 3px 1px rgba(0, 0, 0, .15);--md-sys-elevation-level2: 0px 1px 2px 0px rgba(0, 0, 0, .3), 0px 2px 6px 2px rgba(0, 0, 0, .15);--md-sys-elevation-level3: 0px 1px 3px 0px rgba(0, 0, 0, .3), 0px 4px 8px 3px rgba(0, 0, 0, .15);--md-sys-elevation-level4: 0px 2px 3px 0px rgba(0, 0, 0, .3), 0px 6px 10px 4px rgba(0, 0, 0, .15);--md-sys-elevation-level5: 0px 4px 4px 0px rgba(0, 0, 0, .3), 0px 8px 12px 6px rgba(0, 0, 0, .15);--md-sys-spacing-1: 4px;--md-sys-spacing-2: 8px;--md-sys-spacing-3: 12px;--md-sys-spacing-4: 16px;--md-sys-spacing-5: 20px;--md-sys-spacing-6: 24px;--md-sys-spacing-8: 32px;--md-sys-spacing-10: 40px;--md-sys-spacing-12: 48px}.md3-surface{background-color:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface)}.md3-surface-container{background-color:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface)}.md3-surface-container-high{background-color:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface)}.md3-primary{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.md3-primary-container{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.md3-secondary-container{background-color:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.md3-error-container{background-color:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.md3-display-large{font-family:var(--md-sys-typescale-display-large-font-family);font-weight:var(--md-sys-typescale-display-large-font-weight);font-size:var(--md-sys-typescale-display-large-font-size);line-height:var(--md-sys-typescale-display-large-line-height)}.md3-headline-large{font-family:var(--md-sys-typescale-headline-large-font-family);font-weight:var(--md-sys-typescale-headline-large-font-weight);font-size:var(--md-sys-typescale-headline-large-font-size);line-height:var(--md-sys-typescale-headline-large-line-height)}.md3-title-large{font-family:var(--md-sys-typescale-title-large-font-family);font-weight:var(--md-sys-typescale-title-large-font-weight);font-size:var(--md-sys-typescale-title-large-font-size);line-height:var(--md-sys-typescale-title-large-line-height)}.md3-title-medium{font-family:var(--md-sys-typescale-title-medium-font-family);font-weight:var(--md-sys-typescale-title-medium-font-weight);font-size:var(--md-sys-typescale-title-medium-font-size);line-height:var(--md-sys-typescale-title-medium-line-height)}.md3-body-large{font-family:var(--md-sys-typescale-body-large-font-family);font-weight:var(--md-sys-typescale-body-large-font-weight);font-size:var(--md-sys-typescale-body-large-font-size);line-height:var(--md-sys-typescale-body-large-line-height)}.md3-body-medium{font-family:var(--md-sys-typescale-body-medium-font-family);font-weight:var(--md-sys-typescale-body-medium-font-weight);font-size:var(--md-sys-typescale-body-medium-font-size);line-height:var(--md-sys-typescale-body-medium-line-height)}.md3-label-large{font-family:var(--md-sys-typescale-label-large-font-family);font-weight:var(--md-sys-typescale-label-large-font-weight);font-size:var(--md-sys-typescale-label-large-font-size);line-height:var(--md-sys-typescale-label-large-line-height)}.md3-on-surface{color:var(--md-sys-color-on-surface)}.md3-on-surface-variant{color:var(--md-sys-color-on-surface-variant)}.md3-primary-text{color:var(--md-sys-color-primary)}.md3-error-text{color:var(--md-sys-color-error)}.md3-rounded-small{border-radius:var(--md-sys-shape-corner-small)}.md3-rounded-medium{border-radius:var(--md-sys-shape-corner-medium)}.md3-rounded-large{border-radius:var(--md-sys-shape-corner-large)}.md3-rounded-extra-large{border-radius:var(--md-sys-shape-corner-extra-large)}.md3-elevation-1{box-shadow:var(--md-sys-elevation-level1)}.md3-elevation-2{box-shadow:var(--md-sys-elevation-level2)}.md3-elevation-3{box-shadow:var(--md-sys-elevation-level3)}.dashboard-content{display:flex;flex-direction:column;gap:24px;padding:24px;margin:0 auto;background:var(--md-sys-color-surface);overflow:visible;max-width:1200px!important}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;color:var(--md-sys-color-on-surface);text-decoration:none;font-weight:500;transition:all .3s ease}.nav-item:hover{color:var(--md-sys-color-on-primary-container);transform:translate(4px)}.nav-item.active{color:var(--md-sys-color-on-secondary-container)}.nav-icon{font-size:20px;width:20px;height:20px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:24px 0}.stat-card{border-radius:16px;padding:24px;text-align:center;border:1px solid var(--md-sys-color-outline);color:var(--md-sys-color-on-surface);transition:all .3s ease;box-shadow:var(--md-sys-elevation-level2);position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #00000026;border-color:var(--md-sys-color-primary)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--md-sys-color-primary),var(--md-sys-color-secondary));transform:scaleX(0);transition:transform .3s ease}.stat-card:hover:before{transform:scaleX(1)}.stat-icon{font-size:2.5rem;margin-bottom:12px;display:block;color:var(--md-sys-color-primary)}.stat-value{font-size:2.5rem;font-weight:700;margin-bottom:4px;color:var(--md-sys-color-on-surface)}.stat-label{font-size:.875rem;color:var(--md-sys-color-on-surface-variant);font-weight:500;opacity:.8}.stat-card.books-read .stat-icon{color:var(--md-sys-color-primary)}.stat-card.pages-read .stat-icon{color:var(--md-sys-color-secondary)}.stat-card.check-in-streak .stat-icon{color:var(--md-sys-color-tertiary)}.stat-card.reading-streak .stat-icon{color:var(--md-sys-color-error)}.stat-card.total-points .stat-icon{color:#eab308}.stat-card.notes-created .stat-icon{color:#14b8a6}.welcome-header{border-radius:56px;padding:24px 32px;color:#fff;position:relative;overflow:visible;box-shadow:var(--md-sys-elevation-level3);margin-bottom:32px;width:100%;box-sizing:border-box;z-index:1}.welcome-header:before{content:"";position:absolute;inset:0;pointer-events:none}.welcome-title{font-size:28px;font-weight:700;color:#fff;margin:0 0 8px}.welcome-subtitle{font-size:16px;opacity:.9;color:#fff;margin:0 0 16px}.level-progress-bar{background:#ffffff08;border-radius:8px;height:8px;overflow:hidden;margin-bottom:20px}.level-progress-fill{background:linear-gradient(90deg,#fff,#f0f9ff);height:100%;border-radius:8px;transition:width .8s ease-out;box-shadow:0 0 10px #fff9;position:relative}.level-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shimmer 2s infinite}.welcome-actions{display:flex;gap:12px;flex-wrap:wrap}.welcome-action-button{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:12px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;text-decoration:none;position:relative;overflow:hidden}.welcome-action-button.primary{background:#ffffff40;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.welcome-action-button.secondary{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3)}.welcome-action-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.achievement-card{background:var(--md-sys-color-surface);border-radius:12px;padding:20px;border:1px solid var(--md-sys-color-outline-variant);transition:all .3s ease;position:relative;text-align:center}.achievement-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.achievement-card.unlocked{background:var(--md-sys-color-tertiary-container);border-color:var(--md-sys-color-tertiary);box-shadow:0 4px 15px #0000001a}.achievement-card.locked{background:var(--md-sys-color-surface-variant);border-color:var(--md-sys-color-outline);opacity:.7}.achievement-icon{font-size:40px;margin-bottom:8px;transition:all .3s ease}.achievement-card.unlocked .achievement-icon{transform:scale(1.1);filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.achievement-card.locked .achievement-icon{filter:grayscale(100%) opacity(.4)}.achievement-title{font-size:16px;font-weight:700;margin-bottom:4px;color:var(--md-sys-color-on-surface)}.achievement-description{font-size:14px;color:var(--md-sys-color-on-surface-variant);margin-bottom:8px;line-height:1.4}.achievement-card.locked .achievement-title,.achievement-card.locked .achievement-description{color:var(--md-sys-color-outline)}.goal-card{background:var(--md-sys-color-surface);border-radius:12px;padding:24px;border:1px solid var(--md-sys-color-outline-variant);transition:all .3s ease}.goal-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px);border-color:var(--md-sys-color-primary)}.goal-card.completed{background:var(--md-sys-color-primary-container);border-color:var(--md-sys-color-primary)}.goal-progress-bar{width:100%;height:8px;background:var(--md-sys-color-surface-variant);border-radius:8px;overflow:hidden;margin:12px 0}.goal-progress-fill{height:100%;background:linear-gradient(90deg,var(--md-sys-color-primary),var(--md-sys-color-secondary));border-radius:8px;transition:width .8s ease-out;position:relative}.goal-progress-fill.completed{background:linear-gradient(90deg,var(--md-sys-color-tertiary),var(--md-sys-color-secondary))}.goal-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:16px}.quick-action-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border-radius:12px;border:none;color:var(--md-sys-color-on-primary);font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;text-decoration:none;background:var(--md-sys-color-primary)}.quick-action-button.secondary{background:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary)}.quick-action-button.tertiary{background:var(--md-sys-color-tertiary);color:var(--md-sys-color-on-tertiary)}.quick-action-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.achievement-notification{position:fixed;top:20px;right:20px;z-index:1000;max-width:400px;background:linear-gradient(135deg,var(--md-sys-color-tertiary),var(--md-sys-color-secondary));color:var(--md-sys-color-on-tertiary);border-radius:16px;padding:20px;box-shadow:0 10px 30px #0000004d;animation:slide-in .5s ease-out}.achievement-notification-content{display:flex;align-items:center;gap:16px}.achievement-notification-icon{font-size:48px;animation:bounce-in .6s ease-out}.achievement-notification-close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--md-sys-color-on-tertiary);font-size:20px;cursor:pointer;opacity:.7;transition:opacity .2s}.achievement-notification-close:hover{opacity:1}.section-card{background:var(--md-sys-color-on-background);border-radius:16px;padding:24px;border:1px solid var(--md-sys-color-outline);margin-bottom:32px;box-shadow:var(--md-sys-elevation-level1)}.section-title{font-size:20px;font-weight:700;margin-bottom:16px;color:var(--md-sys-color-on-surface);border-bottom:1px solid var(--md-sys-color-outline-variant);padding-bottom:8px}.reading-tip-card{background:var(--md-sys-color-tertiary-container);border:1px solid var(--md-sys-color-tertiary);border-radius:16px;padding:24px;margin:24px 0}.reading-tip-title{color:var(--md-sys-color-on-tertiary-container);font-size:18px;font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:8px}.reading-tip-content{color:var(--md-sys-color-on-tertiary-container);line-height:1.6}.loading-container{display:flex;justify-content:center;align-items:center;padding:60px 20px;flex-direction:column;gap:16px}.loading-spinner{width:48px;height:48px;border:4px solid var(--md-sys-color-outline-variant);border-top:4px solid var(--md-sys-color-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-text{color:var(--md-sys-color-on-surface-variant);font-size:16px;font-weight:500}.empty-state{text-align:center;padding:40px 20px;background:var(--md-sys-color-surface);border-radius:12px;border:1px solid var(--md-sys-color-outline-variant)}.empty-state-icon{font-size:64px;margin-bottom:16px;opacity:.7;color:var(--md-sys-color-outline)}.empty-state-title{font-size:20px;font-weight:700;color:var(--md-sys-color-on-surface-variant);margin-bottom:8px}.empty-state-description{color:var(--md-sys-color-outline);margin-bottom:20px;line-height:1.5}@keyframes slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes bounce-in{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px var(--md-sys-color-primary)}50%{box-shadow:0 0 20px var(--md-sys-color-primary)}}.animate-slide-in{animation:slide-in .5s ease-out}.animate-bounce-in{animation:bounce-in .6s ease-out}.animate-pulse-glow{animation:pulse-glow 2s infinite}@media(max-width:768px){.dashboard-content{padding:16px;gap:16px}.welcome-header{padding:24px 16px}.welcome-title{font-size:24px}.welcome-actions{flex-direction:column}.stats-grid{grid-template-columns:repeat(2,1fr);gap:16px}.stat-card{padding:16px}.stat-value{font-size:2rem}.quick-actions-grid{grid-template-columns:1fr}.achievement-notification{top:10px;right:10px;left:10px;max-width:none}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.welcome-header{padding:20px 12px}.welcome-title{font-size:20px}.section-card,.achievement-card,.goal-card{padding:16px}}.welcome-header{position:relative!important;z-index:999!important;overflow:visible!important;margin-top:20px!important}.text-on-primary-container{color:var(--md-sys-color-on-primary-container)}.text-on-secondary-container{color:var(--md-sys-color-on-secondary-container)}.text-on-tertiary-container{color:var(--md-sys-color-on-tertiary-container)}.text-on-background{color:var(--md-sys-color-on-background)}.border-outline{border-color:var(--md-sys-color-outline)}.border-outline-variant{border-color:var(--md-sys-color-outline-variant)}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .5s ease-out forwards}.animate-slide-up{animation:slide-up .5s ease-out forwards}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--md-sys-color-surface-container)}::-webkit-scrollbar-thumb{background:var(--md-sys-color-surface-container-high);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-outline)}:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}html,body{background:var(--md-sys-color-background);color:var(--md-sys-color-on-background)}::selection{background:color-mix(in srgb,var(--md-sys-color-primary) 30%,transparent);color:var(--md-sys-color-on-surface)}@keyframes skeleton-pulse{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,color-mix(in srgb,var(--md-sys-color-surface-variant) 30%,transparent) 25%,color-mix(in srgb,var(--md-sys-color-surface-variant) 50%,transparent),color-mix(in srgb,var(--md-sys-color-surface-variant) 30%,transparent) 75%);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-pulse}.z-dropdown{z-index:1000}.z-sticky{z-index:1020}.z-fixed{z-index:1030}.z-modal-scrim{z-index:1040}.z-modal-content{z-index:1050}.z-snackbar{z-index:1060}.z-tooltip{z-index:1070}*,*:before,*:after{box-sizing:border-box!important}html{overflow-x:hidden!important;max-width:100vw!important;width:100%!important;position:relative!important}body{overflow-x:hidden!important;max-width:100vw!important;width:100%!important;margin:0!important;padding:0!important;position:relative!important}#root,#app,.app,.App{overflow-x:hidden!important;max-width:100vw!important;width:100%!important}div:not(.login-background):not(.login-container):not(.login-content-wrapper):not([class*=login-]):not(.md3-dialog):not(.md3-dialog__scrim):not(.md3-dialog__container),section:not([class*=login-]),article:not([class*=login-]),main:not([class*=login-]),header:not([class*=login-]),footer:not(.login-footer):not([class*=login-]):not(.md3-dialog),nav:not([class*=login-]),aside:not([class*=login-]){max-width:100vw!important;overflow-wrap:break-word!important;word-wrap:break-word!important}img:not([class*=logo]):not([class*=Logo]),video,iframe,embed,object,svg:not([class*=logo]):not([class*=Logo]),canvas{max-width:100%!important;height:auto!important}p,span,a,li,td,th,h1,h2,h3,h4,h5,h6,div{overflow-wrap:break-word!important;word-wrap:break-word!important;word-break:break-word!important;-webkit-hyphens:auto!important;hyphens:auto!important}a,code,pre{overflow-wrap:break-word!important;word-wrap:break-word!important;word-break:break-all!important}[class*=grid],[class*=Grid],.grid,.Grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))!important}[class*=flex],[class*=Flex],.flex,.Flex{flex-wrap:wrap!important;max-width:100%!important}.container:not(.login-container),.Container:not(.login-container),[class*=container]:not(.simple-scroll-container):not(.navigation-container):not(.welcome-nav-scrollable):not([class*=login]):not(.login-container),[class*=Container]:not([class*=login]):not(.login-container){max-width:100vw!important;overflow-x:hidden!important}.simple-scroll-container,.navigation-container,.welcome-nav-scrollable{overflow-x:auto!important;max-width:none!important}.wrapper:not(.login-content-wrapper),.Wrapper:not(.login-content-wrapper),[class*=wrapper]:not([class*=login]):not(.login-content-wrapper),[class*=Wrapper]:not([class*=login]):not(.login-content-wrapper){max-width:100vw!important;overflow-x:hidden!important}nav,.nav,.Nav,[class*=nav],[class*=Nav],[class*=navigation],[class*=Navigation]{max-width:100vw!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}nav ul,nav ol,.nav ul,.nav ol{display:flex!important;flex-wrap:wrap!important;max-width:100%!important}[class*=card]:not([class*=login-card]):not(.login-card):not(.login-card-enhanced),[class*=Card]:not([class*=login-card]):not(.login-card):not(.login-card-enhanced),.card:not(.login-card):not(.login-card-enhanced),.Card:not(.login-card):not(.login-card-enhanced){max-width:100%!important;overflow-x:hidden!important}[class*=modal]:not(.md3-dialog),[class*=Modal]:not(.md3-dialog),[class*=dialog]:not(.md3-dialog),[class*=Dialog]:not(.md3-dialog),.modal:not(.md3-dialog),.Modal:not(.md3-dialog),.dialog:not(.md3-dialog),.Dialog:not(.md3-dialog){max-width:calc(100vw - 40px)!important;overflow-x:hidden!important}.md3-dialog{max-width:none!important}table{max-width:100%!important;overflow-x:auto!important;display:block!important;border-collapse:collapse!important}.table-wrapper,[class*=table-wrapper],[class*=tableWrapper]{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}form{max-width:100%!important;overflow-x:hidden!important}input,textarea,select,button{max-width:100%!important}[class*=input-group],[class*=inputGroup],[class*=form-group],[class*=formGroup]{max-width:100%!important;overflow-x:hidden!important}@media(max-width:767px){[class*=col-],[class*=Col-],.row>div,.Row>div{width:100%!important;max-width:100%!important;flex:0 0 100%!important}.container,.Container,[class*=container],[class*=Container]{padding-left:16px!important;padding-right:16px!important}[class*=flex],[class*=Flex],.flex,.Flex{flex-direction:column!important}button[aria-label*=Scroll],button[aria-label*=scroll],button[style*="borderRadius: '50%'"],button[style*="border-radius: 50%"],.book-menu-button,button.book-menu-button,.welcome-nav-scrollable button,.navigation-container button{width:auto!important;max-width:-webkit-fit-content!important;max-width:fit-content!important}h1{font-size:28px!important}h2{font-size:24px!important}h3{font-size:20px!important}h4{font-size:18px!important}h5,h6{font-size:16px!important}[class*=padding],[class*=Padding]{padding-left:16px!important;padding-right:16px!important}[class*=margin],[class*=Margin]{margin-left:16px!important;margin-right:16px!important}}@media(max-width:374px){.container,.Container,[class*=container],[class*=Container]{padding-left:12px!important;padding-right:12px!important}body{font-size:14px!important}h1{font-size:24px!important}h2{font-size:20px!important}h3{font-size:18px!important}}@supports (padding: env(safe-area-inset-left)){body{padding-left:env(safe-area-inset-left)!important;padding-right:env(safe-area-inset-right)!important;padding-bottom:env(safe-area-inset-bottom)!important}[style*="position: fixed"],.fixed,.Fixed{padding-left:max(16px,env(safe-area-inset-left))!important;padding-right:max(16px,env(safe-area-inset-right))!important}}.md3-card,.MD3Card,[class*=md3-card],[class*=MD3Card]{max-width:100%!important;overflow-x:hidden!important}.md3-button,.MD3Button,[class*=md3-button],[class*=MD3Button]{max-width:100%!important}[class*=gamification],[class*=Gamification]{max-width:100%!important;overflow-x:hidden!important}[class*=landing],[class*=Landing],[class*=hero],[class*=Hero]{max-width:100vw!important;overflow-x:hidden!important}*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}*::-webkit-scrollbar{height:6px;width:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}*::-webkit-scrollbar-thumb:hover{background-color:#0000004d}@media print{html,body,*{overflow:visible!important;max-width:none!important}}@media(max-width:767px)and (orientation:landscape){.container,.Container{padding-left:24px!important;padding-right:24px!important}}@media(max-width:767px){a,button,input[type=button],input[type=submit],[role=button],[onclick]{min-height:44px!important;min-width:44px!important}}*{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}:root{--breakpoint-compact: 0px;--breakpoint-medium: 600px;--breakpoint-expanded: 840px;--breakpoint-large: 1200px;--breakpoint-extra-large: 1600px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--container-padding: 16px;--gap-sm: 8px;--gap-md: 12px;--gap-lg: 16px;--button-min-height: 44px;--button-padding-x: 24px;--button-padding-y: 12px;--button-border-radius: 24px;--button-width: 100%;--button-max-width: none;--button-flex: 1;--body-font-size: 1rem;--body-line-height: 1.5;--label-font-size: .875rem;--label-line-height: 1.25rem;--fab-size-normal: 56px;--fab-size-small: 40px;--fab-bottom: 16px;--fab-right: 16px;--bottom-sheet-max-height: 90vh;--bottom-sheet-border-radius: 28px;--sidebar-width: 480px;--sidebar-max-width: 90vw}@media(min-width:600px){:root{--spacing-md: 20px;--spacing-lg: 28px;--spacing-xl: 40px;--spacing-xxl: 56px;--container-padding: 24px;--button-width: auto;--button-padding-x: 32px;--fab-size-normal: 56px;--fab-size-small: 40px;--fab-bottom: 24px;--fab-right: 24px}}@media(min-width:840px){:root{--spacing-md: 24px;--spacing-lg: 32px;--spacing-xl: 48px;--spacing-xxl: 64px;--container-padding: 32px;--gap-md: 16px;--gap-lg: 24px;--sidebar-width: 420px}}@media(min-width:1200px){:root{--spacing-lg: 40px;--spacing-xl: 56px;--spacing-xxl: 80px;--container-padding: 40px;--sidebar-width: 480px;--fab-bottom: 32px;--fab-right: 32px}}@media(min-width:1600px){:root{--spacing-xxl: 96px;--container-padding: 48px}}.responsive-button{width:var(--button-width);max-width:var(--button-max-width);min-height:var(--button-min-height);padding:var(--button-padding-y) var(--button-padding-x);border-radius:var(--button-border-radius)}.responsive-container{padding-left:var(--container-padding);padding-right:var(--container-padding);max-width:100%}.responsive-gap{gap:var(--gap-md)}@media(pointer:coarse){:root{--button-min-height: 48px;--button-padding-x: 24px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:16px}.loading-spinner{border:3px solid #e0e0e0;border-top:3px solid var(--md-sys-color-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-spinner.w-6{width:24px;height:24px}.loading-spinner.w-8{width:32px;height:32px}.loading-spinner.w-12{width:48px;height:48px}.loading-spinner.h-6{height:24px}.loading-spinner.h-8{height:32px}.loading-spinner.h-12{height:48px}.loading-spinner.border-primary{border-top-color:var(--md-sys-color-primary)}.loading-spinner.border-secondary{border-top-color:var(--md-sys-color-secondary)}.loading-spinner.border-accent{border-top-color:var(--md-sys-color-tertiary)}.loading-message{color:var(--md-sys-color-on-surface-variant);font-size:14px;font-weight:500;margin:0;text-align:center}.network-status{position:fixed;top:0;left:0;right:0;z-index:1000;padding:12px 16px;text-align:center;animation:slideDown .3s ease-out}.network-status.offline{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.network-status.reconnecting{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.network-indicator{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:500}.offline-icon,.reconnecting-icon{width:16px;height:16px;border-radius:50%}.offline-icon{background:var(--md-sys-color-error)}.reconnecting-icon{background:var(--md-sys-color-tertiary);animation:pulse 1s ease-in-out infinite}.offline-message{font-size:12px;margin:4px 0 0;opacity:.8}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.error-boundary-container{display:flex;align-items:center;justify-content:center;min-height:400px;padding:24px;background:var(--md-sys-color-surface)}.error-boundary-content{max-width:500px;text-align:center;background:var(--md-sys-color-surface-container);border-radius:16px;padding:32px;border:1px solid var(--md-sys-color-outline-variant);box-shadow:0 4px 12px #0000001a}.error-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);margin:0 auto 24px}.error-title{font-size:24px;font-weight:600;color:var(--md-sys-color-on-surface);margin:0 0 12px;line-height:1.3}.error-message{font-size:16px;color:var(--md-sys-color-on-surface-variant);margin:0 0 8px;line-height:1.5}.error-suggestion{font-size:14px;color:var(--md-sys-color-on-surface-variant);margin:0 0 24px;opacity:.8;font-style:italic}.error-actions{display:flex;flex-direction:column;gap:12px;align-items:center}.error-button{display:flex;align-items:center;gap:8px;padding:12px 24px;border-radius:24px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;min-width:160px;justify-content:center}.error-button:disabled{opacity:.5;cursor:not-allowed}.error-button.primary{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.error-button.primary:hover:not(:disabled){background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.error-button.secondary{background:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary)}.error-button.secondary:hover:not(:disabled){background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.error-button.tertiary{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);border:1px solid var(--md-sys-color-outline)}.error-button.tertiary:hover:not(:disabled){background:var(--md-sys-color-surface-container-highest);transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.retry-counter{font-size:12px;color:var(--md-sys-color-on-surface-variant);margin:16px 0 0;opacity:.7}.error-boundary-compact{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border-radius:8px;font-size:14px;margin:8px 0;border:1px solid var(--md-sys-color-error)}.error-icon-small{display:flex;align-items:center;justify-content:center;flex-shrink:0}.error-message-small{flex:1;font-weight:500}.retry-button-small{background:transparent;border:1px solid var(--md-sys-color-on-error-container);color:var(--md-sys-color-on-error-container);border-radius:4px;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.retry-button-small:hover:not(:disabled){background:var(--md-sys-color-on-error-container);color:var(--md-sys-color-error-container)}.retry-button-small:disabled{opacity:.5;cursor:not-allowed}.error-details{margin-top:24px;text-align:left;background:var(--md-sys-color-surface-container-high);border-radius:8px;padding:16px;border:1px solid var(--md-sys-color-outline-variant)}.error-details summary{font-weight:500;color:var(--md-sys-color-on-surface);cursor:pointer;margin-bottom:12px}.error-details summary:hover{color:var(--md-sys-color-primary)}.error-stack{font-family:Courier New,monospace;font-size:12px;color:var(--md-sys-color-on-surface-variant);line-height:1.4}.error-stack pre{background:var(--md-sys-color-surface-container);padding:8px;border-radius:4px;overflow-x:auto;margin:8px 0;border:1px solid var(--md-sys-color-outline-variant)}.error-stack strong{color:var(--md-sys-color-on-surface);font-weight:600}@media(max-width:768px){.error-boundary-content{padding:24px;margin:16px}.error-title{font-size:20px}.error-message{font-size:14px}.error-actions{width:100%}.error-button{width:100%;max-width:none}.error-boundary-compact{flex-direction:column;align-items:flex-start;gap:6px;text-align:left}.error-message-small{width:100%}}@media(prefers-color-scheme:dark){.error-boundary-content{box-shadow:0 4px 12px #0000004d}.error-button.primary:hover:not(:disabled){box-shadow:0 4px 8px #0006}.error-button.secondary:hover:not(:disabled){box-shadow:0 4px 8px #0006}.error-button.tertiary:hover:not(:disabled){box-shadow:0 2px 6px #0000004d}}@keyframes errorFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.error-boundary-container,.error-boundary-compact{animation:errorFadeIn .3s ease-out}@media(prefers-contrast:high){.error-boundary-content{border:2px solid var(--md-sys-color-outline)}.error-button{border:2px solid currentColor}.error-boundary-compact{border:2px solid var(--md-sys-color-error)}}@media(prefers-reduced-motion:reduce){.error-boundary-container,.error-boundary-compact,.error-button{animation:none;transition:none}.error-button:hover:not(:disabled){transform:none}}:root{--md-sys-motion-duration-short1: 50ms;--md-sys-motion-duration-short2: .1s;--md-sys-motion-duration-short3: .15s;--md-sys-motion-duration-short4: .2s;--md-sys-motion-duration-medium1: .25s;--md-sys-motion-duration-medium2: .3s;--md-sys-motion-duration-medium3: .35s;--md-sys-motion-duration-medium4: .4s;--md-sys-motion-duration-long1: .45s;--md-sys-motion-duration-long2: .5s;--md-sys-motion-duration-long3: .55s;--md-sys-motion-duration-long4: .6s;--md-sys-motion-easing-linear: cubic-bezier(0, 0, 1, 1);--md-sys-motion-easing-standard: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-standard-accelerate: cubic-bezier(.3, 0, 1, 1);--md-sys-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0, 1);--md-sys-motion-easing-emphasized: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-emphasized-accelerate: cubic-bezier(.3, 0, .8, .15);--md-sys-motion-easing-emphasized-decelerate: cubic-bezier(.05, .7, .1, 1);--md-sys-z-index-dropdown: 1000;--md-sys-z-index-sticky: 1020;--md-sys-z-index-fixed: 1030;--md-sys-z-index-modal: 1040;--md-sys-z-index-snackbar: 1050;--md-sys-z-index-tooltip: 1060}@keyframes md3-shared-axis-x-enter{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes md3-shared-axis-x-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30px)}}@keyframes md3-shared-axis-y-enter{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes md3-shared-axis-y-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}@keyframes md3-shared-axis-z-enter{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes md3-shared-axis-z-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}@keyframes md3-container-transform-enter{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes md3-container-transform-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes md3-fade-through-enter{0%{opacity:0;transform:scale(.92)}35%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes md3-fade-through-exit{0%{opacity:1;transform:scale(1)}35%{opacity:0;transform:scale(.92)}to{opacity:0;transform:scale(.92)}}@keyframes md3-elevation-rise{0%{box-shadow:var(--md-sys-elevation-level0)}to{box-shadow:var(--md-sys-elevation-level2)}}@keyframes md3-elevation-lower{0%{box-shadow:var(--md-sys-elevation-level2)}to{box-shadow:var(--md-sys-elevation-level0)}}@keyframes md3-ripple-expand{0%{opacity:.12;transform:scale(0)}to{opacity:0;transform:scale(1)}}@keyframes md3-ripple-fade-in{0%{opacity:0}to{opacity:.12}}@keyframes md3-ripple-fade-out{0%{opacity:.12}to{opacity:0}}@keyframes md3-focus-ring-enter{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes md3-focus-ring-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes md3-scale-in{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes md3-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}@keyframes md3-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes md3-slide-down{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@keyframes md3-slide-left{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes md3-slide-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes md3-book-flip{0%{transform:rotateY(0)}50%{transform:rotateY(-90deg)}to{transform:rotateY(0)}}@keyframes md3-page-turn{0%{transform:rotateY(0);box-shadow:0 0 #0000}50%{transform:rotateY(90deg);box-shadow:-10px 0 20px #0003}to{transform:rotateY(180deg);box-shadow:0 0 #0000}}@keyframes md3-bookmark-flutter{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-2px) rotate(1deg)}75%{transform:translateY(1px) rotate(-1deg)}}@keyframes md3-reading-progress-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.md3-animate-fade-in{animation:md3-fade-through-enter var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard) forwards}.md3-animate-fade-out{animation:md3-fade-through-exit var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard) forwards}.md3-animate-scale-in{animation:md3-scale-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized) forwards}.md3-animate-scale-out{animation:md3-scale-out var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized) forwards}.md3-animate-slide-up{animation:md3-slide-up var(--md-sys-motion-duration-medium3) var(--md-sys-motion-easing-emphasized-decelerate) forwards}.md3-animate-slide-down{animation:md3-slide-down var(--md-sys-motion-duration-medium3) var(--md-sys-motion-easing-emphasized-accelerate) forwards}.md3-animate-shared-axis-x{animation:md3-shared-axis-x-enter var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard) forwards}.md3-animate-shared-axis-y{animation:md3-shared-axis-y-enter var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard) forwards}.md3-animate-container-transform{animation:md3-container-transform-enter var(--md-sys-motion-duration-medium3) var(--md-sys-motion-easing-emphasized) forwards}.md3-hover-lift{transition:transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.md3-hover-lift:hover{transform:translateY(-2px);box-shadow:var(--md-sys-elevation-level3)}.md3-hover-scale{transition:transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.md3-hover-scale:hover{transform:scale(1.02)}.md3-press-scale{transition:transform var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.md3-press-scale:active{transform:scale(.98)}@keyframes md3-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes md3-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.md3-loading-pulse{animation:md3-pulse var(--md-sys-motion-duration-long2) ease-in-out infinite}.md3-loading-shimmer{background:linear-gradient(90deg,rgb(var(--md-sys-color-surface-variant) / .1) 25%,rgb(var(--md-sys-color-surface-variant) / .3),rgb(var(--md-sys-color-surface-variant) / .1) 75%);background-size:200% 100%;animation:md3-shimmer 1.5s ease-in-out infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.md3-animate-fade-in,.md3-animate-fade-out,.md3-animate-scale-in,.md3-animate-scale-out,.md3-animate-slide-up,.md3-animate-slide-down,.md3-animate-shared-axis-x,.md3-animate-shared-axis-y,.md3-animate-container-transform{animation:none}.md3-hover-lift,.md3-hover-scale,.md3-press-scale{transition:none}}.md3-will-change-transform{will-change:transform}.md3-will-change-opacity{will-change:opacity}.md3-will-change-auto{will-change:auto}.md3-hardware-accelerated{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}#root{width:100%;min-height:100vh;display:flex;flex-direction:column;background-color:var(--md-sys-color-background);color:var(--md-sys-color-on-background);font-family:var(--md-sys-typescale-body-large-font-family, "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif);font-size:var(--md-sys-typescale-body-large-size, 1rem);line-height:var(--md-sys-typescale-body-large-line-height, 1.5);letter-spacing:var(--md-sys-typescale-body-large-tracking, .5px);transition:background-color var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1)),color var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1))}.app{width:100%;min-height:100vh;display:flex;flex-direction:column}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:1000;background-color:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);border-bottom:1px solid var(--md-sys-color-outline-variant);box-shadow:var(--md-sys-elevation-level1, 0px 1px 2px rgba(0, 0, 0, .3), 0px 1px 3px 1px rgba(0, 0, 0, .15) );transition:background-color var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1)),box-shadow var(--md-sys-motion-duration-short4, .2s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1))}.app-main{flex:1;display:flex;flex-direction:column;padding:var(--md-sys-spacing-4, 16px);gap:var(--md-sys-spacing-6, 24px);max-width:1200px;margin:0 auto;width:100%}.app-footer{background-color:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface-variant);padding:var(--md-sys-spacing-6, 24px);text-align:center;border-top:1px solid var(--md-sys-color-outline-variant);font-size:var(--md-sys-typescale-body-small-size, .75rem);transition:background-color var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1)),color var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1))}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--md-sys-spacing-6, 24px);padding:var(--md-sys-spacing-4, 16px) 0}.library-list{display:flex;flex-direction:column;gap:var(--md-sys-spacing-4, 16px);padding:var(--md-sys-spacing-4, 16px) 0}.book-card{background-color:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-large, 16px);padding:var(--md-sys-spacing-4, 2px);box-shadow:var(--md-sys-elevation-level1, 0px 1px 2px rgba(0, 0, 0, .3), 0px 1px 3px 1px rgba(0, 0, 0, .15) );transition:all var(--md-sys-motion-duration-short4, .2s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1));cursor:pointer}.book-card:hover{background-color:var(--md-sys-color-surface-container-high);box-shadow:var(--md-sys-elevation-level2, 0px 1px 2px rgba(0, 0, 0, .3), 0px 2px 6px 2px rgba(0, 0, 0, .15) )}.book-card:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.navigation-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--md-sys-spacing-4, 16px) var(--md-sys-spacing-6, 24px);background-color:var(--md-sys-color-surface-container)}.navigation-rail{width:80px;min-height:100vh;background-color:var(--md-sys-color-surface-container);display:flex;flex-direction:column;align-items:center;padding:var(--md-sys-spacing-4, 16px) 0;gap:var(--md-sys-spacing-4, 16px)}.navigation-drawer{width:280px;min-height:100vh;background-color:var(--md-sys-color-surface-container-low);display:flex;flex-direction:column;padding:var(--md-sys-spacing-6, 24px);gap:var(--md-sys-spacing-2, 8px)}.content-section{background-color:var(--md-sys-color-surface);border-radius:var(--md-sys-shape-corner-large, 16px);padding:var(--md-sys-spacing-6, 24px);margin-bottom:var(--md-sys-spacing-6, 24px);box-shadow:var(--md-sys-elevation-level1, 0px 1px 2px rgba(0, 0, 0, .3), 0px 1px 3px 1px rgba(0, 0, 0, .15) )}.hero-section{background:linear-gradient(135deg,var(--md-sys-color-primary-container),var(--md-sys-color-tertiary-container));color:var(--md-sys-color-on-primary-container);border-radius:var(--md-sys-shape-corner-extra-large, 24px);padding:var(--md-sys-spacing-8, 32px);text-align:center;margin-bottom:var(--md-sys-spacing-8, 32px)}.headline-large{font-family:var(--md-sys-typescale-headline-large-font-family, "Google Sans", "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-headline-large-size, 2rem);font-weight:var(--md-sys-typescale-headline-large-weight, 400);line-height:var(--md-sys-typescale-headline-large-line-height, 2.5rem);letter-spacing:var(--md-sys-typescale-headline-large-tracking, 0)}.headline-medium{font-family:var(--md-sys-typescale-headline-medium-font-family, "Google Sans", "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-headline-medium-size, 1.75rem);font-weight:var(--md-sys-typescale-headline-medium-weight, 400);line-height:var(--md-sys-typescale-headline-medium-line-height, 2.25rem);letter-spacing:var(--md-sys-typescale-headline-medium-tracking, 0)}.title-large{font-family:var(--md-sys-typescale-title-large-font-family, "Google Sans", "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-title-large-size, 1.375rem);font-weight:var(--md-sys-typescale-title-large-weight, 400);line-height:var(--md-sys-typescale-title-large-line-height, 1.75rem);letter-spacing:var(--md-sys-typescale-title-large-tracking, 0)}.body-large{font-family:var(--md-sys-typescale-body-large-font-family, "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-body-large-size, 1rem);font-weight:var(--md-sys-typescale-body-large-weight, 400);line-height:var(--md-sys-typescale-body-large-line-height, 1.5rem);letter-spacing:var(--md-sys-typescale-body-large-tracking, .5px)}.body-medium{font-family:var(--md-sys-typescale-body-medium-font-family, "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-body-medium-size, .875rem);font-weight:var(--md-sys-typescale-body-medium-weight, 400);line-height:var(--md-sys-typescale-body-medium-line-height, 1.25rem);letter-spacing:var(--md-sys-typescale-body-medium-tracking, .25px)}.label-large{font-family:var(--md-sys-typescale-label-large-font-family, "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-label-large-size, .875rem);font-weight:var(--md-sys-typescale-label-large-weight, 500);line-height:var(--md-sys-typescale-label-large-line-height, 1.25rem);letter-spacing:var(--md-sys-typescale-label-large-tracking, .1px)}@media(max-width:599px){.app-main{padding:var(--md-sys-spacing-3, 12px);gap:var(--md-sys-spacing-4, 16px)}.library-grid{grid-template-columns:1fr;gap:var(--md-sys-spacing-4, 16px)}.content-section{padding:var(--md-sys-spacing-4, 16px);margin-bottom:var(--md-sys-spacing-4, 16px)}.hero-section{padding:var(--md-sys-spacing-6, 24px);margin-bottom:var(--md-sys-spacing-6, 24px)}.navigation-bar{padding:var(--md-sys-spacing-3, 12px) var(--md-sys-spacing-4, 16px)}}@media(min-width:600px)and (max-width:1024px){.library-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.app-main{padding:var(--md-sys-spacing-5, 20px)}}@media(min-width:1025px){.app-main{padding:var(--md-sys-spacing-6, 24px)}.library-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}.focusable:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px;border-radius:var(--md-sys-shape-corner-small, 8px)}@media(prefers-contrast:high){.app-header,.app-footer,.book-card,.content-section{border:1px solid var(--md-sys-color-outline)}}@media(prefers-reduced-motion:reduce){#root,.app-header,.app-footer,.book-card,.content-section,.hero-section{transition:none}}@media(prefers-color-scheme:dark){#root{background-color:var(--md-sys-color-background);color:var(--md-sys-color-on-background)}.app-header{background-color:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface)}.app-footer{background-color:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface-variant)}.book-card{background-color:var(--md-sys-color-surface-container)}.book-card:hover{background-color:var(--md-sys-color-surface-container-high)}}@media print{.app-header,.app-footer,.navigation-bar,.navigation-rail,.navigation-drawer{display:none}.app-main{padding:0;max-width:none}.book-card,.content-section{box-shadow:none;border:1px solid var(--md-sys-color-outline-variant);break-inside:avoid}}.notepad-widget{position:fixed;bottom:20px;right:20px;background-color:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);padding:10px;box-shadow:0 0 10px #0003;z-index:1000;width:300px;height:200px;resize:both;overflow:auto}.notepad-widget textarea{width:100%;height:100%;border:none;outline:none;resize:none}[data-theme=light] .upload-main-text,.light .upload-main-text,:root:not([data-theme=dark]) .upload-main-text,.upload-main-text{color:var(--md-sys-color-on-surface)!important}[data-theme=dark] .upload-main-text,.dark .upload-main-text{color:var(--md-sys-color-on-surface-container)!important}.md3-rail-destination:before,.md3-rail-destination:after,.md3-rail-destination:hover:before,.md3-rail-destination:hover:after,.md3-rail-destination:active:before,.md3-rail-destination:active:after,.md3-rail-destination.active:before,.md3-rail-destination.active:after{display:none!important;content:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}.md3-navigation-rail *[title],.premium-header *[title],.md3-top-app-bar *[title]{position:relative!important}.md3-navigation-rail *[title]:hover:after,.md3-navigation-rail *[title]:hover:before,.premium-header *[title]:hover:after,.premium-header *[title]:hover:before,.md3-top-app-bar *[title]:hover:after,.md3-top-app-bar *[title]:hover:before{display:none!important;content:none!important;visibility:hidden!important}.md3-navigation-rail .md3-tooltip,.md3-navigation-rail [role=tooltip],.premium-header .md3-tooltip,.premium-header [role=tooltip],.md3-top-app-bar .md3-tooltip,.md3-top-app-bar [role=tooltip]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;z-index:-9999!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.sr-only-focusable:focus,.sr-only-focusable:active{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important;white-space:normal!important}:root:not([data-theme=dark]) button:focus-visible,:root:not([data-theme=dark]) a:focus-visible,:root:not([data-theme=dark]) input:focus-visible,:root:not([data-theme=dark]) select:focus-visible,:root:not([data-theme=dark]) textarea:focus-visible,:root:not([data-theme=dark]) [tabindex]:focus-visible{outline:3px solid var(--md-sys-color-primary, #4f46e5);outline-offset:2px;box-shadow:0 0 0 4px #4f46e526}[data-theme=dark] button:focus-visible,[data-theme=dark] a:focus-visible,[data-theme=dark] input:focus-visible,[data-theme=dark] select:focus-visible,[data-theme=dark] textarea:focus-visible,[data-theme=dark] [tabindex]:focus-visible{outline:3px solid var(--md-sys-color-primary, #a5c2ff);outline-offset:2px;box-shadow:0 0 0 4px #a5c2ff40}button:focus,a:focus,input:focus,select:focus,textarea:focus{outline:none}@supports not selector(:focus-visible){button:focus,a:focus,input:focus,select:focus,textarea:focus,[tabindex]:focus{outline:3px solid var(--md-sys-color-primary, #4f46e5);outline-offset:2px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.spinning,.sync-icon.spinning,.loading-spinner,.rotating,.pulsing,[class*=animate],[class*=transition]{animation:none!important;transition:none!important}}@media(prefers-contrast:high){button,a,input,select,textarea{border:2px solid currentColor}button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid currentColor;outline-offset:2px}}.skip-link{position:absolute;top:-40px;left:0;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);padding:12px 24px;text-decoration:none;font-weight:600;z-index:10000;border-radius:0 0 8px}.skip-link:focus{top:0;outline:3px solid var(--md-sys-color-on-primary);outline-offset:2px}[aria-live=polite],[aria-live=assertive],[role=status],[role=alert]{position:relative}.aria-live-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.text-error{color:var(--md-sys-color-error);font-weight:500}.text-warning{color:var(--md-sys-color-tertiary);font-weight:500}.text-success{color:var(--md-sys-color-secondary);font-weight:500}@media(pointer:coarse){button,a,input[type=checkbox],input[type=radio],[role=button],[role=link]{min-height:44px;min-width:44px}button.small,a.small{min-height:32px;min-width:32px}}.required:after{content:" *";color:var(--md-sys-color-error);font-weight:700;margin-left:2px}.error-message{color:var(--md-sys-color-error);font-size:.875rem;margin-top:4px;display:flex;align-items:center;gap:4px}input:invalid:not(:focus),select:invalid:not(:focus),textarea:invalid:not(:focus){border-color:var(--md-sys-color-error)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--md-sys-color-error);border-width:2px}.js-focus-visible :focus:not(.focus-visible){outline:none}.js-focus-visible .focus-visible{outline:3px solid var(--md-sys-color-primary);outline-offset:2px}@media(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){body{font-size:106.25%}}@media(orientation:landscape)and (max-height:500px){.modal,.dialog{max-height:90vh;overflow-y:auto}}@media(max-width:320px){body{overflow-x:hidden}*{max-width:100%;word-wrap:break-word}table{display:block;overflow-x:auto}}.interactive{cursor:pointer;-webkit-user-select:none;user-select:none}[disabled],[aria-disabled=true]{opacity:.6;cursor:not-allowed;pointer-events:none}[aria-busy=true]{cursor:wait;position:relative}[aria-current=page]{font-weight:700;border-left:4px solid var(--md-sys-color-primary);padding-left:12px}@media print{a[href]:after{content:" (" attr(href) ")"}nav,.no-print,[aria-hidden=true]{display:none!important}*{color:#000!important;background:#fff!important}}.md3-tooltip{--_container-color: var(--md-sys-color-inverse-surface);--_container-shape: var(--md-sys-shape-corner-extra-small);--_container-elevation: var(--md-sys-elevation-level2);--_label-text-color: var(--md-sys-color-inverse-on-surface);--_label-text-font: var(--md-sys-typescale-body-small-font);position:fixed;z-index:var(--md-sys-z-index-tooltip);max-width:320px;padding:8px 12px;background-color:rgb(var(--_container-color));border-radius:var(--_container-shape);box-shadow:var(--_container-elevation);opacity:0;transform:scale(.8);transition:opacity var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-emphasized);pointer-events:none}.md3-tooltip--entering{opacity:1;transform:scale(1)}.md3-tooltip--exiting{opacity:0;transform:scale(.8)}.md3-tooltip__content{font:var(--_label-text-font);color:rgb(var(--_label-text-color));line-height:var(--md-sys-typescale-body-small-line-height);text-align:center;word-wrap:break-word}.md3-tooltip--rich{--_container-color: var(--md-sys-color-surface-container-high);--_label-text-color: var(--md-sys-color-on-surface);max-width:400px;padding:16px}.md3-tooltip--top:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgb(var(--_container-color))}.md3-tooltip--bottom:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid rgb(var(--_container-color))}.md3-tooltip--left:after{content:"";position:absolute;top:50%;left:100%;transform:translateY(-50%);width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:6px solid rgb(var(--_container-color))}.md3-tooltip--right:after{content:"";position:absolute;top:50%;right:100%;transform:translateY(-50%);width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid rgb(var(--_container-color))}.md3-rich-tooltip__content{text-align:left}.md3-rich-tooltip__title{font:var(--md-sys-typescale-title-small-font);color:rgb(var(--md-sys-color-on-surface));line-height:var(--md-sys-typescale-title-small-line-height);margin-bottom:8px;font-weight:500}.md3-rich-tooltip__description{font:var(--md-sys-typescale-body-medium-font);color:rgb(var(--md-sys-color-on-surface-variant));line-height:var(--md-sys-typescale-body-medium-line-height);margin-bottom:12px}.md3-rich-tooltip__actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.book-tooltip-details{display:flex;flex-direction:column;gap:4px}.book-tooltip-details p{margin:0;font:var(--md-sys-typescale-body-small-font);line-height:var(--md-sys-typescale-body-small-line-height)}.book-tooltip-details strong{color:rgb(var(--md-sys-color-on-surface));font-weight:500}@media(max-width:600px){.md3-tooltip{max-width:calc(100vw - 32px);font-size:14px}.md3-tooltip--rich{max-width:calc(100vw - 32px);padding:12px}.md3-rich-tooltip__title{font-size:16px}.md3-rich-tooltip__description{font-size:14px}.md3-rich-tooltip__actions{flex-direction:column;gap:8px}}@media(max-width:480px){.md3-tooltip{max-width:calc(100vw - 16px);padding:6px 10px;font-size:13px}.md3-tooltip--rich{padding:10px}.md3-tooltip:after{display:none}}@media(prefers-reduced-motion:reduce){.md3-tooltip,.md3-tooltip--entering,.md3-tooltip--exiting{transition:none}}@media(prefers-contrast:high){.md3-tooltip,.md3-tooltip--rich{border:2px solid rgb(var(--md-sys-color-outline))}}@media(prefers-color-scheme:dark){.md3-tooltip--rich{--_container-color: var(--md-sys-color-surface-container-highest)}}@keyframes md3-tooltip-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes md3-tooltip-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.md3-tooltip{-webkit-user-select:none;user-select:none}.md3-tooltip__content{max-width:100%;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.md3-tooltip--top.md3-tooltip--edge-left:after{left:16px;transform:none}.md3-tooltip--top.md3-tooltip--edge-right:after{left:auto;right:16px;transform:none}.md3-tooltip--bottom.md3-tooltip--edge-left:after{left:16px;transform:none}.md3-tooltip--bottom.md3-tooltip--edge-right:after{left:auto;right:16px;transform:none}.md3-tooltip[role=tooltip]{outline:none}.md3-tooltip{isolation:isolate}.md3-menu{--_container-color: var(--md-sys-color-surface-container);--_container-shape: var(--md-sys-shape-corner-extra-small);--_container-elevation: var(--md-sys-elevation-level2);position:fixed;z-index:var(--md-sys-z-index-dropdown);min-width:112px;max-width:280px;padding:8px 0;background-color:rgb(var(--_container-color));border-radius:var(--_container-shape);box-shadow:var(--_container-elevation);overflow:hidden;transform-origin:top left;opacity:0;transform:scale(.8);transition:opacity var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized)}.md3-menu--open{opacity:1;transform:scale(1)}.md3-menu--closing{opacity:0;transform:scale(.8)}.md3-menu--elevation-1{--_container-elevation: var(--md-sys-elevation-level1)}.md3-menu--elevation-2{--_container-elevation: var(--md-sys-elevation-level2)}.md3-menu--elevation-3{--_container-elevation: var(--md-sys-elevation-level3)}.md3-menu-item{--_list-item-container-color: transparent;--_list-item-label-text-color: var(--md-sys-color-on-surface);--_list-item-supporting-text-color: var(--md-sys-color-on-surface-variant);--_list-item-leading-icon-color: var(--md-sys-color-on-surface-variant);--_list-item-trailing-icon-color: var(--md-sys-color-on-surface-variant);--_list-item-container-height: 48px;position:relative;display:flex;align-items:center;min-height:var(--_list-item-container-height);padding:12px 16px;background-color:rgb(var(--_list-item-container-color));cursor:pointer;outline:none;transition:background-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);-webkit-user-select:none;user-select:none}.md3-menu-item__text{flex:1;min-width:0;font:var(--md-sys-typescale-body-large-font);color:rgb(var(--_list-item-label-text-color));line-height:var(--md-sys-typescale-body-large-line-height);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md3-menu-item__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:rgb(var(--_list-item-leading-icon-color));flex-shrink:0}.md3-menu-item__icon--leading{margin-right:12px}.md3-menu-item__icon--trailing{margin-left:12px;color:rgb(var(--_list-item-trailing-icon-color))}.md3-menu-item__ripple{position:absolute;inset:0;background:radial-gradient(circle at var(--ripple-x, 50%) var(--ripple-y, 50%),rgb(var(--md-sys-color-on-surface) / .12) 0%,transparent 50%);opacity:0;transform:scale(0);transition:opacity var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-emphasized);pointer-events:none}.md3-menu-item:hover:not(.md3-menu-item--disabled){background-color:rgb(var(--md-sys-color-on-surface) / .08)}.md3-menu-item:focus-visible{background-color:rgb(var(--md-sys-color-on-surface) / .12);outline:2px solid rgb(var(--md-sys-color-primary));outline-offset:-2px}.md3-menu-item:active:not(.md3-menu-item--disabled) .md3-menu-item__ripple{opacity:1;transform:scale(1)}.md3-menu-item--selected{background-color:rgb(var(--md-sys-color-secondary-container));--_list-item-label-text-color: var(--md-sys-color-on-secondary-container);--_list-item-leading-icon-color: var(--md-sys-color-on-secondary-container);--_list-item-trailing-icon-color: var(--md-sys-color-on-secondary-container)}.md3-menu-item--disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.md3-menu-item--destructive{--_list-item-label-text-color: var(--md-sys-color-error);--_list-item-leading-icon-color: var(--md-sys-color-error)}.md3-menu-item--destructive:hover:not(.md3-menu-item--disabled){background-color:rgb(var(--md-sys-color-error) / .08)}.md3-menu-divider{height:1px;margin:8px 0;background-color:rgb(var(--md-sys-color-outline-variant))}.md3-menu-group{padding:8px 0}.md3-menu-group:not(:first-child){border-top:1px solid rgb(var(--md-sys-color-outline-variant))}.md3-menu-group__label{padding:8px 16px 4px;font:var(--md-sys-typescale-label-small-font);color:rgb(var(--md-sys-color-on-surface-variant));line-height:var(--md-sys-typescale-label-small-line-height);text-transform:uppercase;letter-spacing:.1em}.md3-dropdown-button{--_button-container-color: transparent;--_button-label-text-color: var(--md-sys-color-on-surface);--_button-outline-color: var(--md-sys-color-outline);--_button-container-shape: var(--md-sys-shape-corner-extra-small);--_button-container-height: 40px;position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:var(--_button-container-height);padding:0 16px;border:1px solid rgb(var(--_button-outline-color));border-radius:var(--_button-container-shape);background-color:rgb(var(--_button-container-color));cursor:pointer;outline:none;transition:background-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);-webkit-user-select:none;user-select:none;overflow:hidden}.md3-dropdown-button--filled{--_button-container-color: var(--md-sys-color-primary);--_button-label-text-color: var(--md-sys-color-on-primary);border:none}.md3-dropdown-button--tonal{--_button-container-color: var(--md-sys-color-secondary-container);--_button-label-text-color: var(--md-sys-color-on-secondary-container);border:none}.md3-dropdown-button--outlined{--_button-container-color: transparent;--_button-label-text-color: var(--md-sys-color-primary);--_button-outline-color: var(--md-sys-color-outline)}.md3-dropdown-button--text{--_button-container-color: transparent;--_button-label-text-color: var(--md-sys-color-primary);border:none}.md3-dropdown-button__ripple{position:absolute;inset:0;background:radial-gradient(circle at var(--ripple-x, 50%) var(--ripple-y, 50%),rgb(var(--_button-label-text-color) / .12) 0%,transparent 50%);opacity:0;transform:scale(0);transition:opacity var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-emphasized);pointer-events:none}.md3-dropdown-button__icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:rgb(var(--_button-label-text-color));margin-right:8px}.md3-dropdown-button__text{font:var(--md-sys-typescale-label-large-font);color:rgb(var(--_button-label-text-color));line-height:var(--md-sys-typescale-label-large-line-height);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md3-dropdown-button__arrow{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:rgb(var(--_button-label-text-color));margin-left:8px;font-size:12px;transition:transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.md3-dropdown-button__arrow--up{transform:rotate(180deg)}.md3-dropdown-button:hover:not(.md3-dropdown-button--disabled){background-color:rgb(var(--_button-label-text-color) / .08)}.md3-dropdown-button--outlined:hover:not(.md3-dropdown-button--disabled){border-color:rgb(var(--md-sys-color-outline));background-color:rgb(var(--md-sys-color-primary) / .08)}.md3-dropdown-button:focus-visible{box-shadow:0 0 0 2px rgb(var(--md-sys-color-primary))}.md3-dropdown-button:active:not(.md3-dropdown-button--disabled) .md3-dropdown-button__ripple{opacity:1;transform:scale(1)}.md3-dropdown-button--open{background-color:rgb(var(--_button-label-text-color) / .12)}.md3-dropdown-button--disabled{opacity:.38;cursor:not-allowed;pointer-events:none}@media(max-width:600px){.md3-menu{max-width:calc(100vw - 32px)}.md3-menu-item{min-height:56px;padding:16px}.md3-menu-item__text{font-size:16px}.md3-dropdown-button{height:48px;padding:0 12px}.md3-dropdown-button__text{font-size:16px}}@media(max-width:480px){.md3-menu{min-width:160px}.md3-menu-item__icon--leading{margin-right:16px}.md3-menu-item__icon--trailing{margin-left:16px}.md3-dropdown-button__icon{margin-right:4px}.md3-dropdown-button__arrow{margin-left:4px}}@media(prefers-reduced-motion:reduce){.md3-menu,.md3-menu-item__ripple,.md3-dropdown-button,.md3-dropdown-button__ripple,.md3-dropdown-button__arrow{transition:none}}@media(prefers-contrast:high){.md3-menu{border:2px solid rgb(var(--md-sys-color-outline))}.md3-menu-divider{height:2px;background-color:rgb(var(--md-sys-color-outline))}.md3-dropdown-button--outlined{border-width:2px}.md3-menu-item:focus-visible{outline-width:3px}.md3-dropdown-button:focus-visible{box-shadow:0 0 0 3px rgb(var(--md-sys-color-primary))}}@media(prefers-color-scheme:dark){.md3-menu{--_container-color: var(--md-sys-color-surface-container-high)}.md3-menu-item--selected{background-color:rgb(var(--md-sys-color-secondary-container))}}@keyframes md3-menu-scale-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes md3-menu-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.md3-menu[data-anchor-origin=top-left]{transform-origin:bottom left}.md3-menu[data-anchor-origin=top-right]{transform-origin:bottom right}.md3-menu[data-anchor-origin=bottom-left]{transform-origin:top left}.md3-menu[data-anchor-origin=bottom-right]{transform-origin:top right}.md3-menu[data-anchor-origin=center]{transform-origin:center}.md3-menu-item--has-submenu .md3-menu-item__icon--trailing:after{content:"▶";font-size:12px}.md3-menu--nested{margin-left:4px}@media(pointer:coarse){.md3-menu-item{min-height:56px}.md3-dropdown-button{min-height:48px}}.md3-snackbar__container{position:fixed;z-index:var(--md-sys-z-index-snackbar);pointer-events:none}.md3-snackbar{--_container-color: var(--md-sys-color-inverse-surface);--_container-elevation: var(--md-sys-elevation-level3);--_container-shape: var(--md-sys-shape-corner-extra-small);--_supporting-text-color: var(--md-sys-color-inverse-on-surface);--_action-label-text-color: var(--md-sys-color-inverse-primary);position:relative;display:flex;align-items:center;min-width:344px;max-width:672px;min-height:48px;background-color:rgb(var(--_container-color));border-radius:var(--_container-shape);box-shadow:var(--_container-elevation);pointer-events:auto;overflow:hidden}.md3-snackbar__content{display:flex;align-items:center;gap:12px;padding:14px 16px;flex:1;min-width:0}.md3-snackbar__message{font:var(--md-sys-typescale-body-medium-font);color:rgb(var(--_supporting-text-color));line-height:var(--md-sys-typescale-body-medium-line-height);flex:1;min-width:0;word-wrap:break-word}.md3-snackbar__action{display:flex;align-items:center;gap:8px;flex-shrink:0}.md3-snackbar__action-button{-webkit-appearance:none;appearance:none;border:none;border-radius:9999px;padding:8px 14px;font:var(--md-sys-typescale-label-large-font);line-height:var(--md-sys-typescale-label-large-line-height);cursor:pointer;background-color:rgb(var(--md-sys-color-inverse-primary));color:rgb(var(--md-sys-color-inverse-on-surface));transition:transform .12s ease,filter .12s ease,background-color .12s ease}.md3-snackbar__action-button:hover{filter:brightness(.95)}.md3-snackbar__action-button:active{transform:translateY(1px)}.md3-snackbar__action-button:focus-visible{outline:2px solid rgba(var(--md-sys-color-inverse-on-surface),.9);outline-offset:2px}.md3-snackbar__action .md3-button{--md-sys-color-primary: var(--md-sys-color-inverse-primary);--md-sys-color-on-primary: var(--md-sys-color-inverse-on-surface);min-width:auto;padding:8px 12px;font-size:.875rem}.md3-snackbar__close-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;border-radius:50%;cursor:pointer;color:rgb(var(--_supporting-text-color));transition:background-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);flex-shrink:0}.md3-snackbar__close-button:hover{background-color:rgb(var(--md-sys-color-inverse-on-surface) / .08)}.md3-snackbar__close-button:active{background-color:rgb(var(--md-sys-color-inverse-on-surface) / .12)}.md3-snackbar__close-icon{width:18px;height:18px;fill:currentColor}.md3-snackbar--success{--_container-color: var(--md-sys-color-tertiary-container);--_supporting-text-color: var(--md-sys-color-on-tertiary-container);--_action-label-text-color: var(--md-sys-color-tertiary)}.md3-snackbar--error{--_container-color: var(--md-sys-color-error-container);--_supporting-text-color: var(--md-sys-color-on-error-container);--_action-label-text-color: var(--md-sys-color-error)}.md3-snackbar--warning{--_container-color: var(--md-sys-color-secondary-container);--_supporting-text-color: var(--md-sys-color-on-secondary-container);--_action-label-text-color: var(--md-sys-color-secondary)}.md3-snackbar--info{--_container-color: var(--md-sys-color-primary-container);--_supporting-text-color: var(--md-sys-color-on-primary-container);--_action-label-text-color: var(--md-sys-color-primary)}.md3-snackbar--bottom-center{bottom:16px;left:50%;transform:translate(-50%)}.md3-snackbar--bottom-left{bottom:16px;left:16px}.md3-snackbar--bottom-right{bottom:16px;right:16px}.md3-snackbar--top-center{top:16px;left:50%;transform:translate(-50%)}.md3-snackbar--top-left{top:16px;left:16px}.md3-snackbar--top-right{top:16px;right:16px}.md3-snackbar--entering{animation:md3-snackbar-enter var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized) forwards}.md3-snackbar--exiting{animation:md3-snackbar-exit var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized) forwards}@keyframes md3-snackbar-enter{0%{opacity:0;transform:translate(-50%) translateY(100%)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes md3-snackbar-exit{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(100%)}}@keyframes md3-snackbar-enter-left{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes md3-snackbar-exit-left{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}@keyframes md3-snackbar-enter-right{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes md3-snackbar-exit-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes md3-snackbar-enter-top{0%{opacity:0;transform:translate(-50%) translateY(-100%)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes md3-snackbar-exit-top{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-100%)}}.md3-snackbar--bottom-left.md3-snackbar--entering{animation:md3-snackbar-enter-left var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized) forwards}.md3-snackbar--bottom-left.md3-snackbar--exiting{animation:md3-snackbar-exit-left var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized) forwards}.md3-snackbar--bottom-right.md3-snackbar--entering{animation:md3-snackbar-enter-right var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized) forwards}.md3-snackbar--bottom-right.md3-snackbar--exiting{animation:md3-snackbar-exit-right var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized) forwards}.md3-snackbar--top-center.md3-snackbar--entering,.md3-snackbar--top-left.md3-snackbar--entering,.md3-snackbar--top-right.md3-snackbar--entering{animation:md3-snackbar-enter-top var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized) forwards}.md3-snackbar--top-center.md3-snackbar--exiting,.md3-snackbar--top-left.md3-snackbar--exiting,.md3-snackbar--top-right.md3-snackbar--exiting{animation:md3-snackbar-exit-top var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized) forwards}.md3-progress-snackbar__content{display:flex;flex-direction:column;gap:8px;width:100%}.md3-progress-snackbar__message{font:var(--md-sys-typescale-body-medium-font);color:rgb(var(--_supporting-text-color));line-height:var(--md-sys-typescale-body-medium-line-height)}.md3-progress-snackbar__progress{position:relative;width:100%;height:4px;background-color:rgb(var(--md-sys-color-inverse-on-surface) / .24);border-radius:2px;overflow:hidden}.md3-progress-snackbar__progress-bar{position:absolute;top:0;left:0;height:100%;background-color:rgb(var(--_action-label-text-color));border-radius:inherit;transition:width var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.md3-progress-snackbar__percentage{font:var(--md-sys-typescale-label-small-font);color:rgb(var(--_supporting-text-color));line-height:var(--md-sys-typescale-label-small-line-height);text-align:right;opacity:.8}@media(max-width:600px){.md3-snackbar{min-width:280px;max-width:calc(100vw - 32px);margin:0 16px}.md3-snackbar--bottom-center,.md3-snackbar--top-center{left:16px;right:16px;transform:none;width:auto}.md3-snackbar__content{padding:12px 14px;gap:8px}.md3-snackbar__message{font-size:.875rem}.md3-snackbar__action .md3-button{padding:6px 8px;font-size:.75rem}}@media(max-width:480px){.md3-snackbar{min-width:240px}.md3-snackbar__content{flex-direction:column;align-items:stretch;gap:8px}.md3-snackbar__action{justify-content:flex-end;margin-top:4px}.md3-snackbar__close-button{align-self:flex-end;margin-top:-4px}}.md3-snackbar:nth-of-type(1){z-index:calc(var(--md-sys-z-index-snackbar) + 3)}.md3-snackbar:nth-of-type(2){z-index:calc(var(--md-sys-z-index-snackbar) + 2);bottom:80px;opacity:.9;transform:translate(-50%) scale(.98)}.md3-snackbar:nth-of-type(3){z-index:calc(var(--md-sys-z-index-snackbar) + 1);bottom:144px;opacity:.8;transform:translate(-50%) scale(.96)}.md3-snackbar:nth-of-type(n+4){display:none}@media(prefers-reduced-motion:reduce){.md3-snackbar--entering,.md3-snackbar--exiting{animation:none}.md3-progress-snackbar__progress-bar{transition:none}}@media(prefers-contrast:high){.md3-snackbar{border:2px solid rgb(var(--md-sys-color-outline))}.md3-snackbar__close-button:focus-visible{outline:2px solid rgb(var(--_supporting-text-color));outline-offset:2px}}@media(prefers-color-scheme:dark){.md3-snackbar--success{--_container-color: var(--md-sys-color-tertiary);--_supporting-text-color: var(--md-sys-color-on-tertiary)}.md3-snackbar--error{--_container-color: var(--md-sys-color-error);--_supporting-text-color: var(--md-sys-color-on-error)}.md3-snackbar--warning{--_container-color: var(--md-sys-color-secondary);--_supporting-text-color: var(--md-sys-color-on-secondary)}.md3-snackbar--info{--_container-color: var(--md-sys-color-primary);--_supporting-text-color: var(--md-sys-color-on-primary)}}.md3-checkbox{--_selected-container-color: var(--md-sys-color-primary);--_selected-icon-color: var(--md-sys-color-on-primary);--_unselected-outline-color: var(--md-sys-color-on-surface-variant);--_unselected-container-color: transparent;--_label-text-color: var(--md-sys-color-on-surface);--_supporting-text-color: var(--md-sys-color-on-surface-variant);--_container-size: 18px;--_icon-size: 18px;--_outline-width: 2px;display:flex;align-items:flex-start;position:relative}.md3-checkbox__container{display:flex;align-items:flex-start;gap:16px;cursor:pointer;position:relative;min-height:40px}.md3-checkbox__control{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px}.md3-checkbox__input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2;top:0;left:0}.md3-checkbox__box{position:relative;width:var(--_container-size);height:var(--_container-size);border-radius:2px;border:var(--_outline-width) solid var(--_unselected-outline-color);background-color:var(--_unselected-container-color);transition:border-color var(--md-sys-motion-duration-short2, .15s) var(--md-sys-motion-easing-standard, ease),background-color var(--md-sys-motion-duration-short2, .15s) var(--md-sys-motion-easing-standard, ease);overflow:hidden;z-index:1;pointer-events:none}.md3-checkbox__box--checked{border-color:var(--_selected-container-color);background-color:var(--_selected-container-color)}.md3-checkbox__background{position:absolute;inset:0;border-radius:inherit;background-color:inherit}.md3-checkbox__icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--_selected-icon-color);width:var(--_icon-size);height:var(--_icon-size);transform:scale(0);transition:transform var(--md-sys-motion-duration-short2, .15s) var(--md-sys-motion-easing-emphasized, ease)}.md3-checkbox__box--checked .md3-checkbox__icon{transform:scale(1)}.md3-checkbox__icon--checkmark{width:16px;height:16px}.md3-checkbox__icon--indeterminate{width:10px;height:2px;background-color:currentColor;border-radius:1px}.md3-checkbox__ripple{position:absolute;inset:-11px;border-radius:50%;background-color:color-mix(in srgb,var(--md-sys-color-on-surface) 12%,transparent);opacity:0;transform:scale(0);transition:opacity var(--md-sys-motion-duration-short1, .1s) var(--md-sys-motion-easing-standard, ease),transform var(--md-sys-motion-duration-short2, .15s) var(--md-sys-motion-easing-standard, ease);pointer-events:none}.md3-checkbox__label-container{display:flex;flex-direction:column;gap:4px;flex:1;padding-top:10px}.md3-checkbox__label{font:var(--md-sys-typescale-body-medium-font);color:var(--_label-text-color);line-height:var(--md-sys-typescale-body-medium-line-height);-webkit-user-select:none;user-select:none}.md3-checkbox__supporting-text{font:var(--md-sys-typescale-body-small-font);color:var(--_supporting-text-color);line-height:var(--md-sys-typescale-body-small-line-height)}.md3-checkbox__asterisk{color:var(--md-sys-color-error)}.md3-checkbox__input:hover+.md3-checkbox__box{border-color:var(--md-sys-color-on-surface)}.md3-checkbox__input:hover:checked+.md3-checkbox__box,.md3-checkbox__input:hover:indeterminate+.md3-checkbox__box{border-color:var(--md-sys-color-primary);background-color:var(--md-sys-color-primary)}.md3-checkbox__input:active~.md3-checkbox__ripple{opacity:1;transform:scale(1)}.md3-checkbox__input:focus-visible+.md3-checkbox__box{outline:2px solid var(--md-sys-color-primary);outline-offset:2px;box-shadow:0 0 0 3px color-mix(in srgb,var(--md-sys-color-primary) 35%,transparent)}.md3-checkbox--disabled{opacity:.38}.md3-checkbox--disabled .md3-checkbox__container,.md3-checkbox--disabled .md3-checkbox__input{cursor:not-allowed}.md3-checkbox--error .md3-checkbox__box{border-color:var(--md-sys-color-error)}.md3-checkbox--error.md3-checkbox__box--checked{background-color:var(--md-sys-color-error)}.md3-checkbox--error .md3-checkbox__supporting-text{color:var(--md-sys-color-error)}.md3-checkbox-group{display:flex;flex-direction:column;gap:8px}.md3-checkbox-group__label-container{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.md3-checkbox-group__label{font:var(--md-sys-typescale-body-large-font);color:var(--md-sys-color-on-surface);line-height:var(--md-sys-typescale-body-large-line-height)}.md3-checkbox-group__supporting-text{font:var(--md-sys-typescale-body-small-font);color:var(--md-sys-color-on-surface-variant);line-height:var(--md-sys-typescale-body-small-line-height)}.md3-checkbox-group__asterisk{color:var(--md-sys-color-error)}.md3-checkbox-group__options{display:flex;flex-direction:column;gap:12px}.md3-checkbox-group--disabled{opacity:.38}.md3-checkbox-group--error .md3-checkbox-group__label,.md3-checkbox-group--error .md3-checkbox-group__supporting-text{color:var(--md-sys-color-error)}@media(max-width:600px){.md3-checkbox__container{gap:12px}.md3-checkbox-group__options{gap:8px}}@media(prefers-reduced-motion:reduce){.md3-checkbox__box,.md3-checkbox__icon,.md3-checkbox__ripple{transition:none}}@media(prefers-contrast:high){.md3-checkbox__box{border-width:3px}.md3-checkbox__input:focus-visible+.md3-checkbox__box{outline-width:3px}}.md3-surface{position:relative;display:block;background-color:rgb(var(--md-sys-color-surface, 255 255 255));color:rgb(var(--md-sys-color-on-surface, 28 27 31));border-radius:var(--md-sys-shape-corner-medium, 12px);transition:background-color var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1)),color var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1)),box-shadow var(--md-sys-motion-duration-short4, .2s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1))}.md3-surface--surface{background-color:rgb(var(--md-sys-color-surface, 255 255 255));color:rgb(var(--md-sys-color-on-surface, 28 27 31))}.md3-surface--surface-dim{background-color:rgb(var(--md-sys-color-surface-dim, 222 216 225));color:rgb(var(--md-sys-color-on-surface, 28 27 31))}.md3-surface--surface-bright{background-color:rgb(var(--md-sys-color-surface-bright, 255 251 255));color:rgb(var(--md-sys-color-on-surface, 28 27 31))}.md3-surface--surface-container-lowest{background-color:rgb(var(--md-sys-color-surface-container-lowest, 255 255 255));color:rgb(var(--md-sys-color-on-surface, 28 27 31))}.md3-surface--surface-container-low{background-color:rgb(var(--md-sys-color-surface-container-low, 247 243 249));color:rgb(var(--md-sys-color-on-surface, 28 27 31))}.md3-surface--surface-container{background-color:rgb(var(--md-sys-color-surface-container, 243 237 247));color:rgb(var(--md-sys-color-on-surface, 28 27 31))}.md3-surface--surface-container-high{background-color:rgb(var(--md-sys-color-surface-container-high, 236 230 240));color:rgb(var(--md-sys-color-on-surface, 28 27 31))}.md3-surface--surface-container-highest{background-color:rgb(var(--md-sys-color-surface-container-highest, 230 224 233));color:rgb(var(--md-sys-color-on-surface, 28 27 31))}.md3-surface--surface-variant{background-color:rgb(var(--md-sys-color-surface-variant, 231 224 236));color:rgb(var(--md-sys-color-on-surface-variant, 73 69 79))}.md3-surface--primary{background-color:rgb(var(--md-sys-color-primary, 103 80 164));color:rgb(var(--md-sys-color-on-primary, 255 255 255))}.md3-surface--primary-container{background-color:rgb(var(--md-sys-color-primary-container, 234 221 255));color:rgb(var(--md-sys-color-on-primary-container, 33 0 93))}.md3-surface--secondary{background-color:rgb(var(--md-sys-color-secondary, 98 91 113));color:rgb(var(--md-sys-color-on-secondary, 255 255 255))}.md3-surface--secondary-container{background-color:rgb(var(--md-sys-color-secondary-container, 232 222 248));color:rgb(var(--md-sys-color-on-secondary-container, 29 25 43))}.md3-surface--tertiary{background-color:rgb(var(--md-sys-color-tertiary, 125 82 96));color:rgb(var(--md-sys-color-on-tertiary, 255 255 255))}.md3-surface--tertiary-container{background-color:rgb(var(--md-sys-color-tertiary-container, 255 216 228));color:rgb(var(--md-sys-color-on-tertiary-container, 55 11 30))}.md3-surface--error{background-color:rgb(var(--md-sys-color-error, 186 26 26));color:rgb(var(--md-sys-color-on-error, 255 255 255))}.md3-surface--error-container{background-color:rgb(var(--md-sys-color-error-container, 249 222 220));color:rgb(var(--md-sys-color-on-error-container, 65 14 11))}.md3-surface--elevation-0{box-shadow:none}.md3-surface--elevation-1{box-shadow:var(--md-sys-elevation-level1, 0px 1px 2px rgba(0, 0, 0, .3), 0px 1px 3px 1px rgba(0, 0, 0, .15) )}.md3-surface--elevation-2{box-shadow:var(--md-sys-elevation-level2, 0px 1px 2px rgba(0, 0, 0, .3), 0px 2px 6px 2px rgba(0, 0, 0, .15) )}.md3-surface--elevation-3{box-shadow:var(--md-sys-elevation-level3, 0px 1px 3px rgba(0, 0, 0, .3), 0px 4px 8px 3px rgba(0, 0, 0, .15) )}.md3-surface--elevation-4{box-shadow:var(--md-sys-elevation-level4, 0px 2px 3px rgba(0, 0, 0, .3), 0px 6px 10px 4px rgba(0, 0, 0, .15) )}.md3-surface--elevation-5{box-shadow:var(--md-sys-elevation-level5, 0px 4px 4px rgba(0, 0, 0, .3), 0px 8px 12px 6px rgba(0, 0, 0, .15) )}.md3-surface--rounded-none{border-radius:0}.md3-surface--rounded-xs{border-radius:var(--md-sys-shape-corner-extra-small, 4px)}.md3-surface--rounded-sm{border-radius:var(--md-sys-shape-corner-small, 8px)}.md3-surface--rounded-md{border-radius:var(--md-sys-shape-corner-medium, 12px)}.md3-surface--rounded-lg{border-radius:var(--md-sys-shape-corner-large, 16px)}.md3-surface--rounded-xl{border-radius:var(--md-sys-shape-corner-extra-large, 24px)}.md3-surface--rounded-full{border-radius:var(--md-sys-shape-corner-full, 9999px)}.md3-surface--book-card{background-color:rgb(var(--md-sys-color-surface-container, 243 237 247));border-radius:var(--md-sys-shape-corner-large, 16px);padding:var(--md-sys-spacing-4, 16px);transition:all var(--md-sys-motion-duration-short4, .2s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1))}.md3-surface--book-card:hover{background-color:rgb(var(--md-sys-color-surface-container-high, 236 230 240));box-shadow:var(--md-sys-elevation-level2, 0px 1px 2px rgba(0, 0, 0, .3), 0px 2px 6px 2px rgba(0, 0, 0, .15) )}.md3-surface--navigation{background-color:rgb(var(--md-sys-color-surface-container, 243 237 247));border-radius:0}.md3-surface--dialog{background-color:rgb(var(--md-sys-color-surface-container-high, 236 230 240));border-radius:var(--md-sys-shape-corner-extra-large, 24px);box-shadow:var(--md-sys-elevation-level5, 0px 4px 4px rgba(0, 0, 0, .3), 0px 8px 12px 6px rgba(0, 0, 0, .15) )}.md3-surface--floating{background-color:rgb(var(--md-sys-color-surface-container-low, 247 243 249));border-radius:var(--md-sys-shape-corner-medium, 12px);box-shadow:var(--md-sys-elevation-level3, 0px 1px 3px rgba(0, 0, 0, .3), 0px 4px 8px 3px rgba(0, 0, 0, .15) )}.md3-surface--interactive{cursor:pointer;transition:all var(--md-sys-motion-duration-short4, .2s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1))}.md3-surface--interactive:hover{box-shadow:var(--md-sys-elevation-level2, 0px 1px 2px rgba(0, 0, 0, .3), 0px 2px 6px 2px rgba(0, 0, 0, .15) )}.md3-surface--interactive:focus-visible{outline:2px solid rgb(var(--md-sys-color-primary, 103 80 164));outline-offset:2px}.md3-surface--interactive:active{box-shadow:var(--md-sys-elevation-level1, 0px 1px 2px rgba(0, 0, 0, .3), 0px 1px 3px 1px rgba(0, 0, 0, .15) )}@media(prefers-color-scheme:dark){.md3-surface{background-color:rgb(var(--md-sys-color-surface, 28 27 31));color:rgb(var(--md-sys-color-on-surface, 230 225 229))}.md3-surface--surface-dim{background-color:rgb(var(--md-sys-color-surface-dim, 17 16 20))}.md3-surface--surface-bright{background-color:rgb(var(--md-sys-color-surface-bright, 67 66 70))}}@media(prefers-contrast:high){.md3-surface{border:1px solid rgb(var(--md-sys-color-outline, 121 116 126))}.md3-surface--interactive:focus-visible{outline-width:3px;outline-offset:1px}}@media(prefers-reduced-motion:reduce){.md3-surface,.md3-surface--interactive,.md3-surface--book-card{transition:none}}@media(max-width:600px){.md3-surface--book-card{padding:var(--md-sys-spacing-3, 12px);border-radius:var(--md-sys-shape-corner-medium, 12px)}}.md3-surface--full-width{width:100%}.md3-surface--full-height{height:100%}.md3-surface--flex{display:flex}.md3-surface--grid{display:grid}.md3-surface--overflow-hidden{overflow:hidden}.md3-surface--overflow-auto{overflow:auto}.md3-fab{--_container-color: var(--md-sys-color-primary-container);--_container-elevation: var(--md-sys-elevation-level3);--_container-shadow-color: var(--md-sys-color-shadow);--_container-shape: var(--md-sys-shape-corner-large);--_container-width: 56px;--_container-height: 56px;--_icon-color: var(--md-sys-color-on-primary-container);--_icon-size: 24px;--_label-text-color: var(--md-sys-color-on-primary-container);--_label-text-font: var(--md-sys-typescale-label-large-font);position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--_container-width);height:var(--_container-height);border:none;border-radius:var(--_container-shape);background-color:rgb(var(--_container-color));box-shadow:var(--_container-elevation);cursor:pointer;overflow:hidden;transition:box-shadow var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),background-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);-webkit-user-select:none;user-select:none;outline:none}.md3-fab--primary{--_container-color: var(--md-sys-color-primary-container);--_icon-color: var(--md-sys-color-on-primary-container);--_label-text-color: var(--md-sys-color-on-primary-container)}.md3-fab--secondary{--_container-color: var(--md-sys-color-secondary-container);--_icon-color: var(--md-sys-color-on-secondary-container);--_label-text-color: var(--md-sys-color-on-secondary-container)}.md3-fab--tertiary{--_container-color: var(--md-sys-color-tertiary-container);--_icon-color: var(--md-sys-color-on-tertiary-container);--_label-text-color: var(--md-sys-color-on-tertiary-container)}.md3-fab--surface{--_container-color: var(--md-sys-color-surface-container-high);--_icon-color: var(--md-sys-color-primary);--_label-text-color: var(--md-sys-color-primary)}.md3-fab--small{--_container-width: 40px;--_container-height: 40px;--_icon-size: 20px;--_container-shape: var(--md-sys-shape-corner-medium)}.md3-fab--medium{--_container-width: 56px;--_container-height: 56px;--_icon-size: 24px}.md3-fab--large{--_container-width: 96px;--_container-height: 96px;--_icon-size: 36px;--_container-shape: var(--md-sys-shape-corner-extra-large)}.md3-fab--extended{width:auto;min-width:80px;padding:0 16px;height:var(--_container-height)}.md3-fab--extended.md3-fab--small{height:40px;padding:0 12px}.md3-fab--extended.md3-fab--large{height:96px;padding:0 24px}.md3-fab__content{display:flex;align-items:center;justify-content:center;gap:8px;position:relative;z-index:1}.md3-fab__icon{display:flex;align-items:center;justify-content:center;width:var(--_icon-size);height:var(--_icon-size);color:rgb(var(--_icon-color));font-size:var(--_icon-size);line-height:1}.md3-fab__label{font:var(--_label-text-font);color:rgb(var(--_label-text-color));line-height:var(--md-sys-typescale-label-large-line-height);white-space:nowrap}.md3-fab__ripple{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--ripple-x, 50%) var(--ripple-y, 50%),rgb(var(--_icon-color) / .12) 0%,transparent 50%);opacity:0;transform:scale(0);transition:opacity var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-emphasized);pointer-events:none}.md3-fab__focus-ring{position:absolute;inset:-3px;border:2px solid rgb(var(--md-sys-color-primary));border-radius:calc(var(--_container-shape) + 3px);opacity:0;transform:scale(.8);transition:opacity var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);pointer-events:none}.md3-fab__loading{display:flex;align-items:center;justify-content:center;width:var(--_icon-size);height:var(--_icon-size)}.md3-fab__spinner{width:var(--_icon-size);height:var(--_icon-size);animation:md3-fab-spin 1s linear infinite}.md3-fab__spinner circle{fill:none;stroke:rgb(var(--_icon-color));stroke-width:2;stroke-linecap:round;stroke-dasharray:31.416;stroke-dashoffset:31.416;animation:md3-fab-stroke 1.5s ease-in-out infinite}@keyframes md3-fab-spin{to{transform:rotate(360deg)}}@keyframes md3-fab-stroke{0%{stroke-dashoffset:31.416}50%{stroke-dashoffset:7.854}to{stroke-dashoffset:31.416}}.md3-fab:hover:not(.md3-fab--disabled){box-shadow:var(--md-sys-elevation-level4)}.md3-fab:active:not(.md3-fab--disabled) .md3-fab__ripple,.md3-fab--pressed .md3-fab__ripple{opacity:1;transform:scale(1)}.md3-fab:focus-visible .md3-fab__focus-ring{opacity:1;transform:scale(1)}.md3-fab--disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.md3-fab--bottom-right{position:fixed;bottom:16px;right:16px;z-index:var(--md-sys-z-index-fixed)}.md3-fab--bottom-left{position:fixed;bottom:16px;left:16px;z-index:var(--md-sys-z-index-fixed)}.md3-fab--bottom-center{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:var(--md-sys-z-index-fixed)}.md3-fab--top-right{position:fixed;top:16px;right:16px;z-index:var(--md-sys-z-index-fixed)}.md3-fab--top-left{position:fixed;top:16px;left:16px;z-index:var(--md-sys-z-index-fixed)}.md3-fab--top-center{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:var(--md-sys-z-index-fixed)}.md3-fab-group{position:fixed;z-index:var(--md-sys-z-index-fixed);display:flex;flex-direction:column;align-items:flex-end}.md3-fab-group--bottom-right{bottom:16px;right:16px}.md3-fab-group--bottom-left{bottom:16px;left:16px;align-items:flex-start}.md3-fab-group--bottom-center{bottom:16px;left:50%;transform:translate(-50%);align-items:center}.md3-fab-group--top-right{top:16px;right:16px}.md3-fab-group--top-left{top:16px;left:16px;align-items:flex-start}.md3-fab-group--top-center{top:16px;left:50%;transform:translate(-50%);align-items:center}.md3-fab-group--up{flex-direction:column-reverse}.md3-fab-group--down{flex-direction:column}.md3-fab-group--left{flex-direction:row-reverse}.md3-fab-group--right{flex-direction:row}.md3-fab-group__backdrop{position:fixed;inset:0;background-color:rgb(var(--md-sys-color-scrim) / .32);z-index:-1;opacity:0;animation:md3-fab-backdrop-fade-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard) forwards}@keyframes md3-fab-backdrop-fade-in{to{opacity:1}}.md3-fab-group__actions{display:flex;flex-direction:inherit;gap:16px;margin-bottom:16px}.md3-fab-group--up .md3-fab-group__actions{margin-bottom:16px;margin-top:0}.md3-fab-group--down .md3-fab-group__actions{margin-top:16px;margin-bottom:0}.md3-fab-group--left .md3-fab-group__actions,.md3-fab-group--right .md3-fab-group__actions{margin:0 16px}.md3-fab-group__action{display:flex;align-items:center;gap:8px;opacity:0;transform:scale(0);transition:opacity var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized),transform var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized)}.md3-fab-group--open .md3-fab-group__action{opacity:1;transform:scale(1)}.md3-fab-group__action-label{padding:8px 12px;background-color:rgb(var(--md-sys-color-inverse-surface));color:rgb(var(--md-sys-color-inverse-on-surface));font:var(--md-sys-typescale-body-small-font);line-height:var(--md-sys-typescale-body-small-line-height);border-radius:var(--md-sys-shape-corner-small);white-space:nowrap;box-shadow:var(--md-sys-elevation-level2)}.md3-fab-group__main{position:relative;transition:transform var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized),box-shadow var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard)}.md3-fab-group__main--open{transform:rotate(45deg)}.md3-book-library-fab .md3-fab-group__action-label{background-color:rgb(var(--md-sys-color-primary-container));color:rgb(var(--md-sys-color-on-primary-container))}.md3-reading-fab .md3-fab-group__actions{flex-direction:row;gap:12px}.md3-reading-fab .md3-fab-group__action-label{background-color:rgb(var(--md-sys-color-tertiary-container));color:rgb(var(--md-sys-color-on-tertiary-container))}@media(max-width:600px){.md3-fab--bottom-right,.md3-fab-group--bottom-right{bottom:24px;right:16px}.md3-fab--bottom-left,.md3-fab-group--bottom-left{bottom:24px;left:16px}.md3-fab--bottom-center,.md3-fab-group--bottom-center{bottom:24px}.md3-fab-group__actions{gap:12px;margin-bottom:12px}.md3-fab--large{--_container-width: 80px;--_container-height: 80px;--_icon-size: 32px}.md3-reading-fab .md3-fab-group__actions{gap:8px}}@media(max-width:480px){.md3-fab--extended{min-width:60px;padding:0 12px}.md3-fab__label,.md3-fab-group__action-label{display:none}.md3-fab--large{--_container-width: 64px;--_container-height: 64px;--_icon-size: 28px}}@media(prefers-reduced-motion:reduce){.md3-fab,.md3-fab__ripple,.md3-fab__focus-ring,.md3-fab-group__action,.md3-fab-group__main,.md3-fab-group__backdrop{transition:none;animation:none}.md3-fab__spinner{animation:none}.md3-fab-group__main--open{transform:none}}@media(prefers-contrast:high){.md3-fab{border:2px solid rgb(var(--md-sys-color-outline))}.md3-fab__focus-ring{border-width:3px}.md3-fab-group__action-label{border:1px solid rgb(var(--md-sys-color-outline))}}@media(prefers-color-scheme:dark){.md3-fab-group__backdrop{background-color:rgb(var(--md-sys-color-scrim) / .48)}}.md3-fab-group{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;flex-direction:column;align-items:center;gap:16px}.md3-fab-group--disabled{opacity:.5;pointer-events:none}.md3-fab-group__actions{display:flex;flex-direction:column;gap:12px;animation:fabActionsSlideIn .2s ease-out}@keyframes fabActionsSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.md3-fab{border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 3px 5px #0003;background:rgb(var(--md-sys-color-primary-container));color:rgb(var(--md-sys-color-on-primary-container));position:relative;overflow:hidden}.md3-fab:hover{box-shadow:0 5px 10px #0000004d;transform:translateY(-2px)}.md3-fab:active{transform:translateY(0)}.md3-fab--small{width:48px;height:48px;font-size:20px}.md3-fab--large{width:64px;height:64px;font-size:24px;background:rgb(var(--md-sys-color-primary));color:rgb(var(--md-sys-color-on-primary))}.md3-fab__icon{transition:transform .2s ease}.md3-fab__icon.rotated{transform:rotate(45deg)}.md3-fab:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.md3-chip-group{display:flex;flex-direction:column;gap:8px}.md3-chip-group__label{font-size:14px;font-weight:500;color:rgb(var(--md-sys-color-on-surface-variant))}.md3-chip-group__chips{display:flex;flex-wrap:wrap;gap:8px}.md3-card--interactive{cursor:pointer;transition:all .2s ease}.md3-card--interactive:hover{box-shadow:var(--md-sys-elevation-level2);transform:translateY(-2px)}.md3-card--interactive:active{transform:translateY(0)}.md3-card--interactive.md3-card--disabled{cursor:not-allowed;opacity:.5;transform:none!important}.md3-card__ripple{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}.md3-card__content{position:relative;z-index:1}.search-filter-bar{display:flex;flex-direction:column;gap:16px;padding:16px;background:rgb(var(--md-sys-color-surface));border-radius:12px;margin-bottom:24px}.search-input{flex:1}.view-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.view-mode-toggle{display:flex;gap:8px}@media(min-width:768px){.search-filter-bar{flex-direction:row;align-items:center}}[data-theme=dark] .currently-reading-section,.dark .currently-reading-section,.premium-app-layout.dark .currently-reading-section{background:linear-gradient(135deg,var(--md-sys-color-surface-container-low),var(--md-sys-color-surface-container));border:1px solid var(--md-sys-color-outline-variant)}[data-theme=dark] .currently-reading-section h3,.dark .currently-reading-section h3,.premium-app-layout.dark .currently-reading-section h3{color:var(--md-sys-color-on-surface)!important}[data-theme=dark] .currently-reading-section .book-card,[data-theme=dark] .currently-reading-section .book-card-compact,.dark .currently-reading-section .book-card,.dark .currently-reading-section .book-card-compact,.premium-app-layout.dark .currently-reading-section .book-card,.premium-app-layout.dark .currently-reading-section .book-card-compact{background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline)}[data-theme=dark] .currently-reading-section .book-title,[data-theme=dark] .currently-reading-section .book-title-compact,.dark .currently-reading-section .book-title,.dark .currently-reading-section .book-title-compact,.premium-app-layout.dark .currently-reading-section .book-title,.premium-app-layout.dark .currently-reading-section .book-title-compact{color:var(--md-sys-color-on-surface)!important;font-weight:600}[data-theme=dark] .currently-reading-section .book-author,[data-theme=dark] .currently-reading-section .book-author-compact,.dark .currently-reading-section .book-author,.dark .currently-reading-section .book-author-compact,.premium-app-layout.dark .currently-reading-section .book-author,.premium-app-layout.dark .currently-reading-section .book-author-compact,[data-theme=dark] .currently-reading-section .progress-text,[data-theme=dark] .currently-reading-section .book-progress,.dark .currently-reading-section .progress-text,.dark .currently-reading-section .book-progress,.premium-app-layout.dark .currently-reading-section .progress-text,.premium-app-layout.dark .currently-reading-section .book-progress{color:var(--md-sys-color-on-surface-variant)!important}[data-theme=dark] div[style*="fontSize: '14px'"],[data-theme=dark] div[style*="fontSize: '12px'"],.dark div[style*="fontSize: '14px'"],.dark div[style*="fontSize: '12px'"],.premium-app-layout.dark div[style*="fontSize: '14px'"],.premium-app-layout.dark div[style*="fontSize: '12px'"]{color:var(--md-sys-color-on-surface)!important}[data-theme=dark] [style*="color: '#cbd5e1'"],[data-theme=dark] [style*="color: '#334155'"],[data-theme=dark] [style*="color: '#94a3b8'"],.dark [style*="color: '#cbd5e1'"],.dark [style*="color: '#334155'"],.dark [style*="color: '#94a3b8'"],.premium-app-layout.dark [style*="color: '#cbd5e1'"],.premium-app-layout.dark [style*="color: '#334155'"],.premium-app-layout.dark [style*="color: '#94a3b8'"]{color:var(--md-sys-color-on-surface-variant)!important}[data-theme=dark] [style*="color: '#e2e8f0'"],[data-theme=dark] [style*="color: '#0f172a'"],.dark [style*="color: '#e2e8f0'"],.dark [style*="color: '#0f172a'"],.premium-app-layout.dark [style*="color: '#e2e8f0'"],.premium-app-layout.dark [style*="color: '#0f172a'"],[data-theme=dark] .stat-card .stat-value,[data-theme=dark] .stat-card .stat-label,[data-theme=dark] .stat-card .stat-icon,.dark .stat-card .stat-value,.dark .stat-card .stat-label,.dark .stat-card .stat-icon,.premium-app-layout.dark .stat-card .stat-value,.premium-app-layout.dark .stat-card .stat-label,.premium-app-layout.dark .stat-card .stat-icon{color:var(--md-sys-color-on-surface)!important}[data-theme=dark] .section-card,[data-theme=dark] .section-card-compact,.dark .section-card,.dark .section-card-compact,.premium-app-layout.dark .section-card,.premium-app-layout.dark .section-card-compact{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 15%,transparent),color-mix(in srgb,var(--md-sys-color-tertiary) 12%,transparent));border:1px solid var(--md-sys-color-outline-variant);box-shadow:0 2px 8px #00000040}[data-theme=dark] .section-title,[data-theme=dark] .section-title-compact,.dark .section-title,.dark .section-title-compact,.premium-app-layout.dark .section-title,.premium-app-layout.dark .section-title-compact{color:var(--md-sys-color-on-surface)!important}[data-theme=dark] .recently-added-section,.dark .recently-added-section,.premium-app-layout.dark .recently-added-section{background:linear-gradient(135deg,var(--md-sys-color-surface-container-low),var(--md-sys-color-surface-container))}[data-theme=dark] .progress-section,.dark .progress-section,.premium-app-layout.dark .progress-section{background:#f52891cc;border:1px solid color-mix(in srgb,var(--md-sys-color-on-surface) 10%,transparent);box-shadow:0 4px 12px #0000004d}[data-theme=dark] .cta-section,.dark .cta-section,.premium-app-layout.dark .cta-section{background:#f52891cc;border:1px solid var(--md-sys-color-primary)}[data-theme=dark] .cta-title,.dark .cta-title,.premium-app-layout.dark .cta-title{color:var(--md-sys-color-on-surface)!important}[data-theme=dark] .cta-subtitle,.dark .cta-subtitle,.premium-app-layout.dark .cta-subtitle{color:var(--md-sys-color-on-surface-variant)!important}@media(max-width:768px){[data-theme=dark] .currently-reading-section,.dark .currently-reading-section,.premium-app-layout.dark .currently-reading-section{padding:16px}[data-theme=dark] .book-card,[data-theme=dark] .book-card-compact,.dark .book-card,.dark .book-card-compact,.premium-app-layout.dark .book-card,.premium-app-layout.dark .book-card-compact{padding:12px}}[data-theme=classic][data-actual-theme=light]{--md-sys-color-primary: #24A8E0;--md-sys-color-on-primary: #ffffff;--md-sys-color-primary-container: #d4e9f7;--md-sys-color-on-primary-container: #001f2a;--md-sys-color-secondary: #0891b2;--md-sys-color-on-secondary: #ffffff;--md-sys-color-secondary-container: #cffafe;--md-sys-color-on-secondary-container: #083344;--md-sys-color-tertiary: #006a6a;--md-sys-color-on-tertiary: #ffffff;--md-sys-color-tertiary-container: #6ff7f7;--md-sys-color-on-tertiary-container: #002020;--md-sys-color-error: #ba1a1a;--md-sys-color-on-error: #ffffff;--md-sys-color-error-container: #ffdad6;--md-sys-color-on-error-container: #410002;--md-sys-color-background: #fcfcff;--md-sys-color-on-background: #1a1c1e;--md-sys-color-surface: #fcfcff;--md-sys-color-on-surface: #1a1c1e;--md-sys-color-surface-variant: #dde3ea;--md-sys-color-on-surface-variant: #41484d;--md-sys-color-outline: #71787e;--md-sys-color-outline-variant: #c1c7ce;--md-sys-color-surface-container-lowest: #ffffff;--md-sys-color-surface-container-low: #f6f9fc;--md-sys-color-surface-container: #f0f3f7;--md-sys-color-surface-container-high: #eaeef1;--md-sys-color-surface-container-highest: #e5e8ec}[data-theme=classic][data-actual-theme=dark]{--md-sys-color-primary: #9cd0ed;--md-sys-color-on-primary: #003547;--md-sys-color-primary-container: #004d66;--md-sys-color-on-primary-container: #d4e9f7;--md-sys-color-secondary: #67e8f9;--md-sys-color-on-secondary: #083344;--md-sys-color-secondary-container: #155e75;--md-sys-color-on-secondary-container: #cffafe;--md-sys-color-tertiary: #4ddada;--md-sys-color-on-tertiary: #003737;--md-sys-color-tertiary-container: #004f4f;--md-sys-color-on-tertiary-container: #6ff7f7;--md-sys-color-error: #ffb4ab;--md-sys-color-on-error: #690005;--md-sys-color-error-container: #93000a;--md-sys-color-on-error-container: #ffdad6;--md-sys-color-background: #1a1c1e;--md-sys-color-on-background: #e2e2e5;--md-sys-color-surface: #1a1c1e;--md-sys-color-on-surface: #e2e2e5;--md-sys-color-surface-variant: #41484d;--md-sys-color-on-surface-variant: #c1c7ce;--md-sys-color-outline: #8b9198;--md-sys-color-outline-variant: #41484d;--md-sys-color-surface-container-lowest: #0f1113;--md-sys-color-surface-container-low: #1a1c1e;--md-sys-color-surface-container: #1e2022;--md-sys-color-surface-container-high: #282a2c;--md-sys-color-surface-container-highest: #333537}[data-theme=warm-sepia][data-actual-theme=light]{--md-sys-color-primary: #8b6914;--md-sys-color-on-primary: #ffffff;--md-sys-color-primary-container: #ffedb8;--md-sys-color-on-primary-container: #2b1f00;--md-sys-color-secondary: #cc7a30;--md-sys-color-on-secondary: #ffffff;--md-sys-color-secondary-container: #ffdcc3;--md-sys-color-on-secondary-container: #301400;--md-sys-color-tertiary: #6b6c3f;--md-sys-color-on-tertiary: #ffffff;--md-sys-color-tertiary-container: #f3f3ba;--md-sys-color-on-tertiary-container: #232400;--md-sys-color-error: #ba1a1a;--md-sys-color-on-error: #ffffff;--md-sys-color-error-container: #ffdad6;--md-sys-color-on-error-container: #410002;--md-sys-color-background: #fffbf5;--md-sys-color-on-background: #1f1b13;--md-sys-color-surface: #fffbf5;--md-sys-color-on-surface: #1f1b13;--md-sys-color-surface-variant: #ede1cf;--md-sys-color-on-surface-variant: #4c4639;--md-sys-color-outline: #7d7667;--md-sys-color-outline-variant: #d0c5b4;--md-sys-color-surface-container-lowest: #ffffff;--md-sys-color-surface-container-low: #fef5ed;--md-sys-color-surface-container: #f8efe7;--md-sys-color-surface-container-high: #f2e9e1;--md-sys-color-surface-container-highest: #ede4dc}[data-theme=warm-sepia][data-actual-theme=dark]{--md-sys-color-primary: #f3d184;--md-sys-color-on-primary: #482f00;--md-sys-color-primary-container: #664800;--md-sys-color-on-primary-container: #ffedb8;--md-sys-color-secondary: #f8bc93;--md-sys-color-on-secondary: #502400;--md-sys-color-secondary-container: #954f1a;--md-sys-color-on-secondary-container: #ffdcc3;--md-sys-color-tertiary: #d6d79f;--md-sys-color-on-tertiary: #393a15;--md-sys-color-tertiary-container: #525329;--md-sys-color-on-tertiary-container: #f3f3ba;--md-sys-color-error: #ffb4ab;--md-sys-color-on-error: #690005;--md-sys-color-error-container: #93000a;--md-sys-color-on-error-container: #ffdad6;--md-sys-color-background: #1f1b13;--md-sys-color-on-background: #ebe1d2;--md-sys-color-surface: #1f1b13;--md-sys-color-on-surface: #ebe1d2;--md-sys-color-surface-variant: #4c4639;--md-sys-color-on-surface-variant: #d0c5b4;--md-sys-color-outline: #999080;--md-sys-color-outline-variant: #4c4639;--md-sys-color-surface-container-lowest: #19160f;--md-sys-color-surface-container-low: #1f1b13;--md-sys-color-surface-container: #231f17;--md-sys-color-surface-container-high: #2e2921;--md-sys-color-surface-container-highest: #39342b}[data-theme=ocean-blue][data-actual-theme=light]{--md-sys-color-primary: #006497;--md-sys-color-on-primary: #ffffff;--md-sys-color-primary-container: #cae6ff;--md-sys-color-on-primary-container: #001e31;--md-sys-color-secondary: #4f616e;--md-sys-color-on-secondary: #ffffff;--md-sys-color-secondary-container: #d2e5f5;--md-sys-color-on-secondary-container: #0b1d29;--md-sys-color-tertiary: #00687a;--md-sys-color-on-tertiary: #ffffff;--md-sys-color-tertiary-container: #a7eeff;--md-sys-color-on-tertiary-container: #001f26;--md-sys-color-error: #ba1a1a;--md-sys-color-on-error: #ffffff;--md-sys-color-error-container: #ffdad6;--md-sys-color-on-error-container: #410002;--md-sys-color-background: #f6fafe;--md-sys-color-on-background: #181c1f;--md-sys-color-surface: #f6fafe;--md-sys-color-on-surface: #181c1f;--md-sys-color-surface-variant: #dde3ea;--md-sys-color-on-surface-variant: #41484d;--md-sys-color-outline: #71787e;--md-sys-color-outline-variant: #c1c7ce;--md-sys-color-surface-container-lowest: #ffffff;--md-sys-color-surface-container-low: #f0f4f8;--md-sys-color-surface-container: #eaeef2;--md-sys-color-surface-container-high: #e4e9ed;--md-sys-color-surface-container-highest: #dfe3e7}[data-theme=ocean-blue][data-actual-theme=dark]{--md-sys-color-primary: #8dceff;--md-sys-color-on-primary: #003351;--md-sys-color-primary-container: #004b73;--md-sys-color-on-primary-container: #cae6ff;--md-sys-color-secondary: #b6c9d9;--md-sys-color-on-secondary: #21323e;--md-sys-color-secondary-container: #384956;--md-sys-color-on-secondary-container: #d2e5f5;--md-sys-color-tertiary: #83d3e4;--md-sys-color-on-tertiary: #00363f;--md-sys-color-tertiary-container: #004e5b;--md-sys-color-on-tertiary-container: #a7eeff;--md-sys-color-error: #ffb4ab;--md-sys-color-on-error: #690005;--md-sys-color-error-container: #93000a;--md-sys-color-on-error-container: #ffdad6;--md-sys-color-background: #181c1f;--md-sys-color-on-background: #e0e3e6;--md-sys-color-surface: #181c1f;--md-sys-color-on-surface: #e0e3e6;--md-sys-color-surface-variant: #41484d;--md-sys-color-on-surface-variant: #c1c7ce;--md-sys-color-outline: #8b9198;--md-sys-color-outline-variant: #41484d;--md-sys-color-surface-container-lowest: #0d1113;--md-sys-color-surface-container-low: #181c1f;--md-sys-color-surface-container: #1c2023;--md-sys-color-surface-container-high: #262a2d;--md-sys-color-surface-container-highest: #313538}[data-theme=forest-green][data-actual-theme=light]{--md-sys-color-primary: #2d6b3f;--md-sys-color-on-primary: #ffffff;--md-sys-color-primary-container: #b4f1ba;--md-sys-color-on-primary-container: #00210a;--md-sys-color-secondary: #52634f;--md-sys-color-on-secondary: #ffffff;--md-sys-color-secondary-container: #d5e8cf;--md-sys-color-on-secondary-container: #101f10;--md-sys-color-tertiary: #38656b;--md-sys-color-on-tertiary: #ffffff;--md-sys-color-tertiary-container: #bbebf2;--md-sys-color-on-tertiary-container: #001f23;--md-sys-color-error: #ba1a1a;--md-sys-color-on-error: #ffffff;--md-sys-color-error-container: #ffdad6;--md-sys-color-on-error-container: #410002;--md-sys-color-background: #f7fbf4;--md-sys-color-on-background: #191d18;--md-sys-color-surface: #f7fbf4;--md-sys-color-on-surface: #191d18;--md-sys-color-surface-variant: #dee5d9;--md-sys-color-on-surface-variant: #424940;--md-sys-color-outline: #727970;--md-sys-color-outline-variant: #c2c9bd;--md-sys-color-surface-container-lowest: #ffffff;--md-sys-color-surface-container-low: #f1f5ec;--md-sys-color-surface-container: #ebefe6;--md-sys-color-surface-container-high: #e5e9e1;--md-sys-color-surface-container-highest: #e0e4db}[data-theme=forest-green][data-actual-theme=dark]{--md-sys-color-primary: #99d4a0;--md-sys-color-on-primary: #003917;--md-sys-color-primary-container: #145228;--md-sys-color-on-primary-container: #b4f1ba;--md-sys-color-secondary: #b9ccb4;--md-sys-color-on-secondary: #253424;--md-sys-color-secondary-container: #3b4b39;--md-sys-color-on-secondary-container: #d5e8cf;--md-sys-color-tertiary: #a0cfd6;--md-sys-color-on-tertiary: #00373c;--md-sys-color-tertiary-container: #1f4d53;--md-sys-color-on-tertiary-container: #bbebf2;--md-sys-color-error: #ffb4ab;--md-sys-color-on-error: #690005;--md-sys-color-error-container: #93000a;--md-sys-color-on-error-container: #ffdad6;--md-sys-color-background: #191d18;--md-sys-color-on-background: #e1e4dc;--md-sys-color-surface: #191d18;--md-sys-color-on-surface: #e1e4dc;--md-sys-color-surface-variant: #424940;--md-sys-color-on-surface-variant: #c2c9bd;--md-sys-color-outline: #8c9389;--md-sys-color-outline-variant: #424940;--md-sys-color-surface-container-lowest: #0e1113;--md-sys-color-surface-container-low: #191d18;--md-sys-color-surface-container: #1d211c;--md-sys-color-surface-container-high: #272b26;--md-sys-color-surface-container-highest: #323631}[data-theme=royal-purple][data-actual-theme=light]{--md-sys-color-primary: #6e3ab4;--md-sys-color-on-primary: #ffffff;--md-sys-color-primary-container: #ebddff;--md-sys-color-on-primary-container: #250059;--md-sys-color-secondary: #645a70;--md-sys-color-on-secondary: #ffffff;--md-sys-color-secondary-container: #ebdef7;--md-sys-color-on-secondary-container: #1f182b;--md-sys-color-tertiary: #7f525e;--md-sys-color-on-tertiary: #ffffff;--md-sys-color-tertiary-container: #ffd9e1;--md-sys-color-on-tertiary-container: #31101c;--md-sys-color-error: #ba1a1a;--md-sys-color-on-error: #ffffff;--md-sys-color-error-container: #ffdad6;--md-sys-color-on-error-container: #410002;--md-sys-color-background: #fef7ff;--md-sys-color-on-background: #1d1b1e;--md-sys-color-surface: #fef7ff;--md-sys-color-on-surface: #1d1b1e;--md-sys-color-surface-variant: #e7e0eb;--md-sys-color-on-surface-variant: #49454e;--md-sys-color-outline: #7a757f;--md-sys-color-outline-variant: #cac4cf;--md-sys-color-surface-container-lowest: #ffffff;--md-sys-color-surface-container-low: #f8f1fa;--md-sys-color-surface-container: #f2ebf4;--md-sys-color-surface-container-high: #ece5ee;--md-sys-color-surface-container-highest: #e6e0e9}[data-theme=royal-purple][data-actual-theme=dark]{--md-sys-color-primary: #d3bbff;--md-sys-color-on-primary: #3e0082;--md-sys-color-primary-container: #561b9b;--md-sys-color-on-primary-container: #ebddff;--md-sys-color-secondary: #cec2da;--md-sys-color-on-secondary: #342d40;--md-sys-color-secondary-container: #4b4358;--md-sys-color-on-secondary-container: #ebdef7;--md-sys-color-tertiary: #f1b8c5;--md-sys-color-on-tertiary: #4a2531;--md-sys-color-tertiary-container: #643b47;--md-sys-color-on-tertiary-container: #ffd9e1;--md-sys-color-error: #ffb4ab;--md-sys-color-on-error: #690005;--md-sys-color-error-container: #93000a;--md-sys-color-on-error-container: #ffdad6;--md-sys-color-background: #1d1b1e;--md-sys-color-on-background: #e6e1e6;--md-sys-color-surface: #1d1b1e;--md-sys-color-on-surface: #e6e1e6;--md-sys-color-surface-variant: #49454e;--md-sys-color-on-surface-variant: #cac4cf;--md-sys-color-outline: #948f99;--md-sys-color-outline-variant: #49454e;--md-sys-color-surface-container-lowest: #121013;--md-sys-color-surface-container-low: #1d1b1e;--md-sys-color-surface-container: #211f22;--md-sys-color-surface-container-high: #2b292c;--md-sys-color-surface-container-highest: #363437}[data-theme=legendary-gold][data-actual-theme=light]{--md-sys-color-primary: #996300;--md-sys-color-on-primary: #ffffff;--md-sys-color-primary-container: #ffddb5;--md-sys-color-on-primary-container: #321e00;--md-sys-color-secondary: #735a3f;--md-sys-color-on-secondary: #ffffff;--md-sys-color-secondary-container: #ffddb9;--md-sys-color-on-secondary-container: #291804;--md-sys-color-tertiary: #58633b;--md-sys-color-on-tertiary: #ffffff;--md-sys-color-tertiary-container: #dce8b6;--md-sys-color-on-tertiary-container: #161e00;--md-sys-color-error: #ba1a1a;--md-sys-color-on-error: #ffffff;--md-sys-color-error-container: #ffdad6;--md-sys-color-on-error-container: #410002;--md-sys-color-background: #fffbf7;--md-sys-color-on-background: #1f1b16;--md-sys-color-surface: #fffbf7;--md-sys-color-on-surface: #1f1b16;--md-sys-color-surface-variant: #ede1d0;--md-sys-color-on-surface-variant: #4d4639;--md-sys-color-outline: #7f7667;--md-sys-color-outline-variant: #d0c5b4;--md-sys-color-surface-container-lowest: #ffffff;--md-sys-color-surface-container-low: #fef5ed;--md-sys-color-surface-container: #f8efe7;--md-sys-color-surface-container-high: #f2e9e1;--md-sys-color-surface-container-highest: #ede4dc}[data-theme=legendary-gold][data-actual-theme=dark]{--md-sys-color-primary: #ffba4d;--md-sys-color-on-primary: #523400;--md-sys-color-primary-container: #744900;--md-sys-color-on-primary-container: #ffddb5;--md-sys-color-secondary: #e2c19e;--md-sys-color-on-secondary: #422c17;--md-sys-color-secondary-container: #5a422a;--md-sys-color-on-secondary-container: #ffddb9;--md-sys-color-tertiary: #c0cb9c;--md-sys-color-on-tertiary: #2b3412;--md-sys-color-tertiary-container: #404b26;--md-sys-color-on-tertiary-container: #dce8b6;--md-sys-color-error: #ffb4ab;--md-sys-color-on-error: #690005;--md-sys-color-error-container: #93000a;--md-sys-color-on-error-container: #ffdad6;--md-sys-color-background: #1f1b16;--md-sys-color-on-background: #ebe1d9;--md-sys-color-surface: #1f1b16;--md-sys-color-on-surface: #ebe1d9;--md-sys-color-surface-variant: #4d4639;--md-sys-color-on-surface-variant: #d0c5b4;--md-sys-color-outline: #999080;--md-sys-color-outline-variant: #4d4639;--md-sys-color-surface-container-lowest: #19160f;--md-sys-color-surface-container-low: #1f1b16;--md-sys-color-surface-container: #23201a;--md-sys-color-surface-container-high: #2e2a24;--md-sys-color-surface-container-highest: #39342e}[data-theme]{transition:background-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1)}*{transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}*{transition-property:background-color,color,border-color,box-shadow}.md3-navigation-rail{position:relative;top:0;height:100vh;width:100%;background:var(--md-sys-color-surface-container-low);border-right:1px solid var(--md-sys-color-outline-variant);display:flex;flex-direction:column;transition:padding .3s cubic-bezier(.4,0,.2,1),background-color .3s ease;z-index:1;overflow:visible;color:var(--md-sys-color-on-surface)}.md3-rail-header{display:flex;align-items:center;padding:16px;gap:16px;border-bottom:1px solid var(--md-sys-color-outline-variant);min-height:64px;background:var(--md-sys-color-surface-container-low);transition:background-color .3s ease}.md3-rail-title{font-size:20px;font-weight:600;color:var(--md-sys-color-primary);letter-spacing:.15px;white-space:nowrap}.md3-icon-button{width:48px;height:48px;border-radius:50%;border:none;background:transparent;color:var(--md-sys-color-on-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease;flex-shrink:0}.md3-icon-button:hover{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);transform:scale(1.1);box-shadow:0 6px 16px #0003}.md3-rail-destinations{flex:1;padding:12px;display:flex;flex-direction:column;gap:4px;overflow-y:auto;overflow-x:visible}.md3-rail-destination{display:flex;align-items:center;gap:12px;padding:0 16px;height:56px;border-radius:28px;text-decoration:none;color:var(--md-sys-color-on-surface-variant);background:transparent;border:none;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;z-index:1;width:100%;font-size:14px;font-weight:500;letter-spacing:.1px;transform:translate(0);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}.md3-rail-destination:nth-child(1){animation-delay:.1s}.md3-rail-destination:nth-child(2){animation-delay:.2s}.md3-rail-destination:nth-child(3){animation-delay:.3s}.md3-rail-destination:nth-child(4){animation-delay:.4s}.md3-rail-destination:nth-child(5){animation-delay:.5s}.md3-rail-destination:nth-child(6){animation-delay:.6s}.md3-rail-destination:nth-child(7){animation-delay:.7s}@keyframes railItemEntrance{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.md3-navigation-rail.collapsed .md3-rail-destination{padding:0;justify-content:center}.md3-navigation-rail.expanded .md3-rail-destination-label,.md3-navigation-rail:not(.collapsed) .md3-rail-destination-label{display:block;visibility:visible;opacity:1}.md3-navigation-rail.collapsed .md3-rail-destination-label{display:none}.md3-rail-destination:hover{background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);transform:translate(8px);box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a,inset 0 1px #ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1)}.md3-rail-destination.active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.md3-rail-destination-icon{position:relative;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:2}.md3-rail-destination-icon .material-symbols-outlined{font-size:24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.md3-rail-destination:hover .md3-rail-destination-icon{transform:scale(1.15) rotate(5deg)}.md3-rail-destination:hover .md3-rail-destination-icon .material-symbols-outlined{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.md3-rail-destination:active .md3-rail-destination-icon{transform:scale(.95) rotate(-2deg)}.md3-navigation-rail.collapsed .md3-rail-destination:hover{transform:scale(1.1);border-radius:50%}.md3-navigation-rail.collapsed .md3-rail-destination:hover .md3-rail-destination-icon{transform:scale(1.2) rotate(10deg)}.md3-rail-destination-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:left center;position:relative;z-index:2;display:block;visibility:visible;opacity:1}.md3-rail-destination:hover .md3-rail-destination-label{font-weight:600;letter-spacing:.5px;transform:scale(1.05);text-shadow:0 1px 2px rgba(0,0,0,.1)}.md3-badge{position:absolute;top:-4px;right:-8px;min-width:18px;height:18px;padding:0 4px;background:var(--md-sys-color-error);color:var(--md-sys-color-on-error);border-radius:9px;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}.md3-rail-destination-logout{margin-top:8px;color:var(--md-sys-color-error);border-top:1px solid var(--md-sys-color-outline-variant);padding-top:12px;text-align:left;justify-content:flex-start}.md3-rail-destination-logout:hover{background:rgba(var(--md-sys-color-error-rgb, 179, 38, 30),.08);color:var(--md-sys-color-error)}.md3-rail-destination-logout .md3-rail-destination-label{color:var(--md-sys-color-error)}.md3-rail-destination-logout:hover .md3-rail-destination-label{font-weight:700}:root:not([data-theme=dark]) .md3-rail-destination-logout{color:#dc2626}:root:not([data-theme=dark]) .md3-rail-destination-logout:hover{background:#dc26261a;color:#dc2626}:root:not([data-theme=dark]) .md3-rail-destination-logout .md3-rail-destination-label{color:#dc2626}.md3-rail-footer{padding:12px;border-top:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-low);transition:background-color .3s ease}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.md3-navigation-rail{animation:slideIn .3s cubic-bezier(.4,0,.2,1)}@media(min-width:769px){.md3-navigation-rail{display:flex}}@media(max-width:768px){.md3-navigation-rail{display:none}}.md3-rail-destination:before{content:"";position:absolute;inset:0;border-radius:28px;background:var(--md-sys-color-surface-container-high);opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:none;z-index:-1}.md3-rail-destination:after{content:"";position:absolute;inset:0;border-radius:28px;background:radial-gradient(circle at center,rgba(255,255,255,.1) 0%,transparent 60%);opacity:0;transition:all .4s cubic-bezier(.4,0,.2,1);pointer-events:none;z-index:-1}.md3-rail-destination:hover:before{opacity:.8}.md3-rail-destination:hover:after{opacity:.6}.md3-rail-destination:active:before{opacity:.16;transform:scale(.95);transition:all .1s ease}.md3-rail-destination.active:before{opacity:.2;transform:scale(1);background:var(--md-sys-color-primary)}.md3-rail-destination.active:after{opacity:0}@keyframes ripple-pulse{0%,to{transform:scale(1.2);opacity:.3}50%{transform:scale(1.4);opacity:.1}}.md3-rail-destination:focus-visible,.md3-icon-button:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}:root:not([data-theme=dark]) .md3-navigation-rail{background:#d1d5db;border-right:1px solid #9ca3af}:root:not([data-theme=dark]) .md3-rail-destination,:root:not([data-theme=dark]) .md3-rail-destination-label,:root:not([data-theme=dark]) .md3-rail-title{color:#1f2937}.md3-rail-destinations::-webkit-scrollbar{width:4px}.md3-rail-destinations::-webkit-scrollbar-track{background:transparent}.md3-rail-destinations::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline-variant);border-radius:2px;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.md3-rail-destinations::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-outline)}.premium-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background-color:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface);border-bottom:1px solid var(--md-sys-color-outline)}.premium-header-left{display:flex;align-items:center;flex-wrap:nowrap}.premium-header-logo-btn{display:inline-flex;align-items:center;justify-content:center;padding:.25rem;border:none;background:none;color:inherit;cursor:pointer;border-radius:50%;transition:background-color .2s ease}.premium-header-logo-btn:hover,.premium-header-logo-btn:focus{background-color:var(--md-sys-color-surface-container-highest)}.header-logo-image{display:block;object-fit:contain;border-radius:4px}.premium-header-title{margin:0 0 0 .75rem;font-size:1.25rem;font-weight:500;line-height:1.2;color:var(--md-sys-color-on-surface)}.premium-header-breadcrumbs{margin-left:1rem}.premium-header-breadcrumbs ol{display:flex;list-style:none;padding:0;margin:0;gap:.5rem}.premium-header-crumb{display:flex;align-items:center;gap:.5rem}.premium-header-crumb a{color:var(--md-sys-color-on-surface-variant);text-decoration:none;font-size:.875rem;transition:color .2s ease}.premium-header-crumb a:hover{color:var(--md-sys-color-primary)}.premium-header-crumb span{font-size:.875rem;color:var(--md-sys-color-on-surface)}.premium-header-crumb-separator{color:var(--md-sys-color-on-surface-variant);font-size:.75rem}.premium-header-right{display:flex;align-items:center}.premium-header-search{display:flex;align-items:center;padding:.25rem .5rem;border-radius:var(--md-sys-shape-corner-full);background-color:var(--md-sys-color-surface-container-lowest);box-shadow:none;transition:background-color .2s ease}.premium-header-search:focus-within{background-color:var(--md-sys-color-surface-container-highest)}.premium-header-search .search-icon{font-size:1.25rem;margin-right:.25rem;color:var(--md-sys-color-on-surface-variant)}.premium-header-search-input{border:none;background:transparent;color:inherit;font-size:.875rem;line-height:1.5;outline:none;min-width:8rem}.premium-header-search-input::placeholder{color:var(--md-sys-color-on-surface-variant);opacity:.8}.premium-header-actions{display:flex;align-items:center;gap:.5rem;margin-left:1rem}.premium-header .premium-cta{position:relative;border:1px solid var(--md-sys-color-outline-variant);box-shadow:var(--md-sys-elevation-level2);transform:translateZ(0);transition:transform .16s var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1)),box-shadow .16s var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1));animation:premiumCtaNudge 24s ease-in-out infinite;animation-delay:6s}.premium-header .premium-cta:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.premium-header .premium-cta:hover{box-shadow:var(--md-sys-elevation-level3);transform:scale(1.02)}.premium-header .premium-cta:hover,.premium-header .premium-cta:focus-visible{animation:none}.premium-app-layout:not(.dark) .premium-header .premium-cta{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.premium-app-layout.dark .premium-header .premium-cta{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);box-shadow:var(--md-sys-elevation-level3)}.premium-app-layout.dark .premium-header .premium-cta:hover{box-shadow:var(--md-sys-elevation-level4)}.premium-app-layout.dark .premium-header .premium-cta:active{box-shadow:var(--md-sys-elevation-level5)}@keyframes premiumCtaNudge{0%,92%,to{transform:scale(1);box-shadow:var(--md-sys-elevation-level2)}95%{transform:scale(1.0125);box-shadow:var(--md-sys-elevation-level3)}97%{transform:scale(1.015);box-shadow:var(--md-sys-elevation-level4)}}@media(prefers-reduced-motion:reduce){.premium-header .premium-cta{animation:none}}.premium-header-action-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;border:none;background:none;color:inherit;border-radius:50%;cursor:pointer;transition:background-color .2s ease}.premium-header-action-btn:hover,.premium-header-action-btn:focus{background-color:var(--md-sys-color-surface-container-highest)}.premium-header-user-menu{position:relative}.premium-header .premium-header-user-btn{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);border-radius:var(--md-sys-shape-corner-medium);cursor:pointer;transition:background-color var(--md-sys-motion-duration-short3, .15s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1)),box-shadow var(--md-sys-motion-duration-short3, .15s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1));box-shadow:var(--md-sys-elevation-level0)}.premium-header .premium-header-user-btn:hover,.premium-header .premium-header-user-btn:focus{background-color:var(--md-sys-color-surface-container-highest);box-shadow:var(--md-sys-elevation-level1)}.premium-header .premium-header-user-btn .user-avatar{width:2rem;height:2rem;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:1px solid var(--md-sys-color-outline-variant);box-shadow:var(--md-sys-elevation-level1)}.avatar-image{width:100%;height:100%;object-fit:cover}.premium-header .premium-header-user-btn .avatar-initials{font-size:.875rem;font-weight:500;line-height:1;color:var(--md-sys-color-on-primary)}.dropdown-icon{font-size:1.25rem;transition:transform .2s ease}.premium-header-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:12rem;background-color:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-level2);z-index:1000;overflow:hidden;animation:dropdownSlideIn .2s ease;-webkit-backdrop-filter:none;backdrop-filter:none}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:1rem;background-color:var(--md-sys-color-surface-container-low)}.user-info{display:flex;flex-direction:column;gap:.25rem}.user-name{font-weight:500;font-size:.875rem;color:var(--md-sys-color-on-surface)}.user-email{font-size:.75rem;color:var(--md-sys-color-on-surface-variant)}.dropdown-divider{height:1px;background-color:var(--md-sys-color-outline);margin:.5rem 0}.dropdown-nav{padding:.5rem 0}.dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;border:none;background:transparent;color:var(--md-sys-color-on-surface);font-size:.875rem;text-align:left;cursor:pointer;transition:background-color .2s ease}.dropdown-item:hover,.dropdown-item:focus{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.dropdown-item .material-symbols-outlined{font-size:1.25rem;color:var(--md-sys-color-on-surface-variant)}.logout-item,.logout-item .material-symbols-outlined{color:var(--md-sys-color-error)}@media(max-width:768px){.premium-header-search{display:none}.premium-header-actions{margin-left:.5rem;gap:.25rem}.premium-header .premium-cta{padding:8px;border-radius:9999px;min-width:auto}.premium-header .premium-cta .btn-label{display:none}}.premium-app-layout{position:relative;display:grid;grid-template-columns:var(--app-nav-width, 280px) minmax(0,1fr);min-height:100vh;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-background);transition:grid-template-columns .3s cubic-bezier(.4,0,.2,1)}.premium-app-layout.nav-expanded{--app-nav-width: 280px}.premium-app-layout.nav-collapsed{--app-nav-width: 92px}.premium-app-layout.dark{background:var(--md-sys-color-background)}.premium-app-layout:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 80%,color-mix(in srgb,var(--md-sys-color-primary) 15%,transparent) 0%,transparent 50%),radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--md-sys-color-tertiary) 15%,transparent) 0%,transparent 50%),radial-gradient(circle at 40% 40%,color-mix(in srgb,var(--md-sys-color-secondary) 15%,transparent) 0%,transparent 50%);pointer-events:none;z-index:0}.premium-app-layout.reader-mode{grid-template-columns:minmax(0,1fr)}.premium-app-layout.reader-mode .navigation-pane{display:none}.navigation-pane{position:relative;width:var(--app-nav-width, 280px);min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,color-mix(in srgb,var(--md-sys-color-surface) 95%,transparent),color-mix(in srgb,var(--md-sys-color-surface) 90%,transparent));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--md-sys-color-outline-variant);box-shadow:0 8px 32px #0000001a,inset 1px 0 #ffffff80;padding:24px 20px;overflow:visible;transition:width .3s cubic-bezier(.4,0,.2,1);z-index:10}.navigation-pane[data-collapsed=true]{width:var(--app-nav-width, 92px)}.navigation-pane:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 5%,transparent),color-mix(in srgb,var(--md-sys-color-secondary) 5%,transparent));pointer-events:none;z-index:0}.nav-brand{display:flex;align-items:center;gap:12px;margin-bottom:32px;padding:16px;background:linear-gradient(135deg,var(--md-sys-color-primary),var(--md-sys-color-secondary));border-radius:16px;color:#fff;position:relative;overflow:hidden}.nav-brand:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-on-surface) 10%,transparent),transparent);pointer-events:none}.brand-icon{font-size:28px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.brand-name{font-size:20px;font-weight:700;line-height:1}.brand-tagline{font-size:12px;opacity:.9;font-weight:500}.nav-items{flex:1;display:flex;flex-direction:column;gap:8px}.nav-item{display:flex;align-items:center;padding:16px 20px;border-radius:14px;text-decoration:none;color:var(--md-sys-color-on-surface);transition:all .3s ease;position:relative;overflow:hidden;border:1px solid transparent}.nav-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.nav-item:hover:before{left:100%}.nav-item:hover{background:var(--md-sys-color-primary-container);border-color:var(--md-sys-color-outline-variant);transform:translate(4px);color:var(--md-sys-color-on-primary-container)}.nav-item.active{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);transform:translate(8px);box-shadow:var(--md-sys-elevation-level3)}.nav-item-content{display:flex;align-items:center;gap:16px;flex:1}.nav-icon{font-size:24px;min-width:32px;text-align:center;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.nav-text{display:flex;flex-direction:column}.nav-label{font-size:16px;font-weight:600;line-height:1.2}.nav-description{font-size:12px;opacity:.8;font-weight:400;animation:fadeInDown .3s ease}.nav-indicator{position:absolute;right:-1px;top:50%;transform:translateY(-50%);width:4px;height:32px;background:var(--md-sys-color-primary);border-radius:2px 0 0 2px;box-shadow:0 0 8px #fff9}.nav-quick-actions{margin-top:24px;padding-top:24px;border-top:1px solid rgba(0,0,0,.1);display:flex;gap:12px}.quick-action-btn{flex:1;height:48px;border:none;border-radius:12px;font-size:20px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.quick-action-btn.primary{background:linear-gradient(135deg,var(--md-sys-color-primary),var(--md-sys-color-secondary));color:var(--md-sys-color-on-primary);box-shadow:0 4px 15px #3b82f666}.quick-action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f699}.quick-action-btn.secondary{background:linear-gradient(135deg,var(--md-sys-color-surface-variant),var(--md-sys-color-surface-container-low));color:var(--md-sys-color-on-surface-variant);border:1px solid var(--md-sys-color-outline-variant)}.quick-action-btn.secondary:hover{background:linear-gradient(135deg,var(--md-sys-color-surface-container-low),var(--md-sys-color-surface-variant));transform:translateY(-1px)}.premium-header{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-surface) 90%,transparent),color-mix(in srgb,var(--md-sys-color-surface) 85%,transparent));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--md-sys-color-outline-variant);box-shadow:0 1px 3px #0000001a;position:-webkit-sticky;position:sticky;top:0;z-index:100}.premium-header-content{max-width:none;padding:20px 32px;display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:20px}.page-info{display:flex;flex-direction:column}.page-title{font-size:24px;font-weight:700;margin:0;background:linear-gradient(135deg,var(--md-sys-color-on-surface),var(--md-sys-color-on-surface-variant));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-subtitle{font-size:14px;color:var(--md-sys-color-on-surface-variant);margin:2px 0 0;font-weight:500}.header-right{display:flex;align-items:center;gap:20px}.header-quick-stats{display:flex;gap:16px;align-items:center}.quick-stat{display:flex;align-items:center;gap:6px;padding:8px 12px;background:color-mix(in srgb,var(--md-sys-color-surface) 70%,transparent);border-radius:20px;border:1px solid color-mix(in srgb,var(--md-sys-color-on-surface) 5%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-icon{font-size:16px}.stat-value{font-size:14px;font-weight:600;color:var(--md-sys-color-on-surface)}.header-action-btn{width:44px;height:44px;border:none;border-radius:12px;background:color-mix(in srgb,var(--md-sys-color-surface) 70%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--md-sys-color-on-surface) 5%,transparent);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.header-action-btn:hover{background:color-mix(in srgb,var(--md-sys-color-surface) 90%,transparent);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.action-icon{font-size:18px}.user-menu-container{position:relative}.user-avatar-btn{display:flex;align-items:center;gap:12px;padding:8px 16px 8px 8px;background:color-mix(in srgb,var(--md-sys-color-surface) 70%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--md-sys-color-on-surface) 5%,transparent);border-radius:24px;cursor:pointer;transition:all .3s ease}.user-avatar-btn:hover{background:color-mix(in srgb,var(--md-sys-color-surface) 90%,transparent);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--md-sys-color-primary),var(--md-sys-color-secondary));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;box-shadow:0 2px 8px #667eea4d}.user-avatar.large{width:48px;height:48px;font-size:18px}.user-info{display:flex;flex-direction:column;text-align:left}.user-name{font-size:14px;font-weight:600;color:#f52891cc;line-height:1.2}.user-status{font-size:12px;color:var(--md-sys-color-on-surface-variant);font-weight:500}.user-dropdown{position:absolute;top:100%;right:0;margin-top:8px;width:280px;background:var(--md-sys-color-surface);border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid rgba(0,0,0,.05);overflow:hidden;z-index:1000;animation:dropdownFadeIn .2s ease}.dropdown-header{padding:20px;background:linear-gradient(135deg,var(--md-sys-color-surface),var(--md-sys-color-surface-variant));display:flex;align-items:center;gap:16px}.user-name-full{font-size:16px;font-weight:600;color:#f52891cc}.user-email{font-size:14px;color:var(--md-sys-color-on-surface-variant)}.dropdown-divider{height:1px;background:var(--md-sys-color-outline-variant);margin:0}.dropdown-actions{padding:8px}.dropdown-item{width:100%;padding:12px 16px;border:none;background:none;text-align:left;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface-variant);transition:all .2s ease}.dropdown-item:hover{background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface)}.dropdown-item.logout{color:var(--md-sys-color-error)}.dropdown-item.logout:hover{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.content-area{grid-column:2;display:flex;flex-direction:column;min-height:100vh;background:var(--md-sys-color-primary);overflow:visible}.mobile-only{display:none}@media(min-width:769px){.mobile-only,.md3-navigation-bar{display:none}}.page-content{flex:1;padding:24px 16px 16px;overflow:visible;background:var(--md-sys-color-primary);min-height:0}.mobile-navigation{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--md-sys-color-primary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.08);padding:8px;z-index:1000}.mobile-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;border-radius:12px;text-decoration:none;color:var(--md-sys-color-on-surface-variant);transition:all .3s ease}.mobile-nav-item.active{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 14%,transparent),color-mix(in srgb,var(--md-sys-color-tertiary) 14%,transparent));color:var(--md-sys-color-on-secondary-container)}.mobile-nav-icon{font-size:20px}.mobile-nav-label{font-size:12px;font-weight:600}.navigation-pane[data-collapsed=true] .md3-rail-title,.navigation-pane[data-collapsed=true] .md3-rail-destination-label{display:none}.navigation-pane[data-collapsed=true] .md3-rail-destination{justify-content:center;padding:0}.navigation-pane[data-collapsed=true] .md3-navigation-rail{padding:16px 12px}.library-filters-section{padding:16px 0 0;margin-top:auto}.filters-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent);margin-bottom:16px}.filter-group{margin-bottom:12px}.md3-search-input:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:-2px}.filters-toggle:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.md3-chip-button:hover{transform:translateY(-1px);box-shadow:0 1px 4px #0000001a}.expanded-filters{animation:slideDown .3s ease-out}@media(max-width:768px){.premium-app-layout{grid-template-columns:minmax(0,1fr)}.premium-app-layout:not(.reader-mode) .navigation-pane{display:none}.library-filters-section{display:none}.mobile-navigation{display:flex}.premium-header-content{padding:12px 16px}.page-content{padding:16px;min-height:calc(100vh - 144px)}.page-title{font-size:20px}.user-info{display:none}.user-dropdown{width:240px}.content-area{margin:0}.mobile-only{display:block}.md3-navigation-bar{display:flex;visibility:visible;opacity:1;z-index:1000;position:fixed;bottom:0;left:0;right:0;height:80px;background-color:var(--md-sys-color-primary);border-top:1px solid var(--md-sys-color-outline-variant);box-shadow:0 -2px 8px #0000001a}.md3-navigation-bar .md3-navigation-bar__destinations{display:flex;width:100%;height:100%;align-items:center;justify-content:space-around;padding:0 8px}.md3-navigation-bar .md3-navigation-item{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;height:100%}div.mobile-only[style*="position: fixed"]{bottom:100px}.md3-navigation-item--bar{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:64px;color:var(--md-sys-color-on-surface-variant);text-decoration:none}.md3-navigation-item--bar.md3-navigation-item--selected{color:var(--md-sys-color-primary)}.md3-navigation-rail{display:none}}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.page-content{padding:12px}.md3-navigation-bar{height:72px}}.premium-app-layout.dark .mobile-navigation{background:var(--md-sys-color-primary);border-top-color:#ffffff1a}.premium-app-layout.dark .mobile-nav-item{color:var(--md-sys-color-on-surface-variant)}.premium-app-layout.dark .mobile-nav-item.active{background:var(--md-sys-color-primary);color:var(--md-sys-color-primary)}.premium-app-layout.dark .navigation-pane{background:var(--md-sys-color-primary);border-right-color:#ffffff1a}.premium-app-layout.dark .premium-header{background:linear-gradient(135deg,var(--md-sys-color-surface-container) 0%,var(--md-sys-color-surface-container-high) 100%);border-bottom-color:var(--md-sys-color-outline-variant)}.premium-app-layout.dark .nav-item{color:var(--md-sys-color-on-surface-variant)}.premium-app-layout.dark .nav-item:hover{color:var(--md-sys-color-on-surface)}.premium-app-layout.dark .page-title{background:linear-gradient(135deg,var(--md-sys-color-on-surface),var(--md-sys-color-on-surface-variant));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.premium-app-layout.dark .page-subtitle{color:var(--md-sys-color-on-surface-variant)}.dropdown-about{padding:20px;background:linear-gradient(135deg,var(--md-sys-color-surface),var(--md-sys-color-surface-variant));border-bottom:1px solid var(--md-sys-color-outline-variant)}.literati-definition{text-align:center}.definition-title{font-size:18px;font-weight:700;color:var(--md-sys-color-on-surface);margin:0 0 4px;background:linear-gradient(135deg,var(--md-sys-color-primary),var(--md-sys-color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.definition-pronunciation{font-size:12px;color:var(--md-sys-color-on-surface-variant);margin:0 0 8px;font-style:italic}.definition-text{font-size:14px;font-weight:600;color:var(--md-sys-color-on-surface);margin:0 0 4px;font-style:italic}.definition-subtext{font-size:12px;color:var(--md-sys-color-on-surface-variant);margin:0;line-height:1.4}.user-status{font-size:12px;color:#f52891cc;font-weight:600;font-style:italic}.header-brand{display:flex;align-items:center;gap:12px}.brand-icon{font-size:32px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.brand-text{display:flex;flex-direction:column}.brand-name{font-size:24px;font-weight:700;margin:0;line-height:1.2;background:linear-gradient(135deg,var(--md-sys-color-primary),var(--md-sys-color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.brand-tagline{font-size:12px;color:#f52891cc;font-weight:500;margin:0;line-height:1}.header-action-btn.settings .action-icon{font-size:18px}.page-title-section{display:flex;flex-direction:column;gap:.25rem}.page-title{font-size:1.5rem;font-weight:600;margin:0;color:var(--md-sys-color-on-surface)}.page-subtitle{font-size:.875rem;color:var(--md-sys-color-on-surface);opacity:.7;font-weight:400}.app-logo{display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem;border-bottom:1px solid var(--md-sys-color-outline);margin-bottom:1rem}.logo-icon{font-size:2rem;margin-bottom:.5rem}.logo-text{font-size:1.25rem;font-weight:700;color:var(--md-sys-color-primary);margin-bottom:.25rem}.logo-tagline{font-size:.75rem;color:var(--md-sys-color-on-surface);opacity:.6;text-align:center}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:#f52891cc}.loading-spinner{font-size:3rem;animation:spin 2s linear infinite;margin-bottom:1rem}@media(max-width:768px){.premium-app-layout .navigation-pane{display:none!important}.premium-app-layout .content-area>header{display:none!important}.premium-app-layout{grid-template-columns:minmax(0,1fr)!important}.premium-app-layout .page-content{padding-bottom:100px}.premium-app-layout .content-area>footer{display:none!important}}.md3-footer{background:var(--md-sys-color-surface-container);border-top:1px solid var(--md-sys-color-outline-variant);margin-top:auto;width:100%;grid-column:1 / -1}.md3-footer-container{max-width:1200px;margin:0 auto;padding:32px 24px 20px;display:flex;flex-direction:column;gap:24px}.md3-footer-brand{display:flex;flex-direction:column;gap:4px}.md3-footer-logo-container{display:flex;align-items:center;gap:12px}.md3-footer-logo-image{display:block;object-fit:contain;border-radius:4px}.md3-footer-logo{color:var(--md-sys-color-on-surface);margin:0;font-family:var(--md-sys-typescale-title-medium-font-family-name);font-size:var(--md-sys-typescale-title-medium-font-size);font-weight:var(--md-sys-typescale-title-medium-font-weight);line-height:var(--md-sys-typescale-title-medium-line-height);letter-spacing:var(--md-sys-typescale-title-medium-tracking)}.md3-footer-tagline{color:var(--md-sys-color-on-surface-variant);margin:0;font-family:var(--md-sys-typescale-body-small-font-family-name);font-size:var(--md-sys-typescale-body-small-font-size);font-weight:var(--md-sys-typescale-body-small-font-weight);line-height:var(--md-sys-typescale-body-small-line-height);letter-spacing:var(--md-sys-typescale-body-small-tracking)}.md3-footer-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}.md3-footer-column{display:flex;flex-direction:column;gap:10px}.md3-footer-column-title{color:var(--md-sys-color-on-surface);margin:0;font-family:var(--md-sys-typescale-title-small-font-family-name);font-size:var(--md-sys-typescale-title-small-font-size);font-weight:var(--md-sys-typescale-title-small-font-weight);line-height:var(--md-sys-typescale-title-small-line-height);letter-spacing:var(--md-sys-typescale-title-small-tracking)}.md3-footer-nav{display:flex;flex-direction:column;gap:8px}.md3-footer-link{color:var(--md-sys-color-on-surface-variant);text-decoration:none;font-family:var(--md-sys-typescale-label-large-font-family-name);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);line-height:var(--md-sys-typescale-label-large-line-height);letter-spacing:var(--md-sys-typescale-label-large-tracking);transition:color .2s ease;width:-webkit-fit-content;width:fit-content;position:relative}.md3-footer-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--md-sys-color-primary);transition:width .3s ease}.md3-footer-link:hover{color:var(--md-sys-color-primary)}.md3-footer-link:hover:after{width:100%}.md3-footer-link:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:4px;border-radius:var(--md-sys-shape-corner-extra-small)}.md3-footer-button{background:none;border:none;padding:0;cursor:pointer;text-align:left}.md3-footer-bottom{padding-top:16px;border-top:1px solid var(--md-sys-color-outline-variant)}.md3-footer-bottom-content{display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}.md3-footer-copyright{color:var(--md-sys-color-on-surface-variant);margin:0;font-family:var(--md-sys-typescale-body-small-font-family-name);font-size:var(--md-sys-typescale-body-small-font-size);font-weight:var(--md-sys-typescale-body-small-font-weight);line-height:var(--md-sys-typescale-body-small-line-height);letter-spacing:var(--md-sys-typescale-body-small-tracking)}.md3-footer-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.md3-footer-location,.md3-footer-separator,.md3-footer-email{color:var(--md-sys-color-on-surface-variant);margin:0}.md3-footer-email{color:var(--md-sys-color-primary);text-decoration:none;transition:color .2s ease}.md3-footer-email:hover{color:var(--md-sys-color-primary-container);text-decoration:underline}@media(min-width:768px){.md3-footer-bottom-content{flex-direction:row;justify-content:space-between;text-align:left}}@media(min-width:481px)and (max-width:768px){.md3-footer-container{padding:24px 20px 16px;gap:20px}.md3-footer{padding-bottom:80px}.md3-footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.md3-footer-column{gap:8px}.md3-footer-nav{gap:6px}.md3-footer-meta{flex-direction:row;gap:6px;flex-wrap:wrap}}@media(max-width:480px){.md3-footer-container{padding:16px 16px 12px;gap:12px}.md3-footer{padding-bottom:80px}.md3-footer-brand{display:none}.md3-footer-links{display:flex;flex-direction:column;gap:12px}.md3-footer-column{gap:6px}.md3-footer-column-title{font-size:.813rem;margin-bottom:2px}.md3-footer-nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:4px 12px}.md3-footer-link{font-size:.75rem;position:relative}.md3-footer-link:not(:last-child):before{content:"•";position:absolute;right:-8px;color:var(--md-sys-color-on-surface-variant)}.md3-footer-link:after{display:none}.md3-footer-bottom{padding-top:12px}.md3-footer-bottom-content{gap:8px}.md3-footer-copyright,.md3-footer-location,.md3-footer-email{font-size:.688rem}.md3-footer-meta{flex-direction:column;gap:4px}.md3-footer-separator{display:none}}@media(prefers-contrast:high){.md3-footer,.md3-footer-bottom{border-top-width:2px}.md3-footer-link:focus-visible{outline-width:3px}}@media(prefers-reduced-motion:reduce){.md3-footer-link,.md3-footer-link:after,.md3-footer-email{transition:none}}@media(prefers-color-scheme:dark){.md3-footer{background:var(--md-sys-color-surface-container-low)}}@media print{.md3-footer{border-top:1px solid #000;background:#fff}.md3-footer-link:after{display:none}.md3-footer-button{display:none}}.md3-footer-link:focus,.md3-footer-button:focus,.md3-footer-email:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:4px;border-radius:var(--md-sys-shape-corner-extra-small)}.md3-footer-wrapper{display:flex;flex-direction:column;min-height:100vh}.md3-footer-content{flex:1}.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}.chat-guide{position:fixed;right:20px;bottom:20px;z-index:1100}.chat-guide__fab{width:52px;height:52px;border-radius:26px;background:var(--md-sys-color-primary, #2563eb);color:var(--md-sys-color-on-primary, #fff);border:none;cursor:pointer;font-size:22px;box-shadow:0 6px 18px #0003}.chat-guide__panel{width:min(360px,calc(100vw - 32px));height:440px;display:flex;flex-direction:column;background:var(--md-sys-color-surface, #0b0b0b);color:var(--md-sys-color-on-surface, #e5e5e5);border-radius:16px;box-shadow:0 12px 30px #00000059;overflow:hidden}.chat-guide__header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--md-sys-color-surface-container, #111)}.chat-guide__close{background:transparent;color:inherit;border:none;font-size:20px;cursor:pointer}.chat-guide__messages{flex:1;overflow:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.chat-guide__msg{display:flex}.chat-guide__msg--user{justify-content:flex-end}.chat-guide__msg--assistant{justify-content:flex-start}.chat-guide__bubble{max-width:80%;padding:8px 10px;border-radius:12px;line-height:1.3;font-size:14px;white-space:pre-wrap}.chat-guide__msg--assistant .chat-guide__bubble{background:var(--md-sys-color-surface-container-high, #1c1c1c);color:var(--md-sys-color-on-surface, #e5e5e5)}.chat-guide__msg--user .chat-guide__bubble{background:var(--md-sys-color-primary, #2563eb);color:var(--md-sys-color-on-primary, #fff)}.chat-guide__suggestions{display:flex;gap:6px;flex-wrap:wrap;padding:6px 10px}.chat-guide__chip{border:1px solid var(--md-sys-color-outline, #2b2b2b);background:transparent;color:inherit;padding:6px 8px;border-radius:999px;cursor:pointer;font-size:12px}.chat-guide__input{display:flex;gap:8px;padding:8px;border-top:1px solid var(--md-sys-color-outline, #2b2b2b)}.chat-guide__input input{flex:1;background:var(--md-sys-color-surface, #0b0b0b);color:var(--md-sys-color-on-surface, #e5e5e5);border:1px solid var(--md-sys-color-outline, #2b2b2b);border-radius:10px;padding:8px 10px}.chat-guide__input button{background:var(--md-sys-color-primary, #2563eb);color:var(--md-sys-color-on-primary, #fff);border:none;border-radius:10px;padding:8px 12px;cursor:pointer}@media(max-width:480px){.chat-guide{right:12px;bottom:12px}}.chat-guide__overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1200}.chat-guide__modal{width:min(720px,calc(100vw - 40px));max-height:min(70vh,640px);background:var(--md-sys-color-surface, #0b0b0b);color:var(--md-sys-color-on-surface, #e5e5e5);border-radius:14px;box-shadow:0 12px 30px #00000059;display:flex;flex-direction:column;overflow:hidden}.chat-guide__modal-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--md-sys-color-surface-container, #111)}.chat-guide__modal-body{padding:12px;overflow:auto}.chat-guide__sources{display:flex;flex-direction:column;gap:12px}.chat-guide__source-title{font-weight:600;margin-bottom:6px;opacity:.9}.chat-guide__source-content{white-space:pre-wrap;background:var(--md-sys-color-surface-container-high, #1c1c1c);color:var(--md-sys-color-on-surface, #e5e5e5);padding:10px;border-radius:10px;max-height:240px;overflow:auto}.gamification-onboarding-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease}.gamification-onboarding-card{background:rgb(var(--md-sys-color-surface-container));border-radius:24px;padding:32px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003,0 0 0 1px rgb(var(--md-sys-color-outline-variant));position:relative;animation:slideUp .3s ease;color:rgb(var(--md-sys-color-on-surface))}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.gamification-onboarding-close{position:absolute;top:16px;right:16px;background:transparent;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:rgb(var(--md-sys-color-on-surface));transition:all .2s ease;z-index:10}.gamification-onboarding-close:hover{background:rgb(var(--md-sys-color-surface-variant))}.gamification-onboarding-close:active{transform:scale(.95)}.gamification-onboarding-close:focus-visible{outline:2px solid rgb(var(--md-sys-color-primary));outline-offset:2px}.gamification-onboarding-progress{display:flex;gap:8px;justify-content:center;margin-bottom:32px}.gamification-onboarding-progress-dot{width:32px;height:4px;border-radius:2px;background:rgb(var(--md-sys-color-outline-variant));transition:background .3s ease}.gamification-onboarding-progress-dot.active{background:rgb(var(--md-sys-color-primary))}.gamification-onboarding-content{margin-bottom:32px;min-height:300px}.gamification-onboarding-title{margin:0 0 8px;font-size:24px;font-weight:600;text-align:center;color:rgb(var(--md-sys-color-on-surface));line-height:1.3}.gamification-onboarding-subtitle{margin:0 0 24px;font-size:16px;text-align:center;color:rgb(var(--md-sys-color-on-surface-variant));line-height:1.5}.gamification-overview-container{display:flex;flex-direction:column;gap:20px}.gamification-feature-item{display:flex;align-items:start;gap:16px;padding:16px;background:rgb(var(--md-sys-color-surface-container-high));border-radius:12px;transition:all .2s ease}.gamification-feature-item:hover{background:rgb(var(--md-sys-color-surface-container-highest));transform:translate(4px)}.gamification-feature-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgb(var(--md-sys-color-primary-container));color:rgb(var(--md-sys-color-on-primary-container));border-radius:12px;flex-shrink:0;font-size:24px}.gamification-feature-text h4{margin:0 0 4px;font-size:16px;font-weight:600;color:rgb(var(--md-sys-color-on-surface))}.gamification-feature-text p{margin:0;font-size:14px;color:rgb(var(--md-sys-color-on-surface-variant));line-height:1.4}.gamification-levels-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.gamification-level-card{background:rgb(var(--md-sys-color-surface-container-high));border-radius:16px;padding:20px;text-align:center;transition:all .2s ease;border:2px solid transparent}.gamification-level-card:hover{border-color:rgb(var(--md-sys-color-primary));transform:translateY(-4px);box-shadow:0 4px 12px #0000001a}.gamification-level-emoji{font-size:40px;margin-bottom:12px;display:block}.gamification-level-title{font-size:18px;font-weight:600;margin-bottom:4px;color:rgb(var(--md-sys-color-on-surface))}.gamification-level-subtitle{font-size:14px;color:rgb(var(--md-sys-color-on-surface-variant));margin-bottom:8px}.gamification-level-points{font-size:12px;font-weight:500;color:rgb(var(--md-sys-color-on-surface-variant));opacity:.8}.gamification-points-list{display:flex;flex-direction:column;gap:12px}.gamification-point-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:rgb(var(--md-sys-color-surface-container-high));border-radius:12px;border-left:4px solid rgb(var(--md-sys-color-primary));transition:all .2s ease}.gamification-point-item:hover{background:rgb(var(--md-sys-color-surface-container-highest));transform:translate(4px)}.gamification-point-label{font-size:14px;font-weight:500;color:rgb(var(--md-sys-color-on-surface))}.gamification-point-value{font-size:16px;font-weight:600;color:rgb(var(--md-sys-color-primary));padding:4px 12px;background:rgb(var(--md-sys-color-primary-container));border-radius:12px}.gamification-achievements-container{display:flex;flex-direction:column;gap:16px}.gamification-achievement-card{display:flex;align-items:center;gap:16px;padding:16px;background:rgb(var(--md-sys-color-surface-container-high));border-radius:12px;border:2px solid transparent;transition:all .2s ease}.gamification-achievement-card:hover{border-color:rgb(var(--md-sys-color-tertiary));transform:scale(1.02)}.gamification-achievement-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-size:32px;background:rgb(var(--md-sys-color-tertiary-container));border-radius:50%;flex-shrink:0}.gamification-achievement-content h4{margin:0 0 4px;font-size:16px;font-weight:600;color:rgb(var(--md-sys-color-on-surface))}.gamification-achievement-content p{margin:0;font-size:14px;color:rgb(var(--md-sys-color-on-surface-variant));line-height:1.4}.gamification-get-started-container{text-align:center}.gamification-celebration-icon{font-size:80px;margin-bottom:20px;display:block;animation:bounce .6s ease}.gamification-get-started-text{font-size:16px;color:rgb(var(--md-sys-color-on-surface-variant));line-height:1.6;margin-bottom:24px}.gamification-tips-list{display:flex;flex-direction:column;gap:12px;margin-top:20px;text-align:left}.gamification-tip-item{display:flex;align-items:start;gap:12px;padding:12px;background:rgb(var(--md-sys-color-secondary-container));color:rgb(var(--md-sys-color-on-secondary-container));border-radius:8px}.gamification-tip-icon{font-size:20px;flex-shrink:0;margin-top:2px}.gamification-tip-text{font-size:14px;line-height:1.4}.gamification-onboarding-navigation{display:flex;justify-content:space-between;align-items:center;gap:16px}.gamification-nav-left,.gamification-nav-right{display:flex;gap:8px}.gamification-step-counter{font-size:14px;color:rgb(var(--md-sys-color-on-surface-variant));font-weight:500}.gamification-onboarding-navigation .md3-button{min-height:40px;padding:0 20px}@media(max-width:640px){.gamification-onboarding-card{padding:24px 20px;max-height:95vh}.gamification-onboarding-title{font-size:20px}.gamification-onboarding-subtitle{font-size:14px}.gamification-levels-grid{grid-template-columns:1fr}.gamification-feature-item,.gamification-achievement-card{flex-direction:column;text-align:center}.gamification-onboarding-navigation{flex-direction:column-reverse;gap:12px}.gamification-nav-left,.gamification-nav-right{width:100%}.gamification-nav-right{flex-direction:column}.gamification-onboarding-navigation .md3-button{width:100%;justify-content:center}.gamification-celebration-icon{font-size:60px}}@media(max-width:480px){.gamification-onboarding-overlay{padding:10px}.gamification-onboarding-card{padding:20px 16px;border-radius:16px}.gamification-onboarding-content{min-height:250px}}@media(prefers-color-scheme:dark){.gamification-onboarding-overlay{background:#000000e6}.gamification-onboarding-card{background:rgb(var(--md-sys-color-surface-container-high))}.gamification-feature-item,.gamification-level-card,.gamification-point-item,.gamification-achievement-card{background:rgb(var(--md-sys-color-surface-container-highest))}}@media(prefers-contrast:high){.gamification-onboarding-card{border:2px solid rgb(var(--md-sys-color-outline))}.gamification-feature-item,.gamification-level-card,.gamification-point-item,.gamification-achievement-card{border:1px solid rgb(var(--md-sys-color-outline))}.gamification-onboarding-title,.gamification-feature-text h4,.gamification-level-title,.gamification-point-label,.gamification-achievement-content h4{font-weight:700}}@media(prefers-reduced-motion:reduce){.gamification-onboarding-overlay,.gamification-onboarding-card,.gamification-feature-item,.gamification-level-card,.gamification-point-item,.gamification-achievement-card,.gamification-celebration-icon{animation:none;transition:none}.gamification-feature-item:hover,.gamification-level-card:hover,.gamification-point-item:hover,.gamification-achievement-card:hover{transform:none}}.gamification-feature-item:focus-visible,.gamification-level-card:focus-visible,.gamification-point-item:focus-visible,.gamification-achievement-card:focus-visible{outline:2px solid rgb(var(--md-sys-color-primary));outline-offset:2px}.gamification-onboarding-card::-webkit-scrollbar{width:8px}.gamification-onboarding-card::-webkit-scrollbar-track{background:rgb(var(--md-sys-color-surface-variant));border-radius:4px}.gamification-onboarding-card::-webkit-scrollbar-thumb{background:rgb(var(--md-sys-color-outline-variant));border-radius:4px}.gamification-onboarding-card::-webkit-scrollbar-thumb:hover{background:rgb(var(--md-sys-color-outline))}@media print{.gamification-onboarding-overlay{position:relative;background:#fff;padding:0}.gamification-onboarding-card{box-shadow:none;max-height:none;page-break-inside:avoid}.gamification-onboarding-close,.gamification-onboarding-navigation{display:none}}.cookie-consent-overlay{position:fixed;inset:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:9999;padding:16px}@media(min-width:768px){.cookie-consent-overlay{align-items:center;padding:24px}}.cookie-consent-container{max-width:50px;animation:slideUp .3s ease-out}@media(min-width:768px){.cookie-consent-container{animation:fadeInScale .3s ease-out}}.cookie-consent-card{background:#a5c2ff;border-radius:var(--md-sys-shape-corner-extra-large);padding:24px;box-shadow:var(--md-sys-elevation-5);border:1px solid var(--md-sys-color-outline-variant)}.cookie-consent-content,.cookie-preferences-content{display:flex;flex-direction:column;gap:20px}.cookie-consent-header{display:flex;align-items:center;gap:12px}.cookie-consent-icon{font-size:24px;line-height:1;margin:0 8px 10px 16px}.cookie-consent-header h3{color:#001848;margin:0 8px 10px 16px;font-family:var(--md-sys-typescale-title-large-font-family-name);font-size:var(--md-sys-typescale-title-large-font-size);font-weight:var(--md-sys-typescale-title-large-font-weight);line-height:var(--md-sys-typescale-title-large-line-height);letter-spacing:var(--md-sys-typescale-title-large-tracking)}.cookie-consent-text{color:#000;margin:0 5px 10px;font-family:var(--md-sys-typescale-body-medium-font-family-name);font-size:20px;font-weight:var(--md-sys-typescale-body-medium-font-weight);line-height:var(--md-sys-typescale-body-large-line-height);letter-spacing:var(--md-sys-typescale-body-medium-tracking)}.cookie-consent-links{display:flex;flex-wrap:wrap;gap:16px;margin:8px 0}.cookie-link{color:#000;text-decoration:none;background:#37474f1a;border-radius:8px;border:1px solid rgba(0,0,0,.1);padding:2px 8px;font-family:var(--md-sys-typescale-body-small-font-family-name);font-size:var(--md-sys-typescale-body-small-font-size);font-weight:var(--md-sys-typescale-body-small-font-weight);line-height:var(--md-sys-typescale-body-small-line-height);letter-spacing:var(--md-sys-typescale-body-small-tracking);cursor:pointer;transition:color .2s ease}.cookie-link:hover{color:var(--md-sys-color-primary-container);text-decoration:underline}.cookie-consent-actions{display:flex;flex-direction:column;gap:12px}@media(min-width:480px){.cookie-consent-actions{flex-direction:row;justify-content:flex-end}}.cookie-btn-primary,.cookie-btn-secondary{min-height:40px;padding:0 24px;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family-name);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);line-height:var(--md-sys-typescale-label-large-line-height);letter-spacing:var(--md-sys-typescale-label-large-tracking);transition:all .2s ease}.cookie-back-btn{background:none;border:none;color:#005cba;font-size:20px;font-weight:700;cursor:pointer;padding:8px;border-radius:var(--md-sys-shape-corner-small);transition:background-color .2s ease;margin-left:-8px}.cookie-back-btn:hover{background-color:var(--md-sys-color-surface-variant)}.cookie-categories{display:flex;flex-direction:column;gap:16px}.cookie-category{padding:16px;border-radius:var(--md-sys-shape-corner-medium);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container)}.cookie-category-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}.cookie-category-info{flex:1}.cookie-category-info h4{color:var(--md-sys-color-on-surface);margin:0 0 4px;font-family:var(--md-sys-typescale-title-medium-font-family-name);font-size:var(--md-sys-typescale-title-medium-font-size);font-weight:var(--md-sys-typescale-title-medium-font-weight);line-height:var(--md-sys-typescale-title-medium-line-height);letter-spacing:var(--md-sys-typescale-title-medium-tracking)}.cookie-category-info p{color:var(--md-sys-color-on-surface-variant);margin:0;font-family:var(--md-sys-typescale-body-small-font-family-name);font-size:var(--md-sys-typescale-body-small-font-size);font-weight:var(--md-sys-typescale-body-small-font-weight);line-height:var(--md-sys-typescale-body-small-line-height);letter-spacing:var(--md-sys-typescale-body-small-tracking)}.cookie-toggle{display:flex;align-items:center;gap:8px;flex-shrink:0}.cookie-checkbox{width:20px;height:20px;border-radius:4px;border:2px solid var(--md-sys-color-outline);background:var(--md-sys-color-surface);cursor:pointer;transition:all .2s ease;-webkit-appearance:none;appearance:none;position:relative}.cookie-checkbox:checked{background:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary)}.cookie-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--md-sys-color-on-primary);font-size:12px;font-weight:700}.cookie-checkbox:disabled{opacity:.6;cursor:not-allowed;background:var(--md-sys-color-surface-variant);border-color:var(--md-sys-color-outline-variant)}.cookie-toggle-label{color:var(--md-sys-color-on-surface-variant);font-family:var(--md-sys-typescale-body-small-font-family-name);font-size:var(--md-sys-typescale-body-small-font-size);font-weight:var(--md-sys-typescale-body-small-font-weight);line-height:var(--md-sys-typescale-body-small-line-height);letter-spacing:var(--md-sys-typescale-body-small-tracking)}.cookie-category-description{color:var(--md-sys-color-on-surface-variant);margin:8px 0 0;font-family:var(--md-sys-typescale-body-small-font-family-name);font-size:var(--md-sys-typescale-body-small-font-size);font-weight:var(--md-sys-typescale-body-small-font-weight);line-height:var(--md-sys-typescale-body-small-line-height);letter-spacing:var(--md-sys-typescale-body-small-tracking)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeInScale{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-color-scheme:dark){.cookie-consent-overlay{background-color:#000000b3}}@media(prefers-contrast:high){.cookie-consent-card{border-width:2px;border-color:var(--md-sys-color-outline)}.cookie-category{border-width:2px}.cookie-checkbox{border-width:3px}}@media(prefers-reduced-motion:reduce){.cookie-consent-container{animation:none}.cookie-btn-primary,.cookie-btn-secondary,.cookie-back-btn,.cookie-link,.cookie-checkbox{transition:none}}.cookie-link:focus,.cookie-back-btn:focus,.cookie-checkbox:focus{outline:2px solid #005cba;outline-offset:2px}@media print{.cookie-consent-overlay{display:none}}.new-landing-container{min-height:100vh;background:linear-gradient(180deg,var(--md-sys-color-surface) 90%,var(--md-sys-color-surface-container-low) 100%);overflow-x:hidden;width:100%;max-width:100vw}.hero-compact{min-height:auto;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem 1rem 1rem;position:relative;overflow:hidden;max-width:100%}.hero-compact.fade-in{animation:fadeInUp .8s ease-out}.hero-content{max-width:600px;text-align:center;z-index:2;width:100%;padding:1rem}.logo-display{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.logo-circle{width:64px;height:64px;background:linear-gradient(135deg,var(--md-sys-color-primary),var(--md-sys-color-secondary));border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 16px #0000001a;animation:pulse 2s ease-in-out infinite}.logo-icon{font-size:2rem!important;color:var(--md-sys-color-on-primary)}.logo-image{width:100%;height:100%;object-fit:contain}.brand-identity{text-align:left}.brand-title{font-size:2rem;font-weight:600;color:var(--md-sys-color-on-surface);margin:0;font-family:Google Sans,Inter,system-ui,sans-serif}.brand-tagline{font-size:.875rem;color:var(--md-sys-color-on-surface-variant);margin:.25rem 0 0}.hero-headline{font-size:clamp(1.75rem,5vw,2.5rem);font-weight:700;color:var(--md-sys-color-on-surface);margin:1.5rem 0 1rem;line-height:1.2;background:linear-gradient(135deg,var(--md-sys-color-primary),var(--md-sys-color-tertiary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;max-width:100%;word-wrap:break-word}.hero-subtext{font-size:clamp(.875rem,2.5vw,1.125rem);color:var(--md-sys-color-on-surface-variant);margin:0 auto 1rem;max-width:480px;line-height:1.6}.cta-group{display:flex;gap:1rem;justify-content:center;margin:1rem 0;flex-wrap:wrap}.md3-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:20px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease;border:none;font-family:Roboto,sans-serif;white-space:nowrap;min-width:-webkit-fit-content;min-width:fit-content}.md3-button-filled{background:#56a0d366;color:var(--md-sys-color-on-primary)}.md3-button-filled:hover{background:var(--md-sys-color-primary-container);box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.md3-button-outlined{background:#56a0d366;color:var(--md-sys-color-primary);border:1.5px solid var(--md-sys-color-outline)}.md3-button-outlined:hover{background:var(--md-sys-color-primary-container);box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.md3-button-large{padding:1rem 2rem;font-size:1rem}.hero-visual{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:.15}.floating-book{position:absolute;font-size:8rem;color:var(--md-sys-color-primary);animation:float 6s ease-in-out infinite}.book-1{top:30%;left:10%;animation-delay:0s}.book-2{top:45%;right:15%;animation-delay:2s}.book-3{top:60%;left:25%;animation-delay:1s}.features-compact{padding:2rem 1rem;max-width:900px;margin:0 auto;width:100%}.section-title{font-size:clamp(1.5rem,4vw,2rem);font-weight:600;text-align:center;color:var(--md-sys-color-on-surface);margin-bottom:2.5rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;width:100%;align-items:start}.feature-card{background:var(--md-sys-color-surface-container-low);border-radius:var(--md-sys-shape-corner-large, 16px);padding:2rem 1.5rem;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);animation:fadeInUp .6s ease-out both;border:1px solid #000000;box-shadow:0 2px 8px #00000080;max-width:100%;position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--md-sys-color-primary),var(--md-sys-color-tertiary));transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.4,0,.2,1)}.feature-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;background:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-primary)}.feature-card:hover:before{transform:scaleX(1)}.feature-icon{width:64px;height:64px;margin:0 auto 1.25rem;background:linear-gradient(135deg,var(--md-sys-color-primary-container),var(--md-sys-color-secondary-container));border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 4px 12px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1)}.feature-card:hover .feature-icon{transform:scale(1.1) rotateY(10deg);box-shadow:0 6px 16px #0000001f}.feature-icon .material-symbols-outlined{font-size:2rem;color:var(--md-sys-color-on-primary-container);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48}.feature-title{font-size:1.25rem;font-weight:600;color:var(--md-sys-color-on-surface);margin:0 0 .75rem;line-height:1.3}.feature-description{font-size:.9375rem;color:var(--md-sys-color-on-surface-variant);line-height:1.6;margin:0;min-height:3em}.testimonials-section{padding:2rem 1rem;max-width:900px;margin:0 auto;width:100%}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;width:100%}.testimonial-card{background:var(--md-sys-color-surface-container-low);border-radius:var(--md-sys-shape-corner-large, 16px);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);animation:fadeInUp .6s ease-out both;border:1px solid var(--md-sys-color-outline-variant);position:relative}.testimonial-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;background:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-primary)}.testimonial-highlight{display:inline-block;align-self:flex-start;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--md-sys-color-primary);background:color-mix(in srgb,var(--md-sys-color-primary) 15%,transparent);padding:.25rem .75rem;border-radius:12px}.testimonial-quote{font-size:.9375rem;line-height:1.6;color:var(--md-sys-color-on-surface);flex-grow:1;position:relative}.quote-mark{font-size:2.5rem;font-weight:700;color:var(--md-sys-color-primary);opacity:.3;line-height:0;position:relative;top:.5rem;margin-right:.25rem}.testimonial-author{display:flex;align-items:center;gap:.75rem;padding-top:1rem;border-top:1px solid var(--md-sys-color-outline-variant)}.author-avatar{width:48px;height:48px;background:linear-gradient(135deg,var(--md-sys-color-secondary-container),var(--md-sys-color-tertiary-container));border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.author-avatar .material-symbols-outlined{font-size:1.5rem;color:var(--md-sys-color-on-secondary-container)}.author-info{display:flex;flex-direction:column;gap:.125rem}.author-name{font-size:.9375rem;font-weight:600;color:var(--md-sys-color-on-surface)}.author-role{font-size:.8125rem;color:var(--md-sys-color-on-surface-variant)}@media(max-width:767px){.testimonials-grid{grid-template-columns:1fr}.testimonial-card{padding:1.25rem}}@media(min-width:768px)and (max-width:1023px){.testimonials-grid{grid-template-columns:repeat(2,1fr)}.testimonials-grid .testimonial-card:nth-child(3){grid-column:1 / -1;max-width:500px;justify-self:center}}.cta-final{padding:4rem 1rem;background:linear-gradient(135deg,var(--md-sys-color-primary-container),var(--md-sys-color-tertiary-container));width:100%;max-width:100vw}.cta-final-content{max-width:600px;margin:0 auto;text-align:center}.cta-final-title{font-size:clamp(1.5rem,4vw,2rem);font-weight:700;color:var(--md-sys-color-on-primary-container);margin:0 0 1rem}.cta-final-text{font-size:1rem;color:var(--md-sys-color-on-primary-container);opacity:.9;margin:0 0 2rem}.landing-footer{padding:2rem 1rem;text-align:center;background:var(--md-sys-color-surface);border-top:1px solid var(--md-sys-color-outline-variant);width:100%}.footer-text{font-size:.875rem;color:var(--md-sys-color-on-surface-variant);margin:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@media(max-width:374px){.hero-compact{padding:1rem .75rem}.logo-display{flex-direction:column;gap:.5rem}.brand-identity{text-align:center}.cta-group{flex-direction:column;width:100%}.md3-button{width:100%;justify-content:center}.features-grid{grid-template-columns:1fr}.hero-visual{display:none}}@media(min-width:375px)and (max-width:767px){.hero-compact{padding:1rem}.features-grid{grid-template-columns:1fr;gap:1rem}.feature-card{padding:1.5rem 1rem}.cta-group{flex-direction:column;gap:.75rem}.md3-button{width:100%;justify-content:center}}@media(min-width:768px)and (max-width:1023px){.features-grid{grid-template-columns:repeat(2,1fr)}.hero-compact{padding:1.5rem 2rem}}@media(min-width:1024px){.features-grid{grid-template-columns:repeat(3,1fr)}.hero-compact{padding:1.5rem 2rem}}*{word-wrap:break-word;overflow-wrap:break-word}.cta-group,.md3-button{max-width:100%}body,html{overflow-x:hidden;max-width:100vw}.download-section{margin-top:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.download-label{font-size:.875rem;color:var(--md-sys-color-on-surface-variant);margin:0;font-weight:500}.download-buttons{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.store-button{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:color-mix(in srgb,var(--md-sys-color-surface-container) 70%,transparent);border:2px solid color-mix(in srgb,var(--md-sys-color-outline) 50%,transparent);border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;min-width:180px;box-shadow:1px 1px 3px #00000080}.store-button:hover{background:color-mix(in srgb,var(--md-sys-color-surface-container-high) 70%,transparent);border-color:color-mix(in srgb,var(--md-sys-color-outline) 85%,transparent);transform:translateY(-2px);box-shadow:0 4px 12px #000c}.store-button:active{transform:translateY(0)}.store-icon{width:32px;height:32px;flex-shrink:0}.store-text{display:flex;flex-direction:column;align-items:flex-start;gap:.125rem}.store-label{font-size:.625rem;color:#56a0d3e6;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.store-name{font-size:1rem;color:#56a0d3e6;font-weight:600;line-height:1.2}.store-button.coming-soon{cursor:default;opacity:.7;position:relative}.store-button.coming-soon:hover{transform:none;background:var(--md-sys-color-surface-container-high);border-color:color-mix(in srgb,var(--md-sys-color-outline) 30%,transparent);box-shadow:0 1px 2px #0000000d}@media(max-width:768px){.download-buttons{flex-direction:column;width:100%;max-width:300px}.store-button{width:100%;justify-content:flex-start}.download-section{margin-top:1.25rem}}@media(max-width:480px){.store-button{padding:.625rem 1.25rem;min-width:160px}.store-icon{width:28px;height:28px}.store-label{font-size:.5625rem}.store-name{font-size:.875rem}}@media(prefers-color-scheme:dark){.store-button{background:#ffffff14;border-color:#ffffff1f;box-shadow:0 1px 3px #0000004d}.store-button:hover{background:#ffffff1f;border-color:#ffffff2e;box-shadow:0 4px 12px #000c}.store-label,.store-name,.download-label{color:#56a0d3e6}.store-button.coming-soon{opacity:.8}.store-button.coming-soon:hover{background:#ffffff80;border-color:#fff3}}[data-theme=dark] .md3-text-field__container,.dark .md3-text-field__container{background-color:#3c3c3e}[data-theme=dark] .md3-text-field__input,.dark .md3-text-field__input,[data-theme=dark] .md3-text-field input,.dark .md3-text-field input,[data-theme=dark] .md3-text-field textarea,.dark .md3-text-field textarea{color:#e0e0e0;background:transparent}[data-theme=dark] .md3-text-field__label,.dark .md3-text-field__label{color:#b0b0b0}.md3-text-field{position:relative;display:flex;flex-direction:column;width:100%;font-family:var(--md-sys-typescale-body-large-font-family, "Inter", system-ui, sans-serif);transition:all var(--md-sys-motion-duration-short4, .2s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1))}.md3-text-field__container{position:relative;display:flex;align-items:center;min-height:56px;background-color:rgb(var(--md-sys-color-surface-container-highest, 230 224 233));transition:background-color var(--md-sys-motion-duration-short4, .2s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1)),border-color var(--md-sys-motion-duration-short4, .2s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1))}.md3-text-field--filled .md3-text-field__container{border-radius:var(--md-sys-shape-corner-small, 8px) var(--md-sys-shape-corner-small, 8px) 0 0;border-bottom:1px solid rgb(var(--md-sys-color-on-surface-variant, 73 69 79))}.md3-text-field--filled:hover:not(.md3-text-field--disabled) .md3-text-field__container{background-color:color-mix(in srgb,rgb(var(--md-sys-color-surface-container-highest)) 92%,rgb(var(--md-sys-color-on-surface)) 8%)}.md3-text-field--filled.md3-text-field--focused .md3-text-field__container{border-bottom-width:2px;border-bottom-color:rgb(var(--md-sys-color-primary, 103 80 164))}.md3-text-field--filled.md3-text-field--error .md3-text-field__container{border-bottom-color:rgb(var(--md-sys-color-error, 186 26 26))}.md3-text-field--outlined .md3-text-field__container{background-color:transparent;border:1px solid rgb(var(--md-sys-color-outline, 121 116 126));border-radius:var(--md-sys-shape-corner-small, 8px);padding:0 16px}.md3-text-field--outlined:hover:not(.md3-text-field--disabled) .md3-text-field__container{border-color:rgb(var(--md-sys-color-on-surface, 28 27 31))}.md3-text-field--outlined.md3-text-field--focused .md3-text-field__container{border-width:2px;border-color:rgb(var(--md-sys-color-primary, 103 80 164));padding:0 15px}.md3-text-field--outlined.md3-text-field--error .md3-text-field__container{border-color:rgb(var(--md-sys-color-error, 186 26 26))}.md3-text-field__input-container{position:relative;flex:1;display:flex;align-items:center}.md3-text-field__input{border:1px solid;border-radius:5px;outline:none;background:#3b82f633;margin:0;padding:0;width:100%;height:45px;font-family:inherit;font-size:var(--md-sys-typescale-body-large-size, 1rem);font-weight:var(--md-sys-typescale-body-large-weight, 400);line-height:var(--md-sys-typescale-body-large-line-height, 1.5rem);letter-spacing:var(--md-sys-typescale-body-large-tracking, .5px);color:rgb(var(--md-sys-color-on-surface, 28 27 31));caret-color:rgb(var(--md-sys-color-primary, 103 80 164));-webkit-appearance:none;appearance:none}.md3-text-field__input::placeholder{color:rgb(var(--md-sys-color-on-surface-variant, 73 69 79));opacity:1}.md3-text-field__input::-webkit-autofill,.md3-text-field__input::-webkit-autofill:hover,.md3-text-field__input::-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px rgb(var(--md-sys-color-surface-container-highest, 230 224 233)) inset;-webkit-text-fill-color:rgb(var(--md-sys-color-on-surface, 28 27 31))}.md3-text-field__label{position:absolute;left:0;top:50%;transform:translateY(-10%);font-size:var(--md-sys-typescale-body-large-size, .8rem);font-weight:var(--md-sys-typescale-body-large-weight, 400);line-height:var(--md-sys-typescale-body-large-line-height, 1.5rem);letter-spacing:var(--md-sys-typescale-body-large-tracking, .5px);color:rgb(var(--md-sys-color-on-surface-variant, 73 69 79));transition:transform var(--md-sys-motion-duration-short4, .2s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1)),font-size var(--md-sys-motion-duration-short4, .2s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1)),color var(--md-sys-motion-duration-short4, .2s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1));pointer-events:none;-webkit-user-select:none;user-select:none}.md3-text-field--focused .md3-text-field__label,.md3-text-field--populated .md3-text-field__label{transform:translateY(-28px);font-size:var(--md-sys-typescale-body-small-size, .75rem);font-weight:var(--md-sys-typescale-body-small-weight, 400);line-height:var(--md-sys-typescale-body-small-line-height, 1rem);letter-spacing:var(--md-sys-typescale-body-small-tracking, .4px)}.md3-text-field--focused .md3-text-field__label{color:rgb(var(--md-sys-color-primary, 103 80 164))}.md3-text-field--error .md3-text-field__label{color:rgb(var(--md-sys-color-error, 186 26 26))}.md3-text-field--outlined .md3-text-field__label{background-color:rgb(var(--md-sys-color-surface, 255 255 255));padding:0 4px;margin-left:-4px}.md3-text-field--outlined.md3-text-field--focused .md3-text-field__label,.md3-text-field--outlined.md3-text-field--populated .md3-text-field__label{transform:translateY(-32px)}.md3-text-field__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:rgb(var(--md-sys-color-on-surface-variant, 73 69 79));transition:color var(--md-sys-motion-duration-short4, .2s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1))}.md3-text-field__icon--leading{margin-right:12px}.md3-text-field__icon--trailing{margin-left:12px;cursor:pointer}.md3-text-field__icon--trailing:hover{color:rgb(var(--md-sys-color-on-surface, 28 27 31))}.md3-text-field--focused .md3-text-field__icon--leading{color:rgb(var(--md-sys-color-primary, 103 80 164))}.md3-text-field--error .md3-text-field__icon{color:rgb(var(--md-sys-color-error, 186 26 26))}.md3-text-field__password-toggle{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:transparent;color:rgb(var(--md-sys-color-on-surface-variant, 73 69 79));cursor:pointer;border-radius:50%;transition:all var(--md-sys-motion-duration-short4, .2s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1));width:32px;height:32px;margin:0}.md3-text-field__password-toggle:hover{background-color:color-mix(in srgb,rgb(var(--md-sys-color-on-surface)) 8%,transparent);color:rgb(var(--md-sys-color-on-surface, 28 27 31))}.md3-text-field__password-toggle:active{background-color:color-mix(in srgb,rgb(var(--md-sys-color-on-surface)) 12%,transparent)}.md3-text-field__password-toggle:focus-visible{outline:2px solid rgb(var(--md-sys-color-primary, 103 80 164));outline-offset:2px}[data-theme=dark] .md3-text-field__password-toggle,.dark .md3-text-field__password-toggle{color:#b0b0b0}[data-theme=dark] .md3-text-field__password-toggle:hover,.dark .md3-text-field__password-toggle:hover{background-color:#ffffff14;color:#e0e0e0}@media(prefers-color-scheme:dark){.md3-text-field__password-toggle{color:#b0b0b0}.md3-text-field__password-toggle:hover{background-color:#ffffff14;color:#e0e0e0}}.md3-text-field__supporting-text{margin-top:4px;padding:0 16px;font-size:var(--md-sys-typescale-body-small-size, .75rem);font-weight:var(--md-sys-typescale-body-small-weight, 400);line-height:var(--md-sys-typescale-body-small-line-height, 1rem);letter-spacing:var(--md-sys-typescale-body-small-tracking, .4px);color:rgb(var(--md-sys-color-on-surface-variant, 73 69 79));transition:color var(--md-sys-motion-duration-short4, .2s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1))}.md3-text-field--error .md3-text-field__supporting-text{color:rgb(var(--md-sys-color-error, 186 26 26))}.md3-text-field__asterisk{color:rgb(var(--md-sys-color-error, 186 26 26));margin-left:2px}.md3-text-field--disabled{opacity:.38;pointer-events:none}.md3-text-field--disabled .md3-text-field__container{background-color:color-mix(in srgb,rgb(var(--md-sys-color-on-surface)) 4%,transparent)}.md3-text-field--disabled .md3-text-field__input,.md3-text-field--disabled .md3-text-field__label{color:rgb(var(--md-sys-color-on-surface, 28 27 31))}.md3-text-field--error .md3-text-field__input{caret-color:rgb(var(--md-sys-color-error, 186 26 26))}.md3-text-field--small .md3-text-field__container{min-height:48px}.md3-text-field--small .md3-text-field__input{height:24px;font-size:var(--md-sys-typescale-body-medium-size, .875rem)}.md3-text-field--large .md3-text-field__container{min-height:64px}.md3-text-field--large .md3-text-field__input{height:40px;font-size:var(--md-sys-typescale-body-large-size, 1rem)}.md3-text-field--textarea .md3-text-field__input{resize:vertical;min-height:80px;height:auto;padding:8px 0;line-height:1.5}.md3-text-field--textarea .md3-text-field__container{min-height:96px;align-items:flex-start;padding-top:16px;padding-bottom:16px}.md3-text-field--textarea .md3-text-field__label{top:16px}.md3-text-field--textarea.md3-text-field--focused .md3-text-field__label,.md3-text-field--textarea.md3-text-field--populated .md3-text-field__label{transform:translateY(-20px)}@media(max-width:600px){.md3-text-field__container{min-height:52px}.md3-text-field__input{font-size:16px}@media(prefers-color-scheme:dark){.md3-text-field__container{background-color:#3c3c3e}.md3-text-field__input,.md3-text-field input{color:#e0e0e0}.md3-text-field__label{color:#b0b0b0}}[data-theme=dark] .md3-text-field__container,.dark .md3-text-field__container{background-color:#3c3c3e}[data-theme=dark] .md3-text-field__input,[data-theme=dark] .md3-text-field input,.dark .md3-text-field__input,.dark .md3-text-field input{color:#e0e0e0}[data-theme=dark] .md3-text-field__label,.dark .md3-text-field__label{color:#b0b0b0}}@media(prefers-contrast:high){.md3-text-field--outlined .md3-text-field__container{border-width:2px}.md3-text-field--outlined.md3-text-field--focused .md3-text-field__container{border-width:3px;padding:0 14px}}@media(prefers-reduced-motion:reduce){.md3-text-field,.md3-text-field__container,.md3-text-field__label,.md3-text-field__icon,.md3-text-field__supporting-text{transition:none}}@media(prefers-color-scheme:dark){.md3-text-field--filled .md3-text-field__container,.md3-text-field__container{background-color:#3c3c3e}.md3-text-field__input,.md3-text-field input,.md3-text-field textarea{color:#e0e0e0}.md3-text-field__label{color:#b0b0b0}.md3-text-field__input::-webkit-autofill,.md3-text-field__input::-webkit-autofill:hover,.md3-text-field__input::-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #3c3c3e inset;-webkit-text-fill-color:#e0e0e0}.md3-text-field--outlined .md3-text-field__label{background-color:#1c1b1f}}.login-background{min-height:100vh;background-color:var(--md-sys-color-surface);position:relative;overflow:hidden}[data-theme=dark] .login-background{background-color:var(--md-sys-color-surface)}@media(prefers-color-scheme:dark){.login-background{background-color:var(--md-sys-color-surface)}}.login-background>div:first-of-type{position:absolute;inset:0;overflow:hidden;pointer-events:none}.floating-element{animation:float 6s ease-in-out infinite;pointer-events:none}.floating-element:nth-child(2){animation-delay:-2s}.floating-element:nth-child(3){animation-delay:-4s}.login-container{position:relative;z-index:10;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:3rem 2rem;animation:slideInUp .6s cubic-bezier(.2,0,0,1)}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-content-wrapper{width:100%;max-width:26rem!important;margin:100px auto}.login-card,.login-card-enhanced{max-width:100%;width:100%}@media(min-width:768px){.login-content-wrapper{max-width:24rem!important}}@media(min-width:1024px){.login-content-wrapper{max-width:22rem!important}}@media(min-width:1440px){.login-content-wrapper{max-width:30rem!important}}.login-logo{text-align:center;margin-bottom:2rem;animation:fadeInScale 1s cubic-bezier(.2,0,0,1) .1s both}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.logo-container{display:inline-flex;align-items:center;justify-content:center;width:5rem;height:5rem;margin-bottom:1.5rem;border-radius:1.5rem;background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 15%,transparent),color-mix(in srgb,var(--md-sys-color-primary) 5%,transparent));border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 10%,transparent);transition:all .3s cubic-bezier(.2,0,0,1)}.logo-container:hover{transform:scale(1.05) rotate(2deg);background:linear-gradient(135deg,#24a8e033,#24a8e01a)}.logo-svg{color:var(--md-sys-color-primary)}[data-theme=dark] .logo-svg{color:var(--md-sys-color-secondary)}@media(prefers-color-scheme:dark){.logo-svg{color:var(--md-sys-color-secondary)}}.logo-image{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.1))}.brand-title{font-size:2.25rem;font-weight:700;color:var(--md-sys-color-on-surface);margin-bottom:.5rem;letter-spacing:-.025em}[data-theme=dark] .brand-title{color:var(--md-sys-color-on-surface)}@media(prefers-color-scheme:dark){.brand-title{color:var(--md-sys-color-on-surface)}}.brand-subtitle{font-size:1.125rem;color:var(--md-sys-color-on-surface-variant);font-weight:500}[data-theme=dark] .brand-subtitle{color:var(--md-sys-color-on-surface-variant)}@media(prefers-color-scheme:dark){.brand-subtitle{color:var(--md-sys-color-on-surface-variant)}}.login-card{animation:fadeInScale .8s cubic-bezier(.2,0,0,1) .2s both}.login-card-enhanced{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:color-mix(in srgb,var(--md-sys-color-surface) 80%,transparent);border:1px solid var(--md-sys-color-outline-variant);box-shadow:0 8px 32px #0000001a,0 4px 16px #0000000d,inset 0 1px #ffffff1a;transition:all .3s cubic-bezier(.2,0,0,1)}[data-theme=dark] .login-card-enhanced{background:color-mix(in srgb,var(--md-sys-color-surface) 90%,transparent);border:1px solid var(--md-sys-color-outline-variant);box-shadow:0 8px 32px #0000004d,0 4px 16px #0003,inset 0 1px #ffffff0d}@media(prefers-color-scheme:dark){.login-card-enhanced{background:color-mix(in srgb,var(--md-sys-color-surface) 90%,transparent);border:1px solid var(--md-sys-color-outline-variant);box-shadow:0 8px 32px #0000004d,0 4px 16px #0003,inset 0 1px #ffffff0d}}.login-card-enhanced:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026,0 8px 24px #0000001a,inset 0 1px #ffffff1a}[data-theme=dark] .login-card-enhanced:hover{box-shadow:0 12px 40px #0006,0 8px 24px #0000004d,inset 0 1px #ffffff0d}@media(prefers-color-scheme:dark){.login-card-enhanced:hover{box-shadow:0 12px 40px #0006,0 8px 24px #0000004d,inset 0 1px #ffffff0d}}.login-card-content{padding:2rem;width:px}.login-form-header{text-align:center;margin-bottom:2rem}.login-form-title{font-size:1.5rem;font-weight:600;color:var(--md-sys-color-on-surface);margin-bottom:.5rem}[data-theme=dark] .login-form-title{color:var(--md-sys-color-on-surface)}@media(prefers-color-scheme:dark){.login-form-title{color:var(--md-sys-color-on-surface)}}.login-form-subtitle,[data-theme=dark] .login-form-subtitle{color:var(--md-sys-color-on-surface-variant)}@media(prefers-color-scheme:dark){.login-form-subtitle{color:var(--md-sys-color-on-surface-variant)}}.error-message{margin-bottom:1.5rem;padding:1rem;border-radius:.75rem;animation:slideInUp .3s cubic-bezier(.2,0,0,1);background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-error) 20%,transparent),color-mix(in srgb,var(--md-sys-color-error) 10%,transparent));border-left:4px solid var(--md-sys-color-error)}.error-text{font-size:.875rem;color:var(--md-sys-color-error);text-align:center;font-weight:500}[data-theme=dark] .error-text{color:var(--md-sys-color-error)}@media(prefers-color-scheme:dark){.error-text{color:var(--md-sys-color-error)}}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-field{display:flex;flex-direction:column;gap:.5rem;transition:all .2s cubic-bezier(.2,0,0,1)}.login-field:focus-within{transform:translateY(-1px)}.login-button-primary{width:100%;height:3rem;background:#3b82f633;font-size:1.125rem;font-weight:400;border:1px solid;border-radius:8px;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.2,0,0,1)}.login-button-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:#3b82f633;transition:left .5s}.login-button-primary:hover:before{left:100%}.login-button-primary:hover{transform:translateY(-1px);box-shadow:0 8px 24px color-mix(in srgb,var(--md-sys-color-primary) 40%,transparent),0 4px 12px color-mix(in srgb,var(--md-sys-color-primary) 20%,transparent)}.login-button-primary:active{transform:translateY(0)}.loading-content{display:flex;align-items:center;justify-content:center;gap:.75rem}.loading-spinner{border:2px solid color-mix(in srgb,var(--md-sys-color-on-primary) 30%,transparent);border-top:2px solid var(--md-sys-color-on-primary);border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite}.login-divider{margin-top:2rem;margin-bottom:2rem}.divider-enhanced{position:relative}.divider-enhanced:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--md-sys-color-outline-variant) 50%,transparent),transparent)}[data-theme=dark] .divider-enhanced:before{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--md-sys-color-outline-variant) 50%,transparent),transparent)}@media(prefers-color-scheme:dark){.divider-enhanced:before{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--md-sys-color-outline-variant) 50%,transparent),transparent)}}.divider-content{position:relative;display:flex;justify-content:center;font-size:.875rem}.divider-text{padding:0 1rem;background-color:color-mix(in srgb,var(--md-sys-color-surface) 80%,transparent);color:var(--md-sys-color-on-surface-variant);font-weight:500}[data-theme=dark] .divider-text{background-color:color-mix(in srgb,var(--md-sys-color-surface) 90%,transparent);color:var(--md-sys-color-on-surface-variant)}@media(prefers-color-scheme:dark){.divider-text{background-color:color-mix(in srgb,var(--md-sys-color-surface) 90%,transparent);color:var(--md-sys-color-on-surface-variant)}}.secondary-actions{display:flex;flex-direction:column;gap:1rem}.secondary-button{width:100%;height:3rem;font-weight:500}.demo-button-content{display:flex;align-items:center;justify-content:center;gap:.5rem}.demo-icon{width:20px;height:20px;fill:currentColor}.login-footer{text-align:center;margin-top:2rem}.login-footer-text{font-size:.875rem;color:var(--md-sys-color-on-surface-variant)}[data-theme=dark] .login-footer-text{color:var(--md-sys-color-on-surface-variant)}@media(prefers-color-scheme:dark){.login-footer-text{color:var(--md-sys-color-on-surface-variant)}}.footer-link{color:var(--md-sys-color-primary);font-weight:500;position:relative;transition:all .2s cubic-bezier(.2,0,0,1);text-decoration:none}[data-theme=dark] .footer-link{color:var(--md-sys-color-secondary)}@media(prefers-color-scheme:dark){.footer-link{color:var(--md-sys-color-secondary)}}.footer-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--md-sys-color-primary);transition:width .3s cubic-bezier(.2,0,0,1)}[data-theme=dark] .footer-link:after{background:var(--md-sys-color-secondary)}@media(prefers-color-scheme:dark){.footer-link:after{background:var(--md-sys-color-secondary)}}.footer-link:hover:after{width:100%}.w-full{width:100%}.text-center{text-align:center}.mb-2{margin-bottom:.5rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}@media(max-width:640px){.login-container{padding:1.5rem 1rem}.login-content-wrapper{max-width:100%!important;padding:0 .5rem}.login-card-content{padding:1.5rem 1.25rem}.login-card-enhanced{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.logo-container{width:4rem;height:4rem}.login-button-primary{height:3rem;font-size:1rem}.brand-title{font-size:2rem}.brand-subtitle{font-size:1rem}}@media(min-width:641px)and (max-width:768px){.login-container{padding:2rem 1.5rem}.login-content-wrapper{max-width:480px!important;padding:0 1rem}}@media(prefers-reduced-motion:reduce){.login-container,.login-card,.login-logo,.floating-element,.login-field,.login-button-primary,.error-message{animation:none}.logo-container:hover,.login-card-enhanced:hover,.login-button-primary:hover,.login-field:focus-within{transform:none}}@media(prefers-contrast:high){.login-card-enhanced{border:2px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface);backdrop-filter:none;-webkit-backdrop-filter:none}[data-theme=dark] .login-card-enhanced{border:2px solid var(--md-sys-color-outline);background:var(--md-sys-color-surface)}.logo-container{border:2px solid var(--md-sys-color-primary)}}.forgot-password-container{display:flex;justify-content:flex-end;margin-top:-.5rem;margin-bottom:1rem}.forgot-password-link{font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:500;color:var(--md-sys-color-primary);text-decoration:none;padding:.5rem .75rem;border-radius:var(--md-sys-shape-corner-small);transition:all .2s var(--md-sys-motion-easing-standard);display:inline-block}.forgot-password-link:hover{background-color:rgba(var(--md-ref-palette-primary40),.08);text-decoration:underline}.forgot-password-link:active{background-color:rgba(var(--md-ref-palette-primary40),.12)}.forgot-password-link:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}[data-theme=dark] .forgot-password-link:hover{background-color:rgba(var(--md-ref-palette-primary80),.12)}.reset-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background-color:var(--md-sys-color-background);background-image:radial-gradient(circle at 20% 50%,rgba(var(--md-ref-palette-primary50),.05) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(var(--md-ref-palette-tertiary50),.05) 0%,transparent 50%)}.reset-password-card{width:100%;max-width:450px;background-color:var(--md-sys-color-surface);border-radius:var(--md-sys-shape-corner-extra-large);box-shadow:var(--md-sys-elevation-level2);padding:2rem;animation:slideUp .3s var(--md-sys-motion-easing-emphasized-decelerate)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reset-password-header{text-align:center;margin-bottom:2rem}.reset-password-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;margin-bottom:1rem;background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-radius:var(--md-sys-shape-corner-full);animation:iconPulse .6s var(--md-sys-motion-easing-emphasized)}@keyframes iconPulse{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.reset-password-title{font-family:var(--md-sys-typescale-headline-large-font-family);font-size:var(--md-sys-typescale-headline-large-font-size);font-weight:var(--md-sys-typescale-headline-large-font-weight);line-height:var(--md-sys-typescale-headline-large-line-height);color:var(--md-sys-color-on-surface);margin:0 0 .5rem}.reset-password-subtitle{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);line-height:var(--md-sys-typescale-body-large-line-height);color:var(--md-sys-color-on-surface-variant);margin:0}.reset-password-form{display:flex;flex-direction:column;gap:1.5rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-label{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);font-weight:500;color:var(--md-sys-color-on-surface);letter-spacing:.5px}.input-wrapper{position:relative;display:flex;align-items:center}.form-input{width:100%;height:56px;padding:0 16px;font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:var(--md-sys-color-on-surface);background-color:var(--md-sys-color-surface-container-highest);border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small);outline:none;transition:all .2s var(--md-sys-motion-easing-standard)}.form-input::placeholder{color:var(--md-sys-color-on-surface-variant);opacity:.6}.form-input:hover:not(:disabled){border-color:var(--md-sys-color-on-surface);background-color:var(--md-sys-color-surface-container-high)}.form-input:focus{border-color:var(--md-sys-color-primary);border-width:2px;padding:0 15px;box-shadow:0 0 0 3px rgba(var(--md-ref-palette-primary40),.12)}.form-input:disabled{opacity:.38;cursor:not-allowed;background-color:var(--md-sys-color-surface-variant)}.form-input.input-error{border-color:var(--md-sys-color-error);background-color:rgba(var(--md-ref-palette-error90),.5)}.password-wrapper{position:relative}.password-wrapper .form-input{padding-right:48px}.password-toggle{position:absolute;right:4px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--md-sys-color-on-surface-variant);background:none;border:none;border-radius:var(--md-sys-shape-corner-full);cursor:pointer;transition:all .2s var(--md-sys-motion-easing-standard)}.password-toggle:hover:not(:disabled){background-color:rgba(var(--md-ref-palette-neutral50),.08);color:var(--md-sys-color-on-surface)}.password-toggle:active:not(:disabled){background-color:rgba(var(--md-ref-palette-neutral50),.12)}.password-toggle:disabled{opacity:.38;cursor:not-allowed}.input-clear{position:absolute;right:4px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--md-sys-color-on-surface-variant);background:none;border:none;border-radius:var(--md-sys-shape-corner-full);cursor:pointer;transition:all .2s var(--md-sys-motion-easing-standard)}.input-clear:hover:not(:disabled){background-color:rgba(var(--md-ref-palette-error40),.08);color:var(--md-sys-color-error)}.input-clear:active:not(:disabled){background-color:rgba(var(--md-ref-palette-error40),.12)}.password-strength{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.strength-bar{flex:1;height:4px;background-color:var(--md-sys-color-surface-container-highest);border-radius:2px;overflow:hidden}.strength-fill{height:100%;transition:width .3s var(--md-sys-motion-easing-emphasized),background-color .3s var(--md-sys-motion-easing-standard);border-radius:2px}.strength-fill.strength-error{background-color:var(--md-sys-color-error)}.strength-fill.strength-warning{background-color:#f59e0b}.strength-fill.strength-success{background-color:#10b981}.strength-label{font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.strength-label.strength-error{color:var(--md-sys-color-error)}.strength-label.strength-warning{color:#f59e0b}.strength-label.strength-success{color:#10b981}.password-requirements{padding:1rem;background-color:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-medium);margin-top:.5rem}.requirements-title{font-family:var(--md-sys-typescale-body-small-font-family);font-size:var(--md-sys-typescale-body-small-font-size);font-weight:600;color:var(--md-sys-color-on-surface-variant);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.5px}.requirements-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.requirements-list li{display:flex;align-items:center;gap:.5rem;font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:var(--md-sys-color-on-surface-variant);transition:color .2s var(--md-sys-motion-easing-standard)}.requirements-list li.requirement-met{color:#10b981}.requirement-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:14px;font-weight:700}.form-error{display:flex;align-items:center;gap:.5rem;font-family:var(--md-sys-typescale-body-small-font-family);font-size:var(--md-sys-typescale-body-small-font-size);color:var(--md-sys-color-error);margin-top:.25rem}.form-error-banner{display:flex;align-items:center;gap:.75rem;padding:1rem;background-color:rgba(var(--md-ref-palette-error90),.3);border-left:4px solid var(--md-sys-color-error);border-radius:var(--md-sys-shape-corner-small);font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:var(--md-sys-color-error);animation:slideIn .3s var(--md-sys-motion-easing-emphasized-decelerate)}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.form-message{padding:1rem;background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-radius:var(--md-sys-shape-corner-small);font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);animation:slideIn .3s var(--md-sys-motion-easing-emphasized-decelerate)}.reset-password-button{height:48px;padding:0 24px;font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing);border:none;border-radius:var(--md-sys-shape-corner-full);cursor:pointer;transition:all .2s var(--md-sys-motion-easing-standard);display:flex;align-items:center;justify-content:center;gap:.5rem}.button-filled{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);box-shadow:var(--md-sys-elevation-level1)}.button-filled:hover:not(:disabled){background-color:color-mix(in srgb,var(--md-sys-color-primary) 92%,white);box-shadow:var(--md-sys-elevation-level2)}.button-filled:active:not(:disabled){background-color:color-mix(in srgb,var(--md-sys-color-primary) 88%,white);box-shadow:var(--md-sys-elevation-level1)}.button-filled:disabled{background-color:rgba(var(--md-ref-palette-neutral50),.12);color:rgba(var(--md-ref-palette-neutral50),.38);box-shadow:none;cursor:not-allowed}.button-text{background:none;color:var(--md-sys-color-primary);padding:0;height:auto}.button-text:hover:not(:disabled){background-color:rgba(var(--md-ref-palette-primary40),.08);padding:.5rem 1rem;border-radius:var(--md-sys-shape-corner-small)}.button-text:active:not(:disabled){background-color:rgba(var(--md-ref-palette-primary40),.12)}.button-loading{display:flex;align-items:center;gap:.5rem}.loading-spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.reset-password-success{text-align:center;padding:1rem 0}.success-icon{display:inline-flex;margin-bottom:1.5rem;animation:successPop .5s var(--md-sys-motion-easing-emphasized)}@keyframes successPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.success-message{font-family:var(--md-sys-typescale-title-large-font-family);font-size:var(--md-sys-typescale-title-large-font-size);font-weight:var(--md-sys-typescale-title-large-font-weight);color:var(--md-sys-color-on-surface);margin:0 0 1rem}.success-instructions{margin-bottom:2rem}.success-instructions p{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:var(--md-sys-color-on-surface-variant);margin:.5rem 0}.reset-password-footer{margin-top:1.5rem;text-align:center}.footer-link{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);color:var(--md-sys-color-primary);text-decoration:none;padding:.5rem 1rem;border-radius:var(--md-sys-shape-corner-small);transition:all .2s var(--md-sys-motion-easing-standard)}.footer-link:hover{background-color:rgba(var(--md-ref-palette-primary40),.08)}.footer-link:active{background-color:rgba(var(--md-ref-palette-primary40),.12)}@media(max-width:640px){.reset-password-container{padding:1rem}.reset-password-card{padding:1.5rem}.reset-password-title{font-size:var(--md-sys-typescale-headline-medium-font-size)}.reset-password-icon{width:64px;height:64px}.reset-password-icon svg{width:36px;height:36px}}[data-theme=dark] .reset-password-card{box-shadow:var(--md-sys-elevation-level2),0 0 0 1px #ffffff0d}[data-theme=dark] .form-input{background-color:var(--md-sys-color-surface-container)}[data-theme=dark] .form-input:hover:not(:disabled){background-color:var(--md-sys-color-surface-container-high)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.reset-password-button:focus-visible,.form-input:focus-visible,.password-toggle:focus-visible,.input-clear:focus-visible,.footer-link:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}@media(prefers-contrast:high){.form-input{border-width:2px}.reset-password-button{border:2px solid currentColor}}.md3-signup-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:var(--md-sys-color-surface);position:relative;overflow:hidden;max-width:1200px;margin:0 auto}.signup-background{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.signup-gradient-orb{position:absolute;border-radius:50%;filter:blur(120px);opacity:.15;animation:float-orb 20s ease-in-out infinite}.orb-1{width:500px;height:500px;background:var(--md-sys-color-primary);top:-10%;left:-10%;animation-delay:0s}.orb-2{width:400px;height:400px;background:var(--md-sys-color-tertiary);bottom:-10%;right:-10%;animation-delay:7s}.orb-3{width:350px;height:350px;background:var(--md-sys-color-secondary);top:50%;right:10%;animation-delay:14s}@keyframes float-orb{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.md3-signup-content{position:relative;z-index:1;width:100%;max-width:560px;background:var(--md-sys-color-surface-container-low);border-radius:var(--md-sys-shape-corner-extra-large, 28px);padding:3rem 2.5rem;box-shadow:var(--md-sys-elevation-level2, 0 2px 4px rgba(0, 0, 0, .05), 0 4px 12px rgba(0, 0, 0, .08) );border:1px solid var(--md-sys-color-outline-variant);animation:slideUpFadeIn .6s cubic-bezier(.4,0,.2,1)}@keyframes slideUpFadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.md3-signup-header{text-align:center;margin-bottom:1.5rem}.md3-signup-logo-container{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.25rem;animation:fadeIn .8s ease-out .2s both}.md3-signup-logo-circle{width:56px;height:56px;background:linear-gradient(135deg,var(--md-sys-color-primary),var(--md-sys-color-secondary));border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;flex-shrink:0}.md3-signup-logo{width:100%;height:100%;object-fit:contain;border-radius:50%}.md3-signup-brand{font-size:1.5rem;font-weight:600;color:var(--md-sys-color-on-surface);font-family:Google Sans,Inter,system-ui,sans-serif}.md3-signup-title{font-size:clamp(1.5rem,4vw,1.75rem);font-weight:600;color:var(--md-sys-color-on-surface);margin:0 0 .5rem;line-height:1.2;letter-spacing:-.01em}.md3-signup-subtitle{font-size:.875rem;color:var(--md-sys-color-on-surface-variant);margin:0;line-height:1.5}.md3-alert{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:var(--md-sys-shape-corner-medium, 12px);margin-bottom:1.5rem;font-size:.875rem;line-height:1.5;animation:alertSlideIn .3s cubic-bezier(.4,0,.2,1)}@keyframes alertSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.md3-alert-icon{font-size:1.25rem;flex-shrink:0}.md3-alert-message{flex:1}.md3-alert-error{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border:1px solid color-mix(in srgb,var(--md-sys-color-error) 30%,transparent)}.md3-alert-error .md3-alert-icon{color:var(--md-sys-color-error)}.md3-alert-success{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);border:1px solid color-mix(in srgb,var(--md-sys-color-tertiary) 30%,transparent)}.md3-alert-success .md3-alert-icon{color:var(--md-sys-color-tertiary)}.md3-signup-form{display:flex;flex-direction:column;gap:1.25rem;background:var(--md-sys-color-surface-container-high);padding:1.5rem;border-radius:var(--md-sys-shape-corner-medium, 12px);box-shadow:var(--md-sys-elevation-level2, 0 2px 3px rgba(0, 0, 0, .06), 0 2px 2px rgba(0, 0, 0, .09) );border:1px solid var(--md-sys-color-outline-variant)}.md3-form-row{display:flex;flex-direction:column;gap:1.25rem;width:100%}.md3-signup-field{width:100%}.md3-password-requirements{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-secondary-container);border-radius:var(--md-sys-shape-corner-small, 8px);font-size:.9125rem;line-height:1.4;margin-top:-.5rem}.requirements-icon{font-size:1rem;color:var(--md-sys-color-secondary);flex-shrink:0}.requirements-text{flex:1}.md3-checkbox-field{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem 0}.md3-checkbox-label{font-size:.875rem;line-height:1.6;color:var(--md-sys-color-on-surface-variant);cursor:pointer;-webkit-user-select:none;user-select:none;flex:1}.md3-checkbox-label:hover{color:var(--md-sys-color-on-surface)}.md3-link{color:var(--md-sys-color-primary);text-decoration:none;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.md3-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--md-sys-color-primary);transition:width .2s cubic-bezier(.4,0,.2,1)}.md3-link:hover:after{width:100%}.md3-link:hover{color:var(--md-sys-color-primary);text-decoration:none}.md3-link:active{transform:scale(.98)}.md3-link-bold{font-weight:600}.md3-signup-submit{width:100%;margin-top:.5rem;height:48px;font-size:.9375rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.md3-signup-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.md3-signup-submit:active:not(:disabled){transform:translateY(0)}.md3-signup-submit .material-symbols-outlined{font-size:1.25rem}.md3-button-spinner{width:18px;height:18px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite;display:inline-block}.md3-signup-footer{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--md-sys-color-outline-variant)}.md3-signup-footer-text{font-size:.875rem;color:var(--md-sys-color-on-surface-variant);line-height:1.5}@media(max-width:639px){.md3-signup-container{padding:1rem .75rem}.md3-signup-content{padding:2rem 1.5rem;border-radius:var(--md-sys-shape-corner-large, 20px)}.md3-signup-logo{height:48px}.md3-password-requirements{font-size:.75rem;padding:.625rem .875rem}.md3-checkbox-label{font-size:.8125rem}.md3-signup-submit{height:44px}}@media(min-width:640px)and (max-width:1023px){.md3-signup-content{max-width:520px;padding:2.5rem 2rem}}@media(min-width:1024px){.md3-signup-content{max-width:560px}}.md3-checkbox-label:focus-visible,.md3-link:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){.md3-signup-content,.md3-alert,.md3-signup-logo,.signup-gradient-orb{animation:none}.md3-link:after{transition:none}.md3-signup-submit{transition:none}}@media(prefers-contrast:high){.md3-signup-content{border:2px solid var(--md-sys-color-outline)}.md3-alert{border-width:2px}.md3-link{text-decoration:underline}}.md3-signup-container[data-theme=dark] .signup-gradient-orb{opacity:.08}.md3-signup-container[data-theme=dark] .md3-signup-content{box-shadow:0 4px 8px #0000004d,0 8px 24px #0003}.md3-signup-container[data-theme=dark] .md3-alert-error{background:color-mix(in srgb,var(--md-sys-color-error) 15%,var(--md-sys-color-surface))}.md3-signup-container[data-theme=dark] .md3-alert-success{background:color-mix(in srgb,var(--md-sys-color-tertiary) 15%,var(--md-sys-color-surface))}.points-history-container{background:var(--md-sys-color-surface-container);border-radius:16px;border:1px solid var(--md-sys-color-outline-variant);overflow:hidden;box-shadow:var(--md-sys-elevation-level1);transition:box-shadow var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1));padding-bottom:12px}.points-history-container:hover{box-shadow:var(--md-sys-elevation-level2)}.points-history-container.dark{background:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-outline-variant);padding-bottom:16px}.points-history-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.points-history-container.dark .points-history-header{border-bottom-color:var(--md-sys-color-outline-variant)}.points-history-title{margin:0;font-size:18px;font-weight:600;color:var(--md-sys-color-on-surface)}.points-history-container.dark .points-history-title{color:var(--md-sys-color-on-surface)}.refresh-button{background:transparent;border:none;font-size:16px;cursor:pointer;padding:4px 8px;border-radius:8px;transition:all .2s ease;opacity:.6}.refresh-button:hover{opacity:1;background:var(--md-sys-color-surface-variant)}.points-history-container.dark .refresh-button:hover{background:var(--md-sys-color-surface-container-high)}.points-history-loading,.points-history-error,.points-history-empty{padding:24px 20px;text-align:center}.points-history-error,.points-history-container.dark .points-history-error{color:var(--md-sys-color-error)}.retry-button{margin-top:12px;padding:8px 16px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.retry-button:hover{background:var(--md-sys-color-secondary);transform:translateY(-1px)}.points-history-empty,.points-history-container.dark .points-history-empty{color:var(--md-sys-color-on-surface-variant)}.points-history-list{max-height:400px;overflow-y:auto;padding:12px 20px}.points-history-list::-webkit-scrollbar{width:6px}.points-history-list::-webkit-scrollbar-track{background:transparent}.points-history-list::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline-variant);border-radius:3px}.points-history-container.dark .points-history-list::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline-variant)}.points-history-date-group{margin-bottom:20px}.points-history-date-group:last-child{margin-bottom:0}.points-history-date-header{font-size:12px;font-weight:600;color:var(--md-sys-color-on-surface-variant);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding-left:4px}.points-history-container.dark .points-history-date-header{color:var(--md-sys-color-on-surface-variant)}.points-history-items{display:flex;flex-direction:column;gap:6px}.points-history-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--md-sys-color-surface-container-high);border-radius:12px;transition:all .2s ease;cursor:default}.points-history-container.dark .points-history-item{background:var(--md-sys-color-surface-container)}.points-history-item:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 12%,transparent);transform:translate(2px)}.points-history-container.dark .points-history-item:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 20%,transparent)}.points-history-item-icon{font-size:24px;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--md-sys-color-surface);border-radius:8px}.points-history-container.dark .points-history-item-icon{background:var(--md-sys-color-surface-container-high)}.points-history-item-content{flex:1;min-width:0}.points-history-item-label{font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface);margin-bottom:2px}.points-history-container.dark .points-history-item-label{color:var(--md-sys-color-on-surface)}.points-history-item-time{font-size:12px;color:var(--md-sys-color-on-surface-variant)}.points-history-container.dark .points-history-item-time{color:var(--md-sys-color-on-surface-variant)}.points-history-item-points{flex-shrink:0}.points-badge{display:inline-block;padding:4px 10px;background:linear-gradient(135deg,var(--md-sys-color-primary) 0%,var(--md-sys-color-secondary) 100%);color:var(--md-sys-color-on-primary);font-size:13px;font-weight:600;border-radius:999px;border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 35%,transparent);box-shadow:0 2px 6px color-mix(in srgb,var(--md-sys-color-primary) 25%,transparent);min-width:44px;text-align:center}.points-badge:hover{filter:brightness(1.05);box-shadow:0 3px 8px color-mix(in srgb,var(--md-sys-color-primary) 35%,transparent)}.points-history-footer{padding:12px 20px;border-top:1px solid var(--md-sys-color-outline-variant);text-align:right;background:var(--md-sys-color-surface-container-low)}.points-history-container.dark .points-history-footer{border-top-color:var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container);border-radius:12px}.points-history-total{font-size:14px;font-weight:600;color:var(--md-sys-color-primary)}.points-history-container.dark .points-history-total{color:var(--md-sys-color-primary)}.loading-shimmer{background:linear-gradient(90deg,var(--md-sys-color-surface-variant) 0%,var(--md-sys-color-surface-container-high) 50%,var(--md-sys-color-surface-variant) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}.points-history-container.dark .loading-shimmer{background:linear-gradient(90deg,color-mix(in srgb,var(--md-sys-color-primary) 20%,transparent),color-mix(in srgb,var(--md-sys-color-primary) 50%,transparent),color-mix(in srgb,var(--md-sys-color-primary) 20%,transparent));background-size:200% 100%}@media(max-width:768px){.points-history-list{max-height:300px}.points-history-item{padding:10px}.points-history-item-icon{font-size:20px;width:28px;height:28px}.points-history-item-label{font-size:13px}.points-badge{font-size:12px;padding:3px 8px}}.reading-streak-card{padding:1.5rem;max-width:400px;margin:1rem auto}.streak-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.streak-header h3{color:rgb(var(--md-sys-color-on-surface));margin:0}.streak-emoji{font-size:2rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.streak-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;text-align:center}.streak-stat{display:flex;flex-direction:column;gap:.25rem;padding:1rem;background:rgb(var(--md-sys-color-surface-variant),.3);border-radius:12px}.streak-number{font-size:2rem;font-weight:600;color:rgb(var(--md-sys-color-primary))}.streak-label{color:rgb(var(--md-sys-color-on-surface-variant))}.weekly-progress{margin-bottom:1.5rem}.weekly-progress>p{color:rgb(var(--md-sys-color-on-surface-variant));margin-bottom:.75rem}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.week-day{display:flex;flex-direction:column;align-items:center;gap:.25rem}.day-indicator{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgb(var(--md-sys-color-surface-variant));color:rgb(var(--md-sys-color-on-surface-variant));font-size:.875rem;font-weight:500;transition:all .3s ease}.day-indicator.active{background:rgb(var(--md-sys-color-tertiary));color:rgb(var(--md-sys-color-on-tertiary))}.day-indicator.today{border:2px solid rgb(var(--md-sys-color-primary))}.day-name{color:rgb(var(--md-sys-color-on-surface-variant))}.streak-actions{margin-bottom:1rem}.streak-message{text-align:center;padding-top:1rem;border-top:1px solid rgb(var(--md-sys-color-outline-variant))}.streak-message p{margin:0;color:rgb(var(--md-sys-color-on-surface-variant))}@media(max-width:480px){.reading-streak-card{padding:1rem}.streak-number{font-size:1.5rem}.day-indicator{width:32px;height:32px;font-size:.75rem}}.challenge-card{position:relative;padding:16px;border-radius:16px;background:var(--md-sys-color-surface-container);border:2px solid var(--md-sys-color-outline-variant);transition:all .3s ease;overflow:hidden}.challenge-card:hover{border-color:var(--md-sys-color-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.challenge-card.completed{border-color:var(--md-sys-color-tertiary);background:color-mix(in srgb,var(--md-sys-color-tertiary-container) 30%,var(--md-sys-color-surface-container))}.challenge-card.claimed{opacity:.7;border-color:var(--md-sys-color-outline)}.challenge-card.compact{padding:12px}.challenge-card.celebrating{animation:celebrate .5s ease}@keyframes celebrate{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.challenge-celebration{position:absolute;inset:0;background:rgba(var(--md-sys-color-primary-rgb, 103, 80, 164),.9);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;animation:fadeInOut 2s ease;border-radius:14px}@keyframes fadeInOut{0%{opacity:0;transform:scale(.9)}20%{opacity:1;transform:scale(1)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.celebration-emoji{font-size:48px;margin-bottom:8px;animation:bounce .5s ease infinite alternate}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.celebration-text{color:#fff;font-size:24px;font-weight:700}.challenge-content{display:flex;flex-direction:column;gap:12px}.challenge-header{display:flex;align-items:center;gap:8px}.challenge-icon-wrapper{width:40px;height:40px;border-radius:12px;background:var(--md-sys-color-primary-container);display:flex;align-items:center;justify-content:center}.challenge-card.daily .challenge-icon-wrapper{background:var(--md-sys-color-secondary-container)}.challenge-card.weekly .challenge-icon-wrapper{background:var(--md-sys-color-tertiary-container)}.challenge-icon{font-size:24px;color:var(--md-sys-color-on-primary-container)}.challenge-card.daily .challenge-icon{color:var(--md-sys-color-on-secondary-container)}.challenge-card.weekly .challenge-icon{color:var(--md-sys-color-on-tertiary-container)}.challenge-type-badge{padding:4px 8px;border-radius:8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.challenge-type-badge.daily{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.challenge-type-badge.weekly{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.challenge-badge{margin-left:auto;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600}.challenge-badge.ready{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);animation:pulse 1.5s ease infinite}.challenge-badge.claimed{background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant)}.challenge-info{display:flex;flex-direction:column;gap:4px}.challenge-title{margin:0;font-size:16px;font-weight:600;color:var(--md-sys-color-on-surface)}.challenge-description{margin:0;font-size:13px;color:var(--md-sys-color-on-surface-variant);line-height:1.4}.challenge-progress-section{display:flex;flex-direction:column;gap:6px}.challenge-progress-header{display:flex;justify-content:space-between;align-items:center}.challenge-progress-text{font-size:13px;font-weight:500;color:var(--md-sys-color-on-surface)}.challenge-reward{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:var(--md-sys-color-primary)}.reward-icon{font-size:16px}.challenge-progress-bar{height:8px;background:var(--md-sys-color-surface-container-highest);border-radius:4px;overflow:hidden}.challenge-progress-fill{height:100%;border-radius:4px;transition:width .5s ease;background:linear-gradient(90deg,var(--md-sys-color-secondary) 0%,var(--md-sys-color-primary) 100%)}.challenge-card.completed .challenge-progress-fill{background:linear-gradient(90deg,var(--md-sys-color-tertiary) 0%,#22c55e 100%)}.challenge-claim-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;border:none;border-radius:12px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.challenge-claim-btn:hover:not(:disabled){background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);transform:translateY(-1px)}.challenge-claim-btn:disabled{opacity:.7;cursor:not-allowed}.challenge-claim-btn .material-symbols-outlined{font-size:18px}.challenge-claim-btn .spinning{animation:spin 1s linear infinite}.challenge-card.compact .challenge-header{gap:6px}.challenge-card.compact .challenge-icon-wrapper{width:32px;height:32px}.challenge-card.compact .challenge-icon{font-size:18px}.challenge-card.compact .challenge-title{font-size:14px}.challenge-card.compact .challenge-claim-btn{padding:8px 12px;font-size:13px}@media(max-width:480px){.challenge-card{padding:12px}.challenge-icon-wrapper{width:36px;height:36px}.challenge-icon{font-size:20px}.challenge-title{font-size:15px}.challenge-description{font-size:12px}}.challenges-container{display:flex;flex-direction:column;gap:16px;padding:16px;background:var(--md-sys-color-surface);border-radius:20px}.challenges-container.loading{min-height:300px}.challenges-skeleton{display:flex;flex-direction:column;gap:12px}.skeleton-card{height:120px;background:linear-gradient(90deg,var(--md-sys-color-surface-container) 25%,var(--md-sys-color-surface-container-high) 50%,var(--md-sys-color-surface-container) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:16px}.challenges-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;gap:12px}.challenges-error .material-symbols-outlined{font-size:48px;color:var(--md-sys-color-error)}.challenges-error p{margin:0;color:var(--md-sys-color-on-surface-variant)}.retry-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:20px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.retry-btn:hover{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.retry-btn .material-symbols-outlined{font-size:18px}.challenges-tabs{display:flex;gap:8px;padding:4px;background:var(--md-sys-color-surface-container);border-radius:16px}.challenges-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:none;border-radius:12px;background:transparent;color:var(--md-sys-color-on-surface-variant);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.challenges-tab:hover{background:var(--md-sys-color-surface-container-high)}.challenges-tab.active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.challenges-tab .material-symbols-outlined{font-size:20px}.tab-label{font-weight:600}.tab-badge{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant)}.challenges-tab.active .tab-badge{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.challenges-reset-timer{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;background:var(--md-sys-color-surface-container);border-radius:12px;font-size:13px;color:var(--md-sys-color-on-surface-variant)}.challenges-reset-timer .material-symbols-outlined{font-size:16px}.challenges-reset-timer strong{color:var(--md-sys-color-primary)}.challenges-grid{display:flex;flex-direction:column;gap:12px}.challenges-summary{display:flex;justify-content:center;gap:24px;padding-top:8px;border-top:1px solid var(--md-sys-color-outline-variant)}.summary-stat{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--md-sys-color-on-surface-variant)}.summary-stat .material-symbols-outlined{font-size:16px;color:var(--md-sys-color-tertiary)}.challenges-container.compact{padding:12px;gap:12px}.challenges-container.compact .challenges-tabs{padding:2px}.challenges-container.compact .challenges-tab{padding:8px 12px;font-size:13px}.challenges-container.compact .challenges-tab .material-symbols-outlined{font-size:18px}.challenges-container.compact .tab-label{display:none}.challenges-container.compact .challenges-reset-timer{font-size:12px;padding:6px 12px}@media(max-width:480px){.challenges-container{padding:12px;border-radius:16px}.challenges-tab{padding:10px 12px;font-size:13px}.tab-label{display:none}.challenges-summary{gap:16px}.summary-stat{font-size:12px}}.challenges-grid>*{animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.challenges-grid>*:nth-child(1){animation-delay:0ms}.challenges-grid>*:nth-child(2){animation-delay:.1s}.challenges-grid>*:nth-child(3){animation-delay:.2s}.streak-shields{position:relative}.streak-shields.loading{min-height:120px}.shield-skeleton{height:100px;background:linear-gradient(90deg,var(--md-sys-color-surface-container) 25%,var(--md-sys-color-surface-container-high) 50%,var(--md-sys-color-surface-container) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:16px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.shield-notification{position:absolute;top:-60px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-radius:12px;box-shadow:0 4px 12px #00000026;animation:slideDown .3s ease;z-index:100}.shield-notification.earned{background:linear-gradient(135deg,gold,orange);color:#1a1a1a}.shield-notification.used{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.shield-notification.error{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.notification-icon{font-size:20px}.notification-message{font-size:14px;font-weight:500}.shield-display{background:var(--md-sys-color-surface-container);border-radius:20px;padding:20px}.shield-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.shield-title{display:flex;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;color:var(--md-sys-color-on-surface)}.shield-title .material-symbols-outlined{font-size:22px;color:var(--md-sys-color-primary)}.shield-info-btn{width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--md-sys-color-on-surface-variant);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.shield-info-btn:hover{background:var(--md-sys-color-surface-container-high)}.shield-tooltip{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;padding:16px;margin-bottom:16px;animation:fadeIn .2s ease}.shield-tooltip p{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--md-sys-color-on-surface)}.shield-tooltip ul{margin:0 0 12px;padding-left:20px}.shield-tooltip li{font-size:13px;color:var(--md-sys-color-on-surface-variant);margin-bottom:4px}.shield-tooltip button{padding:8px 16px;border:none;border-radius:8px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:13px;font-weight:500;cursor:pointer}.shield-visual{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 0}.shield-icons-large{display:flex;gap:16px}.shield-icon-container{position:relative;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:var(--md-sys-color-surface-container-highest);transition:all .3s ease}.shield-icon-container.active{background:linear-gradient(135deg,var(--md-sys-color-primary-container) 0%,var(--md-sys-color-tertiary-container) 100%);transform:scale(1.05)}.shield-icon-container.empty{opacity:.4}.shield-emoji{font-size:32px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.shield-icon-container.empty .shield-emoji{filter:grayscale(1) drop-shadow(0 2px 4px rgba(0,0,0,.1))}.shield-glow{position:absolute;inset:-4px;border-radius:20px;background:radial-gradient(circle,rgba(255,215,0,.3) 0%,transparent 70%);animation:pulse 2s ease infinite}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.shield-count-text{display:flex;align-items:baseline;gap:2px;font-family:Roboto Mono,monospace}.count-current{font-size:32px;font-weight:700;color:var(--md-sys-color-primary)}.count-separator{font-size:24px;color:var(--md-sys-color-on-surface-variant)}.count-max{font-size:20px;color:var(--md-sys-color-on-surface-variant)}.next-shield-progress{display:flex;justify-content:center;gap:8px;padding:8px 16px;background:var(--md-sys-color-surface);border-radius:8px;margin-bottom:16px}.progress-label{font-size:13px;color:var(--md-sys-color-on-surface-variant)}.progress-value{font-size:13px;font-weight:600;color:var(--md-sys-color-primary)}.use-shield-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;border:none;border-radius:12px;background:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.use-shield-btn:hover:not(:disabled){background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);transform:translateY(-1px)}.use-shield-btn:disabled{opacity:.7;cursor:not-allowed}.use-shield-btn.recommended{background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;animation:attention 1.5s ease infinite}@keyframes attention{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.use-shield-btn .spinning{animation:spin 1s linear infinite}.no-shields-message{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:var(--md-sys-color-surface);border-radius:8px;color:var(--md-sys-color-on-surface-variant);font-size:13px}.no-shields-message .material-symbols-outlined{font-size:18px;color:var(--md-sys-color-primary)}.no-shields-message p{margin:0}.streak-shields.compact{padding:0}.shield-compact-display{display:flex;align-items:center;gap:8px}.shield-icons{display:flex;gap:2px}.shield-icon{font-size:18px;transition:all .2s ease}.shield-icon.active{filter:drop-shadow(0 0 4px rgba(255,215,0,.5))}.shield-icon.empty{opacity:.3;filter:grayscale(1)}.shield-count{font-size:12px;font-weight:600;color:var(--md-sys-color-on-surface-variant)}.shield-history{margin-top:20px;padding-top:20px;border-top:1px solid var(--md-sys-color-outline-variant)}.history-title{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--md-sys-color-on-surface)}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--md-sys-color-surface);border-radius:10px}.history-item.earned{background:color-mix(in srgb,gold 10%,var(--md-sys-color-surface))}.history-icon{font-size:20px}.history-details{flex:1;display:flex;flex-direction:column;gap:2px}.history-action{font-size:13px;font-weight:500;color:var(--md-sys-color-on-surface)}.history-info,.history-date{font-size:11px;color:var(--md-sys-color-on-surface-variant)}@media(max-width:480px){.shield-display{padding:16px}.shield-icons-large{gap:12px}.shield-icon-container{width:48px;height:48px}.shield-emoji,.count-current{font-size:28px}}.goal-templates{display:flex;flex-direction:column;gap:16px;max-height:80vh;overflow-y:auto}.templates-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.header-title{display:flex;align-items:center;gap:10px}.header-title .material-symbols-outlined{font-size:28px;color:var(--md-sys-color-primary)}.header-title h2{margin:0;font-size:22px;font-weight:600;color:var(--md-sys-color-on-surface)}.close-btn{width:40px;height:40px;border:none;border-radius:20px;background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background:var(--md-sys-color-surface-container-high)}.templates-search{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--md-sys-color-surface-container);border-radius:12px;border:2px solid transparent;transition:all .2s ease}.templates-search:focus-within{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-surface)}.templates-search .material-symbols-outlined{color:var(--md-sys-color-on-surface-variant)}.templates-search input{flex:1;border:none;background:transparent;font-size:16px;color:var(--md-sys-color-on-surface);outline:none}.templates-search input::placeholder{color:var(--md-sys-color-on-surface-variant)}.popular-toggle{display:flex;gap:8px;padding:4px;background:var(--md-sys-color-surface-container);border-radius:12px}.toggle-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border:none;border-radius:8px;background:transparent;color:var(--md-sys-color-on-surface-variant);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.toggle-btn:hover{background:var(--md-sys-color-surface-container-high)}.toggle-btn.active{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.toggle-btn .material-symbols-outlined{font-size:18px}.category-filter{display:flex;gap:8px;overflow-x:auto;padding:4px 0;scrollbar-width:none}.category-filter::-webkit-scrollbar{display:none}.category-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:2px solid var(--md-sys-color-outline-variant);border-radius:20px;background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface-variant);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s ease}.category-btn:hover{border-color:var(--md-sys-color-primary);color:var(--md-sys-color-primary)}.category-btn.active{background:var(--md-sys-color-primary-container);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary-container)}.category-btn .material-symbols-outlined{font-size:16px}.category-label{display:none}@media(min-width:600px){.category-label{display:inline}}.difficulty-filter{display:flex;align-items:center;gap:8px}.filter-label{font-size:14px;color:var(--md-sys-color-on-surface-variant)}.difficulty-filter select{padding:8px 12px;border:2px solid var(--md-sys-color-outline-variant);border-radius:8px;background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);font-size:14px;cursor:pointer}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.no-templates{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;padding:40px 20px;text-align:center}.no-templates .material-symbols-outlined{font-size:48px;color:var(--md-sys-color-on-surface-variant);opacity:.5;margin-bottom:12px}.no-templates p{margin:0 0 16px;color:var(--md-sys-color-on-surface-variant)}.no-templates button{padding:10px 20px;border:none;border-radius:20px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:14px;font-weight:500;cursor:pointer}.template-card{display:flex;flex-direction:column;padding:16px;border-radius:16px;background:var(--md-sys-color-surface-container);border:2px solid var(--md-sys-color-outline-variant);cursor:pointer;transition:all .2s ease}.template-card:hover{border-color:var(--md-sys-color-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.template-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.template-icon-wrapper{width:44px;height:44px;border-radius:12px;background:var(--md-sys-color-primary-container);display:flex;align-items:center;justify-content:center}.template-icon-wrapper .material-symbols-outlined{font-size:24px;color:var(--md-sys-color-on-primary-container)}.template-badges{display:flex;gap:6px}.popular-badge{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:8px;background:linear-gradient(135deg,gold,orange);color:#1a1a1a;font-size:11px;font-weight:600}.popular-badge .material-symbols-outlined{font-size:12px}.difficulty-badge{padding:4px 8px;border-radius:8px;color:#fff;font-size:11px;font-weight:600;text-transform:capitalize}.template-content{margin-bottom:12px}.template-name{margin:0 0 6px;font-size:16px;font-weight:600;color:var(--md-sys-color-on-surface)}.template-description{margin:0;font-size:13px;color:var(--md-sys-color-on-surface-variant);line-height:1.4}.template-footer{display:flex;gap:16px;margin-bottom:12px}.template-reward,.template-period{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--md-sys-color-on-surface-variant)}.template-reward .material-symbols-outlined,.template-period .material-symbols-outlined{font-size:16px}.template-reward{color:var(--md-sys-color-primary);font-weight:500}.template-tips{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--md-sys-color-surface);border-radius:8px;margin-bottom:12px;font-size:12px;color:var(--md-sys-color-on-surface-variant);line-height:1.4}.template-tips .material-symbols-outlined{font-size:16px;color:var(--md-sys-color-tertiary);flex-shrink:0}.add-template-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:12px 16px;border:none;border-radius:12px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.add-template-btn:hover{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.add-template-btn .material-symbols-outlined{font-size:18px}.templates-stats{padding-top:12px;border-top:1px solid var(--md-sys-color-outline-variant);font-size:12px;color:var(--md-sys-color-on-surface-variant);text-align:center}@media(max-width:480px){.templates-grid{grid-template-columns:1fr}.header-title h2{font-size:18px}.category-btn{padding:6px 12px}}.template-card{animation:fadeIn .3s ease}.mentor-preview-card{position:relative;background:linear-gradient(135deg,var(--md-sys-color-primary-container) 0%,var(--md-sys-color-secondary-container) 100%);border-radius:24px;padding:24px;margin-top:20px;box-shadow:0 4px 16px #0b539480,0 2px 4px #0000000a;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid var(--md-sys-color-outline-variant);overflow:hidden}.mentor-preview-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);transition:left .6s ease;pointer-events:none}.mentor-preview-card:hover:before{left:100%}.mentor-preview-card:hover{box-shadow:0 8px 24px #0000001f,0 4px 8px #0000000f;transform:translateY(-4px);border-color:var(--md-sys-color-primary)}.mentor-preview-card.dark{background:linear-gradient(135deg,#24a8e033,#8b5cf626);border:1px solid rgba(187,134,252,.3);box-shadow:0 4px 16px #0006,0 2px 4px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mentor-preview-card.dark:before{background:linear-gradient(90deg,transparent 0%,rgba(187,134,252,.15) 50%,transparent 100%)}.mentor-preview-card.dark:hover{box-shadow:0 8px 24px #bb86fc4d,0 4px 8px #0000004d;border-color:#bb86fc80}.mentor-preview-header{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;z-index:1}.mentor-preview-title{display:flex;align-items:center;gap:10px;font-size:1.1rem;font-weight:700;color:var(--md-sys-color-on-primary-container);letter-spacing:-.02em}.mentor-icon{color:var(--md-sys-color-primary);filter:drop-shadow(0 2px 4px rgba(99,102,241,.9));animation:pulse 2.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.sparkle-icon{color:var(--md-sys-color-tertiary);filter:drop-shadow(0 2px 4px rgba(168,85,247,.4));animation:sparkle 4s ease-in-out infinite}@keyframes sparkle{0%,to{transform:rotate(0) scale(1);opacity:.7}25%{transform:rotate(90deg) scale(1.15);opacity:1}50%{transform:rotate(180deg) scale(1.2);opacity:.9}75%{transform:rotate(270deg) scale(1.15);opacity:1}}.mentor-preview-content{position:relative;display:flex;flex-direction:column;gap:16px;z-index:1}.insight-badge{display:inline-flex;align-items:center;gap:8px;background:var(--md-sys-color-surface-container-high);padding:8px 16px;border-radius:24px;width:-webkit-fit-content;width:fit-content;box-shadow:0 2px 8px #00000014,0 1px 2px #0000000d;transition:all .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.insight-badge:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001f,0 2px 4px #00000014}.mentor-preview-card.dark .insight-badge{background:#ffffff1f;box-shadow:0 2px 8px #0000004d,0 1px 2px #0003}.mentor-preview-card.dark .insight-badge:hover{background:#ffffff29;box-shadow:0 4px 12px #bb86fc33,0 2px 4px #0000004d}.insight-icon{font-size:1.3rem;line-height:1;animation:iconPulse 3s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.insight-label{font-size:.875rem;font-weight:600;color:var(--md-sys-color-on-surface);text-transform:uppercase;letter-spacing:.05em}.insight-message{font-size:1rem;line-height:1.6;color:var(--md-sys-color-on-primary-container);margin:0;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.05)}.mentor-preview-card.dark .insight-message{color:var(--md-sys-color-on-surface);text-shadow:0 1px 3px rgba(0,0,0,.3)}.current-book-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary-container) 24%,var(--md-sys-color-surface-container-high)),color-mix(in srgb,var(--md-sys-color-secondary-container, var(--md-sys-color-primary-container)) 18%,var(--md-sys-color-surface-container)));border-radius:16px;font-size:.925rem;color:#000;box-shadow:var(--md-sys-elevation-level4);transition:box-shadow .25s var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1)),background .25s var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1));border:1px solid rgba(99,102,241,.3)}.current-book-info:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary-container) 30%,var(--md-sys-color-surface-container-high)),color-mix(in srgb,var(--md-sys-color-secondary-container, var(--md-sys-color-primary-container)) 24%,var(--md-sys-color-surface-container)));box-shadow:var(--md-sys-elevation-level6);border-color:var(--md-sys-color-outline)}.mentor-preview-card.dark .current-book-info{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 8%,var(--md-sys-color-surface-container)),color-mix(in srgb,var(--md-sys-color-secondary) 10%,var(--md-sys-color-surface-container-high)));box-shadow:var(--md-sys-elevation-level1);border:1px solid var(--md-sys-color-outline-variant)}.mentor-preview-card.dark .current-book-info:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 14%,var(--md-sys-color-surface-container)),color-mix(in srgb,var(--md-sys-color-secondary) 16%,var(--md-sys-color-surface-container-high)));border-color:var(--md-sys-color-outline);box-shadow:var(--md-sys-elevation-level2)}.book-icon{font-size:1.2rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.book-title{flex:1;min-width:200px;font-weight:500;color:#000}.book-title strong{color:var(--md-sys-color-primary);font-weight:700;background:linear-gradient(135deg,var(--md-sys-color-primary),var(--md-sys-color-tertiary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.book-progress{padding:4px 12px;background:linear-gradient(135deg,var(--md-sys-color-tertiary-container),var(--md-sys-color-primary-container));color:var(--md-sys-color-on-tertiary-container);border-radius:16px;font-size:.8rem;font-weight:600;box-shadow:0 2px 4px #00000014;white-space:nowrap}.mentor-preview-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.action-button{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:24px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}.action-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.action-button:hover:before{width:300px;height:300px}.action-button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 4px 16px #0003}.action-button:active{transform:translateY(0) scale(.98)}.action-button>*{position:relative;z-index:1}.action-button.primary{background:linear-gradient(135deg,var(--md-sys-color-primary),var(--md-sys-color-tertiary));color:var(--md-sys-color-on-primary)}.action-button.primary:hover{filter:brightness(1.15) saturate(1.1)}.action-button.secondary{background:linear-gradient(135deg,var(--md-sys-color-secondary-container),var(--md-sys-color-tertiary-container));color:var(--md-sys-color-on-secondary-container);border:1px solid var(--md-sys-color-outline-variant)}.action-button.secondary:hover{background:linear-gradient(135deg,var(--md-sys-color-secondary),var(--md-sys-color-tertiary));color:var(--md-sys-color-on-secondary);border-color:transparent}.quick-access-row{display:flex;gap:10px;width:100%;margin-top:6px}.action-button.quick-access{flex:1;background:linear-gradient(135deg,var(--md-sys-color-surface-container-high) 0%,var(--md-sys-color-surface-container) 100%);color:var(--md-sys-color-on-surface);border:1.5px solid var(--md-sys-color-outline-variant);font-size:.85rem;padding:10px 14px;font-weight:600;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mentor-preview-card.dark .action-button.quick-access{background:linear-gradient(135deg,#6366f12e,#8b5cf61f);border-color:#6366f159;box-shadow:0 2px 8px #0000004d}.action-button.quick-access:hover{background:linear-gradient(135deg,var(--md-sys-color-primary-container) 0%,var(--md-sys-color-tertiary-container) 100%);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary-container);transform:translateY(-2px) scale(1.03)}.mentor-preview-card.dark .action-button.quick-access:hover{background:linear-gradient(135deg,#6366f14d,#8b5cf640);border-color:#bb86fc99;box-shadow:0 4px 16px #bb86fc40}.action-button.view-full{background:linear-gradient(135deg,var(--md-sys-color-primary),var(--md-sys-color-secondary));color:var(--md-sys-color-on-primary);margin-left:auto;font-weight:700;box-shadow:0 4px 12px #a855f74d;position:relative;overflow:hidden}.action-button.view-full:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.action-button.view-full:hover:after{left:100%}.action-button.view-full:hover{filter:brightness(1.2) saturate(1.15);gap:10px;box-shadow:0 6px 20px #a855f766}.mentor-preview-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:32px 20px;color:var(--md-sys-color-on-primary-container);font-weight:600;font-size:.95rem}.loading-icon{animation:spin 1.5s cubic-bezier(.68,-.55,.265,1.55) infinite;filter:drop-shadow(0 2px 4px rgba(99,102,241,.4))}@keyframes spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}@media(max-width:768px){.mentor-preview-card{padding:20px;border-radius:20px}.mentor-preview-title{font-size:1rem}.insight-message{font-size:.95rem}.current-book-info{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 14px}.book-title{min-width:auto}.mentor-preview-actions{flex-direction:column}.quick-access-row{flex-direction:row;gap:8px}.action-button{width:100%;justify-content:center;padding:11px 18px}.action-button.quick-access{flex:1;min-width:0}.action-button.view-full{margin-left:0;width:100%}}@media(max-width:480px){.mentor-preview-card{padding:16px;margin-top:16px;border-radius:18px}.mentor-preview-header{margin-bottom:16px}.mentor-preview-title{font-size:.95rem}.insight-badge{padding:6px 12px}.insight-label{font-size:.8rem}.insight-message{font-size:.9rem}.action-button{padding:10px 16px;font-size:.85rem}.quick-access-row{flex-direction:column}.action-button.quick-access{width:100%}}.dashboard-container{background:linear-gradient(180deg,color-mix(in srgb,var(--md-sys-color-primary) 6%,var(--md-sys-color-surface)) 0%,var(--md-sys-color-surface-container-low) 32%,color-mix(in srgb,var(--md-sys-color-secondary) 6%,var(--md-sys-color-surface-container)) 100%);min-height:calc(100vh - 80px);transition:background .3s ease;position:relative;z-index:1}.dashboard-content{max-width:1200px;margin:0 auto;padding:24px;border:2px solid var(--md-sys-color-outline-variant);box-shadow:var(--md-sys-elevation-level5)}@media(max-width:767px){.dashboard-container{padding-left:0!important;padding-right:0!important}}.welcome-section{margin-bottom:32px;position:relative;padding:32px;border-radius:16px}:root:not([data-theme=dark]) .welcome-section{background:linear-gradient(135deg,var(--md-sys-color-surface-variant) 0%,var(--md-sys-color-surface-container-high) 50%,var(--md-sys-color-surface-variant) 100%);border:1px solid var(--md-sys-color-outline-variant);box-shadow:0 4px 12px #00000014}[data-theme=dark] .welcome-section{background:linear-gradient(135deg,var(--md-sys-color-surface-container) 0%,var(--md-sys-color-surface-container-high) 50%,var(--md-sys-color-surface-container) 100%);border:1px solid var(--md-sys-color-outline-variant);box-shadow:var(--md-sys-elevation-level2)}:root:not([data-theme=dark]) .welcome-header{background:linear-gradient(135deg,var(--md-sys-color-primary-container),var(--md-sys-color-secondary-container));color:var(--md-sys-color-on-primary-container)}:root:not([data-theme=dark]) .welcome-title,:root:not([data-theme=dark]) .welcome-subtitle{color:var(--md-sys-color-on-primary-container)}:root:not([data-theme=dark]) .progress-section{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 8%,var(--md-sys-color-surface-variant)),color-mix(in srgb,var(--md-sys-color-secondary) 12%,var(--md-sys-color-surface-container)),color-mix(in srgb,var(--md-sys-color-primary) 8%,var(--md-sys-color-surface-variant)));border:1px solid var(--md-sys-color-outline-variant);box-shadow:var(--md-sys-elevation-level2)}[data-theme=dark] .progress-section{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 6%,var(--md-sys-color-surface-container-low)),color-mix(in srgb,var(--md-sys-color-secondary) 10%,var(--md-sys-color-surface-container)),color-mix(in srgb,var(--md-sys-color-primary) 6%,var(--md-sys-color-surface-container-low)));border:1px solid var(--md-sys-color-outline-variant);box-shadow:var(--md-sys-elevation-level2)}:root:not([data-theme=dark]) .stat-card,:root:not([data-theme=dark]) .progress-section .stats-grid .stat-card{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary-container) 90%,var(--md-sys-color-surface-container)),color-mix(in srgb,var(--md-sys-color-secondary-container, var(--md-sys-color-primary-container)) 90%,var(--md-sys-color-surface-container-high)));border:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-primary-container)}:root:not([data-theme=dark]) .stat-card .stat-value,:root:not([data-theme=dark]) .stat-card .stat-label,:root:not([data-theme=dark]) .stat-card .stat-icon{color:var(--md-sys-color-on-primary-container)}[data-theme=dark] .stat-card .stat-value,[data-theme=dark] .stat-card .stat-label,[data-theme=dark] .stat-card .stat-icon{color:var(--md-sys-color-on-surface)!important}[data-theme=dark] .section-card,[data-theme=dark] .section-card-compact{background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);box-shadow:var(--md-sys-elevation-level1)}#dashboard-currently-reading .books-grid{gap:10px 12px}#dashboard-currently-reading .book-card{border-radius:12px;overflow:hidden;position:relative}#dashboard-currently-reading .book-title,#dashboard-currently-reading .book-author{position:absolute;left:0;right:0;color:var(--md-sys-color-on-surface);padding:0 12px;text-shadow:0 2px 8px rgba(0,0,0,.35)}#dashboard-currently-reading .book-title{bottom:28px;font-size:.95rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#dashboard-currently-reading .book-author{bottom:8px;font-size:.8rem;opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#dashboard-currently-reading .book-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;background:linear-gradient(180deg,#0000,color-mix(in srgb,var(--md-sys-color-primary) 10%,transparent) 95%);pointer-events:none}#dashboard-currently-reading .progress-bar-container,#dashboard-currently-reading .progress-text{display:none}.welcome-header{padding:40px;border-radius:24px;background:linear-gradient(135deg,var(--md-sys-color-primary-container),var(--md-sys-color-secondary-container));color:var(--md-sys-color-on-primary-container);position:relative;overflow:hidden;box-shadow:0 8px 32px #0000001a}.welcome-title{font-size:28px;font-weight:700;margin-bottom:12px;color:var(--md-sys-color-on-primary-container)}.welcome-subtitle{font-size:16px;margin-bottom:24px;color:var(--md-sys-color-on-primary-container);opacity:.9}.level-progress-container{margin-bottom:20px}.level-progress-text{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px;color:var(--md-sys-color-on-primary-container);opacity:.9}.level-progress-bar{height:8px;background:var(--md-sys-color-surface-variant);border-radius:4px;overflow:hidden}.level-progress-fill{height:100%;background:var(--md-sys-color-secondary);border-radius:4px;transition:width .8s ease}.stat-grid{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:12px;margin:12px 0;padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.stat-grid::-webkit-scrollbar{height:4px}.stat-grid::-webkit-scrollbar-track{background:transparent}.stat-grid::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline-variant);border-radius:4px}.stat-grid::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-outline)}.stat-metric-card{background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);box-shadow:var(--md-sys-elevation-level1);min-width:160px;max-width:200px;flex:0 0 auto;padding:12px 16px;border-radius:12px}.continue-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;margin:12px 0;border-radius:16px;border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-highest);box-shadow:var(--md-sys-elevation-level2)}.continue-card-label{margin:0;color:var(--md-sys-color-on-surface-variant);font-weight:600}.continue-card-title{margin:4px 0;color:var(--md-sys-color-on-surface)}.continue-card-meta{margin:0;color:var(--md-sys-color-on-surface-variant)}.reward-confetti{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--md-sys-color-primary) 40%,transparent) 0,transparent 35%),radial-gradient(circle at 80% 30%,color-mix(in srgb,var(--md-sys-color-secondary) 50%,transparent) 0,transparent 32%),radial-gradient(circle at 40% 70%,color-mix(in srgb,var(--md-sys-color-tertiary) 50%,transparent) 0,transparent 34%);animation:confetti-pop 1s ease;opacity:.8;z-index:3}@keyframes confetti-pop{0%{opacity:0;transform:scale(.95)}to{opacity:.8;transform:scale(1)}}.quick-actions{display:flex;gap:12px;flex-wrap:wrap}.action-button-primary{padding:12px 24px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border:1px solid var(--md-sys-color-primary);border-radius:12px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.action-button-primary:hover{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.action-button-secondary{padding:12px 24px;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border:1px solid var(--md-sys-color-secondary);border-radius:12px;font-weight:600;font-size:14px;cursor:pointer;transition:all var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1))}.action-button-secondary:hover{background:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary);transform:translateY(-2px)}.md3-button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;border:none;cursor:pointer;font-weight:700;transition:all .25s ease}.md3-button--filled{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);box-shadow:var(--md-sys-elevation-level2)}.md3-button--filled:hover{box-shadow:var(--md-sys-elevation-level3);transform:translateY(-1px)}.md3-button--tonal{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);box-shadow:var(--md-sys-elevation-level1)}.md3-chip{padding:8px 12px;border-radius:14px;border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface);cursor:pointer;transition:all .2s ease}.md3-chip:hover:not(.selected){background:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-outline)}.md3-chip.selected{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-color:var(--md-sys-color-primary)}.welcome-purpose{margin:4px 0 12px;color:var(--md-sys-color-on-surface-variant);font-weight:600}.welcome-cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.level-progress-container.elevated{background:var(--md-sys-color-surface-container-high);padding:12px;border-radius:16px;box-shadow:var(--md-sys-elevation-level2)}.level-inline-meta{display:flex;gap:12px;margin-top:10px;color:var(--md-sys-color-on-surface-variant);flex-wrap:wrap}.inline-meta-item{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--md-sys-color-surface-container-lowest);border-radius:10px;border:1px solid var(--md-sys-color-outline-variant)}.badge-carousel{display:grid;grid-auto-flow:column;gap:8px;margin-top:12px;overflow-x:auto;padding-bottom:4px}.badge-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:14px;background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);box-shadow:var(--md-sys-elevation-level1)}.badge-empty{color:var(--md-sys-color-on-surface-variant)}.checkin-button{padding:10px 20px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border:1px solid var(--md-sys-color-primary);border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;position:relative}.checkin-button:hover:not(:disabled){background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.checkin-button:disabled{background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant);cursor:not-allowed;text-decoration:line-through}.checkin-streak-badge{position:absolute;top:-8px;right:-8px;background:var(--md-sys-color-error);color:var(--md-sys-color-on-error);border-radius:12px;padding:2px 8px;font-size:11px;font-weight:700;box-shadow:var(--md-sys-elevation-level1)}.section-header{font-size:24px;font-weight:700;margin-bottom:16px;color:var(--md-sys-color-on-surface)}.progress-section{margin-bottom:32px;background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 14%,transparent),color-mix(in srgb,var(--md-sys-color-tertiary) 14%,transparent));border-radius:16px;border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 30%,transparent);padding:24px;box-shadow:0 4px 12px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:32px}.stats-arc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px;margin-bottom:32px;padding:16px 0}.stat-arc-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 10%,var(--md-sys-color-surface)),color-mix(in srgb,var(--md-sys-color-secondary) 14%,var(--md-sys-color-surface)));border:2px solid color-mix(in srgb,var(--md-sys-color-primary) 35%,transparent);border-radius:20px;transition:all .3s cubic-bezier(.4,0,.2,1);min-height:280px;box-shadow:var(--md-sys-elevation-level2)}.stat-arc-card:hover{transform:translateY(-4px) scale(1.02);background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 22%,var(--md-sys-color-surface)),color-mix(in srgb,var(--md-sys-color-secondary) 28%,var(--md-sys-color-surface)));border-color:color-mix(in srgb,var(--md-sys-color-primary) 45%,transparent);box-shadow:var(--md-sys-elevation-level3)}[data-theme=dark] .stat-arc-card{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 8%,var(--md-sys-color-surface-container)),color-mix(in srgb,var(--md-sys-color-secondary) 12%,var(--md-sys-color-surface-container)));border:2px solid color-mix(in srgb,var(--md-sys-color-primary) 30%,transparent);box-shadow:var(--md-sys-elevation-level2)}[data-theme=dark] .stat-arc-card:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 16%,var(--md-sys-color-surface-container)),color-mix(in srgb,var(--md-sys-color-secondary) 20%,var(--md-sys-color-surface-container)));border-color:color-mix(in srgb,var(--md-sys-color-primary) 45%,transparent);box-shadow:var(--md-sys-elevation-level3)}.section-compact-secondary,.progress-section.secondary-compact,.stat-card--secondary,.stat-arc-card--secondary{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-surface-container) 96%,transparent),color-mix(in srgb,var(--md-sys-color-surface-variant) 100%,transparent));border:1px solid var(--md-sys-color-outline-variant);box-shadow:var(--md-sys-elevation-level1)}.stat-card--secondary:before{background:linear-gradient(90deg,color-mix(in srgb,var(--md-sys-color-primary) 20%,transparent),color-mix(in srgb,var(--md-sys-color-secondary) 20%,transparent))}.stat-card--secondary .stat-value,.stat-card--secondary .stat-label,.stat-arc-card--secondary .stat-arc-value,.stat-arc-card--secondary .stat-arc-label{color:var(--md-sys-color-on-surface)}.stat-arc-info{display:flex;flex-direction:column;align-items:center;margin-top:16px;text-align:center;gap:4px}.stat-arc-icon{font-size:2rem;margin-bottom:8px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.stat-arc-value{font-size:1.5rem;font-weight:700;color:var(--md-sys-color-primary);text-shadow:0 2px 8px color-mix(in srgb,var(--md-sys-color-tertiary) 30%,transparent)}.stat-arc-label{font-size:.875rem;font-weight:500;color:var(--md-sys-color-on-surface-variant);text-transform:uppercase;letter-spacing:.5px}[data-theme=dark] .stat-arc-value{color:var(--md-sys-color-primary);text-shadow:0 2px 8px color-mix(in srgb,var(--md-sys-color-tertiary) 50%,transparent)}[data-theme=dark] .stat-arc-label{color:var(--md-sys-color-on-surface-variant)}.progress-section .stats-grid .stat-card{background:var(--md-sys-color-primary-container)!important;border:1px solid var(--md-sys-color-primary)!important;color:var(--md-sys-color-on-primary-container)!important}.progress-section .stats-grid .stat-card:hover{background:var(--md-sys-color-primary)!important;color:var(--md-sys-color-on-primary)!important}.stat-card{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 10%,var(--md-sys-color-primary-container)),color-mix(in srgb,var(--md-sys-color-tertiary) 14%,var(--md-sys-color-primary-container)));border-radius:16px;padding:24px;text-align:center;transition:all .3s ease;border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 35%,transparent);position:relative;overflow:hidden;box-shadow:var(--md-sys-elevation-level2)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--md-sys-color-primary),var(--md-sys-color-tertiary))}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--md-sys-elevation-level3);background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 40%,var(--md-sys-color-primary)),color-mix(in srgb,var(--md-sys-color-secondary) 40%,var(--md-sys-color-primary)));color:var(--md-sys-color-on-primary)}.stat-icon{font-size:24px;margin-bottom:8px;display:block}.stat-value{font-size:24px;font-weight:700;color:var(--md-sys-color-on-primary-container);margin-bottom:4px}.stat-label{font-size:14px;color:var(--md-sys-color-on-primary-container);font-weight:500}.stat-icon{color:var(--md-sys-color-on-primary-container)}.loading-shimmer{background:linear-gradient(90deg,var(--md-sys-color-surface-variant) 25%,var(--md-sys-color-surface-container-high) 50%,var(--md-sys-color-surface-variant) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.section-card{background:var(--md-sys-color-surface-container);border-radius:12px;padding:24px;border:1px solid var(--md-sys-color-outline-variant);margin-bottom:32px}.section-card-compact{background:var(--md-sys-color-surface-container);border-radius:12px;padding:20px;border:1px solid var(--md-sys-color-outline-variant);margin-bottom:32px}.section-title{font-size:20px;font-weight:700;margin-bottom:16px;color:var(--md-sys-color-on-surface)}.section-title-compact{font-size:18px;font-weight:700;margin-bottom:16px;color:var(--md-sys-color-on-surface)}.achievements-grid{display:flex;gap:12px;flex-wrap:wrap}.achievement-tag{padding:8px 16px;background:var(--md-sys-color-tertiary-container);border:1px solid var(--md-sys-color-tertiary);color:var(--md-sys-color-on-tertiary-container);border-radius:20px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.books-grid-compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.book-card{padding:12px;background:var(--md-sys-color-surface-container-low);border-radius:8px;cursor:pointer;transition:all .3s ease;border:1px solid var(--md-sys-color-outline-variant)}.book-card:hover{transform:translateY(-2px);box-shadow:var(--md-sys-elevation-level2);background:var(--md-sys-color-surface-container)}.book-card-compact{padding:10px;background:var(--md-sys-color-surface-container-low);border-radius:8px;cursor:pointer;transition:all .3s ease;border:1px solid var(--md-sys-color-outline-variant)}.book-card-compact:hover{transform:translateY(-2px);box-shadow:var(--md-sys-elevation-level2);background:var(--md-sys-color-surface-container)}.book-title{font-size:14px;font-weight:600;color:var(--md-sys-color-on-surface);margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-title-compact{font-size:13px;font-weight:600;color:var(--md-sys-color-on-surface);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-author{font-size:12px;color:var(--md-sys-color-on-surface-variant);font-weight:500;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-author-compact{font-size:11px;color:var(--md-sys-color-on-surface-variant);font-weight:500;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-date{font-size:10px;color:var(--md-sys-color-on-surface-variant);display:flex;align-items:center;gap:4px}.progress-bar-container{margin-bottom:4px}.progress-bar{height:4px;background:var(--md-sys-color-surface-variant);border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--md-sys-color-primary);border-radius:2px;transition:width .3s ease}.progress-text{font-size:11px;color:var(--md-sys-color-on-surface-variant)}.view-all-button{margin-top:16px;padding:8px 16px;background:transparent;color:var(--md-sys-color-primary);border:none;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.view-all-button:hover{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-radius:4px}.view-all-centered{margin-top:16px;text-align:center}.view-all-link{background:transparent;border:none;color:var(--md-sys-color-primary);font-size:13px;font-weight:500;cursor:pointer;text-decoration:underline}.view-all-link:hover{color:var(--md-sys-color-primary-container)}.cta-section{background:linear-gradient(135deg,var(--md-sys-color-tertiary-container),var(--md-sys-color-primary-container));border:1px solid var(--md-sys-color-primary);border-radius:24px;padding:40px;text-align:center;position:relative;overflow:hidden;box-shadow:0 8px 32px #0000001a}.cta-section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:shimmer 6s ease-in-out infinite}@keyframes shimmer{0%,to{transform:translate(-50%,-50%) rotate(0)}50%{transform:translate(-30%,-30%) rotate(180deg)}}.cta-title{font-size:24px;font-weight:700;margin-bottom:8px;color:var(--md-sys-color-on-primary-container)}.cta-subtitle{font-size:16px;color:var(--md-sys-color-on-primary-container);opacity:.8;margin-bottom:24px}.cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.cta-button-primary{padding:12px 32px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;border-radius:8px;font-weight:700;font-size:16px;cursor:pointer;transition:all .3s ease;box-shadow:var(--md-sys-elevation-level2)}.cta-button-primary:hover{transform:translateY(-2px);box-shadow:var(--md-sys-elevation-level3);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.cta-button-secondary{padding:12px 32px;background:transparent;color:var(--md-sys-color-primary);border:2px solid var(--md-sys-color-primary);border-radius:8px;font-weight:700;font-size:16px;cursor:pointer;transition:all .3s ease}.cta-button-secondary:hover{background:var(--md-sys-color-surface-container);transform:translateY(-2px)}.dashboard-hero-reading-card{background:linear-gradient(135deg,var(--md-sys-color-primary-container) 0%,color-mix(in srgb,var(--md-sys-color-secondary-container) 80%,var(--md-sys-color-primary-container)) 100%);border:2px solid var(--md-sys-color-primary);border-radius:20px;padding:24px;margin-bottom:16px;box-shadow:var(--md-sys-elevation-level3);transition:transform var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-emphasized, cubic-bezier(.2, 0, 0, 1)),box-shadow var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1));position:relative;overflow:hidden}.dashboard-hero-reading-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,color-mix(in srgb,var(--md-sys-color-on-primary-container) 8%,transparent) 0%,transparent 70%);animation:hero-shimmer 6s ease-in-out infinite;pointer-events:none}@keyframes hero-shimmer{0%,to{transform:translate(-50%,-50%) rotate(0);opacity:.4}50%{transform:translate(-30%,-30%) rotate(180deg);opacity:.6}}.dashboard-hero-reading-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--md-sys-elevation-level4),0 0 20px color-mix(in srgb,var(--md-sys-color-primary) 20%,transparent)}.hero-reading-content{display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center}.hero-reading-cover{width:140px;height:210px;border-radius:12px;box-shadow:var(--md-sys-elevation-level3);background-size:cover;background-position:center;background-color:var(--md-sys-color-surface-variant)}.hero-reading-cover-empty{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 20%,var(--md-sys-color-surface-variant)),color-mix(in srgb,var(--md-sys-color-tertiary) 20%,var(--md-sys-color-surface-variant)));display:flex;align-items:center;justify-content:center}.hero-reading-info{display:flex;flex-direction:column;gap:8px;width:100%}.hero-reading-title{font-size:1.25rem;font-weight:700;color:var(--md-sys-color-on-primary-container);margin:0;line-height:1.3}.hero-reading-author{font-size:.95rem;font-weight:500;color:var(--md-sys-color-on-primary-container);opacity:.85;margin:0}.hero-reading-cta{width:100%;padding:16px 24px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--md-sys-elevation-level2);display:flex;align-items:center;justify-content:center;gap:8px}.hero-reading-cta:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 85%,black);box-shadow:var(--md-sys-elevation-level3);transform:translateY(-2px)}.dashboard-compact-stats-badge{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;margin-bottom:16px;box-shadow:var(--md-sys-elevation-level1)}.compact-stats-item{display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:600;color:var(--md-sys-color-on-surface)}.compact-stats-icon{font-size:1.1rem}.compact-stats-divider{width:1px;height:20px;background:var(--md-sys-color-outline-variant)}.dashboard-mobile-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.mobile-quick-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px 12px;background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:var(--md-sys-elevation-level1)}.mobile-quick-action-btn:hover{background:var(--md-sys-color-surface-container-highest);transform:translateY(-2px);box-shadow:var(--md-sys-elevation-level2)}.mobile-action-icon{font-size:1.5rem}.mobile-action-label{font-size:.75rem;font-weight:600;color:var(--md-sys-color-on-surface);text-align:center}.dashboard-expandable-stats{margin-bottom:16px}.expandable-stats-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;cursor:pointer;transition:all var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1));box-shadow:var(--md-sys-elevation-level1);position:relative;overflow:hidden}.expandable-stats-toggle:after{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--md-sys-color-on-surface) 8%,transparent);opacity:0;transition:opacity var(--md-sys-motion-duration-short2, .1s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1));pointer-events:none}.expandable-stats-toggle:hover:after{opacity:1}.expandable-stats-toggle:hover{background:var(--md-sys-color-surface-container-high);transform:translateY(-1px);box-shadow:var(--md-sys-elevation-level2)}.expandable-stats-toggle:active{transform:translateY(0);box-shadow:var(--md-sys-elevation-level1)}.expandable-stats-label{font-size:.95rem;font-weight:600;color:var(--md-sys-color-on-surface);position:relative;z-index:1}.expandable-stats-icon{font-size:1.2rem;transition:transform var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-emphasized, cubic-bezier(.2, 0, 0, 1));position:relative;z-index:1}.expandable-stats-icon.expanded{transform:rotate(180deg)}.expandable-stats-content{max-height:0;overflow:hidden;opacity:0;transition:max-height var(--md-sys-motion-duration-long1, .4s) var(--md-sys-motion-easing-emphasized, cubic-bezier(.2, 0, 0, 1)),opacity var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1))}.expandable-stats-content.expanded{max-height:1000px;opacity:1;margin-top:12px}@media(max-width:767px){.simple-scroll-container.mobile-hide,.welcome-section-compact.mobile-hide{display:none}.dashboard-main-content-grid{grid-template-columns:1fr;gap:16px}.point-categories-wrapper.mobile-hide{display:none}#dashboard-currently-reading .simple-scroll-container{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}#dashboard-currently-reading .book-card{height:180px;min-width:unset}}@media(max-width:768px){.dashboard-content{padding:16px}.welcome-header{padding:24px}.welcome-title{font-size:24px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stats-arc-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.stat-arc-card{min-height:220px;padding:16px}.stat-arc-icon{font-size:1.5rem}.stat-arc-value{font-size:1.25rem}.stat-arc-label{font-size:.75rem}.books-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.cta-buttons{flex-direction:column;align-items:center}.cta-button-primary,.cta-button-secondary{width:100%;max-width:300px}.hero-reading-content{flex-direction:row;text-align:left}.hero-reading-cover{width:100px;height:150px}.hero-reading-info{flex:1}}@media(min-width:768px){.dashboard-mobile-only{display:none!important}.mobile-hide{display:block}.stat-grid.mobile-hide,.desktop-only{display:flex}}@media(max-width:767px){.mobile-hide,.desktop-only{display:none!important}}:root:not([data-theme=dark]) .section-card{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary-container) 18%,var(--md-sys-color-surface-container-high)),color-mix(in srgb,var(--md-sys-color-secondary-container, var(--md-sys-color-primary-container)) 18%,var(--md-sys-color-surface-container)));color:var(--md-sys-color-on-surface);border:1px solid var(--md-sys-color-outline-variant);box-shadow:var(--md-sys-elevation-level2)}:root:not([data-theme=dark]) .section-card-compact{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-surface-container-high) 95%,transparent),color-mix(in srgb,var(--md-sys-color-surface-variant) 100%,transparent));border:1px solid var(--md-sys-color-outline-variant);box-shadow:var(--md-sys-elevation-level1)}:root:not([data-theme=dark]) .cta-section{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary-container) 85%,var(--md-sys-color-surface)),color-mix(in srgb,var(--md-sys-color-tertiary-container) 85%,var(--md-sys-color-surface-container)));border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 35%,transparent);box-shadow:0 4px 12px #00000014}:root:not([data-theme=dark]) .book-card,:root:not([data-theme=dark]) .book-card-compact{background:linear-gradient(135deg,#4b5563,#6b7280,#4b5563);border:1px solid #374151;color:#fff}:root:not([data-theme=dark]) .achievement-tag{background:linear-gradient(135deg,#4b5563,#6b7280,#4b5563);border:1px solid #374151;color:#fff}:root:not([data-theme=dark]) .cta-button-primary,:root:not([data-theme=dark]) .cta-button-secondary{background:linear-gradient(135deg,#4b5563,#6b7280,#4b5563);border:1px solid #374151;color:#fff}:root:not([data-theme=dark]) .section-title,:root:not([data-theme=dark]) .section-title-compact,:root:not([data-theme=dark]) .cta-title,:root:not([data-theme=dark]) .cta-subtitle{color:#1f2937}:root:not([data-theme=dark]) .dashboard-container .book-title,:root:not([data-theme=dark]) .dashboard-container .book-title-compact,:root:not([data-theme=dark]) .dashboard-container .book-author,:root:not([data-theme=dark]) .dashboard-container .book-author-compact,:root:not([data-theme=dark]) .dashboard-container .book-date,:root:not([data-theme=dark]) .dashboard-container .progress-text{color:#fff}[data-theme=dark] .progress-section,.dark .progress-section,.dashboard-container.dark .progress-section{background:linear-gradient(135deg,#4bc069e6,#05966926);border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 12px #0000004d}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dashboard-main-grid{display:grid;grid-template-columns:1fr 400px;gap:24px;margin-top:24px}.dashboard-left-column,.dashboard-right-column{display:flex;flex-direction:column;gap:24px}.welcome-section-compact{position:relative;padding:24px 32px;border-radius:16px;margin-bottom:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 18%,transparent),color-mix(in srgb,var(--md-sys-color-secondary) 38%,transparent),color-mix(in srgb,var(--md-sys-color-primary) 22%,transparent));border:2px solid color-mix(in srgb,var(--md-sys-color-primary) 40%,transparent);box-shadow:var(--md-sys-elevation-level3)}:root:not([data-theme=dark]) .welcome-section-compact{background:var(--md-sys-color-primary-container);border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 35%,transparent);color:var(--md-sys-color-on-primary-container);box-shadow:var(--md-sys-elevation-level2);font-family:var(--md-sys-typescale-body-large-font-family, "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif);font-size:var(--md-sys-typescale-body-large-font-size, 1rem);line-height:var(--md-sys-typescale-body-large-line-height, 1.5);letter-spacing:var(--md-sys-typescale-body-large-tracking, .5px);box-sizing:border-box!important;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent;scroll-behavior:smooth;word-break:break-word!important;-webkit-hyphens:auto!important;hyphens:auto!important;max-width:100vw!important;word-wrap:break-word!important;height:100%;margin-bottom:0}:root:not([data-theme=dark]) .welcome-title-compact,:root:not([data-theme=dark]) .welcome-subtitle-compact{color:var(--md-sys-color-on-primary-container)}:root:not([data-theme=dark]) .welcome-inline-buttons{background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;padding:4px 6px}.welcome-section-compact:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,transparent 0%,color-mix(in srgb,var(--md-sys-color-on-primary) 8%,transparent) 40%,transparent 80%);pointer-events:none}[data-theme=dark] .welcome-section-compact{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 18%,transparent),color-mix(in srgb,var(--md-sys-color-secondary) 34%,transparent),color-mix(in srgb,var(--md-sys-color-primary) 20%,transparent));border-color:color-mix(in srgb,var(--md-sys-color-primary) 40%,transparent);box-shadow:var(--md-sys-elevation-level3)}[data-theme=dark] .welcome-section-compact:before{background:linear-gradient(120deg,transparent 0%,color-mix(in srgb,var(--md-sys-color-on-primary) 6%,transparent) 40%,transparent 80%)}.welcome-content{width:100%}.welcome-info{display:flex;flex-direction:column;gap:12px}.welcome-title-compact{font-size:1.75rem;font-weight:700;margin:0;color:var(--md-sys-color-on-surface);line-height:1.2}.welcome-subtitle-compact{font-size:1rem;margin:0;color:var(--md-sys-color-on-surface-variant);font-weight:500}.welcome-subtitle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.welcome-inline-buttons{display:flex;gap:8px;align-items:center}.checkin-button-inline{width:36px;height:36px;padding:0;border-radius:50%;border:2px solid color-mix(in srgb,var(--md-sys-color-primary) 30%,transparent);background:linear-gradient(135deg,var(--md-sys-color-primary),var(--md-sys-color-tertiary));color:var(--md-sys-color-on-primary);font-size:1.1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px color-mix(in srgb,var(--md-sys-color-primary) 30%,transparent);display:inline-flex;align-items:center;justify-content:center}.checkin-button-inline:hover:not(:disabled){transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px color-mix(in srgb,var(--md-sys-color-primary) 50%,transparent);background:linear-gradient(135deg,var(--md-sys-color-tertiary),var(--md-sys-color-primary))}.checkin-button-inline:active:not(:disabled){transform:translateY(0) scale(.95)}.checkin-button-inline:disabled{opacity:.6;cursor:not-allowed;background:color-mix(in srgb,var(--md-sys-color-primary) 20%,var(--md-sys-color-surface));border-color:color-mix(in srgb,var(--md-sys-color-primary) 30%,transparent)}.sync-button-inline{width:36px;height:36px;padding:0;border-radius:50%;border:2px solid color-mix(in srgb,var(--md-sys-color-primary) 30%,transparent);background:linear-gradient(135deg,var(--md-sys-color-tertiary),var(--md-sys-color-primary));color:var(--md-sys-color-on-primary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px color-mix(in srgb,var(--md-sys-color-tertiary) 35%,transparent);display:inline-flex;align-items:center;justify-content:center}.sync-button-inline:hover:not(:disabled){transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px color-mix(in srgb,var(--md-sys-color-primary) 50%,transparent);background:linear-gradient(135deg,var(--md-sys-color-primary),var(--md-sys-color-tertiary))}.sync-button-inline:active:not(:disabled){transform:translateY(0) scale(.95)}.sync-button-inline:disabled{opacity:.7;cursor:not-allowed}.sync-button-inline.syncing{background:linear-gradient(135deg,var(--md-sys-color-primary),var(--md-sys-color-tertiary));border-color:color-mix(in srgb,var(--md-sys-color-primary) 30%,transparent)}.sync-button-inline.synced{background:linear-gradient(135deg,var(--md-sys-color-tertiary),var(--md-sys-color-primary));border-color:color-mix(in srgb,var(--md-sys-color-primary) 40%,transparent)}.sync-button-inline .sync-icon{transition:transform .6s ease-in-out}.sync-button-inline .sync-icon.spinning{animation:spin 1s linear infinite}.level-progress-container{margin-top:12px;display:flex;align-items:center;gap:12px}.level-progress-bar{flex:1;position:relative;height:10px;background:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;overflow:hidden;box-shadow:inset 0 1px 2px color-mix(in srgb,var(--md-sys-color-on-surface) 15%,transparent)}[data-theme=dark] .level-progress-bar{background:linear-gradient(90deg,color-mix(in srgb,var(--md-sys-color-secondary) 25%,transparent) 2%,color-mix(in srgb,var(--md-sys-color-primary) 25%,transparent));box-shadow:inset 0 1px 3px color-mix(in srgb,var(--md-sys-color-on-surface) 30%,transparent)}.level-progress-fill{height:100%;background:var(--md-sys-color-primary);border-radius:10px;position:relative;transition:width 1s cubic-bezier(.4,0,.2,1);animation:shimmer 2s infinite;box-shadow:0 0 10px color-mix(in srgb,var(--md-sys-color-primary) 35%,transparent)}@keyframes shimmer{50%{background-position:-50% 0}to{background-position:200% 0}}.level-progress-fill:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--md-sys-color-on-primary) 25%,transparent) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 2s infinite}.level-progress-bar:hover .level-progress-fill{box-shadow:0 0 15px color-mix(in srgb,var(--md-sys-color-primary) 30%,transparent);animation:shimmer 1s infinite,pulse-glow 1.5s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 10px color-mix(in srgb,var(--md-sys-color-primary) 50%,transparent)}50%{box-shadow:0 0 20px color-mix(in srgb,var(--md-sys-color-primary) 80%,transparent)}}.level-progress-text{font-size:.8rem;color:var(--md-sys-color-primary);font-weight:600;white-space:nowrap;min-width:100px;text-align:right}[data-theme=dark] .level-progress-text{color:var(--md-sys-color-primary);text-shadow:0 0 8px rgba(16,185,129,.3)}.level-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:16px}.total-points-display{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 15%,var(--md-sys-color-primary-container)) 0%,var(--md-sys-color-primary-container) 100%);border:1px solid var(--md-sys-color-primary);border-radius:20px;font-size:.85rem;font-weight:700;color:var(--md-sys-color-on-primary-container);white-space:nowrap;box-shadow:0 2px 6px color-mix(in srgb,var(--md-sys-color-primary) 25%,transparent);transition:all .3s ease}.total-points-display:hover{transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--md-sys-color-primary) 35%,transparent)}[data-theme=dark] .total-points-display{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 25%,var(--md-sys-color-surface-container)),color-mix(in srgb,var(--md-sys-color-primary) 15%,var(--md-sys-color-surface-container-high)));border-color:var(--md-sys-color-primary);color:var(--md-sys-color-primary);text-shadow:0 0 8px rgba(16,185,129,.2);box-shadow:0 2px 6px color-mix(in srgb,var(--md-sys-color-primary) 40%,transparent)}[data-theme=dark] .total-points-display:hover{box-shadow:0 4px 12px color-mix(in srgb,var(--md-sys-color-primary) 50%,transparent)}.welcome-action-buttons{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}.checkin-button-compact{align-self:flex-start;padding:12px 24px;border-radius:12px;border:2px solid color-mix(in srgb,var(--md-sys-color-primary) 35%,transparent);background:linear-gradient(135deg,var(--md-sys-color-primary),var(--md-sys-color-tertiary));color:var(--md-sys-color-on-primary);font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px color-mix(in srgb,var(--md-sys-color-primary) 30%,transparent);display:flex;align-items:center;gap:8px}.checkin-button-compact:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px color-mix(in srgb,var(--md-sys-color-primary) 45%,transparent);background:linear-gradient(135deg,var(--md-sys-color-tertiary),var(--md-sys-color-primary))}.checkin-button-compact:disabled{opacity:.6;cursor:not-allowed;background:color-mix(in srgb,var(--md-sys-color-primary) 20%,var(--md-sys-color-surface))}.checkin-streak-badge-compact{padding:4px 8px;background:#fff3;border-radius:6px;font-size:.85rem}.sync-button{align-self:flex-start;padding:10px 20px;border-radius:10px;border:2px solid color-mix(in srgb,var(--md-sys-color-tertiary) 30%,transparent);background:linear-gradient(135deg,var(--md-sys-color-tertiary),var(--md-sys-color-secondary));color:var(--md-sys-color-on-primary);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px color-mix(in srgb,var(--md-sys-color-tertiary) 30%,transparent);display:flex;align-items:center;gap:8px}.sync-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d;background:linear-gradient(135deg,#059669,#047857)}.sync-button:disabled{opacity:.7;cursor:not-allowed}.sync-button.syncing{background:linear-gradient(135deg,var(--brand-gradient-start),var(--brand-gradient-end));border-color:#6366f14d}.sync-button.synced{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b98166}.sync-icon{transition:transform .6s ease-in-out}.sync-icon.spinning{animation:spin 1s linear infinite}.sync-button-text{font-size:.9rem;font-weight:600}.sync-time-badge{padding:3px 8px;background:#ffffff40;border-radius:6px;font-size:.75rem;font-weight:500}.quick-actions-card{background:#ffffffb3;border:2px solid rgba(99,102,241,.15);border-radius:16px;padding:24px;box-shadow:0 4px 16px #00000014}[data-theme=dark] .quick-actions-card{background:#1e1e23e6;border-color:#6366f140;box-shadow:0 4px 16px #0000004d}.card-title{font-size:1.25rem;font-weight:700;margin:0 0 16px;color:var(--md-sys-color-on-surface)}.quick-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-action-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 16px;border-radius:12px;border:2px solid transparent;background:#6366f11a;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center}.quick-action-button:hover{transform:translateY(-2px);border-color:#6366f166;background:#6366f126;box-shadow:0 6px 16px #6366f133}[data-theme=dark] .quick-action-button{background:#6366f126}[data-theme=dark] .quick-action-button:hover{background:#6366f140;box-shadow:0 6px 16px #6366f14d}.action-icon{font-size:2rem;line-height:1}.action-label{font-size:.9rem;font-weight:600;color:var(--md-sys-color-on-surface)}.quick-action-button.library{background:#3b82f61a}.quick-action-button.library:hover{background:#3b82f626;border-color:#3b82f666}.quick-action-button.upload{background:#10b9811a}.quick-action-button.upload:hover{background:#10b98126;border-color:#10b98166}.quick-action-button.notes{background:#f59e0b1a}.quick-action-button.notes:hover{background:#f59e0b26;border-color:#f59e0b66}.quick-action-button.mentor{background:#a855f71a}.quick-action-button.mentor:hover{background:#a855f726;border-color:#a855f766}@media(max-width:1024px){.dashboard-main-grid{grid-template-columns:1fr}.dashboard-right-column{order:-1}}@media(max-width:768px){.quick-actions-grid{grid-template-columns:1fr}.welcome-section-compact{padding:20px}.stats-cards-grid{grid-template-columns:repeat(2,1fr)}.dashboard-main-content-grid{grid-template-columns:1fr}}.simple-scroll-container{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:16px;margin-bottom:24px;padding-bottom:12px;margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px;-ms-overflow-style:none;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x}.dashboard-stats-row{margin-bottom:24px;width:100%}.stats-cards-grid::-webkit-scrollbar{height:8px}.stats-cards-grid::-webkit-scrollbar-track{background:var(--md-sys-color-surface-variant);border-radius:4px}.stats-cards-grid::-webkit-scrollbar-thumb{background:var(--md-sys-color-primary);border-radius:4px;-webkit-transition:background .3s ease;transition:background .3s ease}.stats-cards-grid::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-primary-container)}.stat-metric-card{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 22%,var(--md-sys-color-surface-container-high)),color-mix(in srgb,var(--md-sys-color-secondary) 22%,var(--md-sys-color-surface-container)));border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;transition:all var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1));box-shadow:var(--md-sys-elevation-level1);width:200px;min-width:200px;max-width:200px;flex-shrink:0}.server-sync-badge{position:absolute;top:8px;right:8px;background:#24a8e0e6;color:#fff;padding:2px 6px;border-radius:8px;font-size:10px;display:flex;align-items:center;gap:4px;box-shadow:var(--md-sys-elevation-level1)}.server-sync-badge-icon{font-size:12px;line-height:1}.stat-metric-card:hover{transform:translateY(-2px);box-shadow:var(--md-sys-elevation-level2);border-color:color-mix(in srgb,var(--md-sys-color-primary) 40%,transparent)}[data-theme=dark] .stat-metric-card{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-surface-container) 90%,transparent),color-mix(in srgb,var(--md-sys-color-surface-container-high) 95%,transparent));border-color:var(--md-sys-color-outline-variant);box-shadow:var(--md-sys-elevation-level1)}[data-theme=dark] .stat-metric-card:hover{box-shadow:var(--md-sys-elevation-level2)}.stat-metric-header{display:flex;justify-content:space-between;align-items:flex-start}.stat-metric-value{font-size:1.5rem;font-weight:700;color:var(--md-sys-color-on-surface);line-height:1}.stat-metric-growth{font-size:1.1rem;padding:3px 6px;border-radius:6px;background:color-mix(in srgb,var(--md-sys-color-tertiary) 12%,transparent);color:#fff;transition:all .3s ease}.stat-metric-growth.up{background:color-mix(in srgb,var(--md-sys-color-tertiary) 12%,transparent);color:#fff}.stat-metric-growth.down{background:color-mix(in srgb,var(--md-sys-color-error) 12%,transparent);color:var(--md-sys-color-error)}.stat-metric-growth.neutral{background:color-mix(in srgb,var(--md-sys-color-on-surface-variant) 12%,transparent);color:var(--md-sys-color-on-surface-variant)}.stat-metric-footer{display:flex;justify-content:space-between;align-items:center}.stat-metric-label{font-size:.8rem;font-weight:500;color:var(--md-sys-color-on-surface-variant);text-transform:capitalize}.stat-metric-percentage{font-size:.8rem;font-weight:600}.stat-metric-percentage.up{color:var(--md-sys-color-tertiary)}.stat-metric-percentage.down{color:var(--md-sys-color-error)}.stat-metric-percentage.neutral{color:var(--md-sys-color-on-surface-variant)}.dashboard-main-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.dashboard-content-left,.dashboard-content-right{display:flex;flex-direction:column}.dashboard-content-left .welcome-section-compact{height:100%;margin-bottom:0}.dashboard-content-right .section-card{margin-bottom:0}.dashboard-bottom-row{display:block;width:100%}@media(max-width:900px){.dashboard-main-content-grid{grid-template-columns:1fr}}.simple-scroll-container::-webkit-scrollbar{display:none}@media(max-width:600px){.stat-metric-card{width:165px;min-width:165px;max-width:165px;flex-shrink:0}}.stat-metric-subtitle{font-size:.8rem;color:var(--md-sys-color-on-surface-variant);line-height:1.2;white-space:normal;word-break:break-word}.point-categories-wrapper{width:100%}.point-categories-section-header{text-align:center;margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid var(--md-sys-color-outline-variant)}.point-categories-section-title{display:flex;align-items:center;justify-content:center;gap:12px;font-size:2rem;font-weight:800;color:var(--md-sys-color-on-surface);margin:0 0 8px;letter-spacing:-.03em}.section-title-icon{font-size:2.25rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.point-categories-section-subtitle{font-size:1.125rem;color:var(--md-sys-color-on-surface-variant);margin:0;font-weight:500}.point-categories-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:1400px){.point-categories-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.point-categories-grid{grid-template-columns:1fr}}.point-category-card.streak-category{border-color:#f9731630;background:linear-gradient(135deg,var(--md-sys-color-surface-container) 0%,rgba(249,115,22,.05) 100%)}.point-category-card.streak-category .point-category-icon{animation:pulse-flame 2s ease-in-out infinite}@keyframes pulse-flame{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.streak-actions .point-action-item{padding:6px 0}.streak-action-item .point-action-name{font-size:13px}[data-theme=dark] .point-category-card.streak-category{background:linear-gradient(135deg,var(--md-sys-color-surface-container-low) 0%,rgba(249,115,22,.08) 100%);border-color:#f9731640}.point-category-card{background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:12px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #00000014}.point-category-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}[data-theme=dark] .point-category-card{background:var(--md-sys-color-surface-container-low);border-color:#ffffff1a;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .point-category-card:hover{box-shadow:0 4px 16px #0006}.point-category-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding-bottom:8px;border-bottom:1.5px solid var(--md-sys-color-outline-variant)}.point-category-title{display:flex;align-items:center;gap:8px;font-size:1.05rem;font-weight:700;color:var(--md-sys-color-on-surface);margin:0;letter-spacing:-.01em;line-height:1.2}.point-category-icon{font-size:1.35rem;line-height:1}.point-category-actions{display:flex;flex-direction:column;gap:8px}.point-action-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#00000005;border-radius:8px;transition:all .2s ease}[data-theme=dark] .point-action-item{background:#ffffff08}.point-action-item:hover{background:#0000000a;transform:translate(4px)}[data-theme=dark] .point-action-item:hover{background:#ffffff0f}.point-action-info{display:flex;align-items:center;gap:8px}.point-action-icon{font-size:1.1rem;line-height:1}.point-action-name{font-size:.85rem;font-weight:500;color:var(--md-sys-color-on-surface)}.point-action-badge{padding:3px 10px;border-radius:6px;font-size:.8rem;font-weight:600;white-space:nowrap}.point-category-footer-link{background:none;border:none;color:var(--md-sys-color-primary);font-size:.875rem;font-weight:600;cursor:pointer;padding:8px 0;text-align:left;transition:all .2s ease}.point-category-footer-link:hover{color:var(--md-sys-color-primary);text-decoration:underline}.cr-section{margin:6px 0;padding:12px 14px;border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary-container) 18%,var(--md-sys-color-surface-container-high)),color-mix(in srgb,var(--md-sys-color-secondary-container, var(--md-sys-color-primary-container)) 18%,var(--md-sys-color-surface-container)));border:1px solid var(--md-sys-color-outline-variant)}.cr-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.cr-card{position:relative;display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 14%,var(--md-sys-color-surface-container)),color-mix(in srgb,var(--md-sys-color-secondary) 14%,var(--md-sys-color-surface-container-high)));border:1px solid var(--md-sys-color-outline-variant);transition:transform .15s ease,box-shadow .15s ease}.cr-card:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00000014}.cr-thumb{width:44px;height:60px;border-radius:6px;background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 20%,transparent),color-mix(in srgb,var(--md-sys-color-primary) 5%,transparent));color:var(--md-sys-color-primary);font-weight:800;display:flex;align-items:center;justify-content:center;overflow:hidden}.cr-thumb img{width:100%;height:100%;object-fit:cover;display:block}.cr-meta{min-width:0;flex:1}.cr-title{font-size:.95rem;font-weight:700;color:var(--md-sys-color-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cr-author{font-size:.8rem;color:var(--md-sys-color-on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.cr-progress{display:flex;align-items:center;gap:8px;margin-top:6px}.cr-progress-bar{flex:1;height:6px;border-radius:4px;background:var(--md-sys-color-surface-variant);overflow:hidden}.cr-progress-fill{height:100%;background:var(--md-sys-color-primary);box-shadow:inset 0 0 8px #0000001f;transition:width .3s ease}.cr-progress-text{font-size:.75rem;color:var(--md-sys-color-on-surface-variant)}.cr-status{position:absolute;top:8px;right:8px;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.01em}.cr-status.reading{background:color-mix(in srgb,var(--md-sys-color-primary) 12%,transparent);color:var(--md-sys-color-primary);border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 35%,transparent)}.cr-status.paused{background:color-mix(in srgb,var(--md-sys-color-on-surface-variant) 12%,transparent);color:var(--md-sys-color-on-surface-variant);border:1px solid color-mix(in srgb,var(--md-sys-color-on-surface-variant) 35%,transparent)}:root:not([data-theme=dark]) .cr-card{--cr-card-bg: #f1f5f9}[data-theme=dark] .cr-card{--cr-card-bg: rgba(255,255,255,.06)}#dashboard-currently-reading .covers-scroll{gap:12px}#dashboard-currently-reading .covers-scroll .book-card{flex:0 0 auto;box-shadow:0 6px 14px #0000001f;transition:transform .15s ease,box-shadow .15s ease}#dashboard-currently-reading .covers-scroll .book-card:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0000002e}#dashboard-currently-reading .covers-scroll .book-card{border-radius:12px;overflow:hidden}:root:not([data-theme=dark]) #dashboard-currently-reading .covers-scroll .book-card{border:1px solid rgba(0,0,0,.06);background-color:#00000003}[data-theme=dark] #dashboard-currently-reading .covers-scroll .book-card{border:1px solid rgba(255,255,255,.06);background-color:#ffffff05}#dashboard-currently-reading .book-title,#dashboard-currently-reading .book-author,#dashboard-currently-reading .progress-bar-container,#dashboard-currently-reading .progress-text{display:none!important}:root:not([data-theme=dark]) #dashboard-currently-reading .covers-scroll .book-card{border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 25%,transparent);box-shadow:0 6px 14px #00000014,0 0 0 1px color-mix(in srgb,var(--md-sys-color-primary) 12%,transparent) inset}[data-theme=dark] #dashboard-currently-reading .covers-scroll .book-card{border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 35%,transparent);box-shadow:0 8px 20px #00000047,0 0 0 1px color-mix(in srgb,var(--md-sys-color-primary) 20%,transparent) inset}#dashboard-currently-reading .book-title{bottom:36px;font-size:.85rem;font-weight:800;letter-spacing:.01em;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2;padding:0 10px}#dashboard-currently-reading .book-author{bottom:12px;font-size:.75rem;font-weight:600;opacity:.95;padding:0 10px}#dashboard-currently-reading .book-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:48%;background:linear-gradient(180deg,#0000,#000000b8 92%);pointer-events:none}#dashboard-currently-reading .title-banner{position:absolute;left:8px;right:8px;bottom:8px;background:#000000b3;border:2px solid rgba(255,255,255,.85);color:#fff;border-radius:8px;padding:6px 10px;font-weight:800;font-size:.9rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.4);box-shadow:0 2px 6px #0000004d}#dashboard-currently-reading .covers-scroll .book-title,#dashboard-currently-reading .covers-scroll .book-author{display:none!important}.pull-to-refresh-indicator{position:fixed;top:-60px;left:50%;transform:translate(-50%);z-index:9999;transition:transform .2s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1);pointer-events:none}.ptr-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 24px;background:var(--md-sys-color-surface-container-high);border-radius:24px;box-shadow:var(--md-sys-elevation-level3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ptr-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--md-sys-color-primary);transition:transform .3s cubic-bezier(.4,0,.2,1)}.ptr-icon .material-symbols-outlined{font-size:32px}.ptr-icon-success{color:var(--md-sys-color-tertiary);animation:ptr-success-pop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes ptr-success-pop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.ptr-text{font-size:12px;font-weight:500;color:var(--md-sys-color-on-surface);text-align:center;white-space:nowrap}.ptr-spinner{width:32px;height:32px;position:relative}.spinner-ring{width:100%;height:100%;border:3px solid var(--md-sys-color-outline-variant);border-top-color:var(--md-sys-color-primary);border-radius:50%;animation:ptr-spin .8s linear infinite}@keyframes ptr-spin{to{transform:rotate(360deg)}}.ptr-progress-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.3;pointer-events:none}.ptr-progress-fill{transition:stroke-dasharray .2s cubic-bezier(.4,0,.2,1)}@media(max-width:768px){.pull-to-refresh-indicator{top:-50px}.ptr-content{padding:10px 20px}.ptr-icon{width:28px;height:28px}.ptr-icon .material-symbols-outlined{font-size:28px}.ptr-text{font-size:11px}.ptr-spinner{width:28px;height:28px}.ptr-progress-circle{width:40px;height:40px}}[data-actual-theme=dark] .ptr-content{background:var(--md-sys-color-surface-container);box-shadow:var(--md-sys-elevation-level4)}@media(prefers-reduced-motion:reduce){.pull-to-refresh-indicator,.ptr-icon,.spinner-ring,.ptr-progress-fill{animation:none!important;transition:none!important}}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.confetti-piece{position:absolute;width:10px;height:10px;top:-10px;opacity:0;animation:confetti-fall linear forwards}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.progress-page{min-height:100vh;background:linear-gradient(180deg,color-mix(in srgb,var(--md-sys-color-primary) 6%,var(--md-sys-color-surface)) 0%,var(--md-sys-color-surface-container-low) 32%,color-mix(in srgb,var(--md-sys-color-secondary) 6%,var(--md-sys-color-surface-container)) 100%);padding:24px 24px 100px}.progress-page.dark{background:linear-gradient(180deg,var(--md-sys-color-surface) 0%,var(--md-sys-color-surface-container-low) 50%,var(--md-sys-color-surface-container) 100%)}.progress-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.progress-back-button{width:48px;height:48px;border-radius:50%;border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--md-sys-motion-duration-short2, .2s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1));box-shadow:var(--md-sys-elevation-level1)}.progress-back-button:hover{background:var(--md-sys-color-surface-container-high);transform:translateY(-2px);box-shadow:var(--md-sys-elevation-level2)}.progress-page-title{font-size:2rem;font-weight:700;color:var(--md-sys-color-on-surface);margin:0}.current-tier-card{background:var(--md-sys-color-surface-container);border:3px solid;border-radius:20px;padding:32px;margin-bottom:24px;display:flex;align-items:center;gap:24px;box-shadow:var(--md-sys-elevation-level3);position:relative;overflow:hidden}.current-tier-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,color-mix(in srgb,var(--md-sys-color-primary) 10%,transparent) 0%,transparent 60%);pointer-events:none}.current-tier-badge{width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--md-sys-elevation-level3);flex-shrink:0;position:relative;z-index:1}.current-tier-icon{font-size:3rem}.current-tier-info{flex:1;position:relative;z-index:1}.current-tier-name{font-size:1.75rem;font-weight:700;color:var(--md-sys-color-on-surface);margin:0 0 8px}.current-tier-description{font-size:1rem;color:var(--md-sys-color-on-surface-variant);margin:0 0 12px}.current-tier-points{font-size:1.25rem;font-weight:600;color:var(--md-sys-color-primary)}.next-tier-progress{background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:16px;padding:20px;margin-bottom:32px;box-shadow:var(--md-sys-elevation-level2)}.next-tier-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.95rem;font-weight:600;color:var(--md-sys-color-on-surface)}.next-tier-bar{height:12px;background:var(--md-sys-color-surface-variant);border-radius:8px;overflow:hidden;box-shadow:inset 0 1px 3px #0000001a;margin-bottom:8px}.next-tier-fill{height:100%;border-radius:8px;transition:width var(--md-sys-motion-duration-long1, .4s) var(--md-sys-motion-easing-emphasized, cubic-bezier(.2, 0, 0, 1));box-shadow:0 0 10px #0003}.next-tier-points-needed{font-size:.85rem;color:var(--md-sys-color-on-surface-variant);margin:0;text-align:center}.section-heading{font-size:1.5rem;font-weight:700;color:var(--md-sys-color-on-surface);margin:0 0 8px}.section-subtitle{font-size:.95rem;color:var(--md-sys-color-on-surface-variant);margin:0 0 24px}.tiers-section{margin-bottom:48px}.tiers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:20px}.tier-card{background:var(--md-sys-color-surface-container);border:2px solid;border-radius:16px;padding:24px;text-align:center;transition:all var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1));box-shadow:var(--md-sys-elevation-level2);position:relative}.tier-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--md-sys-elevation-level3);cursor:pointer}.tier-card.current{background:var(--md-sys-color-primary-container);box-shadow:var(--md-sys-elevation-level4);animation:tier-glow 2s ease-in-out infinite}@keyframes tier-glow{0%,to{box-shadow:var(--md-sys-elevation-level4)}50%{box-shadow:var(--md-sys-elevation-level4),0 0 30px color-mix(in srgb,var(--md-sys-color-primary) 40%,transparent)}}.tier-card.selected{transform:scale(1.05);box-shadow:var(--md-sys-elevation-level5),0 0 40px color-mix(in srgb,var(--md-sys-color-primary) 50%,transparent);animation:tier-selected .3s ease-out}@keyframes tier-selected{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1.05)}}.tier-card.transitioning{transition:transform var(--md-sys-motion-duration-long2, .5s) var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(.05, .7, .1, 1))}.tier-card.completed{opacity:.85;position:relative}.tier-card.completed:after{content:"✓";position:absolute;top:12px;right:12px;width:32px;height:32px;background:var(--md-sys-color-tertiary);color:var(--md-sys-color-on-tertiary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;box-shadow:var(--md-sys-elevation-level2)}.tier-card.locked{opacity:.5;filter:grayscale(50%);cursor:not-allowed}.tier-card.locked:hover{transform:none}.tier-icon-badge{width:80px;height:80px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;box-shadow:var(--md-sys-elevation-level2)}.tier-name{font-size:1.25rem;font-weight:700;color:var(--md-sys-color-on-surface);margin:0 0 8px}.tier-range{font-size:.9rem;font-weight:600;color:var(--md-sys-color-primary);margin:0 0 12px}.tier-description{font-size:.85rem;color:var(--md-sys-color-on-surface-variant);margin:0}.current-badge,.completed-badge,.locked-badge{display:inline-block;margin-top:12px;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600}.current-badge{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.completed-badge{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.locked-badge{background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant)}.journey-section{margin-bottom:48px}.journey-path{max-width:800px;margin:0 auto;padding:32px 0;position:relative;overflow-y:auto;max-height:800px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;touch-action:pan-y}@media(max-width:768px){.journey-path:before{content:"↕";position:-webkit-sticky;position:sticky;top:0;left:50%;transform:translate(-50%);display:block;width:40px;height:40px;background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:50%;text-align:center;line-height:40px;font-size:1.5rem;z-index:10;box-shadow:var(--md-sys-elevation-level2);animation:swipe-bounce 2s ease-in-out infinite}}@keyframes swipe-bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(10px)}}.milestone-container{position:relative;margin-bottom:48px}.milestone-line{position:absolute;left:50%;top:80px;width:4px;height:80px;background:var(--md-sys-color-outline-variant);transform:translate(-50%);transition:background var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1))}.milestone-line.completed{background:var(--md-sys-color-primary)}.milestone-node{display:flex;align-items:center;gap:20px;padding:20px;background:var(--md-sys-color-surface-container);border:2px solid var(--md-sys-color-outline-variant);border-radius:16px;transition:all var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1));box-shadow:var(--md-sys-elevation-level2)}.milestone-node.unlocked{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-primary-container);box-shadow:var(--md-sys-elevation-level3)}.milestone-node.next{border-color:var(--md-sys-color-tertiary);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:var(--md-sys-elevation-level2)}50%{box-shadow:var(--md-sys-elevation-level3),0 0 20px color-mix(in srgb,var(--md-sys-color-tertiary) 30%,transparent)}}.milestone-icon{width:60px;height:60px;border-radius:50%;background:var(--md-sys-color-surface-variant);display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0;box-shadow:var(--md-sys-elevation-level1)}.milestone-node.unlocked .milestone-icon{background:var(--md-sys-color-primary)}.milestone-info{flex:1}.milestone-title{font-size:1.1rem;font-weight:700;color:var(--md-sys-color-on-surface);margin:0 0 4px}.milestone-points{font-size:.9rem;font-weight:600;color:var(--md-sys-color-primary);margin:0 0 8px}.milestone-status{font-size:.8rem;font-weight:600;padding:3px 10px;border-radius:8px;display:inline-block}.milestone-node.unlocked .milestone-status{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.milestone-node.next .milestone-status{background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant)}.achievements-section{margin-bottom:48px}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin:20px 0}.achievement-card{background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;padding:20px;text-align:center;transition:all var(--md-sys-motion-duration-short2, .2s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1));box-shadow:var(--md-sys-elevation-level1)}.achievement-card:hover{transform:translateY(-2px);box-shadow:var(--md-sys-elevation-level2)}.achievement-icon{font-size:2.5rem;display:block;margin-bottom:12px}.achievement-title{font-size:1rem;font-weight:600;color:var(--md-sys-color-on-surface);margin:0 0 8px}.achievement-description{font-size:.85rem;color:var(--md-sys-color-on-surface-variant);margin:0 0 12px}.achievement-share-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border:1px solid var(--md-sys-color-primary);border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all var(--md-sys-motion-duration-short2, .2s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1));box-shadow:var(--md-sys-elevation-level1);width:100%}.achievement-share-btn:hover{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);transform:translateY(-1px);box-shadow:var(--md-sys-elevation-level2)}.achievement-share-btn .material-symbols-outlined{font-size:1rem}.view-all-achievements-btn{display:block;margin:0 auto;padding:12px 24px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border:1px solid var(--md-sys-color-primary);border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1));box-shadow:var(--md-sys-elevation-level1)}.view-all-achievements-btn:hover{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);transform:translateY(-2px);box-shadow:var(--md-sys-elevation-level2)}.theme-unlocks-section{margin-bottom:48px}.theme-unlocks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:32px}.theme-unlock-card{background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:16px;padding:20px;display:flex;gap:16px;align-items:center;transition:all var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1));box-shadow:var(--md-sys-elevation-level2)}.theme-unlock-card:hover{transform:translateY(-2px);box-shadow:var(--md-sys-elevation-level3)}.theme-preview{width:80px;height:80px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--md-sys-elevation-level2)}.theme-preview-icon{font-size:2.5rem}.theme-unlock-info{flex:1}.theme-unlock-title{font-size:1.1rem;font-weight:700;color:var(--md-sys-color-on-surface);margin:0 0 4px}.theme-unlock-desc{font-size:.85rem;color:var(--md-sys-color-on-surface-variant);margin:0 0 8px}.theme-unlock-tier{font-size:.75rem;font-weight:600;color:var(--md-sys-color-primary);padding:3px 10px;background:var(--md-sys-color-primary-container);border-radius:8px;display:inline-block}.locked-themes-preview{background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:16px;padding:24px;box-shadow:var(--md-sys-elevation-level1)}.locked-themes-title{font-size:1.25rem;font-weight:700;color:var(--md-sys-color-on-surface);margin:0 0 8px}.locked-themes-subtitle{font-size:.9rem;color:var(--md-sys-color-on-surface-variant);margin:0 0 20px}.locked-theme-preview{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--md-sys-color-surface-variant);border-radius:8px;margin-bottom:8px;opacity:.6}.locked-theme-points{font-size:.8rem;font-weight:600;color:var(--md-sys-color-primary)}.tier-theme-unlock{margin-top:16px;padding-top:16px;border-top:1px solid var(--md-sys-color-outline-variant);text-align:left}.theme-unlock-icon{font-size:1.25rem;margin-right:8px}.theme-unlock-name{font-size:.9rem;font-weight:600;color:var(--md-sys-color-primary)}.theme-unlock-description{font-size:.75rem;color:var(--md-sys-color-on-surface-variant);margin:4px 0 0}.tier-card:nth-child(1) .tier-icon-badge{background:linear-gradient(135deg,#8b4513,sienna)!important;box-shadow:0 4px 12px #8b45134d}.tier-card:nth-child(2) .tier-icon-badge{background:linear-gradient(135deg,#cd7f32,#e6a45c)!important;box-shadow:0 4px 12px #cd7f324d}.tier-card:nth-child(3) .tier-icon-badge{background:linear-gradient(135deg,silver,#e8e8e8)!important;box-shadow:0 4px 12px #c0c0c066}.tier-card:nth-child(4) .tier-icon-badge{background:linear-gradient(135deg,gold,#fff4b3)!important;box-shadow:0 4px 12px #ffd70080;animation:gold-shimmer 3s ease-in-out infinite}@keyframes gold-shimmer{0%,to{filter:brightness(1)}50%{filter:brightness(1.2)}}.tier-card:nth-child(5) .tier-icon-badge{background:linear-gradient(135deg,#9370db,#ba9ff7)!important;box-shadow:0 4px 12px #9370db66}.tier-card:nth-child(6) .tier-icon-badge{background:linear-gradient(135deg,#ff6b6b,#ff9e9e)!important;box-shadow:0 4px 12px #ff6b6b66;animation:legend-pulse 2s ease-in-out infinite}@keyframes legend-pulse{0%,to{transform:scale(1);box-shadow:0 4px 12px #ff6b6b66}50%{transform:scale(1.05);box-shadow:0 6px 20px #ff6b6b99}}@media(max-width:768px){.progress-page{padding:16px 16px 100px}.progress-page-title{font-size:1.5rem}.current-tier-card{flex-direction:column;text-align:center;padding:24px}.current-tier-badge{width:80px;height:80px}.current-tier-icon{font-size:2.5rem}.current-tier-name{font-size:1.5rem}.tiers-grid{grid-template-columns:1fr}.milestone-node{flex-direction:column;text-align:center}.achievements-grid{grid-template-columns:repeat(2,1fr)}}.bottom-sheet-overlay{position:fixed;inset:0;background:#00000080;z-index:1300;display:flex;align-items:flex-end;animation:bottomsheet-fade-in .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes bottomsheet-fade-in{0%{opacity:0}to{opacity:1}}.bottom-sheet{width:100%;max-width:100vw;background:var(--md-sys-color-surface-container);border-top-left-radius:28px;border-top-right-radius:28px;box-shadow:var(--md-sys-elevation-level5);display:flex;flex-direction:column;animation:bottomsheet-slide-up .4s cubic-bezier(.4,0,.2,1);overflow:hidden;transition:transform .2s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1)}@keyframes bottomsheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bottom-sheet.dragging{transition:none}.bottom-sheet-handle-container{width:100%;padding:12px 0 8px;display:flex;justify-content:center;align-items:center;cursor:grab}.bottom-sheet-handle{width:36px;height:4px;background:var(--md-sys-color-on-surface-variant);border-radius:2px;opacity:.4;transition:opacity .2s}.bottom-sheet:active .bottom-sheet-handle,.bottom-sheet-handle-container:hover .bottom-sheet-handle{opacity:.6}.bottom-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px 16px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.bottom-sheet-title{margin:0;font-size:20px;font-weight:600;color:var(--md-sys-color-on-surface);flex:1}.bottom-sheet-close-btn{width:40px;height:40px;border-radius:50%;border:none;background:transparent;color:var(--md-sys-color-on-surface-variant);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1)}.bottom-sheet-close-btn:hover{background:var(--md-sys-color-surface-container-high)}.bottom-sheet-close-btn:active{transform:scale(.95)}.bottom-sheet-close-btn .material-symbols-outlined{font-size:24px}.bottom-sheet-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 24px 24px;-webkit-overflow-scrolling:touch}.bottom-sheet-content::-webkit-scrollbar{width:6px}.bottom-sheet-content::-webkit-scrollbar-track{background:transparent}.bottom-sheet-content::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline-variant);border-radius:3px}.bottom-sheet-content::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-outline)}@media(min-width:768px){.bottom-sheet{max-width:600px;margin:0 auto;border-bottom-left-radius:28px;border-bottom-right-radius:28px}.bottom-sheet-overlay{align-items:center;justify-content:center}@keyframes bottomsheet-slide-up{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}}[data-actual-theme=dark] .bottom-sheet{background:var(--md-sys-color-surface);box-shadow:var(--md-sys-elevation-level5),0 0 0 1px var(--md-sys-color-outline-variant)}[data-actual-theme=dark] .bottom-sheet-overlay{background:#000000b3}@media(prefers-reduced-motion:reduce){.bottom-sheet,.bottom-sheet-overlay{animation:none!important;transition:opacity .1s!important}.bottom-sheet.dragging{transition:none!important}}@supports (padding-bottom: env(safe-area-inset-bottom)){.bottom-sheet-content{padding-bottom:calc(24px + env(safe-area-inset-bottom))}}.achievements-page{max-width:1400px;margin:0 auto;padding:24px 24px 120px}.achievements-header{margin-bottom:32px}.header-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--md-sys-color-surface-container);border-radius:16px;border:1px solid var(--md-sys-color-outline-variant);transition:all .2s cubic-bezier(.4,0,.2,1)}.stat-card:hover{box-shadow:var(--md-sys-elevation-level2);transform:translateY(-2px)}.stat-icon{width:56px;height:56px;border-radius:16px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);display:flex;align-items:center;justify-content:center}.stat-icon .material-symbols-outlined{font-size:32px}.stat-content{flex:1}.stat-value{font-size:28px;font-weight:700;color:var(--md-sys-color-on-surface);line-height:1;margin-bottom:4px}.stat-label{font-size:13px;font-weight:500;color:var(--md-sys-color-on-surface-variant);text-transform:uppercase;letter-spacing:.5px}.achievements-progress{background:transparent;padding:12px 0;margin-bottom:8px}.progress-bar{height:8px;background:var(--md-sys-color-surface-container-highest);border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;overflow:hidden;margin-bottom:8px;box-shadow:inset 0 1px 3px #0000001a}.progress-fill{height:100%;background:linear-gradient(90deg,var(--md-sys-color-primary),var(--md-sys-color-tertiary));border-radius:6px;transition:width .5s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0003}.progress-text{text-align:center;font-size:12px;font-weight:600;color:var(--md-sys-color-on-surface-variant)}.category-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px;margin-bottom:32px;-webkit-overflow-scrolling:touch}.category-tabs::-webkit-scrollbar{height:6px}.category-tabs::-webkit-scrollbar-track{background:var(--md-sys-color-surface-container);border-radius:3px}.category-tabs::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline-variant);border-radius:3px}.category-tab{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:24px;border:2px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface-variant);font-size:14px;font-weight:500;white-space:nowrap;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.category-tab:hover{background:var(--md-sys-color-surface-container)}.category-tab.active{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-color:var(--md-sys-color-primary);box-shadow:0 2px 8px #0003}.category-tab .material-symbols-outlined{font-size:20px}.tab-count{padding:2px 8px;background:var(--md-sys-color-surface-container-high);border-radius:12px;font-size:12px;font-weight:600}.category-tab.active .tab-count{background:#ffffff40;color:var(--md-sys-color-on-primary);font-weight:700}@media(max-width:768px){.category-tab{min-width:auto;padding:10px 12px}.category-tab>span:not(.material-symbols-outlined):not(.tab-count){display:none}.category-tab .material-symbols-outlined{font-size:22px}.tab-count{font-size:11px;padding:2px 6px}}.tier-filter{display:flex;align-items:center;gap:12px;margin-top:0;margin-bottom:32px;padding:16px;background:var(--md-sys-color-surface-container);border-radius:12px;flex-wrap:wrap}.tier-filter label{font-size:14px;font-weight:600;color:var(--md-sys-color-on-surface)}.tier-buttons{display:flex;gap:8px;flex-wrap:wrap}.tier-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 20px;border-radius:18px;border:2px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);font-size:13px;font-weight:600;text-transform:capitalize;line-height:1;white-space:nowrap;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.tier-btn:hover{background:var(--md-sys-color-surface-container);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.tier-btn:active{transform:translateY(0)}.tier-btn.active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-color:var(--md-sys-color-secondary);box-shadow:0 2px 8px #00000026}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}@media(max-width:768px){.achievements-grid{grid-template-columns:1fr}}.achievement-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:20px;background:var(--md-sys-color-surface-container);border:2px solid var(--md-sys-color-outline-variant);border-radius:16px;cursor:pointer;text-align:left;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.achievement-card:hover{box-shadow:var(--md-sys-elevation-level2);transform:translateY(-2px);border-color:var(--md-sys-color-primary)}.achievement-card.locked{opacity:.6}.achievement-card.locked .achievement-icon,.achievement-card.locked .achievement-content{filter:grayscale(100%)}.achievement-card.unlocked{background:linear-gradient(135deg,var(--md-sys-color-primary-container) 0%,var(--md-sys-color-surface-container) 100%);border-color:var(--md-sys-color-primary)}.achievement-card.secret:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,color-mix(in srgb,var(--md-sys-color-primary) 10%,transparent),transparent);animation:shimmer 3s infinite}@keyframes shimmer{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.achievement-tier-badge{position:absolute;top:12px;right:12px;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff;box-shadow:var(--md-sys-elevation-level2)}.achievement-icon{width:64px;height:64px;border-radius:16px;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);display:flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.achievement-card:hover .achievement-icon{transform:scale(1.1) rotate(5deg)}.achievement-icon .material-symbols-outlined{font-size:40px}.achievement-content{flex:1}.achievement-title{margin:0 0 6px;font-size:18px;font-weight:700;color:var(--md-sys-color-on-surface)}.achievement-description{margin:0;font-size:13px;line-height:1.5;color:var(--md-sys-color-on-surface-variant)}.achievement-points{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);border-radius:12px;font-size:14px;font-weight:700;width:-webkit-fit-content;width:fit-content}.achievement-points .material-symbols-outlined{font-size:18px}.achievement-unlocked-badge{position:absolute;bottom:12px;right:12px;width:32px;height:32px;border-radius:50%;background:var(--md-sys-color-tertiary);color:var(--md-sys-color-on-tertiary);display:flex;align-items:center;justify-content:center;animation:unlock-pop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes unlock-pop{0%{transform:scale(0) rotate(-180deg)}to{transform:scale(1) rotate(0)}}.achievement-unlocked-badge .material-symbols-outlined{font-size:20px}.empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;background:var(--md-sys-color-surface-container);border-radius:16px;border:2px dashed var(--md-sys-color-outline-variant)}.empty-state .material-symbols-outlined{font-size:80px;color:var(--md-sys-color-on-surface-variant);opacity:.5;margin-bottom:16px}.empty-state h3{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--md-sys-color-on-surface)}.empty-state p{margin:0;font-size:14px;color:var(--md-sys-color-on-surface-variant)}.achievement-detail{display:flex;flex-direction:column;gap:24px}.detail-header{text-align:center;padding:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--tier-color) 20%,var(--md-sys-color-surface-container)),var(--md-sys-color-surface-container));border-radius:16px}.detail-icon{width:80px;height:80px;margin:0 auto 16px;border-radius:20px;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);display:flex;align-items:center;justify-content:center}.detail-icon .material-symbols-outlined{font-size:48px}.detail-header h2{margin:0 0 8px;font-size:24px;font-weight:700;color:var(--md-sys-color-on-surface)}.detail-tier-badge{display:inline-block;padding:6px 16px;border-radius:16px;background:var(--tier-color);color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.detail-body{display:flex;flex-direction:column;gap:20px}.detail-section h3{margin:0 0 8px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--md-sys-color-on-surface-variant)}.detail-section p{margin:0;font-size:15px;line-height:1.6;color:var(--md-sys-color-on-surface)}.detail-reward{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);border-radius:12px;font-size:16px;font-weight:700}.detail-reward .material-symbols-outlined{font-size:24px}.detail-unlocked,.detail-locked{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;font-weight:600}.detail-unlocked{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.detail-locked{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.reward-message{font-style:italic;color:var(--md-sys-color-on-surface-variant);margin-top:8px}.share-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:12px;border:none;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.share-button:hover{box-shadow:var(--md-sys-elevation-level3)}.share-button:active{transform:scale(.98)}.share-button .material-symbols-outlined{font-size:20px}@media(max-width:768px){.achievements-page{padding:16px 16px 100px}.header-stats{grid-template-columns:1fr}.stat-card{padding:16px}.stat-icon{width:48px;height:48px}.stat-icon .material-symbols-outlined,.stat-value{font-size:24px}.category-tabs{gap:6px}.category-tab{padding:8px 12px;font-size:13px}.tier-filter{flex-direction:column;align-items:flex-start;gap:8px}.tier-filter label{width:100%}.tier-buttons{width:100%;gap:6px}.tier-btn{flex:1;min-width:0;padding:8px 12px;font-size:12px}.achievement-card{padding:16px}.achievement-icon{width:56px;height:56px}.achievement-icon .material-symbols-outlined{font-size:32px}.achievement-title{font-size:16px}}[data-actual-theme=dark] .achievement-card.unlocked{box-shadow:0 0 0 1px var(--md-sys-color-outline-variant)}@media(prefers-reduced-motion:reduce){.achievement-card,.achievement-icon,.achievement-unlocked-badge,.progress-fill{animation:none!important;transition:none!important}}.jolman-page{min-height:100vh;padding:48px clamp(16px,3vw,56px) 80px;background:radial-gradient(circle at 20% 20%,rgba(118,101,255,.12),transparent 36%),radial-gradient(circle at 80% 0%,rgba(0,184,212,.14),transparent 32%),linear-gradient(180deg,#1212120a,#12121214);color:var(--md-sys-color-on-surface, #1b1b1b)}.jolman-hero{background:color-mix(in srgb,var(--md-sys-color-surface, #fff) 92%,var(--md-sys-color-primary, #6750a4));border:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant, #cac4d0) 80%,transparent);border-radius:28px;padding:clamp(24px,4vw,48px);box-shadow:0 22px 50px #00000014;max-width:1040px;margin:0 auto 40px;text-align:center}.badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:color-mix(in srgb,var(--md-sys-color-primary, #6750a4) 12%,transparent);color:var(--md-sys-color-primary, #6750a4);font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:.85rem}.jolman-hero h1{margin:14px 0 8px;font-size:clamp(2rem,4vw,2.75rem);color:var(--md-sys-color-primary, #6750a4)}.jolman-hero .subtitle{font-size:1.05rem;max-width:720px;margin:0 auto;color:var(--md-sys-color-on-surface-variant, #49454f)}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px}.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;max-width:1100px;margin:0 auto}.pillar-card{padding:18px;border-radius:20px;border:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant, #cac4d0) 85%,transparent);display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;background:var(--md-sys-color-surface, #ffffff)}.pillar-icon{width:48px;height:48px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--md-sys-color-primary, #6750a4) 12%,transparent);color:var(--md-sys-color-primary, #6750a4);font-size:24px}.pillar-content h2{margin:0 0 6px;font-size:1.1rem;color:var(--md-sys-color-on-surface, #1b1b1b)}.pillar-content p{margin:0;color:var(--md-sys-color-on-surface-variant, #49454f)}.highlights{max-width:1040px;margin:44px auto;padding:24px 26px;border-radius:24px;border:1px dashed color-mix(in srgb,var(--md-sys-color-outline, #79747e) 60%,transparent);background:color-mix(in srgb,var(--md-sys-color-surface-variant, #e7e0ec) 35%,transparent)}.highlights-header h3{margin:0 0 8px;font-size:1.3rem;color:var(--md-sys-color-on-surface, #1b1b1b)}.highlights-header p{margin:0;color:var(--md-sys-color-on-surface-variant, #49454f)}.highlight-list{list-style:none;padding:16px 0 0;margin:0;display:grid;gap:12px}.highlight-list li{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--md-sys-color-surface, #fff) 86%,var(--md-sys-color-primary-container, #eaddff));color:var(--md-sys-color-on-surface, #1b1b1b)}.highlight-list .material-symbols-outlined{color:var(--md-sys-color-primary, #6750a4)}.cta-card{max-width:1040px;margin:0 auto;padding:24px 26px;border-radius:24px;background:color-mix(in srgb,var(--md-sys-color-surface, #fff) 95%,var(--md-sys-color-secondary, #625b71));border:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant, #cac4d0) 90%,transparent);display:grid;gap:12px;align-items:center;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));box-shadow:0 10px 30px #00000014}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--md-sys-color-secondary, #625b71);font-weight:700;margin:0 0 6px}.cta-card h3{margin:0;color:var(--md-sys-color-on-surface, #1b1b1b)}.cta-copy{margin:6px 0 0;color:var(--md-sys-color-on-surface-variant, #49454f)}.cta-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start}.cta-actions a{text-decoration:none}@media(max-width:640px){.jolman-page{padding:32px 16px 64px}.pillar-card{grid-template-columns:1fr;text-align:left}.cta-card{grid-template-columns:1fr}}[data-theme=dark]{--gamification-background: #000913;--gamification-surface-lowest: #0f1419;--gamification-surface-low: #1a1f26;--gamification-surface: #1e242b;--gamification-surface-high: #232930;--gamification-surface-highest: #2a3038;--gamification-on-surface: #e8eaed;--gamification-on-surface-variant: #c4c7c5;--gamification-on-surface-variant-dim: #9aa0a6;--gamification-primary: #8ab4f8;--gamification-primary-bright: #aecbfa;--gamification-primary-container: #1a73e8;--gamification-on-primary-container: #d2e3fc;--gamification-secondary: #81c995;--gamification-secondary-bright: #a8dab5;--gamification-secondary-container: #137333;--gamification-on-secondary-container: #e6f4ea;--gamification-tertiary: #fab663;--gamification-tertiary-bright: #fdd663;--gamification-tertiary-container: #ea8600;--gamification-on-tertiary-container: #fef7ff;--gamification-outline: #5f6368;--gamification-outline-variant: #3c4043;--gamification-shadow: rgba(0, 0, 0, .3);--gamification-elevation-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .4), 0px 4px 8px 3px rgba(0, 0, 0, .2)}[data-theme=light],:root{--gamification-background: var(--md-sys-color-background);--gamification-surface-lowest: var(--md-sys-color-surface-container-lowest);--gamification-surface-low: var(--md-sys-color-surface-container-low);--gamification-surface: var(--md-sys-color-surface);--gamification-surface-high: var(--md-sys-color-surface-container-high);--gamification-surface-highest: var(--md-sys-color-surface-container-highest);--gamification-on-surface: var(--md-sys-color-on-surface);--gamification-on-surface-variant: var(--md-sys-color-on-surface-variant);--gamification-on-surface-variant-dim: var(--md-sys-color-on-surface-variant);--gamification-primary: var(--md-sys-color-primary);--gamification-primary-bright: var(--md-sys-color-primary);--gamification-primary-container: var(--md-sys-color-primary-container);--gamification-on-primary-container: var(--md-sys-color-on-primary-container);--gamification-secondary: var(--md-sys-color-secondary);--gamification-secondary-bright: var(--md-sys-color-secondary);--gamification-secondary-container: var(--md-sys-color-secondary-container);--gamification-on-secondary-container: var(--md-sys-color-on-secondary-container);--gamification-tertiary: var(--md-sys-color-tertiary);--gamification-tertiary-bright: var(--md-sys-color-tertiary);--gamification-tertiary-container: var(--md-sys-color-tertiary-container);--gamification-on-tertiary-container: var(--md-sys-color-on-tertiary-container);--gamification-outline: var(--md-sys-color-outline);--gamification-outline-variant: var(--md-sys-color-outline-variant);--gamification-shadow: rgba(0, 0, 0, .15);--gamification-elevation-shadow: var(--md-sys-elevation-level2)}.gamification-page{background:var(--gamification-background);min-height:100vh}.gamification-content-card{background:var(--gamification-surface);border:1px solid var(--gamification-outline-variant);box-shadow:var(--gamification-elevation-shadow);border-radius:12px;transition:all .2s ease}.gamification-page-header{background:linear-gradient(135deg,var(--gamification-primary-container),var(--gamification-secondary-container));border-radius:24px;padding:40px;margin-bottom:32px;position:relative;overflow:hidden;box-shadow:0 8px 32px var(--gamification-shadow);border:2px solid var(--gamification-outline-variant)}.gamification-page-title{color:var(--md-sys-color-on-primary-container)!important;font-weight:700;margin-bottom:8px}.gamification-page-subtitle{color:var(--md-sys-color-on-primary-container)!important;opacity:.9}.gamification-nav-container{background:linear-gradient(135deg,var(--gamification-surface-high),var(--gamification-surface-highest));border-radius:20px;padding:16px;margin-bottom:32px;box-shadow:0 4px 16px var(--gamification-shadow);border:1px solid var(--gamification-outline-variant)}.gamification-nav-button{background:var(--gamification-surface-high);color:var(--gamification-on-surface-variant);border:1px solid var(--gamification-outline-variant);transition:all .2s ease}.gamification-nav-button:hover{background:var(--gamification-surface-highest);color:var(--gamification-on-surface);border-color:var(--gamification-outline)}.gamification-nav-button.active{background:var(--gamification-primary);color:#fff;border-color:var(--gamification-primary);box-shadow:0 2px 4px 0 var(--gamification-shadow)}.gamification-hero-card{background:linear-gradient(135deg,var(--gamification-primary) 0%,var(--gamification-secondary) 100%);border:none;box-shadow:0 4px 12px 0 var(--gamification-shadow),0 1px 3px #0003}.gamification-feature-card{background:var(--gamification-surface-high);border:1px solid var(--gamification-outline-variant);transition:all .2s ease}.gamification-feature-card:hover{background:var(--gamification-surface-highest);border-color:var(--gamification-outline);transform:translateY(-2px);box-shadow:var(--gamification-elevation-shadow)}.gamification-feature-title{color:var(--gamification-on-surface);font-weight:600}.gamification-feature-description{color:var(--gamification-on-surface-variant)}.gamification-section-header{color:var(--gamification-on-surface);font-weight:700;margin-bottom:8px}.gamification-section-subtitle{color:var(--gamification-on-surface-variant)}.gamification-category-card{background:var(--gamification-surface-high);border:1px solid var(--gamification-outline-variant);transition:all .2s ease}.gamification-category-title{color:var(--gamification-on-surface);font-weight:600}.gamification-item{background:var(--gamification-surface-highest);border:1px solid var(--gamification-outline-variant);transition:all .2s ease}.gamification-item:hover{border-color:var(--gamification-outline);transform:translateY(-1px);box-shadow:0 2px 8px 0 var(--gamification-shadow)}.gamification-item-title{color:var(--gamification-on-surface);font-weight:500}.gamification-item-description{color:var(--gamification-on-surface-variant)}.gamification-level-card{background:var(--gamification-surface-high);border:1px solid var(--gamification-outline-variant);transition:all .2s ease}.gamification-level-card.current{background:linear-gradient(135deg,var(--gamification-primary) 0%,var(--gamification-secondary) 100%);border:2px solid var(--gamification-primary-bright);color:#fff;box-shadow:0 4px 12px 0 var(--gamification-shadow),0 0 0 1px #ffffff1a}.gamification-level-card.completed{background:var(--gamification-primary-container);border-color:var(--gamification-primary);color:var(--gamification-on-primary-container)}.gamification-level-card.locked{background:var(--gamification-surface);border-color:var(--gamification-outline-variant);opacity:.6}.gamification-tip-card{background:linear-gradient(135deg,rgba(var(--md-ref-palette-tertiary70),.15),rgba(var(--md-ref-palette-primary70),.15));border:1px solid var(--gamification-outline-variant);transition:all .2s ease}[data-theme=dark] .gamification-tip-card{background:linear-gradient(135deg,#fab66326,#8ab4f826);border-color:var(--gamification-outline)}.gamification-tip-card:hover{transform:translateY(-2px);box-shadow:var(--gamification-elevation-shadow)}.gamification-tip-title{color:var(--gamification-on-surface);font-weight:600}.gamification-tip-description{color:var(--gamification-on-surface-variant)}.gamification-tip-points{color:var(--gamification-primary-bright);background:rgba(var(--md-ref-palette-primary70),.2);border:1px solid var(--gamification-primary)}[data-theme=dark] .gamification-tip-points{background:#8ab4f833;border-color:var(--gamification-primary);color:var(--gamification-primary-bright)}.gamification-point-badge{background:rgba(var(--md-ref-palette-primary70),.15);color:var(--gamification-primary-bright);border:1px solid var(--gamification-primary);font-weight:600;padding:6px 12px;border-radius:20px;font-size:14px}[data-theme=dark] .gamification-point-badge{background:#8ab4f833;color:var(--gamification-primary-bright);border-color:var(--gamification-primary)}.gamification-achievement-badge{background:var(--gamification-surface-highest);border:1px solid var(--gamification-outline);color:var(--gamification-on-surface-variant)}.gamification-achievement-badge.unlocked{background:var(--gamification-primary-container);border-color:var(--gamification-primary);color:var(--gamification-on-primary-container)}.gamification-back-button{background:var(--gamification-surface-high);color:var(--gamification-on-surface);border:1px solid var(--gamification-outline-variant);transition:all .2s ease}.gamification-back-button:hover{background:var(--gamification-surface-highest);border-color:var(--gamification-outline);box-shadow:0 2px 8px 0 var(--gamification-shadow)}[data-theme=dark] .gamification-category-reading{border-left:4px solid var(--gamification-primary-bright)}[data-theme=dark] .gamification-category-library{border-left:4px solid var(--gamification-secondary-bright)}[data-theme=dark] .gamification-category-notes{border-left:4px solid var(--gamification-tertiary-bright)}[data-theme=dark] .gamification-page ::-webkit-scrollbar{width:8px;height:8px}[data-theme=dark] .gamification-page ::-webkit-scrollbar-track{background:var(--gamification-surface)}[data-theme=dark] .gamification-page ::-webkit-scrollbar-thumb{background:var(--gamification-outline);border-radius:4px}[data-theme=dark] .gamification-page ::-webkit-scrollbar-thumb:hover{background:var(--gamification-on-surface-variant-dim)}.gamification-page button:focus-visible,.gamification-page a:focus-visible{outline:2px solid var(--gamification-primary-bright);outline-offset:2px}@media(max-width:768px){.gamification-page{padding:16px}.gamification-content-card{margin:8px 0}.gamification-nav-button{font-size:12px;padding:8px 12px}}@media print{.gamification-page{background:#fff;color:#000}.gamification-content-card{box-shadow:none;border:1px solid #ccc}}.gamification-overview-section{display:flex;flex-direction:column;gap:24px}.gamification-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.gamification-overview-stats{display:flex;justify-content:center;gap:32px;flex-wrap:wrap}.gamification-stat-item{text-align:center}.gamification-stat-value{font-size:28px;font-weight:700;color:#fff}.gamification-stat-label{font-size:14px;opacity:.8;color:#fff}.gamification-section-main-title{margin:0 0 8px;font-size:28px;font-weight:700;color:var(--md-sys-color-on-primary)!important}.gamification-section-main-subtitle{margin:0;font-size:16px;color:var(--md-sys-color-on-surface-variant)!important}.gamification-category-actions{display:grid;gap:12px}.gamification-action-layout{display:flex;justify-content:space-between;align-items:center;padding:16px;border-radius:12px}.gamification-action-left{display:flex;align-items:center;gap:12px}.gamification-action-text h4{font-size:16px;font-weight:500;margin:0 0 4px;color:var(--md-sys-color-on-surface)!important}.gamification-action-text p{font-size:14px;margin:0;color:var(--md-sys-color-on-surface-variant)!important}.gamification-levels-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.gamification-level-card-content{text-align:center;position:relative}.gamification-level-emoji{font-size:32px;margin-bottom:8px;display:block}.gamification-level-title{font-size:18px;font-weight:600;margin-bottom:4px}.gamification-level-subtitle{font-size:14px;margin-bottom:8px;opacity:.7}.gamification-level-points-text{font-size:12px;font-weight:500;opacity:.6}.gamification-achievement-category-container{margin-bottom:24px}.gamification-achievement-category-header{margin:0 0 20px;font-size:20px;font-weight:600}.gamification-achievement-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.gamification-achievement-content{display:flex;align-items:center;gap:12px;margin-bottom:8px}.gamification-achievement-info h4{font-size:16px;font-weight:600;margin:0 0 4px}.gamification-achievement-info p{font-size:14px;margin:0}.gamification-achievement-points{font-size:14px;font-weight:700;text-align:right;margin-top:8px}.gamification-tips-container{display:grid;gap:20px}.gamification-tip-layout{display:flex;gap:16px;align-items:flex-start}.gamification-tip-emoji{font-size:32px;flex-shrink:0}.gamification-tip-info{flex:1}.gamification-tip-info h4{margin:0 0 8px;font-size:18px;font-weight:600}.gamification-tip-info p{margin:0 0 8px;font-size:14px;line-height:1.5}.gamification-tip-points-badge{font-size:12px;font-weight:600;padding:4px 8px;border-radius:12px;display:inline-block}.gamification-category-title,.gamification-feature-title{color:var(--md-sys-color-on-surface)!important}.gamification-feature-description{color:var(--md-sys-color-on-surface-variant)!important}.gamification-item-title{color:var(--md-sys-color-on-surface)!important}.gamification-item-description{color:var(--md-sys-color-on-surface-variant)!important}.gamification-level-title{color:var(--md-sys-color-on-surface)!important}.gamification-level-subtitle{color:var(--md-sys-color-on-surface-variant)!important}.gamification-achievement-info h4{color:var(--md-sys-color-on-surface)!important}.gamification-achievement-info p{color:var(--md-sys-color-on-surface-variant)!important}.gamification-achievement-points{color:var(--md-sys-color-primary)!important}.gamification-tip-info h4{color:var(--md-sys-color-on-surface)!important}.gamification-tip-info p{color:var(--md-sys-color-on-surface-variant)!important}.gamification-content-card,.gamification-feature-card,.gamification-category-card,.gamification-item,.gamification-level-card,.gamification-tip-card{color:var(--md-sys-color-on-surface)!important}.gamification-point-badge,.gamification-tip-points-badge{color:var(--md-sys-color-on-primary-container)!important;background:var(--md-sys-color-primary-container)!important;border:1px solid var(--md-sys-color-primary)!important}.gamification-page{max-width:1200px;margin:0 auto;padding:24px;background:var(--md-sys-color-background)!important;color:var(--md-sys-color-on-background)!important;min-height:100vh}.gamification-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.gamification-page-title{margin:0 0 8px;font-size:28px;color:var(--md-sys-color-on-surface)!important}.gamification-page-subtitle{margin:0;font-size:16px;color:var(--md-sys-color-on-surface-variant)!important}.gamification-nav-container{display:flex;gap:8px;overflow-x:auto;margin-bottom:24px}.gamification-nav-button{padding:12px 20px;border:none;border-radius:20px;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:6px;white-space:nowrap;background:var(--md-sys-color-surface-container)!important;color:var(--md-sys-color-on-surface)!important;transition:all .2s ease}.gamification-nav-button:hover{background:var(--md-sys-color-surface-container-high)!important}.gamification-nav-button.active{background:var(--md-sys-color-primary-container)!important;color:var(--md-sys-color-on-primary-container)!important}.gamification-hero-card{padding:32px;color:#fff!important;text-align:center;background:linear-gradient(135deg,var(--md-sys-color-primary),var(--md-sys-color-secondary))!important}.gamification-hero-title{margin:0 0 16px;font-size:32px;font-weight:700;color:#fff!important}.gamification-hero-subtitle{margin:0 0 24px;font-size:18px;opacity:.9;color:#fff!important}.gamification-feature-card{padding:24px;background:var(--md-sys-color-surface-container)!important;border:1px solid var(--md-sys-color-outline-variant)!important}.gamification-feature-title{margin:0 0 16px;font-size:20px;display:flex;align-items:center;gap:8px;color:var(--md-sys-color-on-surface)!important}.gamification-feature-description{margin:0 0 16px;color:var(--md-sys-color-on-surface-variant)!important}.gamification-points-section,.gamification-levels-section,.gamification-achievements-section,.gamification-tips-section{display:flex;flex-direction:column;gap:24px}.gamification-section-header-container{text-align:center;margin-bottom:24px}.gamification-section-header{margin:0 0 8px;font-size:28px;font-weight:700;color:var(--md-sys-color-on-surface)!important}.gamification-section-subtitle{margin:0;font-size:16px;color:var(--md-sys-color-on-surface-variant)!important}.gamification-category-card{padding:24px;background:var(--md-sys-color-surface-container)!important;border:1px solid var(--md-sys-color-outline-variant)!important}.gamification-category-title{margin:0 0 20px;font-size:20px;display:flex;align-items:center;gap:8px;color:var(--md-sys-color-on-surface)!important}.gamification-actions-grid{display:grid;gap:12px}.gamification-action-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--md-sys-color-surface-container-low)!important;border-radius:12px;border:1px solid var(--md-sys-color-outline-variant)!important}.gamification-action-info{display:flex;align-items:center;gap:12px}.gamification-action-icon{font-size:20px}.gamification-action-name{font-size:16px;font-weight:500;color:var(--md-sys-color-on-surface)!important}.gamification-action-description{font-size:14px;color:var(--md-sys-color-on-surface-variant)!important}.gamification-point-badge{font-size:16px;font-weight:700;padding:6px 12px;border-radius:20px;color:var(--md-sys-color-on-primary-container)!important;background:var(--md-sys-color-primary-container)!important}.gamification-levels-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.gamification-achievement-category-card{padding:24px;background:var(--md-sys-color-surface-container)!important;border:1px solid var(--md-sys-color-outline-variant)!important}.gamification-achievement-category-title{margin:0 0 20px;font-size:20px;font-weight:600;color:var(--md-sys-color-primary)!important}.gamification-achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.gamification-achievement-item{padding:16px;background:var(--md-sys-color-surface-variant)!important;border-radius:12px;border:1px solid var(--md-sys-color-outline-variant)!important}.gamification-achievement-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.gamification-achievement-icon{font-size:24px}.gamification-achievement-name{font-size:16px;font-weight:600;color:var(--md-sys-color-on-surface)!important}.gamification-achievement-requirement{font-size:14px;color:var(--md-sys-color-on-surface-variant)!important}.gamification-achievement-points{font-size:14px;font-weight:700;color:var(--md-sys-color-primary)!important;text-align:right}.gamification-tips-grid{display:grid;gap:20px}.gamification-tip-card{padding:24px;background:linear-gradient(135deg,rgba(var(--md-sys-color-tertiary-rgb),.1),rgba(var(--md-sys-color-primary-rgb),.1))!important;border:1px solid var(--md-sys-color-outline-variant)!important}.gamification-tip-content{display:flex;gap:16px;align-items:flex-start}.gamification-tip-icon{font-size:32px}.gamification-tip-details{flex:1}.gamification-tip-title{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--md-sys-color-on-surface)!important}.gamification-tip-description{margin:0 0 8px;font-size:14px;color:var(--md-sys-color-on-surface-variant)!important;line-height:1.5}.gamification-tip-points{font-size:12px;font-weight:600;color:var(--md-sys-color-primary)!important;background:rgba(var(--md-sys-color-primary-rgb),.1)!important;padding:4px 8px;border-radius:12px;display:inline-block}.leaderboard-page{min-height:100vh;padding:16px 16px 100px;background:var(--md-sys-color-surface)}.leaderboard-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.leaderboard-back-btn,.leaderboard-search-btn{width:44px;height:44px;border:none;border-radius:12px;background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.leaderboard-back-btn:hover,.leaderboard-search-btn:hover{background:var(--md-sys-color-surface-container-high)}.leaderboard-title{flex:1;margin:0;font-size:24px;font-weight:700;color:var(--md-sys-color-on-surface)}.leaderboard-search-panel{background:var(--md-sys-color-surface-container);border-radius:16px;padding:16px;margin-bottom:16px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.search-input-wrapper{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--md-sys-color-surface);border-radius:12px;border:2px solid var(--md-sys-color-outline-variant)}.search-input-wrapper:focus-within{border-color:var(--md-sys-color-primary)}.search-input-wrapper input{flex:1;border:none;background:transparent;font-size:16px;color:var(--md-sys-color-on-surface);outline:none}.search-input-wrapper input::placeholder{color:var(--md-sys-color-on-surface-variant)}.search-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;color:var(--md-sys-color-on-surface-variant)}.spinning{animation:spin 1s linear infinite}.search-results{margin-top:12px;display:flex;flex-direction:column;gap:8px}.search-result-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--md-sys-color-surface);border-radius:12px}.no-results{display:flex;flex-direction:column;align-items:center;padding:24px;color:var(--md-sys-color-on-surface-variant);text-align:center}.no-results .material-symbols-outlined{font-size:48px;margin-bottom:8px;opacity:.5}.leaderboard-tabs{display:flex;gap:8px;padding:4px;background:var(--md-sys-color-surface-container);border-radius:16px;margin-bottom:16px;overflow-x:auto}.lb-tab{flex:1;min-width:-webkit-fit-content;min-width:fit-content;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border:none;border-radius:12px;background:transparent;color:var(--md-sys-color-on-surface-variant);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.lb-tab:hover{background:var(--md-sys-color-surface-container-high)}.lb-tab.active{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.lb-tab .material-symbols-outlined{font-size:18px}.friend-count{padding:2px 6px;border-radius:8px;font-size:11px;font-weight:600;background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.lb-tab.active .friend-count{background:var(--md-sys-color-on-primary);color:var(--md-sys-color-primary)}.leaderboard-reset-timer{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;background:var(--md-sys-color-secondary-container);border-radius:12px;margin-bottom:16px;font-size:13px;color:var(--md-sys-color-on-secondary-container)}.leaderboard-reset-timer strong{color:var(--md-sys-color-secondary)}.leaderboard-sort{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:14px;color:var(--md-sys-color-on-surface-variant)}.leaderboard-sort select{padding:8px 12px;border:2px solid var(--md-sys-color-outline-variant);border-radius:8px;background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);font-size:14px;cursor:pointer}.user-rank-card{background:linear-gradient(135deg,var(--md-sys-color-primary-container) 0%,var(--md-sys-color-tertiary-container) 100%);border-radius:20px;padding:20px;margin-bottom:20px}.your-rank-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--md-sys-color-on-primary-container);opacity:.8;margin-bottom:8px}.your-rank-content{display:flex;align-items:center;gap:16px}.rank-badge{font-size:32px;font-weight:700}.rank-badge.rank-gold{color:gold}.rank-badge.rank-silver{color:silver}.rank-badge.rank-bronze{color:#cd7f32}.rank-badge.rank-default{font-size:24px;color:var(--md-sys-color-on-primary-container)}.your-stats{display:flex;flex-direction:column;gap:2px}.your-points{font-size:24px;font-weight:700;color:var(--md-sys-color-on-primary-container)}.your-streak{font-size:14px;color:var(--md-sys-color-on-primary-container);opacity:.9}.leaderboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--md-sys-color-on-surface-variant)}.spinner{width:40px;height:40px;border:3px solid var(--md-sys-color-surface-container-highest);border-top-color:var(--md-sys-color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.leaderboard-error{display:flex;flex-direction:column;align-items:center;padding:40px 20px;text-align:center}.leaderboard-error .material-symbols-outlined{font-size:48px;color:var(--md-sys-color-error);margin-bottom:12px}.leaderboard-error button{margin-top:16px;padding:10px 20px;border:none;border-radius:20px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-weight:500;cursor:pointer}.leaderboard-list{display:flex;flex-direction:column;gap:8px}.leaderboard-empty{display:flex;flex-direction:column;align-items:center;padding:48px 24px;text-align:center}.leaderboard-empty .material-symbols-outlined{font-size:64px;color:var(--md-sys-color-primary);margin-bottom:16px;opacity:.5}.leaderboard-empty h3{margin:0 0 8px;font-size:20px;color:var(--md-sys-color-on-surface)}.leaderboard-empty p{margin:0;color:var(--md-sys-color-on-surface-variant)}.find-friends-btn{display:flex;align-items:center;gap:8px;margin-top:20px;padding:12px 24px;border:none;border-radius:20px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.find-friends-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.leaderboard-entry{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--md-sys-color-surface-container);border-radius:16px;border:2px solid transparent;transition:all .2s ease}.leaderboard-entry:hover{border-color:var(--md-sys-color-outline-variant)}.leaderboard-entry.current-user{background:var(--md-sys-color-primary-container);border-color:var(--md-sys-color-primary)}.leaderboard-entry.rank-gold{background:linear-gradient(135deg,rgba(255,215,0,.1) 0%,var(--md-sys-color-surface-container) 100%)}.leaderboard-entry.rank-silver{background:linear-gradient(135deg,rgba(192,192,192,.1) 0%,var(--md-sys-color-surface-container) 100%)}.leaderboard-entry.rank-bronze{background:linear-gradient(135deg,rgba(205,127,50,.1) 0%,var(--md-sys-color-surface-container) 100%)}.entry-rank{width:48px;text-align:center}.rank-emoji{font-size:28px}.rank-number{font-size:16px;font-weight:700;color:var(--md-sys-color-on-surface-variant)}.entry-user{flex:1;display:flex;align-items:center;gap:12px;min-width:0}.user-avatar{width:44px;height:44px;border-radius:12px;background:var(--md-sys-color-surface-variant);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-avatar .material-symbols-outlined{font-size:24px;color:var(--md-sys-color-on-surface-variant)}.user-details{display:flex;flex-direction:column;gap:2px;min-width:0}.user-name{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:var(--md-sys-color-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.you-badge{padding:2px 6px;border-radius:6px;font-size:10px;font-weight:600;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.anonymous-badge,.private-badge{padding:2px 6px;border-radius:6px;font-size:10px;font-weight:500;background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant)}.user-secondary,.user-stats{font-size:12px;color:var(--md-sys-color-on-surface-variant)}.user-info{flex:1;display:flex;flex-direction:column;gap:2px}.entry-points{display:flex;flex-direction:column;align-items:flex-end;gap:0}.points-value{font-size:18px;font-weight:700;color:var(--md-sys-color-primary)}.points-label{font-size:11px;color:var(--md-sys-color-on-surface-variant)}.entry-follow-btn,.follow-btn{padding:8px 12px;border:2px solid var(--md-sys-color-primary);border-radius:20px;background:transparent;color:var(--md-sys-color-primary);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.entry-follow-btn{padding:8px}.entry-follow-btn:hover,.follow-btn:hover{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.entry-follow-btn.following,.follow-btn.following{background:var(--md-sys-color-surface-variant);border-color:var(--md-sys-color-outline);color:var(--md-sys-color-on-surface-variant)}.following-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--md-sys-color-outline-variant)}.following-header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--md-sys-color-on-surface);margin-bottom:12px}.following-header .material-symbols-outlined{font-size:18px;color:var(--md-sys-color-primary)}.following-list{display:flex;flex-wrap:wrap;gap:8px}.following-chip{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--md-sys-color-surface-container);border-radius:20px;font-size:13px}.chip-name{color:var(--md-sys-color-on-surface);font-weight:500}.chip-points{color:var(--md-sys-color-primary);font-weight:600}.more-following{display:flex;align-items:center;padding:6px 12px;color:var(--md-sys-color-primary);font-size:13px;font-weight:500}@media(max-width:480px){.leaderboard-page{padding:12px}.leaderboard-title{font-size:20px}.lb-tab{padding:8px 10px;font-size:12px}.lb-tab .material-symbols-outlined{font-size:16px}.user-rank-card{padding:16px}.your-points{font-size:20px}.leaderboard-entry{padding:12px}.entry-rank{width:36px}.rank-emoji{font-size:24px}.user-avatar{width:36px;height:36px}.user-name{font-size:14px}.points-value{font-size:16px}}.leaderboard-entry{animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.leaderboard-list>*:nth-child(1){animation-delay:0ms}.leaderboard-list>*:nth-child(2){animation-delay:50ms}.leaderboard-list>*:nth-child(3){animation-delay:.1s}.leaderboard-list>*:nth-child(4){animation-delay:.15s}.leaderboard-list>*:nth-child(5){animation-delay:.2s}.leaderboard-list>*:nth-child(n+6){animation-delay:.25s}.library-v2{min-height:100vh;padding:24px;background:var(--md-sys-color-surface, #f8fafc);color:var(--md-sys-color-on-surface, #1e293b)}.library-v2.dark{background:var(--md-sys-color-surface, #0f172a);color:var(--md-sys-color-on-surface, #f1f5f9)}.library-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--md-sys-color-outline-variant, #e2e8f0)}.library-v2.dark .library-header{border-bottom-color:#334155}.library-header h1{font-size:28px;font-weight:600;margin:0}.back-to-original{padding:8px 16px;background:var(--md-sys-color-surface-container, #f1f5f9);border:1px solid var(--md-sys-color-outline, #cbd5e1);border-radius:8px;color:var(--md-sys-color-on-surface, #334155);cursor:pointer;font-size:14px;transition:all .2s}.back-to-original:hover{background:var(--md-sys-color-surface-container-high, #e2e8f0)}.library-v2.dark .back-to-original{background:#1e293b;border-color:#475569;color:#e2e8f0}.library-v2.dark .back-to-original:hover{background:#334155}.filter-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.filter-tabs{display:flex;gap:8px;flex-wrap:wrap}.filter-tab{padding:8px 16px;background:transparent;border:1px solid var(--md-sys-color-outline-variant, #cbd5e1);border-radius:20px;color:var(--md-sys-color-on-surface-variant, #64748b);cursor:pointer;font-size:14px;transition:all .2s}.filter-tab:hover{background:var(--md-sys-color-surface-container, #f1f5f9)}.filter-tab.active{background:var(--md-sys-color-primary, #3b82f6);border-color:var(--md-sys-color-primary, #3b82f6);color:var(--md-sys-color-on-primary, white)}.library-v2.dark .filter-tab{border-color:#475569;color:#94a3b8}.library-v2.dark .filter-tab:hover{background:#1e293b}.library-v2.dark .filter-tab.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.showing-count{font-size:14px;color:var(--md-sys-color-on-surface-variant, #64748b)}.table-container{background:var(--md-sys-color-surface-container-lowest, white);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.library-v2.dark .table-container{background:#1e293b;box-shadow:0 1px 3px #0000004d}.books-table{width:100%;border-collapse:collapse}.books-table thead{background:var(--md-sys-color-surface-container, #f8fafc);border-bottom:2px solid var(--md-sys-color-outline-variant, #e2e8f0)}.library-v2.dark .books-table thead{background:#0f172a;border-bottom-color:#334155}.books-table th{padding:14px 16px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--md-sys-color-on-surface-variant, #64748b);white-space:nowrap}.books-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.books-table th.sortable:hover{color:var(--md-sys-color-primary, #3b82f6)}.sort-indicator{margin-left:4px;font-size:10px}.books-table tbody tr{border-bottom:1px solid var(--md-sys-color-outline-variant, #f1f5f9);cursor:pointer;transition:background .15s}.books-table tbody tr:hover{background:var(--md-sys-color-surface-container, #f8fafc)}.library-v2.dark .books-table tbody tr{border-bottom-color:#334155}.library-v2.dark .books-table tbody tr:hover{background:#334155}.books-table td{padding:12px 16px;vertical-align:middle}.col-cover{width:80px}.col-title{min-width:200px}.col-author{min-width:150px}.col-status{width:120px}.col-date{width:100px}.col-notes{width:80px;text-align:center}.col-actions{width:80px}.book-cover-thumb{width:80px;height:110px;border-radius:4px;overflow:hidden;background:var(--md-sys-color-surface-container, #e2e8f0);flex-shrink:0}.book-cover-thumb img{width:100%;height:110px;object-fit:cover}.cover-placeholder{width:100%;height:110px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff}.cover-placeholder .material-symbols-outlined{font-size:24px;opacity:.8}.book-title{font-weight:500;color:var(--md-sys-color-on-surface, #1e293b);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.library-v2.dark .book-title{color:#f1f5f9}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge.read{background:#dcfce7;color:#166534}.status-badge.currently-reading{background:#dbeafe;color:#1e40af}.status-badge.to-read{background:#f1f5f9;color:#475569}.library-v2.dark .status-badge.read{background:#166534;color:#dcfce7}.library-v2.dark .status-badge.currently-reading{background:#1e40af;color:#dbeafe}.library-v2.dark .status-badge.to-read{background:#334155;color:#94a3b8}.notes-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:var(--md-sys-color-tertiary-container, #fef3c7);color:var(--md-sys-color-on-tertiary-container, #92400e);border-radius:12px;font-size:12px;font-weight:600}.library-v2.dark .notes-badge{background:#78350f;color:#fef3c7}.action-btn{padding:6px 14px;background:var(--md-sys-color-primary, #3b82f6);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.action-btn:hover{background:var(--md-sys-color-primary, #2563eb);transform:translateY(-1px)}.loading-state,.error-state,.empty-state{display:flex;align-items:center;justify-content:center;min-height:300px;font-size:16px;color:var(--md-sys-color-on-surface-variant, #64748b)}.error-state{color:var(--md-sys-color-error, #dc2626)}.active-session-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:20px;background:linear-gradient(135deg,#dbeafe,#e0f2fe);border:1px solid #93c5fd;border-radius:12px;flex-wrap:wrap}.library-v2.dark .active-session-banner{background:linear-gradient(135deg,#1e3a5f,#1e40af);border-color:#3b82f6}.session-icon{font-size:24px}.session-text{flex:1;font-size:14px;color:#1e40af}.library-v2.dark .session-text{color:#93c5fd}.session-text strong{font-weight:600}.paused-badge{margin-left:8px;padding:2px 8px;background:#f59e0b;color:#fff;border-radius:4px;font-size:11px;font-weight:600}.session-actions{display:flex;gap:8px}.session-btn{padding:6px 12px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.session-btn.pause{background:#f59e0b;color:#fff}.session-btn.pause:hover{background:#d97706}.session-btn.resume{background:#22c55e;color:#fff}.session-btn.resume:hover{background:#16a34a}.session-btn.end{background:#ef4444;color:#fff}.session-btn.end:hover{background:#dc2626}.active-session-row{background:#3b82f614!important}.library-v2.dark .active-session-row{background:#3b82f626!important}.active-indicator{position:absolute;bottom:4px;right:4px;width:20px;height:20px;background:#3b82f6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff;box-shadow:0 2px 4px #0003}.book-cover-thumb,.actions-dropdown{position:relative}.actions-trigger{width:32px;height:32px;border:none;background:transparent;border-radius:50%;font-size:18px;font-weight:700;cursor:pointer;color:var(--md-sys-color-on-surface-variant, #64748b);transition:all .2s}.actions-trigger:hover{background:var(--md-sys-color-surface-container, #f1f5f9)}.library-v2.dark .actions-trigger:hover{background:#334155}.actions-menu{position:absolute;top:100%;right:0;min-width:200px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #00000026;z-index:100;overflow:hidden}.library-v2.dark .actions-menu{background:#1e293b;border-color:#334155;box-shadow:0 4px 16px #0006}.menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:none;background:transparent;font-size:14px;text-align:left;cursor:pointer;color:var(--md-sys-color-on-surface, #1e293b);transition:background .15s}.menu-item:hover{background:var(--md-sys-color-surface-container, #f1f5f9)}.library-v2.dark .menu-item{color:#e2e8f0}.library-v2.dark .menu-item:hover{background:#334155}.menu-item.primary{color:#3b82f6;font-weight:500}.menu-item.success{color:#16a34a;font-weight:500}.menu-item:disabled{opacity:.5;cursor:not-allowed}.menu-divider{height:1px;background:#e2e8f0;margin:4px 0}.library-v2.dark .menu-divider{background:#334155}@media(max-width:1024px){.col-date{display:none}}@media(max-width:768px){.library-v2{padding:16px}.library-header{flex-direction:column;gap:12px;align-items:flex-start}.library-header h1{font-size:24px}.filter-bar{flex-direction:column;align-items:flex-start}.table-container{overflow-x:auto}.books-table{min-width:600px}.col-author,.col-notes{display:none}}@media(max-width:480px){.col-status{display:none}.books-table{min-width:400px}}.api-key-configuration{max-width:800px;margin:0 auto;padding:24px;border-radius:16px;background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant)}.config-header{margin-bottom:32px}.header-content{display:flex;align-items:center;gap:16px}.header-icon{color:var(--md-sys-color-primary);flex-shrink:0}.config-header h2{margin:0 0 4px;color:var(--md-sys-color-on-surface);font-size:24px;font-weight:500}.config-header p{margin:0;color:var(--md-sys-color-on-surface-variant);font-size:14px}.security-notice{display:flex;align-items:flex-start;gap:12px;padding:16px;margin-bottom:24px;background:var(--md-sys-color-secondary-container);border-radius:12px;border-left:4px solid var(--md-sys-color-secondary)}.notice-icon{color:var(--md-sys-color-secondary);flex-shrink:0;margin-top:2px}.notice-content p{margin:0;color:var(--md-sys-color-on-secondary-container);font-size:14px;line-height:1.4}.provider-tabs{display:flex;gap:4px;margin-bottom:24px;padding:4px;background:var(--md-sys-color-surface-container);border-radius:12px;overflow-x:auto}.provider-tab{flex:1;min-width:120px;padding:12px 16px;border:none;border-radius:8px;background:transparent;color:var(--md-sys-color-on-surface-variant);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;justify-content:center}.provider-tab:hover{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface)}.provider-tab.active{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.tab-content{display:flex;align-items:center;gap:6px}.tab-name{text-transform:capitalize}.tab-check{color:var(--md-sys-color-on-primary)}.provider-configuration{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}@media(max-width:768px){.provider-configuration{grid-template-columns:1fr}}.provider-info{padding:20px;background:var(--md-sys-color-surface-container);border-radius:12px}.provider-info h4{margin:0 0 8px;color:var(--md-sys-color-on-surface);font-size:16px;font-weight:500}.provider-description{margin:0 0 12px;color:var(--md-sys-color-on-surface-variant);font-size:14px}.key-format{margin:0 0 16px;font-size:13px;color:var(--md-sys-color-on-surface-variant)}.key-format code{background:var(--md-sys-color-surface-container-high);padding:2px 6px;border-radius:4px;font-family:Fira Code,monospace;font-size:12px}.get-key-link{display:inline-flex;align-items:center;color:var(--md-sys-color-primary);text-decoration:none;font-size:14px;font-weight:500;transition:color .2s ease}.get-key-link:hover{color:var(--md-sys-color-primary-container);text-decoration:underline}.provider-key-form{padding:20px;background:var(--md-sys-color-surface-container);border-radius:12px;border:2px solid transparent;transition:border-color .2s ease}.provider-key-form.configured{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-primary-container)}.form-header{margin-bottom:16px}.provider-status{display:flex;align-items:center;gap:8px}.status-icon.success{color:var(--md-sys-color-primary)}.status-icon.warning{color:var(--md-sys-color-error)}.status-text{font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface)}.configured-key-info{padding:16px;background:var(--md-sys-color-surface-container-low);border-radius:8px;margin-bottom:12px}.configured-key-info p{margin:0 0 4px;font-size:13px;color:var(--md-sys-color-on-surface-variant)}.key-prefix{font-family:Fira Code,monospace;font-weight:500!important;color:var(--md-sys-color-on-surface)!important}.remove-key-button{display:flex;align-items:center;gap:6px;padding:8px 12px;margin-top:12px;background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border:none;border-radius:8px;font-size:13px;cursor:pointer;transition:background-color .2s ease}.remove-key-button:hover{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}.key-input-section{display:flex;flex-direction:column;gap:12px}.key-input-wrapper{position:relative;display:flex}.key-input{flex:1;padding:12px 48px 12px 16px;border:2px solid var(--md-sys-color-outline);border-radius:8px;background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);font-size:14px;font-family:Fira Code,monospace;transition:border-color .2s ease}.key-input:focus{outline:none;border-color:var(--md-sys-color-primary)}.key-input::placeholder{color:var(--md-sys-color-on-surface-variant);font-family:system-ui,-apple-system,sans-serif}.toggle-visibility{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:8px;border:none;background:transparent;color:var(--md-sys-color-on-surface-variant);cursor:pointer;border-radius:4px;transition:background-color .2s ease}.toggle-visibility:hover{background:var(--md-sys-color-surface-container-high)}.save-key-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.save-key-button:hover:not(:disabled){background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.save-key-button:disabled{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant);cursor:not-allowed}.loading-spinner.small{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.validation-error,.validation-success{display:flex;align-items:center;gap:8px;padding:12px;border-radius:8px;font-size:13px;margin-top:8px}.validation-error{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.validation-success{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.configuration-summary{padding:20px;background:var(--md-sys-color-primary-container);border-radius:12px;margin-bottom:24px}.configuration-summary h4{margin:0 0 12px;color:var(--md-sys-color-on-primary-container);font-size:16px;font-weight:500}.provider-list{display:flex;flex-wrap:wrap;gap:8px}.provider-item{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);border-radius:16px;font-size:13px;text-transform:capitalize}.provider-check{color:var(--md-sys-color-primary)}.advanced-options{border-top:1px solid var(--md-sys-color-outline-variant);padding-top:24px}.toggle-advanced{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 0;background:transparent;border:none;color:var(--md-sys-color-on-surface-variant);font-size:14px;font-weight:500;cursor:pointer}.advanced-content{padding-top:16px;display:flex;flex-direction:column;gap:16px}.clear-all-button{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border:none;border-radius:8px;font-size:14px;cursor:pointer;transition:background-color .2s ease;align-self:flex-start}.clear-all-button:hover{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}.debug-info{padding:16px;background:var(--md-sys-color-surface-container);border-radius:8px}.debug-info h5{margin:0 0 8px;color:var(--md-sys-color-on-surface);font-size:14px;font-weight:500}.debug-info p{margin:4px 0;color:var(--md-sys-color-on-surface-variant);font-size:13px;font-family:Fira Code,monospace}.theme-dark .api-key-configuration{background:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-outline)}.theme-dark .config-header h2{color:var(--md-sys-color-on-surface)}.theme-dark .config-header p{color:var(--md-sys-color-on-surface-variant)}.theme-dark .security-notice{background:var(--md-sys-color-secondary-container);border-left-color:var(--md-sys-color-secondary)}.theme-dark .notice-content p{color:var(--md-sys-color-on-secondary-container)}.theme-dark .provider-tabs{background:var(--md-sys-color-surface-container-low)}.theme-dark .provider-tab{color:var(--md-sys-color-on-surface-variant)}.theme-dark .provider-tab:hover{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface)}.theme-dark .provider-tab.active{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.theme-dark .provider-info h4{color:var(--md-sys-color-on-surface)}.theme-dark .provider-description,.theme-dark .key-format{color:var(--md-sys-color-on-surface-variant)}.theme-dark .provider-key-form.configured{background:var(--md-sys-color-primary-container)}.theme-dark .status-text{color:var(--md-sys-color-on-surface)}.theme-dark .configured-key-info p{color:var(--md-sys-color-on-surface-variant)}.theme-dark .key-input{background:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-outline);color:var(--md-sys-color-on-surface)}.theme-dark .key-input::placeholder{color:var(--md-sys-color-on-surface-variant);opacity:.7}.theme-dark .save-key-button{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.theme-dark .save-key-button:hover:not(:disabled){background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.theme-dark .remove-key-button,.theme-dark .validation-error{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.theme-dark .validation-success{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.theme-dark .get-key-link{color:var(--md-sys-color-primary)}.theme-dark .get-key-link:hover{color:var(--md-sys-color-primary-container)}.theme-dark .key-format code{background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface)}@media(max-width:640px){.api-key-configuration{padding:16px;margin:16px}.provider-tabs{flex-direction:column}.provider-tab{min-width:unset}.key-input-wrapper{flex-direction:column;gap:8px}.toggle-visibility{position:relative;right:auto;top:auto;transform:none;align-self:flex-end;margin-top:-40px;margin-right:8px}}.literary-mentor-ui{background:linear-gradient(135deg,#4f46e514,#ea580c14);border-radius:16px;border:1px solid rgba(79,70,229,.2);padding:24px;box-shadow:0 4px 12px #0000001a;min-height:500px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mentor-header{margin-bottom:var(--md-sys-spacing-6)}.mentor-greeting h2{font-family:var(--md-sys-typescale-headline-medium-font-family);font-size:var(--md-sys-typescale-headline-medium-font-size);font-weight:var(--md-sys-typescale-headline-medium-font-weight);color:rgb(var(--md-sys-color-on-surface));margin:0 0 var(--md-sys-spacing-2) 0}.mentor-subtitle{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:rgb(var(--md-sys-color-on-surface-variant));margin:0}.api-warning{display:flex;align-items:center;gap:var(--md-sys-spacing-2);margin-top:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);background:rgba(var(--md-sys-color-error-container),.8);color:rgb(var(--md-sys-color-on-error-container));border-radius:var(--md-sys-shape-corner-medium);font-size:var(--md-sys-typescale-body-small-font-size)}.api-warning .config-button{margin-left:auto;padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3);background:rgb(var(--md-sys-color-primary));color:rgb(var(--md-sys-color-on-primary));border:none;border-radius:var(--md-sys-shape-corner-small);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:var(--md-sys-typescale-label-medium-font-weight);cursor:pointer;transition:background-color .2s ease}.api-warning .config-button:hover{background:rgba(var(--md-sys-color-primary),.8)}.mentor-tabs{display:flex;gap:var(--md-sys-spacing-2);margin-top:var(--md-sys-spacing-4);border-bottom:1px solid rgba(var(--md-sys-color-outline),.2);padding-bottom:var(--md-sys-spacing-2)}.tab-button{display:flex;align-items:center;gap:8px;padding:12px 16px;background:transparent;border:none;border-radius:8px;color:var(--md-sys-color-on-surface-variant);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative}.tab-button:hover{background:#4f46e51f;color:var(--md-sys-color-primary)}.tab-button.active{color:var(--md-sys-color-primary);background:#4f46e529;font-weight:600}.tab-button.active:after{content:"";position:absolute;bottom:-2px;left:16px;right:16px;height:3px;background:var(--md-sys-color-primary);border-radius:2px}[data-theme=dark] .tab-button,.dark .tab-button,.dashboard-container.dark .tab-button{color:#ffffffb3}[data-theme=dark] .tab-button:hover,.dark .tab-button:hover,.dashboard-container.dark .tab-button:hover{background:#4f46e533;color:#ffffffe6}[data-theme=dark] .tab-button.active,.dark .tab-button.active,.dashboard-container.dark .tab-button.active{color:#fff;background:#4f46e54d}.mentor-insights-panel{padding:var(--md-sys-spacing-4)}.insights-header{display:flex;align-items:center;gap:var(--md-sys-spacing-3);margin-bottom:var(--md-sys-spacing-4)}.insights-icon{color:rgb(var(--md-sys-color-primary));width:24px;height:24px}.insights-header h3{font-family:var(--md-sys-typescale-title-large-font-family);font-size:var(--md-sys-typescale-title-large-font-size);font-weight:var(--md-sys-typescale-title-large-font-weight);color:rgb(var(--md-sys-color-on-surface));margin:0}.insight-card{display:flex;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-4);background:rgba(var(--md-sys-color-surface),.8);border:1px solid rgba(var(--md-sys-color-outline),.2);border-radius:var(--md-sys-shape-corner-medium);margin-bottom:var(--md-sys-spacing-3);transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.insight-card:hover{transform:translateY(-2px);box-shadow:var(--md-sys-elevation-level2)}.insight-card.insight-streak{background:linear-gradient(135deg,#ff98001a,#ff57221a);border-color:#ff98004d}.insight-card.insight-progress{background:linear-gradient(135deg,#4caf501a,#8bc34a1a);border-color:#4caf504d}.insight-card.insight-recommendation{background:linear-gradient(135deg,rgba(var(--md-sys-color-primary),.1),rgba(var(--md-sys-color-tertiary),.1));border-color:rgba(var(--md-sys-color-primary),.3)}.insight-icon{font-size:28px;min-width:40px;text-align:center}.insight-content{flex:1}.insight-message{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:rgb(var(--md-sys-color-on-surface));margin:0 0 var(--md-sys-spacing-2) 0}.insight-action{display:inline-flex;align-items:center;gap:var(--md-sys-spacing-1);padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3);background:rgba(var(--md-sys-color-primary),.1);color:rgb(var(--md-sys-color-primary));border:1px solid rgba(var(--md-sys-color-primary),.3);border-radius:var(--md-sys-shape-corner-small);font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);cursor:pointer;transition:all var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.insight-action:hover{background:rgba(var(--md-sys-color-primary),.2);transform:translate(2px)}.reading-stats{margin:var(--md-sys-spacing-6) 0;padding:var(--md-sys-spacing-4);background:rgba(var(--md-sys-color-surface),.6);border-radius:var(--md-sys-shape-corner-large)}.reading-stats h4{font-family:var(--md-sys-typescale-title-medium-font-family);font-size:var(--md-sys-typescale-title-medium-font-size);font-weight:var(--md-sys-typescale-title-medium-font-weight);color:rgb(var(--md-sys-color-on-surface));margin:0 0 var(--md-sys-spacing-4) 0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--md-sys-spacing-4)}.stat-item{display:flex;align-items:center;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-3);background:rgba(var(--md-sys-color-primary),.05);border-radius:var(--md-sys-shape-corner-medium)}.stat-item svg{color:rgb(var(--md-sys-color-primary))}.stat-item>div{display:flex;flex-direction:column}.stat-label{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);color:rgb(var(--md-sys-color-on-surface-variant));margin-bottom:var(--md-sys-spacing-1)}.stat-value{font-family:var(--md-sys-typescale-title-small-font-family);font-size:var(--md-sys-typescale-title-small-font-size);font-weight:var(--md-sys-typescale-title-small-font-weight);color:rgb(var(--md-sys-color-on-surface))}.suggested-actions{margin-top:var(--md-sys-spacing-4)}.suggested-actions h4{font-family:var(--md-sys-typescale-title-medium-font-family);font-size:var(--md-sys-typescale-title-medium-font-size);color:rgb(var(--md-sys-color-on-surface));margin:0 0 var(--md-sys-spacing-3) 0}.action-button{display:flex;align-items:center;gap:var(--md-sys-spacing-2);width:100%;padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);margin-bottom:var(--md-sys-spacing-2);background:rgba(var(--md-sys-color-secondary),.1);border:1px solid rgba(var(--md-sys-color-secondary),.3);border-radius:var(--md-sys-shape-corner-medium);color:rgb(var(--md-sys-color-on-surface));font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);text-align:left}.action-button:hover{background:rgba(var(--md-sys-color-secondary),.2);transform:translate(4px)}.mentor-discussion-panel{padding:var(--md-sys-spacing-4)}.discussion-header{display:flex;align-items:center;gap:var(--md-sys-spacing-3);margin-bottom:var(--md-sys-spacing-4)}.discussion-icon{color:rgb(var(--md-sys-color-primary));width:24px;height:24px}.discussion-header h3{font-family:var(--md-sys-typescale-title-large-font-family);font-size:var(--md-sys-typescale-title-large-font-size);color:rgb(var(--md-sys-color-on-surface));margin:0;flex:1}.current-book{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:rgb(var(--md-sys-color-on-surface-variant));padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3);background:rgba(var(--md-sys-color-primary),.1);border-radius:var(--md-sys-shape-corner-small)}.no-book-selected{text-align:center;padding:var(--md-sys-spacing-8);color:rgb(var(--md-sys-color-on-surface-variant))}.no-book-selected svg{margin-bottom:var(--md-sys-spacing-3);color:rgba(var(--md-sys-color-on-surface-variant),.5)}.current-question{display:flex;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-4);background:linear-gradient(135deg,rgba(var(--md-sys-color-tertiary),.1),rgba(var(--md-sys-color-secondary),.1));border:1px solid rgba(var(--md-sys-color-tertiary),.3);border-radius:var(--md-sys-shape-corner-medium);margin-bottom:var(--md-sys-spacing-4)}.question-icon{color:rgb(var(--md-sys-color-tertiary));min-width:24px}.question-text{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:rgb(var(--md-sys-color-on-surface));margin:0;line-height:1.6}.discussion-history{max-height:300px;overflow-y:auto;margin-bottom:var(--md-sys-spacing-4);padding:var(--md-sys-spacing-3);background:rgba(var(--md-sys-color-surface),.5);border-radius:var(--md-sys-shape-corner-medium)}.discussion-entry{display:flex;gap:var(--md-sys-spacing-3);margin-bottom:var(--md-sys-spacing-3);animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.discussion-entry.user{flex-direction:row-reverse}.entry-avatar{font-size:24px;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.entry-content{flex:1;padding:var(--md-sys-spacing-3);background:rgba(var(--md-sys-color-surface),.9);border-radius:var(--md-sys-shape-corner-medium);border:1px solid rgba(var(--md-sys-color-outline),.2)}.discussion-entry.user .entry-content{background:rgba(var(--md-sys-color-primary),.1);border-color:rgba(var(--md-sys-color-primary),.3)}.entry-content p{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:rgb(var(--md-sys-color-on-surface));margin:0 0 var(--md-sys-spacing-1) 0}.entry-time{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);color:rgb(var(--md-sys-color-on-surface-variant))}.response-input{margin-bottom:var(--md-sys-spacing-4)}.response-textarea{width:100%;padding:var(--md-sys-spacing-3);background:rgba(var(--md-sys-color-surface),.8);border:1px solid rgba(var(--md-sys-color-outline),.3);border-radius:var(--md-sys-shape-corner-medium);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:rgb(var(--md-sys-color-on-surface));resize:vertical;transition:all var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.response-textarea:focus{outline:none;border-color:rgb(var(--md-sys-color-primary));background:rgb(var(--md-sys-color-surface))}.submit-response{width:100%;margin-top:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);background:rgb(var(--md-sys-color-primary));color:rgb(var(--md-sys-color-on-primary));border:none;border-radius:var(--md-sys-shape-corner-medium);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.submit-response:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--md-sys-elevation-level2)}.submit-response:disabled{opacity:.5;cursor:not-allowed}.discussion-prompts h4{font-family:var(--md-sys-typescale-title-small-font-family);font-size:var(--md-sys-typescale-title-small-font-size);color:rgb(var(--md-sys-color-on-surface));margin:0 0 var(--md-sys-spacing-3) 0}.prompts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--md-sys-spacing-2)}.prompt-button{padding:var(--md-sys-spacing-3);background:rgba(var(--md-sys-color-secondary),.08);border:1px solid rgba(var(--md-sys-color-secondary),.2);border-radius:var(--md-sys-shape-corner-small);font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);color:rgb(var(--md-sys-color-on-surface));cursor:pointer;transition:all var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.prompt-button:hover{background:rgba(var(--md-sys-color-secondary),.15);border-color:rgba(var(--md-sys-color-secondary),.3)}.mentor-quiz-panel{padding:var(--md-sys-spacing-4)}.quiz-header{display:flex;align-items:center;gap:var(--md-sys-spacing-3);margin-bottom:var(--md-sys-spacing-4)}.quiz-icon{color:rgb(var(--md-sys-color-primary));width:24px;height:24px}.quiz-header h3{font-family:var(--md-sys-typescale-title-large-font-family);font-size:var(--md-sys-typescale-title-large-font-size);color:rgb(var(--md-sys-color-on-surface));margin:0}.quiz-intro{text-align:center;padding:var(--md-sys-spacing-6)}.quiz-intro h4{font-family:var(--md-sys-typescale-headline-small-font-family);font-size:var(--md-sys-typescale-headline-small-font-size);color:rgb(var(--md-sys-color-on-surface));margin:0 0 var(--md-sys-spacing-3) 0}.quiz-benefits{list-style:none;padding:0;margin:var(--md-sys-spacing-4) 0;text-align:left;max-width:400px;margin-left:auto;margin-right:auto}.quiz-benefits li{padding:var(--md-sys-spacing-2);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:rgb(var(--md-sys-color-on-surface))}.start-quiz-button{padding:var(--md-sys-spacing-4) var(--md-sys-spacing-6);background:rgb(var(--md-sys-color-primary));color:rgb(var(--md-sys-color-on-primary));border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.start-quiz-button:hover{transform:scale(1.05);box-shadow:var(--md-sys-elevation-level3)}.quiz-question{max-width:600px;margin:0 auto}.question-progress{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--md-sys-spacing-4)}.question-progress span{font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);color:rgb(var(--md-sys-color-on-surface-variant))}.progress-bar{flex:1;height:4px;background:rgba(var(--md-sys-color-outline),.2);border-radius:2px;margin-left:var(--md-sys-spacing-4);overflow:hidden}.progress-fill{height:100%;background:rgb(var(--md-sys-color-primary));transition:width .3s ease}.question-content{padding:var(--md-sys-spacing-4);background:rgba(var(--md-sys-color-surface),.8);border-radius:var(--md-sys-shape-corner-large);margin-bottom:var(--md-sys-spacing-4)}.question-text{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:rgb(var(--md-sys-color-on-surface));margin:0 0 var(--md-sys-spacing-4) 0;line-height:1.6}.answer-options{display:flex;flex-direction:column;gap:var(--md-sys-spacing-2)}.answer-option{padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);background:rgba(var(--md-sys-color-surface),.9);border:2px solid rgba(var(--md-sys-color-outline),.3);border-radius:var(--md-sys-shape-corner-medium);font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:rgb(var(--md-sys-color-on-surface));cursor:pointer;text-align:left;transition:all var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.answer-option:hover{background:rgba(var(--md-sys-color-primary),.08);border-color:rgba(var(--md-sys-color-primary),.5)}.answer-option.selected{background:rgba(var(--md-sys-color-primary),.15);border-color:rgb(var(--md-sys-color-primary))}.answer-textarea{width:100%;padding:var(--md-sys-spacing-3);background:rgba(var(--md-sys-color-surface),.9);border:1px solid rgba(var(--md-sys-color-outline),.3);border-radius:var(--md-sys-shape-corner-medium);font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:rgb(var(--md-sys-color-on-surface));resize:vertical}.question-hint{display:flex;align-items:center;gap:var(--md-sys-spacing-2);margin-top:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3);background:rgba(var(--md-sys-color-tertiary),.1);border-radius:var(--md-sys-shape-corner-small);font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);color:rgb(var(--md-sys-color-on-surface-variant))}.question-hint svg{color:rgb(var(--md-sys-color-tertiary))}.next-question-button{width:100%;padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);background:rgb(var(--md-sys-color-primary));color:rgb(var(--md-sys-color-on-primary));border:none;border-radius:var(--md-sys-shape-corner-medium);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.next-question-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--md-sys-elevation-level2)}.next-question-button:disabled{opacity:.5;cursor:not-allowed}.quiz-results{text-align:center;padding:var(--md-sys-spacing-6)}.score-display{margin-bottom:var(--md-sys-spacing-4)}.trophy-icon{width:64px;height:64px;margin-bottom:var(--md-sys-spacing-3)}.trophy-icon.gold{color:gold}.trophy-icon.silver{color:silver}.score-display h2{font-family:var(--md-sys-typescale-display-small-font-family);font-size:var(--md-sys-typescale-display-small-font-size);font-weight:var(--md-sys-typescale-display-small-font-weight);color:rgb(var(--md-sys-color-primary));margin:0}.score-display p{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:rgb(var(--md-sys-color-on-surface-variant));margin:var(--md-sys-spacing-2) 0}.score-feedback{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:rgb(var(--md-sys-color-on-surface));margin:var(--md-sys-spacing-4) 0;padding:var(--md-sys-spacing-4);background:rgba(var(--md-sys-color-primary),.08);border-radius:var(--md-sys-shape-corner-medium)}.quiz-actions{display:flex;gap:var(--md-sys-spacing-3);justify-content:center;margin-top:var(--md-sys-spacing-4)}.retake-quiz,.new-quiz{padding:var(--md-sys-spacing-3) var(--md-sys-spacing-5);background:rgba(var(--md-sys-color-primary),.1);color:rgb(var(--md-sys-color-primary));border:1px solid rgb(var(--md-sys-color-primary));border-radius:var(--md-sys-shape-corner-medium);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.retake-quiz:hover,.new-quiz:hover{background:rgb(var(--md-sys-color-primary));color:rgb(var(--md-sys-color-on-primary))}.mentor-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:rgb(var(--md-sys-color-on-surface-variant))}.loading-spinner{width:48px;height:48px;border:4px solid rgba(var(--md-sys-color-primary),.2);border-top-color:rgb(var(--md-sys-color-primary));border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--md-sys-spacing-4)}[data-theme=dark] .literary-mentor-ui,.dark .literary-mentor-ui,.dashboard-container.dark .literary-mentor-ui{background:linear-gradient(135deg,#4f46e526,#ea580c26);border:1px solid rgba(255,255,255,.1)}[data-theme=dark] .insight-card,.dark .insight-card,.dashboard-container.dark .insight-card,[data-theme=dark] .reading-stats,.dark .reading-stats,.dashboard-container.dark .reading-stats,[data-theme=dark] .discussion-history,.dark .discussion-history,.dashboard-container.dark .discussion-history,[data-theme=dark] .question-content,.dark .question-content,.dashboard-container.dark .question-content,[data-theme=dark] .answer-option,.dark .answer-option,.dashboard-container.dark .answer-option{background:rgb(var(--md-sys-color-surface-container-high));border-color:#fff3}[data-theme=dark] .response-textarea:focus,.dark .response-textarea:focus,.dashboard-container.dark .response-textarea:focus,[data-theme=dark] .answer-textarea,.dark .answer-textarea,.dashboard-container.dark .answer-textarea{background:#1f2937e6;border-color:#4f46e5cc}.api-config-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{position:relative;background:var(--md-sys-color-surface);border-radius:16px;max-width:900px;max-height:90vh;width:90%;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.modal-header h2{margin:0;font-size:24px;font-weight:500;color:var(--md-sys-color-on-surface)}.close-button{background:none;border:none;font-size:24px;color:var(--md-sys-color-on-surface-variant);cursor:pointer;padding:8px;border-radius:8px;transition:background-color .2s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.close-button:hover{background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface)}.theme-dark .modal-content{background:var(--md-sys-color-surface-container);box-shadow:0 8px 32px #0009}.theme-dark .modal-header{border-bottom-color:var(--md-sys-color-outline)}.theme-dark .modal-header h2{color:var(--md-sys-color-on-surface)}.theme-dark .close-button{color:var(--md-sys-color-on-surface-variant)}.theme-dark .close-button:hover{background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface)}:root:not([data-theme=dark]) .mentor-insights-panel,:root:not([data-theme=dark]) .mentor-discussion-panel,:root:not([data-theme=dark]) .mentor-quiz-panel{background:linear-gradient(135deg,#4b5563,#6b7280,#4b5563);border:1px solid #374151;color:#fff}:root:not([data-theme=dark]) .stat-item{background:linear-gradient(135deg,#4b5563,#6b7280,#4b5563);border:1px solid #374151;color:#fff}:root:not([data-theme=dark]) .mentor-insights-panel .insights-header h3,:root:not([data-theme=dark]) .mentor-discussion-panel .discussion-header h3,:root:not([data-theme=dark]) .mentor-quiz-panel .quiz-header h3,:root:not([data-theme=dark]) .stat-label,:root:not([data-theme=dark]) .stat-value{color:#fff}:root:not([data-theme=dark]) .insight-card,:root:not([data-theme=dark]) .reading-stats,:root:not([data-theme=dark]) .discussion-history,:root:not([data-theme=dark]) .question-content{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff}@media(max-width:768px){.literary-mentor-ui{padding:var(--md-sys-spacing-4)}.stats-grid{grid-template-columns:repeat(2,1fr)}.prompts-grid{grid-template-columns:1fr}.quiz-actions{flex-direction:column}.retake-quiz,.new-quiz{width:100%}}.mentor-page{min-height:100vh;padding:24px;background:var(--md-sys-color-background);transition:background-color .3s ease}.mentor-page.dark{background:var(--md-sys-color-surface)}.mentor-header{max-width:1200px;margin:0 auto 32px;text-align:center;padding:20px 0}.mentor-title{font-size:2.5rem;font-weight:700;color:var(--md-sys-color-on-background);margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:12px;animation:fadeInDown .6s ease-out}.mentor-icon{font-size:2.5rem;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.mentor-subtitle{font-size:1.1rem;color:var(--md-sys-color-on-surface-variant);opacity:.8;animation:fadeIn .8s ease-out .2s backwards}.mentor-content{max-width:1200px;margin:0 auto;animation:fadeInUp .6s ease-out .3s backwards}.mentor-page-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--md-sys-color-background)}.loading-spinner{text-align:center}.spinner-icon{font-size:4rem;display:block;margin-bottom:16px;animation:spin 2s linear infinite}.loading-spinner p{font-size:1.2rem;color:var(--md-sys-color-on-background);font-weight:500}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.mentor-page{padding:16px}.mentor-title{font-size:2rem;flex-direction:column;gap:8px}.mentor-icon{font-size:2rem}.mentor-subtitle{font-size:1rem}.mentor-header{margin-bottom:24px;padding:12px 0}}@media(max-width:480px){.mentor-title{font-size:1.5rem}.mentor-subtitle{font-size:.9rem}}.mentor-page.dark .mentor-title,.mentor-page.dark .loading-spinner p{color:var(--md-sys-color-on-surface)}.onboarding-guide{writing-mode:horizontal-tb!important;text-orientation:mixed!important}.onboarding-guide *{writing-mode:horizontal-tb!important;text-orientation:mixed!important;transform:none!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important}.onboarding-section{width:100%;margin:0 0 16px}.onboarding-title{margin:0 0 8px;line-height:1.25;letter-spacing:normal;display:block}.onboarding-content{display:block}.onboarding-list{padding-left:20px;margin:0}.onboarding-bullets{padding-left:20px;margin:8px 0 0}.onboarding-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.onboarding-mini-card{padding:12px}.onboarding-guide .md3-card{width:100%}@media(max-width:600px){.onboarding-guide{padding:16px!important}}.theme-switcher{width:100%;max-width:1200px;margin:0 auto;padding:24px}.theme-switcher-header{margin-bottom:32px}.header-content{display:flex;align-items:center;gap:16px;margin-bottom:24px}.header-icon{font-size:40px;color:var(--md-sys-color-primary)}.header-text h2{margin:0 0 4px;font-size:28px;font-weight:600;color:var(--md-sys-color-on-surface)}.header-text p{margin:0;font-size:14px;color:var(--md-sys-color-on-surface-variant)}.next-theme-progress{background:var(--md-sys-color-surface-container);border-radius:16px;padding:16px;border:1px solid var(--md-sys-color-outline-variant)}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.progress-label{font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface)}.progress-percentage{font-size:14px;font-weight:700;color:var(--md-sys-color-primary)}.progress-bar{height:8px;background:var(--md-sys-color-surface-container-high);border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--md-sys-color-primary),var(--md-sys-color-tertiary));border-radius:4px;transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-points{display:block;font-size:12px;color:var(--md-sys-color-on-surface-variant);text-align:center}.themes-section{margin-bottom:40px}.section-title{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:600;color:var(--md-sys-color-on-surface);margin:0 0 16px}.section-title .material-symbols-outlined{font-size:24px;color:var(--md-sys-color-primary)}.locked-section .section-title .material-symbols-outlined{color:var(--md-sys-color-on-surface-variant)}.themes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}@media(max-width:768px){.themes-grid{grid-template-columns:1fr}}.theme-card{position:relative;background:var(--md-sys-color-surface-container);border:2px solid var(--md-sys-color-outline-variant);border-radius:16px;padding:0;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;text-align:left;width:100%}.theme-card:hover:not(.locked){border-color:var(--md-sys-color-primary);box-shadow:var(--md-sys-elevation-level2);transform:translateY(-2px)}.theme-card.active{border-color:var(--md-sys-color-primary);box-shadow:var(--md-sys-elevation-level3);background:var(--md-sys-color-primary-container)}.theme-card.locked{opacity:.6;cursor:not-allowed}.theme-card.locked:hover{transform:none;box-shadow:none}.theme-preview{position:relative;height:120px;overflow:hidden;display:flex;align-items:center;justify-content:center}.preview-colors{display:flex;width:100%;height:100%}.preview-primary,.preview-secondary,.preview-surface{flex:1;height:100%;transition:all .3s ease}.theme-card:hover:not(.locked) .preview-primary{transform:scale(1.1)}.theme-card:hover:not(.locked) .preview-secondary{transform:scale(1.05)}.active-badge{position:absolute;top:12px;right:12px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--md-sys-elevation-level2);animation:badge-pop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes badge-pop{0%{transform:scale(0)}to{transform:scale(1)}}.active-badge .material-symbols-outlined{font-size:20px}.lock-overlay{position:absolute;inset:0;background:color-mix(in srgb,var(--md-sys-color-surface) 80%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center}.lock-icon{font-size:48px;color:var(--md-sys-color-on-surface-variant);opacity:.7}.theme-info{padding:16px;position:relative}.theme-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.theme-icon{font-size:24px}.theme-name{margin:0;font-size:18px;font-weight:600;color:var(--md-sys-color-on-surface)}.theme-card.active .theme-name{color:var(--md-sys-color-on-primary-container)}.theme-description{margin:0 0 12px;font-size:13px;line-height:1.4;color:var(--md-sys-color-on-surface-variant)}.theme-card.active .theme-description{color:var(--md-sys-color-on-primary-container)}.unlock-requirement{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border-radius:8px;font-size:12px;font-weight:500;margin-bottom:8px}.unlock-requirement .material-symbols-outlined{font-size:16px}.theme-points-badge{display:inline-flex;align-items:center;padding:4px 12px;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.theme-card.active .theme-points-badge{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.all-unlocked-banner{display:flex;align-items:center;gap:16px;padding:24px;background:linear-gradient(135deg,var(--md-sys-color-primary-container),var(--md-sys-color-tertiary-container));border-radius:16px;border:2px solid var(--md-sys-color-primary);margin-top:24px}.all-unlocked-banner .material-symbols-outlined{font-size:48px;color:var(--md-sys-color-primary)}.banner-text h3{margin:0 0 4px;font-size:20px;font-weight:700;color:var(--md-sys-color-on-primary-container)}.banner-text p{margin:0;font-size:14px;color:var(--md-sys-color-on-primary-container);opacity:.8}.theme-confetti{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}.confetti-piece{position:absolute;width:8px;height:8px;border-radius:2px;animation:confetti-fall-theme 2s ease-out forwards;opacity:.9}@keyframes confetti-fall-theme{0%{transform:translateY(-10vh) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:0}}@media(max-width:768px){.theme-switcher{padding:16px}.header-text h2{font-size:24px}.header-icon{font-size:32px}.theme-preview{height:100px}.theme-name{font-size:16px}.theme-description{font-size:12px}.all-unlocked-banner{flex-direction:column;text-align:center}.all-unlocked-banner .material-symbols-outlined{font-size:40px}}.theme-card:focus-visible{outline:3px solid var(--md-sys-color-primary);outline-offset:2px}.theme-card.locked:focus-visible{outline-color:var(--md-sys-color-on-surface-variant)}@media(prefers-contrast:high){.theme-card{border-width:3px}.theme-card.active{border-width:4px}}@media(prefers-reduced-motion:reduce){.theme-card,.preview-primary,.preview-secondary,.progress-fill,.confetti-piece{animation:none!important;transition:none!important}.theme-card:hover:not(.locked){transform:none}}.data-export-card{background:var(--md-sys-color-surface-container-low);border-radius:var(--md-sys-shape-corner-large);padding:24px;box-shadow:var(--md-sys-elevation-1);border:1px solid var(--md-sys-color-outline-variant);max-width:800px;margin:0 auto}.data-export-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.data-export-icon{font-size:40px;line-height:1;flex-shrink:0}.data-export-header-text{flex:1}.data-export-header-text h3{color:var(--md-sys-color-on-surface);margin:0 0 4px;font-family:var(--md-sys-typescale-title-large-font-family-name);font-size:var(--md-sys-typescale-title-large-font-size);font-weight:var(--md-sys-typescale-title-large-font-weight);line-height:var(--md-sys-typescale-title-large-line-height);letter-spacing:var(--md-sys-typescale-title-large-tracking)}.data-export-subtitle{color:var(--md-sys-color-on-surface-variant);margin:0;font-family:var(--md-sys-typescale-body-small-font-family-name);font-size:var(--md-sys-typescale-body-small-font-size);font-weight:var(--md-sys-typescale-body-small-font-weight);line-height:var(--md-sys-typescale-body-small-line-height);letter-spacing:var(--md-sys-typescale-body-small-tracking)}.data-export-content{display:flex;flex-direction:column;gap:20px}.data-export-description{color:var(--md-sys-color-on-surface);margin:0;font-family:var(--md-sys-typescale-body-medium-font-family-name);font-size:var(--md-sys-typescale-body-medium-font-size);font-weight:var(--md-sys-typescale-body-medium-font-weight);line-height:var(--md-sys-typescale-body-medium-line-height);letter-spacing:var(--md-sys-typescale-body-medium-tracking)}.data-export-summary{background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-medium);padding:20px;border:1px solid var(--md-sys-color-outline-variant)}.data-export-summary.data-export-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:32px 20px}.data-export-summary h4{color:var(--md-sys-color-on-surface);margin:0 0 16px;font-family:var(--md-sys-typescale-title-medium-font-family-name);font-size:var(--md-sys-typescale-title-medium-font-size);font-weight:var(--md-sys-typescale-title-medium-font-weight);line-height:var(--md-sys-typescale-title-medium-line-height);letter-spacing:var(--md-sys-typescale-title-medium-tracking)}.data-export-summary-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.data-export-summary-list li{display:flex;align-items:center;gap:12px;color:var(--md-sys-color-on-surface);padding:8px 12px;border-radius:var(--md-sys-shape-corner-small);background:var(--md-sys-color-surface-container-high);transition:background-color .2s ease}.data-export-summary-list li:hover{background:var(--md-sys-color-surface-container-highest)}.summary-icon{font-size:20px;flex-shrink:0}.summary-label{flex:1;font-weight:500}.summary-value{font-weight:600;color:var(--md-sys-color-primary)}.data-export-info{background:var(--md-sys-color-primary-container);border-radius:var(--md-sys-shape-corner-medium);padding:16px;border:1px solid var(--md-sys-color-primary)}.data-export-info h4{color:var(--md-sys-color-on-primary-container);margin:0 0 12px;font-family:var(--md-sys-typescale-title-small-font-family-name);font-size:var(--md-sys-typescale-title-small-font-size);font-weight:var(--md-sys-typescale-title-small-font-weight);line-height:var(--md-sys-typescale-title-small-line-height);letter-spacing:var(--md-sys-typescale-title-small-tracking)}.data-export-info-list{color:var(--md-sys-color-on-primary-container);margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.data-export-info-list li{line-height:1.5}.data-export-actions{display:flex;justify-content:center;padding:8px 0}.export-button{min-width:200px;display:flex;align-items:center;justify-content:center;gap:8px}.button-icon{font-size:16px}.button-spinner{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.loading-spinner{width:24px;height:24px;border:3px solid var(--md-sys-color-outline-variant);border-top-color:var(--md-sys-color-primary);border-radius:50%;animation:spin .8s linear infinite}.data-export-footer{color:var(--md-sys-color-on-surface-variant);text-align:center;margin:8px 0 0;padding-top:16px;border-top:1px solid var(--md-sys-color-outline-variant)}.data-export-footer a{color:var(--md-sys-color-primary);text-decoration:none;font-weight:500;transition:color .2s ease}.data-export-footer a:hover{color:var(--md-sys-color-primary-container);text-decoration:underline}@media(max-width:768px){.data-export-card{padding:16px}.data-export-header{flex-direction:column;gap:12px}.data-export-icon{font-size:32px}.data-export-summary-list li{flex-wrap:wrap}.summary-value{width:100%;text-align:right}.export-button{width:100%}}@media(prefers-contrast:high){.data-export-card{border-width:2px;border-color:var(--md-sys-color-outline)}.data-export-summary,.data-export-info{border-width:2px}}@media(prefers-reduced-motion:reduce){.button-spinner,.loading-spinner{animation:none}.data-export-summary-list li,.data-export-footer a{transition:none}}.export-button:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.data-export-footer a:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px;border-radius:var(--md-sys-shape-corner-extra-small)}@media print{.data-export-actions{display:none}.data-export-card{box-shadow:none;border:1px solid #000}}.premium-page.container{max-width:960px;margin:0 auto;padding:24px 16px}.premium-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-large, 16px);box-shadow:var(--md-sys-elevation-level2);margin-bottom:24px}.premium-title{margin:0}.premium-subtitle{margin:6px 0 0}.premium-hero-cta{flex:0 0 auto}.premium-section{background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium, 12px);box-shadow:var(--md-sys-elevation-level1);padding:16px 20px;margin-bottom:24px}.section-title{margin:0 0 12px}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px 16px;list-style:none;padding:0;margin:0}.benefit-item{display:flex;align-items:flex-start;gap:10px}.benefit-icon{color:var(--md-sys-color-primary)}.faq-list{display:grid;gap:12px}.faq-item{padding:12px;border:1px dashed var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-small, 8px);background:var(--md-sys-color-surface-container-low)}.faq-q{margin:0}.faq-a{margin:6px 0 0}.premium-final-cta .final-cta-content{display:flex;align-items:center;justify-content:space-between;gap:16px}.final-cta-actions{display:flex;align-items:center;gap:10px}@media(max-width:720px){.premium-hero,.premium-final-cta .final-cta-content{flex-direction:column;align-items:stretch}.premium-hero-cta,.final-cta-actions{display:flex;gap:10px}}.premium-app-layout.dark .premium-page .premium-hero{background:var(--md-sys-color-surface-container-highest);box-shadow:var(--md-sys-elevation-level3)}.premium-app-layout.dark .premium-page .premium-section{background:var(--md-sys-color-surface-container-high);box-shadow:var(--md-sys-elevation-level2)}.premium-app-layout.dark .premium-page .faq-item{background:var(--md-sys-color-surface-container)}.google-drive-uploader{display:flex;flex-direction:column;gap:12px;width:100%}.google-drive-button{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 24px;background:#fff;border:2px solid #4285f4;border-radius:8px;color:#4285f4;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;min-height:48px}.google-drive-button:hover:not(:disabled){background:#4285f4;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #4285f44d}.google-drive-button:active:not(:disabled){transform:translateY(0)}.google-drive-button:disabled{opacity:.6;cursor:not-allowed;background:#f5f5f5;border-color:#ddd;color:#999}.google-drive-icon{flex-shrink:0}.upload-spinner{animation:spin 1s linear infinite;display:inline-block}.google-drive-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:14px}.error-icon{flex-shrink:0}.google-drive-progress{width:100%;height:4px;background:#e0e0e0;border-radius:2px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,#4285f4,#34a853);transition:width .3s ease;border-radius:2px}@media(prefers-color-scheme:dark){.google-drive-button{background:#1a1a1a;border-color:#4285f4}.google-drive-button:hover:not(:disabled){background:#4285f4}.google-drive-button:disabled{background:#2a2a2a;border-color:#444;color:#666}.google-drive-error{background:#3a1a1a;border-color:#6a2a2a;color:#ff6b6b}.google-drive-progress{background:#333}}@media(max-width:640px){.google-drive-button{font-size:14px;padding:10px 20px}}.md3-upload-page{min-height:100vh;background:rgb(var(--md-sys-color-surface));padding:2rem}.md3-upload-container{max-width:800px;margin:0 auto}.md3-upload-header{text-align:center;margin-bottom:2rem}.md3-upload-header h1{color:rgb(var(--md-sys-color-on-surface));margin-bottom:.5rem}.md3-upload-header p{color:rgb(var(--md-sys-color-on-surface-variant))}.md3-upload-steps{display:flex;justify-content:space-between;margin-bottom:2rem;padding:0 2rem}.md3-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1;position:relative}.md3-step:not(:last-child):after{content:"";position:absolute;top:20px;left:50%;width:100%;height:2px;background:rgb(var(--md-sys-color-surface-variant));z-index:-1}.md3-step-indicator{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgb(var(--md-sys-color-surface-variant));color:rgb(var(--md-sys-color-on-surface-variant));font-weight:500;transition:all .3s ease}.md3-step-indicator.active{background:rgb(var(--md-sys-color-primary));color:rgb(var(--md-sys-color-on-primary));transform:scale(1.1)}.md3-step-indicator.complete{background:rgb(var(--md-sys-color-tertiary));color:rgb(var(--md-sys-color-on-tertiary))}.md3-step-label{color:rgb(var(--md-sys-color-on-surface-variant));text-align:center}.md3-step-label.active{color:rgb(var(--md-sys-color-primary));font-weight:500}.md3-upload-content{padding:2rem;min-height:400px}[data-theme=light] .md3-upload-content,:root:not([data-theme=dark]) .md3-upload-content,.light .md3-upload-content{background:rgb(var(--md-sys-color-surface, 255 255 255))!important;border-color:rgb(var(--md-sys-color-outline, 121 116 126))}[data-theme=light] .md3-upload-details .md3-text-field__container,:root:not([data-theme=dark]) .md3-upload-details .md3-text-field__container,.light .md3-upload-details .md3-text-field__container{background:rgb(var(--md-sys-color-surface, 255 255 255))!important}[data-theme=light] .md3-upload-details .md3-text-field__input,:root:not([data-theme=dark]) .md3-upload-details .md3-text-field__input,.light .md3-upload-details .md3-text-field__input{color:rgb(var(--md-sys-color-on-surface, 28 27 31))!important}[data-theme=light] .md3-upload-details .md3-text-field__label,:root:not([data-theme=dark]) .md3-upload-details .md3-text-field__label,.light .md3-upload-details .md3-text-field__label{color:rgb(var(--md-sys-color-on-surface, 28 27 31))!important}[data-theme=light] .md3-upload-details .md3-select,:root:not([data-theme=dark]) .md3-upload-details .md3-select,.light .md3-upload-details .md3-select{background:rgb(var(--md-sys-color-surface, 255 255 255));color:rgb(var(--md-sys-color-on-surface, 28 27 31));border-color:rgb(var(--md-sys-color-outline, 121 116 126))}[data-theme=light] .md3-upload-details .md3-select-label,:root:not([data-theme=dark]) .md3-upload-details .md3-select-label,.light .md3-upload-details .md3-select-label{color:rgb(var(--md-sys-color-on-surface-variant, 73 69 79))}[data-theme=dark] .md3-upload-page,.dark .md3-upload-page{background:#0f1419}[data-theme=dark] .md3-upload-content,.dark .md3-upload-content{background:#1a1f2e!important;border-color:#2d3748!important;box-shadow:0 4px 12px #0006!important}[data-theme=dark] .md3-upload-header h1,.dark .md3-upload-header h1{color:#e8eaed!important;background:linear-gradient(135deg,#7ca9ff,#b8d4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .md3-upload-header p,.dark .md3-upload-header p{color:#b8bfc8!important}[data-theme=dark] .md3-dropzone .md-title-large,.dark .md3-dropzone .md-title-large{color:#e8eaed!important}[data-theme=dark] .md3-dropzone .md-body-medium,.dark .md3-dropzone .md-body-medium,[data-theme=dark] .md3-dropzone .on-surface-variant,.dark .md3-dropzone .on-surface-variant{color:#b8bfc8!important}.md3-dropzone{border:2px dashed rgb(var(--md-sys-color-outline));border-radius:16px;padding:3rem;text-align:center;cursor:pointer;transition:all .3s ease;background:rgb(var(--md-sys-color-surface-variant),.3)}[data-theme=light] .md3-upload-content,.light .md3-upload-content,:not([data-theme=dark]):not(.dark) .md3-upload-content{background:linear-gradient(135deg,#d1d5db,#b8bcc2,#d1d5db)!important;border:1px solid #9ca3af!important;box-shadow:0 4px 12px #00000014!important}[data-theme=light] .md3-dropzone,.light .md3-dropzone,:not([data-theme=dark]):not(.dark) .md3-dropzone{background:linear-gradient(135deg,#4b5563,#6b7280,#4b5563)!important}[data-theme=light] .md3-select-field,.light .md3-select-field,[data-theme=light] .md3-select-field *,.light .md3-select-field *,:not([data-theme=dark]):not(.dark) .md3-select-field,:not([data-theme=dark]):not(.dark) .md3-select-field *{color:#000!important}[data-theme=light] .md3-dropzone .md-title-large,.light .md3-dropzone .md-title-large,:not([data-theme=dark]):not(.dark) .md3-dropzone .md-title-large{color:var(--md-sys-color-on-surface)!important}[data-theme=light] .md3-dropzone .md-body-medium,.light .md3-dropzone .md-body-medium,[data-theme=light] .md3-dropzone .on-surface-variant,.light .md3-dropzone .on-surface-variant,:not([data-theme=dark]):not(.dark) .md3-dropzone .md-body-medium,:not([data-theme=dark]):not(.dark) .md3-dropzone .on-surface-variant{color:var(--md-sys-color-on-surface-variant)!important}[data-theme=dark] .md3-dropzone,.dark .md3-dropzone{background:#242b3d!important;border-color:#4a5568!important}[data-theme=dark] .md3-dropzone:hover,.dark .md3-dropzone:hover{background:#2d3548!important;border-color:#6b7fa8!important}[data-theme=dark] .md3-upload-actions .md3-button--filled,.dark .md3-upload-actions .md3-button--filled{background:#5a7ba8!important;color:#fff!important}[data-theme=dark] .md3-upload-actions .md3-button--filled:hover,.dark .md3-upload-actions .md3-button--filled:hover{background:#6b8ab6!important;box-shadow:0 4px 12px #5a7ba84d!important}[data-theme=dark] .md3-upload-actions .md3-button--text,.dark .md3-upload-actions .md3-button--text{color:#9eb8d9!important}[data-theme=dark] .md3-upload-actions .md3-button--text:hover,.dark .md3-upload-actions .md3-button--text:hover{background:#9eb8d91a!important}[data-theme=dark] .md3-select,.dark .md3-select{background:#242b3d!important;color:#e8eaed!important;border-color:#4a5568!important}[data-theme=dark] .md3-select:focus,.dark .md3-select:focus{border-color:#6b8ab6!important;box-shadow:0 0 0 2px #6b8ab633!important}[data-theme=dark] .md3-select-label,.dark .md3-select-label{color:#b8bfc8!important}[data-theme=dark] .md3-text-field,.dark .md3-text-field,[data-theme=dark] .md3-text-field input,.dark .md3-text-field input,[data-theme=dark] .md3-text-field textarea,.dark .md3-text-field textarea{background:#242b3d!important;color:#e8eaed!important;border-color:#4a5568!important}[data-theme=dark] .md3-text-field label,.dark .md3-text-field label{color:#b8bfc8!important}[data-theme=dark] .md3-text-field--focused input,.dark .md3-text-field--focused input,[data-theme=dark] .md3-text-field--focused textarea,.dark .md3-text-field--focused textarea{border-color:#6b8ab6!important}[data-theme=dark] .md3-file-info,.dark .md3-file-info{background:#242b3d!important;border:1px solid #4a5568!important}[data-theme=dark] .md3-file-info .md-label-large,.dark .md3-file-info .md-label-large{color:#e8eaed!important}[data-theme=dark] .md3-file-info .md-label-small,.dark .md3-file-info .md-label-small{color:#b8bfc8!important}[data-theme=dark] .md3-step-indicator,.dark .md3-step-indicator{background:#2d3748!important;color:#b8bfc8!important}[data-theme=dark] .md3-step-indicator.active,.dark .md3-step-indicator.active{background:#5a7ba8!important;color:#fff!important}[data-theme=dark] .md3-step-indicator.complete,.dark .md3-step-indicator.complete{background:#4a9d7f!important;color:#fff!important}[data-theme=dark] .md3-step-label,.dark .md3-step-label{color:#b8bfc8!important}[data-theme=dark] .md3-step-label.active,.dark .md3-step-label.active{color:#9eb8d9!important}[data-theme=dark] .md3-upload-progress h3,.dark .md3-upload-progress h3{color:#e8eaed!important}[data-theme=dark] .md3-upload-progress p,.dark .md3-upload-progress p{color:#b8bfc8!important}.md3-dropzone:hover{border-color:rgb(var(--md-sys-color-primary));background:rgb(var(--md-sys-color-primary-container),.1)}.md3-dropzone.active{border-color:rgb(var(--md-sys-color-primary));background:rgb(var(--md-sys-color-primary-container));transform:scale(1.02)}.md3-dropzone-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.md3-dropzone-icon{font-size:4rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.md3-upload-button{margin-top:1rem}.md3-file-preview{margin-bottom:2rem}.md3-file-info{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:12px}.file-icon{font-size:2rem}.md3-form-grid{display:grid;gap:1.5rem;margin-bottom:2rem}.md3-form-grid>*:nth-child(1),.md3-form-grid>*:nth-child(2){grid-column:span 1}@media(min-width:640px){.md3-form-grid{grid-template-columns:1fr 1fr}.md3-form-grid>*:nth-child(3),.md3-form-grid>*:nth-child(4){grid-column:span 2}}.md3-upload-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem}.md3-upload-actions .md3-button{-webkit-appearance:none;appearance:none;cursor:pointer}.md3-upload-actions .md3-button:not([disabled]):not([aria-disabled=true]){pointer-events:auto;cursor:pointer!important;user-select:none;-webkit-user-select:none}.md3-upload-actions .md3-button[disabled],.md3-upload-actions .md3-button[aria-disabled=true]{pointer-events:none;cursor:not-allowed;opacity:.38}@supports (-webkit-touch-callout: none){.md3-upload-actions .md3-button{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.md3-upload-actions .md3-button:not([disabled]){cursor:pointer!important;pointer-events:auto!important}}.md3-upload-progress{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;text-align:center}.md3-progress-icon{font-size:4rem;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.md3-upload-complete{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;text-align:center}.md3-success-icon{font-size:4rem;color:rgb(var(--md-sys-color-tertiary));animation:bounce .5s ease}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.md3-select-field{display:flex;flex-direction:column;gap:8px;width:100%}.md3-select-label{font-size:12px;color:var(--md-sys-color-on-surface-variant);font-weight:500;letter-spacing:.5px;text-transform:uppercase}.md3-select{width:100%;padding:16px;border-radius:4px;border:1px solid var(--md-sys-color-outline);background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);font-size:16px;font-family:inherit;transition:all .3s ease}.md3-select:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 2px var(--md-sys-color-primary-container)}.md3-select:hover{border-color:var(--md-sys-color-on-surface)}@media(prefers-color-scheme:dark){.md3-dropzone{background:rgb(var(--md-sys-color-surface-variant),.1)}.md3-dropzone:hover{background:rgb(var(--md-sys-color-primary-container),.2)}}@media(max-width:768px){.md3-upload-page{padding:1rem}.md3-upload-container{max-width:100%}.md3-upload-header h1{font-size:1.75rem}.md3-upload-header p{font-size:.875rem}.md3-upload-steps{padding:0 .5rem;overflow-x:auto}.md3-step-indicator{width:32px;height:32px;font-size:.75rem}.md3-step-label{font-size:.625rem}.md3-upload-content{padding:1.5rem}.md3-dropzone{padding:2rem 1rem}.md3-dropzone-icon{font-size:3rem}.md3-upload-actions{flex-direction:column;gap:.75rem;margin-top:1.5rem}.md3-upload-actions .md3-button{width:100%;min-height:48px;padding:0 24px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.md3-upload-actions .md3-button:not([disabled]){pointer-events:auto!important;cursor:pointer!important}.md3-form-grid{grid-template-columns:1fr;gap:1rem}.md3-form-grid>*{grid-column:span 1!important}.md3-file-info{padding:.75rem;font-size:.875rem}.file-icon{font-size:1.5rem}}@media(max-width:480px){.md3-upload-page{padding:.5rem}.md3-upload-content{padding:1rem}.md3-upload-header h1{font-size:1.5rem}.md3-upload-actions .md3-button{min-height:56px;font-size:1rem}}.md3-upload-divider{display:flex;align-items:center;gap:16px;margin:24px 0;color:rgb(var(--md-sys-color-on-surface-variant))}.divider-line{flex:1;height:1px;background:rgb(var(--md-sys-color-outline-variant))}.divider-text{font-size:14px;font-weight:500;white-space:nowrap}.md3-notes-page{min-height:100vh;padding:0;color:var(--md-sys-color-on-background);transition:background-color .3s ease,color .3s ease}.md3-notes-container{max-width:1400px;margin:0 auto;padding:15px 75px 5px}.md3-notes-header{background:#6084e080!important;color:var(--md-sys-color-on-primary);border-radius:16px!important;box-shadow:0 8px 16px #24a8e0e6!important}.md3-notes-header-content{display:flex;flex-direction:column;gap:24px}.md3-notes-header-text{text-align:center}.md3-notes-title{margin:0 0 8px;font-weight:700;letter-spacing:-.5px}.md3-notes-subtitle{margin:0;font-size:1.125rem;opacity:.9}.md3-notes-header-actions{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}.md3-notes-search{flex:1;max-width:400px}div.md3-text-field.md3-notes-search{background:transparent!important;background-color:transparent!important}.md3-notes-search input{color:#fff!important;background:transparent!important;background-color:transparent!important}.md3-notes-search input::placeholder{color:#ffffffb3!important}.md3-notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;animation:fadeIn .5s ease}.md3-note-card{transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden;background:var(--md-sys-color-surface)!important;border:1px solid var(--md-sys-color-outline-variant)!important;color:var(--md-sys-color-on-surface)!important}.md3-note-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand-gradient-start),var(--brand-gradient-end));transform:translateY(-100%);transition:transform .3s ease}.md3-note-card:hover:before{transform:translateY(0)}.md3-note-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.md3-note-content{padding:20px}.md3-note-title{margin:0 0 12px;font-size:1.25rem;font-weight:600;color:var(--md-sys-color-primary);line-height:1.3}.md3-note-text{margin:0 0 16px;font-size:.95rem;color:var(--md-sys-color-on-surface-variant);line-height:1.6}.md3-note-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.md3-note-book{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;background:var(--md-sys-color-surface-container-low);border-radius:8px;font-size:.875rem;color:var(--md-sys-color-on-surface-variant)}.md3-note-book-icon{width:16px;height:16px;color:var(--md-sys-color-primary)}.md3-note-date{margin:0;font-size:.75rem;color:var(--md3-on-surface-variant);opacity:.7;display:flex;align-items:center}.md3-note-actions{position:absolute;top:12px;right:12px;display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.md3-note-card:hover .md3-note-actions{opacity:1}.md3-icon-small{width:16px;height:16px}.md3-notes-empty-state{padding:64px 32px;text-align:center;background:var(--md3-surface-container)}.md3-notes-empty-icon{width:64px;height:64px;margin:0 auto 24px;color:var(--md3-primary);opacity:.3}.md3-notes-empty-title{margin:0 0 8px;font-size:1.5rem;font-weight:600;color:var(--md3-on-surface)}.md3-notes-empty-text{margin:0 0 24px;color:var(--md3-on-surface-variant)}.md3-notes-loading{padding:64px;text-align:center}.md3-notes-spinner{width:48px;height:48px;border:4px solid var(--md3-outline-variant);border-top-color:var(--md3-primary);border-radius:50%;margin:0 auto 16px;animation:spin 1s linear infinite}.md3-notes-fab{position:fixed!important;bottom:24px!important;right:24px!important;z-index:1000}.md3-dialog-content{display:flex;flex-direction:column;gap:12px;padding:0}.md3-dialog-content .md3-text-field{background-color:var(--md-sys-color-surface-container-highest);border:none;border-radius:8px;padding:4px 8px}.md3-dialog-content .md3-text-field input,.md3-dialog-content .md3-text-field textarea{color:var(--md-sys-color-on-surface);background-color:var(--md-sys-color-surface-container-highest);border:none;outline:none;width:100%}.md3-dialog-content .md3-text-field textarea{resize:vertical;min-height:200px}.md3-dialog-content .md3-text-field__label,.md3-dialog-content .md3-text-field__helper-text{color:var(--md-sys-color-on-surface-variant)}.md3-field-label{font-size:.875rem;font-weight:500;color:var(--md-sys-color-on-surface-variant)}.md3-select{padding:12px;border:1px solid var(--md-sys-color-outline);border-radius:8px;background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);font-size:1rem;transition:all .2s ease}.md3-select:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 2px #24a8e01a}.md3-select option{background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);padding:8px}.timeline-container{padding:24px}.timeline-date-group{margin-bottom:32px}.timeline-date-header{display:flex;align-items:center;margin-bottom:16px}.timeline-dot{width:12px;height:12px;border-radius:50%;background:var(--md3-primary);margin-right:16px}.timeline-date{font-size:16px;font-weight:600;color:var(--md3-primary)}.timeline-line{flex:1;height:1px;background:var(--md3-outline-variant);margin-left:16px}.timeline-notes{margin-left:28px;border-left:2px solid var(--md3-outline-variant);padding-left:24px}.timeline-note-item{margin-bottom:16px;padding:12px 16px;background:var(--md3-surface-container-low);border-radius:8px;cursor:pointer;transition:all .2s ease}.timeline-note-item:hover{background:var(--md3-surface-container);transform:translate(4px)}.word-cloud-container{padding:24px;min-height:300px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center}.word-cloud-word{cursor:pointer;transition:all .3s ease;padding:4px 8px;border-radius:4px;-webkit-user-select:none;user-select:none}.word-cloud-word:hover{transform:scale(1.1);background:#24a8e01a}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:24px}.stat-card{padding:20px;text-align:center;background:var(--md3-surface-container);border-radius:12px;transition:all .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0000001a}.stat-icon{margin-bottom:8px}.stat-value{margin:0 0 4px;font-size:24px;font-weight:600;color:var(--md3-on-surface)}.stat-label{margin:0;font-size:14px;color:var(--md3-on-surface-variant)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.md3-notes-container{padding:16px}.md3-notes-grid{grid-template-columns:1fr;gap:16px}.md3-notes-header-content{text-align:center}.md3-notes-header-actions{flex-direction:column;width:100%}.md3-notes-search{width:100%;max-width:none}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:16px}}.md3-icon-button{width:32px;height:32px;border-radius:50%;border:none;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.md3-icon-button:hover{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);transform:scale(1.1)}.md3-icon-button--error:hover{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}.timeline-note-item{margin-bottom:16px;padding:12px 16px;background:var(--md-sys-color-surface-container-low);border-radius:8px;cursor:pointer;transition:all .2s ease;color:var(--md-sys-color-on-surface);border:1px solid var(--md-sys-color-outline-variant)}.timeline-note-item:hover{background:var(--md-sys-color-surface-container);transform:translate(4px);border-color:var(--md-sys-color-outline)}.stat-card{padding:20px;text-align:center;background:var(--md-sys-color-surface-container);border-radius:12px;transition:all .3s ease;border:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface)}.md3-view-container{background-color:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant)!important;color:var(--md-sys-color-on-surface)}.md3-view-title{padding:24px 24px 0;margin:0;font-size:20px;font-weight:600;color:var(--md-sys-color-on-surface)}.md3-view-subtitle{padding:0 24px;margin:8px 0 0;font-size:14px;color:var(--md-sys-color-on-surface-variant)}.md3-section-title{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--md-sys-color-on-surface)}.md3-tag-chip{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:var(--md-sys-color-surface-container-high);border-radius:16px;color:var(--md-sys-color-on-surface)}.md3-tag-count{font-size:12px;padding:2px 6px;background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-radius:10px}.md3-tag-filter-card{padding:16px;margin-bottom:24px;background-color:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant)!important}.md3-tag-filter-title{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--md-sys-color-on-surface)}.md3-tag-filter-icon{vertical-align:middle;margin-right:8px;color:var(--md-sys-color-primary)}.md3-top-tags-card{padding:24px;margin-top:16px;background-color:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant)!important}.epub-reader-container{position:fixed;inset:0;background-color:var(--md-sys-color-surface);z-index:50;display:flex;flex-direction:column}.epub-reader-header{position:absolute;top:0;left:0;right:0;background:linear-gradient(135deg,var(--md-sys-color-surface-container),var(--md-sys-color-surface-container-high));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--md-sys-color-on-surface);padding:1rem;display:flex;align-items:center;justify-content:space-between;z-index:10;box-shadow:0 4px 6px -1px #0000001a}.epub-reader-header-info{flex:1;min-width:0}.epub-reader-title{font-size:1.125rem;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.epub-reader-author{font-size:.875rem;color:var(--md-sys-color-on-surface-variant);margin:.25rem 0 0}.epub-reader-header-actions{display:flex;align-items:center;gap:.75rem}.epub-reader-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.5rem;border:none;cursor:pointer;transition:background-color .2s;text-decoration:none;font-size:.875rem}.epub-reader-btn-primary{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.epub-reader-btn-primary:hover{background-color:var(--md-sys-color-secondary)}.epub-reader-btn-secondary{background-color:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface)}.epub-reader-btn-secondary:hover{background-color:var(--md-sys-color-surface-container-high)}.epub-reader-btn-text{display:none}@media(min-width:640px){.epub-reader-btn-text{display:inline}}.epub-reader-content{position:absolute;top:4rem;left:0;right:0;bottom:0;overflow:hidden;padding-left:380px;padding-right:100px;box-sizing:border-box}.epub-viewer{width:100%;height:100%;background:var(--md-sys-color-surface);transition:opacity .3s;max-width:900px;margin:0 auto;position:relative;overflow-y:auto;overflow-x:hidden}.epub-viewer iframe,.epub-viewer>div{border:none!important;width:100%!important;min-height:100%!important}.epub-reader-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);gap:1rem}.epub-reader-spinner{width:48px;height:48px;border:4px solid var(--md-sys-color-outline-variant);border-top-color:var(--md-sys-color-primary);border-radius:50%;animation:epub-spin .8s linear infinite}@keyframes epub-spin{to{transform:rotate(360deg)}}.epub-reader-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--md-sys-color-surface);padding:2rem;text-align:center;gap:1rem}.epub-reader-error-title{font-size:1.25rem;font-weight:600;color:var(--md-sys-color-on-surface);margin:0}.epub-reader-error-message{color:var(--md-sys-color-on-surface-variant);margin:0}.epub-nav-arrow{position:absolute;top:50%;transform:translateY(-50%);background:color-mix(in srgb,var(--md-sys-color-on-surface) 50%,transparent);color:var(--md-sys-color-on-surface);border:none;padding:1rem;cursor:pointer;z-index:5;transition:all .2s;border-radius:.5rem}.epub-nav-arrow:hover:not(:disabled){background:color-mix(in srgb,var(--md-sys-color-on-surface) 70%,transparent);transform:translateY(-50%) scale(1.1)}.epub-nav-arrow:disabled{opacity:.3;cursor:not-allowed}.epub-nav-arrow-left{left:1rem}.epub-nav-arrow-right{right:1rem}@media(max-width:1024px){.epub-reader-content{padding-left:20px;padding-right:20px}}@media(max-width:768px){.epub-reader-content{padding-left:10px;padding-right:10px}.epub-nav-arrow{padding:.75rem}.epub-nav-arrow-left{left:.5rem}.epub-nav-arrow-right{right:.5rem}}@media(hover:none)and (pointer:coarse){.epub-nav-arrow{background:#0000004d}.epub-nav-arrow:active:not(:disabled){background:#000000b3}}.pdf-reader-container{position:fixed;inset:0;background:var(--md-sys-color-surface);display:flex;flex-direction:column;z-index:50}.pdf-controls-bar{display:flex;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface)}.pdf-content-area{flex:1;overflow:auto;padding-top:calc(64px + env(safe-area-inset-top,0px));padding-left:380px;padding-right:100px;box-sizing:border-box}.pdf-page-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:900px;margin:0 auto}.pdf-click-layer{cursor:pointer;width:100%;display:flex;justify-content:center}@media(max-width:1024px){.pdf-content-area{padding-top:calc(56px + env(safe-area-inset-top,0px));padding-left:20px;padding-right:20px}}@media(max-width:768px){.pdf-content-area{padding-top:calc(52px + env(safe-area-inset-top,0px));padding-left:10px;padding-right:10px}}@media(prefers-color-scheme:dark){.wmde-markdown,.wmde-markdown-var{color-scheme:dark;--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #c9d1d9;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #c9d1d9;--color-prettylights-syntax-markup-bold: #c9d1d9;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #c9d1d9;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-brackethighlighter-angle: #8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-fg-default: #c9d1d9;--color-fg-muted: #8b949e;--color-fg-subtle: #484f58;--color-canvas-default: #0d1117;--color-canvas-subtle: #161b22;--color-border-default: #30363d;--color-border-muted: #21262d;--color-neutral-muted: rgba(110, 118, 129, .4);--color-accent-fg: #58a6ff;--color-accent-emphasis: #1f6feb;--color-attention-subtle: rgba(187, 128, 9, .15);--color-danger-fg: #f85149;--color-danger-emphasis: #da3633;--color-attention-fg: #d29922;--color-attention-emphasis: #9e6a03;--color-done-fg: #a371f7;--color-done-emphasis: #8957e5;--color-success-fg: #3fb950;--color-success-emphasis: #238636;--color-copied-active-bg: #2e9b33}}@media(prefers-color-scheme:light){.wmde-markdown,.wmde-markdown-var{color-scheme:light;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-entity: #8250df;--color-prettylights-syntax-storage-modifier-import: #24292f;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #24292f;--color-prettylights-syntax-markup-bold: #24292f;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #eaeef2;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-brackethighlighter-angle: #57606a;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-fg-default: #24292f;--color-fg-muted: #57606a;--color-fg-subtle: #6e7781;--color-canvas-default: #ffffff;--color-canvas-subtle: #f6f8fa;--color-border-default: #d0d7de;--color-border-muted: hsl(210, 18%, 87%);--color-neutral-muted: rgba(175, 184, 193, .2);--color-accent-fg: #0969da;--color-accent-emphasis: #0969da;--color-attention-subtle: #fff8c5;--color-danger-fg: #d1242f;--color-danger-emphasis: #cf222e;--color-attention-fg: #9a6700;--color-attention-emphasis: #9a6700;--color-done-fg: #8250df;--color-done-emphasis: #8250df;--color-success-fg: #1a7f37;--color-success-emphasis: #1f883d;--color-copied-active-bg: #2e9b33}}[data-color-mode*=dark] .wmde-markdown,[data-color-mode*=dark] .wmde-markdown-var,.wmde-markdown-var[data-color-mode*=dark],.wmde-markdown[data-color-mode*=dark],body[data-color-mode*=dark]{color-scheme:dark;--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #c9d1d9;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #c9d1d9;--color-prettylights-syntax-markup-bold: #c9d1d9;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #c9d1d9;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-brackethighlighter-angle: #8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-fg-default: #c9d1d9;--color-fg-muted: #8b949e;--color-fg-subtle: #484f58;--color-canvas-default: #0d1117;--color-canvas-subtle: #161b22;--color-border-default: #30363d;--color-border-muted: #21262d;--color-neutral-muted: rgba(110, 118, 129, .4);--color-accent-fg: #58a6ff;--color-accent-emphasis: #1f6feb;--color-attention-subtle: rgba(187, 128, 9, .15);--color-danger-fg: #f85149}[data-color-mode*=light] .wmde-markdown,[data-color-mode*=light] .wmde-markdown-var,.wmde-markdown-var[data-color-mode*=light],.wmde-markdown[data-color-mode*=light],body[data-color-mode*=light]{color-scheme:light;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-entity: #8250df;--color-prettylights-syntax-storage-modifier-import: #24292f;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #24292f;--color-prettylights-syntax-markup-bold: #24292f;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #eaeef2;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-brackethighlighter-angle: #57606a;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-fg-default: #24292f;--color-fg-muted: #57606a;--color-fg-subtle: #6e7781;--color-canvas-default: #ffffff;--color-canvas-subtle: #f6f8fa;--color-border-default: #d0d7de;--color-border-muted: hsl(210, 18%, 87%);--color-neutral-muted: rgba(175, 184, 193, .2);--color-accent-fg: #0969da;--color-accent-emphasis: #0969da;--color-attention-subtle: #fff8c5;--color-danger-fg: #cf222e}.wmde-markdown{-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word;color:var(--color-fg-default);background-color:var(--color-canvas-default)}.wmde-markdown details,.wmde-markdown figcaption,.wmde-markdown figure{display:block}.wmde-markdown summary{display:list-item}.wmde-markdown [hidden]{display:none!important}.wmde-markdown a{background-color:transparent;color:var(--color-accent-fg);text-decoration:none}.wmde-markdown a:active,.wmde-markdown a:hover{outline-width:0}.wmde-markdown abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.wmde-markdown b,.wmde-markdown strong{font-weight:600}.wmde-markdown dfn{font-style:italic}.wmde-markdown h1{margin:.67em 0;font-weight:600;padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--color-border-muted)}.wmde-markdown mark{background-color:var(--color-attention-subtle);color:var(--color-text-primary)}.wmde-markdown small{font-size:90%}.wmde-markdown sub,.wmde-markdown sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.wmde-markdown sub{bottom:-.25em}.wmde-markdown sup{top:-.5em}.wmde-markdown img{display:inline-block;border-style:none;max-width:100%;box-sizing:content-box;background-color:var(--color-canvas-default)}.wmde-markdown code,.wmde-markdown kbd,.wmde-markdown pre,.wmde-markdown samp{font-family:monospace,monospace;font-size:1em}.wmde-markdown figure{margin:1em 40px}.wmde-markdown hr{box-sizing:content-box;overflow:hidden;background:transparent;border:0;border-bottom:1px solid var(--color-border-muted);height:.25em;padding:0;margin:24px 0;background-color:var(--color-border-default)}.wmde-markdown input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.wmde-markdown [type=button],.wmde-markdown [type=reset],.wmde-markdown [type=submit]{-webkit-appearance:button}.wmde-markdown [type=button]::-moz-focus-inner,.wmde-markdown [type=reset]::-moz-focus-inner,.wmde-markdown [type=submit]::-moz-focus-inner{border-style:none;padding:0}.wmde-markdown [type=button]:-moz-focusring,.wmde-markdown [type=reset]:-moz-focusring,.wmde-markdown [type=submit]:-moz-focusring{outline:1px dotted ButtonText}.wmde-markdown [type=checkbox],.wmde-markdown [type=radio]{box-sizing:border-box;padding:0}.wmde-markdown [type=number]::-webkit-inner-spin-button,.wmde-markdown [type=number]::-webkit-outer-spin-button{height:auto}.wmde-markdown [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.wmde-markdown [type=search]::-webkit-search-cancel-button,.wmde-markdown [type=search]::-webkit-search-decoration{-webkit-appearance:none}.wmde-markdown ::-webkit-input-placeholder{color:inherit;opacity:.54}.wmde-markdown ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.wmde-markdown a:hover{text-decoration:underline}.wmde-markdown hr:before{display:table;content:""}.wmde-markdown hr:after{display:table;clear:both;content:""}.wmde-markdown table{border-spacing:0;border-collapse:collapse;display:block;width:-moz-max-content;width:max-content;max-width:100%}.wmde-markdown td,.wmde-markdown th{padding:0}.wmde-markdown details summary{cursor:pointer}.wmde-markdown details:not([open])>*:not(summary){display:none!important}.wmde-markdown kbd{display:inline-block;padding:3px 5px;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:var(--color-fg-default);vertical-align:middle;background-color:var(--color-canvas-subtle);border:solid 1px var(--color-neutral-muted);border-bottom-color:var(--color-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-neutral-muted)}.wmde-markdown h1,.wmde-markdown h2,.wmde-markdown h3,.wmde-markdown h4,.wmde-markdown h5,.wmde-markdown h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.wmde-markdown h2{font-weight:600;padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--color-border-muted)}.wmde-markdown h3{font-weight:600;font-size:1.25em}.wmde-markdown h4{font-weight:600;font-size:1em}.wmde-markdown h5{font-weight:600;font-size:.875em}.wmde-markdown h6{font-weight:600;font-size:.85em;color:var(--color-fg-muted)}.wmde-markdown p{margin-top:0;margin-bottom:10px}.wmde-markdown blockquote{margin:0;padding:0 1em;color:var(--color-fg-muted);border-left:.25em solid var(--color-border-default)}.wmde-markdown ul,.wmde-markdown ol{margin-top:0;margin-bottom:0;padding-left:2em}.wmde-markdown ol ol,.wmde-markdown ul ol{list-style-type:lower-roman}.wmde-markdown ul ul ol,.wmde-markdown ul ol ol,.wmde-markdown ol ul ol,.wmde-markdown ol ol ol{list-style-type:lower-alpha}.wmde-markdown dd{margin-left:0}.wmde-markdown tt,.wmde-markdown code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.wmde-markdown pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.wmde-markdown .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.wmde-markdown ::-moz-placeholder{color:var(--color-fg-subtle);opacity:1}.wmde-markdown ::placeholder{color:var(--color-fg-subtle);opacity:1}.wmde-markdown input::-webkit-outer-spin-button,.wmde-markdown input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;appearance:none}.wmde-markdown [data-catalyst]{display:block}.wmde-markdown:before{display:table;content:""}.wmde-markdown:after{display:table;clear:both;content:""}.wmde-markdown>*:first-child{margin-top:0!important}.wmde-markdown>*:last-child{margin-bottom:0!important}.wmde-markdown a:not([href]){color:inherit;text-decoration:none}.wmde-markdown .absent{color:var(--color-danger-fg)}.wmde-markdown a.anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.wmde-markdown .anchor:focus{outline:none}.wmde-markdown p,.wmde-markdown blockquote,.wmde-markdown ul,.wmde-markdown ol,.wmde-markdown dl,.wmde-markdown table,.wmde-markdown pre,.wmde-markdown details{margin-top:0;margin-bottom:16px}.wmde-markdown blockquote>:first-child{margin-top:0}.wmde-markdown blockquote>:last-child{margin-bottom:0}.wmde-markdown sup>a:before{content:"["}.wmde-markdown sup>a:after{content:"]"}.wmde-markdown h1 .octicon-link,.wmde-markdown h2 .octicon-link,.wmde-markdown h3 .octicon-link,.wmde-markdown h4 .octicon-link,.wmde-markdown h5 .octicon-link,.wmde-markdown h6 .octicon-link{color:var(--color-fg-default);vertical-align:middle;visibility:hidden}.wmde-markdown h1:hover .anchor,.wmde-markdown h2:hover .anchor,.wmde-markdown h3:hover .anchor,.wmde-markdown h4:hover .anchor,.wmde-markdown h5:hover .anchor,.wmde-markdown h6:hover .anchor{text-decoration:none}.wmde-markdown h1:hover .anchor .octicon-link,.wmde-markdown h2:hover .anchor .octicon-link,.wmde-markdown h3:hover .anchor .octicon-link,.wmde-markdown h4:hover .anchor .octicon-link,.wmde-markdown h5:hover .anchor .octicon-link,.wmde-markdown h6:hover .anchor .octicon-link{visibility:visible}.wmde-markdown h1 tt,.wmde-markdown h1 code,.wmde-markdown h2 tt,.wmde-markdown h2 code,.wmde-markdown h3 tt,.wmde-markdown h3 code,.wmde-markdown h4 tt,.wmde-markdown h4 code,.wmde-markdown h5 tt,.wmde-markdown h5 code,.wmde-markdown h6 tt,.wmde-markdown h6 code{padding:0 .2em;font-size:inherit}.wmde-markdown ul.no-list,.wmde-markdown ol.no-list{padding:0;list-style-type:none}.wmde-markdown ol[type="1"]{list-style-type:decimal}.wmde-markdown ol[type=a]{list-style-type:lower-alpha}.wmde-markdown ol[type=i]{list-style-type:lower-roman}.wmde-markdown div>ol:not([type]){list-style-type:decimal}.wmde-markdown ul ul,.wmde-markdown ul ol,.wmde-markdown ol ol,.wmde-markdown ol ul{margin-top:0;margin-bottom:0}.wmde-markdown li>p{margin-top:16px}.wmde-markdown li+li{margin-top:.25em}.wmde-markdown dl{padding:0}.wmde-markdown dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.wmde-markdown dl dd{padding:0 16px;margin-bottom:16px}.wmde-markdown table th{font-weight:600}.wmde-markdown table th,.wmde-markdown table td{padding:6px 13px;border:1px solid var(--color-border-default)}.wmde-markdown table tr{background-color:var(--color-canvas-default);border-top:1px solid var(--color-border-muted)}.wmde-markdown table tr:nth-child(2n){background-color:var(--color-canvas-subtle)}.wmde-markdown table img{background-color:transparent}.wmde-markdown img[align=right]{padding-left:20px}.wmde-markdown img[align=left]{padding-right:20px}.wmde-markdown .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.wmde-markdown span.frame{display:block;overflow:hidden}.wmde-markdown span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--color-border-default)}.wmde-markdown span.frame span img{display:block;float:left}.wmde-markdown span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--color-fg-default)}.wmde-markdown span.align-center{display:block;overflow:hidden;clear:both}.wmde-markdown span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.wmde-markdown span.align-center span img{margin:0 auto;text-align:center}.wmde-markdown span.align-right{display:block;overflow:hidden;clear:both}.wmde-markdown span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.wmde-markdown span.align-right span img{margin:0;text-align:right}.wmde-markdown span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.wmde-markdown span.float-left span{margin:13px 0 0}.wmde-markdown span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.wmde-markdown span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.wmde-markdown code,.wmde-markdown tt{padding:.2em .4em;margin:0;font-size:85%;background-color:var(--color-neutral-muted);border-radius:6px}.wmde-markdown code br,.wmde-markdown tt br{display:none}.wmde-markdown del code{text-decoration:inherit}.wmde-markdown pre code{font-size:100%}.wmde-markdown pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.wmde-markdown pre{font-size:85%;line-height:1.45;background-color:var(--color-canvas-subtle);border-radius:6px}.wmde-markdown pre code,.wmde-markdown pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.wmde-markdown pre>code{padding:16px;overflow:auto;display:block}.wmde-markdown pre>code::-webkit-scrollbar{background:transparent;width:8px;height:8px}.wmde-markdown pre>code::-webkit-scrollbar-thumb{background:var(--color-fg-muted);border-radius:10px}.wmde-markdown .csv-data td,.wmde-markdown .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.wmde-markdown .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:var(--color-canvas-default);border:0}.wmde-markdown .csv-data tr{border-top:0}.wmde-markdown .csv-data th{font-weight:600;background:var(--color-canvas-subtle);border-top:0}.wmde-markdown .footnotes{font-size:12px;color:var(--color-fg-muted);border-top:1px solid var(--color-border-default)}.wmde-markdown .footnotes ol{padding-left:16px}.wmde-markdown .footnotes li{position:relative}.wmde-markdown .footnotes li:target:before{position:absolute;inset:-8px -8px -8px -24px;pointer-events:none;content:"";border:2px solid var(--color-accent-emphasis);border-radius:6px}.wmde-markdown .footnotes li:target{color:var(--color-fg-default)}.wmde-markdown .footnotes .data-footnote-backref g-emoji{font-family:monospace}.wmde-markdown .task-list-item{list-style-type:none}.wmde-markdown .task-list-item label{font-weight:400}.wmde-markdown .task-list-item.enabled label{cursor:pointer}.wmde-markdown .task-list-item+.wmde-markdown .task-list-item{margin-top:3px}.wmde-markdown .task-list-item .handle{display:none}.wmde-markdown .task-list-item-checkbox,.wmde-markdown .contains-task-list input[type=checkbox]{margin:0 .2em .25em -1.6em;vertical-align:middle}.wmde-markdown .contains-task-list:dir(rtl) .task-list-item-checkbox,.wmde-markdown .contains-task-list:dir(rtl) input[type=checkbox]{margin:0 -1.6em .25em .2em}.wmde-markdown ::-webkit-calendar-picker-indicator{filter:invert(50%)}.wmde-markdown pre{position:relative}.wmde-markdown pre .copied{visibility:hidden;display:flex;position:absolute;cursor:pointer;color:var(--color-fg-default);top:6px;right:6px;border-radius:5px;background:var(--color-border-default);padding:6px;font-size:12px;transition:all .3s}.wmde-markdown pre .copied .octicon-copy{display:block}.wmde-markdown pre .copied .octicon-check{display:none}.wmde-markdown pre:hover .copied{visibility:visible}.wmde-markdown pre:hover .copied:hover{background:var(--color-prettylights-syntax-entity-tag);color:var(--color-canvas-default)}.wmde-markdown pre:hover .copied:active,.wmde-markdown pre .copied.active{background:var(--color-copied-active-bg);color:var(--color-canvas-default)}.wmde-markdown pre .active .octicon-copy{display:none}.wmde-markdown pre .active .octicon-check{display:block}.wmde-markdown .markdown-alert{padding:.5rem 1em;color:inherit;margin-bottom:16px;border-left:.25em solid var(--borderColor-default, var(--color-border-default))}.wmde-markdown .markdown-alert>:last-child{margin-bottom:0!important}.wmde-markdown .markdown-alert .markdown-alert-title{display:flex;align-items:center;line-height:1;font-weight:500;font-size:14px}.wmde-markdown .markdown-alert .markdown-alert-title svg.octicon{margin-right:var(--base-size-8, 8px)!important}.wmde-markdown .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis, var(--color-accent-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent, var(--color-accent-fg))}.wmde-markdown .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis, var(--color-success-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success, var(--color-success-fg))}.wmde-markdown .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis, var(--color-done-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done, var(--color-done-fg))}.wmde-markdown .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis, var(--color-attention-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention, var(--color-attention-fg))}.wmde-markdown .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis, var(--color-danger-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger, var(--color-danger-fg))}.wmde-markdown .highlight-line{background-color:var(--color-neutral-muted)}.wmde-markdown .code-line.line-number:before{display:inline-block;width:1rem;text-align:right;margin-right:16px;color:var(--color-fg-subtle);content:attr(line);white-space:nowrap}.wmde-markdown .token.comment,.wmde-markdown .token.prolog,.wmde-markdown .token.doctype,.wmde-markdown .token.cdata{color:var(--color-prettylights-syntax-comment)}.wmde-markdown .token.namespace{opacity:.7}.wmde-markdown .token.property,.wmde-markdown .token.tag,.wmde-markdown .token.selector,.wmde-markdown .token.constant,.wmde-markdown .token.symbol,.wmde-markdown .token.deleted{color:var(--color-prettylights-syntax-entity-tag)}.wmde-markdown .token.maybe-class-name{color:var(--color-prettylights-syntax-variable)}.wmde-markdown .token.property-access,.wmde-markdown .token.operator,.wmde-markdown .token.boolean,.wmde-markdown .token.number,.wmde-markdown .token.selector .token.class,.wmde-markdown .token.attr-name,.wmde-markdown .token.string,.wmde-markdown .token.char,.wmde-markdown .token.builtin{color:var(--color-prettylights-syntax-constant)}.wmde-markdown .token.deleted{color:var(--color-prettylights-syntax-markup-deleted-text)}.wmde-markdown .code-line .token.deleted{background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.wmde-markdown .token.inserted{color:var(--color-prettylights-syntax-markup-inserted-text)}.wmde-markdown .code-line .token.inserted{background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.wmde-markdown .token.variable{color:var(--color-prettylights-syntax-constant)}.wmde-markdown .token.entity,.wmde-markdown .token.url,.wmde-markdown .language-css .token.string,.wmde-markdown .style .token.string,.wmde-markdown .token.color,.wmde-markdown .token.atrule,.wmde-markdown .token.attr-value,.wmde-markdown .token.function,.wmde-markdown .token.class-name{color:var(--color-prettylights-syntax-string)}.wmde-markdown .token.rule,.wmde-markdown .token.regex,.wmde-markdown .token.important,.wmde-markdown .token.keyword{color:var(--color-prettylights-syntax-keyword)}.wmde-markdown .token.coord{color:var(--color-prettylights-syntax-meta-diff-range)}.wmde-markdown .token.important,.wmde-markdown .token.bold{font-weight:700}.wmde-markdown .token.italic{font-style:italic}.wmde-markdown .token.entity{cursor:help}.w-md-editor-toolbar-child{position:absolute;border-radius:3px;box-shadow:0 0 0 1px var(--md-editor-box-shadow-color),0 0 0 var(--md-editor-box-shadow-color),0 1px 1px var(--md-editor-box-shadow-color);background-color:var(--md-editor-background-color);z-index:1;display:none}.w-md-editor-toolbar-child.active{display:block}.w-md-editor-toolbar-child .w-md-editor-toolbar{border-bottom:0;padding:3px;border-radius:3px}.w-md-editor-toolbar-child .w-md-editor-toolbar ul>li{display:block}.w-md-editor-toolbar-child .w-md-editor-toolbar ul>li button{width:-webkit-fill-available;height:initial;box-sizing:border-box;padding:3px 4px 2px;margin:0}.w-md-editor-toolbar{border-bottom:1px solid var(--md-editor-box-shadow-color);background-color:var(--md-editor-background-color);padding:3px;display:flex;justify-content:space-between;align-items:center;border-radius:3px 3px 0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-wrap:wrap}.w-md-editor-toolbar.bottom{border-bottom:0px;border-top:1px solid var(--md-editor-box-shadow-color);border-radius:0 0 3px 3px}.w-md-editor-toolbar ul,.w-md-editor-toolbar li{margin:0;padding:0;list-style:none;line-height:initial}.w-md-editor-toolbar li{display:inline-block;font-size:14px}.w-md-editor-toolbar li+li{margin:0}.w-md-editor-toolbar li>button{border:none;height:20px;line-height:14px;background:none;padding:4px;margin:0 1px;border-radius:2px;text-transform:none;font-weight:400;overflow:visible;outline:none;cursor:pointer;transition:all .3s;white-space:nowrap;color:var(--color-fg-default)}.w-md-editor-toolbar li>button:hover,.w-md-editor-toolbar li>button:focus{background-color:var(--color-neutral-muted);color:var(--color-accent-fg)}.w-md-editor-toolbar li>button:active{background-color:var(--color-neutral-muted);color:var(--color-danger-fg)}.w-md-editor-toolbar li>button:disabled{color:var(--md-editor-box-shadow-color);cursor:not-allowed}.w-md-editor-toolbar li>button:disabled:hover{background-color:transparent;color:var(--md-editor-box-shadow-color)}.w-md-editor-toolbar li.active>button{color:var(--color-accent-fg);background-color:var(--color-neutral-muted)}.w-md-editor-toolbar-divider{height:14px;width:1px;margin:-3px 3px 0!important;vertical-align:middle;background-color:var(--md-editor-box-shadow-color)}.w-md-editor-area{overflow:auto;border-radius:5px}.w-md-editor-text{min-height:100%;position:relative;text-align:left;white-space:pre-wrap;word-break:keep-all;overflow-wrap:break-word;box-sizing:border-box;padding:10px;margin:0;font-size:14px!important;line-height:18px!important;font-variant-ligatures:common-ligatures}.w-md-editor-text-pre,.w-md-editor-text-input,.w-md-editor-text>.w-md-editor-text-pre{margin:0;border:0;background:none;box-sizing:inherit;display:inherit;font-family:inherit;font-family:var(--md-editor-font-family)!important;font-size:inherit;font-style:inherit;font-variant-ligatures:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;-moz-tab-size:inherit;-o-tab-size:inherit;tab-size:inherit;text-indent:inherit;text-rendering:inherit;text-transform:inherit;white-space:inherit;overflow-wrap:inherit;word-break:inherit;word-break:normal;padding:0}.w-md-editor-text-pre{position:relative;margin:0!important;pointer-events:none;background-color:transparent!important}.w-md-editor-text-pre>code{padding:0!important;font-family:var(--md-editor-font-family)!important;font-size:14px!important;line-height:18px!important}.w-md-editor-text-input{position:absolute;top:0;left:0;height:100%;width:100%;resize:none;color:inherit;overflow:hidden;outline:0;padding:inherit;-webkit-font-smoothing:antialiased;-webkit-text-fill-color:transparent}.w-md-editor-text-input:empty{-webkit-text-fill-color:inherit!important}.w-md-editor-text-pre,.w-md-editor-text-input{word-wrap:pre;word-break:break-word;white-space:pre-wrap}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.w-md-editor-text-input{color:transparent!important}.w-md-editor-text-input::-moz-selection{background-color:#accef7!important;color:transparent!important}.w-md-editor-text-input::selection{background-color:#accef7!important;color:transparent!important}}.w-md-editor-text-pre .punctuation{color:var(--color-prettylights-syntax-comment, #8b949e)!important}.w-md-editor-text-pre .token.url,.w-md-editor-text-pre .token.content{color:var(--color-prettylights-syntax-constant, #0550ae)!important}.w-md-editor-text-pre .token.title.important{color:var(--color-prettylights-syntax-markup-bold, #24292f)}.w-md-editor-text-pre .token.code-block .function{color:var(--color-prettylights-syntax-entity, #8250df)}.w-md-editor-text-pre .token.bold{font-weight:unset!important}.w-md-editor-text-pre .token.title{line-height:unset!important;font-size:unset!important;font-weight:unset!important}.w-md-editor-text-pre .token.code.keyword{color:var(--color-prettylights-syntax-constant, #0550ae)!important}.w-md-editor-text-pre .token.strike,.w-md-editor-text-pre .token.strike .content{color:var(--color-prettylights-syntax-markup-deleted-text, #82071e)!important}.w-md-editor-bar{position:absolute;cursor:s-resize;right:0;bottom:0;margin-top:-11px;margin-right:0;width:14px;z-index:3;height:10px;border-radius:0 0 3px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.w-md-editor-bar svg{display:block;margin:0 auto}.w-md-editor{text-align:left;border-radius:3px;padding-bottom:1px;position:relative;color:var(--color-fg-default);--md-editor-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;--md-editor-background-color: var(--color-canvas-default, #ffffff);--md-editor-box-shadow-color: var(--color-border-default, #d0d7de);box-shadow:0 0 0 1px var(--md-editor-box-shadow-color),0 0 0 var(--md-editor-box-shadow-color),0 1px 1px var(--md-editor-box-shadow-color);background-color:var(--md-editor-background-color);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;display:flex;flex-direction:column}.w-md-editor.w-md-editor-rtl{direction:rtl!important;text-align:right!important}.w-md-editor.w-md-editor-rtl .w-md-editor-preview{right:unset!important;left:0;text-align:right!important;box-shadow:inset -1px 0 0 0 var(--md-editor-box-shadow-color)}.w-md-editor.w-md-editor-rtl .w-md-editor-text{text-align:right!important}.w-md-editor-toolbar{height:-moz-fit-content;height:fit-content}.w-md-editor-content{height:100%;overflow:auto;position:relative;border-radius:0 0 3px}.w-md-editor .copied{display:none!important}.w-md-editor-input{width:50%;height:100%}.w-md-editor-text-pre>code{word-break:break-word!important;white-space:pre-wrap!important}.w-md-editor-preview{width:50%;box-sizing:border-box;box-shadow:inset 1px 0 0 0 var(--md-editor-box-shadow-color);position:absolute;padding:10px 20px;overflow:auto;top:0;right:0;bottom:0;border-radius:0 0 5px;display:flex;flex-direction:column}.w-md-editor-preview .anchor{display:none}.w-md-editor-preview .contains-task-list li.task-list-item{list-style:none}.w-md-editor-show-preview .w-md-editor-input{width:0%;overflow:hidden;background-color:var(--md-editor-background-color)}.w-md-editor-show-preview .w-md-editor-preview{width:100%;box-shadow:inset 0 0}.w-md-editor-show-edit .w-md-editor-input{width:100%}.w-md-editor-show-edit .w-md-editor-preview{width:0%;padding:0}.w-md-editor-fullscreen{overflow:hidden;position:fixed;z-index:99999;inset:0;height:100%!important}.w-md-editor-fullscreen .w-md-editor-content{height:100%}._backdrop_5f6sp_8{position:fixed;inset:0;background:#00000080;z-index:9998;animation:_fadeIn_5f6sp_1 .3s cubic-bezier(.2,0,0,1)}@keyframes _fadeIn_5f6sp_1{0%{opacity:0}to{opacity:1}}._sidebar_5f6sp_29{position:fixed;top:0;right:0;bottom:0;z-index:9999;width:480px;max-width:90vw;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.2,0,0,1);overflow:hidden;box-shadow:0 4px 4px #0000004d,0 8px 12px 6px #00000026}._sidebar_5f6sp_29._light_5f6sp_59{background:rgb(var(--md-sys-color-surface, 253, 252, 255));color:rgb(var(--md-sys-color-on-surface, 26, 26, 28))}._sidebar_5f6sp_29._dark_5f6sp_65{background:rgb(var(--md-sys-color-surface, 26, 26, 28));color:rgb(var(--md-sys-color-on-surface, 227, 226, 230))}._sidebar_5f6sp_29._open_5f6sp_71{transform:translate(0)}._header_5f6sp_76{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid rgba(var(--md-sys-color-outline-variant, 194, 193, 201),.5);flex-shrink:0}._sidebar_5f6sp_29._light_5f6sp_59 ._header_5f6sp_76{background:rgb(var(--md-sys-color-surface-container-low, 245, 244, 248))}._sidebar_5f6sp_29._dark_5f6sp_65 ._header_5f6sp_76{background:rgb(var(--md-sys-color-surface-container-low, 30, 30, 32))}._headerContent_5f6sp_99{flex:1;min-width:0}._title_5f6sp_104{font-family:var(--md-sys-typescale-title-medium-font-family, "Google Sans", "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-title-medium-font-size, 1rem);font-weight:var(--md-sys-typescale-title-medium-font-weight, 500);line-height:var(--md-sys-typescale-title-medium-line-height, 1.5rem);letter-spacing:var(--md-sys-typescale-title-medium-letter-spacing, .15px);margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._subtitle_5f6sp_120{font-family:var(--md-sys-typescale-body-small-font-family, "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-body-small-font-size, .75rem);font-weight:var(--md-sys-typescale-body-small-font-weight, 400);line-height:var(--md-sys-typescale-body-small-line-height, 1rem);letter-spacing:var(--md-sys-typescale-body-small-letter-spacing, .4px);opacity:.7}._closeButton_5f6sp_131{border:none;background:transparent;padding:8px;cursor:pointer;width:40px;height:40px;border-radius:50%;font-size:24px;line-height:1;transition:background .15s cubic-bezier(.2,0,0,1);display:flex;align-items:center;justify-content:center;flex-shrink:0}._closeButton_5f6sp_131:hover{background:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.08)}._closeButton_5f6sp_131:active{background:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.12)}._toolbar_5f6sp_168{display:flex;align-items:center;gap:8px;padding:12px 24px;border-bottom:1px solid rgba(var(--md-sys-color-outline-variant, 194, 193, 201),.3);flex-shrink:0}._sidebar_5f6sp_29._light_5f6sp_59 ._toolbar_5f6sp_168{background:rgb(var(--md-sys-color-surface-container, 239, 238, 242))}._sidebar_5f6sp_29._dark_5f6sp_65 ._toolbar_5f6sp_168{background:rgb(var(--md-sys-color-surface-container, 30, 30, 32))}._toolbarButton_5f6sp_185{border:none;background:transparent;cursor:pointer;padding:8px 12px;min-width:40px;height:40px;border-radius:20px;font-size:20px;line-height:1;transition:background .15s cubic-bezier(.2,0,0,1),transform .1s ease;display:flex;align-items:center;justify-content:center}._toolbarButton_5f6sp_185:hover:not(:disabled){background:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.08)}._toolbarButton_5f6sp_185:active:not(:disabled){background:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.12);transform:scale(.95)}._toolbarButton_5f6sp_185._active_5f6sp_219{background:rgba(var(--md-sys-color-primary, 0, 92, 186),.12)}._sidebar_5f6sp_29._dark_5f6sp_65 ._toolbarButton_5f6sp_185._active_5f6sp_219{background:rgba(var(--md-sys-color-primary, 165, 194, 255),.12)}._toolbarButton_5f6sp_185:disabled{opacity:.38;cursor:not-allowed}._toolbarButton_5f6sp_185._recording_5f6sp_233{animation:_pulse_5f6sp_1 1.5s ease-in-out infinite;background:#dc26261f}@keyframes _pulse_5f6sp_1{0%,to{opacity:1}50%{opacity:.6}}._toolbarSpacer_5f6sp_247{flex:1}._shortcutHint_5f6sp_251{font-size:.7rem;opacity:.5;white-space:nowrap;-webkit-user-select:none;user-select:none}._templateWrapper_5f6sp_259{position:relative}._templateDropdown_5f6sp_263{position:absolute;top:calc(100% + 4px);left:0;z-index:10000;min-width:200px;background:rgb(var(--md-sys-color-surface-container-high, 227, 226, 230));border-radius:12px;box-shadow:0 2px 3px #0000004d,0 6px 10px 4px #00000026;padding:8px;display:flex;flex-direction:column;gap:4px;animation:_slideDown_5f6sp_1 .2s cubic-bezier(.2,0,0,1)}._sidebar_5f6sp_29._dark_5f6sp_65 ._templateDropdown_5f6sp_263{background:rgb(var(--md-sys-color-surface-container-high, 51, 51, 53))}@keyframes _slideDown_5f6sp_1{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}._templateItem_5f6sp_304{border:none;background:transparent;cursor:pointer;text-align:left;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;font-family:var(--md-sys-typescale-body-medium-font-family, "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-body-medium-font-size, .875rem);font-weight:var(--md-sys-typescale-body-medium-font-weight, 400);color:inherit;transition:background .15s cubic-bezier(.2,0,0,1)}._templateItem_5f6sp_304:hover{background:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.08)}._templateItem_5f6sp_304:active{background:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.12)}._templateIcon_5f6sp_336{font-size:20px;flex-shrink:0}._templateLabel_5f6sp_341{flex:1}._content_5f6sp_346{flex:1;overflow-y:auto;padding:24px;scrollbar-width:thin}._content_5f6sp_346::-webkit-scrollbar{width:8px}._content_5f6sp_346::-webkit-scrollbar-track{background:transparent}._content_5f6sp_346::-webkit-scrollbar-thumb{background:rgba(var(--md-sys-color-on-surface-variant, 65, 65, 72),.3);border-radius:4px}._content_5f6sp_346::-webkit-scrollbar-thumb:hover{background:rgba(var(--md-sys-color-on-surface-variant, 65, 65, 72),.5)}._textarea_5f6sp_372{width:100%;min-height:400px;border:none;outline:none;resize:vertical;font-family:var(--md-sys-typescale-body-large-font-family, "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-body-large-font-size, 1rem);font-weight:var(--md-sys-typescale-body-large-font-weight, 400);line-height:var(--md-sys-typescale-body-large-line-height, 1.5rem);letter-spacing:var(--md-sys-typescale-body-large-letter-spacing, .5px);padding:16px;border-radius:12px;transition:background .15s ease,border .15s ease}._sidebar_5f6sp_29._light_5f6sp_59 ._textarea_5f6sp_372{background:rgb(var(--md-sys-color-surface-container-highest, 227, 226, 230));color:rgb(var(--md-sys-color-on-surface, 26, 26, 28));border:1px solid rgba(var(--md-sys-color-outline, 114, 114, 121),.3)}._sidebar_5f6sp_29._dark_5f6sp_65 ._textarea_5f6sp_372{background:rgb(var(--md-sys-color-surface-container-highest, 51, 51, 53));color:rgb(var(--md-sys-color-on-surface, 227, 226, 230));border:1px solid rgba(var(--md-sys-color-outline, 140, 140, 147),.3)}._textarea_5f6sp_372:focus{border-color:rgb(var(--md-sys-color-primary, 0, 92, 186));box-shadow:0 0 0 3px rgba(var(--md-sys-color-primary, 0, 92, 186),.1)}._textarea_5f6sp_372::placeholder{opacity:.5}._mdEditor_5f6sp_421{border:1px solid rgba(var(--md-sys-color-outline, 114, 114, 121),.3)!important;border-radius:12px!important;overflow:hidden}._footer_5f6sp_428{padding:16px 24px 24px;display:flex;flex-direction:column;gap:12px;border-top:1px solid rgba(var(--md-sys-color-outline-variant, 194, 193, 201),.5);flex-shrink:0}._sidebar_5f6sp_29._light_5f6sp_59 ._footer_5f6sp_428{background:rgb(var(--md-sys-color-surface-container-low, 245, 244, 248))}._sidebar_5f6sp_29._dark_5f6sp_65 ._footer_5f6sp_428{background:rgb(var(--md-sys-color-surface-container-low, 30, 30, 32))}._tagInput_5f6sp_450{width:100%;font-family:var(--md-sys-typescale-body-medium-font-family, "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-body-medium-font-size, .875rem);font-weight:var(--md-sys-typescale-body-medium-font-weight, 400);line-height:var(--md-sys-typescale-body-medium-line-height, 1.25rem);letter-spacing:var(--md-sys-typescale-body-medium-letter-spacing, .25px);padding:12px 16px;border:1px solid rgba(var(--md-sys-color-outline, 114, 114, 121),.5);border-radius:12px;transition:border .15s ease,box-shadow .15s ease}._sidebar_5f6sp_29._light_5f6sp_59 ._tagInput_5f6sp_450{background:rgb(var(--md-sys-color-surface-container-highest, 227, 226, 230));color:rgb(var(--md-sys-color-on-surface, 26, 26, 28))}._sidebar_5f6sp_29._dark_5f6sp_65 ._tagInput_5f6sp_450{background:rgb(var(--md-sys-color-surface-container-highest, 51, 51, 53));color:rgb(var(--md-sys-color-on-surface, 227, 226, 230))}._tagInput_5f6sp_450:focus{outline:none;border-color:rgb(var(--md-sys-color-primary, 0, 92, 186));box-shadow:0 0 0 3px rgba(var(--md-sys-color-primary, 0, 92, 186),.1)}._tagInput_5f6sp_450::placeholder{opacity:.5}._actions_5f6sp_492{display:flex;gap:12px}._button_5f6sp_498{flex:1;padding:12px 24px;min-height:44px;font-family:var(--md-sys-typescale-label-large-font-family, "Google Sans", "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-label-large-font-size, .875rem);font-weight:var(--md-sys-typescale-label-large-font-weight, 500);line-height:var(--md-sys-typescale-label-large-line-height, 1.25rem);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing, .1px);border:none;cursor:pointer;border-radius:20px;transition:background .15s cubic-bezier(.2,0,0,1),transform .1s cubic-bezier(.2,0,0,1),box-shadow .15s cubic-bezier(.2,0,0,1)}._button_5f6sp_498:active:not(:disabled){transform:translateY(1px)}._saveButton_5f6sp_530{background:rgb(var(--md-sys-color-primary, 0, 92, 186));color:rgb(var(--md-sys-color-on-primary, 255, 255, 255))}._saveButton_5f6sp_530:hover:not(:disabled){background:rgba(var(--md-sys-color-primary, 0, 92, 186),.9);box-shadow:0 2px 4px #00000026}._saveButton_5f6sp_530:disabled{background:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.12);color:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.38);cursor:not-allowed;opacity:.7}._clearButton_5f6sp_548{background:rgb(var(--md-sys-color-error-container, 255, 218, 214));color:rgb(var(--md-sys-color-on-error-container, 65, 14, 11))}._sidebar_5f6sp_29._dark_5f6sp_65 ._clearButton_5f6sp_548{background:rgb(var(--md-sys-color-error-container, 147, 0, 10));color:rgb(var(--md-sys-color-on-error-container, 255, 218, 214))}._clearButton_5f6sp_548:hover:not(:disabled){background:rgba(var(--md-sys-color-error-container, 255, 218, 214),.8);box-shadow:0 2px 4px #00000026}._clearButton_5f6sp_548:disabled{background:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.12);color:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.38);cursor:not-allowed;opacity:.7}@media(max-width:640px){._sidebar_5f6sp_29{width:100%;max-width:100vw}._header_5f6sp_76{padding:16px 20px}._toolbar_5f6sp_168{padding:10px 20px;gap:6px}._toolbarButton_5f6sp_185{min-width:36px;height:36px;padding:6px 10px;font-size:18px}._shortcutHint_5f6sp_251{display:none}._content_5f6sp_346{padding:20px}._textarea_5f6sp_372{min-height:300px;padding:12px;font-size:14px}._footer_5f6sp_428{padding:12px 20px 20px}._actions_5f6sp_492{flex-direction:column}._button_5f6sp_498{width:100%}._templateDropdown_5f6sp_263{min-width:180px}}@media(min-width:641px)and (max-width:1024px){._sidebar_5f6sp_29{width:420px}}@media print{._sidebar_5f6sp_29,._backdrop_5f6sp_8{display:none!important}}@media(prefers-reduced-motion:reduce){._sidebar_5f6sp_29,._backdrop_5f6sp_8,._templateDropdown_5f6sp_263{animation:none;transition:none}}._backdrop_17olx_9{position:fixed;inset:0;background:#00000080;z-index:9998;pointer-events:auto}._sheet_17olx_21{position:fixed;left:0;right:0;bottom:50px;z-index:9999;display:flex;flex-direction:column;max-height:90vh;border-radius:28px 28px 0 0;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026;touch-action:pan-y;-webkit-user-select:none;user-select:none;overscroll-behavior:contain}._sheet_17olx_21._light_17olx_51{background:#fff;color:rgb(var(--md-sys-color-on-surface, 26, 26, 28))}._sheet_17olx_21._dark_17olx_57{background:rgb(var(--md-sys-color-surface, 26, 26, 28));color:rgb(var(--md-sys-color-on-surface, 227, 226, 230))}._dragHandle_17olx_63{display:flex;align-items:center;justify-content:center;padding:12px 0 8px;min-height:32px;cursor:grab;flex-shrink:0}._dragHandle_17olx_63:active{cursor:grabbing}._dragIndicator_17olx_80{width:32px;height:4px;border-radius:2px;background:rgba(var(--md-sys-color-on-surface-variant, 65, 65, 72),.4);transition:background .2s ease}._dragHandle_17olx_63:hover ._dragIndicator_17olx_80{background:rgba(var(--md-sys-color-on-surface-variant, 65, 65, 72),.6)}._peekContent_17olx_93{display:flex;align-items:center;gap:12px;padding:0 20px 24px;-webkit-user-select:none;user-select:none}._peekButton_17olx_101{border:none;cursor:pointer;background:transparent;display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:var(--button-min-height, 56px);padding:12px 20px;border-radius:28px;font-family:var(--md-sys-typescale-label-large-font-family, "Google Sans", "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-label-large-font-size, .875rem);font-weight:var(--md-sys-typescale-label-large-font-weight, 500);line-height:var(--md-sys-typescale-label-large-line-height, 1.25rem);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing, .1px);transition:background .2s cubic-bezier(.2,0,0,1),transform .15s cubic-bezier(.2,0,0,1),box-shadow .2s cubic-bezier(.2,0,0,1)}._peekButton_17olx_101:active{transform:scale(.97)}@media(max-width:599px){._peekButton_17olx_101{padding:10px 16px;font-size:.8125rem}._peekContent_17olx_93{gap:8px;padding:0 16px 20px}}._voiceButton_17olx_149{background:rgb(var(--md-sys-color-primary, 0, 92, 186));color:rgb(var(--md-sys-color-on-primary, 255, 255, 255));box-shadow:0 2px 4px #0003}._voiceButton_17olx_149:hover{background:rgba(var(--md-sys-color-primary, 0, 92, 186),.92);box-shadow:0 4px 8px #00000040}._sheet_17olx_21._dark_17olx_57 ._voiceButton_17olx_149{background:#a5c2ff;color:#001848;border:2px solid rgba(255,255,255,.3);box-shadow:0 2px 4px #00000080,0 0 0 1px #ffffff1a}._sheet_17olx_21._dark_17olx_57 ._voiceButton_17olx_149:hover{background:#91aeeb;border-color:#fff6;box-shadow:0 4px 8px #0009,0 0 0 1px #fff3}._voiceButton_17olx_149._recording_17olx_179{background:#dc2626;animation:_pulseRecording_17olx_1 1.5s ease-in-out infinite}@keyframes _pulseRecording_17olx_1{0%,to{opacity:1;box-shadow:0 2px 4px #dc262666}50%{opacity:.85;box-shadow:0 4px 12px #dc262699}}._typeButton_17olx_196{background:rgb(var(--md-sys-color-secondary-container, 224, 224, 255));color:rgb(var(--md-sys-color-on-secondary-container, 16, 20, 96));box-shadow:0 1px 3px #00000026}._sheet_17olx_21._dark_17olx_57 ._typeButton_17olx_196{background:#c8dcff;color:#101460;border:2px solid rgba(255,255,255,.3);box-shadow:0 2px 4px #00000080,0 0 0 1px #ffffff1a}._typeButton_17olx_196:hover{background:rgba(var(--md-sys-color-secondary-container, 224, 224, 255),.92);box-shadow:0 2px 6px #0003}._sheet_17olx_21._dark_17olx_57 ._typeButton_17olx_196:hover{background:#b4c8eb;border-color:#fff6;box-shadow:0 4px 8px #0009,0 0 0 1px #fff3}._peekButton_17olx_101._closeButton_17olx_225{flex:0 0 56px;min-width:56px;padding:0;background:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.08)}._peekButton_17olx_101._closeButton_17olx_225:hover{background:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.12)}._sheet_17olx_21._dark_17olx_57 ._peekButton_17olx_101._closeButton_17olx_225{background:#ffffff26;border:2px solid rgba(255,255,255,.3);box-shadow:0 2px 4px #00000080}._sheet_17olx_21._dark_17olx_57 ._peekButton_17olx_101._closeButton_17olx_225:hover{background:#ffffff40;border-color:#fff6}._peekIcon_17olx_248{font-size:24px;line-height:1}._peekLabel_17olx_253{font-weight:500}._header_17olx_258{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;border-bottom:1px solid rgba(var(--md-sys-color-outline-variant, 194, 193, 201),.5);flex-shrink:0}._sheet_17olx_21._light_17olx_51 ._header_17olx_258{background:#fff}._sheet_17olx_21._dark_17olx_57 ._header_17olx_258{background:rgb(var(--md-sys-color-surface-container-low, 30, 30, 32))}._headerContent_17olx_276{flex:1;min-width:0}._title_17olx_281{font-family:var(--md-sys-typescale-title-medium-font-family, "Google Sans", "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-title-medium-font-size, 1rem);font-weight:var(--md-sys-typescale-title-medium-font-weight, 500);line-height:var(--md-sys-typescale-title-medium-line-height, 1.5rem);letter-spacing:var(--md-sys-typescale-title-medium-letter-spacing, .15px);margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._subtitle_17olx_297{font-family:var(--md-sys-typescale-body-small-font-family, "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-body-small-font-size, .75rem);font-weight:var(--md-sys-typescale-body-small-font-weight, 400);line-height:var(--md-sys-typescale-body-small-line-height, 1rem);letter-spacing:var(--md-sys-typescale-body-small-letter-spacing, .4px);opacity:.7}._minimizeButton_17olx_308{border:none;background:transparent;cursor:pointer;padding:8px;width:40px;height:40px;border-radius:50%;font-size:20px;line-height:1;transition:background .15s cubic-bezier(.2,0,0,1);display:flex;align-items:center;justify-content:center;flex-shrink:0}._minimizeButton_17olx_308:hover{background:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.08)}._minimizeButton_17olx_308:active{background:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.12)}._toolbar_17olx_343{display:flex;align-items:center;gap:8px;padding:10px 20px;border-bottom:1px solid rgba(var(--md-sys-color-outline-variant, 194, 193, 201),.3);flex-shrink:0}._sheet_17olx_21._light_17olx_51 ._toolbar_17olx_343{background:#fff}._sheet_17olx_21._dark_17olx_57 ._toolbar_17olx_343{background:rgb(var(--md-sys-color-surface-container, 30, 30, 32))}._toolbarButton_17olx_360{border:none;background:transparent;cursor:pointer;padding:8px 12px;min-width:40px;height:40px;border-radius:20px;font-size:20px;line-height:1;transition:background .15s cubic-bezier(.2,0,0,1),transform .1s ease;display:flex;align-items:center;justify-content:center}._toolbarButton_17olx_360:hover:not(:disabled){background:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.08)}._toolbarButton_17olx_360:active:not(:disabled){background:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.12);transform:scale(.95)}._toolbarButton_17olx_360._active_17olx_394{background:rgba(var(--md-sys-color-primary, 0, 92, 186),.12)}._sheet_17olx_21._dark_17olx_57 ._toolbarButton_17olx_360._active_17olx_394{background:rgba(var(--md-sys-color-primary, 165, 194, 255),.12)}._toolbarButton_17olx_360:disabled{opacity:.38;cursor:not-allowed}._toolbarButton_17olx_360._recording_17olx_179{animation:_pulse_17olx_1 1.5s ease-in-out infinite;background:#dc26261f}@keyframes _pulse_17olx_1{0%,to{opacity:1}50%{opacity:.6}}._toolbarSpacer_17olx_422{flex:1}._templateWrapper_17olx_427{position:relative}._templateDropdown_17olx_431{position:absolute;bottom:calc(100% + 4px);left:0;z-index:10000;min-width:200px;background:rgb(var(--md-sys-color-surface-container-high, 227, 226, 230));border-radius:12px;box-shadow:0 2px 3px #0000004d,0 6px 10px 4px #00000026;padding:8px;display:flex;flex-direction:column;gap:4px;animation:_slideUp_17olx_1 .2s cubic-bezier(.2,0,0,1)}._sheet_17olx_21._dark_17olx_57 ._templateDropdown_17olx_431{background:#333335;border:2px solid rgba(255,255,255,.3);box-shadow:0 2px 3px #00000080,0 6px 10px 4px #0000004d,0 0 0 1px #ffffff1a}@keyframes _slideUp_17olx_1{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}._templateItem_17olx_477{border:none;background:transparent;cursor:pointer;text-align:left;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;font-family:var(--md-sys-typescale-body-medium-font-family, "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-body-medium-font-size, .875rem);font-weight:var(--md-sys-typescale-body-medium-font-weight, 400);color:inherit;transition:background .15s cubic-bezier(.2,0,0,1)}._templateItem_17olx_477:hover{background:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.08)}._templateItem_17olx_477:active{background:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.12)}._sheet_17olx_21._dark_17olx_57 ._templateItem_17olx_477{color:#e3e2e6}._sheet_17olx_21._dark_17olx_57 ._templateItem_17olx_477:hover{background:#ffffff1f}._sheet_17olx_21._dark_17olx_57 ._templateItem_17olx_477:active{background:#ffffff2e}._templateIcon_17olx_522{font-size:20px;flex-shrink:0}._templateLabel_17olx_527{flex:1}._content_17olx_532{flex:1;overflow-y:auto;padding:16px 20px;min-height:120px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}._content_17olx_532::-webkit-scrollbar{width:6px}._content_17olx_532::-webkit-scrollbar-track{background:transparent}._content_17olx_532::-webkit-scrollbar-thumb{background:rgba(var(--md-sys-color-on-surface-variant, 65, 65, 72),.3);border-radius:3px}._content_17olx_532::-webkit-scrollbar-thumb:hover{background:rgba(var(--md-sys-color-on-surface-variant, 65, 65, 72),.5)}._textarea_17olx_560{width:100%;min-height:150px;border:none;outline:none;resize:none;font-family:var(--md-sys-typescale-body-large-font-family, "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-body-large-font-size, 1rem);font-weight:var(--md-sys-typescale-body-large-font-weight, 400);line-height:var(--md-sys-typescale-body-large-line-height, 1.5rem);letter-spacing:var(--md-sys-typescale-body-large-letter-spacing, .5px);padding:12px;border-radius:12px;transition:background .15s ease,border .15s ease}._sheet_17olx_21._light_17olx_51 ._textarea_17olx_560{background:#fff;color:rgb(var(--md-sys-color-on-surface, 26, 26, 28));border:1px solid rgba(var(--md-sys-color-outline, 114, 114, 121),.3)}._sheet_17olx_21._dark_17olx_57 ._textarea_17olx_560{background:rgb(var(--md-sys-color-surface-container-highest, 51, 51, 53));color:rgb(var(--md-sys-color-on-surface, 227, 226, 230));border:1px solid rgba(var(--md-sys-color-outline, 140, 140, 147),.3)}._textarea_17olx_560:focus{border-color:rgb(var(--md-sys-color-primary, 0, 92, 186));box-shadow:0 0 0 3px rgba(var(--md-sys-color-primary, 0, 92, 186),.1)}._textarea_17olx_560::placeholder{opacity:.5}._mdEditor_17olx_609{border:1px solid rgba(var(--md-sys-color-outline, 114, 114, 121),.3)!important;border-radius:12px!important;overflow:hidden}._footer_17olx_616{padding:12px 20px 20px;display:flex;flex-direction:column;gap:12px;border-top:1px solid rgba(var(--md-sys-color-outline-variant, 194, 193, 201),.5);flex-shrink:0}._sheet_17olx_21._light_17olx_51 ._footer_17olx_616{background:#fff}._sheet_17olx_21._dark_17olx_57 ._footer_17olx_616{background:rgb(var(--md-sys-color-surface-container-low, 30, 30, 32))}._tagInput_17olx_633{width:100%;font-family:var(--md-sys-typescale-body-medium-font-family, "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-body-medium-font-size, .875rem);font-weight:var(--md-sys-typescale-body-medium-font-weight, 400);line-height:var(--md-sys-typescale-body-medium-line-height, 1.25rem);letter-spacing:var(--md-sys-typescale-body-medium-letter-spacing, .25px);padding:12px 16px;border:1px solid rgba(var(--md-sys-color-outline, 114, 114, 121),.5);border-radius:12px;transition:border .15s ease,box-shadow .15s ease}._sheet_17olx_21._light_17olx_51 ._tagInput_17olx_633{background:#fff;color:rgb(var(--md-sys-color-on-surface, 26, 26, 28))}._sheet_17olx_21._dark_17olx_57 ._tagInput_17olx_633{background:rgb(var(--md-sys-color-surface-container-highest, 51, 51, 53));color:rgb(var(--md-sys-color-on-surface, 227, 226, 230))}._tagInput_17olx_633:focus{outline:none;border-color:rgb(var(--md-sys-color-primary, 0, 92, 186));box-shadow:0 0 0 3px rgba(var(--md-sys-color-primary, 0, 92, 186),.1)}._tagInput_17olx_633::placeholder{opacity:.5}._actions_17olx_666{display:flex;gap:12px}._button_17olx_672{width:var(--button-width, 100%);min-height:var(--button-min-height, 48px);padding:var(--button-padding-y, 14px) var(--button-padding-x, 24px);border-radius:var(--button-border-radius, 24px);font-family:var(--md-sys-typescale-label-large-font-family, "Google Sans", "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-label-large-font-size, .875rem);font-weight:var(--md-sys-typescale-label-large-font-weight, 500);line-height:var(--md-sys-typescale-label-large-line-height, 1.25rem);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing, .1px);border:none;cursor:pointer;transition:background .15s cubic-bezier(.2,0,0,1),transform .1s cubic-bezier(.2,0,0,1),box-shadow .15s cubic-bezier(.2,0,0,1)}._button_17olx_672:active:not(:disabled){transform:translateY(1px)}@media(max-width:599px){._button_17olx_672{width:100%}._actions_17olx_666{flex-direction:column}}@media(min-width:600px){._button_17olx_672{width:auto;flex:1;min-width:120px}._actions_17olx_666{flex-direction:row}}._saveButton_17olx_726{background:rgb(var(--md-sys-color-primary, 0, 92, 186));color:rgb(var(--md-sys-color-on-primary, 255, 255, 255));box-shadow:0 2px 4px #0003}._saveButton_17olx_726:hover:not(:disabled){background:rgba(var(--md-sys-color-primary, 0, 92, 186),.92);box-shadow:0 4px 8px #00000040}._saveButton_17olx_726:disabled{background:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.12);color:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.38);cursor:not-allowed;opacity:.7;box-shadow:none}@media(prefers-reduced-motion:reduce){._sheet_17olx_21,._backdrop_17olx_9,._templateDropdown_17olx_431,._peekButton_17olx_101,._button_17olx_672,._toolbarButton_17olx_360{animation:none;transition:none}}@supports (padding: env(safe-area-inset-bottom)){._footer_17olx_616,._peekContent_17olx_93{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}._fab_4em4j_7{position:fixed;z-index:9997;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--md-sys-typescale-label-large-font-family, "Google Sans", "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-label-large-font-size, .875rem);font-weight:var(--md-sys-typescale-label-large-font-weight, 500);line-height:var(--md-sys-typescale-label-large-line-height, 1.25rem);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing, .1px);box-shadow:0 2px 3px #0000004d,0 6px 10px 4px #00000026;transition:transform .15s cubic-bezier(.2,0,0,1),box-shadow .15s cubic-bezier(.2,0,0,1),background .15s cubic-bezier(.2,0,0,1);-webkit-user-select:none;user-select:none}._fab_4em4j_7._normal_4em4j_45{min-width:56px;height:var(--fab-size-normal, 56px);border-radius:16px;padding:0 16px}._fab_4em4j_7._small_4em4j_52{min-width:40px;height:var(--fab-size-small, 40px);border-radius:12px;padding:0 12px}._fab_4em4j_7._extended_4em4j_60{padding:0 20px;min-width:auto}._fab_4em4j_7._primary_4em4j_68{background:rgb(var(--md-sys-color-primary-container, 209, 221, 255));color:rgb(var(--md-sys-color-on-primary-container, 0, 24, 72))}._fab_4em4j_7._primary_4em4j_68:hover:not(:disabled){background:rgba(var(--md-sys-color-primary-container, 209, 221, 255),.92);box-shadow:0 4px 4px #0000004d,0 8px 12px 6px #00000026;transform:translateY(-2px) scale(1.05)}._fab_4em4j_7._secondary_4em4j_82{background:rgb(var(--md-sys-color-secondary-container, 213, 234, 216));color:rgb(var(--md-sys-color-on-secondary-container, 13, 31, 18))}._fab_4em4j_7._secondary_4em4j_82:hover:not(:disabled){background:rgba(var(--md-sys-color-secondary-container, 213, 234, 216),.92);box-shadow:0 4px 4px #0000004d,0 8px 12px 6px #00000026;transform:translateY(-2px) scale(1.05)}._fab_4em4j_7._tertiary_4em4j_96{background:rgb(var(--md-sys-color-tertiary-container, 255, 221, 179));color:rgb(var(--md-sys-color-on-tertiary-container, 45, 22, 0))}._fab_4em4j_7._tertiary_4em4j_96:hover:not(:disabled){background:rgba(var(--md-sys-color-tertiary-container, 255, 221, 179),.92);box-shadow:0 4px 4px #0000004d,0 8px 12px 6px #00000026;transform:translateY(-2px) scale(1.05)}._fab_4em4j_7:active:not(:disabled){transform:translateY(0) scale(.95);box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}._fab_4em4j_7:disabled,._fab_4em4j_7._disabled_4em4j_118{background:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.12);color:rgba(var(--md-sys-color-on-surface, 26, 26, 28),.38);cursor:not-allowed;opacity:.5;box-shadow:none}._icon_4em4j_127{display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1}._fab_4em4j_7._small_4em4j_52 ._icon_4em4j_127{font-size:20px}._label_4em4j_139{white-space:nowrap}@media(max-width:599px){._fab_4em4j_7._normal_4em4j_45{min-width:48px;height:48px;padding:0 12px}._fab_4em4j_7._normal_4em4j_45 ._icon_4em4j_127{font-size:20px}._fab_4em4j_7._small_4em4j_52{min-width:36px;height:36px;padding:0 10px}._fab_4em4j_7._small_4em4j_52 ._icon_4em4j_127{font-size:18px}._fab_4em4j_7{bottom:var(--fab-bottom, 16px);right:var(--fab-right, 16px)}}@media(min-width:600px)and (max-width:839px){._fab_4em4j_7{bottom:var(--fab-bottom, 20px);right:var(--fab-right, 20px)}}@media(prefers-reduced-motion:reduce){._fab_4em4j_7{transition:none}}._fab_4em4j_7:focus-visible{outline:2px solid rgb(var(--md-sys-color-primary, 0, 92, 186));outline-offset:2px}._fab_4em4j_7._dark_4em4j_195._primary_4em4j_68{background:#a5c2ff;color:#001848;border:2px solid rgba(255,255,255,.2);box-shadow:0 2px 3px #00000080,0 6px 10px 4px #0000004d}._fab_4em4j_7._dark_4em4j_195._primary_4em4j_68:hover:not(:disabled){background:#91aeeb;border-color:#ffffff4d;box-shadow:0 4px 4px #00000080,0 8px 12px 6px #00000059}._fab_4em4j_7._dark_4em4j_195._secondary_4em4j_82{background:#b3ffc4;color:#0d1f12;border:2px solid rgba(255,255,255,.2);box-shadow:0 2px 3px #00000080,0 6px 10px 4px #0000004d}._fab_4em4j_7._dark_4em4j_195._secondary_4em4j_82:hover:not(:disabled){background:#9febb0;border-color:#ffffff4d;box-shadow:0 4px 4px #00000080,0 8px 12px 6px #00000059}._fab_4em4j_7._dark_4em4j_195._tertiary_4em4j_96{background:#ffddb3;color:#2d1600;border:2px solid rgba(255,255,255,.2);box-shadow:0 2px 3px #00000080,0 6px 10px 4px #0000004d}._fab_4em4j_7._dark_4em4j_195._tertiary_4em4j_96:hover:not(:disabled){background:#ebc99f;border-color:#ffffff4d;box-shadow:0 4px 4px #00000080,0 8px 12px 6px #00000059}@media(prefers-color-scheme:dark){._fab_4em4j_7._primary_4em4j_68:not(._light_4em4j_250){background:#a5c2ff;color:#001848;border:2px solid rgba(255,255,255,.2);box-shadow:0 2px 3px #00000080,0 6px 10px 4px #0000004d}._fab_4em4j_7._primary_4em4j_68:not(._light_4em4j_250):hover:not(:disabled){background:#91aeeb;border-color:#ffffff4d;box-shadow:0 4px 4px #00000080,0 8px 12px 6px #00000059}}.book-carousel-container{position:relative;padding:20px;background:rgb(var(--md-sys-color-surface-container-lowest, 255, 255, 255));border-radius:16px;box-shadow:0 2px 8px #00000014;transition:background .3s ease,box-shadow .3s ease;height:100%;display:flex;flex-direction:column}[data-theme=dark] .book-carousel-container,.dark .book-carousel-container{background:rgb(var(--md-sys-color-surface-container-low, 28, 27, 31));box-shadow:0 2px 8px #0000004d}.book-carousel-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(var(--md-sys-color-outline-variant, 202, 196, 208),.3);flex-shrink:0}[data-theme=dark] .book-carousel-header,.dark .book-carousel-header{border-bottom:1px solid rgba(var(--md-sys-color-outline-variant, 73, 69, 79),.3)}.book-carousel-title{margin:0;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:8px;color:rgb(var(--md-sys-color-on-surface, 28, 27, 31))}[data-theme=dark] .book-carousel-title,.dark .book-carousel-title{color:rgb(var(--md-sys-color-on-surface, 230, 225, 229))}.book-carousel-subtitle{margin:4px 0 0;font-size:.875rem;color:rgb(var(--md-sys-color-on-surface-variant, 73, 69, 79))}[data-theme=dark] .book-carousel-subtitle,.dark .book-carousel-subtitle{color:rgb(var(--md-sys-color-on-surface-variant, 202, 196, 208))}.book-grid-scrollable{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;overflow-y:auto;overflow-x:hidden;flex:1;padding:4px;max-height:calc(80vh - 100px)}.book-grid-scrollable::-webkit-scrollbar{width:8px}.book-grid-scrollable::-webkit-scrollbar-track{background:rgba(var(--md-sys-color-surface-variant, 231, 224, 236),.3);border-radius:4px}.book-grid-scrollable::-webkit-scrollbar-thumb{background:#24a8e080;border-radius:4px;-webkit-transition:background .3s;transition:background .3s}.book-grid-scrollable::-webkit-scrollbar-thumb:hover{background:#24a8e0cc}[data-theme=dark] .book-grid-scrollable::-webkit-scrollbar-track,.dark .book-grid-scrollable::-webkit-scrollbar-track{background:rgba(var(--md-sys-color-surface-variant, 73, 69, 79),.3)}.book-grid-item{position:relative;aspect-ratio:2/3;border-radius:8px;overflow:hidden;cursor:grab;box-shadow:0 2px 8px #0000001f;border:2px solid transparent;transition:all .25s cubic-bezier(.4,0,.2,1);background:rgb(var(--md-sys-color-surface-container, 243, 237, 247))}[data-theme=dark] .book-grid-item,.dark .book-grid-item{background:rgb(var(--md-sys-color-surface-container, 46, 43, 50));box-shadow:0 2px 8px #0000004d}.book-grid-item:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 8px 16px #24a8e040;border-color:#24a8e066;z-index:10}.book-grid-item:active{cursor:grabbing;transform:scale(.98);box-shadow:0 2px 6px #00000026}.book-grid-cover{width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none}.book-grid-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--brand-gradient-start) 0%,var(--brand-gradient-end) 100%);display:flex;align-items:center;justify-content:center;padding:12px}.book-grid-placeholder-text{color:#fff;font-size:.7rem;font-weight:500;text-align:center;word-break:break-word;line-height:1.3}.book-grid-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.95) 0%,rgba(0,0,0,.8) 60%,transparent 100%);padding:12px 8px 8px;transform:translateY(100%);transition:transform .25s cubic-bezier(.4,0,.2,1)}.book-grid-item:hover .book-grid-overlay{transform:translateY(0)}.book-grid-title{margin:0 0 4px;font-size:.7rem;font-weight:600;color:#fff;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.book-grid-author{margin:0;font-size:.6rem;color:#ffffffd9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-carousel-empty{text-align:center;padding:48px 16px;color:rgb(var(--md-sys-color-on-surface-variant, 73, 69, 79))}[data-theme=dark] .book-carousel-empty,.dark .book-carousel-empty{color:rgb(var(--md-sys-color-on-surface-variant, 202, 196, 208))}.book-carousel-empty-icon{font-size:64px;margin-bottom:16px;opacity:.6}.book-carousel-empty-text{margin:0;font-size:.875rem;opacity:.8}.book-grid-item.dragging{opacity:.5;transform:rotate(3deg) scale(.95);cursor:grabbing}@media(max-width:768px){.book-grid-scrollable{grid-template-columns:repeat(3,1fr);gap:10px}}@media(max-width:480px){.book-grid-scrollable{grid-template-columns:repeat(2,1fr);gap:8px}.book-carousel-container{padding:16px}.book-carousel-title{font-size:1rem}.book-carousel-subtitle{font-size:.75rem}}@media(min-width:1200px){.book-grid-scrollable{grid-template-columns:repeat(4,1fr)}}@media(prefers-reduced-motion:reduce){.book-grid-item,.book-grid-overlay{transition:none;animation:none}.book-grid-item:hover{transform:none}}@media(prefers-contrast:high){.book-grid-item{border:2px solid var(--md-sys-color-outline)}.book-grid-item:focus-visible{outline:3px solid var(--md-sys-color-primary);outline-offset:2px}}.book-grid-item:focus-visible{outline:2px solid rgba(36,168,224,.8);outline-offset:2px;border-color:#24a8e099}.enhanced-collections-page{min-height:100vh;position:relative}.collections-page-content{max-width:1200px;margin:0 auto;padding:var(--spacing-lg, 24px);background:var(--md-sys-color-background)}.collections-header-section{margin-bottom:var(--spacing-xl, 32px);padding:var(--spacing-xl, 32px) var(--spacing-lg, 24px);border-radius:var(--radius-lg, 16px);box-shadow:0 4px 12px #00000014;background:linear-gradient(135deg,#d1d5db,#b8bcc2,#d1d5db);border:1px solid #9ca3af}[data-theme=dark] .collections-header-section,.dark .collections-header-section{background:linear-gradient(135deg,var(--md-sys-color-surface-container) 0%,var(--md-sys-color-surface-container-high) 50%,var(--md-sys-color-surface-container) 100%);border:1px solid var(--md-sys-color-outline-variant);box-shadow:0 4px 12px #0000004d,0 1px 3px #0006}.collections-header-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:var(--spacing-md, 16px);flex-wrap:wrap}.collections-header-nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.collections-nav-button{font-size:14px!important;padding:8px 16px!important;color:var(--md-sys-color-on-surface)!important;background:var(--md-sys-color-surface-container-highest)!important;border-radius:12px!important;transition:all .2s ease!important}.collections-nav-button:hover{background:var(--md-sys-color-surface-container-high)!important;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.collections-header-section h1{font-size:var(--text-3xl, 1.875rem);font-weight:700;margin:0 0 var(--spacing-sm, 8px) 0;color:rgb(var(--md-sys-color-on-surface, 28, 28, 28))}.collections-header-section p{font-size:var(--text-base, 1rem);margin:0;color:rgb(var(--md-sys-color-on-surface-variant, 115, 115, 115));opacity:.8}.collections-search-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.collections-search-field{flex:1;min-width:240px}.collections-header-button{white-space:nowrap}.batch-mode-active{background-color:var(--md-sys-color-primary)!important;color:var(--md-sys-color-on-primary)!important}.collections-main-content{padding:0}.collections-grid-container{flex:1}.collections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.collection-card{--collection-color: #24A8E0;background:linear-gradient(135deg,color-mix(in srgb,var(--collection-color) 8%,transparent),color-mix(in srgb,var(--collection-color) 3%,transparent));border:2px solid color-mix(in srgb,var(--collection-color) 12%,transparent)}.collection-card-header{background:linear-gradient(135deg,color-mix(in srgb,var(--collection-color) 15%,transparent),color-mix(in srgb,var(--collection-color) 6%,transparent));border-bottom:1px solid color-mix(in srgb,var(--collection-color) 12%,transparent);padding:16px 20px}.collection-card-header-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.collection-card-info{display:flex;gap:12px;align-items:flex-start}.collection-card-icon{font-size:24px;line-height:1}.collection-card-title{font-size:1.25rem;font-weight:600;margin:0 0 4px;color:var(--md-sys-color-on-surface)}.collection-card-description{font-size:.875rem;margin:0;color:var(--md-sys-color-on-surface-variant);opacity:.8}.collection-card-batch-button{background-color:var(--collection-color)!important}.collection-card-edit-button{color:var(--collection-color)!important}.collection-card-stats{display:flex;justify-content:space-between;align-items:center}.collection-card-updated{font-size:.75rem;color:var(--md-sys-color-on-surface-variant);opacity:.6}.collection-card-chip{background-color:color-mix(in srgb,var(--collection-color) 12%,transparent)!important;color:var(--collection-color)!important;border:1px solid color-mix(in srgb,var(--collection-color) 18%,transparent)!important}.collection-book-preview-area{padding:20px}.collection-book-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.collection-book-item{aspect-ratio:3/4;border-radius:4px;overflow:hidden;cursor:grab;transition:transform .2s ease}.collection-book-item:hover{transform:scale(1.05)}.collection-book-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--collection-color);color:#fff;font-size:.75rem;font-weight:500;text-align:center;padding:4px;word-break:break-word}.collection-book-more{aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;border-radius:4px;background-color:color-mix(in srgb,var(--collection-color) 12%,transparent);color:var(--collection-color);font-weight:600}.collection-empty-state{text-align:center;padding:40px 20px;color:var(--md-sys-color-on-surface-variant)}.collection-empty-icon{font-size:3rem;margin-bottom:16px;opacity:.6}.collection-empty-text{font-size:.875rem;margin:0;opacity:.8}.collection-card{position:relative;overflow:hidden;transition:all var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized);cursor:pointer;transform-origin:center;will-change:transform,box-shadow}.collection-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 8px 24px #24a8e026,0 4px 8px #24a8e01a}.collection-card:active{transform:translateY(-4px) scale(1.01);transition-duration:var(--md-sys-motion-duration-short2)}.collection-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:2px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.6),transparent);transition:left var(--md-sys-motion-duration-long2) var(--md-sys-motion-easing-emphasized)}.collection-card:hover:before{left:100%}.collection-book-preview{position:relative;transition:all var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard)}.collection-book-preview:hover{transform:translateY(-4px) rotate(2deg);z-index:10;box-shadow:0 8px 16px #0003}.collection-card.drag-over{transform:scale(1.05);box-shadow:0 12px 32px #24a8e040,0 0 0 3px #24a8e04d;background:linear-gradient(135deg,#24a8e01a,#7c4dff0d)}.book-dragging{opacity:.6;transform:rotate(5deg) scale(.95);z-index:1000;pointer-events:none}.collections-search-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.collections-search-field{min-width:300px;background-color:#ffffff1a!important;border-radius:12px!important;color:#fff!important}.collections-search-section{background:linear-gradient(135deg,var(--brand-gradient-start),var(--brand-gradient-end));position:relative;overflow:hidden}.collections-search-section:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none}.empty-collections-state{animation:fadeInUp .6s var(--md-sys-motion-easing-emphasized) forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}.empty-state-icon{animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(2deg)}}.collection-stats{display:flex;align-items:center;gap:12px;opacity:0;animation:slideInRight .4s ease-out .2s forwards}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.color-picker-button{position:relative;transition:all var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.color-picker-button:hover{transform:scale(1.2)}.color-picker-button.selected{transform:scale(1.3);animation:pulse .6s ease-in-out}@keyframes pulse{0%,to{box-shadow:0 0 0 0 currentColor}50%{box-shadow:0 0 0 8px transparent}}.icon-picker-button{position:relative;transition:all var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.icon-picker-button:hover{transform:scale(1.1) rotate(5deg)}.icon-picker-button.selected{transform:scale(1.15);animation:bounce .5s ease-in-out}@keyframes bounce{0%,to{transform:scale(1.15)}50%{transform:scale(1.25) rotate(10deg)}}.collections-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;gap:24px}.collections-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.batch-mode-active{background:linear-gradient(135deg,#24a8e01a,#7c4dff0d);border:2px dashed rgba(36,168,224,.3)}.batch-mode-active .collection-card{position:relative}.batch-mode-active .collection-card:after{content:"";position:absolute;top:8px;right:8px;width:24px;height:24px;border:2px solid #24A8E0;border-radius:50%;background:#fff;z-index:10}.batch-mode-active .collection-card.selected:after{background:#24a8e0;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z"/></svg>')}@media(max-width:768px){.collections-grid{grid-template-columns:1fr!important;gap:16px!important}.collection-card{margin:0 16px}.collections-search-section{padding:24px 16px}.collections-search-controls{flex-direction:column;align-items:stretch;gap:12px}.collections-search-controls .md3-textfield{min-width:auto}}@media(max-width:480px){.collection-preview-grid{grid-template-columns:repeat(3,1fr)!important}.collection-header h3{font-size:1.1rem!important}.collection-description{font-size:.8rem!important}}@media(prefers-contrast:high){.collection-card{border:2px solid var(--md-sys-color-outline)}.collection-card:focus-visible{outline:3px solid var(--md-sys-color-primary);outline-offset:2px}}@media(prefers-reduced-motion:reduce){.collection-card,.collection-book-preview,.color-picker-button,.icon-picker-button{transition:none;animation:none}.collection-card:hover{transform:none}.empty-state-icon{animation:none}}@media(prefers-color-scheme:dark){.collections-search-section{background:linear-gradient(135deg,#4a4458,#5a4e6b)}.collection-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.collections-skeleton{background:linear-gradient(90deg,#2d2a32 25%,#3d3a42,#2d2a32 75%)}}.collections-main-content{padding:0 24px 24px;max-width:1200px;margin:0 auto}.collections-content-wrapper{display:flex;gap:24px}.collections-grid-container{flex:2}.collections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.collection-card-header{padding:20px;border-bottom:1px solid transparent}.collection-card-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.collection-card-info{display:flex;align-items:center;gap:12px}.collection-card-icon{font-size:28px}.collection-card-title{margin:0 0 4px;font-size:1.25rem;font-weight:600;color:#1c1b1f}.collection-card-description{margin:0;font-size:.875rem;color:#49454f;opacity:.8}.collection-card-actions{display:flex;gap:8px;align-items:center}.collection-card-batch-button{background-color:#24a8e0!important;color:#fff!important;font-size:12px!important}.collection-card-edit-button{color:#24a8e0!important}.collection-card-stats{display:flex;align-items:center;justify-content:space-between}.collection-card-updated{font-size:.75rem;color:#49454f;opacity:.7}.collection-book-preview-area{padding:16px;background:rgb(var(--md-sys-color-surface-container-lowest, 255, 255, 255))}[data-theme=dark] .collection-book-preview-area,.dark .collection-book-preview-area{background:rgb(var(--md-sys-color-surface-container-low, 28, 27, 31))}.collection-book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:8px;max-height:120px;overflow:hidden}.collection-book-item{position:relative;aspect-ratio:2/3;border-radius:6px;overflow:hidden;box-shadow:0 2px 8px #00000026;transition:transform .3s ease}.collection-book-item:nth-child(2n){transform:translateY(8px)}.collection-book-cover{width:100%;height:100%;object-fit:cover}.collection-book-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;text-align:center;padding:4px}.collection-book-more{aspect-ratio:2/3;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.collection-empty-state{text-align:center;padding:32px 16px;color:rgb(var(--md-sys-color-on-surface-variant, 73, 69, 79))}[data-theme=dark] .collection-empty-state,.dark .collection-empty-state{color:rgb(var(--md-sys-color-on-surface-variant, 202, 196, 208))}.collection-empty-icon{font-size:48px;margin-bottom:8px}.collection-empty-text{margin:0;font-size:.875rem}.operation-loading-overlay{position:absolute;inset:0;background-color:#fffc;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:10;border-radius:12px}.operation-loading-content{display:flex;flex-direction:column;align-items:center;gap:8px}.operation-loading-text{font-size:.8rem;color:#49454f;font-weight:500}.empty-collections-container{text-align:center;padding:64px 24px;color:#49454f}.empty-collections-icon{font-size:64px;margin-bottom:16px}.empty-collections-title{margin:0 0 8px;font-size:1.5rem}.empty-collections-description{margin:0 0 24px;font-size:1rem;opacity:.7}.book-library-sidebar{flex:1;min-width:300px;position:-webkit-sticky;position:sticky;top:20px;max-height:80vh;overflow:hidden}.book-library-card{padding:20px;position:-webkit-sticky;position:sticky;top:20px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.book-library-header{margin-bottom:16px;padding-bottom:12px}.book-library-title{margin:0;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:8px}.book-library-subtitle{margin:4px 0 0;font-size:.875rem}.book-library-grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:12px;padding:4px}.draggable-book{position:relative;aspect-ratio:2/3;border-radius:6px;overflow:hidden;cursor:grab;box-shadow:0 2px 8px #0000001a;border:2px solid transparent;transition:all .2s ease}.draggable-book:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.draggable-book-cover{width:100%;height:100%;object-fit:cover;pointer-events:none}.draggable-book-placeholder{width:100%;height:100%;background-color:#24a8e0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;text-align:center;padding:4px;font-weight:500}.book-library-empty{text-align:center;padding:32px 16px}.book-library-empty-icon{font-size:48px;margin-bottom:8px}.book-library-empty-text{margin:0;font-size:.875rem}.batch-mode-panel{position:fixed;bottom:24px;right:24px;width:400px;max-height:70vh;border-radius:16px;box-shadow:0 20px 40px #0000004d;z-index:1000;display:flex;flex-direction:column}.batch-mode-header{padding:20px}.batch-mode-header-row{display:flex;justify-content:space-between;align-items:center}.batch-mode-title{margin:0;font-size:16px;font-weight:700}.batch-mode-close{min-width:auto!important;padding:4px 8px!important}.batch-mode-subtitle{margin:4px 0 0;font-size:12px}.batch-mode-content{flex:1;padding:16px;overflow-y:auto}.batch-mode-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:12px}.batch-mode-book{position:relative;aspect-ratio:2/3;border-radius:6px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .2s ease}.batch-mode-book.selected{border-color:#24a8e0;transform:scale(1.05)}.batch-mode-book-cover{width:100%;height:100%;object-fit:cover}.batch-mode-book-placeholder{width:100%;height:100%;background-color:#24a8e0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;text-align:center;padding:4px}.batch-mode-book-check{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background-color:#24a8e0;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;box-shadow:0 2px 6px #0000004d}.batch-mode-bottom-panel{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:16px 24px;border-radius:24px;box-shadow:0 8px 32px #00000026;color:#fff;display:flex;align-items:center;gap:16px;z-index:1000;transition:all .3s ease}.batch-mode-bottom-panel.loading{background-color:#24a8e0cc}.batch-mode-bottom-panel.normal{background-color:#24a8e0}.batch-mode-loading-content,.batch-mode-normal-content{display:flex;align-items:center;gap:16px}.batch-mode-select{padding:8px 12px;border-radius:8px;border:none;background-color:#fff3;color:#fff;cursor:pointer}.batch-mode-cancel{color:#fff!important;min-width:auto!important;padding:8px!important}.batch-mode-cancel.disabled{opacity:.5!important}.collections-loading-container{padding:32px;text-align:center}.collections-loading-text{margin-top:16px;color:#49454f}.collections-fab{position:fixed;bottom:24px;right:24px;background-color:#24a8e0!important}.dialog-content{padding:20px}.dialog-collection-info{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding:16px;border-radius:12px;border:1px solid transparent}.dialog-collection-icon{font-size:32px}.dialog-collection-details h3{margin:0 0 4px;font-size:1.5rem;font-weight:600}.dialog-collection-details p{margin:0;color:#49454f;font-size:.9rem}.dialog-collection-count{margin:4px 0 0;font-size:.8rem;color:#6b7280}.dialog-books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px;max-height:400px;overflow-y:auto}.dialog-book-item{position:relative;aspect-ratio:2/3;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;cursor:pointer}.dialog-book-cover{width:100%;height:100%;object-fit:cover}.dialog-book-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;text-align:center;padding:8px}.dialog-book-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background-color:#f44336e6;color:#fff;border:none;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.dialog-empty-state{text-align:center;padding:32px;color:#6b7280}.dialog-empty-icon{font-size:48px;margin-bottom:12px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.dialog-actions-split{display:flex;gap:12px;justify-content:space-between;margin-top:24px}.dialog-actions-right{display:flex;gap:12px}.dialog-delete-button{color:#f44336!important}.dialog-edit-button{color:#24a8e0!important}.collection-form{padding:20px;display:flex;flex-direction:column;gap:20px}.collection-form-section{display:flex;flex-direction:column}.collection-form-label{font-size:.875rem;font-weight:600;color:#49454f;margin-bottom:8px;display:block}.icon-picker-grid{display:flex;gap:8px;flex-wrap:wrap}.icon-picker-item{width:48px;height:48px;border:2px solid #E7E0EC;border-radius:12px;background-color:transparent;font-size:20px;cursor:pointer;transition:all .2s ease}.icon-picker-item.selected{border-color:#24a8e0;background-color:#24a8e020}.color-picker-grid{display:flex;gap:8px;flex-wrap:wrap}.color-picker-item{width:32px;height:32px;border:3px solid transparent;border-radius:50%;cursor:pointer;transition:all .2s ease}.color-picker-item.selected{border-color:#1c1b1f}.collection-form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.collection-create-button{position:relative;min-width:140px}.collection-create-loading{display:flex;align-items:center}.collection-create-spinner{margin-right:8px;color:#fff}.collection-card:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:4px}.color-picker-button:focus-visible,.icon-picker-button:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.collection-card,.collection-book-preview{contain:layout style paint}.collections-grid{contain:layout}.collection-card[aria-selected=true]{background:#24a8e01a;border-color:var(--md-sys-color-primary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.book-library-card{background:#fff}[data-theme=dark] .book-library-card,.dark .book-library-card{background:#1e293b}.book-library-header{border-bottom:1px solid #e5e7eb}[data-theme=dark] .book-library-header,.dark .book-library-header{border-bottom:1px solid #334155}.book-library-title{color:#1f2937}[data-theme=dark] .book-library-title,.dark .book-library-title{color:#f1f5f9}.book-library-subtitle{color:#64748b}[data-theme=dark] .book-library-subtitle,.dark .book-library-subtitle{color:#94a3b8}.book-library-empty{color:#64748b}[data-theme=dark] .book-library-empty,.dark .book-library-empty{color:#94a3b8}.batch-mode-panel{background:#fff;border:1px solid #e5e7eb}[data-theme=dark] .batch-mode-panel,.dark .batch-mode-panel{background:#1e293b;border:1px solid #334155}.batch-mode-header{border-bottom:1px solid #e5e7eb}[data-theme=dark] .batch-mode-header,.dark .batch-mode-header{border-bottom:1px solid #334155}.batch-mode-title{color:#1f2937}[data-theme=dark] .batch-mode-title,.dark .batch-mode-title{color:#f1f5f9}.batch-mode-subtitle{color:#64748b}[data-theme=dark] .batch-mode-subtitle,.dark .batch-mode-subtitle{color:#94a3b8}.batch-mode-loading-content .md3-progress{color:#fff}.batch-mode-select{opacity:1;cursor:pointer}.batch-mode-select:disabled{opacity:.5;cursor:not-allowed}.batch-mode-select option{color:#333}.legal-page-container{max-width:800px;margin:0 auto;padding:24px 16px;min-height:100vh;background:var(--md-sys-color-surface)}.legal-table-of-contents{background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-medium);padding:20px;margin-bottom:32px;border:1px solid var(--md-sys-color-outline-variant)}.legal-table-of-contents h3{color:var(--md-sys-color-on-surface);margin:0 0 16px;font-family:var(--md-sys-typescale-title-medium-font-family-name);font-size:var(--md-sys-typescale-title-medium-font-size);font-weight:var(--md-sys-typescale-title-medium-font-weight)}.legal-table-of-contents ul{list-style:none;padding:0;margin:0}.legal-table-of-contents li{margin-bottom:8px}.legal-toc-link{background:none;border:none;color:var(--md-sys-color-primary);cursor:pointer;font-family:var(--md-sys-typescale-body-medium-font-family-name);font-size:var(--md-sys-typescale-body-medium-font-size);font-weight:var(--md-sys-typescale-body-medium-font-weight);padding:4px 8px;text-align:left;width:100%;transition:all .2s ease;border-radius:var(--md-sys-shape-corner-small)}.legal-toc-link:hover{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.legal-toc-link:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.legal-version{color:var(--md-sys-color-outline);margin:4px 0 0;font-family:var(--md-sys-typescale-body-small-font-family-name);font-size:var(--md-sys-typescale-body-small-font-size);font-weight:var(--md-sys-typescale-body-small-font-weight)}@media(min-width:768px){.legal-page-container{padding:32px 24px}}.legal-page-header{text-align:center;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.legal-page-header h1{color:var(--md-sys-color-on-surface);margin:0 0 16px;font-family:var(--md-sys-typescale-display-small-font-family-name);font-size:var(--md-sys-typescale-display-small-font-size);font-weight:var(--md-sys-typescale-display-small-font-weight);line-height:var(--md-sys-typescale-display-small-line-height);letter-spacing:var(--md-sys-typescale-display-small-tracking)}.legal-subtitle{color:var(--md-sys-color-on-surface-variant);margin:0 0 8px;font-family:var(--md-sys-typescale-body-large-font-family-name);font-size:var(--md-sys-typescale-body-large-font-size);font-weight:var(--md-sys-typescale-body-large-font-weight);line-height:var(--md-sys-typescale-body-large-line-height);letter-spacing:var(--md-sys-typescale-body-large-tracking)}.legal-updated{color:var(--md-sys-color-outline);margin:0;font-family:var(--md-sys-typescale-body-medium-font-family-name);font-size:var(--md-sys-typescale-body-medium-font-size);font-weight:var(--md-sys-typescale-body-medium-font-weight);line-height:var(--md-sys-typescale-body-medium-line-height);letter-spacing:var(--md-sys-typescale-body-medium-tracking)}.legal-content-card{background:var(--md-sys-color-surface-container-low);border-radius:var(--md-sys-shape-corner-large);padding:32px;box-shadow:var(--md-sys-elevation-1);border:1px solid var(--md-sys-color-outline-variant)}@media(max-width:767px){.legal-content-card{padding:24px 16px;border-radius:var(--md-sys-shape-corner-medium)}}.legal-content{line-height:1.6}.legal-section{margin-bottom:40px;scroll-margin-top:24px}.legal-section:last-child{margin-bottom:0}html{scroll-behavior:smooth}.legal-section h2{color:var(--md-sys-color-primary);margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid var(--md-sys-color-primary-container);font-family:var(--md-sys-typescale-headline-medium-font-family-name);font-size:var(--md-sys-typescale-headline-medium-font-size);font-weight:var(--md-sys-typescale-headline-medium-font-weight);line-height:var(--md-sys-typescale-headline-medium-line-height);letter-spacing:var(--md-sys-typescale-headline-medium-tracking)}.legal-section h3{color:var(--md-sys-color-on-surface);margin:24px 0 12px;font-family:var(--md-sys-typescale-title-large-font-family-name);font-size:var(--md-sys-typescale-title-large-font-size);font-weight:var(--md-sys-typescale-title-large-font-weight);line-height:var(--md-sys-typescale-title-large-line-height);letter-spacing:var(--md-sys-typescale-title-large-tracking)}.legal-section h4{color:var(--md-sys-color-on-surface);margin:20px 0 8px;font-family:var(--md-sys-typescale-title-medium-font-family-name);font-size:var(--md-sys-typescale-title-medium-font-size);font-weight:var(--md-sys-typescale-title-medium-font-weight);line-height:var(--md-sys-typescale-title-medium-line-height);letter-spacing:var(--md-sys-typescale-title-medium-tracking)}.legal-section p{color:var(--md-sys-color-on-surface);margin:0 0 16px;font-family:var(--md-sys-typescale-body-medium-font-family-name);font-size:var(--md-sys-typescale-body-medium-font-size);font-weight:var(--md-sys-typescale-body-medium-font-weight);line-height:var(--md-sys-typescale-body-medium-line-height);letter-spacing:var(--md-sys-typescale-body-medium-tracking)}.legal-list{color:var(--md-sys-color-on-surface);margin:0 0 16px;padding-left:20px}.legal-list li{margin-bottom:8px;font-family:var(--md-sys-typescale-body-medium-font-family-name);font-size:var(--md-sys-typescale-body-medium-font-size);font-weight:var(--md-sys-typescale-body-medium-font-weight);line-height:var(--md-sys-typescale-body-medium-line-height);letter-spacing:var(--md-sys-typescale-body-medium-tracking)}.legal-list li strong{color:var(--md-sys-color-primary);font-weight:600}.legal-contact{background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-medium);padding:16px;margin:16px 0;border-left:4px solid var(--md-sys-color-primary)}.legal-contact p{margin:0 0 8px;font-family:var(--md-sys-typescale-body-medium-font-family-name);font-size:var(--md-sys-typescale-body-medium-font-size);font-weight:var(--md-sys-typescale-body-medium-font-weight);line-height:var(--md-sys-typescale-body-medium-line-height);letter-spacing:var(--md-sys-typescale-body-medium-tracking)}.legal-contact p:last-child{margin-bottom:0}.legal-contact strong{color:var(--md-sys-color-primary);font-weight:600}.legal-table{width:100%;border-collapse:collapse;margin:16px 0;background:var(--md-sys-color-surface);border-radius:var(--md-sys-shape-corner-medium);overflow:hidden;border:1px solid var(--md-sys-color-outline-variant)}.legal-table th,.legal-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--md-sys-color-outline-variant)}.legal-table th{background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);font-family:var(--md-sys-typescale-title-medium-font-family-name);font-size:var(--md-sys-typescale-title-medium-font-size);font-weight:var(--md-sys-typescale-title-medium-font-weight)}.legal-table td{color:var(--md-sys-color-on-surface);font-family:var(--md-sys-typescale-body-medium-font-family-name);font-size:var(--md-sys-typescale-body-medium-font-size);font-weight:var(--md-sys-typescale-body-medium-font-weight);line-height:var(--md-sys-typescale-body-medium-line-height)}.legal-table tr:last-child th,.legal-table tr:last-child td{border-bottom:none}.legal-highlight{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-radius:var(--md-sys-shape-corner-medium);padding:16px;margin:16px 0;border-left:4px solid var(--md-sys-color-primary)}.legal-highlight p{color:var(--md-sys-color-on-primary-container);margin:0}.legal-warning{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border-radius:var(--md-sys-shape-corner-medium);padding:16px;margin:16px 0;border-left:4px solid var(--md-sys-color-error)}.legal-warning p{color:var(--md-sys-color-on-error-container);margin:0}.legal-nav{background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-medium);padding:16px;margin-bottom:24px;border:1px solid var(--md-sys-color-outline-variant)}.legal-nav-title{color:var(--md-sys-color-on-surface);margin:0 0 12px;font-family:var(--md-sys-typescale-title-medium-font-family-name);font-size:var(--md-sys-typescale-title-medium-font-size);font-weight:var(--md-sys-typescale-title-medium-font-weight)}.legal-nav-links{display:flex;flex-wrap:wrap;gap:16px}.legal-nav-link{color:var(--md-sys-color-primary);text-decoration:none;font-family:var(--md-sys-typescale-body-medium-font-family-name);font-size:var(--md-sys-typescale-body-medium-font-size);font-weight:var(--md-sys-typescale-body-medium-font-weight);transition:color .2s ease}.legal-nav-link:hover{color:var(--md-sys-color-primary-container);text-decoration:underline}@media(max-width:767px){.legal-page-header h1{font-size:2rem}.legal-section h2{font-size:1.5rem}.legal-section h3{font-size:1.25rem}.legal-table{font-size:.9rem}.legal-table th,.legal-table td{padding:8px 12px}}@media print{.legal-page-container{max-width:none;padding:0;background:#fff}.legal-content-card{box-shadow:none;border:none;padding:0;background:#fff}.legal-page-header{border-bottom:2px solid #000}.legal-table-of-contents{display:none}.legal-section h2{border-bottom:1px solid #000;page-break-after:avoid}.legal-section h3,.legal-section h4{page-break-after:avoid}.legal-highlight,.legal-warning{border:1px solid #000;background:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.legal-toc-link{transition:none}}@media(prefers-contrast:high){.legal-toc-link:focus{outline-width:3px}.legal-table-of-contents{border-width:2px}}.md3-dialog__scrim{position:fixed;inset:0;background-color:rgb(var(--md-sys-color-scrim) / .32);display:flex;align-items:center;justify-content:center;padding:16px;z-index:9999;animation:md3-scrim-fade-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard) forwards}.md3-dialog{--_container-color: var(--md-sys-color-surface-container-high);--_container-shape: var(--md-sys-shape-corner-extra-large);--_container-elevation: var(--md-sys-elevation-level3);position:relative;background-color:rgb(var(--_container-color));border-radius:var(--_container-shape);box-shadow:var(--_container-elevation);max-height:calc(100vh - 32px);width:auto!important;min-width:280px;overflow:hidden;animation:md3-dialog-scale-in var(--md-sys-motion-duration-medium3) var(--md-sys-motion-easing-emphasized) forwards}.md3-dialog__scrim:not(.dark) .md3-dialog{--_container-color: var(--md-sys-color-surface);--_container-elevation: var(--md-sys-elevation-level2);border:1px solid rgb(var(--md-sys-color-outline-variant))}.md3-dialog__scrim:not(.dark) .md3-dialog__content{color:rgb(var(--md-sys-color-on-surface))}.md3-dialog__container{display:flex;flex-direction:column;max-height:inherit}.md3-dialog__header{padding:24px 24px 16px;flex-shrink:0}.md3-dialog__title{font:var(--md-sys-typescale-headline-small-font);color:rgb(var(--md-sys-color-on-surface));margin:0;line-height:var(--md-sys-typescale-headline-small-line-height)}.md3-dialog__content{padding:0 24px;flex:1;overflow-y:auto;color:rgb(var(--md-sys-color-on-surface-variant));font:var(--md-sys-typescale-body-medium-font);line-height:var(--md-sys-typescale-body-medium-line-height)}.md3-dialog__content:first-child{padding-top:24px}.md3-dialog__content:last-child{padding-bottom:24px}.md3-dialog__actions{padding:16px 24px 24px;flex-shrink:0}.md3-dialog--basic{max-width:560px!important}.md3-dialog--alert,.md3-dialog--confirmation{max-width:400px!important}.md3-dialog--xs{max-width:320px!important}.md3-dialog--sm{max-width:560px!important}.md3-dialog--md{max-width:768px!important}.md3-dialog--lg{max-width:1024px!important}.md3-dialog--xl{max-width:1280px!important}.md3-dialog--fullscreen{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0;margin:0}.md3-dialog--fullscreen .md3-dialog__content{padding:16px 24px}.md3-dialog--scrollable .md3-dialog__content{max-height:60vh}.md3-dialog--dividers .md3-dialog__header{border-bottom:1px solid rgb(var(--md-sys-color-outline-variant))}.md3-dialog--dividers .md3-dialog__actions{border-top:1px solid rgb(var(--md-sys-color-outline-variant))}.md3-dialog-actions{display:flex;gap:8px}.md3-dialog.contact-dialog{background-color:rgb(var(--md-sys-color-surface))!important;color:rgb(var(--md-sys-color-on-surface))!important;border:1px solid rgb(var(--md-sys-color-outline-variant))!important;box-shadow:var(--md-sys-elevation-level2)!important;width:auto!important;max-width:768px!important}.md3-dialog.contact-dialog .md3-dialog__content,.md3-dialog.contact-dialog .contact-grid .md3-text-field__input,.md3-dialog.contact-dialog .contact-grid .md3-text-field__label,.md3-dialog.contact-dialog .contact-grid .md3-select-label{color:rgb(var(--md-sys-color-on-surface))!important}.md3-dialog.contact-dialog .contact-grid .md3-select{background:rgb(var(--md-sys-color-surface))!important;color:rgb(var(--md-sys-color-on-surface))!important;border-color:rgb(var(--md-sys-color-outline))!important}.md3-dialog.contact-dialog .contact-checkbox{color:rgb(var(--md-sys-color-on-surface))!important}.md3-dialog.contact-dialog .contact-message-field .md3-text-field__container{border-color:rgb(var(--md-sys-color-outline))!important;box-shadow:var(--md-sys-elevation-level1, 0 1px 2px rgba(0,0,0,.06))!important}.md3-dialog-actions--start{justify-content:flex-start}.md3-dialog-actions--center{justify-content:center}.md3-dialog-actions--end{justify-content:flex-end}.md3-dialog-actions--stacked{flex-direction:column;gap:8px}.md3-dialog-actions--stacked .md3-button{width:100%}.md3-dialog__message{margin:0;padding:16px 0;color:rgb(var(--md-sys-color-on-surface-variant));font:var(--md-sys-typescale-body-medium-font);line-height:var(--md-sys-typescale-body-medium-line-height)}@keyframes md3-scrim-fade-in{0%{opacity:0}to{opacity:1}}@keyframes md3-dialog-scale-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes md3-dialog-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes md3-scrim-fade-out{0%{opacity:1}to{opacity:0}}.md3-dialog--closing{animation:md3-dialog-scale-out var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized) forwards}.md3-dialog--closing .md3-dialog__scrim{animation:md3-scrim-fade-out var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard) forwards}@media(max-width:600px){.md3-dialog__scrim{padding:8px}.md3-dialog{width:100%;max-width:calc(100vw - 16px)}.md3-dialog--fullscreen{width:100vw;height:100vh}.md3-dialog__header,.md3-dialog__content,.md3-dialog__actions{padding-left:16px;padding-right:16px}.md3-dialog-actions--stacked{gap:12px}}@media(max-width:480px){.md3-dialog__header{padding:16px 16px 8px}.md3-dialog__actions{padding:8px 16px 16px}.md3-dialog-actions{flex-direction:column;gap:8px}.md3-dialog-actions .md3-button{width:100%}}@media(prefers-reduced-motion:reduce){.md3-dialog__scrim,.md3-dialog,.md3-dialog--closing,.md3-dialog--closing .md3-dialog__scrim{animation:none}}@media(prefers-contrast:high){.md3-dialog{border:2px solid rgb(var(--md-sys-color-outline))}.md3-dialog--dividers .md3-dialog__header,.md3-dialog--dividers .md3-dialog__actions{border-width:2px}}@media(prefers-color-scheme:dark){.md3-dialog__scrim{background-color:rgb(var(--md-sys-color-scrim) / .48)}}.contact-page{min-height:100vh;background:var(--md-sys-color-surface);padding:24px 0;display:flex;justify-content:center}.contact-container{width:100%;max-width:720px;padding:0 16px;margin:0 auto}.contact-header{text-align:center;margin-bottom:20px}.contact-card{padding:20px;background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-large)}.contact-grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:768px){.contact-grid{grid-template-columns:1fr 1fr;gap:20px}.contact-grid .full-row{grid-column:1 / -1}}.contact-actions{display:flex;justify-content:space-between;gap:12px;margin-top:8px}.contact-checkbox{display:flex;align-items:center;gap:10px;margin-top:4px;color:var(--md-sys-color-on-surface)}.contact-help{margin-top:14px;text-align:center}[data-theme=dark] .contact-page,.dark .contact-page{background:var(--md-sys-color-surface)}[data-theme=dark] .contact-card,.dark .contact-card{background:var(--md-sys-color-surface-container-low)}.md3-select-field{display:flex;flex-direction:column;gap:8px}.md3-select-label{color:var(--md-sys-color-on-surface-variant);font:var(--md-sys-typescale-body-small-font)}.md3-select{-webkit-appearance:none;appearance:none;width:100%;padding:14px 16px;border-radius:var(--md-sys-shape-corner-medium);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);box-shadow:var(--md-sys-elevation-level1, 0 1px 2px rgba(0,0,0,.06))}.md3-select:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.contact-message-field .md3-text-field__container{border-color:var(--md-sys-color-outline-variant);box-shadow:var(--md-sys-elevation-level1, 0 1px 2px rgba(0,0,0,.06))}.contact-message-field textarea,.contact-message-field .md3-text-field__input{min-height:280px;resize:vertical}.md3-dialog .contact-grid .md3-text-field__input{color:var(--md-sys-color-on-surface)}.md3-dialog .contact-grid .md3-text-field__label{color:var(--md-sys-color-on-surface-variant)}.md3-dialog .contact-grid .md3-text-field--outlined .md3-text-field__container{background:var(--md-sys-color-surface);border-color:var(--md-sys-color-outline-variant)}.md3-dialog .contact-grid .md3-select-label{color:var(--md-sys-color-on-surface-variant)}.md3-dialog .contact-grid .md3-select{color:var(--md-sys-color-on-surface);background:var(--md-sys-color-surface);border-color:var(--md-sys-color-outline-variant)}.md3-dialog .contact-grid .contact-checkbox{color:var(--md-sys-color-on-surface)}.md3-dialog__scrim:not(.dark) .contact-grid .md3-text-field__input{color:var(--md-sys-color-on-surface)}.md3-dialog__scrim:not(.dark) .contact-grid .md3-text-field__label{color:var(--md-sys-color-on-surface)}.md3-dialog__scrim:not(.dark) .contact-grid .md3-select-label{color:var(--md-sys-color-on-surface)}.md3-dialog__scrim:not(.dark) .contact-grid .md3-select{color:var(--md-sys-color-on-surface);background:var(--md-sys-color-surface)}.md3-dialog__scrim:not(.dark) .contact-grid .md3-text-field--outlined .md3-text-field__container{border-color:var(--md-sys-color-outline)}.md3-dialog__scrim:not(.dark) .contact-grid .contact-checkbox{color:var(--md-sys-color-on-surface)}
