:root{--bg:#0a0e1a;--surface:#0a121ee6;--surface-alt:#ffffff08;--border:#00aaff40;--border-hover:#00aaff80;--border-subtle:#ffffff14;--accent:#0af;--accent-hover:#3bf;--accent-dim:#00aaff1f;--text:#fff;--text-muted:#fff9;--text-dim:#888;--text-secondary:#aaa;--danger:#dc3545;--danger-hover:#e74c3c;--input-bg:#ffffff0f;--input-border:#ffffff1f;--input-border-focus:#0af9;--input-shadow-focus:0 0 0 3px #00aaff1f;--font:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue",sans-serif;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--transition:0.2s ease;--transition-slow:0.3s ease;--shadow:0 4px 24px #0006;--shadow-hover:0 8px 32px #00000080;--glow:0 0 40px #00aaff0f;--glow-hover:0 0 50px #00aaff1f}*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0e1a;background:var(--bg);color:#fff;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-family:var(--font);margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.page-container{background:#0a0e1a;background:var(--bg);color:#fff;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-family:var(--font);margin:0 auto;max-width:1400px;min-height:100vh;padding:32px;padding:var(--space-xl)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-md);padding:16px;padding:var(--space-md)}.panel-title{color:var(--accent);margin:0 0 var(--space-md) 0}.btn-primary{background:#0af;background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#000;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-family:var(--font);font-size:.95rem;font-weight:600;letter-spacing:.2px;padding:10px 20px;transition:background .2s ease;transition:background var(--transition)}.btn-primary:hover{background:#3bf;background:var(--accent-hover)}.btn-ghost{background:#ffffff14;border:1px solid #fff3;border-radius:8px;border-radius:var(--radius-sm);color:#fff;color:var(--text);cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-family:var(--font);font-size:.95rem;padding:10px 20px;transition:background .2s ease;transition:background var(--transition)}.btn-ghost:hover{background:#ffffff24}.btn-danger{background:#dc3545;background:var(--danger);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-family:var(--font);font-size:.88rem;padding:8px 14px;transition:background .2s ease;transition:background var(--transition)}.btn-danger:hover{background:#e74c3c;background:var(--danger-hover)}.input-field{background:#ffffff0f;background:var(--input-bg);border:1px solid #ffffff1f;border:1px solid var(--input-border);border-radius:8px;border-radius:var(--radius-sm);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-family:var(--font);font-size:.95rem;outline:none;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.input-field,select option{color:#fff;color:var(--text)}select option{background:#1a2035}.input-field::placeholder{color:#ffffff59}.input-field:focus{border-color:#0af9;border-color:var(--input-border-focus);box-shadow:0 0 0 3px #00aaff1f;box-shadow:var(--input-shadow-focus)}.page-title{color:#fff;color:var(--text);font-size:2rem;font-weight:700;margin:0 0 24px;margin:0 0 var(--space-lg) 0}.section-heading{border-bottom:1px solid #00aaff40;border-bottom:1px solid var(--border);color:#0af;color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.1em;margin:0 0 16px;margin:0 0 var(--space-md) 0;padding-bottom:8px;text-transform:uppercase}.back-btn{align-items:center;background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;border-radius:var(--radius-sm);color:#fff;color:var(--text);cursor:pointer;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-family:var(--font);font-size:.9rem;gap:6px;margin-bottom:24px;margin-bottom:var(--space-lg);padding:9px 18px;text-decoration:none;transition:background .2s ease;transition:background var(--transition)}.back-btn:hover{background:#ffffff24}.loading-screen{background:#0a0e1a;background:var(--bg);color:#888;color:var(--text-dim);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-family:var(--font);font-size:1rem;min-height:100vh}.loading-screen,.splash-screen{align-items:center;display:flex;justify-content:center}.splash-screen{background-image:url(http://localhost:3000/assets/fish-splash-bg.png);background-position:50%;background-repeat:no-repeat;background-size:cover;cursor:pointer;height:100vh}.splash-title{color:#fff;font-family:var(--font);font-size:4.5rem;font-weight:700;letter-spacing:.02em;text-shadow:0 2px 20px #000000b3,0 0 40px #00aaff4d}.fish-tile{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow),var(--glow);cursor:pointer;overflow:hidden;padding:0;text-align:center;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;width:160px}.fish-tile:hover{border-color:var(--border-hover);box-shadow:var(--shadow-hover),var(--glow-hover);transform:translateY(-4px)}.fish-tile .fish-image-small{padding:10px 10px 0}.fish-tile .fish-image-small img{background-color:#0000004d;border:1px solid var(--border);border-radius:8px;height:120px;object-fit:cover;width:100%}.fish-tile .fish-info{color:var(--text-secondary);padding:8px 10px 12px}.fish-tile .fish-info p{font-size:.85rem;line-height:1.3;margin:4px 0}.fish-tile .fish-info p strong{color:var(--accent)}.fish-tile .fish-info p strong em{font-weight:600}.fish-tile .fish-info p em{color:#0afc;font-size:.8rem}@media (max-width:640px){.fish-tile{width:140px}.fish-tile .fish-image-small img{height:100px}}.trip-tile{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow),var(--glow);color:var(--text);display:flex;flex-direction:column;height:500px;overflow:hidden;padding:0;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;width:300px}.trip-tile:hover{border-color:var(--border-hover);box-shadow:var(--shadow-hover),var(--glow-hover);transform:translateY(-4px)}.trip-tile.active{border-color:#00dc6499;box-shadow:var(--shadow),0 0 20px #00dc6426}.trip-tile.active:hover{box-shadow:var(--shadow-hover),0 0 28px #00dc6433}.trip-header{flex-direction:column;gap:2px;justify-content:center;min-height:56px;padding:16px 16px 10px;text-align:center}.trip-title{color:var(--accent);font-size:1.1em;font-weight:600;letter-spacing:.2px;line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-dates{color:var(--text-dim);font-size:.78em;font-weight:400;margin:0}.trip-tile-image{background-color:#0000004d;border:1px solid var(--border);border-radius:8px;flex-shrink:0;height:250px;margin:0 12px;object-fit:cover;width:calc(100% - 24px)}.trip-tile.active .trip-tile-image{border-color:#00dc6480}.trip-content{display:flex;flex:1 1;flex-direction:column;gap:8px;padding:12px 16px 16px}.trip-row{align-items:center;display:grid;grid-template-columns:1fr 1fr;text-align:center}.trip-dives{color:var(--text-secondary);font-size:.83em;font-weight:500}.trip-species-fade{animation:fadeInWaitOut 10s infinite;color:var(--accent);font-size:.83em;font-style:italic}.trip-notes-preview{-webkit-line-clamp:4;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;flex:1 1;font-size:.82em;line-height:1.5;overflow:hidden}.trip-tile.error,.trip-tile.loading{align-items:center;background:var(--surface);border-radius:14px;color:#ff9696cc;display:flex;justify-content:center;padding:16px}@keyframes fadeInWaitOut{0%{opacity:0;transform:translateY(8px)}15%{opacity:1;transform:translateY(0)}50%{opacity:1;transform:translateY(0)}70%{opacity:0;transform:translateY(-8px)}to{opacity:0;transform:translateY(-8px)}}.trip-image-placeholder{display:none}@media (max-width:640px){.trip-tile{height:auto;max-width:340px;min-height:420px;width:100%}.trip-tile-image{height:200px}}@media (max-width:360px){.trip-tile{min-height:380px}.trip-tile-image{height:170px}.trip-header{min-height:48px;padding:12px 12px 8px}.trip-content{padding:10px 12px 14px}}.dive-tile{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow),var(--glow);color:var(--text);display:flex;flex-direction:column;flex-shrink:0;height:500px;overflow:hidden;padding:0;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;width:300px}.dive-tile:hover{border-color:var(--border-hover);box-shadow:var(--shadow-hover),var(--glow-hover);transform:translateY(-4px)}.dive-header{align-items:center;display:flex;flex-direction:column;gap:2px;justify-content:center;min-height:56px;padding:16px 16px 10px;text-align:center}.dive-title{color:var(--accent);font-size:1.1em;font-weight:600;letter-spacing:.2px;line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dive-date{color:var(--text-dim);font-size:.78em;font-weight:400;margin:0}.dive-image{background-color:#0000004d;border-radius:8px;flex-shrink:0;height:250px;margin:0 12px;object-fit:cover;width:calc(100% - 24px)}.dive-info{color:var(--text-secondary);display:flex;flex:1 1;flex-direction:column;font-size:.85em;gap:4px;line-height:1.5;padding:12px 16px 16px}.dive-info strong{color:var(--accent)}.dive-tile.error,.dive-tile.loading{align-items:center;background:var(--surface);border-radius:14px;color:#ff9696cc;display:flex;justify-content:center;padding:16px}.dive-image-placeholder{display:none}@media (max-width:640px){.dive-tile{height:auto;max-width:340px;min-height:420px;width:100%}.dive-image{height:200px}}@media (max-width:360px){.dive-tile{min-height:380px}.dive-image{height:170px}.dive-header{min-height:48px;padding:12px 12px 8px}.dive-info{padding:10px 12px 14px}}.options-container{background:var(--bg);box-sizing:border-box;color:var(--text);font-family:var(--font);min-height:100vh;padding:var(--space-xl)}.top-headers{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:space-between;margin-bottom:var(--space-xl)}.top-headers .welcome-message{color:var(--text);font-size:1.4rem;font-weight:600;margin:0;white-space:nowrap}.top-headers h2:nth-child(2){color:var(--accent);flex:1 1;font-size:.75rem;font-weight:700;letter-spacing:.1em;margin:0;text-align:center;text-transform:uppercase}.nav-menu{position:relative}.hamburger-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:10px 12px;transition:background var(--transition),border-color var(--transition)}.hamburger-btn.open,.hamburger-btn:hover{background:#00aaff14;border-color:var(--border-hover)}.hamburger-btn span{background:var(--text);border-radius:2px;display:block;height:2px;transition:background var(--transition);width:20px}.hamburger-btn.open span{background:var(--accent)}.nav-dropdown{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000059;min-width:180px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:200}.nav-dropdown button{background:#0000;border:none;border-bottom:1px solid var(--border);color:var(--text);cursor:pointer;display:block;font-family:var(--font);font-size:.9rem;font-weight:500;padding:11px 16px;text-align:left;transition:background var(--transition),color var(--transition);width:100%}.nav-dropdown button:last-child{border-bottom:none}.nav-dropdown button:hover{background:#00aaff14;color:var(--accent)}.nav-dropdown-divider{background:var(--border);height:1px}.nav-dropdown-logout{color:#ff7878e6!important}.nav-dropdown-logout:hover{background:#dc35451a!important;color:#f88!important}.main-row{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 1fr 1fr}.main-row .column{display:flex;flex-direction:column;gap:12px}.profile-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-sizing:border-box;cursor:pointer;padding:18px;transition:border-color var(--transition)}.profile-panel:hover{border-color:var(--border-hover)}.profile-section{margin-bottom:14px}.profile-section:last-child{margin-bottom:0}.options-container .section-title{border-bottom:1px solid var(--border);color:var(--accent);font-size:.7rem;font-weight:700;letter-spacing:.1em;margin-bottom:8px;padding-bottom:6px;text-transform:uppercase}.profile-item{color:var(--text-dim);display:flex;font-size:.8rem;justify-content:space-between;padding:3px 0;width:100%}.profile-item .label{flex:1 1;padding-right:10px;text-align:left}.profile-item .value{color:var(--text);font-weight:500;text-align:right;white-space:nowrap}.middle-column{justify-content:flex-start}.recent-trips{display:flex;flex-wrap:nowrap;gap:14px}.middle-column .trip-tile{flex:1 1!important;min-width:0!important;width:auto!important}.right-column{display:flex;flex-direction:column;gap:20px}.recent-dives-section h3,.sightings-section h3,.targets-section h3{border-bottom:1px solid var(--border);color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.1em;margin-bottom:14px;padding-bottom:8px;text-transform:uppercase}.recent-dives,.sightings-row,.targets-row{display:flex;flex-wrap:wrap;gap:10px}.recent-dives{flex-direction:row}.recent-dives-section .dive-tile{height:auto!important;min-height:0!important;width:160px!important}.recent-dives-section .dive-image{height:120px!important;margin:10px 10px 0!important;width:calc(100% - 20px)!important}.recent-dives-section .dive-header{min-height:0!important;padding:12px 10px 6px!important}.recent-dives-section .dive-title{font-size:.92em!important}.recent-dives-section .dive-info{font-size:.78em!important;padding:8px 10px 12px!important}@media (max-width:1100px){.main-row{gap:16px}}@media (max-width:900px){.main-row{grid-template-columns:1fr}.right-column{flex-direction:row;flex-wrap:wrap}.right-column>*{flex:1 1 280px}}@media (max-width:600px){.options-container{padding:var(--space-md)}.top-headers{align-items:flex-start;flex-direction:column}.main-row{grid-template-columns:1fr}.right-column{flex-direction:column}.sightings-row,.targets-row{justify-content:center}}.add-species{align-items:center;background:var(--bg);box-sizing:border-box;color:var(--text);display:flex;flex-direction:column;font-family:var(--font);min-height:100vh;padding:var(--space-xl)}.add-species h2{font-size:2rem;font-weight:700;margin-bottom:var(--space-lg)}.add-species form{display:flex;flex-direction:column;gap:14px;max-width:420px;width:100%}.add-species input,.add-species select{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text);font-family:var(--font);font-size:.95rem;outline:none;padding:11px 14px;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.add-species input::placeholder{color:#ffffff4d}.add-species input:focus,.add-species select:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.add-species select{-webkit-appearance:none;appearance:none;cursor:pointer}.add-species button{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#000;cursor:pointer;font-family:var(--font);font-size:.95rem;font-weight:600;padding:11px 20px;transition:background var(--transition)}.add-species button:hover{background:var(--accent-hover)}.region-input{display:flex;gap:10px}.selected-region{align-items:center;background:var(--surface-alt);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:8px 12px}.alternative-names-section{display:flex;flex-direction:column;gap:10px;margin:4px 0}.alternative-names-section h3{color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.08em;margin:0 0 8px;text-transform:uppercase}.alternative-name-input{align-items:center;display:flex;gap:10px}.alternative-name-input input{flex:1 1}.alternative-name-input button{background:#dc3545cc!important;color:#fff!important;flex-shrink:0;font-size:.8rem!important;padding:8px 12px!important}.alternative-name-input button:hover{background:var(--danger)!important}.add-complex-btn,.add-id-group-btn{background:#ffffff14!important;border:1px solid #ffffff26!important;color:var(--text-secondary)!important}.add-complex-btn:hover,.add-id-group-btn:hover{background:#ffffff24!important;color:var(--text)!important}@media (max-width:600px){.add-species{padding:var(--space-md)}.add-species form{max-width:100%}}.App{text-align:center}.clade-tile{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow),var(--glow);cursor:pointer;display:flex;flex-direction:row;gap:16px;max-width:640px;padding:14px 16px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;width:100%}.clade-tile:hover{background:#0a121ef2;border-color:var(--border-hover);box-shadow:var(--shadow-hover),var(--glow-hover);transform:translateY(-2px)}.clade-image-placeholder{align-items:center;background:#0000004d;border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;display:flex;flex-shrink:0;height:90px;justify-content:center;overflow:hidden;width:90px}.clade-image-placeholder img{display:block;height:100%;margin:0 auto;object-fit:contain;width:auto}.clade-info{display:flex;flex-direction:column;flex-grow:1}.clade-title{color:var(--text);font-size:1.05rem;font-weight:600;margin:0 0 6px}.clade-summary{color:var(--text-secondary);font-size:.88rem;line-height:1.4}@media (max-width:600px){.clade-tile{max-width:100%;padding:12px}.clade-image-placeholder{height:70px;width:70px}}.view-fish{background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh;padding:var(--space-xl)}.view-fish h2{font-size:2rem;font-weight:700;margin-bottom:var(--space-lg);text-align:center}.filter-controls{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:var(--space-lg)}.filter-controls>div{align-items:flex-start;display:flex;flex-direction:column}.filter-controls label{color:var(--text-dim);font-size:.72rem;font-weight:600;letter-spacing:.06em;margin-bottom:5px;text-transform:uppercase}.filter-controls select{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font-family:var(--font);font-size:.9rem;outline:none;padding:8px 12px;transition:border-color var(--transition)}.filter-controls select:focus{border-color:var(--input-border-focus)}.grouping-section{margin-bottom:var(--space-lg)}.grouping-header{align-items:center;border-bottom:1px solid var(--border);color:var(--accent);display:flex;font-size:1.5rem;font-weight:700;gap:10px;margin-bottom:14px;padding:10px 0}.grouping-header.clickable{cursor:pointer;transition:color var(--transition)}.grouping-header.clickable:hover{color:var(--accent-hover)}.dropdown-arrow{color:var(--accent);font-size:.9rem;transition:transform .2s ease}.grouping-content{margin-left:16px;padding-top:8px}.main-grouping-header{border-bottom:1px solid var(--border);color:var(--text);font-size:1.8rem;font-weight:700;margin-bottom:14px;margin-top:var(--space-lg);padding-bottom:10px;text-align:left}.family-section{margin-bottom:28px;margin-left:16px}.family-header{color:var(--accent);font-size:1.2rem;font-weight:600;margin-bottom:14px;text-align:left}.fish-tile-container .fish-tile{flex:0 0 160px;max-width:160px;min-width:160px}.complex-container{display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-start;margin:8px 0}.image-placeholder{align-items:center;background:#ffffff08;border:1px dashed #ffffff26;border-radius:var(--radius-sm);cursor:pointer;display:flex;height:120px;justify-content:center;transition:background var(--transition),border-color var(--transition);width:100%}.image-placeholder:hover{background:#ffffff0f;border-color:var(--accent)}.image-placeholder p{color:var(--text-dim);font-size:.78rem;margin:0;text-align:center}.fish-image-small img{background:#0000004d;border:1px solid var(--border);border-radius:var(--radius-sm);height:120px;object-fit:cover;width:100%}@media (max-width:768px){.filter-controls{align-items:center;flex-direction:column}.view-fish{padding:var(--space-lg)}}@media (max-width:600px){.view-fish{padding:var(--space-md)}.fish-tile-container{justify-content:center}}.hierarchical-view{background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh;padding:var(--space-xl)}.hierarchical-view h2{font-size:2rem;font-weight:700;margin-bottom:var(--space-lg);text-align:center}.hierarchical-view .filter-controls{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:var(--space-lg)}.hierarchical-view .filter-controls>div{align-items:flex-start;display:flex;flex-direction:column}.hierarchical-view .filter-controls label{color:var(--text-dim);font-size:.72rem;font-weight:600;letter-spacing:.06em;margin-bottom:5px;text-transform:uppercase}.hierarchical-view .filter-controls select{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font-family:var(--font);font-size:.9rem;outline:none;padding:8px 12px;transition:border-color var(--transition)}.hierarchical-view .filter-controls select:focus{border-color:var(--input-border-focus)}.breadcrumb{color:var(--text-dim);font-size:.9rem;margin-bottom:var(--space-lg);text-align:center;-webkit-user-select:none;user-select:none}.breadcrumb-link{color:var(--accent);cursor:pointer;transition:color var(--transition)}.breadcrumb-link:hover{color:var(--accent-hover);text-decoration:underline}.groupings-list{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-start}.grouping-item{align-items:flex-start;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:14px;min-width:200px;padding:14px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.grouping-item:hover{border-color:var(--border-hover);box-shadow:var(--shadow),var(--glow);transform:translateY(-2px)}.summary-image{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex-shrink:0;height:80px;object-fit:cover;width:80px}.grouping-info{flex-grow:1}.grouping-info strong{color:var(--text);display:block;font-size:.95rem;margin-bottom:4px}.grouping-info .summary-text{color:var(--text-secondary);font-size:.85rem;line-height:1.4;margin-top:4px}.summary-box{align-items:flex-start;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;gap:var(--space-lg);margin-bottom:var(--space-lg);padding:var(--space-md)}.summary-box .summary-image{height:110px;width:110px}.summary-box .summary-text{color:var(--text-secondary);font-size:.95rem;line-height:1.6;max-width:600px}.fish-tile-container{gap:16px;justify-content:flex-start}@media (max-width:768px){.hierarchical-view{padding:var(--space-lg)}.hierarchical-view .filter-controls{align-items:center;flex-direction:column}.fish-tile-container,.groupings-list{justify-content:center}.summary-box{flex-direction:column}}@media (max-width:600px){.hierarchical-view{padding:var(--space-md)}.grouping-item{min-width:100%}}.fish-container{background:var(--bg);box-sizing:border-box;color:var(--text);font-family:var(--font);margin:0 auto;max-width:1400px;min-height:100vh;padding:var(--space-xl)}.fish-container .back-btn,.fish-container .back-button{align-items:center;background:#ffffff14;border:1px solid #ffffff2e;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;display:inline-flex;font-family:var(--font);font-size:.9rem;gap:6px;margin-bottom:var(--space-lg);padding:9px 18px;transition:background var(--transition)}.fish-container .back-btn:hover,.fish-container .back-button:hover{background:#ffffff24}.edit-button-wrapper{bottom:20px;position:absolute;right:20px}.edit-toggle{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#000;cursor:pointer;font-family:var(--font);font-weight:600;padding:10px 22px;transition:background var(--transition)}.edit-toggle:hover{background:var(--accent-hover)}.fish-content{grid-gap:28px;display:grid;gap:28px;grid-template-columns:2.2fr 1fr;margin-top:var(--space-lg)}.fish-title{color:var(--text);font-size:2.2rem;font-weight:700;margin-bottom:8px}.genus-species{color:var(--text-secondary);font-size:1.1rem;font-style:italic;margin-bottom:20px}.fish-image{background:#0000004d;border:1px solid var(--border);border-radius:var(--radius-sm);max-height:85vh;object-fit:contain;width:100%}.image-toggle{display:flex;gap:8px;margin-bottom:16px}.fish-content .image-toggle button{background:#0a3a52;border:1px solid var(--accent);border-radius:20px;color:var(--accent);cursor:pointer;font-family:var(--font);font-size:.88rem;padding:8px 18px;transition:all var(--transition)}.fish-content .image-toggle button:hover{background:#0e4a68}.fish-content .image-toggle button.active{background:var(--accent);border-color:var(--accent);color:#000}.fish-content .right-column{width:auto}.fish-content .right-column p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-bottom:10px}.fish-content .right-column h3{border-bottom:1px solid var(--border);color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.1em;margin:0 0 12px;padding-bottom:8px;text-transform:uppercase}.fish-content .right-column ul{display:flex;flex-direction:column;gap:6px;list-style:none;padding:0}.fish-content .right-column li{background:var(--surface-alt);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.9rem;padding:10px 14px}.fish-tile-container{display:flex;flex-wrap:wrap;gap:15px;margin-top:15px}.fish-content input,.fish-content select,.fish-content textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:.95rem;outline:none;padding:9px 13px;transition:border-color var(--transition),box-shadow var(--transition)}.fish-content input:focus,.fish-content select:focus,.fish-content textarea:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.fish-content button{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#000;cursor:pointer;font-family:var(--font);font-size:.88rem;font-weight:600;padding:8px 16px;transition:background var(--transition)}.fish-content button:hover{background:var(--accent-hover)}@media (max-width:900px){.fish-content{grid-template-columns:1fr}.fish-container{padding:var(--space-lg)}}@media (max-width:600px){.fish-container{padding:var(--space-md)}.fish-title{font-size:1.7rem}}.form-container{align-items:center;background:var(--bg);box-sizing:border-box;color:var(--text);display:flex;flex-direction:column;font-family:var(--font);justify-content:center;min-height:100vh;padding:var(--space-xl)}.form-container h1{color:var(--text);font-size:2rem;font-weight:700;margin-bottom:var(--space-lg);text-align:center}.form-group{margin-bottom:14px;max-width:420px;width:100%}.form-group label{color:var(--text-dim);display:block;font-size:.78rem;font-weight:600;letter-spacing:.06em;margin-bottom:5px;text-transform:uppercase}.form-group input,.form-group textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text);font-family:var(--font);font-size:.95rem;outline:none;padding:11px 14px;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.form-group input::placeholder,.form-group textarea::placeholder{color:#ffffff4d}.form-group input:focus,.form-group textarea:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.form-group textarea{height:100px;resize:none}.form-group button{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#000;cursor:pointer;font-family:var(--font);font-size:.95rem;font-weight:600;margin-top:10px;padding:12px;transition:background var(--transition);width:100%}.form-group button:hover{background:var(--accent-hover)}@media (max-width:600px){.form-container{padding:var(--space-md)}.form-group{max-width:100%}}.view-trips{background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh;padding:var(--space-xl)}.trips-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:var(--space-xl)}.view-trips h2{flex:1 1;font-size:2rem;font-weight:700;margin:0;text-align:center}.add-trip-btn{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#000;cursor:pointer;font-family:var(--font);font-size:.92rem;font-weight:600;padding:10px 22px;transition:background var(--transition);white-space:nowrap}.add-trip-btn:hover{background:var(--accent-hover)}.trip-container{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}@media (max-width:600px){.view-trips{padding:var(--space-md)}.view-trips h2{font-size:1.6rem}.trips-header{flex-wrap:wrap}}.view-trip{background:var(--bg);box-sizing:border-box;color:var(--text);font-family:var(--font);margin:0 auto;max-width:1400px;min-height:100vh;padding:var(--space-xl)}.view-trip .back-btn,.view-trip .back-button{align-items:center;background:#ffffff14;border:1px solid #ffffff2e;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;display:inline-flex;font-family:var(--font);font-size:.9rem;font-weight:400;margin-bottom:var(--space-lg);padding:9px 18px;transition:background var(--transition)}.view-trip .back-btn:hover,.view-trip .back-button:hover{background:#ffffff24}.trip-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;margin-bottom:var(--space-lg);margin-top:var(--space-md)}.trip-header-main{align-items:baseline;display:flex;flex-wrap:wrap;gap:6px 16px}.trip-header h1{color:var(--text);font-size:1.6rem;font-weight:700;margin:0}.trip-header h1 a{color:inherit;text-decoration:none}.trip-header h1 a:hover{opacity:.85;text-decoration:none}.trip-header-meta{color:var(--text-secondary);font-size:1rem}.trip-header-offsets{display:flex;flex-wrap:wrap;gap:16px}.add-images-btn,.add-log-btn,.toggle-images-btn,.view-gallery-btn{align-items:center;background:var(--accent);border:none;border-radius:var(--radius-sm);color:#000;cursor:pointer;display:inline-flex;font-family:var(--font);font-size:.92rem;font-weight:600;margin-right:10px;margin-top:14px;padding:10px 20px;transition:background var(--transition)}.add-images-btn:hover:not(:disabled),.add-log-btn:hover,.toggle-images-btn:hover,.view-gallery-btn:hover{background:var(--accent-hover)}.add-images-btn:disabled{background:#ffffff1f;color:var(--text-dim);cursor:not-allowed}.trip-columns{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:1fr 1fr}.trip-column{padding:0}.trip-column h2{border-bottom:1px solid var(--border);color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.1em;margin-bottom:14px;padding-bottom:8px;text-transform:uppercase}.view-trip-image{border-radius:var(--radius-sm);max-height:55vh;object-fit:cover;width:100%}.trip-stats,.view-trip-image{border:1px solid var(--border)}.trip-stats{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--surface);border-radius:var(--radius-md);margin-top:20px;padding:20px}.trip-stats h3{color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.1em;margin:0 0 14px;text-transform:uppercase}.trip-stats ul{list-style:none;margin:0;padding:0}.trip-stats li{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);font-size:.92rem;padding:8px 0}.trip-stats li:last-child{border-bottom:none}.view-trip .dive-log-container,.view-trip .fish-tile-container{max-height:60vh;overflow-y:auto;padding-right:6px}.view-trip .dive-log-container{grid-gap:20px;display:grid!important;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important;margin-top:20px;max-width:none!important}.view-trip .dive-log-container::-webkit-scrollbar,.view-trip .fish-tile-container::-webkit-scrollbar{width:8px}.view-trip .dive-log-container::-webkit-scrollbar-thumb,.view-trip .fish-tile-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.log-offset-field{align-items:center;color:var(--text-secondary);display:flex;font-size:.9rem}.log-offset-input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:.9rem;margin-left:8px;outline:none;padding:5px 10px;width:80px}.log-offset-input:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}@media (max-width:900px){.trip-columns{grid-template-columns:1fr}.view-trip{padding:var(--space-lg)}}@media (max-width:600px){.view-trip{padding:var(--space-md)}.trip-header h1{font-size:1.8rem}}.view-dive-logs{background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh;padding:var(--space-xl)}.dive-logs-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:var(--space-xl)}.view-dive-logs h2{flex:1 1;font-size:2rem;font-weight:700;margin:0;text-align:center}.upload-logs-section{align-items:center;display:flex}.upload-logs-btn{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#000;cursor:pointer;font-family:var(--font);font-size:.92rem;font-weight:600;padding:10px 20px;transition:background var(--transition)}.upload-logs-btn:hover:not(:disabled){background:var(--accent-hover)}.upload-logs-btn:disabled{background:#ffffff1f;color:var(--text-dim);cursor:not-allowed}.dive-log-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:0 auto;max-width:1600px}.view-dive-logs .dive-header{gap:0!important}.view-dive-logs .dive-date{font-size:11px!important}.view-dive-logs .dive-image{height:220px!important;width:100%!important}.view-dive-logs .dive-tile{height:420px!important}@media (max-width:768px){.view-dive-logs{padding:var(--space-lg)}.dive-log-container{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media (max-width:600px){.view-dive-logs{padding:var(--space-md)}.view-dive-logs h2{font-size:1.6rem}.dive-log-container{grid-template-columns:1fr}}.dive-container{background:var(--bg);box-sizing:border-box;color:var(--text);font-family:var(--font);margin:0 auto;max-width:1400px;min-height:100vh;padding:var(--space-xl);position:relative}.dive-container .back-btn,.dive-container .back-button{align-items:center;background:#ffffff14;border:1px solid #ffffff2e;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;display:inline-flex;font-family:var(--font);font-size:.9rem;margin-bottom:var(--space-lg);padding:9px 18px;transition:background var(--transition)}.dive-container .back-btn:hover,.dive-container .back-button:hover{background:#ffffff24}.dive-container .edit-button-wrapper{bottom:20px;position:absolute;right:20px}.dive-container .edit-toggle{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#000;cursor:pointer;font-family:var(--font);font-weight:600;padding:10px 22px;transition:background var(--transition)}.dive-container .edit-toggle:hover{background:var(--accent-hover)}.dive-content{grid-gap:28px;display:grid;gap:28px;grid-template-columns:3fr 2fr;margin-top:var(--space-lg)}.dive-title{color:var(--text);font-size:2.2rem;font-weight:700;margin-bottom:8px}.dive-date{color:var(--text-secondary);font-size:1.1rem;margin-bottom:20px}.dive-date.blue-text{color:var(--accent);font-size:1.2rem;margin-bottom:20px;margin-top:0}.dive-image{background:#0000004d;border:1px solid var(--border);border-radius:var(--radius-sm);height:auto;object-fit:contain;width:100%}.dive-content .right-column{width:auto}.dive-content .right-column p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-bottom:10px}.dive-content .right-column h3{border-bottom:1px solid var(--border);color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.1em;margin:20px 0 12px;padding-bottom:8px;text-transform:uppercase}.dive-content .right-column h3:first-child{margin-top:0}.dive-content .right-column ul{display:flex;flex-direction:column;gap:6px;list-style:none;padding:0}.dive-content .right-column li{background:var(--surface-alt);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.9rem;padding:10px 14px}.dive-info-grid{grid-gap:10px 20px;display:grid;gap:10px 20px;grid-template-columns:1fr 1fr;margin-bottom:28px}.dive-info-grid div{background:var(--surface-alt);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.95rem;padding:12px 14px}.dive-content input,.dive-content select,.dive-content textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:.9rem;outline:none;padding:9px 13px;transition:border-color var(--transition),box-shadow var(--transition)}.dive-content input:focus,.dive-content select:focus,.dive-content textarea:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.dive-content textarea{resize:vertical;width:100%}.dive-content .right-column button{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#000;cursor:pointer;font-family:var(--font);font-size:.88rem;font-weight:600;margin-top:10px;padding:8px 14px;transition:background var(--transition)}.dive-content .right-column button:hover{background:var(--accent-hover)}.dive-charts{display:flex;flex-direction:column;gap:15px;margin-top:var(--space-lg);max-width:900px}.depth-profile-chart{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:15px}.depth-profile-chart h3{color:var(--accent);font-size:.75rem;letter-spacing:.1em;margin:0 0 10px;text-align:center;text-transform:uppercase}@media (max-width:900px){.dive-content{grid-template-columns:1fr}.dive-container{padding:var(--space-lg)}}@media (max-width:600px){.dive-container{padding:var(--space-md)}.dive-title{font-size:1.7rem}.dive-info-grid{grid-template-columns:1fr}}.trip-images-gallery{background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh;padding:var(--space-xl)}.gallery-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:var(--space-lg)}.gallery-header h2{color:var(--text);font-size:1.8rem;font-weight:700;margin:0}.gallery-header .filter-controls select{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font-family:var(--font);font-size:.9rem;outline:none;padding:8px 14px;transition:border-color var(--transition)}.gallery-header .filter-controls select:focus{border-color:var(--input-border-focus)}.id-mode-active{background:#280a1ee6}.id-mode-active .gallery-header h2{color:#ff6b6b}.id-mode-active .trip-image-tile{border-color:#ff6b6b}.trip-image-grid{flex-wrap:wrap;gap:14px;margin-top:var(--space-md)}.trip-image-grid,.trip-image-tile{display:flex;justify-content:center}.trip-image-tile{align-items:center;background:#0000004d;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;height:150px;overflow:hidden;transition:border-color var(--transition),transform .2s ease;width:200px}.trip-image-tile:hover{border-color:var(--border-hover);transform:scale(1.02)}.trip-image{height:100%;object-fit:cover;width:100%}.trip-error{color:#ff9696cc;margin-top:var(--space-lg);text-align:center}.video-thumbnail{height:100%;position:relative;width:100%}.video-overlay{align-items:center;background:#0009;border-radius:50%;color:var(--text);display:flex;font-size:24px;height:40px;justify-content:center;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:40px}@media (max-width:600px){.trip-images-gallery{padding:var(--space-md)}.trip-image-tile{height:120px;width:160px}}.add-log{background:var(--bg);box-sizing:border-box;color:var(--text);flex-direction:column;font-family:var(--font);min-height:100vh;padding:var(--space-xl)}.add-log,.add-log .header{align-items:center;display:flex}.add-log .header{justify-content:space-between;margin-bottom:var(--space-lg);max-width:1200px;width:100%}.add-log h2{font-size:2rem;font-weight:700;margin:0}.add-log form{grid-column-gap:28px;grid-row-gap:18px;column-gap:28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));max-width:1200px;row-gap:18px;width:100%}.add-log label{color:var(--text-dim);display:block;font-size:.78rem;font-weight:600;letter-spacing:.06em;margin-bottom:5px;text-transform:uppercase}.add-log input,.add-log select,.add-log textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text);font-family:var(--font);font-size:.95rem;outline:none;padding:10px 14px;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.add-log input::placeholder,.add-log textarea::placeholder{color:#ffffff4d}.add-log input:focus,.add-log select:focus,.add-log textarea:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.add-log textarea{min-height:90px;resize:vertical;width:100%}.add-log button{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#000;cursor:pointer;font-family:var(--font);font-size:.92rem;font-weight:600;padding:9px 18px;transition:background var(--transition)}.add-log button:hover{background:var(--accent-hover)}.add-log .bottom-fields{grid-column-gap:20px;column-gap:20px;display:grid;grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.add-log .full-width,.add-log .full-width-notes{grid-column:1/-1}.add-log .three-column-row{grid-gap:20px;display:grid;gap:20px;grid-column:1/-1;grid-template-columns:1fr 1fr 1fr}.add-log .four-column-row{grid-gap:20px;display:grid;gap:20px;grid-column:1/-1;grid-template-columns:1fr 1fr 1fr 1fr}.add-log .column{flex-direction:column}.add-log .array-item,.add-log .column{display:flex;gap:8px}.add-log .array-item input{flex:1 1}.add-log .snorkel-checkbox{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;gap:8px;grid-column:1/-1;margin-bottom:6px;padding:12px 14px}.add-log .snorkel-checkbox label{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.92rem;font-weight:600;gap:8px;letter-spacing:0;margin:0;text-transform:none}.add-log .snorkel-checkbox input[type=checkbox]{margin:0;width:auto}@media (max-width:900px){.add-log .four-column-row,.add-log .three-column-row{grid-template-columns:1fr 1fr}}@media (max-width:600px){.add-log{padding:var(--space-md)}.add-log .four-column-row,.add-log .three-column-row{grid-template-columns:1fr}}.add-complex{align-items:center;background:var(--bg);box-sizing:border-box;color:var(--text);display:flex;flex-direction:column;font-family:var(--font);min-height:100vh;padding:var(--space-xl)}.add-complex h2{font-size:2rem;font-weight:700;margin-bottom:var(--space-lg);text-align:center}.add-complex form{display:flex;flex-direction:column;gap:14px;max-width:580px;width:100%}.add-complex input,.add-complex textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text);font-family:var(--font);font-size:.95rem;outline:none;padding:11px 14px;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.add-complex input::placeholder,.add-complex textarea::placeholder{color:#ffffff4d}.add-complex input:focus,.add-complex textarea:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.add-complex button{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#000;cursor:pointer;font-family:var(--font);font-size:.95rem;font-weight:600;padding:10px 20px;transition:background var(--transition)}.add-complex button:hover{background:var(--accent-hover)}.add-complex button[type=button]{background:#ffffff14;border:1px solid #ffffff26;color:var(--text-secondary)}.add-complex button[type=button]:hover{background:#ffffff24;color:var(--text)}.species-inputs{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.species-input{align-items:center;display:flex;gap:10px;margin-bottom:10px}.species-input input{flex:1 1;margin:0}@media (max-width:600px){.add-complex{padding:var(--space-md)}.add-complex form{max-width:100%}}.add-id-group{align-items:center;background:var(--bg);box-sizing:border-box;color:var(--text);display:flex;flex-direction:column;font-family:var(--font);min-height:100vh;padding:var(--space-xl)}.add-id-group h2{font-size:2rem;font-weight:700;margin-bottom:var(--space-lg)}.add-id-group form{display:flex;flex-direction:column;gap:14px;max-width:540px;width:100%}.add-id-group input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text);font-family:var(--font);font-size:.95rem;outline:none;padding:11px 14px;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.add-id-group input::placeholder{color:#ffffff4d}.add-id-group input:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.add-id-group button{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#000;cursor:pointer;font-family:var(--font);font-size:.95rem;font-weight:600;padding:11px 20px;transition:background var(--transition)}.add-id-group button:hover{background:var(--accent-hover)}.add-id-group button[type=button]{background:#ffffff14;border:1px solid #ffffff26;color:var(--text-secondary)}.add-id-group button[type=button]:hover{background:#ffffff24;color:var(--text)}.species-list{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.species-list h3{color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.08em;margin-bottom:12px;text-transform:uppercase}.species-entry{background:var(--surface-alt);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:12px;padding:14px}.species-header{align-items:center;display:flex;gap:10px;margin-bottom:10px}.species-header input{flex:1 1}.species-search-wrapper{flex:1 1;position:relative}.species-search-wrapper input{box-sizing:border-box;width:100%}.species-dropdown{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a121efa;border:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);left:0;max-height:250px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.species-dropdown-item{border-bottom:1px solid var(--border-subtle);cursor:pointer;padding:9px 14px;transition:background var(--transition)}.species-dropdown-item:hover{background:#00aaff14}.species-dropdown-item:last-child{border-bottom:none}.species-dropdown-item.no-results{color:var(--text-dim);cursor:default}.dropdown-scientific{color:var(--text);font-style:italic}.dropdown-common{color:var(--text-secondary);font-size:.88rem}.tips-section{margin-left:14px;margin-top:8px}.tips-section h4{color:var(--text-dim);font-size:.72rem;font-weight:600;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.tip-input{align-items:center;display:flex;gap:10px;margin-bottom:8px}.tip-input input{flex:1 1}.remove-btn{background:#dc3545cc!important;border-radius:var(--radius-sm)!important;color:#fff!important;font-size:.82rem!important;padding:6px 12px!important}.remove-btn:hover{background:var(--danger)!important}@media (max-width:600px){.add-id-group{padding:var(--space-md)}.add-id-group form{max-width:100%}}.id-group-container{background:var(--bg);box-sizing:border-box;color:var(--text);font-family:var(--font);margin:0 auto;max-width:1000px;min-height:100vh;padding:var(--space-xl);position:relative}.id-group-container .back-btn,.id-group-container .back-button{align-items:center;background:#ffffff14;border:1px solid #ffffff2e;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;display:inline-flex;font-family:var(--font);font-size:.9rem;margin-bottom:var(--space-lg);padding:9px 18px;transition:background var(--transition)}.id-group-container .back-btn:hover,.id-group-container .back-button:hover{background:#ffffff24}.id-group-container .edit-button-wrapper{bottom:20px;position:absolute;right:20px}.id-group-container .edit-toggle{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#000;cursor:pointer;font-family:var(--font);font-weight:600;padding:10px 22px;transition:background var(--transition)}.id-group-container .edit-toggle:hover{background:var(--accent-hover)}.id-group-content{padding-top:var(--space-md)}.id-group-title{color:var(--text);font-size:2.2rem;font-weight:700;margin-bottom:6px}.id-group-subtitle{color:var(--text-dim);font-size:1rem;font-weight:400;margin-bottom:28px}.edit-title-input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:1.8rem;outline:none;padding:8px 12px;width:100%}.edit-title-input:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.general-notes-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:28px;padding:18px}.general-notes-title{color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.1em;margin:0 0 10px;text-transform:uppercase}.general-notes-text{color:var(--text-secondary);font-size:.95rem;line-height:1.7;margin:0;white-space:pre-wrap}.general-notes-textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text);font-family:var(--font);font-size:.95rem;line-height:1.6;outline:none;padding:10px 14px;resize:vertical;width:100%}.general-notes-textarea:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.id-group-species{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:22px;padding:18px}.species-name{color:var(--accent);font-size:1.2rem;font-weight:600;margin-bottom:10px}.species-link{border-bottom:1px solid #00aaff4d;color:var(--accent);text-decoration:none;transition:border-color var(--transition)}.species-link:hover{border-color:var(--accent)}.species-edit-row{align-items:center;display:flex;gap:10px}.species-edit-row .species-search-wrapper{flex:1 1;position:relative}.species-edit-row input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text);font-family:var(--font);font-size:.95rem;outline:none;padding:9px 13px;width:100%}.species-edit-row input:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.id-group-container .species-dropdown{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a121efa;border:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);left:0;max-height:250px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.id-group-container .species-dropdown-item{border-bottom:1px solid var(--border-subtle);cursor:pointer;padding:9px 14px;transition:background var(--transition)}.id-group-container .species-dropdown-item:hover{background:#00aaff14}.id-group-container .species-dropdown-item:last-child{border-bottom:none}.id-group-container .species-dropdown-item.no-results{color:var(--text-dim);cursor:default}.id-group-container .dropdown-scientific{color:var(--text);font-style:italic}.id-group-container .dropdown-common{color:var(--text-secondary);font-size:.88rem}.tips-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.tips-list li{background:var(--surface-alt);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.92rem;padding:10px 14px}.tip-edit-row{align-items:center;display:flex;gap:10px}.tip-edit-row input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text);flex:1 1;font-family:var(--font);font-size:.95rem;outline:none;padding:9px 13px}.tip-edit-row input:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.id-group-container .remove-btn{background:#dc3545cc;border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;flex-shrink:0;font-family:var(--font);font-size:.85rem;padding:6px 12px;transition:background var(--transition)}.id-group-container .remove-btn:hover{background:var(--danger)}.add-species-btn,.add-tip-btn{background:#ffffff14;border:1px solid #ffffff26;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-family:var(--font);font-size:.9rem;margin-top:10px;padding:8px 16px;transition:background var(--transition),color var(--transition)}.add-species-btn:hover,.add-tip-btn:hover{background:#ffffff24;color:var(--text)}.add-species-btn{display:block;margin-top:20px}@media (max-width:600px){.id-group-container{padding:var(--space-md)}.id-group-title{font-size:1.8rem}}.login-page{align-items:center;background-image:url(http://localhost:3000/assets/fish-splash-bg.png);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;color:#fff;display:flex;justify-content:center;min-height:100vh;position:relative}.login-page:before{background:#0000008c;content:"";inset:0;position:absolute;z-index:0}.login-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0a121ed9;border:1px solid #00aaff40;border-radius:16px;box-shadow:0 8px 32px #00000080,0 0 60px #00aaff14;max-width:380px;padding:48px 40px 36px;position:relative;text-align:center;width:90%;z-index:1}.login-title{color:#fff;font-size:1.8rem;font-weight:600;letter-spacing:.5px;margin:0 0 8px}.login-subtitle{color:#ffffff73;font-size:.85rem;font-weight:400;margin:0 0 32px}.login-form{display:flex;flex-direction:column;gap:16px}.login-input{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;box-sizing:border-box;color:#fff;font-family:inherit;font-size:1rem;outline:none;padding:14px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.login-input::placeholder{color:#ffffff59}.login-input:focus{border-color:#0af9;box-shadow:0 0 0 3px #00aaff1f}.login-submit{background:#0af;border:none;border-radius:10px;color:#000;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;letter-spacing:.3px;padding:14px 24px;transition:background .2s ease,transform .1s ease}.login-submit:hover{background:#3bf}.login-submit:active{transform:scale(.98)}.login-toggle{background:#0000;border:none;color:#0afc;cursor:pointer;font-family:inherit;font-size:.85rem;margin-top:8px;padding:8px 0;transition:color .2s ease}.login-toggle:hover{color:#0af}@media (max-width:480px){.login-card{border-radius:12px;padding:36px 24px 28px}.login-title{font-size:1.5rem}}@media (max-height:500px){.login-card{padding:24px 24px 20px}.login-subtitle{margin-bottom:20px}}.location-details{background:var(--bg);box-sizing:border-box;color:var(--text);font-family:var(--font);margin:0 auto;max-width:1400px;min-height:100vh;padding:var(--space-xl)}.location-details .back-btn,.location-details .back-button{align-items:center;background:#ffffff14;border:1px solid #ffffff2e;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;display:inline-flex;font-family:var(--font);font-size:.9rem;font-weight:400;margin-bottom:var(--space-lg);padding:9px 18px;transition:background var(--transition)}.location-details .back-btn:hover,.location-details .back-button:hover{background:#ffffff24}.location-header{align-items:flex-start;gap:var(--space-lg);margin-bottom:var(--space-xl)}.location-image{background:#0000004d;border:1px solid var(--border);border-radius:var(--radius-sm);flex-shrink:0;height:200px;object-fit:cover;width:300px}.location-info h1{color:var(--text);font-size:2.2rem;font-weight:700;margin:0 0 6px}.location-info h2{color:var(--text-secondary);font-size:1.2rem;font-weight:400;margin:0 0 18px}.location-stats{display:flex;flex-wrap:wrap;gap:28px}.location-details .stat{display:flex;flex-direction:column}.location-details .stat-label{color:var(--text-dim);font-size:.72rem;font-weight:600;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.location-details .stat-value{color:var(--accent);font-size:1.5rem;font-weight:700}.location-dive-sites h3,.location-gallery h3,.location-notes h3,.location-trips h3{border-bottom:1px solid var(--border);color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.1em;margin-bottom:14px;padding-bottom:8px;text-transform:uppercase}.location-dive-sites,.location-gallery,.location-notes,.location-trips{margin-bottom:28px}.location-gallery-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.location-gallery-image{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);height:150px;object-fit:cover;transition:border-color var(--transition);width:100%}.location-gallery-image:hover{border-color:var(--border-hover)}.location-notes p{color:var(--text-secondary);font-size:1rem;line-height:1.7}.location-dive-sites-grid,.location-trips-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}@media (max-width:768px){.location-header{flex-direction:column}.location-image{width:100%}.location-details{padding:var(--space-lg)}}@media (max-width:600px){.location-details{padding:var(--space-md)}.location-info h1{font-size:1.8rem}}.dive-site-tile{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow),var(--glow);color:var(--text);display:flex;flex-direction:column;height:500px;overflow:hidden;padding:0;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;width:300px}.dive-site-tile:hover{border-color:var(--border-hover);box-shadow:var(--shadow-hover),var(--glow-hover);transform:translateY(-4px)}.dive-site-header{flex-direction:column;gap:2px;justify-content:center;min-height:56px;padding:16px 16px 10px;text-align:center}.dive-site-title{color:var(--accent);font-size:1.1em;font-weight:600;line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dive-site-tile-image{background-color:#0000004d;border:1px solid var(--border);border-radius:8px;flex-shrink:0;height:250px;margin:0 12px;object-fit:cover;width:calc(100% - 24px)}.dive-site-content{display:flex;flex:1 1;flex-direction:column;gap:8px;padding:12px 16px 16px}.dive-site-species-list{color:var(--accent);font-size:.83em;font-style:italic;text-align:center}.dive-site-description{-webkit-line-clamp:4;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;flex:1 1;font-size:.82em;line-height:1.5;overflow:hidden}@media (max-width:640px){.dive-site-tile{height:auto;max-width:340px;min-height:420px;width:100%}.dive-site-tile-image{height:200px}}@media (max-width:360px){.dive-site-tile{min-height:380px}.dive-site-tile-image{height:170px}.dive-site-header{min-height:48px;padding:12px 12px 8px}.dive-site-content{padding:10px 12px 14px}}.location-tile{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow),var(--glow);color:var(--text);display:flex;flex-direction:column;height:500px;overflow:hidden;padding:0;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;width:300px}.location-tile:hover{border-color:var(--border-hover);box-shadow:var(--shadow-hover),var(--glow-hover);transform:translateY(-4px)}.location-header{display:flex;flex-direction:column;gap:2px;justify-content:center;min-height:56px;padding:16px 16px 10px;text-align:center}.location-title{color:var(--accent);font-size:1.2em;font-weight:600;line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-country{color:var(--text-dim);font-size:.82em;font-weight:400;margin:0}.location-tile-image{background-color:#0000004d;border:1px solid var(--border);border-radius:8px;flex-shrink:0;height:250px;margin:0 12px;object-fit:cover;width:calc(100% - 24px)}.location-content{display:flex;flex:1 1;flex-direction:column;gap:8px;padding:12px 16px 16px}.location-stats{align-items:center;display:grid;grid-template-columns:1fr 1fr;text-align:center}.location-dives,.location-trips{color:var(--text-secondary);font-size:.83em;font-weight:500;line-height:1.3;margin:0;padding:0}.location-summary{-webkit-line-clamp:4;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;flex:1 1;font-size:.82em;line-height:1.5;overflow:hidden}@media (max-width:640px){.location-tile{height:auto;max-width:340px;min-height:420px;width:100%}.location-tile-image{height:200px}}@media (max-width:360px){.location-tile{min-height:380px}.location-tile-image{height:170px}.location-header{min-height:48px;padding:12px 12px 8px}.location-content{padding:10px 12px 14px}}.view-locations{background:var(--bg);box-sizing:border-box;color:var(--text);font-family:var(--font);min-height:100vh;padding:var(--space-xl)}.view-locations .back-btn,.view-locations .back-button{align-items:center;background:#ffffff14;border:1px solid #ffffff2e;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;display:inline-flex;font-family:var(--font);font-size:.9rem;font-weight:400;margin-bottom:var(--space-lg);padding:9px 18px;transition:background var(--transition)}.view-locations .back-btn:hover,.view-locations .back-button:hover{background:#ffffff24}.locations-title{color:var(--text);font-size:2rem;font-weight:700;margin-bottom:var(--space-xl);text-align:center}.locations-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));justify-items:center}@media (max-width:600px){.view-locations{padding:var(--space-md)}.locations-title{font-size:1.6rem}.locations-grid{grid-template-columns:1fr}}.add-location{align-items:center;background:var(--bg);box-sizing:border-box;color:var(--text);display:flex;flex-direction:column;font-family:var(--font);justify-content:center;min-height:100vh;padding:var(--space-xl)}.add-location h2{font-size:2rem;font-weight:700;margin-bottom:var(--space-lg)}.add-location form{display:flex;flex-direction:column;gap:14px;max-width:420px;width:100%}.add-location input,.add-location textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text);font-family:var(--font);font-size:.95rem;outline:none;padding:11px 14px;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.add-location input::placeholder,.add-location textarea::placeholder{color:#ffffff4d}.add-location input:focus,.add-location textarea:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.add-location textarea{min-height:100px;resize:vertical}.add-location button{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#000;cursor:pointer;font-family:var(--font);font-size:.95rem;font-weight:600;padding:12px;transition:background var(--transition)}.add-location button:hover{background:var(--accent-hover)}@media (max-width:600px){.add-location{padding:var(--space-md)}.add-location form{max-width:100%}}.dive-site-details{background:var(--bg);box-sizing:border-box;color:var(--text);font-family:var(--font);margin:0 auto;max-width:1400px;min-height:100vh;padding:var(--space-xl)}.dive-site-details .back-btn,.dive-site-details .back-button{align-items:center;background:#ffffff14;border:1px solid #ffffff2e;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;display:inline-flex;font-family:var(--font);font-size:.9rem;font-weight:400;margin-bottom:var(--space-lg);padding:9px 18px;transition:background var(--transition)}.dive-site-details .back-btn:hover,.dive-site-details .back-button:hover{background:#ffffff24}.dive-site-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-lg);margin-bottom:var(--space-xl)}.dive-site-images{display:flex;flex-direction:column;gap:10px}.dive-site-image{background:#0000004d;border:1px solid var(--border);border-radius:var(--radius-sm);height:200px;object-fit:cover;width:300px}.dive-site-map{object-fit:contain}.dive-site-info h1{color:var(--text);font-size:2.2rem;font-weight:700;margin:0 0 14px}.dive-site-section{margin-bottom:28px}.dive-site-description h3,.dive-site-section h3,.dive-site-species h3{border-bottom:1px solid var(--border);color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.1em;margin-bottom:12px;padding-bottom:8px;text-transform:uppercase}.dive-site-species ul{color:var(--text-secondary);list-style-type:disc;margin-left:20px}.dive-site-description p{color:var(--text-secondary);font-size:1rem;line-height:1.7}.dive-site-logs-grid{display:flex;flex-wrap:wrap;gap:20px}.dive-site-gallery-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.dive-site-gallery-image{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);height:150px;object-fit:cover;transition:border-color var(--transition);width:100%}.dive-site-gallery-image:hover{border-color:var(--border-hover)}.loading{align-items:center;background:var(--bg);color:var(--text-dim);display:flex;font-family:var(--font);font-size:1rem;justify-content:center;min-height:100vh}@media (max-width:768px){.dive-site-header{flex-direction:column}.dive-site-image,.dive-site-images{width:100%}.dive-site-details{padding:var(--space-lg)}}@media (max-width:600px){.dive-site-details{padding:var(--space-md)}.dive-site-info h1{font-size:1.8rem}}.view-dive-sites{background:var(--bg);box-sizing:border-box;color:var(--text);font-family:var(--font);min-height:100vh;padding:var(--space-xl)}.dive-sites-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:var(--space-xl)}.dive-sites-title{color:var(--text);font-size:2rem;font-weight:700;margin:0;text-align:center}.add-dive-site-button{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#000;cursor:pointer;font-family:var(--font);font-size:.92rem;font-weight:600;padding:10px 22px;transition:background var(--transition)}.add-dive-site-button:hover{background:var(--accent-hover)}.dive-sites-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));justify-items:center}@media (max-width:600px){.view-dive-sites{padding:var(--space-md)}.dive-sites-title{font-size:1.6rem}.dive-sites-grid{grid-template-columns:1fr}}.add-dive-site{align-items:center;background:var(--bg);box-sizing:border-box;color:var(--text);display:flex;flex-direction:column;font-family:var(--font);justify-content:center;min-height:100vh;padding:var(--space-xl)}.add-dive-site h2{color:var(--text);font-size:2rem;font-weight:700;margin-bottom:var(--space-lg)}.add-dive-site form{display:flex;flex-direction:column;gap:14px;max-width:460px;width:100%}.add-dive-site input,.add-dive-site select,.add-dive-site textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text);font-family:var(--font);font-size:.95rem;outline:none;padding:11px 14px;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.add-dive-site input::placeholder,.add-dive-site textarea::placeholder{color:#ffffff4d}.add-dive-site input:focus,.add-dive-site select:focus,.add-dive-site textarea:focus{border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.add-dive-site select{-webkit-appearance:none;appearance:none;cursor:pointer}.add-dive-site textarea{min-height:100px;resize:vertical}.add-dive-site button[type=submit]{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#000;cursor:pointer;font-family:var(--font);font-size:.95rem;font-weight:600;padding:12px;transition:background var(--transition)}.add-dive-site button[type=submit]:hover{background:var(--accent-hover)}@media (max-width:600px){.add-dive-site{padding:var(--space-md)}.add-dive-site form{max-width:100%}}.profile-details-page{background:#121212;color:#fff;font-family:Arial,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:32px}.profile-back-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:.95rem;margin-bottom:24px;padding:10px 20px;transition:background .2s}.profile-back-btn:hover{background:#fff3}.profile-info-card{align-items:flex-start;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a121ee6;border:2px solid #0af6;border-radius:16px;display:flex;gap:28px;margin-bottom:24px;padding:28px 32px}.profile-avatar{align-items:center;background:linear-gradient(135deg,#0af,#b30bbd);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:2.4rem;font-weight:700;height:100px;justify-content:center;width:100px}.profile-info{flex:1 1}.profile-name{font-size:2rem;font-weight:700;margin:0 0 8px}.profile-meta{color:#fff9;display:flex;flex-direction:column;font-size:.9rem;gap:5px;margin-bottom:14px}.profile-edit-btn{background:#0af;border:none;border-radius:8px;color:#000;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 20px;transition:background .2s}.profile-edit-btn:hover{background:#3bf}.profile-edit-form{display:flex;flex-direction:column;gap:10px;margin-top:8px}.profile-edit-input{background:#ffffff14;border:1px solid #fff3;border-radius:8px;color:#fff;font-size:.95rem;outline:none;padding:10px 14px;width:300px}.profile-edit-input:focus{border-color:#0af9}.profile-edit-actions{display:flex;gap:8px}.profile-save-btn{background:#0af;border:none;border-radius:8px;color:#000;cursor:pointer;font-weight:600;padding:8px 20px;transition:background .2s}.profile-save-btn:hover{background:#3bf}.profile-cancel-btn{background:#ffffff14;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;padding:8px 20px;transition:background .2s}.profile-cancel-btn:hover{background:#ffffff26}.stats-bar{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(6,1fr);margin-bottom:24px}.stat-tile{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a121ee6;border:1px solid #00aaff40;border-radius:14px;padding:18px 12px;text-align:center;transition:border-color .2s,box-shadow .2s}.stat-tile:hover{border-color:#00aaff80;box-shadow:0 0 20px #00aaff14}.stat-value{color:#0af;font-size:1.7rem;font-weight:700;line-height:1;margin-bottom:7px}.stat-denom{color:#555;font-size:1rem;font-weight:400}.stat-label{color:#888;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.two-col-section{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:24px}.right-col{display:flex;flex-direction:column;gap:16px}.panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a121ee6;border:1px solid #00aaff40;border-radius:14px;padding:20px}.panel-title{color:#0af;font-size:.75rem;font-weight:700;letter-spacing:.1em;margin:0 0 16px;text-transform:uppercase}.panel-empty{color:#555;font-size:.85rem;font-style:italic;margin:0}.taxonomy-panel{min-height:300px}.taxonomy-list{gap:11px}.taxonomy-list,.taxonomy-row{display:flex;flex-direction:column}.taxonomy-row{gap:5px}.taxonomy-label{align-items:baseline;display:flex;justify-content:space-between}.taxonomy-common{color:#ccc;font-size:.85rem}.taxonomy-latin{color:#aaa;font-style:italic}.taxonomy-count{font-feature-settings:"tnum";color:#666;font-size:.72rem;font-variant-numeric:tabular-nums}.taxonomy-bar-track{background:#ffffff12;border-radius:3px;height:5px;overflow:hidden}.taxonomy-bar-fill{background:linear-gradient(90deg,#05a,#0af);border-radius:3px;height:100%;min-width:2px;transition:width .8s ease}.taxonomy-panel-header{align-items:baseline;display:flex;gap:10px;justify-content:space-between;margin-bottom:4px}.taxonomy-panel-header .panel-title{margin-bottom:0}.taxonomy-back-btn{background:none;border:none;color:#0af;cursor:pointer;font-size:.75rem;opacity:.8;padding:0;white-space:nowrap}.taxonomy-back-btn:hover{opacity:1;text-decoration:underline}.taxonomy-row-drillable{border-radius:4px;cursor:pointer;margin:0 -5px;padding:4px 5px;transition:background .15s}.taxonomy-row-drillable:hover{background:#ffffff0d}.taxonomy-drill-arrow{color:#0af;font-size:1rem;line-height:1}.taxonomy-region-filters{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.taxonomy-region-pill{background:#ffffff12;border:1px solid #ffffff1f;border-radius:20px;color:#aaa;cursor:pointer;font-size:.7rem;padding:2px 10px;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.taxonomy-region-pill:hover{background:#00aaff26;border-color:#0af6;color:#ccc}.taxonomy-region-pill.active{background:#0af3;border-color:#0af;color:#0af}.ranked-list{display:flex;flex-direction:column;gap:9px}.ranked-item{align-items:center;display:flex;gap:10px}.rank-num{font-feature-settings:"tnum";color:#444;flex-shrink:0;font-size:.72rem;font-variant-numeric:tabular-nums;width:22px}.rank-name{color:#ddd;flex:1 1;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-value{font-feature-settings:"tnum";color:#0af;flex-shrink:0;font-size:.8rem;font-variant-numeric:tabular-nums}.breakdown-grid{grid-gap:16px 12px;display:grid;gap:16px 12px;grid-template-columns:repeat(3,1fr)}.breakdown-item{text-align:center}.breakdown-val{color:#0af;font-size:1.35rem;font-weight:700;line-height:1;margin-bottom:4px}.breakdown-lbl{color:#888;font-size:.65rem;letter-spacing:.05em;text-transform:uppercase}.section-title{align-items:center;color:#0af;display:flex;font-size:.75rem;font-weight:700;gap:10px;letter-spacing:.1em;margin:0 0 16px;text-transform:uppercase}.milestones-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a121ee6;border:1px solid #00aaff40;border-radius:14px;margin-bottom:24px;padding:20px}.milestone-progress{color:#555;font-size:.8rem;font-weight:400;letter-spacing:0}.milestone-toggle-btn{background:#00aaff14;border:1px solid #00aaff4d;border-radius:6px;color:#0af;cursor:pointer;font-size:.75rem;margin-left:auto;padding:4px 10px;transition:background .2s}.milestone-toggle-btn:hover{background:#00aaff2e}.milestones-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.milestone-badge{border:1px solid;border-radius:12px;padding:16px 12px;position:relative;text-align:center;transition:all .2s}.milestone-tooltip{background:#050c16f7;border:1px solid #0af6;border-radius:6px;bottom:calc(100% + 6px);color:#aad4f0;display:none;font-size:.68rem;left:50%;padding:6px 10px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:200}.milestone-badge.has-detail:hover .milestone-tooltip{display:block}.milestone-badge.achieved{background:#00aaff12;border-color:#0af6;box-shadow:0 0 14px #00aaff1a}.milestone-badge.locked{background:#ffffff05;border-color:#ffffff0f;opacity:.45}.milestone-check{color:#0af;font-size:1.1rem;margin-bottom:8px}.milestone-badge.locked .milestone-check{color:#444}.milestone-title{color:#ddd;font-size:.8rem;font-weight:700;line-height:1.2;margin-bottom:5px}.milestone-badge.achieved .milestone-title{color:#0af}.milestone-desc{color:#777;font-size:.68rem;line-height:1.3}.comparison-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a121ee6;border:1px solid #00aaff40;border-radius:14px;margin-bottom:24px;padding:20px}.comparison-grid{display:flex;flex-wrap:wrap;gap:16px}.comparison-card{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;flex:1 1;min-width:130px;padding:18px 14px;position:relative;text-align:center;transition:border-color .2s}.comparison-card.comparison-me{background:#00aaff0d;border-color:#00aaff73}.comparison-avatar{align-items:center;background:linear-gradient(135deg,#06c,#0af);border-radius:50%;color:#fff;display:flex;font-size:.95rem;font-weight:700;height:42px;justify-content:center;margin:0 auto 10px;width:42px}.comparison-name{color:#ccc;font-size:.85rem;margin-bottom:10px}.comparison-stat{margin-bottom:8px}.comparison-num{color:#0af;font-size:1.5rem;font-weight:700}.comparison-lbl{color:#888;font-size:.75rem}.comparison-bar-track{background:#ffffff12;border-radius:2px;height:4px;margin-bottom:8px;overflow:hidden}.comparison-bar-fill{background:linear-gradient(90deg,#05a,#0af);border-radius:2px;height:100%}.comparison-dives{color:#666;font-size:.72rem}.comparison-me-label{color:#0af;font-size:.62rem;font-weight:700;letter-spacing:.08em;position:absolute;right:10px;text-transform:uppercase;top:8px}.timeline-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a121ee6;border:1px solid #00aaff40;border-radius:14px;margin-bottom:24px;padding:20px}.timeline{padding-left:26px;position:relative}.timeline:before{background:#00aaff2e;bottom:6px;content:"";left:7px;position:absolute;top:6px;width:2px}.timeline-item{cursor:pointer;margin-bottom:16px;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-dot{background:#0af;border:2px solid #121212;border-radius:50%;box-shadow:0 0 8px #00aaff80;flex-shrink:0;height:10px;left:-22px;position:absolute;top:10px;width:10px}.timeline-content{background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;padding:12px 16px;transition:border-color .2s,background .2s}.timeline-item:hover .timeline-content{background:#00aaff0a;border-color:#00aaff4d}.timeline-header{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:4px}.timeline-location{color:#ddd;font-size:.92rem;font-weight:600}.timeline-date{color:#666;font-size:.72rem}.timeline-dives{color:#777;font-size:.78rem;margin-bottom:7px}.timeline-species{display:flex;flex-wrap:wrap;gap:5px}.timeline-species-tag{background:#00aaff14;border:1px solid #00aaff40;border-radius:20px;color:#0af;font-size:.7rem;padding:2px 9px}.career-highlights-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a121ee6;border:1px solid #00aaff40;border-radius:14px;margin-bottom:24px;padding:20px}.career-highlights-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.career-highlight-card{aspect-ratio:4/3;border:1px solid #ffffff1a;border-radius:12px;cursor:pointer;overflow:hidden;position:relative;transition:transform .2s,border-color .2s}.career-highlight-card:hover{border-color:#00aaff80;transform:scale(1.03)}.career-highlight-card img{height:100%;object-fit:cover;width:100%}.career-highlight-remove{align-items:center;background:#dc3545e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:28px;justify-content:center;line-height:1;opacity:0;padding:0;position:absolute;right:8px;top:8px;transition:opacity .2s;width:28px}.career-highlight-card:hover .career-highlight-remove{opacity:1}.career-highlight-remove:hover{background:#dc3545}@media (max-width:1000px){.stats-bar{grid-template-columns:repeat(3,1fr)}.two-col-section{grid-template-columns:1fr}}@media (max-width:640px){.profile-details-page{padding:16px}.stats-bar{grid-template-columns:repeat(2,1fr)}.milestones-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.breakdown-grid{grid-template-columns:repeat(2,1fr)}.profile-info-card{align-items:center;flex-direction:column;text-align:center}}.book-tile{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow),var(--glow);color:var(--text);display:flex;flex-direction:column;height:500px;overflow:hidden;padding:0;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;width:300px}.book-tile:hover{border-color:var(--border-hover);box-shadow:var(--shadow-hover),var(--glow-hover);transform:translateY(-4px)}.book-header{display:flex;flex-direction:column;gap:2px;justify-content:center;min-height:56px;padding:16px 16px 10px;text-align:center}.book-title{color:var(--accent);font-size:1.1em;font-weight:600;line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-authors{color:var(--text-dim);font-size:.78em;font-weight:400;margin:0}.book-tile-image{background-color:#0000004d;border:1px solid var(--border);border-radius:8px;flex-shrink:0;height:300px;margin:0 12px;object-fit:cover;width:calc(100% - 24px)}.book-content{display:flex;flex:1 1;flex-direction:column;gap:8px;padding:12px 16px 16px}.book-row{align-items:center;display:grid;grid-template-columns:1fr 1fr;text-align:center}.book-total{color:var(--text-secondary)}.book-seen,.book-total{font-size:.83em;font-weight:500}.book-seen{color:var(--accent)}.book-tile.error,.book-tile.loading{align-items:center;background:var(--surface);border-radius:14px;color:#ff9696cc;display:flex;justify-content:center;padding:16px}@media (max-width:640px){.book-tile{height:auto;max-width:340px;min-height:420px;width:100%}.book-tile-image{height:240px}}@media (max-width:360px){.book-tile{min-height:380px}.book-tile-image{height:200px}.book-header{min-height:48px;padding:12px 12px 8px}.book-content{padding:10px 12px 14px}}.view-books{background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh;padding:var(--space-xl)}.books-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:var(--space-xl)}.view-books h2{flex:1 1;font-size:2rem;font-weight:700;margin:0;text-align:center}.add-book-btn{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#000;cursor:pointer;font-family:var(--font);font-size:.92rem;font-weight:600;padding:10px 20px;transition:background var(--transition);white-space:nowrap}.add-book-btn:hover{background:var(--accent-hover)}.book-container{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}@media (max-width:600px){.view-books{padding:var(--space-md)}.view-books h2{font-size:1.6rem}}.book-details{background:var(--bg);box-sizing:border-box;color:var(--text);font-family:var(--font);margin:0 auto;max-width:1400px;min-height:100vh;padding:var(--space-xl)}.book-details .back-btn,.book-details .back-button{align-items:center;background:#ffffff14;border:1px solid #ffffff2e;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;display:inline-flex;font-family:var(--font);font-size:.9rem;font-weight:400;margin-bottom:var(--space-lg);padding:9px 18px;transition:background var(--transition)}.book-details .back-btn:hover,.book-details .back-button:hover{background:#ffffff24}.book-details-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-xl);margin-bottom:var(--space-xl);margin-top:var(--space-lg)}.book-details-image{border:1px solid var(--border);border-radius:var(--radius-sm);flex-shrink:0;height:360px;object-fit:cover;width:260px}.book-details-info{display:flex;flex-direction:column;gap:8px}.book-details-info h1{color:var(--text);font-size:2.2rem;font-weight:700;margin:0}.book-details-authors{color:var(--text-secondary);font-size:1.1rem;margin:0}.book-details-url{align-self:flex-start;border-bottom:1px solid #00aaff4d;color:var(--accent);font-size:.95rem;text-decoration:none;transition:border-color var(--transition)}.book-details-url:hover{border-color:var(--accent)}.book-details-counts{color:var(--text-secondary);font-size:1rem;margin:0}.book-details h2{border-bottom:1px solid var(--border);color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.1em;margin-bottom:16px;padding-bottom:8px;text-transform:uppercase}.book-details .fish-tile-container{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}@media (max-width:768px){.book-details-header{align-items:center;flex-direction:column;text-align:center}.book-details-image{height:280px;width:200px}.book-details-info h1{font-size:1.8rem}.book-details{padding:var(--space-lg)}}@media (max-width:600px){.book-details{padding:var(--space-md)}}.author-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.author-row input{flex:1 1}.remove-btn{align-items:center;background:#dc3545cc;border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-family:var(--font);font-size:1rem;height:32px;justify-content:center;transition:background var(--transition);width:32px}.remove-btn:hover{background:var(--danger)}.add-author-btn{background:#ffffff14;border:1px solid #ffffff26;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-family:var(--font);font-size:.88rem;margin-top:4px;padding:7px 14px;transition:background var(--transition),color var(--transition)}.add-author-btn:hover{background:#ffffff24;color:var(--text)}.gate-page{align-items:center;background-color:#060d16;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;color:#fff;display:flex;justify-content:center;min-height:100vh;position:relative}.gate-page:before{background:#0000008c;content:"";inset:0;position:absolute;z-index:0}.gate-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0a121ed9;border:1px solid #00aaff40;border-radius:16px;box-shadow:0 8px 32px #00000080,0 0 60px #00aaff14;display:flex;flex-direction:column;gap:16px;max-width:380px;padding:48px 40px 36px;position:relative;text-align:center;width:90%;z-index:1}.gate-title{color:#fff;font-size:1.8rem;font-weight:600;letter-spacing:.5px;margin:0}.gate-subtitle{color:#ffffff73;font-size:.85rem;font-weight:400;margin:0 0 16px}.gate-input{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;box-sizing:border-box;color:#fff;font-family:inherit;font-size:1rem;outline:none;padding:14px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.gate-input::placeholder{color:#ffffff59}.gate-input:focus{border-color:#0af9;box-shadow:0 0 0 3px #00aaff1f}.gate-error{color:#ff6b6b;font-size:.85rem;margin:0}.gate-submit{background:#0af;border:none;border-radius:10px;color:#000;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;letter-spacing:.3px;padding:14px 24px;transition:background .2s ease,transform .1s ease}.gate-submit:hover:not(:disabled){background:#3bf}.gate-submit:active:not(:disabled){transform:scale(.98)}.gate-submit:disabled{cursor:default;opacity:.6}@media (max-width:480px){.gate-card{border-radius:12px;padding:36px 24px 28px}.gate-title{font-size:1.5rem}}
/*# sourceMappingURL=main.80e46c11.css.map*/