:root{--color-primary-50:#fff;--color-primary-100:#fafafa;--color-primary-200:#f5f5f5;--color-primary-300:#eee;--color-primary-400:#e0e0e0;--color-primary-500:#bdbdbd;--color-primary-600:#757575;--color-primary-700:#616161;--color-primary-800:#424242;--color-primary-900:#212121;--color-secondary-50:#fff;--color-secondary-100:#fafafa;--color-secondary-200:#f7f7f7;--color-secondary-300:#f2f2f2;--color-secondary-400:#eee;--color-secondary-500:#e5e5e5;--color-secondary-600:#d6d6d6;--color-secondary-700:#c7c7c7;--color-secondary-800:#b8b8b8;--color-accent-50:#f5f9f7;--color-accent-100:#e8f4f0;--color-accent-200:#d1e8e0;--color-accent-300:#b8dcd0;--color-accent-400:#99cfc0;--color-accent-500:#7aba9f;--color-accent-600:#6a9f8a;--color-accent-700:#5a8a75;--color-accent-800:#4a7560;--color-success:#6bb6a8;--color-warning:#e8a87c;--color-error:#d97c6e;--color-info:#7ab5d1;--color-gray-50:#fafafa;--color-gray-100:#f5f5f5;--color-gray-200:#eee;--color-gray-300:#e0e0e0;--color-gray-400:#bdbdbd;--color-gray-500:#9e9e9e;--color-gray-600:#757575;--color-gray-700:#616161;--color-gray-800:#424242;--color-gray-900:#212121;--text-primary:#212121;--text-secondary:#5d5d5d;--text-tertiary:#9e9e9e;--text-disabled:#bdbdbd;--text-inverse:#fff;--bg-primary:#fff;--bg-secondary:#f7f7f7;--bg-tertiary:#eee;--surface-default:#fff;--surface-elevated:#f7f7f7;--surface-overlay:#00000080;--border-light:#f0f0f0;--border-default:#e0e0e0;--border-strong:#ccc;--spacing-0:0;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 2px 4px #00000014;--shadow-lg:0 4px 8px #0000001f;--shadow-xl:0 8px 16px #00000026;--shadow-2xl:0 16px 32px #0003;--shadow-card:0 1px 3px #0000001a;--font-serif:"Noto Serif JP", Georgia, serif;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono:"Fira Code", "Courier New", monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--line-height-loose:2;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--letter-spacing-tight:-.01em;--letter-spacing-normal:0;--letter-spacing-wide:.02em;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1);--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-fab:50}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text-primary:#f5f5f5;--text-secondary:#c7c7c7;--text-tertiary:#9e9e9e;--text-disabled:#757575;--text-inverse:#212121;--bg-primary:#1f1f1f;--bg-secondary:#292929;--bg-tertiary:#353535;--surface-default:#292929;--surface-elevated:#353535;--surface-overlay:#000000a6;--border-light:#3a3a3a;--border-default:#4a4a4a;--border-strong:#616161}html[data-font-size=small]{--app-font-scale:.875}html[data-font-size=medium]{--app-font-scale:1}html[data-font-size=large]{--app-font-scale:1.125}#root{zoom:var(--app-font-scale,1)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}h1{font-size:var(--font-size-5xl);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}h2{font-size:var(--font-size-4xl);line-height:var(--line-height-tight)}h3{font-size:var(--font-size-3xl);line-height:var(--line-height-normal)}h4{font-size:var(--font-size-2xl);line-height:var(--line-height-normal)}h5{font-size:var(--font-size-xl);line-height:var(--line-height-normal)}h6{font-size:var(--font-size-lg);line-height:var(--line-height-normal)}p{line-height:var(--line-height-normal);margin:0}a{color:var(--color-primary-600);transition:color var(--transition-base);text-decoration:none}a:hover{color:var(--color-primary-700);text-decoration:underline}a:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px;border-radius:var(--radius-sm)}button{font-family:var(--font-sans);font-size:var(--font-size-base);cursor:pointer;background:0 0;border:none;margin:0;padding:0}button:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px}img{max-width:100%;height:auto;display:block}ul,ol{padding-left:var(--spacing-6);margin:0}li{margin:var(--spacing-2) 0}code,pre{font-family:var(--font-mono);font-size:var(--font-size-sm);background-color:var(--bg-tertiary);border-radius:var(--radius-md);padding:var(--spacing-1) var(--spacing-2);overflow-x:auto}pre{padding:var(--spacing-4)}@media (width<=639px){h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}body{font-size:var(--font-size-base)}}:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){:root{--text-primary:#000;--bg-primary:#fff;--border-default:#000}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-md)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.app-layout{background-color:var(--bg-primary);box-sizing:border-box;grid-template-rows:1fr auto;grid-template-columns:1fr;width:100%;height:100vh;margin:0;padding:0;display:grid;overflow:hidden}.app-layout__content{box-sizing:border-box;background-color:var(--bg-primary);grid-area:1/1;width:100%;min-width:0;height:100%;min-height:0;margin:0;padding:0 0 60px;overflow:hidden auto}.app-layout__sidebar{display:none}.app-layout__nav{border-top:1px solid var(--border-default);background-color:var(--surface-default);width:100%;min-height:60px;box-shadow:var(--shadow-lg);box-sizing:border-box;z-index:100;grid-area:2/1}@media (width<=639px){.app-layout{grid-template-rows:1fr;height:100dvh}.app-layout__content{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.app-layout__nav{min-height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0}}@media (width>=640px){.app-layout{grid-template-rows:1fr auto;grid-template-columns:1fr}.app-layout__content{padding-bottom:60px}}@media (width>=1024px){.app-layout{grid-template-rows:1fr;grid-template-columns:250px minmax(0,1fr)}.app-layout__sidebar{border-right:1px solid var(--border-default);background-color:var(--surface-default);box-sizing:border-box;z-index:100;grid-area:1/1;width:250px;height:100vh;min-height:0;display:block;overflow-y:auto}.app-layout__content{grid-area:1/2;width:100%;min-width:0;height:100%;min-height:0;padding:0;overflow:hidden auto}.app-layout__nav{display:none}}.app-layout__content::-webkit-scrollbar{width:8px}.app-layout__content::-webkit-scrollbar-track{background:var(--bg-primary)}.app-layout__content::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-md)}.app-layout__content::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.app-layout__sidebar::-webkit-scrollbar{width:6px}.app-layout__sidebar::-webkit-scrollbar-track{background:var(--surface-default)}.app-layout__sidebar::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-md)}.app-layout__sidebar::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.sidebar{background-color:#fff;flex-direction:column;height:100%;display:flex}.sidebar__header{padding:24px 16px}.sidebar__logo{margin:0;font-size:20px;font-weight:700}.sidebar__nav{flex:1}.sidebar__nav-list{margin:0;padding:0;list-style:none}.sidebar__nav-button{color:#000;background:#fff;border:none;align-items:center;gap:12px;width:100%;padding:16px;display:flex}.sidebar__nav-icon{flex-shrink:0;width:24px;height:24px}.sidebar__nav-label{display:block}.bottom-nav{background-color:var(--surface-default);border-top:1px solid var(--border-default);flex-direction:column;width:100%;display:flex}.bottom-nav__nav{width:100%}.bottom-nav__list{width:100%;margin:0;padding:0;list-style:none;display:flex}.bottom-nav__item{flex:1;margin:0;padding:0}.bottom-nav__button{justify-content:center;align-items:center;gap:var(--spacing-1);width:100%;min-height:60px;padding:var(--spacing-2) var(--spacing-1);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);background:0 0;border:none;flex-direction:column;display:flex}.bottom-nav__button:active{background-color:var(--bg-secondary)}.bottom-nav__button:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:-2px}.bottom-nav__button--active{color:var(--color-primary-600);font-weight:var(--font-weight-semibold)}.bottom-nav__icon{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.bottom-nav__icon img{width:24px;height:24px;display:block}.bottom-nav__label{font-size:var(--font-size-xs);line-height:var(--line-height-tight);white-space:nowrap;text-align:center}@media (width>=1024px){.bottom-nav{display:none}}.bottom-nav__item{min-width:0}@media (width<=399px){.bottom-nav__label{font-size:10px}.bottom-nav__button{padding-inline:1px}}.bookshelf-page{width:100%;min-height:100%}.bookshelf-page__content{box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;padding:32px}.bookshelf-page__header{margin-bottom:32px}.bookshelf-page__title{color:var(--text-primary);margin:0;font-family:serif;font-size:32px;font-weight:600;line-height:1.4}.bookshelf-page__description{color:var(--text-secondary);margin:8px 0 0;font-size:14px;line-height:1.7}.bookshelf-page__empty{box-sizing:border-box;text-align:center;border:1px solid var(--border-default);background:var(--surface-default);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:320px;padding:40px 24px;display:flex}.bookshelf-page__empty-illustration{object-fit:contain;width:min(180px,58vw);height:120px;margin-bottom:20px;display:block}.bookshelf-page__empty h2{color:var(--text-primary);margin:0;font-family:serif;font-size:22px}.bookshelf-page__empty p{color:var(--text-secondary);margin:10px 0 0;font-size:14px}.bookshelf-page__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;display:grid}.book-card{min-width:0}.book-card__button{background:var(--surface-default);width:100%;color:inherit;text-align:left;cursor:pointer;border:0;border-radius:12px;padding:0;transition:transform .2s,box-shadow .2s;display:block;overflow:hidden;box-shadow:0 2px 8px #00000014}.book-card__button:hover{transform:translateY(-3px);box-shadow:0 6px 16px #00000024}.book-card__button:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:3px}.book-card__cover{aspect-ratio:2/3;background:var(--bg-secondary);width:100%;overflow:hidden}.book-card__cover img{object-fit:contain;width:100%;height:100%;display:block}.book-card__cover-placeholder{box-sizing:border-box;background:var(--bg-secondary);justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex}.book-card__cover-placeholder span{color:var(--text-secondary);font-family:serif;font-size:28px;font-weight:600}.book-card__body{padding:16px}.bookshelf-page__status{align-items:center;gap:6px;margin-bottom:10px;font-size:12px;font-weight:600;display:inline-flex}.bookshelf-page__status span{font-size:9px}.bookshelf-page__status--stacked{color:var(--text-secondary)}.bookshelf-page__status--reading,.bookshelf-page__status--read{color:var(--color-accent-700)}.bookshelf-page__status--paused{color:var(--text-tertiary)}.book-card__title{color:var(--text-primary);text-overflow:ellipsis;margin:0;font-family:serif;font-size:17px;font-weight:600;line-height:1.55;overflow:hidden}.book-card__author{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin:6px 0 0;font-size:13px;line-height:1.5;overflow:hidden}.book-card__genre{background:var(--color-accent-50);color:var(--color-accent-700);border-radius:999px;margin-top:9px;padding:3px 8px;font-size:11px;display:inline-block}.book-card__rating{margin-top:12px}.star-rating{align-items:center;gap:7px;display:inline-flex}.star-rating__stars{align-items:center;gap:1px;height:18px;display:flex}.star-rating__star{flex:0 0 17px;width:17px;height:18px;font-size:17px;line-height:18px;display:inline-block}.book-card__genres{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.book-card__genres .book-card__genre{margin-top:0}.bookshelf-page__footer-image{z-index:0;pointer-events:none;position:fixed;bottom:24px;right:max(32px,50vw - 568px)}.bookshelf-page__footer-image img{opacity:.78;width:150px;height:auto;display:block}@media (width<=767px){.bookshelf-page__footer-image{bottom:76px;right:16px}.bookshelf-page__footer-image img{width:96px}}.book-card__duration{color:var(--text-secondary);margin:8px 0 0;font-size:12px}.star-rating__star--full{color:var(--color-accent-500)}.star-rating__star--half{background:linear-gradient(90deg, var(--color-accent-500) 50%, var(--color-gray-300) 50%);color:#0000;-webkit-background-clip:text;background-clip:text}.star-rating__star--empty{color:var(--color-gray-400)}.star-rating__value{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:600}@media (width<=1024px){.bookshelf-page__content{padding:28px 24px}.bookshelf-page__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}@media (width<=767px){.bookshelf-page__content{padding:24px 16px 88px}.bookshelf-page__header{margin-bottom:24px}.bookshelf-page__title{font-size:28px}.bookshelf-page__description{font-size:13px}.bookshelf-page__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.book-card__body{padding:12px}.book-card__title{font-size:15px}.book-card__author{font-size:12px}.book-card__genre{font-size:10px}.book-card__rating{margin-top:10px}.star-rating{gap:5px}.star-rating__stars{height:16px}.star-rating__star{flex-basis:15px;width:15px;height:16px;font-size:15px;line-height:16px}.bookshelf-page__footer-image{display:none}.star-rating__value{font-size:11px}}@media (width>=768px){.bookshelf-page__content{padding-right:216px}}.home-page{background-color:var(--bg-primary);width:100%;min-height:100%;padding:var(--spacing-6) var(--spacing-4) var(--spacing-8)}.home-page__content{gap:var(--spacing-8);flex-direction:column;width:min(100%,960px);margin:0 auto;display:flex}.home-page__header{align-items:center;display:flex}.home-page__header h1{color:var(--text-primary);font-size:28px}.home-page__section{gap:var(--spacing-4);flex-direction:column;display:flex}.home-page__section-title{color:var(--text-primary);font-size:20px}.home-page__stats{gap:var(--spacing-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.home-page__stat-card{gap:var(--spacing-2);padding:var(--spacing-6);background-color:var(--color-primary-100);border:1px solid var(--border-default);border-radius:var(--radius-lg);flex-direction:column;display:flex}.home-page__stat-card p{color:var(--text-secondary);font-size:14px}.home-page__stat-card strong{color:var(--text-primary);font-family:var(--font-serif);font-size:32px}.home-page__recent-list{gap:var(--spacing-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.home-page__recent-item{padding:var(--spacing-4);background-color:var(--surface-default);border:1px solid var(--border-default);border-radius:var(--radius-md)}.home-page__recent-item h3{color:var(--text-primary);font-size:16px}.home-page__recent-item p{margin-top:var(--spacing-1);color:var(--text-secondary);font-size:14px}.home-page__footer-image{z-index:1;pointer-events:none;position:fixed;bottom:24px;right:32px}.home-page__footer-image img{width:180px;height:auto;display:block}@media (width<=768px){.home-page{padding:var(--spacing-4)}.home-page__content{gap:var(--spacing-6)}.home-page__bookshelf{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page__stats{grid-template-columns:1fr 1fr}}@media (width<=480px){.home-page__stats{grid-template-columns:1fr}.home-page__bookshelf{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page__book-cover{min-height:100px}}.home-page{padding:0}.home-page__content{box-sizing:border-box;width:100%;max-width:1200px;padding:32px}.home-page__bookshelf{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;display:grid}@media (width>=768px){.home-page__content{padding-right:216px}}@media (width>=768px) and (width<=1024px){.home-page__content{padding-top:28px;padding-left:24px}.home-page__bookshelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}@media (width<=767px){.home-page__content{padding:24px 16px 88px}.home-page__bookshelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}.statistics-page{background:var(--color-bg);width:100%;min-height:100%;color:var(--color-text)}.statistics-page__content{width:100%;max-width:1200px;margin:0 auto;padding:40px 32px 96px}.statistics-page__header{margin-bottom:32px}.statistics-page__title{color:var(--color-text);margin:0;font-size:32px;font-weight:700;line-height:1.4}.statistics-page__description{color:var(--color-text-secondary);margin:8px 0 0;font-size:14px;line-height:1.7}.statistics-page__section{margin-top:32px}.statistics-page__section:first-of-type{margin-top:0}.statistics-page__section-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.statistics-page__section-title{color:var(--color-text);margin:0;font-size:20px;font-weight:700;line-height:1.5}.statistics-page__section-caption{color:var(--color-text-secondary);flex-shrink:0;font-size:14px}.statistics-page__section-description{color:var(--color-text-secondary);margin:4px 0 0;font-size:13px;line-height:1.6}.statistics-page__month-select{border:1px solid var(--color-border);background:var(--color-surface);min-width:132px;min-height:40px;color:var(--color-text);font:inherit;cursor:pointer;border-radius:10px;padding:8px 34px 8px 12px;font-size:14px}.statistics-page__month-select:focus-visible{outline:3px solid color-mix(in srgb, var(--color-accent-500) 35%, transparent);outline-offset:2px}.statistics-page__completed-books-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.statistics-page__completed-books-image-button{color:#fff;min-height:40px;font:inherit;cursor:pointer;background:#5a8a75;border:1px solid #5a8a75;border-radius:10px;padding:8px 14px;font-size:14px;font-weight:600}.statistics-page__completed-books-image-button:hover:not(:disabled){background:#4b7965}.statistics-page__completed-books-image-button:disabled{cursor:not-allowed;opacity:.5}.statistics-page__summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.statistics-page__summary-card{border:1px solid var(--color-border);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-sm);border-radius:16px;padding:24px}.statistics-page__summary-label{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.6}.statistics-page__summary-value{align-items:baseline;gap:6px;margin-top:8px;display:flex}.statistics-page__summary-value span{color:var(--color-text);font-size:32px;font-weight:700;line-height:1.2}.statistics-page__summary-value small{color:var(--color-text-secondary);font-size:14px}.statistics-page__chart-card{border:1px solid var(--color-border);background:var(--color-surface);width:100%;box-shadow:var(--shadow-sm);border-radius:16px;padding:28px 24px 20px}.statistics-page__bar-chart{justify-content:space-between;align-items:flex-end;gap:12px;width:100%;height:260px;display:flex}.statistics-page__bar-column{text-align:center;flex:1 1 0;grid-template-rows:24px 1fr 24px;min-width:0;height:100%;display:grid}.statistics-page__bar-value{color:var(--color-text-secondary);justify-content:center;align-items:center;font-size:12px;font-weight:600;line-height:1;display:flex}.statistics-page__bar-area{justify-content:center;align-items:flex-end;min-height:0;padding:8px 0;display:flex;position:relative}.statistics-page__bar{background:var(--color-accent-500);border-radius:8px 8px 4px 4px;width:min(32px,70%);min-height:0;transition:height .2s}.statistics-page__bar-label{color:var(--color-text-secondary);justify-content:center;align-items:flex-end;padding-bottom:2px;font-size:12px;line-height:1.4;display:flex}.statistics-page__list-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:16px;padding:24px}.statistics-page__genre-item+.statistics-page__genre-item{margin-top:20px}.statistics-page__genre-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.statistics-page__genre-name{color:var(--color-text);font-size:14px;font-weight:600;line-height:1.5}.statistics-page__genre-count{color:var(--color-text-secondary);flex-shrink:0;font-size:13px;line-height:1.5}.statistics-page__genre-track{background:var(--color-surface-muted);border-radius:999px;width:100%;height:8px;overflow:hidden}.statistics-page__genre-bar{border-radius:inherit;background:var(--color-accent-500);height:100%;transition:width .2s}.statistics-page__bar--time{background:var(--color-primary-500,var(--color-accent-500))}.statistics-page__completed-books-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:16px;overflow:hidden}.statistics-page__completed-books-scroll{overflow-x:auto}.statistics-page__completed-books-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:680px}.statistics-page__completed-books-table th,.statistics-page__completed-books-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;color:var(--color-text);padding:14px 16px;font-size:14px;line-height:1.5}.statistics-page__completed-books-table th{background:var(--color-surface-muted);color:var(--color-text-secondary);font-size:12px;font-weight:600}.statistics-page__completed-books-table th:first-child{width:92px}.statistics-page__completed-books-table th:nth-child(2){width:30%}.statistics-page__completed-books-table th:nth-child(3){width:22%}.statistics-page__completed-books-table th:nth-child(4){width:142px}.statistics-page__completed-books-table th:nth-child(5){width:86px}.statistics-page__completed-books-table tbody tr:last-child td{border-bottom:0}.statistics-page__completed-book-cover{border:1px solid var(--color-border);background:var(--color-surface-muted);object-fit:contain;border-radius:5px;width:52px;height:72px;display:block}.statistics-page__completed-book-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.statistics-page__completed-book-date,.statistics-page__completed-book-rating{white-space:nowrap}.statistics-page__share-dialog-backdrop{z-index:300;background:#1c25216b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.statistics-page__share-dialog{background:#fff;border-radius:14px;width:min(100%,420px);padding:24px;box-shadow:0 18px 48px #0003}.statistics-page__share-dialog h2{color:var(--color-text);font-family:var(--font-serif);margin:0;font-size:22px}.statistics-page__share-dialog p{color:var(--color-text-secondary);margin:10px 0 20px;font-size:14px;line-height:1.6}.statistics-page__share-dialog .statistics-page__share-dialog-warning{color:#795213;background:#fff8ea;border:1px solid #e1a64d;border-radius:8px;padding:10px 12px}.statistics-page__share-dialog label{color:var(--color-text);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.statistics-page__share-dialog input{box-sizing:border-box;width:100%;min-height:44px;color:var(--color-text);font:inherit;border:1px solid #c8d8d0;border-radius:8px;padding:0 12px}.statistics-page__share-dialog input:focus{outline-offset:2px;outline:2px solid #7aba9f}.statistics-page__share-dialog-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.statistics-page__share-dialog-actions button{color:#4b7965;min-height:40px;font:inherit;cursor:pointer;background:#fff;border:1px solid #7aba9f;border-radius:8px;padding:0 14px;font-weight:600}.statistics-page__share-dialog-actions button[type=submit]{color:#fff;background:#5a8a75}.statistics-page__share-dialog-actions button:disabled{cursor:wait;opacity:.7}.statistics-page__status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.statistics-page__status-card{border:1px solid var(--color-border);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-sm);border-radius:16px;padding:20px}.statistics-page__status{align-items:center;gap:7px;font-size:13px;font-weight:600;line-height:1.5;display:flex}.statistics-page__status span{font-size:10px}.statistics-page__status--read{color:var(--color-status-read)}.statistics-page__status--reading{color:var(--color-status-reading)}.statistics-page__status--stacked{color:var(--color-status-stacked)}.statistics-page__status--paused{color:var(--color-status-paused)}.statistics-page__status-value{color:var(--color-text);align-items:baseline;gap:5px;margin-top:12px;font-size:28px;font-weight:700;line-height:1.2;display:flex}.statistics-page__status-value small{color:var(--color-text-secondary);font-size:13px;font-weight:400}.statistics-page__rating-section{margin-bottom:0}.statistics-page__rating-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:32px 24px;display:flex}.statistics-page__rating-stars{align-items:center;gap:3px;font-size:28px;line-height:1;display:inline-flex}.statistics-page__rating-star--full{color:var(--color-accent-500)}.statistics-page__rating-star--half{background:linear-gradient(90deg, var(--color-accent-500) 50%, var(--color-gray-300) 50%);color:#0000;-webkit-background-clip:text;background-clip:text}.statistics-page__rating-star--empty{color:var(--color-gray-400)}.statistics-page__rating-value{align-items:baseline;gap:5px;margin-top:14px;display:flex}.statistics-page__rating-value strong{color:var(--color-text);font-size:32px;font-weight:700;line-height:1.2}.statistics-page__rating-value span{color:var(--color-text-secondary);font-size:14px}.statistics-page__rating-description{color:var(--color-text-secondary);margin:8px 0 0;font-size:13px;line-height:1.6}@media (width<=900px){.statistics-page__content{padding:32px 24px 88px}.statistics-page__summary-grid,.statistics-page__status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.statistics-page__content{padding:24px 16px 96px}.statistics-page__title{font-size:28px}.statistics-page__description{font-size:13px}.statistics-page__section{margin-top:28px}.statistics-page__section-title{font-size:18px}.statistics-page__section-header--completed-books{flex-direction:column;align-items:flex-start}.statistics-page__completed-books-actions{width:100%}.statistics-page__month-select,.statistics-page__completed-books-image-button{flex:1 1 0}.statistics-page__month-select{min-height:38px}.statistics-page__summary-grid{gap:12px}.statistics-page__summary-card{border-radius:14px;padding:18px}.statistics-page__summary-value span{font-size:26px}.statistics-page__chart-card{border-radius:14px;padding:20px 12px 16px}.statistics-page__bar-chart{gap:4px;height:220px}.statistics-page__bar{width:24px}.statistics-page__list-card{border-radius:14px;padding:20px 18px}.statistics-page__completed-books-card{border-radius:14px}.statistics-page__completed-books-table th,.statistics-page__completed-books-table td{padding:12px}.statistics-page__status-card{border-radius:14px;padding:18px}.statistics-page__rating-card{border-radius:14px;padding:28px 20px}}@media (width<=420px){.statistics-page__summary-grid{grid-template-columns:1fr}.statistics-page__status-grid{grid-template-columns:1fr 1fr}.statistics-page__summary-value span{font-size:28px}.statistics-page__bar-chart{height:200px}.statistics-page__bar{width:20px}}.reading-timer-page{background:var(--bg-primary);min-height:100%;padding:32px}.reading-timer-page__content{width:min(100%,720px);margin:0 auto}.reading-timer-page__header h1{margin:0;font-size:32px}.reading-timer-page__header p{color:var(--text-secondary)}.reading-timer-page__active,.reading-timer-page__list{border:1px solid var(--border-default);background:var(--surface-default);border-radius:12px;margin-top:32px;padding:28px}.reading-timer-page__label{color:var(--color-accent-700);font-weight:600}.reading-timer-page__clock{aspect-ratio:1;border:8px solid var(--color-accent-100);background:var(--bg-primary);width:220px;box-shadow:inset 0 0 0 1px var(--border-default);border-radius:50%;margin:24px auto;position:relative}.reading-timer-page__clock-number{color:var(--text-secondary);font-size:13px;font-weight:700;position:absolute}.reading-timer-page__clock-number--12{top:12px;left:50%;transform:translate(-50%)}.reading-timer-page__clock-number--3{top:50%;right:12px;transform:translateY(-50%)}.reading-timer-page__clock-number--6{bottom:12px;left:50%;transform:translate(-50%)}.reading-timer-page__clock-number--9{top:50%;left:12px;transform:translateY(-50%)}.reading-timer-page__clock-hand{transform-origin:bottom;border-radius:999px;width:4px;position:absolute;bottom:50%;left:calc(50% - 2px)}.reading-timer-page__clock-hand--hour{background:var(--text-primary);height:48px}.reading-timer-page__clock-hand--minute{background:var(--color-accent-700);height:70px}.reading-timer-page__clock-hand--second{background:#c85c5c;width:2px;height:80px;left:calc(50% - 1px)}.reading-timer-page__clock-center{background:var(--surface-default);color:var(--text-primary);white-space:nowrap;border-radius:6px;padding:5px 8px;font-size:13px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.reading-timer-page button{background:var(--color-accent-600);color:#fff;min-height:42px;font:inherit;cursor:pointer;border:0;border-radius:8px;padding:0 16px;font-weight:600}.reading-timer-page__list ul{margin:20px 0 0;padding:0;list-style:none}.reading-timer-page__list li{border-top:1px solid var(--border-default);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.reading-timer-page__list li span{color:var(--text-secondary);margin-top:4px;font-size:13px;display:block}.reading-timer-page__footer-image{z-index:1;pointer-events:none;position:fixed;bottom:24px;right:32px}.reading-timer-page__footer-image img{width:180px;height:auto;display:block}@media (width<=767px){.reading-timer-page__footer-image{bottom:76px;right:16px}.reading-timer-page__footer-image img{width:130px}}@media (width<=639px){.reading-timer-page{padding:24px 16px 88px}.reading-timer-page__active,.reading-timer-page__list{padding:20px}}.calendar-page{--diary-green:#4f7866;--diary-soft:#edf2ee;background:var(--bg-primary);min-height:100%;color:var(--text-primary);padding:32px 24px 100px}.calendar-page__content{max-width:760px;margin:auto}.calendar-page__header{border-bottom:1px solid var(--border-light);padding:0 24px 24px}.calendar-page h1,.calendar-page h2,.calendar-page h3,.calendar-page__number{font-family:var(--font-serif);font-weight:400}.calendar-page h1{letter-spacing:.07em;margin:0;font-size:27px}.calendar-page button{font:inherit;color:var(--diary-green);cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:44px;padding:8px 12px}.calendar-page button:disabled{opacity:.45;cursor:default}.calendar-page button:focus-visible,.calendar-page input:focus-visible,.calendar-page textarea:focus-visible{outline:2px solid var(--color-accent-700);outline-offset:2px}.calendar-page button:hover:not(:disabled){background-color:var(--bg-secondary)}.calendar-page__calendar{padding:18px 24px 20px}.calendar-page__toolbar{grid-template-columns:1fr auto minmax(150px,220px) auto 1fr;align-items:center;gap:10px;margin-bottom:16px;display:grid}.calendar-page__toolbar>button:first-child{grid-column:2}.calendar-page__toolbar>button:not(.calendar-page__today),.calendar-page__date-heading button{min-width:44px;color:var(--text-secondary);font-size:32px;font-weight:300;line-height:1}.calendar-page__toolbar h2{text-align:center;white-space:nowrap;margin:0;font-size:27px}.calendar-page button.calendar-page__today{background:var(--diary-soft);white-space:nowrap;border-radius:24px;justify-self:end;min-height:36px;padding:6px 18px}.calendar-page__summary{background:var(--bg-secondary);border-radius:10px;justify-content:space-evenly;align-items:center;gap:12px;margin-bottom:16px;padding:14px 10px;display:flex}.calendar-page__summary>span{white-space:nowrap;align-items:center;gap:5px;font-size:14px;display:flex}.calendar-page__summary b{font-weight:500}.calendar-page__summary svg{color:var(--diary-green);margin-right:4px}.calendar-page__grid{grid-template-columns:repeat(7,minmax(0,1fr));row-gap:6px;display:grid}.calendar-page__weekday{text-align:center;font-family:var(--font-serif);color:var(--text-secondary);padding:8px 0;font-size:14px}.calendar-page button.calendar-page__day{min-height:69px;color:var(--text-primary);justify-content:center;align-items:flex-start;padding:5px 0 15px;display:flex;position:relative}.calendar-page__number{border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:24px;display:flex}.calendar-page__day--reading .calendar-page__number{background:var(--diary-soft)}.calendar-page__day[aria-current=date] .calendar-page__number{box-shadow:inset 0 0 0 1px var(--diary-green)}.calendar-page__day--selected .calendar-page__number{background:var(--diary-green);color:#fff}.calendar-page__markers{justify-content:center;align-items:center;gap:5px;height:9px;display:flex;position:absolute;bottom:8px;left:0;right:0}.calendar-page__marker{box-sizing:border-box;border-radius:50%;flex-shrink:0;display:inline-block}.calendar-page__marker--completed{border:2px solid #cb873e;width:8px;height:8px}.calendar-page__marker--memo{background:var(--diary-green);width:6px;height:6px}.calendar-page__legend{color:var(--text-secondary);flex-wrap:wrap;justify-content:center;gap:10px 20px;padding-top:12px;font-size:11px;display:flex}.calendar-page__legend>span{align-items:center;gap:6px;display:inline-flex}.calendar-page__reading-key{background:var(--diary-soft);border:1px solid var(--border-default);border-radius:50%;width:13px;height:13px}.calendar-page__journal{border-top:1px solid var(--border-light);padding:24px}.calendar-page__date-heading{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.calendar-page__date-heading h2{margin:0;font-size:28px}.calendar-page__date-heading small{font-size:18px}.calendar-page__panel{border:1px solid var(--border-light);background:var(--surface-default);border-radius:15px;margin-bottom:20px;padding:4px 20px 16px;box-shadow:0 2px 8px #00000008}.calendar-page__panel>header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:8px;min-height:58px;display:flex}.calendar-page__panel h3{white-space:nowrap;align-items:center;gap:10px;margin:0;font-size:20px;display:flex}.calendar-page__panel h3 svg{color:var(--diary-green)}.calendar-page__panel>header button{padding-inline:4px;font-size:14px}.calendar-page__empty{color:var(--text-secondary);margin:20px 0 10px;font-size:14px;line-height:1.9}.calendar-page button.calendar-page__book{text-align:left;width:100%;color:var(--text-primary);align-items:flex-start;gap:18px;padding:16px 0 0;display:flex}.calendar-page__book+.calendar-page__book{border-top:1px solid var(--border-light);margin-top:16px}.calendar-page__book img{object-fit:cover;background:var(--bg-secondary);border-radius:3px;width:72px;height:100px}.calendar-page__book-copy{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.calendar-page__book-copy strong{font-family:var(--font-serif);overflow-wrap:anywhere;font-size:18px;font-weight:500}.calendar-page__book-copy>span{color:var(--text-secondary);font-size:14px}.calendar-page__book-copy .calendar-page__book-status{font-size:13px}.calendar-page__book-copy .calendar-page__rating{color:var(--diary-green);letter-spacing:1px;font-size:22px}.calendar-page__rating small{color:var(--text-secondary);font:14px var(--font-sans)}.calendar-page__book-arrow{color:var(--text-tertiary);align-self:center;font-size:25px}.calendar-page__memo{font-family:var(--font-serif);overflow-wrap:anywhere;line-height:1.95}.calendar-page__memo h4{margin:16px 0 5px;font-size:17px;font-weight:500}.calendar-page__memo p{white-space:pre-wrap;margin:12px 0 0}.calendar-page__editor{flex-direction:column;gap:10px;padding-top:18px;display:flex}.calendar-page__editor label{font-size:13px}.calendar-page__editor label span{color:var(--text-secondary)}.calendar-page input,.calendar-page textarea{box-sizing:border-box;border:1px solid var(--border-default);background:var(--bg-primary);width:100%;color:var(--text-primary);font:16px var(--font-serif);border-radius:8px;padding:10px 12px;line-height:1.9}.calendar-page textarea{resize:vertical;min-height:200px}.calendar-page__meta,.calendar-page__actions{flex-wrap:wrap;gap:10px;display:flex}.calendar-page__meta{color:var(--text-secondary);justify-content:space-between;font-size:11px}.calendar-page__actions{margin-top:10px}.calendar-page button.calendar-page__save{background:var(--diary-green);color:#fff;min-width:110px}.calendar-page__error{border-left:3px solid var(--color-error);margin-top:16px;padding:10px;font-size:14px;line-height:1.8}.calendar-page__notice{color:var(--diary-green);font-size:13px}:root[data-theme=dark] .calendar-page{--diary-green:#8db69f;--diary-soft:#33483c}:root[data-theme=dark] .calendar-page__day--selected .calendar-page__number,:root[data-theme=dark] .calendar-page button.calendar-page__save{color:#18271e}@media (width<=639px){.calendar-page{padding:20px 0 84px}.calendar-page__header{padding:0 20px 18px}.calendar-page h1{font-size:23px}.calendar-page__calendar{padding:14px 12px 18px}.calendar-page__toolbar{grid-template-columns:1fr auto minmax(120px,1fr) auto 1fr;gap:0}.calendar-page__toolbar h2{font-size:23px}.calendar-page button.calendar-page__today{padding:6px 12px;font-size:13px}.calendar-page__summary{gap:4px;padding:12px 6px}.calendar-page__summary>span{gap:2px;font-size:11px}.calendar-page__summary svg{width:17px;height:17px;margin-right:3px}.calendar-page button.calendar-page__day{min-height:59px}.calendar-page__number{width:37px;height:37px;font-size:21px}.calendar-page__markers{bottom:4px}.calendar-page__journal{padding:18px 14px}.calendar-page__date-heading h2{font-size:25px}.calendar-page__date-heading small{font-size:16px}.calendar-page__panel{padding:3px 14px 14px}.calendar-page__panel h3{gap:8px;font-size:18px}.calendar-page__panel>header button{font-size:12px}.calendar-page__book img{width:62px;height:87px}.calendar-page button.calendar-page__book{gap:12px}.calendar-page__book-copy strong{font-size:16px}}.settings-page{background-color:var(--bg-primary);width:100%;min-height:100%;color:var(--text-primary);padding:var(--spacing-6) var(--spacing-4) var(--spacing-8);box-sizing:border-box}.settings-page__content{gap:var(--spacing-8);flex-direction:column;width:min(100%,960px);margin:0 auto;display:flex}.settings-page__header{gap:var(--spacing-2);flex-direction:column;display:flex}.settings-page__title{color:var(--text-primary);font-family:var(--font-serif);margin:0;font-size:28px;font-weight:700;line-height:1.3}.settings-page__description{color:var(--text-secondary);font-family:var(--font-sans);margin:0;font-size:14px;line-height:1.5}.settings-page__section{gap:var(--spacing-4);flex-direction:column;width:100%;display:flex}.settings-page__section-header{justify-content:space-between;align-items:center;display:flex}.settings-page__section-title{color:var(--text-primary);font-family:var(--font-serif);margin:0;font-size:20px;font-weight:700;line-height:1.4}.settings-page__card{box-sizing:border-box;background-color:var(--surface-default);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-card);margin:4px 0;padding:4px 20px}.settings-page__guest-upgrade-card{background:#f8fcf9;border-color:#b8d5c7;justify-content:space-between;align-items:center;gap:24px;padding:20px;display:flex}.settings-page__guest-upgrade-button{border:1px solid var(--color-accent-600);border-radius:var(--radius-md);background:var(--color-accent-600);color:#fff;min-height:42px;font-family:var(--font-sans);cursor:pointer;flex:none;padding:0 16px;font-size:14px;font-weight:600}.settings-page__guest-dialog-backdrop{z-index:300;background:#1c25216b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.settings-page__guest-dialog{background:var(--surface-default);border-radius:14px;width:min(100%,440px);padding:24px;box-shadow:0 18px 48px #0003}.settings-page__guest-dialog h2{font-family:var(--font-serif);margin:0;font-size:22px}.settings-page__guest-dialog>p{color:var(--text-secondary);font-family:var(--font-sans);margin:10px 0 20px;font-size:14px;line-height:1.6}.settings-page__guest-dialog label{color:var(--text-primary);font-family:var(--font-sans);margin:14px 0 8px;font-size:14px;font-weight:600;display:block}.settings-page__guest-dialog input{box-sizing:border-box;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-default);width:100%;min-height:44px;color:var(--text-primary);font-family:var(--font-sans);padding:0 12px}.settings-page__guest-dialog input:focus{outline:2px solid var(--color-accent-600);outline-offset:2px}.settings-page__guest-dialog-message{color:var(--color-accent-700);font-family:var(--font-sans);margin:14px 0 0;font-size:13px;line-height:1.6}.settings-page__guest-dialog-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.settings-page__guest-dialog-actions button{border:1px solid var(--color-accent-600);border-radius:var(--radius-md);min-height:40px;color:var(--color-accent-700);font-family:var(--font-sans);cursor:pointer;background:0 0;padding:0 14px;font-weight:600}.settings-page__guest-dialog-actions button[type=submit]{background:var(--color-accent-600);color:#fff}.settings-page__guest-dialog-actions button:disabled{cursor:wait;opacity:.65}.settings-page__item{box-sizing:border-box;justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:14px 0;display:flex}.settings-page__item--static{min-height:72px}.settings-page__item-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.settings-page__item-copy h3{color:var(--text-primary);font-family:var(--font-serif);margin:0;font-size:16px;font-weight:600;line-height:1.4}.settings-page__item-copy p{color:var(--text-secondary);font-family:var(--font-sans);margin:0;font-size:14px;line-height:1.5}.settings-page__divider{background-color:var(--border-default);width:100%;height:1px}.settings-page__segmented-control{background-color:var(--color-primary-100);border-radius:var(--radius-full);flex:none;align-items:center;gap:2px;padding:3px;display:inline-flex}.settings-page__segment{border-radius:var(--radius-full);min-width:58px;height:34px;color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background-color:#0000;border:none;padding:0 12px;font-size:13px;font-weight:600;line-height:1;transition:background-color .2s,color .2s,box-shadow .2s}.settings-page__segment:hover{color:var(--text-primary)}.settings-page__segment--active{background-color:var(--surface-default);color:var(--text-primary);box-shadow:var(--shadow-card)}.settings-page__account-status{color:var(--text-secondary);font-family:var(--font-sans);white-space:nowrap;flex:none;font-size:13px;line-height:1.4}.settings-page__action{width:100%;min-height:72px;color:inherit;text-align:left;cursor:pointer;box-sizing:border-box;background:0 0;border:none;justify-content:space-between;align-items:center;gap:20px;margin:0;padding:14px 0;display:flex}.settings-page__action>span:first-child{flex-direction:column;gap:4px;min-width:0;display:flex}.settings-page__action strong{color:var(--text-primary);font-family:var(--font-serif);font-size:16px;font-weight:600;line-height:1.4}.settings-page__action small{color:var(--text-secondary);font-family:var(--font-sans);font-size:14px;line-height:1.5}.settings-page__arrow{color:var(--text-secondary);flex:none;font-size:24px;font-weight:300;line-height:1}.settings-page__action:hover .settings-page__arrow{color:var(--text-primary)}.settings-page__version{color:var(--text-secondary);font-family:var(--font-sans);white-space:nowrap;flex:none;font-size:13px;line-height:1.4}.settings-page__danger-section{gap:var(--spacing-4);flex-direction:column;width:100%;margin-top:4px;display:flex}.settings-page__danger-title{color:var(--text-primary);font-family:var(--font-serif);margin:0;font-size:20px;font-weight:700;line-height:1.4}.settings-page__danger-card{box-sizing:border-box;background-color:var(--surface-default);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-card);margin:4px 0;padding:20px}.settings-page__danger-card p{color:var(--text-secondary);font-family:var(--font-sans);margin:0;font-size:14px;line-height:1.6}.settings-page__delete-button{border-radius:var(--radius-md);color:#a94442;min-height:42px;font-family:var(--font-sans);cursor:pointer;background-color:#0000;border:1px solid #b43c3c47;margin-top:16px;padding:0 16px;font-size:14px;font-weight:600;line-height:1.4;transition:background-color .2s,border-color .2s}.settings-page__delete-button:hover{background-color:#b43c3c0f;border-color:#b43c3c66}.settings-page__feedback-section{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:24px 20px 8px;display:flex}.settings-page__feedback-title{color:var(--text-primary);font-family:var(--font-serif);margin:0;font-size:18px;line-height:1.4}.settings-page__feedback-section p{color:var(--text-secondary);font-family:var(--font-sans);margin:0;font-size:13px;line-height:1.6}.settings-page__feedback-link{border:1px solid var(--color-accent-600);border-radius:var(--radius-md);min-height:40px;color:var(--color-accent-700);font-family:var(--font-sans);justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.settings-page__feedback-link:hover{background:var(--color-primary-100)}.settings-page__segment:focus-visible,.settings-page__action:focus-visible,.settings-page__delete-button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.settings-page__footer-image{z-index:1;pointer-events:none;position:fixed;bottom:24px;right:32px}.settings-page__footer-image img{width:160px;height:auto;display:block}@media (width<=768px){.settings-page{padding:var(--spacing-4) var(--spacing-4) var(--spacing-8)}.settings-page__content{gap:var(--spacing-6)}.settings-page__card{padding-left:16px;padding-right:16px}.settings-page__item{gap:14px}.settings-page__guest-upgrade-card{flex-direction:column;align-items:flex-start}.settings-page__segment{min-width:54px;padding:0 10px}}@media (width<=480px){.settings-page__guest-upgrade-button{width:100%}.settings-page__guest-dialog{padding:20px}.settings-page__title{font-size:28px}.settings-page__section-title,.settings-page__danger-title{font-size:18px}.settings-page__card{margin:4px 0;padding-left:14px;padding-right:14px}.settings-page__item{flex-direction:column;align-items:stretch;gap:12px;min-height:0;padding:16px 0}.settings-page__item--static{flex-direction:row;align-items:center}.settings-page__segmented-control{box-sizing:border-box;width:100%}.settings-page__segment{flex:1 1 0;min-width:0}.settings-page__account-status{align-self:flex-start}.settings-page__action{min-height:76px}.settings-page__danger-card{margin:4px 0;padding:18px 14px}.settings-page__delete-button{width:100%}}.settings-page__archive-message{color:var(--text-secondary);padding:12px 20px;font-size:14px;line-height:1.8}.settings-page__archive-button{border:1px solid var(--color-accent-700);background:var(--surface-default);color:var(--text-primary);font:inherit;cursor:pointer;border-radius:8px;padding:12px 18px}.settings-page__danger-card button:disabled,.settings-page__action:disabled{opacity:.5;cursor:not-allowed}.book-registration-page{background-color:var(--bg-primary);width:100%;min-height:100%;color:var(--text-primary);padding:var(--spacing-6) var(--spacing-4) var(--spacing-8);box-sizing:border-box}.book-registration-page__content{gap:var(--spacing-8);flex-direction:column;width:min(100%,960px);margin:0 auto;display:flex}.book-registration-page__header{align-items:flex-start;gap:12px;display:flex}.book-registration-page__back{width:36px;height:36px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;margin-top:2px;padding:0;font-size:32px;line-height:32px}.book-registration-page__back:hover{background-color:var(--color-primary-100)}.book-registration-page__title{color:var(--text-primary);margin:0;font-size:28px;font-weight:700;line-height:1.3}.book-registration-page__description{color:var(--text-secondary);margin:6px 0 0;font-size:14px;line-height:1.5}.book-registration-page__form{gap:var(--spacing-8);flex-direction:column;display:flex}.book-registration-page__section{gap:var(--spacing-4);flex-direction:column;display:flex}.book-registration-page__section-title{color:var(--text-primary);margin:0;font-size:20px;font-weight:700;line-height:1.4}.book-registration-page__card{box-sizing:border-box;background-color:var(--surface-default);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-card);flex-direction:column;gap:20px;padding:20px;display:flex}.book-registration-page__cover-area{flex-direction:column;align-items:center;gap:8px;padding-bottom:4px;display:flex}.book-registration-page__cover{aspect-ratio:2/3;box-sizing:border-box;border:1px dashed var(--border-default);border-radius:var(--radius-md);background-color:var(--color-primary-100);width:120px;color:var(--text-secondary);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;overflow:hidden}.book-registration-page__cover:hover{border-color:var(--color-primary-500)}.book-registration-page__cover--has-image{border-style:solid}.book-registration-page__cover-icon{font-size:28px;line-height:1}.book-registration-page__cover-text{font-size:12px;line-height:1.4}.book-registration-page__cover-image{object-fit:cover;width:100%;height:100%}.book-registration-page__file-input{display:none}.book-registration-page__cover-help{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.4}.book-registration-page__camera-button{display:none}.book-registration-page__crop-button{border:1px solid var(--color-primary-500);border-radius:var(--radius-md);background:var(--surface-default);min-height:36px;color:var(--color-primary-700,var(--text-primary));font:inherit;cursor:pointer;padding:0 12px;font-size:12px;font-weight:600}.book-registration-page__crop-message{color:var(--text-secondary);text-align:center;margin:0;font-size:12px;line-height:1.5}.book-registration-page__add-genre{gap:8px;display:flex}.book-registration-page__genre-checkboxes{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-default);flex-wrap:wrap;gap:6px 14px;max-height:236px;padding:4px;display:flex;overflow-y:auto}.book-registration-page__genre-checkbox{min-height:28px;color:var(--text-primary);cursor:pointer;border-radius:6px;align-items:center;gap:7px;padding:2px 0;font-size:13px;display:flex}.book-registration-page__genre-checkbox:hover{background:var(--color-primary-100)}.book-registration-page__field .book-registration-page__genre-checkbox input{appearance:none;border:1px solid var(--border-strong);background:var(--surface-default);border-radius:3px;width:13px;min-width:13px;height:13px;min-height:13px;margin:0;padding:0}.book-registration-page__genre-checkbox input:checked{border-color:var(--color-primary-500);background-color:var(--color-primary-500);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.1 6.1 4.7 8.5 9.9 3.3' fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:11px}.book-registration-page__genre-checkbox input:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.book-registration-page__genre-checkbox span{white-space:nowrap}.book-registration-page__add-genre input{min-width:0}.book-registration-page__add-genre button{border:1px solid var(--color-primary-500);border-radius:var(--radius-md);background:var(--surface-default);min-height:44px;color:var(--color-primary-700,var(--text-primary));font:inherit;cursor:pointer;flex:none;padding:0 14px;font-size:14px;font-weight:600}.book-registration-page__ocr-candidates{gap:12px;width:min(100%,440px);display:grid}.book-registration-page__isbn{background:var(--surface-default);border:1px solid var(--border-default);border-radius:var(--radius-lg);gap:12px;padding:20px;display:grid}.book-registration-page__isbn h3,.book-registration-page__isbn p{margin:0}.book-registration-page__isbn p,.book-registration-page__isbn small{overflow-wrap:anywhere;font-size:13px;line-height:1.6}.book-registration-page__isbn-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.book-registration-page__isbn-actions label{align-items:center;display:inline-flex;position:relative}.book-registration-page__isbn-actions input[type=file]{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.book-registration-page__isbn-actions label:focus-within{outline:2px solid var(--color-primary-500);outline-offset:3px}.book-registration-page__isbn-actions input:not([type=file]){box-sizing:border-box;width:min(100%,230px);min-width:0;min-height:44px;font:inherit;color:var(--text-primary);background:var(--surface-default);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:8px}.book-registration-page__isbn button:disabled{opacity:.5;cursor:default}.book-registration-page__isbn-result{background:var(--color-primary-100);border-radius:var(--radius-md);overflow-wrap:anywhere;gap:8px;padding:12px;display:grid}.book-registration-page__isbn-cover{border-top:1px solid var(--border-default);justify-items:start;gap:10px;padding-top:12px;display:grid}.book-registration-page__isbn-cover-preview{object-fit:contain;border-radius:var(--radius-md);width:140px;max-width:100%;max-height:220px}.book-registration-page__ocr-candidates label{gap:6px;font-size:13px;display:grid}.book-registration-page__ocr-candidates select{width:100%;min-width:0;min-height:44px;color:var(--text-primary);background:var(--surface-default);border:1px solid var(--border-default);border-radius:var(--radius-md)}.book-registration-page__field{flex-direction:column;gap:8px;display:flex}.book-registration-page__field label{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.4}.book-registration-page__field input,.book-registration-page__field select,.book-registration-page__field textarea{box-sizing:border-box;border:1px solid var(--border-default);border-radius:var(--radius-md);background-color:var(--surface-default);width:100%;color:var(--text-primary);outline:none;font-family:inherit;font-size:14px;line-height:1.5}.book-registration-page__field input,.book-registration-page__field select{min-height:44px;padding:0 12px}.book-registration-page__field textarea{resize:vertical;min-height:100px;padding:10px 12px}.book-registration-page__field input::placeholder,.book-registration-page__field textarea::placeholder{color:var(--text-secondary);opacity:.8}.book-registration-page__field input:focus,.book-registration-page__field select:focus,.book-registration-page__field textarea:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 2px #2f6b5b1f}.book-registration-page__status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.book-registration-page__status-button{border:1px solid var(--border-default);border-radius:var(--radius-md);background-color:var(--surface-default);min-height:42px;color:var(--text-secondary);cursor:pointer;padding:0 10px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.3}.book-registration-page__status-button--active{border-color:var(--color-primary-500);background-color:var(--color-primary-100);color:var(--color-primary-700,var(--text-primary))}.book-registration-page__date-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.book-registration-page__actions{justify-content:flex-end;gap:12px;padding-top:4px;display:flex}.book-registration-page__cancel,.book-registration-page__submit{border-radius:var(--radius-full);cursor:pointer;min-height:44px;padding:0 20px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4}.book-registration-page__cancel{border:1px solid var(--border-default);background-color:var(--surface-default);color:var(--text-secondary)}.book-registration-page__submit{border:1px solid var(--color-primary-500);background-color:var(--color-primary-500);color:#fff}.book-registration-page__cancel:hover{background-color:var(--color-primary-100)}.book-registration-page__submit:hover{opacity:.9}@media (width<=768px){.book-registration-page{padding:var(--spacing-4) var(--spacing-4) var(--spacing-8)}.book-registration-page__content,.book-registration-page__form{gap:var(--spacing-6)}.book-registration-page__card{padding:18px 16px}.book-registration-page__camera-button{border:1px solid var(--color-primary-500);border-radius:var(--radius-md);background:var(--surface-default);min-height:40px;color:var(--color-primary-700,var(--text-primary));cursor:pointer;justify-content:center;align-items:center;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}}@media (width<=480px){.book-registration-page__title{font-size:28px}.book-registration-page__section-title{font-size:18px}.book-registration-page__card{gap:18px;padding:16px 14px}.book-registration-page__status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.book-registration-page__date-grid{grid-template-columns:1fr;gap:18px}.book-registration-page__actions{flex-direction:column-reverse}.book-registration-page__cancel,.book-registration-page__submit{width:100%}}.book-detail-page{background-color:var(--bg-primary,#fff);color:#212121;width:100%;min-height:100%}.book-detail-page__content{width:100%;max-width:1100px;margin:0 auto;padding:32px 24px 100px}.book-detail-page__back{color:#616161;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;min-height:36px;margin:0 0 28px;padding:6px 0;font-size:14px;font-weight:500;transition:color .2s;display:inline-flex}.book-detail-page__back:hover{color:#5a8a75}.book-detail-page__back:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #7aba9f}.book-detail-page__hero{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:40px;display:grid}.book-detail-page__cover{aspect-ratio:2/3;background-color:var(--bg-secondary,#f7f7f7);border-radius:8px;width:220px;overflow:hidden;box-shadow:0 4px 12px #00000014}.book-detail-page__cover img{object-fit:cover;width:100%;height:100%;display:block}.book-detail-page__cover-placeholder{background-color:var(--bg-secondary,#f7f7f7);color:#757575;text-align:center;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;font-size:28px;font-weight:600;line-height:1.4;display:flex}.book-detail-page__info{min-width:0;padding-top:4px}.book-detail-page__status{color:#6a9f8a;align-items:center;gap:6px;margin-bottom:12px;font-size:14px;font-weight:600;display:inline-flex}.book-detail-page__status span{font-size:10px}.book-detail-page__title{color:#212121;font-family:var(--font-serif);overflow-wrap:anywhere;margin:0 0 10px;font-size:32px;font-weight:700;line-height:1.45}.book-detail-page__author{color:#616161;margin:0 0 16px;font-size:16px;line-height:1.6}.book-detail-page__genre{color:#5a8a75;background-color:#f5f9f7;border-radius:9999px;align-items:center;min-height:30px;padding:5px 12px;font-size:13px;font-weight:500;display:inline-flex}.book-detail-page__section{margin-top:48px}.book-detail-page__section-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.book-detail-page__section-title{color:#212121;font-family:var(--font-serif);margin:0;font-size:22px;font-weight:700;line-height:1.4}.book-detail-page__section>.book-detail-page__section-title{margin-bottom:16px}.book-detail-page__add-record{color:#5a8a75;white-space:nowrap;cursor:pointer;background-color:#fff;border:1px solid #7aba9f;border-radius:8px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-size:14px;font-weight:600;transition:background-color .2s,border-color .2s;display:inline-flex}.book-detail-page__add-record:hover{background-color:#f5f9f7;border-color:#6a9f8a}.book-detail-page__add-record:focus-visible{outline-offset:2px;outline:2px solid #7aba9f}.book-detail-page__card{background-color:var(--surface-default,#fff);border:1px solid #e0e0e0;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000f}.book-detail-page__empty{background-color:var(--surface-default,#fff);color:#9e9e9e;text-align:center;border:1px solid #e0e0e0;border-radius:12px;padding:40px 24px}.book-detail-page__empty p{margin:0;font-size:14px}.book-detail-page__record-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.book-detail-page__record-header h3{color:#212121;font-family:var(--font-serif);margin:0;font-size:18px;font-weight:700;line-height:1.5}.book-detail-page__record-status{color:#5a8a75;white-space:nowrap;background-color:#f5f9f7;border-radius:9999px;align-items:center;min-height:28px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.book-detail-page__details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.book-detail-page__detail-item{flex-direction:column;gap:6px;min-width:0;display:flex}.book-detail-page__detail-label{color:#9e9e9e;font-size:13px;line-height:1.5}.book-detail-page__detail-item strong{color:#212121;overflow-wrap:anywhere;font-size:15px;font-weight:600;line-height:1.6}.book-detail-page__rating{border-top:1px solid #f0f0f0;margin-top:24px;padding-top:24px}.book-detail-page__rating-row{color:#616161;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.book-detail-page__stars{align-items:center;gap:2px;font-size:20px;line-height:1;display:inline-flex}.book-detail-page__star{width:20px;height:22px;display:inline-block;position:relative;overflow:hidden}.book-detail-page__star-base{color:#d8d8d8;line-height:22px;position:absolute;inset:0}.book-detail-page__star-fill{color:#7aba9f;white-space:nowrap;height:100%;line-height:22px;position:absolute;top:0;left:0;overflow:hidden}.book-detail-page__rating-row strong{color:#212121;font-size:18px;font-weight:700}.book-detail-page__text-section{border-top:1px solid #f0f0f0;margin-top:28px;padding-top:24px}.book-detail-page__text-section h3{color:#424242;font-family:var(--font-serif);margin:0 0 10px;font-size:16px;font-weight:700;line-height:1.5}.book-detail-page__text-section p{color:#424242;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.9}.book-detail-page__actions{flex-direction:column;justify-content:center;align-items:center;gap:12px;margin-top:48px;display:flex}.book-detail-page__genres{flex-wrap:wrap;gap:8px;display:flex}.book-detail-page__edit-button{color:#424242;cursor:pointer;background-color:#fff;border:1px solid #d6d6d6;border-radius:8px;min-height:44px;padding:0 24px;font-size:14px;font-weight:600;transition:background-color .2s,border-color .2s}.book-detail-page__edit-button:hover{background-color:#f7f7f7;border-color:#c8c8c8}.book-detail-page__edit-button:focus-visible{outline-offset:2px;outline:2px solid #7aba9f}@media (width<=900px){.book-detail-page__hero{grid-template-columns:180px minmax(0,1fr);gap:28px}.book-detail-page__cover{width:180px}.book-detail-page__title{font-size:28px}}@media (width<=700px){.book-detail-page__content{padding:24px 16px 100px}.book-detail-page__back{margin-bottom:24px}.book-detail-page__hero{grid-template-columns:1fr;gap:24px}.book-detail-page__cover{width:160px}.book-detail-page__info{padding-top:0}.book-detail-page__title{font-size:26px;line-height:1.5}.book-detail-page__author{font-size:15px}.book-detail-page__section{margin-top:40px}.book-detail-page__section-header{flex-direction:column;align-items:stretch;gap:12px}.book-detail-page__section-title{font-size:20px}.book-detail-page__add-record{width:100%}.book-detail-page__details-grid{grid-template-columns:1fr;gap:18px}.book-detail-page__card{padding:20px}.book-detail-page__record-header{align-items:flex-start}.book-detail-page__text-section p{font-size:14px;line-height:1.9}.book-detail-page__actions{margin-top:40px}.book-detail-page__edit-button{width:100%}.book-detail-page__stars{font-size:18px}.book-detail-page__star{width:18px;height:20px}.book-detail-page__star-base,.book-detail-page__star-fill{line-height:20px}}@media (width<=400px){.book-detail-page__content{padding-left:14px;padding-right:14px}.book-detail-page__cover{width:140px}.book-detail-page__title{font-size:24px}.book-detail-page__card{padding:18px}.book-detail-page__star{width:17px;height:19px}.book-detail-page__star-base,.book-detail-page__star-fill{line-height:19px}}.book-detail-page__share-button{color:#4b7965;min-height:42px;font:inherit;cursor:pointer;background:#f5f9f7;border:1px solid #7aba9f;border-radius:8px;padding:0 16px;font-size:14px;font-weight:600}.book-detail-page__share-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.book-detail-page__share-dialog-backdrop{z-index:300;background:#1c25216b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.book-detail-page__share-dialog{background:var(--surface-default,#fff);border-radius:14px;width:min(100%,420px);padding:24px;box-shadow:0 18px 48px #0003}.book-detail-page__share-dialog h2{font-family:var(--font-serif);margin:0;font-size:22px}.book-detail-page__share-dialog p{color:#616161;margin:10px 0 20px;font-size:14px;line-height:1.6}.book-detail-page__share-dialog label{color:#424242;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.book-detail-page__share-dialog input{box-sizing:border-box;color:#212121;width:100%;min-height:44px;font:inherit;border:1px solid #c8d8d0;border-radius:8px;padding:0 12px}.book-detail-page__share-dialog input:focus{outline-offset:2px;outline:2px solid #7aba9f}.book-detail-page__share-dialog-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.book-detail-page__share-dialog-actions button{color:#4b7965;min-height:40px;font:inherit;cursor:pointer;background:#fff;border:1px solid #7aba9f;border-radius:8px;padding:0 14px;font-weight:600}.book-detail-page__share-dialog-actions button[type=submit]{color:#fff;background:#5a8a75}.book-detail-page__share-dialog-actions button:disabled{cursor:wait;opacity:.7}.book-detail-page__share-button:hover:not(:disabled){background:#e7f3ed}.book-detail-page__share-button:disabled{cursor:wait;opacity:.7}.book-detail-page__records{flex-direction:column;gap:16px;display:flex}.book-detail-page__record-actions{align-items:center;gap:10px;display:inline-flex}.book-detail-page__delete-record-button,.book-detail-page__delete-book-button{color:#b64d4d;min-height:32px;font:inherit;cursor:pointer;background-color:#fff;border:1px solid #d68a8a;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:600}.book-detail-page__delete-record-button:hover,.book-detail-page__delete-book-button:hover{background-color:#fff5f5}.book-detail-page__delete-book-button{min-height:44px;padding:0 20px}.fab{right:var(--spacing-6);border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-primary-600) 0%, var(--color-primary-500) 100%);width:56px;height:56px;color:var(--text-inverse);box-shadow:var(--shadow-xl);cursor:pointer;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);transition:all var(--transition-base);z-index:var(--z-fab);border:none;justify-content:center;align-items:center;min-width:56px;min-height:56px;display:flex;position:fixed;bottom:80px}.fab:hover{box-shadow:var(--shadow-2xl);background:linear-gradient(135deg, var(--color-primary-700) 0%, var(--color-primary-600) 100%);transform:scale(1.1)}.fab:active{transform:scale(.95)}.fab:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px}.fab:disabled{background:var(--color-gray-400);box-shadow:var(--shadow-md);cursor:not-allowed;opacity:.6}.fab:disabled:hover{transform:none}.fab__icon{justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}@media (width<=639px){.fab{right:var(--spacing-4);bottom:calc(80px + env(safe-area-inset-bottom));width:48px;height:48px;font-size:var(--font-size-xl)}}@media (width>=1024px){.fab{right:var(--spacing-8);bottom:var(--spacing-8)}}.auth-page{background:var(--bg-secondary);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-page__card{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-default);width:min(100%,420px);box-shadow:var(--shadow-lg);padding:32px}.auth-page__header h1{font-size:28px}.auth-page__header p{color:var(--text-secondary);margin:8px 0 0;font-size:14px;line-height:1.6}.auth-page__form{flex-direction:column;gap:8px;margin-top:28px;display:flex}.auth-page__form label{color:var(--text-primary);margin-top:8px;font-size:14px;font-weight:600}.auth-page__form input{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-default);min-height:44px;color:var(--text-primary);font:inherit;padding:0 12px}.auth-page__form button{border-radius:var(--radius-md);background:var(--color-accent-600);color:#fff;min-height:44px;font:inherit;cursor:pointer;border:0;margin-top:16px;font-weight:600}.auth-page__form button:disabled{cursor:wait;opacity:.65}.auth-page__message{color:var(--text-secondary);margin:8px 0 0;font-size:13px;line-height:1.6}.auth-page__toggle{width:100%;color:var(--color-accent-700);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:20px;font-size:14px}.auth-page__guest{border-top:1px solid var(--border-default);text-align:center;margin-top:24px;padding-top:20px}.auth-page__guest p{color:var(--text-secondary);margin:0 0 12px;font-size:13px}.auth-page__guest-button{border:1px solid var(--color-accent-600);border-radius:var(--radius-md);width:100%;min-height:44px;color:var(--color-accent-700);font:inherit;cursor:pointer;background:0 0;font-weight:600}.auth-page__guest-button:disabled{cursor:wait;opacity:.65}.auth-page__guest small{color:var(--text-secondary);margin-top:10px;font-size:12px;line-height:1.55;display:block}#root{background-color:var(--bg-primary);width:100%;max-width:100%;height:100%;min-height:100vh;margin:0;padding:0}.cloud-sync-notice{z-index:200;color:#70400d;max-width:min(480px,100vw - 32px);box-shadow:var(--shadow-md);background:#fff8eb;border:1px solid #d98b32;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;font-size:14px;display:flex;position:fixed;top:16px;right:16px}.guest-mode-notice{z-index:200;max-width:min(460px,100vw - 32px);box-shadow:var(--shadow-md);color:#35614d;background:#f3fbf6;border:1px solid #b8d5c7;border-radius:10px;padding:10px 14px;font-size:13px;line-height:1.5;position:fixed;top:16px;left:16px}.cloud-sync-notice button{min-height:34px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:6px;flex:none;padding:0 10px;font-weight:600}@media (width<=639px){.guest-mode-notice,.cloud-sync-notice{max-width:none;top:8px;left:8px;right:8px}}
