:root{--color-primary:#2e7d5b;--color-primary-weak:#e6f2ec;--color-primary-strong:#246347;--color-info:#2b6cb0;--color-highlight:#e07a2f;--color-warning:#b7791f;--color-highlight-weak:#fdf0e4;--color-danger:#c0392b;--color-danger-weak:#fbe9e7;--color-bg:#f4f7f5;--color-surface:#fff;--color-text:#1b2420;--color-text-muted:#5b6b63;--color-border:#dbe4de;--font-sans:system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;--font-display:var(--font-sans);--font-size-root:16px;--font-size-body:.9375rem;--font-size-small:.75rem;--font-size-tab:.6875rem;--font-size-nav:.875rem;--font-size-h1:1.375rem;--font-size-stat:1.375rem;--font-scale-easy:3px;--radius-card:12px;--radius-chip:999px;--radius-input:20px;--shadow-floating:0 6px 24px #1b24202e;--header-height:48px;--tabbar-height:56px;--tabbar-height-short:48px;--content-max-width:720px;--nav-width:0px;--nav-rail-width:84px;--nav-sidebar-width:232px;--page-padding-x:16px;--grid-gap:16px;--card-padding:16px;--chart-height:150px;--chart-height-trend:220px;--chart-height-comparison:200px;--chart-height-records-top:160px;--chart-height-records-bottom:140px;--chart-size-donut:160px;--photo-thumb:76px;--prose-max:65ch}@media (width>=768px){:root{--nav-width:var(--nav-rail-width);--content-max-width:60rem;--page-padding-x:24px}}@media (width>=1120px){:root{--nav-width:var(--nav-sidebar-width);--content-max-width:70rem;--page-padding-x:32px;--grid-gap:20px;--card-padding:20px;--font-size-stat:1.625rem;--photo-thumb:96px;--chart-height:220px;--chart-height-records-top:200px;--chart-height-records-bottom:170px;--chart-size-donut:180px}}@media (width>=1680px){:root{--font-size-root:17px;--nav-sidebar-width:240px;--content-max-width:85rem;--page-padding-x:40px;--grid-gap:24px;--chart-height:260px;--chart-height-trend:260px;--chart-height-comparison:240px;--chart-height-records-top:240px;--chart-height-records-bottom:200px}}@media (width>=2400px){:root{--font-size-root:19px;--nav-sidebar-width:256px;--content-max-width:93rem;--page-padding-x:48px;--grid-gap:28px;--card-padding:24px}}@media (width>=5000px){:root{--font-size-root:24px}}@media (height<=520px){:root{--header-height:40px;--tabbar-height:var(--tabbar-height-short);--grid-gap:12px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-primary:#6cc39a;--color-primary-weak:#1d3329;--color-primary-strong:#8fd9b6;--color-info:#7cb3e8;--color-highlight:#f0a465;--color-warning:#e0b558;--color-highlight-weak:#3a2a18;--color-danger:#f08a7a;--color-danger-weak:#3a1f1b;--color-bg:#101613;--color-surface:#18201c;--color-text:#e7efe9;--color-text-muted:#9baba2;--color-border:#2c3833;--shadow-floating:0 6px 24px #0000008c}}:root[data-theme=dark]{--color-primary:#6cc39a;--color-primary-weak:#1d3329;--color-primary-strong:#8fd9b6;--color-info:#7cb3e8;--color-highlight:#f0a465;--color-warning:#e0b558;--color-highlight-weak:#3a2a18;--color-danger:#f08a7a;--color-danger-weak:#3a1f1b;--color-bg:#101613;--color-surface:#18201c;--color-text:#e7efe9;--color-text-muted:#9baba2;--color-border:#2c3833;--shadow-floating:0 6px 24px #0000008c}:root{--book-count-size:2.5rem;--book-card-radius:12px;--book-photo-radius:8px;--book-card-gap:12px;--book-card-name-size:.9375rem;--book-card-sci-size:.6875rem;--book-card-meta-size:.75rem;--book-card-sub-size:.6875rem;--book-card-text-h:6.5rem;--book-tile-width:116px;--book-tile-radius:12px;--book-tile-bar:4px;--book-chip-height:36px;--book-heart-hit:44px;--book-heart-dot:32px;--book-detail-photo-h:290px;--book-sheet-radius:16px;--book-anim-fast:.16s;--book-anim:.24s;--book-anim-slow:.3s;--book-new:var(--color-primary);--book-on-overlay:#fff;--book-overlay:#1e2a2299;--book-backdrop:#1e2a2266;--book-bar-track:#1e2a221f;--book-badge-bg:#ffffffe6;--book-badge-text:#1e2a22;--book-heart:#c8443e;--book-heart-weak:#fbeae9;--book-heart-text:#a3322d;--book-milestone:#e07a2f;--book-milestone-text:#b35a1c;--book-empty-photo:repeating-linear-gradient(45deg, #eef2ef 0 6px, #f7f9f7 6px 12px);--book-dex-empty-bg:#eef2ef;--book-dex-empty-border:#c9d2cc;--book-dex-local:#b35a1c;--book-dex-local-on:#fff;--book-all-bg:#fff;--book-all-fg:#2e7d5b;--book-ph-all:#e3efe8;--book-g-aves-bg:#dce9f5;--book-g-aves-fg:#1f4e79;--book-g-aves-ph:#b9d1e8;--book-g-mammalia-bg:#eadfd3;--book-g-mammalia-fg:#5b3a1e;--book-g-mammalia-ph:#d6c3ae;--book-g-amphibia-bg:#d7efea;--book-g-amphibia-fg:#1d5e55;--book-g-amphibia-ph:#aedcd3;--book-g-reptilia-bg:#ede4d3;--book-g-reptilia-fg:#5e4a22;--book-g-reptilia-ph:#d9cbae;--book-g-fish-bg:#d9e8f2;--book-g-fish-fg:#1e4f6b;--book-g-fish-ph:#b3cfe0;--book-g-insecta-bg:#f6e7c8;--book-g-insecta-fg:#6e4600;--book-g-insecta-ph:#ead3a0;--book-g-arachnida-bg:#e7e1ee;--book-g-arachnida-fg:#4b3a66;--book-g-arachnida-ph:#cfc4dc;--book-g-mollusca-bg:#f3e0e0;--book-g-mollusca-fg:#6b2e2e;--book-g-mollusca-ph:#e8c9c9;--book-g-plantae-bg:#ddeed8;--book-g-plantae-fg:#2f5e2a;--book-g-plantae-ph:#bfdcb6;--book-g-fungi-bg:#eee4da;--book-g-fungi-fg:#5e4635;--book-g-fungi-ph:#dccbbb;--book-g-other-bg:#e6e8e4;--book-g-other-fg:#3e4a42;--book-g-other-ph:#cdd2cc}@media (width>=1120px){:root{--book-count-size:2.75rem;--book-card-gap:16px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--book-heart:#e0605a;--book-heart-weak:#3a1f1d;--book-heart-text:#f2a8a4;--book-milestone:#f0a465;--book-milestone-text:#f0a465;--book-empty-photo:repeating-linear-gradient(45deg, #202a25 0 6px, #18201c 6px 12px);--book-dex-empty-bg:#202a25;--book-dex-empty-border:#3d4c43;--book-dex-local:#f0a465;--book-dex-local-on:#101613;--book-all-bg:#18201c;--book-all-fg:#6cc39a;--book-ph-all:#1d3329;--book-badge-bg:#101613d9;--book-badge-text:#e7efe9;--book-bar-track:#e7efe929;--book-g-aves-bg:#1e2c38;--book-g-aves-fg:#88b4dd;--book-g-aves-ph:#30465a;--book-g-mammalia-bg:#382c1e;--book-g-mammalia-fg:#ceb497;--book-g-mammalia-ph:#5a4630;--book-g-amphibia-bg:#1e3833;--book-g-amphibia-fg:#92d3c6;--book-g-amphibia-ph:#305a51;--book-g-reptilia-bg:#382f1e;--book-g-reptilia-fg:#d3bc92;--book-g-reptilia-ph:#5a4b30;--book-g-fish-bg:#1e2e38;--book-g-fish-fg:#8dbad8;--book-g-fish-ph:#30495a;--book-g-insecta-bg:#38301e;--book-g-insecta-fg:#ddc188;--book-g-insecta-ph:#5a4c30;--book-g-arachnida-bg:#2a1f37;--book-g-arachnida-fg:#b098cd;--book-g-arachnida-ph:#433258;--book-g-mollusca-bg:#381e1e;--book-g-mollusca-fg:#d49191;--book-g-mollusca-ph:#5a3030;--book-g-plantae-bg:#24381e;--book-g-plantae-fg:#a2d194;--book-g-plantae-ph:#3a5a30;--book-g-fungi-bg:#382b1e;--book-g-fungi-fg:#cfb396;--book-g-fungi-ph:#5a4530;--book-g-other-bg:#2b2f28;--book-g-other-fg:#b3cd98;--book-g-other-ph:#454a3f}}:root[data-theme=dark]{--book-heart:#e0605a;--book-heart-weak:#3a1f1d;--book-heart-text:#f2a8a4;--book-milestone:#f0a465;--book-milestone-text:#f0a465;--book-empty-photo:repeating-linear-gradient(45deg, #202a25 0 6px, #18201c 6px 12px);--book-dex-empty-bg:#202a25;--book-dex-empty-border:#3d4c43;--book-dex-local:#f0a465;--book-dex-local-on:#101613;--book-all-bg:#18201c;--book-all-fg:#6cc39a;--book-ph-all:#1d3329;--book-badge-bg:#101613d9;--book-badge-text:#e7efe9;--book-bar-track:#e7efe929;--book-g-aves-bg:#1e2c38;--book-g-aves-fg:#88b4dd;--book-g-aves-ph:#30465a;--book-g-mammalia-bg:#382c1e;--book-g-mammalia-fg:#ceb497;--book-g-mammalia-ph:#5a4630;--book-g-amphibia-bg:#1e3833;--book-g-amphibia-fg:#92d3c6;--book-g-amphibia-ph:#305a51;--book-g-reptilia-bg:#382f1e;--book-g-reptilia-fg:#d3bc92;--book-g-reptilia-ph:#5a4b30;--book-g-fish-bg:#1e2e38;--book-g-fish-fg:#8dbad8;--book-g-fish-ph:#30495a;--book-g-insecta-bg:#38301e;--book-g-insecta-fg:#ddc188;--book-g-insecta-ph:#5a4c30;--book-g-arachnida-bg:#2a1f37;--book-g-arachnida-fg:#b098cd;--book-g-arachnida-ph:#433258;--book-g-mollusca-bg:#381e1e;--book-g-mollusca-fg:#d49191;--book-g-mollusca-ph:#5a3030;--book-g-plantae-bg:#24381e;--book-g-plantae-fg:#a2d194;--book-g-plantae-ph:#3a5a30;--book-g-fungi-bg:#382b1e;--book-g-fungi-fg:#cfb396;--book-g-fungi-ph:#5a4530;--book-g-other-bg:#2b2f28;--book-g-other-fg:#b3cd98;--book-g-other-ph:#454a3f}:root{--text:var(--color-text);--text-muted:var(--color-text-muted);--bg:var(--color-bg);--surface:var(--color-surface);--border:var(--color-border);--accent:var(--color-primary);--error-bg:#fff1f0;--error-border:#ffa39e;--error-text:#a8071a;font:16px/1.5 var(--font-sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);scroll-behavior:smooth}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--error-bg:#2c0b0e;--error-border:#5c1a1a;--error-text:#ff7875}}:root[data-theme=dark]{--error-bg:#2c0b0e;--error-border:#5c1a1a;--error-text:#ff7875}:root[data-display=easy]{font-size:calc(var(--font-size-root) + var(--font-scale-easy));line-height:1.7}:root[data-display=easy] button,:root[data-display=easy] a{min-height:44px}button,a{touch-action:manipulation}a:where(:link,:visited){color:var(--accent)}button:active,a:active,[role=button]:active{opacity:.55}button{min-height:44px}input[type=checkbox]{appearance:none;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:4px;flex:none;width:18px;height:18px;min-height:18px;margin:0;position:relative}input[type=checkbox]:checked{border-color:var(--accent);background:var(--accent)}input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:28%;height:56%;position:absolute;top:8%;left:31%;transform:rotate(45deg)}input[type=checkbox]:disabled{border-color:var(--border);background:var(--color-bg);cursor:default;opacity:.6}input[type=checkbox]:disabled:checked{border-color:var(--text-muted);background:var(--text-muted)}*{box-sizing:border-box}body{margin:0}:root{font-size:var(--font-size-root)}#root{flex-direction:column;min-height:100svh;display:flex}h1{font-size:var(--font-size-h1);margin:0 0 8px}p{color:var(--text-muted);margin:0}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.admin-shell{flex-direction:column;flex:1;min-height:100svh;display:flex}.admin-shell__header{z-index:15;height:var(--header-height);background:var(--color-bg);border-bottom:1px solid var(--color-border);align-items:center;gap:8px;padding:0 8px;display:flex;position:sticky;top:0}.admin-shell__back{min-height:44px;color:var(--color-primary);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0 6px;font-size:14px;display:flex}.admin-shell__title{color:var(--color-text);font-family:var(--font-display);text-align:center;flex:1;margin:0;font-size:15px;font-weight:700}.admin-shell__spacer{flex:none;width:88px}.admin-shell__content{width:100%;max-width:var(--content-max-width);flex-direction:column;gap:16px;margin:0 auto;padding:16px;display:flex}@media (width>=768px){.admin-shell__content{max-width:min(var(--content-max-width), 70rem);padding:var(--page-padding-x);gap:var(--grid-gap)}}.source-note{color:var(--color-text-muted);text-align:center;margin:24px 0 8px;font-size:.75rem;line-height:1.5}.source-note-about{color:var(--color-text-muted);text-align:center;margin:0 0 8px;font-size:.75rem;line-height:1.5}.source-note-about a{color:inherit}.apply-page{background:var(--color-bg);min-height:100svh;color:var(--color-text);overflow-wrap:anywhere}.apply-page__header{min-height:var(--header-height,48px);padding:env(safe-area-inset-top) calc(12px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left));border-bottom:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;align-items:center;gap:8px;display:flex}.apply-page__brand{font-size:15px;font-weight:700}.apply-page__login-link{min-height:44px;color:var(--color-primary);align-items:center;padding:0 4px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.apply-page__main{flex-direction:column;gap:12px;max-width:480px;margin:0 auto;padding:14px 16px 28px;display:flex}.apply-page__title{margin:0;font-size:22px;font-weight:700}.apply-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:12px;padding:14px;display:flex}.apply-card h2{margin:0;font-size:16px}.apply-muted{color:var(--color-text-muted);margin:0;font-size:13px}.apply-small{color:var(--color-text-muted);margin:0;font-size:12px;line-height:1.5}.apply-notice{background:var(--color-primary-weak);border-radius:8px;margin:0;padding:8px 10px;font-size:13px}.apply-warn{border-left:3px solid var(--color-highlight);background:var(--color-highlight-weak);border-radius:0 8px 8px 0;margin:0;padding:8px 10px;font-size:13px}.apply-ext:after{content:" ↗";font-size:.85em}.apply-steps{grid-template-columns:repeat(4,1fr);gap:4px;margin:0;padding:0;list-style:none;display:grid}.apply-steps__item{text-align:center;color:var(--color-text-muted);flex-direction:column;align-items:center;gap:4px;font-size:11px;line-height:1.3;display:flex;position:relative}.apply-steps__item:before{content:"";background:var(--color-border);width:100%;height:2px;position:absolute;top:14px;left:-50%}.apply-steps__item:first-child:before{display:none}.apply-steps__mark{z-index:1;border:2px solid var(--color-border);background:var(--color-surface);width:28px;height:28px;color:var(--color-text-muted);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid;position:relative}.apply-steps__item--done .apply-steps__mark{border-color:var(--color-primary);background:var(--color-primary-weak);color:var(--color-primary)}.apply-steps__item--done:before,.apply-steps__item--now:before{background:var(--color-primary)}.apply-steps__item--now{color:var(--color-text);font-weight:700}.apply-steps__item--now .apply-steps__mark{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.apply-steps__here{color:var(--color-primary);font-size:10px;font-weight:700}.apply-steps__sub{color:var(--color-text-muted);font-size:10px;font-weight:400}.apply-steps__sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:root[data-display=easy] .apply-steps__item{font-size:14px}:root[data-display=easy] .apply-steps__here,:root[data-display=easy] .apply-steps__sub{font-size:12px}.apply-noid{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;padding:0 12px}.apply-noid summary{cursor:pointer;align-items:center;min-height:44px;font-size:14px;font-weight:600;display:flex}.apply-noid ol{margin:0 0 10px;padding-left:1.4em;font-size:14px}.apply-noid li{margin:6px 0}.apply-noid .apply-small{margin-bottom:10px}.apply-field{flex-direction:column;gap:4px;display:flex}.apply-field label{font-size:14px;font-weight:600}.apply-req{border:1px solid var(--color-danger);color:var(--color-danger);border-radius:4px;margin-left:4px;padding:0 4px;font-size:11px;font-weight:600}.apply-opt{color:var(--color-text-muted);margin-left:4px;font-size:11px;font-weight:400}.apply-field input,.apply-field textarea{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-text);font:inherit;border-radius:8px;padding:10px 12px;font-size:16px}.apply-field textarea{resize:vertical;min-height:88px}.apply-field input:focus,.apply-field textarea:focus{border-color:var(--color-primary)}.apply-field--bad input,.apply-field--bad textarea{border-color:var(--color-danger)}.apply-idrow{flex-wrap:wrap;gap:8px;display:flex}.apply-idrow input{flex:160px;width:auto}.apply-hint{color:var(--color-text-muted);font-size:12px}.apply-hint--right{text-align:right}.apply-err{color:var(--color-danger);margin:4px 0 0;font-size:12px}.apply-err--block{font-weight:400;display:block}.apply-check{align-items:flex-start;gap:10px;font-size:14px;display:flex}.apply-check input{width:22px;height:22px;min-height:22px;accent-color:var(--color-primary);flex:0 0 22px;margin:1px 0 0}.apply-person{border:1px solid var(--color-border);background:var(--color-bg);border-radius:8px;align-items:flex-start;gap:10px;padding:10px;display:flex}.apply-person--ok{border-color:var(--color-primary);background:var(--color-primary-weak)}.apply-person__icon{background:var(--color-border);width:40px;height:40px;color:var(--color-text-muted);object-fit:cover;border-radius:50%;flex:0 0 40px;place-items:center;font-weight:700;display:grid}.apply-person__name{font-weight:700}.apply-person__id{color:var(--color-text-muted);font-size:12px}.apply-person__count{margin-top:2px;font-size:13px}.apply-person__count b{color:var(--color-primary)}.apply-person__ok{color:var(--color-primary);white-space:nowrap;margin-left:auto;font-size:13px;font-weight:700}.apply-person__yes{white-space:nowrap;margin-left:auto}.apply-oauth{border:1px dashed var(--color-border);color:var(--color-text-muted);border-radius:8px;padding:6px 10px;font-size:12px}.apply-link-button{min-height:auto;color:var(--color-primary);font:inherit;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.apply-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.apply-btn{background:var(--color-primary);color:#fff;min-height:48px;font:inherit;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;padding:10px 16px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.apply-btn:disabled{opacity:.45;cursor:default}.apply-btn--sec{border:1px solid var(--color-primary);background:var(--color-surface);min-height:44px;color:var(--color-primary);font-size:14px;font-weight:600}.apply-btn--sm{min-height:40px;padding:6px 12px;font-size:14px}.apply-btn--submit{width:100%}.apply-result{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:8px 0;display:flex}.apply-result h2{margin:0;font-size:18px}.apply-result p{text-align:left;margin:0;font-size:14px}.apply-result__icon{background:var(--color-primary-weak);width:56px;height:56px;color:var(--color-primary);border-radius:50%;place-items:center;font-size:28px;display:grid}.apply-result__icon--warn{background:var(--color-highlight-weak);color:var(--color-highlight)}.apply-result__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 16px;font-size:14px;display:flex}.apply-result__actions a:not(.apply-btn){align-items:center;min-height:44px;display:inline-flex}:root[data-display=easy] .apply-page__main{font-size:calc(var(--font-size-body) + 3px)}.apply-spam-note{border-left:3px solid var(--color-highlight);background:var(--color-highlight-weak);overflow-wrap:anywhere;border-radius:6px;padding:8px 10px;font-size:13px;line-height:1.6}.guide{overflow-wrap:anywhere;flex-direction:column;gap:14px;display:flex}.guide p{margin:0}.guide ol,.guide ul{margin:0;padding-left:1.4em}.guide li{margin:4px 0}.guide h2{border-top:1px solid var(--color-border);scroll-margin-top:calc(var(--header-height,48px) + 8px);margin:28px 0 0;padding-top:14px;font-size:17px}.guide h3{margin:14px 0 0;font-size:15px}.guide__num{background:var(--color-primary-weak);min-width:26px;height:26px;color:var(--color-primary);vertical-align:2px;border-radius:8px;place-items:center;margin-right:8px;font-size:13px;display:inline-grid}.guide__version{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--font-size-small);border-radius:8px;padding:8px 10px}.guide__first-box{border:1px solid var(--color-primary);background:var(--color-primary-weak);border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.guide__first-box b{color:var(--color-primary-strong)}.guide__first-box a{font-weight:600}.guide__toc{flex-wrap:wrap;gap:6px;display:flex}.guide__toc a{border:1px solid var(--color-border);background:var(--color-surface);max-width:100%;color:var(--color-text);border-radius:999px;padding:4px 10px;font-size:12px;text-decoration:none}.guide__table{border-collapse:collapse;width:100%;font-size:14px}.guide__table th,.guide__table td{border-top:1px solid var(--color-border);text-align:left;vertical-align:top;padding:6px}.guide__table th{color:var(--color-text-muted);font-weight:600}.guide__table tr:first-child th,.guide__table tr:first-child td{border-top:0}.guide code{border:1px solid var(--color-border);background:var(--color-surface);overflow-wrap:anywhere;border-radius:4px;padding:0 4px;font-size:.92em}.guide__up{color:var(--color-text-muted);align-self:flex-end;font-size:12px;text-decoration:none}.guide__ext:after{content:" ↗";font-size:.85em}.guide__steps{counter-reset:guide-step;flex-direction:column;gap:8px;list-style:none;display:flex;padding:0!important}.guide__steps li{border:1px solid var(--color-border);background:var(--color-surface);counter-increment:guide-step;border-radius:12px;gap:10px;margin:0;padding:10px 12px;display:flex}.guide__steps li:before{content:counter(guide-step);background:var(--color-primary);color:#fff;border-radius:50%;flex:0 0 26px;place-items:center;height:26px;font-size:14px;font-weight:700;display:grid}.guide__steps li>div{flex:1;min-width:0}.guide__steps small{color:var(--color-text-muted);margin-top:2px;font-size:12px;display:block}.guide__figure{flex-direction:column;gap:8px;margin:0;display:flex}.guide__shot{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;max-width:375px;overflow:hidden}.guide__shot img{width:100%;height:auto;display:block}.guide__shot-placeholder{min-height:120px;color:var(--color-text-muted);place-items:center;padding:12px;font-size:13px;display:grid}.guide__callouts{flex-direction:column;gap:6px;font-size:14px;list-style:none;display:flex;padding:0!important}.guide__callouts li{gap:8px;margin:0;display:flex}.guide__callout-num{background:var(--color-highlight);color:#fff;border-radius:50%;flex:0 0 22px;place-items:center;height:22px;font-size:12px;font-weight:700;display:grid}.guide__note{color:var(--color-text-muted);font-size:var(--font-size-small)}.guide__fig-row{flex-wrap:wrap;gap:12px;display:flex}.guide__icon-fig{border:1px solid var(--color-border);background:var(--color-surface);min-height:96px;color:var(--color-text);border-radius:10px;flex-direction:column;flex:140px;justify-content:center;align-items:center;gap:6px;margin:0;padding:10px;display:flex}.guide__icon-fig figcaption{color:var(--color-text-muted);font-size:var(--font-size-small)}.guide__app-icon{border-radius:13px}.guide__tabfig{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;display:flex;overflow:hidden}.guide__tabfig span{color:var(--color-text-muted);flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0;font-size:11px;display:flex}.guide__share-fig{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;display:grid}.guide__share-step{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;padding:10px 12px;font-size:13px}.guide__share-step b{background:var(--color-primary);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;margin-right:6px;display:inline-grid}.guide__share-apps{gap:6px;margin-top:6px;display:flex}.guide__share-apps span{border:1px solid var(--color-border);border-radius:6px;place-items:center;width:28px;height:28px;font-weight:700;display:grid}.guide__contact{font-size:18px;font-weight:700}@media (prefers-reduced-motion:reduce){.guide{scroll-behavior:auto}}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.tab-bar,.app-shell__header,.more-page__back,.stats-caveats__header,.guide__toc,.guide__up,.app-shell__to-top,.app-update-banner,.pull-refresh{display:none!important}.guide{font-size:10.5pt;line-height:1.6}.guide h2,.guide h3{break-after:avoid}.guide__figure,.guide__steps li,.guide__table tr{break-inside:avoid}.guide__shot{max-width:90mm}.guide a[href^=http]:after{content:" (" attr(href) ")";font-size:.85em}}@page{size:A4;margin:15mm}.stats-caveats{overflow-wrap:anywhere;max-width:640px;margin:0 auto;padding:16px}.stats-caveats__body{overflow-wrap:anywhere;flex-direction:column;gap:16px;display:flex}.stats-caveats__usage-note{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin-top:24px;padding:12px 14px}.stats-caveats__usage-note h2{margin:0 0 4px;font-size:15px}.stats-caveats__header{justify-content:flex-end;margin-bottom:8px;display:flex}.stats-caveats__login-link{align-items:center;min-height:44px;padding:8px 16px;font-size:14px;font-weight:600;display:flex}.stats-caveats h1{margin:8px 0 16px;font-size:22px}.stats-caveats h2{margin:24px 0 4px;font-size:16px}.stats-caveats p{color:var(--text)}.stats-caveats a{color:var(--accent)}.stats-caveats__toc{flex-wrap:wrap;gap:6px;margin:16px 0;display:flex}.stats-caveats__toc-chip{border:1px solid var(--border);background:var(--surface);max-width:100%;color:var(--text);border-radius:999px;padding:4px 10px;font-size:12px;text-decoration:none}.stats-caveats__toc-chip:hover{background:var(--bg)}.stats-caveats__accordion{flex-direction:column;gap:8px;display:flex}.stats-caveats__item{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:8px 12px}.stats-caveats__item summary{cursor:pointer;padding:4px 0;font-weight:600}.stats-caveats__item[open] summary{margin-bottom:4px}.stats-caveats__summary{background:var(--brand-summary-bg,#eef6e3);border-radius:6px;padding:8px 10px;font-size:14px}.stats-caveats__summary span{color:var(--brand-summary-label,#3d6b0c);font-weight:600}.stats-caveats__glossary{margin-top:32px}.stats-caveats__glossary dl{margin:0}.stats-caveats__glossary-entry{border-bottom:1px solid var(--border);padding:10px 0}.stats-caveats__glossary-entry:last-child{border-bottom:none}.stats-caveats__glossary-entry dt{margin-bottom:2px;font-weight:600}.stats-caveats__glossary-entry dd{color:var(--text-muted);margin:0;font-size:14px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .stats-caveats__summary{--brand-summary-bg:#1f2718;--brand-summary-label:#a8d55b}}:root[data-theme=dark] .stats-caveats__summary{--brand-summary-bg:#1f2718;--brand-summary-label:#a8d55b}@media (width>=768px){.stats-caveats__body>p,.stats-caveats__usage-note,.stats-caveats__accordion,.stats-caveats__glossary{max-width:var(--prose-max)}}.stats-caveats [data-revealed=true],.stats-caveats__body [data-revealed=true]{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.stats-caveats__footer-links{flex-wrap:wrap;gap:4px 8px;margin:16px 0 0;display:flex}.tenant-switcher{align-items:center;gap:8px;min-width:0;display:flex;position:relative}.tenant-switcher__names{flex-direction:column;align-items:flex-start;min-width:0;line-height:1.2;display:flex}.tenant-switcher__app{min-height:0;color:var(--color-text-muted,var(--color-text));font-family:var(--font-display);text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;max-width:100%;padding:0;font-size:11px;font-weight:400;overflow:hidden}button.tenant-switcher__app{cursor:pointer}.tenant-switcher__tenant{max-width:100%;min-height:0;color:var(--color-text);font-family:var(--font-display);text-align:left;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:15px;font-weight:700;display:inline-flex}.tenant-switcher__tenant--button{cursor:pointer;max-width:100%;padding:0;font-size:15px;position:relative}.tenant-switcher__tenant--button:after{content:"";position:absolute;inset:-13px -6px}.tenant-switcher__prefix{color:var(--color-text-muted,var(--color-text));flex:none;font-weight:400}.tenant-switcher__tenant-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tenant-switcher__caret{color:var(--color-text-muted,var(--color-text));flex:none;font-size:12px}.tenant-switcher__icon{border-radius:8px;flex:none;width:26px;height:26px}.tenant-switcher__menu{z-index:40;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;min-width:220px;max-width:min(320px,100vw - 24px);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 6px 20px #0000002e}.tenant-switcher__item{width:100%;min-height:44px;color:var(--color-text);font-size:var(--font-size-body,15px);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.tenant-switcher__item:hover:not(:disabled),.tenant-switcher__item:focus-visible{background:color-mix(in srgb, var(--color-text) 8%, transparent)}.tenant-switcher__item:disabled{color:var(--color-text-muted,var(--color-text));cursor:not-allowed;opacity:.7}.tenant-switcher__check{flex:none;width:1em;font-weight:700}.tenant-switcher__item-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.tenant-switcher__mark{border:1px solid var(--color-border);border-radius:999px;flex:none;padding:1px 6px;font-size:11px}.tenant-switcher--nav{padding:8px 8px 16px}.tenant-switcher--nav .tenant-switcher__tenant{align-items:flex-start;min-width:0}.tenant-switcher--nav .tenant-switcher__tenant-name{-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-width:0;display:-webkit-box}.tab-bar__brand .tenant-switcher--nav{padding:0}@media (width>=768px) and (width<=1119.98px){.tenant-switcher--nav{flex-direction:column;gap:4px}.tenant-switcher--nav .tenant-switcher__icon{width:32px;height:32px}.tenant-switcher--nav .tenant-switcher__names{text-align:center;align-items:center;max-width:76px}.tenant-switcher--nav .tenant-switcher__app{text-align:center;font-size:10px}.tenant-switcher--nav .tenant-switcher__tenant{font-size:12px}.tenant-switcher--nav .tenant-switcher__tenant--button{border-radius:10px;flex-direction:column;gap:0;padding:2px 6px}}.app-shell{flex-direction:column;flex:1;min-height:100svh;display:flex}.app-shell__header{z-index:15;height:calc(var(--header-height) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-right:calc(12px + env(safe-area-inset-right));padding-bottom:0;padding-left:calc(12px + env(safe-area-inset-left));background:color-mix(in srgb, var(--color-surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:8px;display:flex;position:sticky;top:0}.app-shell__brand{min-width:0;min-height:0;color:var(--color-text);flex:0 auto;padding:2px 0}.app-shell__pages{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;display:flex;overflow:auto hidden}.app-shell__pages::-webkit-scrollbar{display:none}.app-shell__pages[data-swipe=off],.app-shell__pages[data-axis-lock=y]{overflow-x:hidden}.app-shell__page{scroll-snap-align:start;scroll-snap-stop:always;overscroll-behavior-y:contain;content-visibility:auto;contain-intrinsic-size:auto 100svh;flex:0 0 100%;overflow-y:auto}.app-shell__page-inner{width:100%;max-width:var(--content-max-width);padding:var(--page-padding-x) calc(var(--page-padding-x) + env(safe-area-inset-right)) var(--page-padding-x) calc(var(--page-padding-x) + env(safe-area-inset-left));padding-bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + 16px);flex-direction:column;gap:16px;margin:0 auto;display:flex}[data-hscroll]{overscroll-behavior-x:contain;touch-action:pan-x pan-y}.recharts-wrapper{touch-action:pan-y}body.is-keyboard-open .tab-bar{display:none}body.is-keyboard-open .app-shell__page-inner{padding-bottom:calc(var(--keyboard-inset,0px) + 16px)}.pull-refresh{z-index:14;top:calc(var(--header-height) + env(safe-area-inset-top) + 8px);background:var(--color-surface);border:1px solid var(--color-border);width:36px;height:36px;box-shadow:var(--shadow-floating);color:var(--color-text-muted);pointer-events:none;opacity:0;transform:translate(-50%, var(--pull-offset,0px));border-radius:50%;justify-content:center;align-items:center;font-size:20px;line-height:1;transition:opacity .12s;display:flex;position:fixed;left:50%}.pull-refresh[data-visible=true]{opacity:calc(.4 + .6 * var(--pull-progress,1))}.pull-refresh[data-ready=true]{color:var(--color-primary);border-color:var(--color-primary)}.pull-refresh__icon{transform:rotate(calc(var(--pull-progress,0) * 270deg));display:block}@media (prefers-reduced-motion:reduce){.pull-refresh{transition:none;transform:translate(-50%)}.pull-refresh__icon{transform:none}}@media (width>=768px){.pull-refresh{display:none}}.app-shell__header-data-as-of{display:none}.app-shell__page-data-as-of{justify-content:space-between;align-items:center;gap:8px;display:flex}.app-shell__page-data-as-of .data-as-of-label{justify-content:flex-start}.app-shell__page-data-as-of .data-as-of-label .help-hint__text{left:0;right:auto}.app-shell__header-view-link{margin-left:auto;display:inline-block}.app-shell__header>.app-shell__header-view-link+.account-menu{margin-left:0}@media (width>=768px){.app-shell{grid-template-columns:var(--nav-width) minmax(0, 1fr);grid-template-rows:var(--header-height) minmax(0, 1fr);flex:none;height:100svh;min-height:0;display:grid}.app-shell__header{height:var(--header-height);grid-area:1/2;padding-top:0;position:static}.app-shell__brand{display:none}.app-shell__header-data-as-of{display:block}.app-shell__header{justify-content:flex-start}.app-shell__header-view-link{margin-left:auto;display:inline-block}.app-shell__header>.account-menu{margin-left:auto}.app-shell__header>.app-shell__header-view-link+.account-menu{margin-left:0}.app-shell__page-data-as-of{display:none}.app-shell__pages{scroll-snap-type:none;grid-area:2/2;min-height:0;overflow-x:hidden}.app-shell__page-inner{padding-bottom:var(--grid-gap)}.app-shell__page-inner,.app-shell__page-inner>.screen1-page__content,.app-shell__page-inner>.your-data-page__content{gap:var(--grid-gap);grid-template-columns:repeat(12,minmax(0,1fr));align-content:start;align-items:start;display:grid}.app-shell__page-inner>*,.app-shell__page-inner>.screen1-page__content>*,.app-shell__page-inner>.your-data-page__content>*{grid-column:1/-1;min-width:0}}@media (width>=960px){.app-shell__page-inner>[data-span="3"],.app-shell__page-inner>.screen1-page__content>[data-span="3"],.app-shell__page-inner>.your-data-page__content>[data-span="3"]{grid-column:span 3}.app-shell__page-inner>[data-span="4"],.app-shell__page-inner>.screen1-page__content>[data-span="4"],.app-shell__page-inner>.your-data-page__content>[data-span="4"]{grid-column:span 4}.app-shell__page-inner>[data-span="5"],.app-shell__page-inner>.screen1-page__content>[data-span="5"],.app-shell__page-inner>.your-data-page__content>[data-span="5"]{grid-column:span 5}.app-shell__page-inner>[data-span="6"],.app-shell__page-inner>.screen1-page__content>[data-span="6"],.app-shell__page-inner>.your-data-page__content>[data-span="6"]{grid-column:span 6}.app-shell__page-inner>[data-span="7"],.app-shell__page-inner>.screen1-page__content>[data-span="7"],.app-shell__page-inner>.your-data-page__content>[data-span="7"]{grid-column:span 7}.app-shell__page-inner>[data-span="8"],.app-shell__page-inner>.screen1-page__content>[data-span="8"],.app-shell__page-inner>.your-data-page__content>[data-span="8"]{grid-column:span 8}.app-shell__page-inner>[data-order="1"],.app-shell__page-inner>.screen1-page__content>[data-order="1"],.app-shell__page-inner>.your-data-page__content>[data-order="1"]{order:1}.app-shell__page-inner>[data-order="2"],.app-shell__page-inner>.screen1-page__content>[data-order="2"],.app-shell__page-inner>.your-data-page__content>[data-order="2"]{order:2}.app-shell__page-inner>[data-order="3"],.app-shell__page-inner>.screen1-page__content>[data-order="3"],.app-shell__page-inner>.your-data-page__content>[data-order="3"]{order:3}.app-shell__page-inner>[data-order="4"],.app-shell__page-inner>.screen1-page__content>[data-order="4"],.app-shell__page-inner>.your-data-page__content>[data-order="4"]{order:4}.app-shell__page-inner>[data-order="5"],.app-shell__page-inner>.screen1-page__content>[data-order="5"],.app-shell__page-inner>.your-data-page__content>[data-order="5"]{order:5}.app-shell__page-inner>[data-order="6"],.app-shell__page-inner>.screen1-page__content>[data-order="6"],.app-shell__page-inner>.your-data-page__content>[data-order="6"]{order:6}.app-shell__page-inner>[data-order="7"],.app-shell__page-inner>.screen1-page__content>[data-order="7"],.app-shell__page-inner>.your-data-page__content>[data-order="7"]{order:7}.app-shell__page-inner>[data-order="8"],.app-shell__page-inner>.screen1-page__content>[data-order="8"],.app-shell__page-inner>.your-data-page__content>[data-order="8"]{order:8}.app-shell__page-inner>.screen1-page__content[data-layout=all]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"progress progress""compare compare""trend trend""yearly taxa""species ranking""note note";align-items:start}.app-shell__page-inner>.your-data-page__content[data-layout=you]{grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"hero hero""week week""trend recent""trend frequent""encounters frequent""ident ident";align-items:stretch}.app-shell__page-inner>[data-layout]>[data-area=progress]{grid-area:progress}.app-shell__page-inner>[data-layout]>[data-area=ranking]{grid-area:ranking}.app-shell__page-inner>[data-layout]>[data-area=species]{grid-area:species}.app-shell__page-inner>[data-layout]>[data-area=compare]{grid-area:compare}.app-shell__page-inner>[data-layout]>[data-area=taxa]{grid-area:taxa}.app-shell__page-inner>[data-layout]>[data-area=trend]{grid-area:trend}.app-shell__page-inner>[data-layout]>[data-area=yearly]{grid-area:yearly}.app-shell__page-inner>[data-layout]>[data-area=note]{grid-area:note}.app-shell__page-inner>[data-layout]>[data-area=hero]{grid-area:hero}.app-shell__page-inner>[data-layout]>[data-area=week]{grid-area:week}.app-shell__page-inner>[data-layout]>[data-area=recent]{grid-area:recent}.app-shell__page-inner>[data-layout]>[data-area=encounters]{grid-area:encounters}.app-shell__page-inner>[data-layout]>[data-area=frequent]{grid-area:frequent}.app-shell__page-inner>[data-layout]>[data-area=ident]{grid-area:ident}.app-shell__page-inner>.screen1-page__content[data-layout=home]{align-items:start}}@media (height<=520px){.app-shell__page-inner{gap:var(--grid-gap);padding-top:12px}}.app-shell__to-top{right:calc(16px + env(safe-area-inset-right));bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + 16px);z-index:18;border:1px solid var(--border);background:var(--surface);width:48px;min-width:48px;height:48px;min-height:48px;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:22px;font-weight:700;line-height:1;display:inline-flex;position:fixed;box-shadow:0 2px 8px #0000002e}@media (width>=768px){.app-shell__to-top{bottom:calc(24px + env(safe-area-inset-bottom))}}.app-update-banner{top:calc(var(--header-height) + env(safe-area-inset-top) + 8px);z-index:25;background:var(--color-text);width:max-content;max-width:calc(100vw - 32px);color:var(--color-bg);border-radius:12px;align-items:center;gap:12px;padding:6px 8px 6px 14px;font-size:14px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #00000040}.app-update-banner__button{background:var(--color-primary-weak);min-height:44px;color:var(--color-primary-strong);font:inherit;cursor:pointer;border:0;border-radius:8px;padding:0 14px;font-weight:700}@media (width<=767px){.app-shell__page{min-height:calc(100svh - var(--header-height,48px))}}.observer-icon{border-radius:50%;flex-shrink:0}.observer-icon--fallback{background:var(--border);color:var(--text-muted);justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.account-menu{flex:none;position:relative}.account-menu__avatar{border:1px solid var(--color-border);background:var(--color-primary-weak);width:32px;height:32px;min-height:32px;color:var(--color-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;font-weight:700;display:flex}.account-menu__avatar-icon{object-fit:cover}.account-menu__avatar-icon.observer-icon--fallback{background:var(--color-primary-weak);color:var(--color-primary);font-size:14px}.account-menu__backdrop{z-index:25;cursor:default;background:0 0;border:0;min-height:0;position:fixed;inset:0}.account-menu__panel{z-index:26;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-width:200px;box-shadow:var(--shadow-floating);flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.account-menu__who{border-bottom:1px solid var(--color-border);color:var(--color-text);overflow-wrap:anywhere;margin:0;padding:8px 10px 10px;font-size:14px;font-weight:600}.account-menu__login{color:var(--color-text-muted);font-size:var(--font-size-small);font-weight:400;display:block}.account-menu__panel button,.account-menu__link{min-height:44px;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;padding:0 10px;font-size:14px;text-decoration:none;display:flex}.account-menu__link:where(:link,:visited){color:var(--color-text)}.account-menu__logout{border-top:1px solid var(--color-border);border-radius:0 0 8px 8px;margin-top:4px}.bootstrap-skeleton__tiles{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.bootstrap-skeleton__tile{background:var(--surface);border:1px solid var(--border);border-radius:8px;height:88px;animation:1.4s ease-in-out infinite bootstrap-skeleton-pulse}@media (prefers-reduced-motion:reduce){.bootstrap-skeleton__tile{animation:none}}@keyframes bootstrap-skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.data-as-of-label{color:var(--text-muted);justify-content:center;align-items:center;gap:2px;margin:0;font-size:11px;display:flex;position:relative}.data-as-of-label .help-hint__text{z-index:22;border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:6px;width:max-content;max-width:min(260px,100vw - 32px);margin:0;padding:8px 10px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 16px #0000002e}.help-hint__toggle{width:18px;min-width:18px;height:18px;min-height:18px;color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin:0;padding:0;font-size:12px;font-weight:700;line-height:1;display:inline-flex;position:relative}.help-hint__toggle:before{content:"";border:1px solid var(--border);border-radius:999px;width:18px;height:18px;position:absolute}.help-hint__toggle:after{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.help-hint__toggle:hover{color:var(--text)}.help-hint__text{color:var(--text-muted);flex-basis:100%;margin:4px 0 0;font-size:12px;font-weight:400;line-height:1.6;display:block}.help-hint__text--lines{background:var(--color-primary-weak);color:var(--color-text);border-radius:8px;margin:8px 0 4px;padding:8px 10px;font-size:13px;line-height:1.55}.help-hint__line{display:block}.help-hint__line b{font-weight:700}.help-hint__more{min-height:44px;color:var(--accent);align-items:center;margin-top:2px;font-size:13px;font-weight:700;text-decoration:underline;display:inline-flex}.help-hint__text:not(.help-hint__text--lines) .help-hint__more{display:flex}.tab-bar{z-index:20;height:calc(var(--tabbar-height) + env(safe-area-inset-bottom));padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);background:color-mix(in srgb, var(--color-surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--color-border);display:flex;position:fixed;bottom:0;left:0;right:0}.tab-bar__inner{flex:1;width:100%;display:flex}.tab-bar__brand{display:none}.tab-bar__tab{min-height:48px;color:var(--color-text-muted);font-size:var(--font-size-tab);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:0;font-weight:500;display:flex;position:relative}.tab-bar__tab[aria-current=page]{color:var(--color-primary);font-weight:600}.tab-bar__pill{border-radius:var(--radius-chip);background:var(--color-primary-weak);opacity:0;width:32px;height:20px;transition:opacity .15s;position:absolute;top:6px}.tab-bar__tab[aria-current=page] .tab-bar__pill{opacity:1}@media (prefers-reduced-motion:reduce){.tab-bar__pill{transition:none}}.tab-bar__icon{position:relative}.tab-bar__label{white-space:nowrap;position:relative}@media (width>=768px){.tab-bar{height:auto;padding:8px 0 calc(8px + env(safe-area-inset-bottom));padding-left:env(safe-area-inset-left);background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none;border-top:0;border-right:1px solid var(--color-border);z-index:5;flex-direction:column;grid-area:1/1/span 2;position:static}.tab-bar__inner{flex-direction:column;flex:1;gap:4px}.tab-bar__brand{color:var(--color-text);font-family:var(--font-display);font-size:var(--font-size-small);text-align:center;flex-direction:column;align-items:center;gap:4px;padding:8px 6px 12px;font-weight:700;line-height:1.25;display:flex}.tab-bar__brand-icon{border-radius:8px;width:32px;height:32px}.tab-bar__tab{border-radius:10px;flex:none;min-height:56px;padding:6px 4px}.tab-bar__pill{width:48px;height:32px;top:6px}}@media (width>=1120px){.tab-bar{padding:12px 8px calc(12px + env(safe-area-inset-bottom))}.tab-bar__brand{font-size:var(--font-size-nav);text-align:left;flex-direction:row;gap:8px;padding:8px 8px 16px}.tab-bar__brand-icon{width:26px;height:26px}.tab-bar__tab{min-height:48px;font-size:var(--font-size-nav);flex-direction:row;justify-content:flex-start;gap:10px;padding:6px 10px}.tab-bar__pill{border-radius:10px;width:100%;height:100%;top:0;left:0}}@media (width>=768px) and (height<=520px){.tab-bar__brand-name{display:none}.tab-bar__tab{min-height:44px}.tab-bar__label{display:none}}@media (width<=767px) and (height<=520px){.tab-bar__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tab-bar__pill{top:4px}}.tab-bar__sub{display:none}@media (width>=768px){.tab-bar__sub{min-height:44px;color:var(--color-text-muted);font-size:var(--font-size-tab);text-align:center;border-radius:10px;justify-content:center;align-items:center;padding:4px;font-weight:500;line-height:1.25;text-decoration:none;display:flex}.tab-bar__sub[aria-current=page]{color:var(--color-primary);font-weight:700}.tab-bar__sub:hover{background:var(--color-primary-weak)}}@media (width>=1120px){.tab-bar__sub{font-size:var(--font-size-nav);justify-content:flex-start;padding:4px 10px 4px 36px}}@media (width>=768px) and (height<=520px){.tab-bar__sub{display:none}}.domain-move-notice{color:#4a3500;overflow-wrap:anywhere;background:#fff4d6;border-bottom:1px solid #e8c766;margin:0;padding:10px 16px;font-size:.95rem;line-height:1.5}.domain-move-notice p{margin:0}.domain-move-notice__reinstall{margin-top:4px}.domain-move-notice__reinstall a{color:inherit;margin-left:.5em;font-weight:600}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .domain-move-notice{color:#ffe7a3;background:#3a2c00;border-bottom-color:#6b5410}}:root[data-theme=dark] .domain-move-notice{color:#ffe7a3;background:#3a2c00;border-bottom-color:#6b5410}@media (width>=768px){#root:has(>.domain-move-notice+.app-shell){height:100svh}.domain-move-notice+.app-shell{flex:1 1 0;height:auto;min-height:0}}.domain-moved-notice{align-items:flex-start;gap:12px;display:flex}.domain-moved-notice .domain-move-notice__text{flex:auto}.domain-moved-notice .domain-move-notice__text a{color:inherit;font-weight:600}.domain-moved-notice__close{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:8px;flex:none;padding:0 14px}.view-switch-link{border:1px solid var(--accent);color:var(--accent);white-space:nowrap;border-radius:999px;flex:none;padding:6px 12px;font-size:13px;text-decoration:none;display:inline-block}.auth-page{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:16px;display:flex}.auth-page__session-expired{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:100%;max-width:360px;color:var(--error-text);border-radius:6px;margin:0 0 12px;padding:10px 12px;font-size:14px}.auth-form{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;width:100%;max-width:360px;padding:24px;display:flex}.auth-form label{margin-top:8px;font-size:14px;font-weight:600}.auth-form input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;padding:8px 10px}.auth-form button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-top:16px;padding:10px}.auth-form button:disabled{opacity:.6;cursor:not-allowed}.auth-form .auth-secondary{color:var(--accent);border:1px solid var(--border);background:0 0;margin-top:8px}.auth-error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);border-radius:4px;margin-top:8px;padding:8px 10px;font-size:14px}.authenticated-placeholder{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:16px;display:flex}.auth-form__apply-link{font-weight:600}.auth-form__sub-links{color:var(--text-muted);margin:0;font-size:13px}.auth-form__hint{color:var(--text-muted);margin:-4px 0 4px;font-size:12px;line-height:1.5}.auth-form__or{text-align:center;color:var(--text-muted);margin:4px 0 0;font-size:13px}.inat-login{flex-direction:column;gap:6px;display:flex}.auth-form .inat-login__button,.inat-login__button{width:100%;color:var(--accent);border:1px solid var(--accent);background:0 0}.inat-callback{margin:48px auto}.brand-header{text-align:center;margin-bottom:8px}.brand-header__product{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:700}.brand-header__tagline{color:var(--color-text-muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:13px}.more-page__title{font-family:var(--font-display);margin:0;font-size:20px}.more-page__back{align-items:center;gap:8px;display:flex}.more-page__back button{min-height:44px;color:var(--color-primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0 8px 0 0;font-size:14px;display:flex}.more-page__list{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.more-page__list li+li{border-top:1px solid var(--color-border)}.more-page__list button,.more-page__link{width:100%;min-height:52px;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0 14px;font-size:15px;text-decoration:none;display:flex}.more-page__link:where(:link,:visited){color:var(--color-text)}.more-page__list button>svg:last-child,.more-page__link>svg:last-child{color:var(--color-text-muted);margin-left:auto}.more-page__logout{color:var(--color-text-muted)}.more-page__about{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);flex-direction:column;gap:12px;padding:14px;display:flex}.more-page__about-name{color:var(--color-text);font-family:var(--font-display);margin:0;font-weight:700}.more-page__about-list{flex-direction:column;gap:10px;margin:0;font-size:14px;display:flex}.more-page__about-list dt{color:var(--color-text-muted);font-size:var(--font-size-small)}.more-page__about-list dd{overflow-wrap:anywhere;margin:2px 0 0}.more-page__about-note{font-size:var(--font-size-small);margin:0}@media (width>=768px){.more-page__list{max-width:40rem}.more-page__about{max-width:var(--prose-max)}}.more-page__about-links{flex-wrap:wrap;gap:4px 16px;display:flex}.more-page__inat-link{margin-top:16px}.more-page__inat-link .inat-login__button{font:inherit;cursor:pointer;border-radius:4px;padding:10px}.more-page__about-tagline{color:var(--color-text-muted);margin:4px 0 0;font-size:13px}.book-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.book-entry{box-sizing:border-box;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--book-card-radius);color:var(--color-text);font-variant-numeric:tabular-nums;padding:14px 16px;text-decoration:none;display:block}.book-entry--link:hover{border-color:var(--color-primary)}.book-entry__head{align-items:center;gap:8px;display:flex}.book-entry__glyph{color:var(--color-primary);flex:none}.book-entry__title{font-family:var(--font-display);flex:1;margin:0;font-size:1rem;font-weight:700}.book-entry__chevron{color:var(--color-text-muted);flex:none}.book-entry__sample{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:8px;padding:0 6px;font-size:.625rem}.book-entry__count{align-items:baseline;gap:6px;margin-top:6px;display:flex}.book-entry__number{font-family:var(--font-display);color:var(--color-primary);font-size:2.125rem;font-weight:700;line-height:1}.book-entry__unit{font-size:.875rem;font-weight:700}.book-entry__added{color:var(--color-text-muted);font-size:var(--font-size-small)}.book-entry__band{border-radius:4px;gap:4px;height:8px;margin-top:10px;display:flex;overflow:hidden}.book-entry__band-part{background:var(--g-fg)}.book-entry__band-rest{background:var(--color-border);flex:1 1 0}.book-entry__legend{color:var(--color-text-muted);flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:.6875rem;display:flex}.book-entry__swatch{background:var(--g-fg);border-radius:2px;width:8px;height:8px;margin-right:3px;display:inline-block}.book-entry__photos-title{font-size:var(--font-size-small);margin-top:12px;font-weight:700}.book-entry__photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:6px;display:grid}.book-entry__photo{aspect-ratio:1;border-radius:var(--book-photo-radius);background:var(--g-ph);position:relative;overflow:hidden}.book-entry__photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.book-entry__photo-name{background:var(--book-overlay);color:var(--book-on-overlay);white-space:nowrap;text-overflow:ellipsis;padding:4px 6px;font-size:.6875rem;font-weight:700;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.book-sample__grid{opacity:.55;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.book-sample__cell{aspect-ratio:1;border-radius:var(--book-photo-radius);background:var(--g-ph);display:block}.book-sample__grid--empty{opacity:1;grid-template-columns:repeat(3,minmax(0,104px));justify-content:start;margin-top:12px}.book-sample__cell--empty{background:var(--book-empty-photo)}.book-entry__stage,.book-sample__stage{margin-top:10px;position:relative}.book-entry__overlay,.book-sample__overlay{background:color-mix(in srgb, var(--color-surface) 94%, transparent);border:1px solid var(--color-border);border-radius:var(--book-card-radius);text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:280px;height:fit-content;margin:auto;padding:12px 14px;display:flex;position:absolute;inset:0}.book-entry__lead,.book-sample__lead{margin:0;font-size:.875rem;font-weight:700;line-height:1.5}.book-entry__sub,.book-sample__sub{color:var(--color-text-muted);font-size:var(--font-size-small);margin:4px 0 0}.book-entry__button,.book-sample__button{box-sizing:border-box;border-radius:var(--book-card-radius);background:var(--color-primary);height:44px;color:var(--color-surface);justify-content:center;align-items:center;margin-top:12px;font-size:.875rem;font-weight:700;text-decoration:none;display:flex}.book-entry__hint,.book-sample__hint{color:var(--color-text-muted);text-align:center;margin:6px 0 0;font-size:.6875rem}.book-entry__preparing,.book-sample__preparing{align-items:center;gap:12px;margin-top:12px;display:flex}.book-entry__moon,.book-sample__moon{background:var(--color-primary-weak);width:44px;height:44px;color:var(--color-primary);border-radius:22px;flex:none;justify-content:center;align-items:center;display:flex}.book-sample{box-sizing:border-box;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--book-card-radius);padding:14px 16px 16px;position:relative}.book-sample__badge{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:8px;margin-top:8px;padding:0 6px;font-size:.625rem;display:inline-block}.book-app__header{padding-left:calc(2px + env(safe-area-inset-left));justify-content:flex-start;gap:2px}.book-app__back{width:44px;height:44px;color:var(--color-text);cursor:pointer;background:0 0;border:0;border-radius:22px;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.book-app__title{font-family:var(--font-display);align-items:center;gap:8px;margin:0;font-size:1.125rem;font-weight:700;display:flex}.book-app__actions{align-items:center;gap:8px;margin-left:auto;display:flex}.book-app__actions:empty{display:none}.book-app__glyph{color:var(--color-primary)}@media (width>=768px){.book-app__title{font-size:1rem}}.book-status{color:var(--color-text-muted);text-align:center;margin:24px 0}.book-status__retry,.book-empty__clear{border:1px solid var(--color-primary);background:var(--color-surface);height:44px;color:var(--color-primary);font:inherit;cursor:pointer;border-radius:22px;padding:0 16px;font-weight:700}.book-ready{font-variant-numeric:tabular-nums;min-width:0}.book-ready__list{flex-direction:column;min-width:0;display:flex}.book-count{flex-wrap:wrap;align-items:baseline;gap:2px 6px;display:flex}.book-count__number{font-family:var(--font-display);font-size:var(--book-count-size);color:var(--color-primary);font-weight:700;line-height:1}.book-count__unit{font-size:.9375rem;font-weight:700}.book-count__tail{color:var(--color-text-muted);font-size:.8125rem}.book-count__filtered{color:var(--color-primary);font-size:var(--font-size-small);margin-left:auto;font-weight:700}.book-count__note{color:var(--color-text-muted);font-size:var(--font-size-small);margin:4px 0 12px}.book-search{flex:1;margin-bottom:10px;display:block;position:relative}.book-search__icon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:13px;left:12px}.book-search__input{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--color-text-muted) 45%, var(--color-border));border-radius:var(--book-card-radius);background:var(--color-surface);width:100%;height:44px;color:var(--color-text);font:inherit;padding:0 12px 0 38px;font-size:.9375rem}.book-search__input::placeholder{color:var(--color-text-muted)}.book-tiles{margin:0 calc(-1 * var(--page-padding-x)) 10px;padding:2px var(--page-padding-x) 4px;scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.book-tiles::-webkit-scrollbar{display:none}.book-tile{flex:0 0 var(--book-tile-width);box-sizing:border-box;border-radius:var(--book-tile-radius);background:var(--g-bg);min-height:44px;color:var(--g-fg);font:inherit;text-align:left;cursor:pointer;border:2px solid #0000;flex-direction:column;padding:10px 12px;display:flex}.book-tile[aria-pressed=true]{border-color:var(--g-fg)}.book-tile__label{font-size:var(--font-size-small);font-weight:700}.book-tile__n{font-family:var(--font-display);font-size:1.375rem;font-weight:700;line-height:1.2}.book-tile__unit{font-size:.6875rem;font-weight:500}.book-tile__bar{height:var(--book-tile-bar);background:var(--book-bar-track);border-radius:2px;margin-top:6px;display:block;overflow:hidden}.book-tile__bar-fill{background:var(--g-fg);height:100%;display:block}.book-tile__sub{margin-top:4px;font-size:.625rem}.book-chips{scrollbar-width:none;align-items:center;gap:8px;margin-bottom:12px;display:flex;overflow-x:auto}.book-chip{height:var(--book-chip-height);border:1px solid color-mix(in srgb, var(--color-text-muted) 45%, var(--color-border));background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;border-radius:18px;flex:none;align-items:center;gap:4px;padding:0 12px;font-size:.8125rem;display:inline-flex;position:relative}.book-chip:after{content:"";position:absolute;inset:-4px 0}.book-chip[data-active=true]{border-color:var(--color-primary);color:var(--color-primary);font-weight:700}.book-empty{color:var(--color-text-muted);text-align:center;padding:40px 0}.book-grid{width:100%;position:relative}.book-grid__probe{visibility:hidden;pointer-events:none;width:0;position:absolute;top:0;left:0}.book-grid__probe--text{height:var(--book-card-text-h)}.book-grid__probe--gap{height:var(--book-card-gap)}.book-grid__row{display:grid;position:absolute;left:0;right:0}.book-card{box-sizing:border-box;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--book-card-radius);flex-direction:column;min-width:0;height:100%;display:flex;position:relative;overflow:hidden}.book-card__link{color:inherit;flex:none;text-decoration:none;display:block;position:relative}.book-photo{aspect-ratio:1;background:var(--g-ph);position:relative;overflow:hidden}.book-photo--empty{background:var(--book-empty-photo)}.book-photo__img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.book-photo__img--small{opacity:0;transition:opacity .15s ease-out}.book-photo__img--small[data-loaded=true]{opacity:1}.book-card__group{background:var(--book-badge-bg);color:var(--g-fg);border-radius:10px;padding:2px 8px;font-size:.6875rem;font-weight:700;position:absolute;top:8px;left:8px}.book-card__license{background:var(--book-overlay);color:var(--book-on-overlay);border-radius:4px;padding:1px 6px;font-size:.625rem;position:absolute;bottom:6px;right:6px}.book-card__nophoto{color:var(--color-text-muted);text-align:center;font-size:.6875rem;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.book-card__corner{width:var(--book-heart-hit);height:var(--book-heart-hit);position:absolute;top:4px;right:4px}.book-card__text{box-sizing:border-box;height:var(--book-card-text-h);flex:none;padding:10px 10px 12px;overflow:hidden}.book-card__name{font-size:var(--book-card-name-size);white-space:nowrap;text-overflow:ellipsis;font-weight:700;line-height:1.3;overflow:hidden}.book-card__sci{color:var(--color-text-muted);font-size:var(--book-card-sci-size);white-space:nowrap;text-overflow:ellipsis;font-style:italic;overflow:hidden}.book-card__meta{color:var(--color-text);font-size:var(--book-card-meta-size);white-space:nowrap;align-items:center;gap:6px;margin-top:8px;display:flex}.book-card__sub{color:var(--color-text-muted);font-size:var(--book-card-sub-size);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.book-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:24px;display:grid}.book-layout__aside{flex-direction:column;gap:16px;display:flex}.book-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--book-card-radius);padding:16px 20px}.book-panel__title{margin:0 0 10px;font-size:.8125rem;font-weight:700}.book-panel__title small{color:var(--color-text-muted);font-size:.6875rem;font-weight:500}.book-panel--count .book-count__note{margin:6px 0 0}.book-layout .book-tiles{flex-direction:column;margin:0;padding:0;overflow:visible}.book-layout .book-tile{border-radius:10px;flex:none;grid-template-columns:4.5em minmax(0,1fr) auto;grid-template-areas:"label bar n";align-items:center;gap:10px;height:44px;padding:0 10px;font-size:.8125rem;display:grid}.book-layout .book-tile__label{grid-area:label}.book-layout .book-tile__n{grid-area:n;font-size:.8125rem}.book-layout .book-tile__bar{grid-area:bar;height:6px;margin:0}.book-layout .book-tile__sub,.book-layout .book-tile__unit{display:none}.book-toolbar{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.book-toolbar .book-search{margin-bottom:0}.book-sort-select{color:var(--color-text-muted);align-items:center;gap:8px;font-size:.8125rem;display:flex}.book-sort-select select,.book-filter select{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--color-text-muted) 45%, var(--color-border));border-radius:var(--book-card-radius);background:var(--color-surface);height:44px;color:var(--color-text);font:inherit;padding:0 10px;font-size:.8125rem}.book-toolbar__count{color:var(--color-text-muted);white-space:nowrap;align-self:center;font-size:.8125rem}.book-filter{flex-direction:column;gap:8px;display:flex}.book-filter__field{flex-direction:column;gap:4px;display:flex}.book-filter__field>span{color:var(--color-text-muted);font-size:var(--font-size-small)}.book-filter__check{align-items:center;gap:8px;min-height:44px;font-size:.8125rem;display:flex}.book-filter__check input{width:20px;height:20px;accent-color:var(--color-primary)}.book-sheet{z-index:40;position:fixed;inset:0}.book-sheet__backdrop{background:var(--book-backdrop);position:absolute;inset:0}.book-sheet__panel{box-sizing:border-box;max-width:560px;max-height:85svh;padding:8px 16px calc(16px + env(safe-area-inset-bottom));background:var(--color-surface);border-radius:var(--book-sheet-radius) var(--book-sheet-radius) 0 0;color:var(--color-text);margin:0 auto;animation:.2s ease-out book-sheet-in;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}@keyframes book-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.book-sheet__head{justify-content:space-between;align-items:center;min-height:48px;display:flex}.book-sheet__title{margin:0;font-size:1rem}.book-sheet__close,.book-sheet__reset{min-height:44px;color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 8px;font-weight:700}.book-sheet__options{flex-direction:column;display:flex}.book-sheet__option{border:0;border-bottom:1px solid var(--color-border);min-height:48px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:center;padding:0 4px;display:flex}.book-sheet__option[aria-checked=true]{color:var(--color-primary);font-weight:700}.book-sheet__foot{justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.book-sheet__apply{background:var(--color-primary);height:44px;color:var(--color-surface);font:inherit;cursor:pointer;border:0;border-radius:22px;padding:0 20px;font-weight:700}.book-detail{top:0;right:0;bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom));z-index:16;background:var(--color-bg);color:var(--color-text);font-variant-numeric:tabular-nums;overscroll-behavior:contain;flex-direction:column;display:flex;position:fixed;left:0}@media (width>=768px){.book-detail{bottom:0;left:var(--nav-width)}}.book-detail__bar{box-sizing:border-box;height:calc(var(--header-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 8px 0 2px;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex:none;align-items:center;gap:2px;display:flex}.book-detail__back{width:44px;height:44px;color:var(--color-text);cursor:pointer;background:0 0;border:0;border-radius:22px;justify-content:center;align-items:center;padding:0;display:flex}.book-detail__bar-title{color:var(--color-text-muted);font-family:var(--font-display);flex:1;font-size:1rem;font-weight:700}.book-detail__body{flex:1;min-height:0;overflow-y:auto}.book-detail__hero{background:var(--g-ph);position:relative}.book-detail__photos{height:var(--book-detail-photo-h);scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow-x:auto}.book-detail__photos::-webkit-scrollbar{display:none}.book-detail__photo{scroll-snap-align:start;flex:0 0 100%;height:100%}.book-detail__photo img{object-fit:cover;width:100%;height:100%;display:block}.book-detail__photo--empty{background:var(--book-empty-photo)}.book-detail__group{background:var(--book-badge-bg);color:var(--g-fg);font-size:var(--font-size-small);border-radius:12px;padding:3px 10px;font-weight:700;position:absolute;top:12px;left:12px}.book-detail__license{background:var(--book-overlay);color:var(--book-on-overlay);border-radius:4px;padding:2px 8px;font-size:.6875rem;position:absolute;bottom:12px;right:12px}.book-detail__dots{justify-content:center;gap:4px;display:flex;position:absolute;bottom:36px;left:0;right:0}.book-detail__dots span{background:var(--book-on-overlay);opacity:.5;border-radius:3px;width:6px;height:6px}.book-detail__dots span[data-on=true]{opacity:1}.book-detail__main{padding:16px 16px 24px}.book-detail__name{font-family:var(--font-display);margin:0;font-size:1.5rem;font-weight:700;line-height:1.3}.book-detail__name:focus{outline:none}.book-detail__name:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.book-detail__sci{color:var(--color-text-muted);font-size:.875rem;font-style:italic}.book-detail__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 0;display:grid}.book-detail__stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--book-card-radius);min-width:0;padding:10px 12px}.book-detail__stat dt{color:var(--color-text-muted);font-size:.6875rem}.book-detail__stat dd{font-family:var(--font-display);margin:0;font-size:1.125rem;font-weight:700;line-height:1.3}.book-detail__stat dd.book-detail__stat-sub{color:var(--color-text-muted);font-family:var(--font-sans);font-size:.6875rem;font-weight:400}.book-detail__stat-count{color:var(--color-primary)}.book-detail__stat-count small{color:var(--color-text);font-size:.6875rem;font-weight:500}.book-detail__months{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--book-card-radius);margin-top:12px;padding:12px 14px}.book-detail__months-head{justify-content:space-between;align-items:baseline;display:flex}.book-detail__months-head h3{margin:0;font-size:.8125rem}.book-detail__months-head span{color:var(--color-text-muted);font-size:.6875rem}.book-detail__month-bars,.book-detail__month-labels{grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;display:grid}.book-detail__month-bars{align-items:end;height:48px;margin-top:10px}.book-detail__month-bar{background:var(--color-primary);border-radius:2px 2px 0 0;min-height:2px}.book-detail__month-bar[data-empty=true]{opacity:.25}.book-detail__month-bar[data-now=true]{background:var(--color-highlight)}.book-detail__month-labels{color:var(--color-text-muted);text-align:center;margin-top:4px;font-size:.5625rem}.book-detail__month-labels span[data-now=true]{color:var(--book-milestone-text);font-weight:700}.book-detail__note{color:var(--color-text-muted);margin:8px 0 0;font-size:.6875rem}.book-detail__links{margin-top:12px}.book-detail__primary{border-radius:var(--book-card-radius);background:var(--color-primary);height:48px;color:var(--color-surface);justify-content:center;align-items:center;gap:8px;font-size:.9375rem;font-weight:700;text-decoration:none;display:flex}.book-detail__small-links{gap:8px;margin-top:8px;display:flex}.book-detail__small-links a{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--color-text-muted) 45%, var(--color-border));border-radius:var(--book-card-radius);background:var(--color-surface);min-height:40px;color:var(--color-primary);font-size:var(--font-size-small);text-align:center;flex:1 1 0;justify-content:center;align-items:center;padding:4px;text-decoration:none;display:flex}.book-detail__obs{margin-top:20px}.book-detail__obs-head{justify-content:space-between;align-items:baseline;display:flex}.book-detail__obs-head h3{margin:0;font-size:.9375rem}.book-detail__obs-head h3 span{color:var(--color-text-muted);font-size:.8125rem;font-weight:500}.book-detail__obs-order{color:var(--color-text-muted);font-size:var(--font-size-small)}.book-detail__status{color:var(--color-text-muted);font-size:.875rem}.book-detail__retry{min-height:44px;color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 8px;font-weight:700}.book-detail__obs-list{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.book-obs{box-sizing:border-box;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--book-card-radius);min-height:44px;color:var(--color-text);align-items:center;gap:12px;padding:8px;text-decoration:none;display:flex}.book-obs__thumb{border-radius:var(--book-photo-radius);background:var(--g-ph);flex:none;width:56px;height:56px;overflow:hidden}.book-obs__thumb[data-empty=true]{background:var(--book-empty-photo)}.book-obs__thumb img{object-fit:cover;width:100%;height:100%;display:block}.book-obs__main{flex:1;min-width:0}.book-obs__date{font-size:.875rem;font-weight:700;display:block}.book-obs__badge{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:8px;margin-left:6px;padding:0 6px;font-size:.6875rem;font-weight:700}.book-obs__badge[data-rg=true]{border-color:var(--color-primary);color:var(--color-primary)}.book-obs__sub{color:var(--color-text-muted);font-size:var(--font-size-small);display:block}.book-obs__arrow{color:var(--color-text-muted);flex:none}.book-detail__more{border:1px solid color-mix(in srgb, var(--color-text-muted) 45%, var(--color-border));border-radius:var(--book-card-radius);background:var(--color-surface);width:100%;height:44px;color:var(--color-primary);font:inherit;cursor:pointer;margin-top:8px;font-weight:700}@media (width>=960px){.book-detail__body{box-sizing:border-box;max-width:1120px;padding:24px var(--page-padding-x);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-content:start;gap:24px;margin:0 auto;display:grid}.book-detail{--book-detail-photo-h:420px}.book-detail__hero{border-radius:var(--book-card-radius);align-self:start;overflow:hidden}.book-detail__main{padding:0}.book-detail__name{font-size:1.875rem}.book-detail__stat dd{font-size:1.375rem}}@media (prefers-reduced-motion:reduce){.book-sheet__panel{animation:none}.book-photo__img--small{transition:none}}.book-celebrate{margin-bottom:12px}.book-celebrate__clip{opacity:0;transition:grid-template-rows var(--book-anim) ease-out, opacity var(--book-anim) ease-out;grid-template-rows:0fr;display:grid}.book-celebrate[data-open=true] .book-celebrate__clip{opacity:1;grid-template-rows:1fr}.book-celebrate[data-closing=true] .book-celebrate__clip{transition-duration:var(--book-anim-fast)}.book-celebrate__card{box-sizing:border-box;background:var(--color-surface);border:1px solid var(--book-new);border-left:4px solid var(--book-new);border-radius:var(--book-card-radius);font-variant-numeric:tabular-nums;align-items:center;gap:4px;min-height:0;padding:0 0 0 14px;display:flex;overflow:hidden}.book-celebrate[data-kind=milestone] .book-celebrate__card{border-color:var(--book-milestone)}.book-celebrate__main{min-width:0;color:var(--color-text);font:inherit;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:12px 0;display:flex}button.book-celebrate__main{cursor:pointer}.book-celebrate__photos{flex:none;display:flex}.book-celebrate__photo{border:2px solid var(--color-surface);border-radius:var(--book-photo-radius);background:var(--g-ph);width:44px;height:44px;position:relative;overflow:hidden}.book-celebrate__photo+.book-celebrate__photo{margin-left:-14px}.book-celebrate__photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.book-celebrate__badge{background:color-mix(in srgb, var(--book-milestone) 16%, var(--color-surface));width:44px;height:44px;color:var(--book-milestone-text);border-radius:22px;flex:none;justify-content:center;align-items:center;display:flex}.book-celebrate__text{flex-direction:column;flex:1;min-width:0;display:flex}.book-celebrate__label{color:var(--book-new);font-size:.75rem;font-weight:700}.book-celebrate[data-kind=milestone] .book-celebrate__label{color:var(--book-milestone-text)}.book-celebrate__title{font-family:var(--font-display);font-size:1.125rem;font-weight:700;line-height:1.3}.book-celebrate__title--name{overflow-wrap:anywhere;font-family:inherit;font-size:.9375rem;line-height:1.4}.book-celebrate__title small{color:var(--color-text-muted);font-size:.8125rem;font-weight:500}.book-celebrate__num{color:var(--book-milestone-text);font-size:1.625rem;display:inline-block}.book-celebrate__num[data-motion=off]{transform:scale(.9)}.book-celebrate__num[data-motion=on]{transition:transform var(--book-anim-slow) ease-out;transform:scale(1)}.book-celebrate__sub{color:var(--color-text-muted);font-size:.6875rem}.book-celebrate__sub--strong{color:var(--color-text);font-size:.8125rem}.book-celebrate__close{width:44px;height:44px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:flex}@media (prefers-reduced-motion:reduce){.book-celebrate__clip,.book-celebrate[data-closing=true] .book-celebrate__clip{transition:none}.book-celebrate__num[data-motion=off],.book-celebrate__num[data-motion=on]{transition:none;transform:none}}.book-heart{width:var(--book-heart-hit);height:var(--book-heart-hit);border-radius:calc(var(--book-heart-hit) / 2);color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.book-heart__dot{width:var(--book-heart-dot);height:var(--book-heart-dot);border-radius:calc(var(--book-heart-dot) / 2);background:var(--book-badge-bg);color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.book-heart[data-on=true] .book-heart__dot{color:var(--book-heart)}.book-heart__dot[data-pop=true] svg{animation:book-heart-pop var(--book-anim) ease-out}@keyframes book-heart-pop{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}.book-detail__bar .book-heart__dot{background:0 0}.book-chip--heart[aria-pressed=true]{border-color:var(--book-heart);background:var(--book-heart-weak);color:var(--book-heart-text);font-weight:700}.book-chip--heart svg{color:var(--book-heart)}.book-toast{right:16px;bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + 16px);z-index:50;box-sizing:border-box;border-radius:var(--book-card-radius);background:var(--color-text);max-width:420px;color:var(--color-surface);text-align:center;margin:0 auto;padding:12px 16px;font-size:.875rem;position:fixed;left:16px}@media (width>=768px){.book-toast{bottom:24px;left:calc(var(--nav-width) + 16px)}}@media (prefers-reduced-motion:reduce){.book-heart__dot[data-pop=true] svg{animation:none}}.book-public{background:var(--color-bg);min-height:100svh;color:var(--color-text);font-variant-numeric:tabular-nums}.book-public__header{box-sizing:border-box;height:calc(var(--header-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--page-padding-x) 0;background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:8px;display:flex}.book-public__brand{color:var(--color-primary);font-family:var(--font-display);font-size:1rem;font-weight:700}.book-public__login{border:1px solid var(--color-primary);height:36px;color:var(--color-primary);border-radius:18px;align-items:center;padding:0 14px;font-size:.8125rem;font-weight:700;text-decoration:none;display:inline-flex}.book-public__main{box-sizing:border-box;max-width:1120px;padding:12px var(--page-padding-x) 32px;flex-direction:column;margin:0 auto;display:flex}.book-public__title{align-items:center;gap:8px;margin-bottom:6px;display:flex}.book-public__title h1{font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:700}.book-public__badge{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:8px;padding:0 6px;font-size:.625rem}.book-public__dex{color:var(--color-text-muted);font-size:var(--font-size-small);flex-wrap:wrap;gap:4px 12px;margin:-4px 0 12px;padding:0;list-style:none;display:flex}.book-public__order{color:var(--color-text-muted);font-size:var(--font-size-small);margin:0 0 8px}.book-public__unavailable{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:48px 16px;display:flex}.book-public__unavailable h1{font-family:var(--font-display);margin:0;font-size:1.125rem}.book-public__unavailable p{color:var(--color-text-muted);margin:0;font-size:.8125rem}.book-public__footer{margin-top:24px}.book-public__credit{color:var(--color-text-muted);font-size:var(--font-size-small);margin:0 0 12px;line-height:1.6}.book-public__cta{border:1px solid var(--color-primary);border-radius:var(--book-card-radius);background:var(--color-surface);text-align:center;padding:14px 16px}.book-public__cta-title{font-family:var(--font-display);margin:0;font-size:.9375rem;font-weight:700}.book-public__cta-sub{color:var(--color-text-muted);margin:4px 0 0;font-size:.75rem;line-height:1.6}.book-public__cta-button{border-radius:var(--book-card-radius);background:var(--color-primary);max-width:360px;height:44px;color:var(--color-surface);justify-content:center;align-items:center;margin:10px auto 0;font-size:.875rem;font-weight:700;text-decoration:none;display:flex}.book-public__note{color:var(--color-text-muted);margin:12px 0 0;font-size:.625rem;line-height:1.6}.book-card__credit{background:var(--book-overlay);color:var(--book-on-overlay);text-overflow:ellipsis;white-space:nowrap;padding:3px 6px;font-size:.625rem;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.book-card__fav{background:var(--book-badge-bg);width:24px;height:24px;color:var(--book-heart);border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;left:8px}.book-app__share{height:44px;color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:22px;align-items:center;gap:6px;padding:0 12px;font-size:.875rem;font-weight:700;display:inline-flex}.book-share{flex-direction:column;gap:16px;padding-bottom:8px;display:flex}.book-share__lead{color:var(--color-text-muted);margin:0;font-size:.8125rem;line-height:1.6}.book-share__image:empty{display:none}.book-share__row{align-items:center;gap:12px;display:flex}.book-share__row-text{flex:1;min-width:0}.book-share__row-title{font-size:.8125rem;font-weight:700}.book-share__row-sub{color:var(--color-text-muted);margin-top:2px;font-size:.75rem}.book-switch{box-sizing:border-box;background:color-mix(in srgb, var(--color-text-muted) 45%, var(--color-border));cursor:pointer;border:0;border-radius:16px;flex:none;width:52px;min-width:52px;height:32px;min-height:32px;padding:0;position:relative}.book-switch:after{content:"";position:absolute;inset:-6px -2px}.book-switch[aria-checked=true]{background:var(--color-primary)}.book-switch:disabled{opacity:.6;cursor:progress}.book-switch__knob{background:var(--color-surface);width:26px;height:26px;transition:left var(--book-anim-fast) ease-out;border-radius:13px;position:absolute;top:3px;left:3px}.book-switch[aria-checked=true] .book-switch__knob{left:23px}.book-share__url{gap:8px;display:flex}.book-share__url-input{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--color-text-muted) 45%, var(--color-border));border-radius:var(--book-card-radius);background:var(--color-bg);min-width:0;height:44px;color:var(--color-text);font:inherit;text-overflow:ellipsis;flex:1;padding:0 12px;font-size:.75rem}.book-share__copy{border-radius:var(--book-card-radius);background:var(--color-primary);height:44px;color:var(--color-surface);font:inherit;cursor:pointer;border:0;flex:none;padding:0 14px;font-size:.8125rem;font-weight:700}.book-share__native{border:1px solid color-mix(in srgb, var(--color-text-muted) 45%, var(--color-border));border-radius:var(--book-card-radius);background:var(--color-surface);width:44px;height:44px;color:var(--color-primary);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.book-share__status{color:var(--color-primary);margin:-8px 0 0;font-size:.75rem;font-weight:700}.book-share__boxes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:.6875rem;line-height:1.6;display:grid}.book-share__box{background:var(--color-bg);border-radius:8px;padding:8px 10px}.book-share__box-title{color:var(--color-primary);font-weight:700}.book-share__box--no .book-share__box-title{color:var(--book-heart-text)}.book-share__regen{border:1px solid color-mix(in srgb, var(--color-text-muted) 45%, var(--color-border));border-radius:var(--book-card-radius);background:var(--color-surface);min-height:40px;color:var(--color-text);font:inherit;cursor:pointer;align-self:flex-start;align-items:center;gap:6px;padding:0 12px;font-size:.75rem;display:inline-flex}.book-share__confirm{border:1px solid var(--book-milestone);border-radius:var(--book-card-radius);padding:10px 12px;font-size:.8125rem;line-height:1.6}.book-share__confirm-actions{gap:8px;margin-top:8px;display:flex}.book-share__confirm-actions button{border:1px solid color-mix(in srgb, var(--color-text-muted) 45%, var(--color-border));border-radius:var(--book-card-radius);background:var(--color-surface);min-height:40px;color:var(--color-text);font:inherit;cursor:pointer;padding:0 14px;font-size:.8125rem}.book-share__confirm-actions button[data-danger=true]{border-color:var(--book-milestone);color:var(--book-milestone-text);font-weight:700}.book-share__error{color:var(--book-heart-text);margin:0;font-size:.8125rem}@media (prefers-reduced-motion:reduce){.book-switch__knob{transition:none}}.book-dex{min-width:0;margin:4px 0 16px}.book-dex__head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.book-dex__title{margin:0;font-size:.9375rem;font-weight:700}.book-dex__title small{color:var(--color-text-muted);font-size:.6875rem;font-weight:500}.book-dex__add{min-height:44px;color:var(--color-primary);align-items:center;font-size:.75rem;text-decoration:none;display:inline-flex}.book-dex__none{color:var(--color-text-muted);margin:0 0 4px;font-size:.75rem}.book-dex__cards{margin:0 calc(-1 * var(--page-padding-x));padding:2px var(--page-padding-x) 6px;scrollbar-width:none;gap:10px;display:flex;overflow-x:auto}.book-dex__cards::-webkit-scrollbar{display:none}.book-dexcard{box-sizing:border-box;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--book-card-radius);width:168px;min-height:118px;color:var(--color-text);font-variant-numeric:tabular-nums;flex-direction:column;flex:none;padding:12px 14px;text-decoration:none;display:flex}.book-dexcard:hover{border-color:var(--color-primary)}.book-dexcard--skeleton{background:var(--book-dex-empty-bg);border-style:dashed;border-color:var(--book-dex-empty-border)}.book-dexcard__name{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:700;overflow:hidden}.book-dexcard__count{align-items:baseline;gap:4px;margin-top:6px;display:flex}.book-dexcard__num{color:var(--color-primary);font-family:var(--font-display);font-size:1.75rem;font-weight:700;line-height:1}.book-dexcard__size{color:var(--color-text-muted);font-size:.75rem}.book-dexcard__bar,.book-dexbar{background:var(--book-bar-track);border-radius:3px;gap:2px;height:6px;margin-top:8px;display:flex;overflow:hidden}.book-dexcard__fill,.book-dexbar__fill{background:var(--color-primary);flex:none;height:100%}.book-dexcard__fill--local,.book-dexbar__fill--local{background:var(--book-dex-local)}.book-dexcard__sub{color:var(--color-text-muted);margin-top:6px;font-size:.625rem}.book-dexapp__title{flex:auto;min-width:0}.book-dexapp__switch{max-width:100%;min-height:44px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:flex}.book-dexapp__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.book-dexapp__switch small{color:var(--color-text-muted);flex:none;font-size:.75rem;font-weight:500}.book-dexapp__switch svg{color:var(--color-text-muted);flex:none}.book-dexapp__missing{border:1px solid color-mix(in srgb, var(--color-text-muted) 45%, var(--color-border));background:var(--color-surface);height:36px;color:var(--color-text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:18px;padding:0 12px;font-size:.8125rem;position:relative}.book-dexapp__missing:after{content:"";position:absolute;inset:-4px 0}.book-dexapp__missing[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary-weak);color:var(--color-primary);font-weight:700}.book-dexpage{font-variant-numeric:tabular-nums;max-width:880px;margin:0 auto}.book-dexpage__body{flex-direction:column;min-width:0;display:flex}.book-dexsum{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--book-card-radius);padding:14px 16px}.book-dexsum__row{align-items:baseline;gap:6px;display:flex}.book-dexsum__num{color:var(--color-primary);font-family:var(--font-display);font-size:2.5rem;font-weight:700;line-height:1}.book-dexsum__size{color:var(--color-text-muted);font-size:.9375rem;font-weight:700}.book-dexsum__rest{color:var(--color-text-muted);margin-left:auto;font-size:.75rem}.book-dexsum__done{border:1px solid var(--color-primary);color:var(--color-primary);border-radius:10px;margin-left:auto;padding:1px 10px;font-size:.75rem;font-weight:700}.book-dexbar{border-radius:4px;height:8px;margin-top:10px}.book-dexsum__legend{color:var(--color-text-muted);flex-wrap:wrap;gap:4px 14px;margin:8px 0 0;padding:0;font-size:.6875rem;list-style:none;display:flex}.book-dexsum__dot{background:var(--color-primary);border-radius:2px;width:8px;height:8px;margin-right:4px;display:inline-block}.book-dexsum__dot--local{background:var(--book-dex-local)}.book-dexsum__note{color:var(--color-text-muted);margin:8px 0 0;font-size:.6875rem;line-height:1.6}.book-dexpage .book-chips{margin:12px 0 10px}.book-dexchip[data-chip=local]{color:var(--book-dex-local)}.book-dexchip[data-chip=local][data-active=true]{border-color:var(--book-dex-local);color:var(--book-dex-local)}.book-dex-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}@media (width>=768px){.book-dex-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}}.book-dex-divider{color:var(--book-dex-local);grid-column:1/-1;align-items:center;gap:8px;margin-top:6px;font-size:.75rem;font-weight:700;display:flex}.book-dex-divider:before,.book-dex-divider:after{content:"";background:var(--color-border);flex-grow:1;height:1px}.book-dex-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--book-card-radius);min-width:0;overflow:hidden}.book-dex-tile--empty{border-style:dashed;border-color:var(--book-dex-empty-border)}.book-dex-tile__link{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none;display:block}.book-dex-tile__photo{aspect-ratio:1;position:relative;overflow:hidden}.book-dex-tile__photo>.book-photo{aspect-ratio:auto;position:absolute;inset:0}.book-dex-tile__photo--empty{background:var(--book-dex-empty-bg);color:var(--book-dex-empty-border);justify-content:center;align-items:center;display:flex}.book-dex-tile__no{background:var(--book-badge-bg);color:var(--book-badge-text);border-radius:8px;padding:1px 6px;font-size:.625rem;font-weight:700;position:absolute;top:6px;left:6px}.book-dex-tile--empty .book-dex-tile__no{color:var(--color-text-muted)}.book-dex-tile__no[data-tier=local],.book-dex-tile--empty .book-dex-tile__no[data-tier=local]{background:var(--book-dex-local);color:var(--book-dex-local-on)}.book-dex-tile__new{background:var(--color-primary);color:var(--color-surface);letter-spacing:.04em;border-radius:8px;padding:1px 6px;font-size:.625rem;font-weight:700;position:absolute;top:6px;right:6px}.book-dex-tile__text{padding:6px 8px 8px}.book-dex-tile__name{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:700;line-height:1.3;overflow:hidden}.book-dex-tile__name--hidden{color:var(--color-text-muted);letter-spacing:2px}.book-dex-tile__meta{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.625rem;overflow:hidden}.book-dex-tile__link:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.book-dexhelp{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--book-card-radius);margin-top:14px;padding:12px 14px}.book-dexhelp__title{margin:0;font-size:.8125rem;font-weight:700}.book-dexhelp__text{color:var(--color-text-muted);margin:4px 0 0;font-size:.75rem;line-height:1.6}.book-dexother{color:var(--color-text-muted);margin:12px 0 0;font-size:.6875rem;line-height:2}.book-dexother a{color:var(--color-primary)}.book-dexhint{margin:0}.book-dexhint__line{border-bottom:1px solid var(--color-border);gap:12px;padding:10px 0;display:flex}.book-dexhint__line dt{width:8.5em;color:var(--color-text-muted);flex:none;font-size:.8125rem}.book-dexhint__line dd{margin:0;font-weight:700}.book-dexhint__reveal{background:var(--color-primary);width:100%;height:48px;color:var(--color-surface);font:inherit;cursor:pointer;border:0;border-radius:24px;margin-top:16px;font-weight:700}.book-dexhint__answer{margin-top:16px}.book-dexhint__name{font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:700}.book-dexhint__sci{color:var(--color-text-muted);margin:2px 0 0;font-size:.8125rem;font-style:italic}.book-dexhint__link{min-height:44px;color:var(--color-primary);align-items:center;gap:4px;font-weight:700;display:inline-flex}.book-dexhint__note{color:var(--color-text-muted);margin:4px 0 0;font-size:.75rem}.book-share__image:not(:empty){display:block}.book-share-img{border-bottom:1px solid var(--color-border);flex-direction:column;gap:12px;padding-bottom:16px;display:flex}.book-share-img__status{color:var(--color-text-muted);margin:0;font-size:.8125rem}.book-share-img__head{font-size:.8125rem;font-weight:700}.book-share-img__head span{color:var(--color-text-muted);font-size:.6875rem;font-weight:500}.book-share-img__layouts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.book-share-img__layout{border:2px solid var(--color-border);border-radius:var(--book-card-radius);background:var(--color-surface);min-height:44px;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:8px;padding:10px 8px;display:flex}.book-share-img__layout[aria-pressed=true]{border-color:var(--color-primary)}.book-share-img__layout-text{flex-direction:column;min-width:0;display:flex}.book-share-img__layout-text b{font-size:.75rem}.book-share-img__layout-text small{color:var(--color-text-muted);font-size:.6875rem}.book-share-img__mini{flex:none;gap:2px;width:32px;height:32px;display:grid}.book-share-img__mini--9{grid-template-columns:repeat(3,1fr)}.book-share-img__mini--4{grid-template-columns:repeat(2,1fr)}.book-share-img__mini span{background:color-mix(in srgb, var(--color-primary) 35%, var(--color-surface))}.book-share-img__mini span:nth-child(3n+2){background:color-mix(in srgb, var(--book-milestone) 40%, var(--color-surface))}.book-share-img__count{justify-content:space-between;align-items:baseline;gap:8px;font-size:.8125rem;font-weight:700;display:flex}.book-share-img__count b{color:var(--color-primary)}.book-share-img__count small{color:var(--color-text-muted);text-align:right;font-size:.6875rem;font-weight:400}.book-share-img__slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.book-share-img__slots[data-layout="4"]{grid-template-columns:repeat(2,minmax(0,1fr));max-width:244px}.book-share-img__slot{aspect-ratio:1;background:var(--book-empty-photo);border-radius:8px;position:relative;overflow:hidden}.book-share-img__slot--empty{border:1px dashed var(--color-border);background:var(--color-bg)}.book-share-img__slot img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.book-share-img__slot[data-selected=true]{outline:3px solid var(--color-primary);outline-offset:-3px}.book-share-img__select{cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.book-share-img__no{background:var(--book-badge-bg);width:18px;height:18px;color:var(--book-badge-text);pointer-events:none;border-radius:9px;justify-content:center;align-items:center;font-size:.625rem;font-weight:700;display:flex;position:absolute;top:4px;left:4px}.book-share-img__name{background:var(--book-overlay);color:var(--book-on-overlay);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;padding:3px 6px;font-size:.625rem;font-weight:700;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.book-share-img__remove{background:var(--book-badge-bg);width:32px;min-width:0;height:32px;min-height:0;color:var(--book-badge-text);cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:2px;right:2px}.book-share-img__remove:after{content:"";position:absolute;inset:-6px}.book-share-img__add{color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.6875rem;display:flex;position:absolute;inset:0}.book-share-img__move{flex-wrap:wrap;align-items:center;gap:8px;font-size:.75rem;display:flex}.book-share-img__move span{flex:100%;font-weight:700}.book-share-img__move button,.book-share-img__picker-head button,.book-share-img__picker li button{border:1px solid color-mix(in srgb, var(--color-text-muted) 45%, var(--color-border));border-radius:var(--book-card-radius);background:var(--color-surface);min-height:44px;color:var(--color-text);font:inherit;cursor:pointer;padding:0 14px;font-size:.8125rem}.book-share-img__move button:disabled,.book-share-img__picker li button:disabled{opacity:.45;cursor:default}.book-share-img__picker{border:1px solid var(--color-border);border-radius:var(--book-card-radius);background:var(--color-bg);padding:8px 10px}.book-share-img__picker-head{justify-content:space-between;align-items:center;font-size:.8125rem;display:flex}.book-share-img__picker-empty{color:var(--color-text-muted);margin:8px 0;font-size:.75rem}.book-share-img__picker ul{flex-direction:column;max-height:260px;margin:8px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.book-share-img__picker li{align-items:center;gap:10px;padding:4px 0;display:flex}.book-share-img__picker li[data-disabled=true]{color:var(--color-text-muted)}.book-share-img__picker li[data-disabled=true] img{filter:grayscale();opacity:.55}.book-share-img__picker li img,.book-share-img__thumb-empty{background:var(--book-empty-photo);object-fit:cover;border-radius:6px;flex:none;width:40px;height:40px}.book-share-img__picker-name{flex-direction:column;flex:1;min-width:0;font-size:.8125rem;font-weight:700;display:flex}.book-share-img__picker-name small{font-size:.6875rem;font-weight:400}.book-share-img__warn{background:color-mix(in srgb, var(--book-milestone) 14%, var(--color-surface));color:var(--book-milestone-text);border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;font-size:.75rem;line-height:1.5;display:flex}.book-share-img__warn-link{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:700;text-decoration:underline;display:inline-flex}.book-share-img__make{border-radius:var(--book-card-radius);background:var(--color-primary);width:100%;min-height:48px;color:var(--color-surface);font:inherit;cursor:pointer;border:0;font-size:.9375rem;font-weight:700}.book-share-img__make:disabled{background:var(--color-border);color:var(--color-text-muted);cursor:default}.book-share-img__error{background:var(--book-heart-weak);color:var(--book-heart-text);border-radius:8px;margin:0;padding:8px 10px;font-size:.8125rem;line-height:1.5}.book-share-img__result{flex-direction:column;gap:10px;display:flex}.book-share-img__preview{aspect-ratio:1;background:var(--book-empty-photo);object-fit:contain;border-radius:8px;align-self:center;width:100%;max-width:360px;display:block}.book-share-img__actions{flex-wrap:wrap;gap:8px;display:flex}.book-share-img__primary,.book-share-img__action{border:1px solid color-mix(in srgb, var(--color-text-muted) 45%, var(--color-border));border-radius:var(--book-card-radius);background:var(--color-surface);min-height:44px;color:var(--color-text);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:.8125rem;text-decoration:none;display:inline-flex}.book-share-img__primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-surface);font-weight:700}.book-share-img__notice{color:var(--color-primary);margin:0;font-size:.75rem;font-weight:700}.book-share-img__hint{color:var(--color-text-muted);margin:0;font-size:.6875rem;line-height:1.6}.book-pick{box-sizing:border-box;min-width:44px;min-height:44px;color:var(--color-text-muted);font:inherit;font-size:var(--font-size-small);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0;font-weight:700;display:inline-flex}.book-pick[data-on=true]{color:var(--color-primary)}.book-pick-hero{align-items:center;gap:6px;display:flex;position:absolute;bottom:40px;right:12px}.book-pick-badge{background:var(--color-primary);color:var(--color-surface);border-radius:4px;padding:2px 8px;font-size:.6875rem;font-weight:700}.book-pick[data-variant=hero]{background:var(--book-overlay);color:var(--book-on-overlay);border-radius:22px;padding:0 12px}.book-pick[data-variant=hero][data-on=true]{color:var(--color-primary);background:var(--color-surface)}.book-pick[data-variant=row]{border:1px solid var(--color-border);border-radius:var(--book-card-radius);background:var(--color-surface);flex:none;align-self:center}.book-pick[data-variant=row][data-on=true]{border-color:var(--color-primary)}.book-obs-item{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.book-obs-item>.book-obs{flex:1;min-width:0}.book-obs-picks{flex-basis:100%;gap:8px;display:flex}.book-pick[data-variant=thumb]{border:2px solid var(--color-border);border-radius:var(--book-photo-radius);width:56px;height:56px;position:relative;overflow:hidden}.book-pick[data-variant=thumb][data-on=true]{border-color:var(--color-primary)}.book-pick[data-variant=thumb] img{object-fit:cover;width:100%;height:100%;display:block}.book-pick__mark{background:var(--book-badge-bg);width:20px;height:20px;color:var(--color-text-muted);border-radius:10px;justify-content:center;align-items:center;display:flex;position:absolute;bottom:2px;right:2px}.book-pick[data-on=true] .book-pick__mark{color:var(--color-primary)}.book-detail__hidden-note{background:var(--book-overlay);max-width:calc(100% - 24px);color:var(--book-on-overlay);border-radius:4px;padding:2px 8px;font-size:.6875rem;position:absolute;top:44px;left:12px}.book-app__header--no-back{padding-left:calc(var(--page-padding-x,16px) + env(safe-area-inset-left))}.book-tab__head{align-items:center;gap:8px;min-height:44px;display:flex}.theme-toggle{border-top:1px solid var(--border);margin-top:4px;padding:10px 12px 4px}.theme-toggle__label{color:var(--text-muted);margin-bottom:6px;font-size:12px;display:block}.theme-toggle__options{gap:4px;display:flex}.theme-toggle__option{border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:4px;flex:1;padding:6px 4px;font-size:12px}.theme-toggle__option[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.display-settings-card{flex-direction:column;gap:12px;display:flex}.display-settings-card__toggle-row{color:var(--text);justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.display-settings-card__toggle-row input{-webkit-tap-highlight-color:transparent;width:20px;height:20px}.display-settings-card__note{color:var(--color-text-muted);margin:0;font-size:12px}.display-settings-card__error{color:var(--error-text);margin:0;font-size:12px}.display-settings-card__select-row{color:var(--text);justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.display-settings-card__select-row select{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);font:inherit;border-radius:6px;padding:4px 8px;font-size:14px}.daily-pick-card{--daily-pick-photo:64px;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 16px;position:relative}.daily-pick-card:not(.daily-pick-card--small){min-height:calc(26px + 28px + max(var(--daily-pick-photo), 74px) + 134px)}.daily-pick-card--no-trivia:not(.daily-pick-card--small){min-height:calc(26px + 28px + max(var(--daily-pick-photo), 74px))}.daily-pick-card__title{color:var(--text-muted);margin:0 0 8px;font-size:14px;font-weight:700;line-height:20px}.daily-pick-card__body{min-height:var(--daily-pick-photo);align-items:center;gap:12px;display:flex}.daily-pick-card__skeleton{width:var(--daily-pick-photo);height:var(--daily-pick-photo);background:var(--border);border-radius:8px;flex-shrink:0;display:block}.daily-pick-card__status{color:var(--text-muted);font-size:13px}.daily-pick-card--small .daily-pick-card__status{margin:0;display:block}.daily-pick-card__bar{box-sizing:border-box;background:var(--border);background-clip:content-box;height:16px;padding:3px 0;display:block}.daily-pick-card__bar--name{width:55%;height:24px;padding:6px 0}.daily-pick-card__bar--sci{width:40%;height:18px;padding:4px 0}.daily-pick-card__bar--meta{width:30%}.daily-pick-card__bar--line{height:19.5px;padding:4px 0}.daily-pick-card__bar--more{width:22%;height:32px;padding:10px 0}.daily-pick-card__bar--short{width:35%}.daily-pick-card__trivia-skeleton{height:58.5px}.daily-pick-card__more-skeleton{box-sizing:border-box;height:34px;padding-top:2px}.daily-pick-card__note-skeleton{box-sizing:border-box;height:20px;padding-top:4px}.daily-pick-card--placeholder .daily-pick-card__names{flex:1}.daily-pick-card--placeholder:not(.daily-pick-card--small) .daily-pick-card__status{font-size:11px;line-height:20px;position:absolute;top:12px;right:16px}.daily-pick-card__photo-link{width:var(--daily-pick-photo);height:var(--daily-pick-photo);border-radius:8px;flex-shrink:0;display:block;overflow:hidden}.daily-pick-card__photo{object-fit:cover;width:100%;height:100%;display:block}.daily-pick-card__photo--whole{object-fit:contain;background:var(--surface)}.daily-pick-card__photo-fallback{color:var(--accent);flex-shrink:0;font-size:12px;text-decoration:none}.daily-pick-card__names{flex-direction:column;min-width:0;display:flex}.daily-pick-card__name{color:var(--text);font-size:16px;font-weight:700;line-height:24px}.daily-pick-card__scientific-name{color:var(--text-muted);font-size:12px;font-style:italic;line-height:18px}.daily-pick-card__observer,.daily-pick-card__attribution{color:var(--text-muted);font-size:11px;line-height:16px}.daily-pick-card__trivia{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.daily-pick-card__trivia-text{color:var(--text);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.daily-pick-card__trivia-text[data-open=true]{-webkit-line-clamp:unset;display:block;overflow:visible}.daily-pick-card__more{min-height:32px;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;margin:2px 0 0;padding:4px 0;font-size:13px}.daily-pick-card__trivia-note{color:var(--text-muted);margin:4px 0 0;font-size:11px;line-height:16px}@media (width>=768px){.daily-pick-card{--daily-pick-photo:96px}.daily-pick-card__trivia-text,.daily-pick-card__trivia-note{max-width:var(--prose-max)}}@media (width>=1120px){.daily-pick-card{--daily-pick-photo:160px}}.first-records{grid-template-columns:1fr;gap:6px;margin:0;padding:0;list-style:none;display:grid}@container (width>=480px){.first-records{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}.first-records__empty{color:var(--text-muted);margin:0;font-size:14px}.first-records__row{grid-template-columns:var(--photo-thumb) minmax(0, 1fr);background:var(--surface);border:1px solid var(--border);border-radius:6px;align-items:start;gap:10px;padding:8px;display:grid}.first-records__photo-link{width:var(--photo-thumb);height:var(--photo-thumb);border-radius:8px;display:block;overflow:hidden}.first-records__photo{object-fit:cover;width:100%;height:100%;display:block}.first-records__photo--whole{object-fit:contain;background:var(--surface)}.first-records__photo-fallback{width:var(--photo-thumb);height:var(--photo-thumb);border:1px dashed var(--border);text-align:center;color:var(--accent);border-radius:8px;justify-content:center;align-items:center;font-size:11px;line-height:1.3;text-decoration:none;display:flex}.first-records__photo-fallback:hover{text-decoration:underline}.first-records__names{overflow-wrap:anywhere;flex-direction:column;gap:1px;min-width:0;display:flex}.first-records__name{color:var(--accent);font-weight:600;text-decoration:none}.first-records__name:hover{text-decoration:underline}.first-records__scientific-name{color:var(--text-muted);font-size:12px;font-style:italic}.first-records__observer{color:var(--text-muted);font-size:12px}.first-records__observer:before{content:"観察者: "}.first-records__badges{flex-wrap:wrap;gap:6px;display:flex}.first-records__badges:empty{display:none}.first-records__badge{background:var(--border);color:var(--text);white-space:nowrap;border-radius:999px;margin-top:2px;padding:2px 8px;font-size:11px;font-weight:700}.first-records__badge--ever{background:var(--accent);color:#fff}.first-records__attribution{color:var(--text-muted);font-size:10px;line-height:1.3}.first-records__more{border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:var(--accent);font:inherit;cursor:pointer;border-radius:6px;margin-top:12px;padding:8px 12px;font-size:13px;font-weight:600;display:block}.first-records__more:hover{background:var(--bg)}.footnote-text{color:var(--text-muted);overflow-wrap:anywhere;margin:4px 0 0;scroll-margin-top:96px;font-size:11px;line-height:1.4}.footnote-text:target{background:var(--bg);border-left:3px solid var(--accent);padding-left:8px}.pwa-install-card{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--surface);border-radius:8px;align-items:flex-start;gap:8px;padding:12px 12px 12px 14px;display:flex;position:relative}.pwa-install-card__body{flex:1;min-width:0}.pwa-install-card__title{color:var(--text);margin:0;font-size:14px;font-weight:700}.pwa-install-card__steps{color:var(--text);margin:6px 0 0;padding-left:1.2em;font-size:13px}.pwa-install-card__note{color:var(--text-muted);margin:6px 0 0;font-size:12px}.pwa-install-card__close{min-width:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-size:20px;line-height:1}.pwa-install-card__guide-link{margin-left:4px;font-weight:600}.ranking-list{margin:0;padding:0;list-style:none}.ranking-list__empty{color:var(--text-muted);margin:0;font-size:14px}.ranking-list__gap{text-align:center;color:var(--text-muted);padding:2px 0}.ranking-list__row{border-radius:6px;align-items:center;gap:6px;min-height:44px;padding:6px 8px;display:flex}.ranking-list__row--self{background:var(--accent-bg,#1f6feb1a);border:1px solid var(--accent)}.ranking-list__rank{min-width:2.2em;color:var(--text-muted);font-weight:700}.ranking-list__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--accent);flex:1;line-height:44px;text-decoration:none;overflow:hidden}.ranking-list__name:hover{text-decoration:underline}.ranking-list__self-badge{background:var(--accent);color:#fff;border-radius:999px;padding:1px 6px;font-size:11px;font-weight:700}.ranking-list__count{font:inherit;font-variant-numeric:tabular-nums;color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:4px;min-width:44px;padding:2px 4px}.ranking-list__count--static{color:var(--text);cursor:auto;-webkit-tap-highlight-color:transparent;display:inline-block}button.ranking-list__count:hover,button.ranking-list__count:active{background:var(--border)}.ranking-list__drilldown{border-left:2px solid var(--border);margin:4px 0 8px 2.5em;padding:8px 10px}.ranking-list__drilldown-status{color:var(--text-muted);margin:0;font-size:13px}.ranking-list__drilldown-status--error{color:var(--error-text)}.ranking-list__drilldown-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ranking-list__drilldown-list li{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.ranking-list__drilldown-link{color:var(--accent);text-decoration:none}.ranking-list__drilldown-link:hover{text-decoration:underline}.ranking-list__drilldown-date{color:var(--text-muted);white-space:nowrap}.ranking-list__more{border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:var(--accent);font:inherit;cursor:pointer;border-radius:6px;margin-top:12px;padding:8px 12px;font-size:13px;font-weight:600;display:block}.ranking-list__more:hover{background:var(--bg)}.ranking-list__self-empty{color:var(--text-muted);margin:8px 0 0;font-size:13px}.species-ranking{margin:0;padding:0;list-style:none}.species-ranking__empty{color:var(--text-muted);margin:0;font-size:14px}.species-ranking__row{border-radius:6px;align-items:center;gap:6px;min-height:44px;padding:6px 8px;display:flex}.species-ranking__rank{min-width:2.2em;color:var(--text-muted);font-weight:700}.species-ranking__names{flex-direction:column;flex:1;min-width:0;display:flex}.species-ranking__name{text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:600;overflow:hidden}.species-ranking__scientific-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:11px;font-style:italic;overflow:hidden}.species-ranking__count{font-variant-numeric:tabular-nums;color:var(--text);flex-direction:column;align-items:flex-end;display:flex}.species-ranking__observers{color:var(--text-muted);font-size:11px}.species-ranking__more{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--accent);font:inherit;cursor:pointer;border-radius:999px;margin:6px auto 0;padding:6px 16px;font-size:13px;display:block}.dashboard-section{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:16px}.dashboard-section__title{flex-wrap:wrap;align-items:center;gap:2px;margin:0 0 12px;font-size:16px;display:flex}.dashboard-section__tag{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);white-space:nowrap;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:11.5px;font-weight:600}@media (width>=768px){.dashboard-section{padding:var(--card-padding);container-type:inline-size}}.reload-button{border:1px solid var(--color-primary);border-radius:var(--radius-chip);background:var(--color-surface);color:var(--color-primary-strong);font:inherit;font-size:var(--font-size-body);cursor:pointer;white-space:nowrap;align-self:center;max-width:100%;margin-top:6px;padding:6px 16px;font-weight:600}.reload-button:hover:not(:disabled){background:var(--color-primary-weak)}.reload-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.reload-button:disabled{cursor:default;opacity:.7}.load-error{flex-direction:column;align-items:center;gap:2px;display:flex}.stale-data-banner{background:var(--surface);border:1px solid var(--border);color:var(--text);text-align:center;border-radius:4px;flex-direction:column;gap:2px;margin:0;padding:8px 10px;font-size:13px;display:flex}.stale-data-banner__main{font-weight:600}.stale-data-banner__detail{color:var(--text-muted);font-size:12px}.stat-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.stat-tile--wide{grid-column:1/-1}.stat-tile{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:0;padding:12px}.stat-tile__title{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:2px;margin:0 0 6px;font-size:11px;font-weight:600;display:flex}.stat-tile__title-text{flex:1 1 0;min-width:0}.stat-tile__title-mark{white-space:nowrap}.stat-tile__values{flex-direction:column;gap:12px;display:flex}.stat-tile__value-item{flex-direction:column;min-width:0;display:flex}.stat-tile__value-label{color:var(--text-muted);font-size:11px}.stat-tile__value-number{color:var(--text);font-size:22px;font-weight:700;line-height:1.2}.stat-tile__value-secondary{color:var(--text-muted);font-size:11px}.stat-tile__value-unit{margin-left:1px;font-size:13px;font-weight:600}.stat-tile__value-detail{color:var(--text-muted);margin-left:4px;font-size:13px;font-weight:400}@media (width>=768px){.stat-tile{padding:var(--card-padding)}.stat-tile__title{font-size:12px}}@media (width>=1120px){.stat-tile__value-number{font-size:var(--font-size-stat)}}.stat-tile-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat-tile--compact{padding:10px}.stat-tile--compact .stat-tile__title{margin:0 0 4px;font-size:12px;line-height:1.2}.stat-tile__main{flex-wrap:wrap;align-items:baseline;column-gap:8px;margin:0;display:flex}.stat-tile--compact .stat-tile__value-number{font-variant-numeric:tabular-nums;font-size:20px;line-height:1.2}.stat-tile--compact .stat-tile__value-unit{font-size:12px}.stat-tile__aside{color:var(--text-muted);white-space:nowrap;font-size:12px}.stat-tile__sub{color:var(--text-muted);margin:2px 0 0;font-size:12px;line-height:1.3}@media (width<=429px){.stat-tile__ratio{display:none}}@media (width>=768px){.stat-tile--compact{padding:var(--card-padding)}.stat-tile__aside,.stat-tile__sub{font-size:13px}}:root[data-display=easy] .stat-tile--compact .stat-tile__title{font-size:calc(12px + var(--font-scale-easy))}:root[data-display=easy] .stat-tile--compact .stat-tile__value-number{font-size:23px}:root[data-display=easy] .stat-tile--compact .stat-tile__value-unit,:root[data-display=easy] .stat-tile__aside,:root[data-display=easy] .stat-tile__sub{font-size:calc(12px + var(--font-scale-easy))}@media (width>=1120px){.stat-tile--compact .stat-tile__value-number{font-size:var(--font-size-stat)}}.weekday-chart{flex-direction:column;gap:8px;display:flex}.weekday-chart__chips{flex-wrap:wrap;gap:6px;display:flex}.weekday-chart__chip{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px}.weekday-chart__chip--active{border-color:var(--accent);background:var(--color-primary-weak);color:var(--accent);font-weight:600}.weekday-chart__svg{width:100%;height:var(--chart-height);display:block}.weekday-chart__gridline{stroke:var(--border);stroke-width:1px;vector-effect:non-scaling-stroke}.weekday-chart__tick,.weekday-chart__unit{fill:var(--text-muted);font-size:9px}.weekday-chart__latest-value{fill:var(--accent);paint-order:stroke;stroke:var(--color-surface);stroke-width:3px;stroke-linejoin:round;font-size:10px;font-weight:600}.weekday-chart__line{fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.weekday-chart__line--current{stroke:var(--accent);stroke-width:2px}.weekday-chart__line--previous{stroke:var(--text-muted);stroke-width:1.5px;stroke-dasharray:4 3}.weekday-chart__line--research{stroke:var(--accent);stroke-width:1px;opacity:.55}.weekday-chart__latest{fill:var(--accent)}.weekday-chart__axis{fill:var(--text-muted);font-size:10px}.weekday-chart__legend{color:var(--text-muted);flex-wrap:wrap;gap:12px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.weekday-chart__legend-item:before{content:"";vertical-align:middle;border-top-style:solid;border-top-width:2px;width:16px;margin-right:4px;display:inline-block}.weekday-chart__legend-item--current:before{border-top-color:var(--accent)}.weekday-chart__legend-item--previous:before{border-top-style:dashed;border-top-color:var(--text-muted)}.weekday-chart__legend-item--research:before{border-top-width:1px;border-top-color:var(--accent);opacity:.55}.weekday-chart__change{color:var(--text);margin:0;font-size:13px}.screen1-page__status{text-align:center;color:var(--text-muted)}.screen1-page__status--error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);border-radius:4px;padding:8px 10px}.screen1-page__content{flex-direction:column;gap:16px;display:flex}.screen1-page__identify-cta{color:var(--text);margin:8px 0 0;font-size:13px}.screen1-page__identify-cta a{color:var(--accent);margin-left:8px}.screen1-page__scope-chips{gap:6px;margin-bottom:8px;display:flex}.screen1-page__scope-chip{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:6px 16px;font-size:13px}.screen1-page__scope-chip--active{border-color:var(--accent);background:var(--color-primary-weak);color:var(--accent);font-weight:600}.species-photo{background:var(--border);border-radius:6px;flex-shrink:0;width:44px;height:44px;display:block;overflow:hidden}.species-photo--empty{opacity:.5}.species-photo__image{object-fit:cover;width:100%;height:100%;display:block}.species-photo__credit{color:var(--text-muted);overflow-wrap:anywhere;font-size:10px;line-height:1.3;display:block}.personal-species-ranking{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.personal-species-ranking__empty{color:var(--text-muted);margin:0;font-size:14px}.personal-species-ranking__row{background:var(--surface);border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;min-height:56px;padding:6px 8px;display:flex}.personal-species-ranking__names{flex-direction:column;flex:1;min-width:0;display:flex}.personal-species-ranking__name{font-weight:600}.personal-species-ranking__scientific-name{color:var(--text-muted);font-size:12px;font-style:italic}.personal-species-ranking__count{font-variant-numeric:tabular-nums;color:var(--text)}.share-button{border:1px solid var(--border);background:var(--surface);min-width:44px;min-height:44px;color:var(--accent);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px}.share-button:hover{background:var(--bg)}.share-button:disabled{opacity:.6;cursor:default}.your-data-page__status{text-align:center;color:var(--text-muted)}.your-data-page__status--error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);border-radius:4px;padding:8px 10px}.your-data-page__content{flex-direction:column;gap:16px;display:flex}.your-data-page__hero{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px}.your-data-page__greeting{color:var(--text);margin:0;font-size:18px;font-weight:700}.your-data-page__hero-sub{color:var(--text-muted);margin:2px 0 12px;font-size:13px}.your-data-page__hero-stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.your-data-page__hero-stat{flex-direction:column;gap:2px;display:flex}.your-data-page__hero-stat-label{color:var(--text-muted);font-size:11px}.your-data-page__hero-stat-value{color:var(--text);font-size:20px;font-weight:700}.your-data-page__totals{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.your-data-page__total-item{flex-direction:column;gap:2px;display:flex}.your-data-page__total-label{color:var(--text-muted);font-size:11px}.your-data-page__total-value{color:var(--text);font-size:18px;font-weight:700}.your-data-page__total-detail{color:var(--text-muted);margin-left:4px;font-size:12px;font-weight:400}.your-data-page__needs-id{color:var(--text);margin:0;font-size:14px}.your-data-page__needs-id-count{margin-right:4px;font-size:22px;font-weight:700}.your-data-page__needs-id a{color:var(--accent);margin-left:8px}.your-data-page__confirmed-list{margin:8px 0 0;padding-left:18px;font-size:13px}.your-data-page__confirmed-list a{color:var(--accent)}.your-data-page__encounters{grid-template-columns:repeat(2,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.your-data-page__encounter-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;flex-direction:column;padding:8px;display:flex}.your-data-page__encounter-card .species-photo{margin-bottom:6px}.your-data-page__encounter-name{color:var(--text);font-size:13px;font-weight:600}.your-data-page__encounter-scientific-name{color:var(--text-muted);font-size:11px;font-style:italic}.your-data-page__recent-records{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.your-data-page__recent-row{background:var(--surface);border:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;min-height:56px;padding:6px 8px;display:flex}.your-data-page__recent-main{flex-direction:column;flex:1;min-width:0;display:flex}.your-data-page__recent-name{min-width:0;color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;text-decoration:none;display:block;overflow:hidden}.your-data-page__recent-name:hover{text-decoration:underline}.your-data-page__recent-date{color:var(--text-muted);font-size:11px}.your-data-page__recent-chip{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.your-data-page__recent-chip--pending{background:var(--border);color:var(--text)}.your-data-page__recent-chip--research{background:var(--accent);color:#fff}.your-data-page__recent-chip--casual{border:1px solid var(--border);color:var(--text-muted);background:0 0}.your-data-page__subheading{color:var(--text-muted);margin:12px 0 0;font-size:13px;font-weight:600}.region-app{background:var(--bg);color:var(--text)}.region-app__header-link{margin-left:auto}.region-app__button-link{border:1px solid var(--accent);color:var(--accent);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:13px;text-decoration:none;display:inline-block}.region-picker{max-width:100%;line-height:1.2;display:flex;position:relative}.region-picker__button{max-width:100%;font:inherit;font-family:var(--font-display);min-height:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:15px;font-weight:700;line-height:1.2;display:inline-flex;position:relative}.region-picker__button:after{content:"";position:absolute;inset:-13px -6px}.region-picker__prefix{color:var(--text-muted);flex:none;font-weight:400}.region-picker--nav .region-picker__button{align-items:flex-start}.region-picker--nav .region-picker__name{-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-width:0;display:-webkit-box}@media (width>=768px) and (width<=1119.98px){.region-picker--nav .region-picker__button{border-radius:10px;flex-direction:column;gap:0;padding:2px 6px;font-size:12px}}.region-picker__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.region-picker__menu{z-index:30;border:1px solid var(--border);background:var(--surface);border-radius:12px;min-width:240px;max-width:calc(100vw - 32px);max-height:70vh;padding:4px 0;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 6px 20px #0000002e}.region-picker__item{width:100%;min-height:44px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 14px;font-size:15px;display:flex}.region-picker__item[aria-checked=true]{color:var(--accent);font-weight:700}.region-picker__item-name{flex:1;min-width:0}.region-picker__item--action{color:var(--accent)}.region-picker__divider{border:0;border-top:1px solid var(--border);margin:4px 0}.region-badge{border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:999px;flex:none;padding:1px 8px;font-size:11px;font-weight:600}.region-sheet{z-index:40;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.region-sheet__backdrop{cursor:pointer;background:#0006;border:0;position:absolute;inset:0}.region-sheet__panel{width:100%;max-width:720px;max-height:85vh;padding:12px 16px calc(16px + env(safe-area-inset-bottom));background:var(--bg);color:var(--text);box-sizing:border-box;border-radius:16px 16px 0 0;flex-direction:column;gap:8px;display:flex;position:relative}.region-sheet__head{justify-content:space-between;align-items:center;display:flex}.region-sheet__title{margin:0;font-size:18px}.region-sheet__close{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:14px}.region-sheet__search{box-sizing:border-box;width:100%;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:8px 12px;font-size:16px}.region-sheet__tabs{scrollbar-width:none;gap:6px;padding:2px 0;display:flex;overflow-x:auto}.region-sheet__tab{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;padding:6px 14px;font-size:14px}.region-sheet__tab[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.region-sheet__panel>*{flex-shrink:0}.region-sheet__panel>.region-sheet__body,.region-sheet__panel>.region-sheet__rows{flex:auto;min-height:0;overflow-y:auto}.region-sheet__subtitle{color:var(--text-muted);margin:8px 0 4px;font-size:14px}.region-sheet__rows,.region-sheet__grid{margin:0;padding:0;list-style:none}.region-sheet__row{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:6px 0;display:flex}.region-sheet__row .region-sheet__name{flex:1}.region-sheet__grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.region-sheet__cell{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:4px;min-width:0;padding:4px 4px 4px 8px;display:flex}.region-sheet__cell .region-sheet__name{flex:1}.region-sheet__name{min-width:0;min-height:36px;color:var(--text);font:inherit;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-size:15px;overflow:hidden}.region-sheet__count{color:var(--text-muted);white-space:nowrap;font-size:12px}.region-star{min-width:36px;min-height:36px;color:var(--accent);cursor:pointer;background:0 0;border:0;flex:none;font-size:20px}.region-star:disabled{opacity:.4;cursor:default}.region-app__title{flex-wrap:wrap;align-items:center;gap:2px;margin:8px 0 0;font-size:22px;display:flex}.region-app__type{color:var(--text-muted);margin-left:8px;font-size:12px;font-weight:600}.region-app__as-of,.region-app__hint,.region-app__loading{color:var(--text-muted);margin:4px 0 8px;font-size:13px}.region-app__notice{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:12px}.region-app__notice--ingesting{border-left:4px solid var(--accent);margin:0 0 12px}.region-app__page{gap:var(--grid-gap);flex-direction:column;display:flex}.region-app__period{gap:6px;display:flex}.region-app__period button{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:4px 14px}.region-app__period button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.region-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (width>=768px){.region-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.region-tile{border:1px solid var(--border);background:var(--bg);border-radius:8px;min-width:0;padding:10px}.region-tile__label,.region-tile__sub{color:var(--text-muted);margin:0;font-size:12px}.region-tile__value,.region-app__big{margin:2px 0;font-size:24px;font-weight:700}.region-tile__unit{margin-left:2px;font-size:13px;font-weight:400}.region-list,.region-notes,.region-ranking,.region-my-list{margin:0;padding:0;list-style:none}.region-list li,.region-my-list li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;align-items:center;gap:8px;padding:6px 0;display:flex}.region-list__meta{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:12px}.region-list button,.region-my-list button,.region-app__logout{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:13px}.region-list button{margin-left:auto}.region-my-list li span{flex:1}.region-notes li{padding:4px 0;font-size:14px}.region-ranking__row{border-bottom:1px solid var(--border);align-items:center;gap:8px;min-width:0;padding:6px 4px;display:flex}.region-ranking__row a{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.region-ranking__row--me{background:color-mix(in srgb, var(--accent) 12%, transparent);font-weight:700}.region-ranking__rank{text-align:right;width:2em;font-weight:700}.region-ranking__me{background:var(--accent);color:#fff;border-radius:999px;padding:1px 6px;font-size:11px}.region-ranking__count{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:12px}.region-bars{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.region-bars li{grid-template-columns:5.5em minmax(0,1fr) 4.5em;align-items:center;gap:6px;font-size:12px;display:grid}.region-bars__track{background:var(--bg);border-radius:5px;height:10px;overflow:hidden}.region-bars__bar{background:var(--accent);height:100%;display:block}.region-bars__value{text-align:right}.region-compare{overflow-x:auto}.region-compare table{border-collapse:collapse;width:100%;font-size:13px}.region-compare th,.region-compare td{border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;padding:6px 4px}.region-compare th[scope=row],.region-compare thead th:first-child{text-align:left}.region-compare tr[aria-current=true] th{color:var(--accent)}.region-app__page input{font:inherit;box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:4px;margin:4px 0 8px;padding:8px 10px}.region-app__frame{min-height:3em;margin:0}.region-app__first-summary{flex-wrap:wrap;align-items:baseline;column-gap:12px;display:flex}.region-app__first-summary>p{margin:0}.region-app__period-block{flex-direction:column;gap:6px;display:flex}.region-app__period-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.region-app__period-block .region-app__hint{margin:0}.region-ranking>li{list-style:none}.region-ranking__row{min-height:44px}.region-ranking__gap{text-align:center;color:var(--text-muted);line-height:1}.region-ranking__more{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--accent);font:inherit;cursor:pointer;border-radius:999px;margin:6px auto 0;padding:6px 16px;font-size:13px;display:block}@media (width>=960px){.region-app__page[data-layout]{gap:var(--grid-gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.region-app__page[data-layout=recent]{grid-template-areas:"period period period period period period period period period period period period""record record record record record record record record record record record record""move move move move move move move move move move move move""first first first first first first first pick pick pick pick pick""species species species species species species ranking ranking ranking ranking ranking ranking"}.region-app__page[data-layout=all]{grid-template-areas:"tiles tiles tiles tiles tiles tiles tiles tiles tiles tiles tiles tiles""fiscal fiscal fiscal fiscal fiscal fiscal fiscal fiscal fiscal fiscal fiscal fiscal""trend trend trend trend trend trend trend trend trend trend trend trend""yearly yearly yearly yearly yearly yearly taxa taxa taxa taxa taxa taxa""species species species species species species ranking ranking ranking ranking ranking ranking""needs needs needs needs needs compare compare compare compare compare compare compare"}.region-app__page[data-layout]>[data-area=period]{grid-area:period}.region-app__page[data-layout]>[data-area=pick]{grid-area:pick}.region-app__page[data-layout]>[data-area=record]{grid-area:record}.region-app__page[data-layout]>[data-area=move]{grid-area:move}.region-app__page[data-layout]>[data-area=first]{grid-area:first}.region-app__page[data-layout]>[data-area=species]{grid-area:species}.region-app__page[data-layout]>[data-area=ranking]{grid-area:ranking}.region-app__page[data-layout]>[data-area=tiles]{grid-area:tiles}.region-app__page[data-layout]>[data-area=fiscal]{grid-area:fiscal}.region-app__page[data-layout]>[data-area=trend]{grid-area:trend}.region-app__page[data-layout]>[data-area=taxa]{grid-area:taxa}.region-app__page[data-layout]>[data-area=yearly]{grid-area:yearly}.region-app__page[data-layout]>[data-area=needs]{grid-area:needs}.region-app__page[data-layout]>[data-area=compare]{grid-area:compare}.region-app__page[data-layout]>[data-area=note]{grid-area:note}}.lp{--g:#2f6f4f;--g2:#245a40;--g3:#e7f1eb;--ink:#1f2a24;--mute:#5c6b62;--bg:#fbfaf6;--line:#e4e8e3;--ff:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Noto Sans CJK JP", "Yu Gothic UI", Meiryo, system-ui, sans-serif;background:var(--bg);width:100%;min-height:100svh;color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--ff);-webkit-font-smoothing:antialiased;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.75}.lp *,.lp :before,.lp :after{box-sizing:border-box}.lp img{max-width:100%;height:auto;display:block}.lp a{color:var(--g)}.lp p{color:inherit;margin:0}.lp h1,.lp h2,.lp h3{color:inherit;font-feature-settings:"palt";margin:0;line-height:1.3}.lp h2{letter-spacing:.01em;font-size:clamp(24px,3.2vw,36px)}.lp-wrap{max-width:1120px;margin:0 auto;padding:0 20px}.lp-lead{color:var(--mute);font-size:clamp(15px,1.3vw,18px)}.lp .lp-note,.lp .lp-credit,.lp .lp-cap{color:var(--mute);font-size:13px}.lp-btn,.lp .inat-login__button{border:2px solid var(--g);min-height:48px;font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:15px;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.lp .lp-btn--pri,.lp .lp-inat--pri .inat-login__button{background:var(--g);color:#fff}.lp .lp-btn--pri:hover,.lp .lp-inat--pri .inat-login__button:hover{background:var(--g2)}.lp .lp-btn--sec,.lp .lp-inat--sec .inat-login__button{color:var(--g);background:#fff}.lp .lp-inat{background:0 0;border:0;padding:0;display:inline-block}.lp-tag{background:var(--g3);color:var(--g);letter-spacing:.06em;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;line-height:1.6;display:inline-block}.lp-site{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#fbfaf6eb;position:sticky;top:0}.lp-site .lp-wrap{justify-content:space-between;align-items:center;gap:12px;height:64px;display:flex}.lp-logo{white-space:nowrap;color:var(--ink);flex:none;align-items:center;gap:10px;font-size:19px;font-weight:800;text-decoration:none;display:flex}.lp .lp-logo{color:var(--ink)}.lp-logo img{border-radius:8px;width:30px;height:30px}.lp-menu{gap:22px;font-size:14px;display:flex}.lp .lp-menu a{color:var(--ink);text-decoration:none}.lp-cta{align-items:center;gap:10px;display:flex}.lp-site .lp-btn,.lp-site .inat-login__button{min-height:40px;padding:0 16px;font-size:14px}@media (width<=860px){.lp-menu{display:none}.lp-site .lp-wrap{height:56px}.lp-site .lp-btn,.lp-site .inat-login__button{min-height:38px;padding:0 12px;font-size:13px}.lp-cta .lp-btn--sec{display:none}}.lp-hero{padding:56px 0 24px}.lp-hero__grid{grid-template-columns:1.05fr 1fr;align-items:center;gap:40px;display:grid}.lp-hero h1{letter-spacing:.005em;margin-top:14px;font-size:clamp(30px,4.4vw,52px)}.lp-hero h1 em{color:var(--g);font-style:normal}.lp-hero .lp-lead{max-width:34em;margin:18px 0 26px}.lp-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.lp .lp-disc{color:var(--mute);margin-top:16px;font-size:13px}.lp-mosaic{aspect-ratio:1.05;grid-template-columns:repeat(6,1fr);grid-auto-rows:1fr;gap:10px;display:grid}.lp-mosaic img{object-fit:cover;border-radius:14px;width:100%;height:100%}.lp-mosaic .m1{grid-area:1/1/4/4}.lp-mosaic .m2{grid-area:1/4/3/7}.lp-mosaic .m3{grid-area:3/4/5/6}.lp-mosaic .m4{grid-area:3/6/4/7}.lp-mosaic .m5{grid-area:4/1/6/3}.lp-mosaic .m6{grid-area:4/3/5/4}.lp-mosaic .m7{grid-area:5/3/6/4}.lp-mosaic .m8{grid-area:4/6/6/7}.lp-mosaic .m9{grid-area:5/4/6/6}.lp-mosaic .m8{object-position:20% 40%}.lp .lp-credit{text-align:right;margin-top:8px;font-size:12px}@media (width<=860px){.lp-hero{padding:28px 0 12px}.lp-hero__grid{grid-template-columns:1fr;gap:26px}.lp-mosaic{aspect-ratio:1.15}.lp-hero .lp-btn,.lp-hero .lp-inat{flex:100%}.lp-hero .lp-btn,.lp-hero .inat-login__button{white-space:normal;text-align:center;width:100%}}.lp-stats{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:repeat(4,1fr);gap:12px;margin:36px 0 0;padding:20px;display:grid}.lp-stats--n3{grid-template-columns:repeat(3,1fr)}.lp-stats--n2{grid-template-columns:repeat(2,1fr)}.lp-stats__k{color:var(--mute);font-size:12px}.lp-stats__v{color:var(--g);letter-spacing:.01em;font-size:clamp(22px,2.6vw,32px);font-weight:800;line-height:1.4}.lp-stats__v small{color:var(--mute);margin-left:3px;font-size:13px;font-weight:600}@media (width<=640px){.lp-stats,.lp-stats--n3{grid-template-columns:1fr 1fr;gap:8px;padding:14px}}.lp-feat{padding:84px 0}.lp-feat--tinted{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.lp-feat__grid{grid-template-columns:1fr 1fr;align-items:center;gap:56px;display:grid}.lp-feat__grid--rev .lp-feat__text{order:2}.lp-feat__text h2{margin:10px 0 14px}.lp-pts{gap:10px;margin:18px 0 0;padding:0;list-style:none;display:grid}.lp-pts li{padding-left:26px;position:relative}.lp-pts li:before{content:"";border:4px solid var(--g);background:var(--g3);border-radius:50%;width:14px;height:14px;position:absolute;top:9px;left:0}.lp-more{margin-top:22px}.lp-shot{min-width:0;position:relative}.lp .lp-cap{text-align:center;margin-top:12px;font-size:12px}.lp-phones{justify-content:center;align-items:flex-end;gap:18px;display:flex}.lp-phone{background:#141414;border-radius:30px;width:min(240px,42vw);padding:9px;box-shadow:0 28px 50px -20px #14281e73}.lp-phone img{aspect-ratio:9/17.7;object-fit:cover;object-position:top;border-radius:22px;width:100%}.lp-phone--back{opacity:.92;transform:translateY(28px)scale(.94)}.lp-pc{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 30px 60px -28px #14281e73}.lp-pc__bar{background:#eef0ec;align-items:center;gap:6px;height:26px;padding:0 10px;display:flex}.lp-pc__bar i{background:#cfd6cf;border-radius:50%;width:9px;height:9px;display:block}.lp-oshi{border:1px solid var(--line);border-radius:22px;width:min(420px,100%);margin:0 auto;overflow:hidden;box-shadow:0 30px 60px -28px #14281e73}.lp-oshi img{width:100%}@media (width<=860px){.lp-feat{padding:52px 0}.lp-feat__grid{grid-template-columns:1fr;gap:30px}.lp-feat__grid--rev .lp-feat__text{order:0}}.lp-two{grid-template-columns:1fr 1fr;align-items:stretch;gap:20px;display:grid}.lp-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:28px}.lp-card h3{margin:10px 0;font-size:20px}.lp-card p{margin:8px 0 0}.lp-card .lp-note{margin-top:8px}@media (width<=860px){.lp-two{grid-template-columns:1fr}}.lp-newcomer__links{flex-wrap:wrap;justify-content:center;gap:8px 24px;margin:16px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.lp-howto{padding:64px 0 0}.lp-howto h2{text-align:center}.lp-steps{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:16px;margin:28px 0 0;padding:0;list-style:none;display:grid}.lp-steps--n2{grid-template-columns:repeat(2,1fr)}.lp-step{border:1px solid var(--line);background:#fff;border-radius:18px;padding:22px}.lp-step__n{background:var(--g);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;margin-bottom:10px;font-weight:800;display:grid}.lp-step h3{margin-bottom:6px;font-size:18px}.lp .lp-step p{color:var(--mute);font-size:14px}@media (width<=860px){.lp-steps,.lp-steps--n2{grid-template-columns:1fr}}.lp-strip-wrap{padding-top:64px}.lp-strip{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.lp-strip img{aspect-ratio:1;object-fit:cover;border-radius:12px;width:100%}@media (width<=640px){.lp-strip{grid-template-columns:repeat(3,1fr)}}.lp-info{padding:64px 0 0}.lp-info h2{margin-bottom:16px;font-size:clamp(22px,2.6vw,28px)}.lp-info section+section{margin-top:44px}.lp-info ul{gap:10px;max-width:65ch;margin:0;padding-left:1.2em;font-size:15px;display:grid}.lp-faq{border-bottom:1px solid var(--line);max-width:65ch}.lp-faq summary{cursor:pointer;align-items:center;min-height:44px;font-size:15px;font-weight:700;display:flex}.lp .lp-faq p{padding-bottom:12px;font-size:14px;line-height:1.7}.lp-about{padding:84px 0 60px}.lp-box{background:var(--g);color:#fff;border-radius:22px;grid-template-columns:1.2fr 1fr;align-items:center;gap:30px;padding:36px;display:grid}.lp .lp-box a{color:#fff}.lp .lp-box .lp-tag{color:#fff;background:#ffffff2e}.lp-box h2{margin-top:12px;font-size:clamp(22px,3vw,32px)}.lp .lp-box p{opacity:.92;margin-top:14px}.lp-box__side{justify-items:start;gap:12px;display:grid}.lp .lp-box .lp-btn--sec,.lp .lp-box .lp-inat--sec .inat-login__button{color:var(--g);background:#fff;border-color:#fff}.lp .lp-box .lp-btn--ghost{color:#fff;background:0 0;border-color:#fff}.lp .lp-box .lp-small{font-size:13px}@media (width<=860px){.lp-about{padding:52px 0 40px}.lp-box{grid-template-columns:1fr;padding:26px}}.lp-footer{border-top:1px solid var(--line);color:var(--mute);padding:26px 0 40px;font-size:13px}.lp-footer .lp-wrap{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.lp-footer nav{flex-wrap:wrap;gap:16px;display:flex}.lp .lp-footer a,.lp .lp-footer p{color:var(--mute)}
