:root{--font-display:var(--font-body),system-ui,sans-serif;--font-data:var(--font-body),system-ui,sans-serif;--ink:#0e2a3f;--deep-water:#0e2a3f;--river:#1b6ca8;--moss:#3f6b57;--sand:#f4f6f8;--sunset:#e4572e;--sunset-ink:#a93a18;--mist:#f4f6f8;--text:#0e2a3f;--paper:#f4f6f8;--paper-2:#e9edf1;--eau:#e6f0f8;--trait:#d0d7dd;--orange:#e4572e;--ink-bg:#0e2a3f;--card:#fff;--card-2:#f8fafb;--card-3:#f1f4f7;--card-tint:#e6f0f8;--line:#e3e7eb;--muted:#5b6b75;--muted-2:#5b6b75;--river-text:#1b6ca8;--moss-text:#3f6b57;--danger-text:#dc2626;--sidebar-w:252px;--topbar-h:56px}[data-theme=dark]{--mist:#0b1620;--text:#d7e2e6;--ink:#eaf1f3;--card:#142230;--card-2:#101c28;--card-3:#1a2b3a;--card-tint:#13202d;--line:#22374a;--muted:#a8bcc4;--muted-2:#8fa6b0;--river-text:#7db6e3;--moss-text:#86bf92;--danger-text:#f87171}[data-theme=dark] body{background:var(--mist);color:var(--text)}[data-theme=dark] .empty-state,[data-theme=dark] .feed-card,[data-theme=dark] .feed-comment-input,[data-theme=dark] .pkx-search,[data-theme=dark] .pkx-select,[data-theme=dark] .poke-card,[data-theme=dark] .profile-section,[data-theme=dark] .spot-card,[data-theme=dark] .stats-avg-card,[data-theme=dark] .trip-card{background:#142230;border-color:#22374a;color:var(--text)}[data-theme=dark] .feed-pseudo,[data-theme=dark] .poke-name,[data-theme=dark] .profile-section-title,[data-theme=dark] .trip-card-date{color:var(--text)}[data-theme=dark] .pkx-chip,[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#142230;border-color:#22374a;color:var(--text)}[data-theme=dark] .pkx-chip.on{background:var(--river);color:#fff}[data-theme=dark] .app-main{background:var(--mist)}[data-theme=dark] .choice,[data-theme=dark] .file-btn{background:#142230;border-color:#22374a;color:var(--text)}[data-theme=dark] .choice:hover,[data-theme=dark] .file-btn:hover{border-color:var(--river)}[data-theme=dark] .form-error{background:rgba(239,68,68,.12)}[data-theme=dark] .upload-progress{background:#0b1620}[data-theme=dark] .upload-progress-label{color:#fff;text-shadow:none}[data-theme=dark] .rank-row:nth-child(-n+3){background:rgba(228,87,46,.1)}[data-theme=dark] .notif-item-icon{background:#0b1620}[data-theme=dark] .cmdk-group-label{color:var(--muted)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{font-family:var(--font-body);background:var(--mist);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}.num{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"tnum";letter-spacing:-.02em}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.landing{min-height:100vh;--ink:#0e2a3f;--mist:#f4f6f8;--text:#0e2a3f;--card:#fff;--card-2:#f8fafb;--card-3:#f1f4f7;--card-tint:#e6f0f8;--line:#e3e7eb;--muted:#5b6b75;--muted-2:#5b6b75;background:var(--mist);color:var(--text)}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:rgba(14,42,63,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(236,242,246,.1);padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.nav-logo{font-size:1.25rem;font-weight:700;color:var(--sand);letter-spacing:-.02em}.btn-primary{background:var(--river);padding:.5rem 1.25rem;border-radius:6px;font-size:.9rem;font-weight:600;transition:background .2s,transform .1s;display:inline-block}.btn-primary:hover{background:#2379b8;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.section{padding:4rem 1.5rem;max-width:1100px;margin:0 auto}.label{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--river-text);margin-bottom:.75rem}h1{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);font-weight:600;font-variation-settings:"SOFT" 20,"WONK" 1,"opsz" 96;line-height:1.08;letter-spacing:-.02em}h1,h2{color:var(--ink)}h2{font-family:var(--font-display);font-size:clamp(1.5rem,3.5vw,2.5rem);font-weight:600;font-variation-settings:"SOFT" 20,"WONK" 1,"opsz" 48;line-height:1.15;letter-spacing:-.015em;margin-bottom:1rem}h3{font-size:1.15rem;font-weight:700;color:var(--ink);margin-bottom:.5rem}p{color:var(--p-color,#3d5160);line-height:1.7}.hero{position:relative;background:var(--ink-bg);padding:6rem 1.5rem 4.5rem;min-height:92svh;display:flex;align-items:center;overflow:hidden}.hero,.hero h1{color:var(--sand)}.hero h1{margin-bottom:1.25rem}.step{display:flex;gap:1rem;align-items:flex-start}.poke-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:.85rem;gap:.85rem;margin-top:1.5rem}.poke-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.3rem;background:var(--card);border:1.5px solid #e0e8ec;border-radius:16px;padding:0 0 .85rem;text-align:center;color:var(--ink);text-decoration:none;overflow:hidden;transition:box-shadow .22s ease,transform .18s ease,border-color .2s ease}.poke-card:hover{box-shadow:0 8px 24px rgba(14,42,63,.14);transform:translateY(-3px)}.poke-card[data-rarity="1"]{border-color:rgba(72,108,79,.4)}.poke-card[data-rarity="1"]:hover{border-color:#3f6b57;box-shadow:0 8px 24px rgba(72,108,79,.18)}.poke-card[data-rarity="2"]{border-color:rgba(27,108,168,.35)}.poke-card[data-rarity="2"]:hover{border-color:var(--river);box-shadow:0 8px 24px rgba(27,108,168,.22)}.poke-card[data-rarity="3"]{border-color:#cd7f32}.poke-card[data-rarity="3"]:hover{box-shadow:0 8px 28px rgba(205,127,50,.28)}.poke-card[data-rarity="4"]{border-color:#d4af37;box-shadow:0 0 0 1px rgba(212,175,55,.2),0 2px 10px rgba(212,175,55,.12)}.poke-card[data-rarity="4"]:hover{box-shadow:0 8px 28px rgba(212,175,55,.35),0 0 0 1px rgba(212,175,55,.4)}.poke-card--unlocked{background:var(--card)}[data-theme=dark] .poke-card--unlocked{background:#142230}.poke-card--locked{background:#f4f7f8;border-style:dashed;border-color:#c8d4d9;opacity:.82}[data-theme=dark] .poke-card--locked{background:#0b1620;border-color:#22374a}.poke-rarity-badge{left:6px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:.18rem .45rem;border-radius:6px}.poke-rarity-badge,.poke-season-badge{position:absolute;top:6px;z-index:2;pointer-events:none}.poke-season-badge{right:6px;font-size:.95rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.poke-card-img-wrap{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:14px 14px 0 0;background:#e8f0f3;margin-bottom:.6rem;flex-shrink:0}[data-theme=dark] .poke-card-img-wrap{background:#1a3040}.poke-card-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.poke-card:hover .poke-card-img{transform:scale(1.04)}.poke-card-img--blur{filter:grayscale(100%) blur(4px) brightness(.55)}.poke-card-svg-wrap{width:100%;padding:1rem 0 .75rem;display:flex;justify-content:center;align-items:center;color:var(--river-text);position:relative;flex-shrink:0}.poke-card-svg-wrap--locked{color:#b3c1c7;filter:grayscale(.7)}[data-theme=dark] .poke-card-svg-wrap--locked{color:#3d5a67}.poke-card-mystery{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.6rem;font-weight:900;color:hsla(0,0%,100%,.85);text-shadow:0 1px 4px rgba(0,0,0,.5);pointer-events:none;z-index:3}.poke-card-mystery--svg{color:rgba(100,130,145,.7);text-shadow:none;font-size:1.4rem}.poke-name{font-size:.82rem;font-weight:700;color:var(--deep-water);line-height:1.25;padding:0 .5rem}[data-theme=dark] .poke-name{color:var(--text)}.poke-sci{font-size:.75rem;color:var(--muted-2);font-style:italic;padding:0 .5rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.poke-card--locked .poke-name{color:#616f78}[data-theme=dark] .poke-card--locked .poke-name{color:var(--muted-2)}.poke-card-stats{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.4rem .6rem 0;gap:.35rem}.poke-rarity-dots{font-size:.75rem;letter-spacing:1px;flex-shrink:0}@media (max-width:400px){.poke-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}}@media (prefers-reduced-motion:reduce){.poke-card{transition:none}.poke-card:hover,.poke-card:hover .poke-card-img{transform:none}}.footer{background:var(--ink-bg);color:rgba(236,242,246,.6);padding:3rem 1.5rem}.footer-bottom{max-width:1100px;margin:2rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(236,242,246,.1);font-size:.8rem;color:rgba(236,242,246,.72)}@media (max-width:640px){.hero{min-height:80svh;padding-top:3rem}.section{padding:3rem 1.25rem}}.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}.skip-link{position:absolute;top:-40px;left:0;background:var(--river);color:#fff;padding:.5rem 1.25rem;border-radius:0 0 6px 6px;font-size:.9rem;font-weight:600;z-index:9999;transition:top .2s}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--river);outline-offset:3px;border-radius:3px}.profile-banner{height:100px;border-radius:14px 14px 0 0;margin-bottom:-14px}.profile-avatar{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.75rem;font-weight:700;flex-shrink:0;letter-spacing:-.02em}.profile-chip{background:var(--sand);color:var(--sunset-ink);padding:.2rem .65rem;border-radius:100px;font-size:.75rem;font-weight:600}.profile-edit-link{font-size:.8rem;color:var(--river-text);text-decoration:none}.profile-edit-link:hover{text-decoration:underline}.profile-section{background:var(--card);border-radius:14px;padding:1.5rem;box-shadow:0 1px 4px rgba(0,0,0,.06)}.profile-section-title{font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:1rem}.profile-cta-btn{display:inline-block;padding:.75rem 1.5rem;background:var(--river);color:#fff;border-radius:10px;font-weight:700;font-size:.95rem;text-decoration:none}.profile-cta-btn:hover{opacity:.9}.poke-count-chip{display:inline-block;background:var(--sand);color:var(--sunset-ink);font-family:var(--font-data);font-size:.75rem;font-weight:700;padding:.12rem .5rem;border-radius:100px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.poke-locked-label{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--muted-2)}.poke-locked-label svg{flex-shrink:0;opacity:.8}.form{max-width:520px;width:100%}.field{display:flex;flex-direction:column;margin-bottom:1.25rem}.field label,.field legend{font-weight:600;font-size:.9rem;color:var(--ink);margin-bottom:.35rem}.input,.select,.textarea{display:block;width:100%;padding:.75rem;font-size:16px;font-family:inherit;color:var(--text);background:var(--card);border:1px solid #d5ddd7;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s;-moz-appearance:none;appearance:none;-webkit-appearance:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--river);box-shadow:0 0 0 3px rgba(27,108,168,.15)}.textarea{min-height:100px;resize:vertical}.select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.radio-group{display:flex;flex-direction:column;gap:.5rem}.choice{display:flex;align-items:center;gap:.75rem;min-height:44px;padding:.5rem .75rem;border:1.5px solid #d5ddd7;border-radius:8px;cursor:pointer;font-size:.95rem;transition:border-color .15s,background .15s}.choice:has(input[type=radio]:checked){border-color:var(--river);background:rgba(27,108,168,.07);color:var(--river-text);font-weight:600}.choice input[type=radio]{width:18px;height:18px;accent-color:var(--river);flex-shrink:0}.check-row{display:flex;align-items:center;gap:.75rem;min-height:44px;cursor:pointer;font-size:.95rem}.check-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--river);flex-shrink:0}.file-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:var(--card-3);border:1.5px dashed #d5ddd7;border-radius:8px;cursor:pointer;font-size:.9rem;color:var(--ink);transition:border-color .15s,background .15s;width:100%;justify-content:center;position:relative;overflow:hidden}.file-btn:hover{border-color:var(--river);background:rgba(27,108,168,.05)}.file-btn input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}.btn-submit{display:block;width:100%;padding:.875rem 1.5rem;min-height:48px;background:var(--river);color:#fff;font-size:1rem;font-weight:700;font-family:inherit;border:none;border-radius:8px;cursor:pointer;transition:background .15s,transform .1s;text-align:center}.btn-submit:hover:not(:disabled){background:#2379b8;transform:translateY(-1px)}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.btn-danger{display:inline-block;padding:.65rem 1.25rem;min-height:44px;background:transparent;color:var(--danger-text);font-size:.9rem;font-weight:600;font-family:inherit;border:1.5px solid #dc2626;border-radius:8px;cursor:pointer;transition:background .15s,color .15s;margin-top:.75rem}.btn-danger:hover{background:#dc2626;color:#fff}.form-error{color:var(--danger-text);font-size:.875rem;margin-top:.25rem;padding:.5rem .75rem;background:#fef2f2;border-radius:6px}.form-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.field fieldset{border:none;padding:0;margin:0}.mobile-tab-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tab-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1 1;padding:6px 4px 8px;text-decoration:none;font-weight:500;min-height:56px;transition:color .15s;-webkit-tap-highlight-color:transparent}.tab-item svg{width:22px;height:22px;flex-shrink:0}.tab-add{flex-direction:column;align-items:center;flex:1 1;text-decoration:none;padding:6px 4px 8px;gap:2px;-webkit-tap-highlight-color:transparent;background:none;border:none;cursor:pointer;font-family:inherit}.add-sheet-overlay,.tab-add{display:flex;justify-content:center}.add-sheet-overlay{position:fixed;inset:0;background:rgba(14,42,63,.45);z-index:200;align-items:flex-end;animation:sheet-fade-in .15s ease}@keyframes sheet-fade-in{0%{opacity:0}to{opacity:1}}.add-sheet{background:var(--card);border-radius:20px 20px 0 0;width:100%;max-width:480px;padding:.75rem 1.25rem 1.5rem;animation:sheet-slide-up .2s ease}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.add-sheet-handle{width:40px;height:4px;border-radius:2px;background:#d1d5db;margin:0 auto 1rem}.add-sheet-title{font-weight:700;font-size:1.05rem;margin-bottom:1rem;text-align:center}.add-sheet-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.add-sheet-item{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1rem .9rem;background:var(--card-2);border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);transition:border-color .15s,background .15s}.add-sheet-item:hover{border-color:var(--river);background:var(--card-tint)}.add-sheet-item-icon{width:36px;height:36px;border-radius:10px;background:rgba(27,108,168,.12);color:var(--river);display:flex;align-items:center;justify-content:center}.add-sheet-item-label{display:block;font-weight:600;font-size:.88rem}.add-sheet-item-desc{display:block;font-size:.76rem;color:var(--muted);margin-top:.15rem}.add-sheet-cancel{display:block;width:100%;padding:.75rem;background:var(--card-3);border:none;border-radius:12px;font-weight:600;font-size:.9rem;color:var(--text);cursor:pointer}[data-theme=dark] .add-sheet{background:#142230}[data-theme=dark] .add-sheet-item{border-color:#22374a}[data-theme=dark] .add-sheet-cancel,[data-theme=dark] .add-sheet-item{background:#0b1620;color:var(--text)}.tab-add-circle{width:48px;height:48px;border-radius:50%;background:var(--river);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(27,108,168,.4);transition:transform .1s,box-shadow .1s;margin-top:-14px}.tab-add:active .tab-add-circle{transform:scale(.95);box-shadow:0 1px 4px rgba(27,108,168,.4)}.catch-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.catch-card{display:flex;gap:.875rem;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.875rem;text-decoration:none;color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.06);transition:box-shadow .15s,transform .1s}.catch-card:hover{box-shadow:0 3px 8px rgba(0,0,0,.1)}.catch-card:active{transform:scale(.99)}.catch-card-thumb{object-fit:cover}.catch-card-thumb,.catch-card-thumb-placeholder{width:72px;height:72px;border-radius:6px;flex-shrink:0}.catch-card-thumb-placeholder{background:var(--mist);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted-2);font-size:1.5rem}.catch-card-body{flex:1 1;min-width:0}.catch-card-species{font-weight:700;font-size:1rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catch-card-scientific{font-size:.8rem;color:var(--muted);font-style:italic;margin-top:1px}.catch-card-date{font-size:.8rem;color:var(--muted);margin-top:.25rem}.catch-card-meta{font-size:.8rem;color:var(--text);margin-top:.25rem}.catch-card-spot{font-size:.8rem;color:var(--muted);margin-top:.25rem}.catch-card-chevron{color:#d1d5db;font-size:1.1rem;align-self:center;flex-shrink:0}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:.5rem}.page-header h1{font-size:clamp(1.25rem,4vw,1.75rem);margin:0}.link-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.45rem .9rem;background:var(--river);color:#fff;border-radius:6px;font-size:.85rem;font-weight:600;white-space:nowrap;transition:background .15s}.link-btn:hover{background:#2379b8}.dash-tile{display:block;background:var(--card);border-radius:12px;padding:1rem;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-top:3px solid var(--accent,var(--river));transition:box-shadow .15s}.dash-tile:hover{box-shadow:0 3px 10px rgba(0,0,0,.08)}.dash-tile-value{font-size:1.5rem;font-weight:800;color:var(--accent,var(--river-text));letter-spacing:-.03em;line-height:1}.dash-tile-label{font-size:.75rem;color:var(--muted-2);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-top:.35rem}.empty-state{background:var(--card);border:1px dashed #d1d5db;border-radius:14px;padding:3rem 1.5rem;text-align:center;margin-top:1rem}.empty-state-icon{align-items:center;margin:0 auto 1rem;width:64px;height:64px;border-radius:50%;background:color-mix(in srgb,var(--accent,#1b6ca8) 10%,transparent);color:var(--accent,#1b6ca8)}.empty-state-title{font-size:1.1rem;font-weight:700;color:var(--ink);margin:0 0 .5rem}.empty-state-text{color:var(--muted);font-size:.9rem;margin:0 0 1.5rem}.best-moment-card{background:linear-gradient(135deg,rgba(27,108,168,.06),rgba(72,108,79,.06));border:1px solid rgba(27,108,168,.15);border-radius:12px;padding:1rem 1.25rem}.best-moment-card p{font-size:.9rem;margin:0 0 .5rem;color:var(--ink)}.best-moment-caveat{font-size:.75rem;color:var(--muted-2);margin-top:.5rem;font-style:italic}[data-theme=dark] .best-moment-card{background:linear-gradient(135deg,rgba(27,108,168,.1),rgba(72,108,79,.08))}[data-theme=dark] .best-moment-card p{color:var(--text)}.view-toggle{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;flex-shrink:0}.view-toggle button{border:none;background:var(--card);padding:.5rem .7rem;cursor:pointer;color:#9ca3af;display:flex}.view-toggle button.on{background:var(--river,#1b6ca8);color:#fff}.cal-wrap{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem;margin-bottom:1rem}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.cal-header button{border:none;background:var(--card-3);border-radius:6px;padding:.35rem;cursor:pointer;color:var(--ink-bg);display:flex}.cal-title{font-weight:700;font-size:.95rem}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:3px;gap:3px}.cal-grid--weekdays{margin-bottom:.35rem}.cal-weekday{text-align:center;font-size:.75rem;color:var(--muted-2);font-weight:700}.cal-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;position:relative;font-size:.78rem;color:var(--muted)}.cal-cell--empty{visibility:hidden}.cal-cell--today{background:rgba(27,108,168,.08);font-weight:700}.cal-cell--active{background:rgba(72,108,79,.08)}.cal-daynum{line-height:1}.cal-catch-marker{display:flex;align-items:center;gap:.1rem;color:var(--moss-text);margin-top:.15rem}.cal-catch-count{font-size:.75rem;font-weight:700}[data-theme=dark] .cal-wrap{background:#142230;border-color:#22374a}[data-theme=dark] .view-toggle button{background:#142230}[data-theme=dark] .cal-header button{background:#0b1620;color:var(--text)}.compare-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:640px){.compare-grid{grid-template-columns:1fr}}.compare-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.25rem}.compare-card-header{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;color:var(--river-text)}.compare-card-place{font-weight:700;font-size:1rem;color:var(--ink)}.compare-card-date{font-size:.8rem;color:var(--muted)}.compare-stats{display:flex;flex-direction:column;gap:.6rem}.compare-stat{justify-content:space-between;padding:.4rem .6rem;border-radius:8px}.compare-stat,.compare-stat dt{display:flex;align-items:center}.compare-stat dt{gap:.35rem;font-size:.82rem;color:var(--muted)}.compare-stat dd{font-weight:700;font-size:.9rem}.compare-stat--win{background:rgba(72,108,79,.08)}.compare-stat--win dd{color:var(--moss-text)}[data-theme=dark] .compare-card{background:#142230;border-color:#22374a}.tag-input-row{display:flex}.tag-chip-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.tag-chip-editable{display:inline-flex;align-items:center;gap:.35rem;background:rgba(27,108,168,.1);color:var(--river,#1b6ca8);border:1px solid rgba(27,108,168,.2);border-radius:20px;padding:.25rem .4rem .25rem .7rem;font-size:.8rem}.tag-chip-editable button{border:none;background:none;color:inherit;cursor:pointer;font-size:1rem;line-height:1;padding:0 .2rem}.catch-card-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.35rem}.catch-tag-chip{font-size:.75rem;background:rgba(27,108,168,.08);color:var(--river,#1b6ca8);border-radius:10px;padding:.1rem .5rem}[data-theme=dark] .catch-tag-chip,[data-theme=dark] .tag-chip-editable{background:rgba(27,108,168,.2)}.print-page{max-width:900px;margin:0 auto;padding:2rem 1.5rem 4rem;font-family:var(--font-body);color:#0e2a3f}.print-btn{display:block;margin:0 0 1.5rem auto;padding:.6rem 1.25rem;background:var(--river,#1b6ca8);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.print-header{text-align:center;margin-bottom:1.5rem;border-bottom:2px solid var(--river,#1b6ca8);padding-bottom:1rem}.print-header h1{font-family:var(--font-display);font-size:1.6rem;margin:0 0 .25rem}.print-header p{color:var(--muted);font-size:.85rem;margin:0}.print-summary{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;text-align:center}.print-summary strong{display:block;font-size:1.3rem;color:var(--river,#1b6ca8)}.print-summary span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.print-table{width:100%;border-collapse:collapse;font-size:.82rem}.print-table td,.print-table th{border:1px solid var(--line);padding:.5rem .6rem;text-align:left;vertical-align:top}.print-table th{background:var(--card-2);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:#3d4a52}.print-table em{color:var(--muted-2);font-size:.75rem}@media print{.print-btn{display:none}.print-page{padding:0}.print-table tr{page-break-inside:avoid;break-inside:avoid}}.comment-row{display:flex;align-items:flex-start;gap:.6rem}.mention-link{color:var(--river,#1b6ca8);font-weight:600;text-decoration:none}.mention-link:hover{text-decoration:underline}.media-gallery-savedata{position:relative;display:block;width:100%;border:none;padding:0;cursor:pointer}.media-gallery-savedata img{width:100%;max-height:500px;object-fit:contain;filter:blur(1px)}.media-gallery-savedata span{position:absolute;bottom:.5rem;left:.5rem;right:.5rem;background:rgba(14,42,63,.75);color:#fff;font-size:.75rem;padding:.4rem .6rem;border-radius:6px;text-align:center}.media-gallery-main{border-radius:10px;overflow:hidden;background:#0e2d38}.media-gallery-main img,.media-gallery-main video{width:100%;max-height:500px;object-fit:contain;display:block}.media-gallery-thumbs{display:flex;gap:.4rem;margin-top:.5rem;overflow-x:auto}.media-gallery-thumb{border:2px solid transparent;border-radius:6px;padding:0;cursor:pointer;flex-shrink:0;overflow:hidden;width:56px;height:56px}.media-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}.media-gallery-thumb.on{border-color:var(--river,#1b6ca8)}.photo-preview-list{display:flex;flex-direction:column;gap:.3rem;margin-top:.5rem}.photo-preview-item{display:flex;justify-content:space-between;align-items:center;background:var(--card-2);border-radius:6px;padding:.35rem .6rem;font-size:.8rem}.photo-preview-item button{border:none;background:none;color:#9ca3af;cursor:pointer;font-size:1rem}[data-theme=dark] .photo-preview-item{background:#0b1620}.upload-progress{position:relative;height:32px;background:var(--card-3);border-radius:8px;overflow:hidden;margin-top:.75rem}.upload-progress-bar{position:absolute;inset:0 auto 0 0;background:var(--river,#1b6ca8);transition:width .15s ease}.upload-progress-label{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:100%;font-size:.78rem;font-weight:700;color:var(--ink);text-shadow:0 1px 0 hsla(0,0%,100%,.5)}.add-sheet-item,.cmdk-item,.feed-action-btn,.link-btn,.phero-btn,.pkx-chip,.pkx-toggle,.profile-cta-btn,.sidebar-cta,.tab-add-circle,button{transition:transform .12s ease,box-shadow .12s ease,background .15s ease,border-color .15s ease}.add-sheet-item:active,.feed-action-btn:active,.link-btn:active,.phero-btn:active,.profile-cta-btn:active,.sidebar-cta:active,button:active{transform:scale(.96)}@media (prefers-reduced-motion:reduce){.add-sheet-item,.cmdk-item,.feed-action-btn,.link-btn,.phero-btn,.pkx-chip,.pkx-toggle,.profile-cta-btn,.sidebar-cta,.tab-add-circle,button{transition:none}}.swipe-row-wrap{position:relative;overflow:hidden;border-radius:12px}.swipe-row-content{position:relative;z-index:1;background:var(--mist);touch-action:pan-y}.swipe-row-actions{position:absolute;top:0;right:0;bottom:0;display:flex;z-index:0}.swipe-row-action{flex:1 1;display:flex;align-items:center;justify-content:center;border:none;color:#fff;cursor:pointer;text-decoration:none}.swipe-row-action--edit{background:#6b7280}.swipe-row-action--delete{background:#ef4444}@media (min-width:760px){.swipe-row-actions{display:none}}.week-recap-card{position:relative;background:linear-gradient(135deg,rgba(27,108,168,.08),rgba(228,87,46,.06));border:1px solid rgba(27,108,168,.18);border-radius:14px;padding:1rem 1.25rem;margin:1rem 0}.week-recap-title{display:flex;align-items:center;gap:.4rem;font-weight:700;font-size:.9rem;color:var(--river-text);margin-bottom:.6rem}.week-recap-stats{display:flex;flex-wrap:wrap;gap:.9rem}.week-recap-stat{display:flex;align-items:center;gap:.35rem;font-size:.83rem;color:var(--ink)}.week-recap-close{position:absolute;top:.6rem;right:.7rem;border:none;background:none;font-size:1.2rem;color:#9ca3af;cursor:pointer;line-height:1}[data-theme=dark] .week-recap-card{background:linear-gradient(135deg,rgba(27,108,168,.1),rgba(228,87,46,.06));border-color:rgba(27,108,168,.25)}[data-theme=dark] .week-recap-stat{color:var(--text)}.inactivity-card{position:relative;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:1rem 1.25rem;margin:1rem 0}[data-theme=dark] .inactivity-card{background:hsla(48,97%,77%,.08);border-color:hsla(48,97%,77%,.25)}.rank-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.rank-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .5rem;border-radius:10px}.rank-row:nth-child(-n+3){background:rgba(228,87,46,.06)}.rank-pos{width:22px;text-align:center;color:var(--muted-2);font-size:.9rem}.rank-avatar,.rank-pos{font-weight:700;flex-shrink:0}.rank-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem}.rank-body{flex:1 1;display:flex;flex-direction:column;min-width:0}.rank-name{font-weight:600;font-size:.88rem;color:var(--ink);text-decoration:none}.rank-name:hover{text-decoration:underline}.rank-meta{font-size:.76rem;color:var(--muted)}.rank-value{font-weight:700;font-size:.88rem;color:var(--river-text);flex-shrink:0}[data-theme=dark] .rank-name{color:var(--text)}@keyframes skel-pulse{0%,to{opacity:.55}50%{opacity:1}}.skel-block,.skel-card-thumb,.skel-tile{background:linear-gradient(90deg,var(--line) 25%,var(--card-3) 37%,var(--line) 63%);background-size:400% 100%;animation:skel-shimmer 1.4s ease infinite}@keyframes skel-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.skel-card{display:flex;gap:.875rem;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.875rem}.skel-card-thumb{width:56px;height:56px;border-radius:10px;flex-shrink:0}.skel-card-body{flex:1 1}.skel-tile{aspect-ratio:1;border-radius:12px}[data-theme=dark] .skel-card{background:#142230;border-color:#22374a}[data-theme=dark] .skel-block,[data-theme=dark] .skel-card-thumb,[data-theme=dark] .skel-tile{background:linear-gradient(90deg,#22374a 25%,#274a58 37%,#22374a 63%);background-size:400% 100%}.catch-celebration{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0deg);opacity:1}to{transform:translateY(340px) rotate(280deg);opacity:0}}.feed-action-icon,.feed-species-chip,.feed-stat{display:inline-flex;align-items:center;gap:.3rem}.icon-filled{color:#ef4444;fill:#ef4444}.trip-active-banner{display:flex;align-items:center;gap:1rem;background:rgba(34,197,94,.08);border:1.5px solid #22c55e;border-radius:12px;padding:.875rem 1rem;margin-bottom:1rem}.trip-active-dot{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.25);flex-shrink:0;animation:pulse-dot 1.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 3px rgba(34,197,94,.25)}50%{box-shadow:0 0 0 6px rgba(34,197,94,.1)}}.trip-active-label{font-size:.75rem;font-weight:700;color:#16a34a;text-transform:uppercase;letter-spacing:.04em}.trip-active-name{font-size:.95rem;font-weight:600;color:var(--ink)}.trip-active-body{flex:1 1}.trips-list{display:flex;flex-direction:column;gap:.75rem}.trip-card{display:flex;gap:.875rem;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.875rem;text-decoration:none;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.05);transition:box-shadow .15s,transform .1s}.trip-card:hover{box-shadow:0 3px 10px rgba(0,0,0,.09)}.trip-card:active{transform:scale(.99)}.trip-card-thumb{background-size:cover;background-position:50%}.trip-card-thumb,.trip-card-thumb-placeholder{width:64px;height:64px;border-radius:8px;flex-shrink:0}.trip-card-thumb-placeholder{background:var(--mist);display:flex;align-items:center;justify-content:center;font-size:1.75rem}.trip-card-body{flex:1 1;min-width:0}.trip-card-header-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.2rem}.trip-card-place{font-weight:700;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trip-card-active-badge{background:#276b43;color:#fff;font-size:.75rem;font-weight:700;padding:1px 7px;border-radius:9999px;flex-shrink:0}.trip-card-date{font-size:.8rem;color:var(--muted)}.trip-card-meta{font-size:.8rem;color:var(--text);margin-top:.2rem;display:flex;gap:.5rem;flex-wrap:wrap}.trip-card-species{color:var(--river-text);font-weight:500}.spots-list{display:flex;flex-direction:column;gap:.75rem}.spot-card{display:flex;gap:.875rem;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem;text-decoration:none;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.05);transition:box-shadow .15s}.spot-card:hover{box-shadow:0 3px 10px rgba(0,0,0,.09)}.spot-card-pin{font-size:1.5rem;flex-shrink:0;margin-top:.1rem}.spot-card-body{flex:1 1;min-width:0}.spot-card-name{font-weight:700;font-size:.95rem;margin-bottom:.15rem}.spot-card-folder{font-size:.8rem;color:var(--muted);margin-bottom:.15rem}.spot-card-coords{font-size:.78rem;color:var(--muted-2);font-family:monospace;margin-bottom:.25rem}.spot-card-meta{font-size:.8rem;color:var(--text)}.spot-card-notes{font-size:.8rem;color:var(--muted);margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.75rem;gap:.75rem;margin-bottom:1.5rem}@media (min-width:480px){.stats-kpi-grid{grid-template-columns:repeat(4,1fr)}}.stats-kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem;text-align:center}.stats-kpi-value{font-size:2rem;font-weight:800;letter-spacing:-.03em;line-height:1}.stats-kpi-label{font-size:.75rem;color:var(--muted-2);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-top:.35rem}.stats-section{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.25rem;margin-bottom:.75rem}.stats-section-title{font-size:.9rem;font-weight:700;color:var(--ink);margin:0 0 1rem;text-transform:uppercase;letter-spacing:.04em}.stats-avg-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:.75rem;gap:.75rem}.stats-avg-card{background:var(--mist);border-radius:10px;padding:.875rem;text-align:center}.stats-avg-icon{font-size:1.25rem;margin-bottom:.35rem}.stats-avg-value{font-size:1.15rem;font-weight:800;color:var(--ink);letter-spacing:-.02em}.stats-avg-label{font-size:.75rem;color:var(--muted-2);margin-top:.15rem}.stats-bar-chart{display:flex;flex-direction:column;gap:.6rem}.stats-bar-row{display:flex;align-items:center;gap:.75rem}.stats-bar-label{width:80px;flex-shrink:0;font-size:.78rem;color:var(--muted);text-align:right}.stats-bar-track{flex:1 1;height:20px;background:var(--mist);border-radius:6px;overflow:hidden}.stats-bar-fill{height:100%;background:var(--river);border-radius:6px;transition:width .4s ease;min-width:4px}.stats-bar-count{width:28px;text-align:right;font-size:.8rem;font-weight:700;color:var(--ink)}.stats-tech-chips{display:flex;flex-wrap:wrap;gap:.5rem}.stats-tech-chip{display:flex;align-items:center;gap:.5rem;background:var(--mist);border-radius:8px;padding:.4rem .75rem}.stats-tech-name{font-size:.85rem;color:var(--ink)}.stats-tech-count{background:var(--river);color:#fff;font-size:.75rem;font-weight:700;padding:1px 6px;border-radius:100px}.feed-page{display:flex;flex-direction:column;gap:1rem}.feed-mode-tabs{display:flex;gap:.25rem;background:var(--card-3);padding:.25rem;border-radius:10px}.feed-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0}.feed-filters .select{max-width:200px}.feed-mode-tab{flex:1 1;padding:.6rem 1rem;border:none;background:transparent;border-radius:8px;font-size:.875rem;font-weight:600;color:var(--muted);cursor:pointer;transition:background .15s,color .15s;font-family:inherit}.feed-mode-tab.active{background:var(--card);color:var(--river-text);box-shadow:0 1px 4px rgba(0,0,0,.08)}.feed-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem;color:var(--muted)}.feed-spinner{width:32px;height:32px;border:3px solid var(--line);border-top-color:var(--river);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.feed-empty-cta{display:inline-block;padding:.65rem 1.5rem;background:var(--river);color:#fff;border-radius:8px;font-weight:700;font-size:.9rem;border:none;cursor:pointer;font-family:inherit}.feed-list{display:flex;flex-direction:column;gap:1rem}.feed-card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 4px rgba(0,0,0,.06)}.feed-card-header{gap:.75rem;padding:.875rem 1rem .625rem}.feed-avatar,.feed-card-header{display:flex;align-items:center}.feed-avatar{width:40px;height:40px;border-radius:50%;justify-content:center;color:#fff;font-size:.85rem;font-weight:700;text-decoration:none;flex-shrink:0;letter-spacing:-.02em}.feed-meta{flex:1 1;min-width:0}.feed-pseudo{font-weight:700;font-size:.9rem;color:var(--ink);text-decoration:none;display:block}.feed-pseudo:hover{color:var(--river-text)}.feed-time{font-size:.75rem;color:var(--muted-2)}.feed-species-chip{font-size:.78rem;padding:.25rem .65rem;border-radius:100px;text-decoration:none;white-space:nowrap;flex-shrink:0}.feed-photo-wrap{width:100%;max-height:360px;overflow:hidden}@media (max-width:640px){.feed-card{border-radius:0;border-left:none;border-right:none;margin:0 -1rem}.feed-photo-wrap{max-height:70vh}}.feed-photo{width:100%;height:100%;object-fit:cover;display:block}.feed-stats-strip{display:flex;gap:.75rem;flex-wrap:wrap;padding:.625rem 1rem}.feed-stat{font-size:.8rem;color:#4b5563;background:var(--mist);padding:.2rem .6rem;border-radius:6px}.feed-notes{padding:0 1rem .5rem;font-size:.9rem;color:var(--text);line-height:1.6}.feed-actions{gap:.25rem;border-top:1px solid #f1f4f7}.feed-action-btn,.feed-actions{display:flex;padding:.5rem .75rem}.feed-action-btn{align-items:center;gap:.35rem;border:none;background:transparent;border-radius:8px;font-size:.85rem;color:var(--muted);cursor:pointer;font-family:inherit;text-decoration:none;transition:background .15s,color .15s}.feed-action-btn:hover{background:var(--mist);color:var(--ink-bg)}.feed-action-btn--liked{color:#e53e3e}.feed-action-icon{font-size:1rem}.feed-comment-box{padding:.75rem 1rem;border-top:1px solid #f1f4f7}.feed-comment-input{width:100%;border:1.5px solid #d5ddd7;border-radius:8px;padding:.6rem .75rem;font-size:.9rem;font-family:inherit;resize:none;outline:none;transition:border-color .15s}.feed-comment-input:focus{border-color:var(--river)}.feed-comment-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.feed-comment-cancel{background:transparent;color:var(--muted)}.feed-comment-cancel,.feed-comment-submit{padding:.45rem 1rem;border:none;font-size:.85rem;cursor:pointer;font-family:inherit;border-radius:6px}.feed-comment-submit{background:var(--river);color:#fff;font-weight:600;transition:opacity .15s}.feed-comment-submit:disabled{opacity:.5;cursor:not-allowed}.feed-load-more{display:block;width:100%;padding:.875rem;border:1.5px solid var(--line);background:var(--card);border-radius:10px;font-size:.9rem;font-weight:600;color:var(--river-text);cursor:pointer;font-family:inherit;text-align:center;transition:background .15s}.feed-load-more:hover{background:var(--mist)}.feed-load-more:disabled{color:var(--muted-2);cursor:not-allowed}.pecheurs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:1rem;gap:1rem}.pecheur-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.25rem;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;transition:box-shadow .15s,transform .1s;position:relative}.pecheur-card:hover{box-shadow:0 4px 14px rgba(0,0,0,.1);transform:translateY(-2px)}.pecheur-card-avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.pecheur-card-pseudo{font-size:.95rem;font-weight:700;color:var(--ink)}.pecheur-card-bio,.pecheur-card-region{font-size:.8rem;color:var(--muted)}.pecheur-card-bio{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pecheur-card-stats{font-size:.78rem;color:var(--muted-2);display:flex;gap:.4rem}.pecheur-card-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem;margin-top:.25rem}.pecheur-card-following-badge{position:absolute;top:.75rem;right:.75rem;background:rgba(27,108,168,.1);color:var(--river-text);font-size:.75rem;font-weight:700;padding:.15rem .5rem;border-radius:100px}.follow-btn{padding:.55rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:700;font-family:inherit;cursor:pointer;border:1.5px solid transparent;transition:background .15s,color .15s,border-color .15s}.follow-btn--not-following{background:var(--river);color:#fff;border-color:var(--river)}.follow-btn--following{background:transparent;color:var(--river-text);border-color:var(--river)}.follow-btn:disabled{opacity:.6;cursor:not-allowed}.app-shell{min-height:100vh;min-height:100dvh}.sidebar{display:none;position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);z-index:60;background:var(--ink-bg);color:var(--sand);overflow:hidden}.sidebar-depth{position:absolute;inset:0;width:100%;height:100%;color:var(--river-text);opacity:.5;pointer-events:none}.sidebar-inner{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;padding:1.25rem .875rem 1rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(236,242,246,.2) transparent}.sidebar-inner::-webkit-scrollbar{width:6px}.sidebar-inner::-webkit-scrollbar-thumb{background:rgba(236,242,246,.18);border-radius:3px}.sidebar-brand{display:flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-size:1.3rem;font-weight:600;font-variation-settings:"SOFT" 30,"WONK" 1,"opsz" 32;letter-spacing:-.01em;color:var(--sand);text-decoration:none;padding:.25rem .5rem 0;margin-bottom:1.25rem}.sidebar-brand-mark{width:26px;height:26px;color:var(--river-text);flex-shrink:0}.sidebar-brand-mark svg{width:100%;height:100%}.sidebar-cta{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1rem;margin-bottom:1.5rem;background:var(--river);color:#fff;border-radius:9px;font-size:.875rem;font-weight:600;text-decoration:none;border:none;width:100%;cursor:pointer;font-family:inherit;transition:background .18s ease,transform .12s ease}.sidebar-cta svg{width:16px;height:16px;flex-shrink:0}.sidebar-cta:hover{background:var(--season-accent,#1b90b3)}.sidebar-cta:active{transform:scale(.985)}.sidebar-nav{display:flex;flex-direction:column;gap:1.35rem;flex:1 1}.sidebar-link{position:relative;display:flex;align-items:center;gap:.7rem;padding:.52rem .7rem;border-radius:8px;font-size:.875rem;font-weight:500;color:rgba(236,242,246,.72);text-decoration:none;transition:background .16s ease,color .16s ease}.sidebar-link-icon{width:18px;height:18px;flex-shrink:0;opacity:.85}.sidebar-link-icon svg{width:100%;height:100%}.sidebar-link:hover{background:rgba(236,242,246,.07);color:var(--sand)}.sidebar-link.is-active{background:rgba(27,108,168,.22);color:#fff;font-weight:600}.sidebar-link.is-active:before{content:"";position:absolute;left:-.875rem;top:50%;transform:translateY(-50%);width:3px;height:18px;background:var(--sunset);border-radius:0 3px 3px 0}.sidebar-foot{margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(236,242,246,.1)}.sidebar-user{display:flex;align-items:center;gap:.65rem;padding:.5rem .7rem;border-radius:9px;text-decoration:none;transition:background .16s ease}.sidebar-user:hover{background:rgba(236,242,246,.07)}.sidebar-user-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:700;letter-spacing:-.01em;flex-shrink:0}.sidebar-user-meta{min-width:0;display:flex;flex-direction:column}.sidebar-user-name{font-size:.84rem;font-weight:600;color:var(--sand);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-link{font-size:.75rem;color:rgba(236,242,246,.45)}.sidebar-foot-actions{display:flex;gap:.35rem;margin-top:.5rem}.sidebar-foot-btn{flex:1 1;padding:.42rem .5rem;background:transparent;border:1px solid rgba(236,242,246,.14);border-radius:7px;font-family:inherit;font-size:.75rem;color:rgba(236,242,246,.6);text-align:center;text-decoration:none;cursor:pointer;transition:border-color .16s ease,color .16s ease}.sidebar-foot-btn:hover{border-color:rgba(236,242,246,.32);color:var(--sand)}.mobile-topbar{position:-webkit-sticky;position:sticky;z-index:90;height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1rem;background:hsla(0,0%,100%,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #e7ebe8}.mobile-topbar-brand{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:1.08rem;font-weight:600;font-variation-settings:"SOFT" 30,"WONK" 1,"opsz" 24;color:var(--ink);text-decoration:none;letter-spacing:-.01em}.mobile-topbar-brand svg{width:22px;height:22px;color:var(--river-text);flex-shrink:0}.mobile-topbar-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:700;text-decoration:none;flex-shrink:0}.mobile-topbar-actions{display:flex;align-items:center;gap:.4rem}.notif-bell-wrap{position:relative}.notif-bell-btn{position:relative;width:34px;height:34px;border-radius:50%;border:none;background:rgba(27,108,168,.08);color:var(--ink);cursor:pointer}.notif-bell-badge,.notif-bell-btn{display:flex;align-items:center;justify-content:center}.notif-bell-badge{position:absolute;top:-3px;right:-3px;background:#ef4444;color:#fff;font-size:.75rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;padding:0 3px;border:2px solid #fff}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-height:420px;overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(14,42,63,.18);z-index:150}.notif-panel-title{padding:.9rem 1rem .5rem;font-weight:700;font-size:.92rem}.notif-panel-empty{padding:1.5rem 1rem;text-align:center;color:var(--muted-2);font-size:.85rem}.notif-panel-list{display:flex;flex-direction:column;padding-bottom:.4rem}.notif-item{display:flex;align-items:flex-start;gap:.6rem;padding:.65rem 1rem;text-decoration:none;color:var(--ink);border:none;background:none;text-align:left;width:100%;cursor:default;position:relative}a.notif-item:hover{background:var(--card-2);cursor:pointer}.notif-item-icon{width:26px;height:26px;border-radius:50%;background:var(--card-3);color:var(--river);display:flex;align-items:center;justify-content:center;flex-shrink:0}.notif-item-body{display:flex;flex-direction:column;gap:.15rem;flex:1 1}.notif-item-text{font-size:.83rem;line-height:1.4}.notif-item-time{font-size:.75rem;color:var(--muted-2)}.notif-item-dot{width:7px;height:7px;border-radius:50%;background:var(--river);flex-shrink:0;margin-top:.4rem}[data-theme=dark] .notif-panel{background:#142230;border-color:#22374a}a.notif-item[href]:hover{background:#0b1620}.cmdk-trigger-bar{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:rgba(236,242,246,.08);border:1px solid rgba(236,242,246,.15);border-radius:8px;color:rgba(236,242,246,.7);font-size:.82rem;cursor:pointer;margin-bottom:.75rem}.cmdk-trigger-bar kbd{margin-left:auto;font-size:.75rem;background:rgba(236,242,246,.12);padding:.1rem .35rem;border-radius:4px}.sidebar-top-actions{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.sidebar-top-actions .notif-bell-btn{background:rgba(236,242,246,.08);color:var(--sand);flex-shrink:0}.sidebar-top-actions .notif-panel{right:auto;left:0}.cmdk-overlay{position:fixed;inset:0;background:rgba(14,42,63,.5);z-index:300;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}.cmdk-panel{background:var(--card);width:100%;max-width:560px;margin:0 1rem;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);overflow:hidden;max-height:70vh;display:flex;flex-direction:column}.cmdk-input-row{display:flex;align-items:center;gap:.6rem;padding:1rem 1.1rem;border-bottom:1px solid var(--line);color:var(--muted)}.cmdk-input{flex:1 1;border:none;outline:none;font-size:.95rem;background:none;color:var(--ink-bg)}.cmdk-esc{font-size:.75rem;color:var(--muted-2);border:1px solid var(--line);border-radius:4px;padding:.1rem .4rem}.cmdk-results{overflow-y:auto;padding:.5rem 0}.cmdk-empty{padding:1.5rem;text-align:center;color:var(--muted-2);font-size:.85rem}.cmdk-group{padding:.4rem 0}.cmdk-group-label{padding:.3rem 1.1rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-2)}.cmdk-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem 1.1rem;border:none;background:none;text-align:left;font-size:.88rem;color:var(--ink);cursor:pointer}.cmdk-item:hover{background:var(--card-tint);color:var(--river)}[data-theme=dark] .cmdk-panel{background:#142230}[data-theme=dark] .cmdk-input-row{border-color:#22374a}[data-theme=dark] .cmdk-item:hover{background:#0b1620}.app-main{padding:1.25rem 1rem}.app-main-inner{max-width:1180px;margin:0 auto}.page-transition{animation:page-in .35s cubic-bezier(.22,1,.36,1) both}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.page-transition{animation:none}}@media (min-width:1024px){.sidebar{display:block}.mobile-topbar{display:none}.app-main{margin-left:var(--sidebar-w);padding:2.25rem 2.5rem 4rem}}@media (max-width:1023px){.app-main{padding-bottom:calc(120px + env(safe-area-inset-bottom))}.mobile-tab-bar{display:flex;justify-content:space-around;align-items:stretch}}@media (min-width:1024px){.mobile-tab-bar{display:none!important}.feed-page{max-width:620px}.form{max-width:560px}}@keyframes card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.dash-tile,.feed-card,.pecheur-card,.spot-card,.trip-card{transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s ease,border-color .2s ease}@media (hover:hover){.dash-tile:hover,.spot-card:hover,.trip-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(14,42,63,.1)}}@media (prefers-reduced-motion:reduce){.app-main-inner{animation:none}.dash-tile:hover,.pecheur-card:hover,.spot-card:hover,.trip-card:hover{transform:none}}.profile-section-title,.stats-section-title{font-family:var(--font-display);font-variation-settings:"SOFT" 20,"WONK" 1,"opsz" 20}.dash-tile-value,.feed-stat,.spot-card-coords,.stats-bar-count,.stats-kpi-value{font-family:var(--font-data);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.page-header h1{font-family:var(--font-display);font-variation-settings:"SOFT" 20,"WONK" 1,"opsz" 36;font-weight:600}.sr-wrap{opacity:0;transform:translateY(28px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}.sr-wrap.sr-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.sr-wrap{opacity:1;transform:none;transition:none}}@keyframes lhero-zoom{0%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes lhero-in{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}@keyframes bounce-down{0%,to{transform:translateX(-50%) translateY(0);opacity:.5}50%{transform:translateX(-50%) translateY(8px);opacity:1}}.pkx{margin-top:1.25rem}.pkx-search{position:relative;display:flex;align-items:center;background:var(--card);border:1px solid #e8ecef;border-radius:11px;padding:0 .9rem;margin-bottom:.9rem;transition:border-color .2s,box-shadow .2s}.pkx-search:focus-within{border-color:var(--river);box-shadow:0 0 0 3px rgba(27,108,168,.12)}.pkx-search svg{width:17px;height:17px;color:var(--muted-2);flex-shrink:0}.pkx-search input{flex:1 1;border:none;outline:none;background:none;font-family:inherit;font-size:.92rem;color:var(--ink);padding:.75rem .6rem;min-width:0}.pkx-search input::-webkit-search-cancel-button{cursor:pointer}.pkx-facets{display:flex;flex-direction:column;gap:.5rem}.pkx-mobile-filter-bar{display:none}.pkx-filter-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:9999px;border:1px solid rgba(27,108,168,.3);background:var(--mist);color:var(--text);font-size:.875rem;cursor:pointer;font-weight:500}.pkx-filter-btn.has-active{background:rgba(27,108,168,.12);border-color:var(--river);color:var(--river);font-weight:700}.pkx-sheet-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200}.pkx-sheet{position:fixed;bottom:0;left:0;right:0;z-index:201;background:var(--mist,#f4f8f9);border-radius:20px 20px 0 0;padding:1rem 1.25rem 2.5rem;box-shadow:0 -4px 32px rgba(0,0,0,.18);transform:translateY(100%);transition:transform .28s cubic-bezier(.25,.8,.25,1);max-height:80dvh;overflow-y:auto}.pkx-sheet--open{transform:translateY(0)}.pkx-sheet-handle{width:40px;height:4px;border-radius:2px;background:rgba(27,108,168,.25);margin:0 auto 1rem}.pkx-sheet-title{font-size:1rem;font-weight:700;margin-bottom:.75rem}[data-theme=dark] .pkx-sheet{background:#0b1620}@media (max-width:640px){.pkx-facets--desktop{display:none}.pkx-mobile-filter-bar{display:flex;margin-bottom:.5rem}}.pkx-row{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;padding-bottom:.15rem}.pkx-row::-webkit-scrollbar{display:none}.pkx-chip{flex-shrink:0;border:1px solid #e2e8ea;background:var(--card);color:#5b7683;font-family:inherit;font-size:.79rem;font-weight:600;padding:.42rem .8rem;border-radius:20px;cursor:pointer;white-space:nowrap;transition:background .18s,color .18s,border-color .18s}.pkx-chip:hover{border-color:var(--river-text);color:var(--river-text)}.pkx-chip.on{background:var(--deep-water);border-color:var(--deep-water);color:var(--sand)}.pkx-row--controls{flex-wrap:wrap;overflow:visible;gap:.45rem}.pkx-select{flex-shrink:0;border:1px solid #e2e8ea;background:var(--card);color:#40606e;font-family:inherit;font-size:.79rem;font-weight:600;padding:.42rem .6rem;border-radius:9px;cursor:pointer;max-width:100%}.pkx-select:focus{outline:2px solid rgba(27,108,168,.35);outline-offset:1px}.pkx-toggle{flex-shrink:0;border:1px solid #e2e8ea;background:var(--card);color:var(--muted);font-family:inherit;font-size:.79rem;font-weight:600;padding:.42rem .85rem;border-radius:9px;cursor:pointer;transition:background .18s,color .18s,border-color .18s}.pkx-toggle.on{background:rgba(228,87,46,.12);border-color:var(--sunset);color:var(--sunset-ink)}.pkx-resultbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.1rem 0 .25rem}.pkx-count{font-family:var(--font-data);font-size:.78rem;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pkx-reset{border:none;background:none;font-family:inherit;font-size:.78rem;font-weight:600;color:var(--river-text);cursor:pointer;padding:0}.pkx-reset:hover{text-decoration:underline}.empty-state-icon{color:var(--river-text);opacity:.38;display:flex;justify-content:center;margin-bottom:1rem;line-height:1}.catch-card-spot,.meta-ico,.pecheur-card-region,.privacy-note{display:inline-flex;align-items:center;gap:.32rem}.catch-card-spot svg,.meta-ico svg,.pecheur-card-region svg,.privacy-note svg{flex-shrink:0;opacity:.65}.privacy-note{color:var(--muted);font-size:.85rem;margin-bottom:1.5rem}.catch-card-thumb-placeholder,.spot-card-pin,.trip-card-thumb-placeholder{display:flex;align-items:center;justify-content:center;color:var(--river-text);opacity:.55}.auth-shell{min-height:100svh;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;background:var(--mist)}.auth-visual{position:relative;overflow:hidden;min-height:190px;display:flex;align-items:flex-end;padding:1.5rem;background:var(--deep-water)}.auth-visual-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}.auth-visual-scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,18,26,.9),rgba(6,18,26,.35) 60%,rgba(6,18,26,.5))}.auth-visual-body{position:relative}.auth-logo{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:1.4rem;font-weight:700;font-variation-settings:"SOFT" 20,"WONK" 1,"opsz" 24;color:#fff;letter-spacing:-.02em;text-shadow:0 2px 14px rgba(0,0,0,.5)}.auth-logo svg{width:24px;height:24px;color:var(--river-text)}.auth-quote{font-family:var(--font-display);font-size:1.05rem;font-style:italic;color:hsla(0,0%,100%,.85);margin:.6rem 0 0;max-width:340px;line-height:1.4;text-shadow:0 2px 14px rgba(0,0,0,.5)}.auth-panel{display:flex;align-items:center;justify-content:center;padding:2.25rem 1.5rem 3rem}.auth-panel-inner{width:100%;max-width:400px}.auth-back{display:inline-flex;align-items:center;gap:.3rem;font-size:.82rem;font-weight:600;color:var(--muted);margin-bottom:1.5rem;transition:color .2s,gap .2s}.auth-back svg{width:15px;height:15px}.auth-back:hover{color:var(--river-text);gap:.5rem}.auth-title{font-family:var(--font-display);font-size:clamp(1.7rem,4vw,2.15rem);font-weight:700;font-variation-settings:"SOFT" 20,"WONK" 1,"opsz" 40;letter-spacing:-.03em;line-height:1.1;color:var(--ink);margin:0 0 .5rem}.auth-sub{font-size:.92rem;color:var(--muted);margin:0 0 1.75rem;line-height:1.6}.auth-form{display:flex;flex-direction:column;gap:1.1rem}.auth-submit{width:100%;padding:.9rem 1.5rem;border:none;border-radius:10px;background:var(--river);color:#fff;font-family:inherit;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 3px 16px rgba(27,108,168,.3)}.auth-submit:hover:not(:disabled){background:#2379b8;transform:translateY(-1px);box-shadow:0 6px 22px rgba(27,108,168,.38)}.auth-submit:disabled{opacity:.6;cursor:default}.auth-perks{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;margin-top:.25rem}.auth-perks li{font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:.3rem}.auth-perks li:before{content:"✓";color:var(--moss-text);font-weight:700}.auth-footer{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid #e5e9ea;font-size:.88rem;color:var(--muted);text-align:center}.auth-link{color:var(--river-text);font-weight:600}.auth-link:hover{text-decoration:underline}.auth-dot{margin:0 .5rem;color:#cbd5d8}@media (min-width:900px){.auth-shell{grid-template-columns:45fr 55fr;grid-template-rows:1fr}.auth-visual{min-height:100svh;padding:3rem}.auth-quote{font-size:1.35rem;max-width:380px}.auth-panel{padding:3rem}}.phero{isolation:isolate;margin:calc(-1.25rem - var(--topbar-h)) -1rem 0;padding:calc(var(--topbar-h) + 1.75rem) 1.25rem 1.5rem;min-height:232px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--deep-water)}.phero--compact{min-height:176px}.phero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-2;animation:phero-zoom 14s ease-out both}@keyframes phero-zoom{0%{transform:scale(1.06)}to{transform:scale(1)}}.phero-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(6,18,26,.93),rgba(6,18,26,.55) 45%,rgba(6,18,26,.25)),linear-gradient(90deg,rgba(6,18,26,.5),rgba(6,18,26,0) 65%)}.phero--warm .phero-scrim{background:linear-gradient(0deg,rgba(28,14,4,.92),rgba(28,14,4,.5) 48%,rgba(28,14,4,.2)),linear-gradient(90deg,rgba(28,14,4,.45),rgba(28,14,4,0) 65%)}.phero-body{position:relative;animation:phero-in .7s cubic-bezier(.22,1,.36,1) both;animation-delay:.1s}@keyframes phero-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.phero-eyebrow{font-family:var(--font-data);font-size:.75rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--sunset);margin:0 0 .45rem;text-shadow:0 1px 12px rgba(0,0,0,.5)}.phero-title{font-family:var(--font-display);font-size:clamp(1.7rem,6.5vw,2.5rem);font-weight:700;font-variation-settings:"SOFT" 20,"WONK" 1,"opsz" 48;line-height:1.08;letter-spacing:-.03em;color:#fff;margin:0;text-shadow:0 2px 20px rgba(0,0,0,.45);text-wrap:balance}.phero-sub{font-family:var(--font-body);font-size:.95rem;line-height:1.45;max-width:38ch;color:hsla(0,0%,100%,.82);margin:.5rem 0 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-shadow:0 1px 10px rgba(0,0,0,.5)}.phero-actions{display:flex;gap:.6rem;margin-top:1.15rem;flex-wrap:wrap}.phero-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1.15rem;border-radius:10px;font-size:.86rem;font-weight:700;white-space:nowrap;transition:transform .15s,background .2s,box-shadow .2s}.phero-btn:active{transform:scale(.97)}.phero-btn--primary{background:var(--river);color:#fff;box-shadow:0 4px 18px rgba(27,108,168,.45)}.phero-btn--primary:hover{background:#2379b8}.phero-btn--glass{background:hsla(0,0%,100%,.14);color:#fff;border:1px solid hsla(0,0%,100%,.28);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.phero-btn--glass:hover,.phero-progress{background:hsla(0,0%,100%,.22)}.phero-progress{margin-top:1.15rem;height:6px;border-radius:6px;overflow:hidden;max-width:340px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.phero-progress-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--sunset),#f0b07a);box-shadow:0 0 14px rgba(228,87,46,.6);animation:phero-bar 1.1s cubic-bezier(.22,1,.36,1) both;animation-delay:.35s}@keyframes phero-bar{0%{width:0!important}}@media (min-width:1024px){.phero{margin:0;border-radius:18px;padding:2.5rem 2.25rem 2rem;min-height:268px}.phero--compact{min-height:200px;padding-top:2rem}}@media (prefers-reduced-motion:reduce){.phero-body,.phero-img{animation:none}}.mobile-topbar{position:fixed;top:0;left:0;right:0;background:transparent;border-bottom:1px solid transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .28s,border-color .28s,-webkit-backdrop-filter .28s;transition:background .28s,border-color .28s,backdrop-filter .28s;transition:background .28s,border-color .28s,backdrop-filter .28s,-webkit-backdrop-filter .28s}.mobile-topbar .mobile-topbar-brand{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.45)}.mobile-topbar .mobile-topbar-brand svg{color:#fff}body.tb-scrolled .mobile-topbar{background:hsla(0,0%,100%,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:#e7ebe8}body.tb-scrolled .mobile-topbar .mobile-topbar-brand{color:var(--ink);text-shadow:none}body.tb-scrolled .mobile-topbar .mobile-topbar-brand svg{color:var(--river-text)}body.tb-nohero .mobile-topbar{background:hsla(0,0%,100%,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:#e7ebe8}body.tb-nohero .mobile-topbar .mobile-topbar-brand{color:var(--ink);text-shadow:none}body.tb-nohero .mobile-topbar .mobile-topbar-brand svg{color:var(--river-text)}@media (max-width:1023px){.mobile-tab-bar{background:hsla(0,0%,100%,.86);backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);border-top:1px solid rgba(0,0,0,.06);box-shadow:0 -4px 24px rgba(14,42,63,.06)}}.tab-item{position:relative;gap:3px;font-size:10px;font-weight:600;color:var(--muted);transition:color .2s}.tab-item svg{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.tab-item.active{color:var(--river-text)}.tab-item.active svg{transform:translateY(-2px) scale(1.08)}.tab-item.active:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:22px;height:3px;border-radius:0 0 3px 3px;background:var(--river);animation:tab-pill .3s cubic-bezier(.22,1,.36,1) both}@keyframes tab-pill{0%{width:0;opacity:0}to{width:22px;opacity:1}}.tab-add-circle{width:52px;height:52px;margin-top:-18px;background:linear-gradient(145deg,var(--season-accent,#1f97b8),var(--river));box-shadow:0 6px 20px rgba(27,108,168,.45),0 0 0 4px hsla(0,0%,100%,.9);transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s}.tab-add:active .tab-add-circle{transform:scale(.92);box-shadow:0 2px 10px rgba(27,108,168,.5),0 0 0 4px hsla(0,0%,100%,.9)}@media (prefers-reduced-motion:reduce){.tab-item.active:before{animation:none}.tab-item.active svg{transform:none}}@media (max-width:1023px){.app-main{padding-top:calc(var(--topbar-h) + 1.25rem)}.stat-tile{min-height:118px;padding:.9rem .95rem 0;border-radius:13px}.stat-tile-value{font-size:1.95rem}.stat-tile-spark{margin:auto -.95rem 0;width:calc(100% + 1.9rem);height:28px}}@keyframes live-pulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.55)}70%{box-shadow:0 0 0 9px rgba(74,222,128,0)}to{box-shadow:0 0 0 0 rgba(74,222,128,0)}}.stat-tile{position:relative;overflow:hidden;background:var(--card);border:1px solid #e8ecef;border-radius:14px;padding:1.1rem 1.15rem 0;min-height:132px;display:flex;flex-direction:column;color:var(--ink);transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,border-color .25s}.stat-tile:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(14,42,63,.1);border-color:color-mix(in srgb,var(--accent) 35%,#e8ecef)}.stat-tile-glow{position:absolute;top:-40%;right:-30%;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,var(--accent) 0,transparent 70%);opacity:.1;pointer-events:none}.stat-tile-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;min-height:20px}.stat-tile-icon{color:var(--accent);display:inline-flex;opacity:.75}.stat-tile-delta{font-family:var(--font-data);font-size:.75rem;font-weight:700;padding:.15rem .45rem;border-radius:20px;letter-spacing:-.01em}.stat-tile-delta.up{color:#15803d;background:rgba(34,197,94,.12)}.stat-tile-delta.down{color:#b45309;background:rgba(245,158,11,.12)}[data-theme=dark] .stat-tile-icon,[data-theme=dark] .stat-tile-suffix,[data-theme=dark] .stat-tile-value{color:color-mix(in srgb,var(--accent) 52%,#fff)}[data-theme=dark] .stat-tile-suffix{opacity:.7}[data-theme=dark] .stat-tile-delta.up{color:#6ee7a0;background:rgba(34,197,94,.16)}[data-theme=dark] .stat-tile-delta.down{color:#fbbf5c;background:rgba(245,158,11,.16)}.stat-tile-value{font-family:var(--font-display);font-size:2.35rem;font-weight:700;font-variation-settings:"SOFT" 0,"WONK" 1,"opsz" 48;color:var(--accent);line-height:1;letter-spacing:-.045em}.stat-tile-suffix{font-family:var(--font-data);font-size:.95rem;font-weight:500;opacity:.45;letter-spacing:-.01em;margin-left:.1rem}.stat-tile-label{font-size:.75rem;font-weight:600;color:var(--muted-2);text-transform:uppercase;letter-spacing:.05em;margin-top:.4rem}.stat-tile-spark{margin:auto -1.15rem 0;width:calc(100% + 2.3rem);height:34px;display:block}.dash-card-title{display:flex;align-items:center;gap:.45rem;font-family:var(--font-display);font-size:1.02rem;font-weight:700;font-variation-settings:"SOFT" 20,"WONK" 1,"opsz" 20;letter-spacing:-.015em;color:var(--ink);margin:0}.dash-card-title svg{color:var(--river-text);flex-shrink:0}.heatmap-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.heatmap-sub{font-size:.8rem;color:var(--muted-2);margin:.2rem 0 0}.heatmap-legend{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--muted-2)}.heatmap-legend i{width:11px;height:11px;border-radius:2.5px;display:block}.heatmap-legend span:first-child{margin-right:.2rem}.heatmap-legend span:last-child{margin-left:.2rem}.heatmap-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding-bottom:.25rem}.heatmap-scroll svg{display:block;max-width:none}.heatmap-scroll rect{transition:fill .15s}.heatmap-scroll rect:hover{stroke:var(--river);stroke-width:1.2}.ring-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.ring-svg{display:block}.ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.ring-value{font-family:var(--font-display);font-size:2.4rem;font-weight:700;font-variation-settings:"SOFT" 0,"WONK" 1,"opsz" 48;color:var(--deep-water);line-height:1;letter-spacing:-.045em}.ring-total{font-family:var(--font-data);font-size:.8rem;color:var(--muted-2);margin-top:.15rem}@media (prefers-reduced-motion:reduce){.stat-tile:hover{transform:none}}.ai-detect-banner{margin-top:.75rem;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1.5px solid #86efac;border-radius:12px;padding:.85rem 1rem;font-size:.9rem}.ai-detect-banner.ai-detect-loading{background:var(--card-2);border-color:var(--line);color:var(--muted);display:flex;align-items:center;gap:.5rem}.ai-detect-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.4rem}.ai-detect-icon{font-size:1.1rem}.ai-detect-confidence{background:#10b981;color:#fff;border-radius:999px;padding:.1rem .5rem;font-size:.75rem;font-weight:700}.ai-detect-desc{margin:0 0 .3rem;color:var(--text)}.ai-detect-tips{margin:0 0 .6rem;color:var(--muted);font-size:.85rem}.ai-detect-actions{display:flex;gap:.5rem}.btn-small{padding:.3rem .8rem;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;border:none}.btn-primary{background:#10b981;color:#fff}.btn-primary:hover{background:#059669}.btn-ghost{background:transparent;color:#6b7280;border:1px solid #d1d5db}.btn-ghost:hover{background:var(--card-3)}.hourly-chart{align-items:flex-end;gap:2px;height:100px;padding-bottom:1.25rem}.hourly-bar-col,.hourly-chart{display:flex;position:relative}.hourly-bar-col{flex:1 1;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.hourly-bar{width:100%;border-radius:3px 3px 0 0;min-height:2px;transition:height .3s}.hourly-label{position:absolute;bottom:-1.1rem;font-size:.75rem;color:var(--muted-2);white-space:nowrap}.app-main{background:linear-gradient(180deg,#f1f7f9 0,var(--mist) 60%)}[data-theme=dark] .app-main{background:linear-gradient(180deg,#0a141a,#0b1620 60%)}.profile-section{border:1px solid var(--line);box-shadow:0 1px 2px rgba(14,42,63,.05),0 4px 14px rgba(14,42,63,.05)}[data-theme=dark] .profile-section{box-shadow:0 2px 10px rgba(0,0,0,.22)}.profile-section-title{position:relative;padding-left:.75rem}.profile-section-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:70%;background:var(--river);border-radius:2px}.spot-card,.trip-card{border:1.5px solid rgba(27,108,168,.1);box-shadow:0 1px 6px rgba(14,42,63,.07);transition:border-color .18s,box-shadow .18s,transform .15s}.spot-card:hover,.trip-card:hover{border-color:rgba(27,108,168,.3);box-shadow:0 4px 14px rgba(14,42,63,.12);transform:translateY(-1px)}.feed-card{border-radius:18px;border:1.5px solid rgba(27,108,168,.1);box-shadow:0 2px 12px rgba(14,42,63,.08);overflow:hidden}.poke-card{border:1.5px solid rgba(27,108,168,.14);box-shadow:0 2px 8px rgba(14,42,63,.07);transition:box-shadow .18s,transform .15s}.poke-card:hover{box-shadow:0 6px 20px rgba(27,108,168,.18);transform:translateY(-2px)}.poke-card.unlocked{border-color:rgba(27,108,168,.35);background:linear-gradient(135deg,var(--card) 0,var(--card-tint) 100%)}[data-theme=dark] .poke-card.unlocked{background:linear-gradient(135deg,#142230,#0f2530)}.stats-avg-card{border-top:3px solid var(--river);box-shadow:0 2px 10px rgba(14,42,63,.08)}.mobile-tab-bar{border-top:1.5px solid rgba(27,108,168,.18)!important;background:rgba(246,248,245,.96)!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}[data-theme=dark] .mobile-tab-bar{border-top-color:rgba(27,108,168,.25)!important;background:rgba(13,26,32,.97)!important}.sidebar-brand:hover .sidebar-brand-mark{filter:drop-shadow(0 0 6px rgba(27,108,168,.6))}.sidebar-cta{background:linear-gradient(135deg,#1b6ca8,#0e2a3f)!important;box-shadow:0 3px 12px rgba(18,52,77,.45)}.sidebar-cta:hover{background:linear-gradient(135deg,#2379b8,#155060)!important;box-shadow:0 4px 16px rgba(18,52,77,.55)}input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 4px rgba(27,108,168,.12)}.feed-species-chip{background:rgba(27,108,168,.1);border:1px solid rgba(27,108,168,.22);color:var(--river-text);border-radius:999px;padding:.2rem .6rem;font-size:.76rem;font-weight:600;display:inline-flex;align-items:center;gap:.3rem;transition:background .15s}.feed-species-chip:hover{background:rgba(27,108,168,.18)}.phero{position:relative;overflow:hidden}.phero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(14,42,63,.35));pointer-events:none}.btn-primary,.feed-comment-submit,.profile-cta-btn{background:linear-gradient(135deg,#1b6ca8,#155068);box-shadow:0 2px 8px rgba(27,108,168,.35);transition:background .18s,box-shadow .18s,transform .12s}.btn-primary:hover,.feed-comment-submit:hover,.profile-cta-btn:hover{background:linear-gradient(135deg,#2379b8,#1a6078);box-shadow:0 4px 14px rgba(27,108,168,.45);transform:translateY(-1px)}.app-main::-webkit-scrollbar{width:6px}.app-main::-webkit-scrollbar-thumb{background:rgba(27,108,168,.25);border-radius:3px}.app-main::-webkit-scrollbar-thumb:hover{background:rgba(27,108,168,.45)}[data-theme=dark] main dd,[data-theme=dark] main dt,[data-theme=dark] main li,[data-theme=dark] main>div>p,[data-theme=dark] main>h1,[data-theme=dark] main>h2,[data-theme=dark] main>p,[data-theme=dark] main>section p{color:var(--text)}[data-theme=dark] main nav a{color:var(--river-text)}[data-theme=dark] main section[style*=background],[data-theme=dark] main section[style*=background] dd,[data-theme=dark] main section[style*=background] dt,[data-theme=dark] main section[style*=background] li{color:var(--text)}[data-theme=dark] main ul li[style*=border-bottom]{border-bottom-color:hsla(0,0%,100%,.08)!important}.app-main{background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .3 0 0 0 0 .22 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}[data-theme=dark] .app-main{background:#0b1620}.sidebar{background:#0e2a3f}.sidebar:before{content:"";position:absolute;inset:0;background:url(/topo.svg) left -340px top -120px/900px auto no-repeat;opacity:.12;pointer-events:none}.sidebar-depth{display:none}.sidebar-brand{font-weight:900;font-size:1.5rem;letter-spacing:-.03em;font-variation-settings:"opsz" 72,"SOFT" 30}.sidebar-brand-mark{color:#8cc6ee}.sidebar-cta,.sidebar-cta:hover{background:#1b6ca8!important;box-shadow:0 4px 0 -1px #0f4469!important;border-radius:999px;font-weight:700}.sidebar-cta:hover{background:#14578a!important;transform:translateY(-1px)}.app-main h1{letter-spacing:-.03em}.app-main h1,.app-main h2{font-weight:800}.feed-card,.poke-card,.profile-section,.spot-card,.stats-avg-card,.trip-card{border-color:var(--line)}.stats-avg-card{border-top-color:#e4572e}.profile-section-title:before{background:#e4572e}.btn-primary,.feed-comment-submit,.profile-cta-btn{background:#1b6ca8;box-shadow:0 3px 0 -1px #0e2a3f}.btn-primary:hover,.feed-comment-submit:hover,.profile-cta-btn:hover{background:#0e2a3f}.mobile-tab-bar{background:hsla(0,0%,100%,.96)!important;border-top-color:var(--trait)!important}.feed-species-chip{background:var(--eau);border-color:rgba(27,108,168,.25);color:#0e2a3f}[data-theme=dark] .feed-species-chip{background:rgba(27,108,168,.18);color:var(--river-text)}[data-theme=dark] .sidebar{background:#09131c}.tab-add-circle{background:#1b6ca8!important;box-shadow:0 4px 0 -1px #0f4469,0 0 0 4px var(--paper)!important}[data-theme=dark] .tab-add-circle{box-shadow:0 4px 0 -1px #0f4469,0 0 0 4px #0b1620!important}.mobile-topbar,[data-theme=dark] .mobile-topbar,[data-theme=dark] body.tb-scrolled .mobile-topbar,body.tb-scrolled .mobile-topbar{background:rgba(18,52,77,.97)!important;border-bottom:1px solid rgba(236,242,246,.12)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.mobile-topbar .mobile-topbar-brand,body.tb-scrolled .mobile-topbar .mobile-topbar-brand{color:#f4f6f8!important;text-shadow:none!important;font-weight:900;letter-spacing:-.02em}.mobile-topbar .mobile-topbar-brand svg,body.tb-scrolled .mobile-topbar .mobile-topbar-brand svg{color:#8cc6ee!important}.mobile-topbar .notif-bell-btn{color:#f4f6f8!important;background:rgba(236,242,246,.1)!important;border-color:rgba(236,242,246,.18)!important}.mobile-topbar-avatar{background:#e4572e!important}.add-sheet{background:var(--paper);border-top:3px solid #e4572e}.add-sheet-handle{background:var(--trait)}.add-sheet-title{font-family:var(--font-display);font-weight:900;font-size:1.3rem}.add-sheet-item{background:var(--card)}.add-sheet-item-icon{background:var(--eau);color:#0e2a3f}[data-theme=dark] .add-sheet{background:#101c28}[data-theme=dark] .add-sheet-item-icon{background:rgba(27,108,168,.2);color:var(--river-text)}.auth-submit,.btn-submit,.profile-cta-btn{background:#1b6ca8!important;color:#fff!important;border:0!important;border-radius:14px!important;min-height:48px;font-weight:700!important;box-shadow:0 4px 0 #0f4469!important}.auth-submit:hover,.btn-submit:hover:not(:disabled),.profile-cta-btn:hover{background:#14578a!important}.auth-submit:active,.profile-cta-btn:active{transform:translateY(3px);box-shadow:0 1px 0 #0f4469!important}@media screen and (max-width:700px){.print-table{display:block;overflow-x:auto}}.field-hint{display:block;margin-top:.3rem;font-size:.8rem;color:var(--muted);line-height:1.4}.sph{position:relative;display:inline-block;flex:none;overflow:hidden;background:#0e2a3f;vertical-align:middle}.sph--round{border-radius:50%;box-shadow:0 0 0 1px rgba(18,52,77,.12)}.sph--soft{border-radius:10px}.sph--fill{position:absolute;inset:0;width:100%;height:100%}.sph-img{object-fit:cover;object-position:center}.sph.is-muted .sph-img{filter:grayscale(.85) brightness(.92)}