:root{--tap-target:44px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{color:#e6e8ec;background:#0f1115;min-height:100vh;margin:0}#root{min-height:100vh}button,input,select,textarea{font-family:inherit}img,video{max-width:100%}@media (width<=760px){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important}}a{color:inherit}.static-name{color:#e6e8ec;margin:0;font-size:1.1rem;font-weight:600}.navbar{color:#fff;z-index:40;background:#1c1f26;align-items:center;gap:2rem;padding:.85rem 1.5rem;display:flex;position:sticky;top:0}.navbar-brand{letter-spacing:.02em;color:inherit;white-space:nowrap;font-size:1.1rem;font-weight:700;text-decoration:none}.navbar-brand:hover{opacity:.85}.navbar-menu{flex:1;align-items:center;gap:2rem;min-width:0;display:flex}.navbar-menu-toggle{display:none}.navbar-links{gap:1.25rem;display:flex}.navbar-links a{color:#c7cbd4;white-space:nowrap;border-bottom:2px solid #0000;padding:.25rem .1rem;font-size:.95rem;text-decoration:none}.navbar-links a:hover{color:#fff}.navbar-links a.active{color:#fff;border-bottom-color:#5b8cff}.navbar-user{align-items:center;gap:.75rem;min-width:0;margin-left:auto;display:flex}.navbar-user-email{color:#9aa0ac;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.85rem;overflow:hidden}.navbar-signout{color:#c7cbd4;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #3a3f4b;border-radius:6px;padding:.3rem .7rem;font-size:.82rem}.navbar-signout:hover{color:#fff;border-color:#5b8cff}.navbar-preview-select{color:#c7cbd4;cursor:pointer;background:#0f1115;border:1px solid #3a3f4b;border-radius:6px;padding:.3rem .5rem;font-size:.82rem}.navbar-preview-select:hover{border-color:#5b8cff}@media (width<=1279px){.navbar{gap:1.25rem;padding-left:1rem;padding-right:1rem}.navbar-menu{gap:1.25rem}.navbar-links{flex-shrink:0;gap:.9rem}.navbar-user-email{display:none}.navbar-preview-select{text-overflow:ellipsis;flex:0 auto;min-width:6.5rem;max-width:10rem}}.navbar.navbar-collapsed{gap:1rem;padding:.5rem 1rem}.navbar-collapsed .navbar-menu-toggle{color:#e6e8ec;cursor:pointer;background:0 0;border:1px solid #3a3f4b;border-radius:8px;align-items:center;gap:.55rem;min-height:44px;margin-left:auto;padding:0 .85rem;font-size:.95rem;display:inline-flex}.navbar-collapsed .navbar-menu-toggle:hover,.navbar-collapsed .navbar-menu-toggle[aria-expanded=true]{border-color:#5b8cff}.navbar-collapsed .navbar-menu-icon{background:currentColor;border-radius:1px;width:16px;height:2px;box-shadow:0 -5px,0 5px}.navbar-collapsed .navbar-menu{background:#1c1f26;border:1px solid #2a2e38;border-top:none;border-radius:0 0 0 10px;flex-direction:column;align-items:stretch;gap:0;width:min(20rem,100%);max-height:calc(100dvh - 4rem);padding:.4rem 0;display:none;position:absolute;top:100%;right:0;overflow-y:auto;box-shadow:0 12px 28px #00000073}.navbar-collapsed .navbar-menu.navbar-menu-open{display:flex}.navbar-collapsed .navbar-links{flex-direction:column;gap:0}.navbar-collapsed .navbar-links a{border-bottom:none;border-left:3px solid #0000;align-items:center;min-height:44px;padding:.5rem 1.25rem;font-size:1rem;display:flex}.navbar-collapsed .navbar-links a:hover{background:#232733}.navbar-collapsed .navbar-links a.active{background:#232733;border-left-color:#5b8cff}.navbar-collapsed .navbar-user{border-top:1px solid #2a2e38;flex-direction:column;align-items:stretch;gap:.6rem;margin-top:.4rem;margin-left:0;padding:.8rem 1.25rem .5rem}.navbar-collapsed .navbar-user-email{order:-1;display:block}.navbar-collapsed .navbar-preview-select,.navbar-collapsed .navbar-signout{width:100%;max-width:none;min-height:44px;font-size:.95rem}@media (width<=760px){.navbar-collapsed .navbar-menu{border-left:none;border-right:none;border-radius:0;width:100%}}.app-shell{color:#e6e8ec;background:#0f1115;flex-direction:column;min-height:100vh;display:flex}.app-content{box-sizing:border-box;flex:1;width:100%;max-width:1400px;margin:0 auto;padding:1.25rem 1.5rem 3rem}.busy-bar{color:inherit;background:#171a21;border-bottom:1px solid #2a2e38;align-items:center;gap:.85rem;padding:.4rem 1.5rem;text-decoration:none;display:flex}.busy-bar:hover{background:#1c202a}.busy-bar-track{background:#21252e;border-radius:999px;flex-shrink:0;width:140px;height:6px;overflow:hidden}.busy-bar-fill{background:#5b8cff;height:100%;transition:width .3s}.busy-bar-indeterminate{width:40%;animation:1.2s ease-in-out infinite busy-bar-slide}@keyframes busy-bar-slide{0%{margin-left:-40%}to{margin-left:100%}}.busy-bar-label{color:#9aa0ac;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.preview-banner{color:#e0c26b;text-align:center;background:#3d3320;border-bottom:1px solid #5c4c26;justify-content:center;align-items:center;gap:.75rem;padding:.5rem 1.5rem;font-size:.85rem;display:flex}.preview-banner-exit{color:#e0c26b;cursor:pointer;background:0 0;border:1px solid #7a6633;border-radius:6px;padding:.25rem .7rem;font-size:.8rem}.preview-banner-exit:hover{background:#4a3e26}@media (width<=760px){.app-content{padding:1rem 1rem 2.5rem}.busy-bar,.preview-banner{padding-left:1rem;padding-right:1rem}.busy-bar-track{width:72px}.preview-banner{flex-wrap:wrap}.preview-banner-exit{min-height:36px}}.login-page{box-sizing:border-box;background:#0f1115;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{background:#171a21;border:1px solid #2a2e38;border-radius:10px;flex-direction:column;gap:.6rem;width:100%;max-width:360px;padding:1.75rem;display:flex}.login-title{color:#e6e8ec;margin:0;font-size:1.3rem}.login-subtitle{color:#9aa0ac;margin:0 0 .5rem;font-size:.9rem}.login-card label{color:#9aa0ac;margin-top:.3rem;font-size:.85rem}.login-card input{color:#e6e8ec;background:#0f1115;border:1px solid #2a2e38;border-radius:6px;padding:.5rem .6rem;font-family:inherit;font-size:1rem}.login-card button{color:#0f1115;cursor:pointer;background:#5b8cff;border:none;border-radius:6px;margin-top:.75rem;padding:.55rem .9rem;font-weight:600}.login-card button:disabled{opacity:.6;cursor:default}.login-error{color:#ff9a9a;margin:0;font-size:.85rem}.login-notice{color:#f5c97a;margin:0;font-size:.85rem}.login-hint{color:#6b7280;text-align:center;margin:.75rem 0 0;font-size:.78rem}@media (width<=760px){.login-page{padding:1rem}.login-card{padding:1.25rem}.login-card input,.login-card button{min-height:var(--tap-target)}}.pms{flex-direction:column;gap:.35rem;min-width:0;max-width:100%;display:flex}.pms-chips{flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.pms-chip{color:#e6e8ec;background:#263247;border:1px solid #3a4d6e;border-radius:999px;align-items:center;gap:.2rem;min-width:0;max-width:100%;padding:.15rem .2rem .15rem .6rem;font-size:.85rem;display:inline-flex}.pms-chip-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pms-chip-remove{color:#c7cbd4;cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;width:1.6rem;height:1.6rem;font-size:1.05rem;line-height:1}.pms-chip-remove:hover{background:#3a4d6e}.pms-clear{color:#8fb4ff;cursor:pointer;background:0 0;border:none;padding:.2rem .3rem;font-size:.8rem}.pms-input-wrap{min-width:0;position:relative}.pms-input-wrap input{width:100%;min-width:11rem}.pms-menu{z-index:30;background:#1d212a;border:1px solid #2a2e38;border-radius:8px;width:max(100%,16rem);max-width:min(22rem,100vw - 2rem);max-height:18rem;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 8px 24px #00000073}.pms-menu ul{margin:0;padding:.25rem 0;list-style:none}.pms-option{color:#e6e8ec;cursor:pointer;justify-content:space-between;gap:.75rem;padding:.45rem .7rem;font-size:.9rem;display:flex}.pms-option>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pms-option-active{background:#2a3550}.pms-option-unnamed{color:#9aa0ac;font-style:italic}.pms-option-count{color:#7d8494;flex:none;font-size:.8rem}.pms-note{color:#9aa0ac;margin:0;padding:.45rem .7rem;font-size:.85rem}.pms-error{color:#ff8a8a}.pms-more{color:#8fb4ff;text-align:left;cursor:pointer;background:0 0;border:none;border-top:1px solid #2a2e38;width:100%;padding:.5rem .7rem;font-size:.85rem;display:block}@media (width<=760px){.pms-input-wrap input{min-width:0}.pms-chip-remove,.pms-clear{min-height:var(--tap-target);min-width:var(--tap-target)}.pms-chip{padding-top:0;padding-bottom:0}.pms-option,.pms-more{min-height:var(--tap-target);align-items:center}.pms-menu{width:100%;max-width:none}}.filter-bar{background:#171a21;border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;padding:.85rem 1rem;display:flex}.filter-field{color:#9aa0ac;flex-direction:column;gap:.3rem;min-width:0;max-width:100%;font-size:.8rem;display:flex}.filter-field input,.filter-field select{color:#e6e8ec;background:#0f1115;border:1px solid #2a2e38;border-radius:6px;max-width:100%;padding:.4rem .55rem;font-size:.9rem}.filter-people{min-width:12rem}.filter-match{border:1px solid #2a2e38;border-radius:6px;align-self:flex-start;display:inline-flex;overflow:hidden}.filter-match button{color:#9aa0ac;cursor:pointer;background:#0f1115;border:none;padding:.3rem .6rem;font-size:.8rem}.filter-match button+button{border-left:1px solid #2a2e38}.filter-match button.active{color:#e6e8ec;background:#2a3550}.filter-search{flex:1;min-width:180px}.filter-search input{box-sizing:border-box;width:100%}.filter-clear{color:#c7cbd4;cursor:pointer;background:0 0;border:1px solid #3a3f4b;border-radius:6px;height:fit-content;padding:.45rem .75rem;font-size:.85rem}.filter-clear:hover{background:#21252e}@media (width<=760px){.filter-bar{gap:.75rem}.filter-field{flex:calc(50% - .375rem)}.filter-field input,.filter-field select{width:100%;min-height:var(--tap-target)}.filter-search,.filter-people{flex-basis:100%;min-width:0}.filter-match button,.filter-clear{min-height:var(--tap-target)}}.media-card{cursor:pointer;aspect-ratio:1;background:#171a21;border:none;border-radius:8px;width:100%;padding:0;position:relative;overflow:hidden}.media-card img{object-fit:cover;background:#21252e;width:100%;height:100%;display:block}.media-card img.media-card-broken{object-fit:none;opacity:.25}.media-card-badge{color:#fff;background:#000000a6;border-radius:4px;padding:.1rem .4rem;font-size:.72rem;position:absolute;bottom:6px;right:6px}.media-card-back-badge{color:#fff;pointer-events:none;background:#000000a6;border-radius:4px;padding:.1rem .4rem;font-size:.72rem;position:absolute;top:6px;left:6px}.media-card:hover{outline-offset:-2px;outline:2px solid #5b8cff}.media-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;display:grid}.media-grid-state{text-align:center;color:#9aa0ac;background:#171a21;border-radius:10px;padding:3rem 1rem}.media-grid-error{color:#ff9a9a}.media-grid-inline-error{color:#ff9a9a;margin-top:.75rem;font-size:.85rem}.media-grid-footer{justify-content:center;align-items:center;min-height:2.5rem;margin-top:1.5rem;display:flex}.load-more-btn{color:#0f1115;cursor:pointer;background:#5b8cff;border:none;border-radius:8px;padding:.6rem 1.4rem;font-weight:600}.load-more-btn:hover{background:#7ba0ff}.media-grid-loading,.media-grid-end{color:#9aa0ac;font-size:.9rem}@media (width<=760px){.load-more-btn{min-height:var(--tap-target)}}.confirm-dialog-backdrop{z-index:200;box-sizing:border-box;background:#000000d9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.confirm-dialog{background:#171a21;border:1px solid #2a2e38;border-radius:10px;width:min(440px,100%);max-height:100%;padding:1.25rem 1.5rem;overflow-y:auto}.confirm-dialog-title{margin:0 0 .6rem;font-size:1.1rem}.confirm-dialog-message{color:#c7cbd4;margin:0;line-height:1.5}.confirm-dialog-error{color:#ff9a9a;margin:.75rem 0 0}.confirm-dialog-actions{justify-content:flex-end;gap:.6rem;margin-top:1.25rem;display:flex}.confirm-dialog-cancel{color:#9aa0ac;cursor:pointer;background:0 0;border:1px solid #2a2e38;border-radius:6px;padding:.45rem .9rem}.confirm-dialog-confirm{color:#0f1115;cursor:pointer;background:#5b8cff;border:none;border-radius:6px;padding:.45rem .9rem;font-weight:600}.confirm-dialog-danger{color:#fff;cursor:pointer;background:#d64545;border:none;border-radius:6px;padding:.45rem .9rem;font-weight:600}.confirm-dialog-cancel:disabled,.confirm-dialog-confirm:disabled,.confirm-dialog-danger:disabled{opacity:.6;cursor:default}@media (width<=760px){.confirm-dialog-backdrop{padding:.75rem}.confirm-dialog{padding:1.1rem}.confirm-dialog-cancel,.confirm-dialog-confirm,.confirm-dialog-danger{min-height:var(--tap-target);padding-left:1.1rem;padding-right:1.1rem}}.pp-option{justify-content:flex-start;align-items:center;gap:.55rem}.pp-option-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pp-option-meta{white-space:nowrap}.pp-face{object-fit:cover;background:#21252e;border-radius:50%;flex:none;width:28px;height:28px}.pp-face-empty{border:1px dashed #3a3f4b;display:inline-block}.pp-option-create{color:#8fb4ff;border-top:1px solid #2a2e38}.pp-warn{color:#f0c36a;border-bottom:1px solid #2a2e38}.pp-menu{width:max(100%,18rem)}@media (width<=760px){.pp-menu{width:100%}.pp-option-meta{font-size:.75rem}}.lightbox-backdrop{z-index:100;box-sizing:border-box;background:#000000d9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0;overflow-y:auto}.lightbox{flex-direction:column;align-items:center;width:min(1100px,100%);max-width:100%;max-height:100%;display:flex;position:relative}.lightbox-media{justify-content:center;align-items:center;width:100%;max-height:75vh;display:flex;position:relative}.lightbox-flip{color:#fff;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:#0009;border:1px solid #ffffff59;border-radius:999px;align-items:center;gap:.4rem;min-height:44px;padding:.5rem 1rem;font-size:.95rem;font-weight:600;display:inline-flex;position:absolute;bottom:.75rem;left:50%;transform:translate(-50%)}.lightbox-flip:hover,.lightbox-flip:focus-visible{background:#000c;border-color:#5b8cff}.lightbox-flip-active{background:#5b8cff;border-color:#5b8cff}.lightbox-flip-active:hover,.lightbox-flip-active:focus-visible{background:#4a7af0}.lightbox-side-label{color:#fff;vertical-align:middle;word-break:normal;background:#5b8cff;border-radius:4px;margin-left:.5rem;padding:.05rem .45rem;font-size:.72rem;font-weight:600;display:inline-block}.lightbox-image,.lightbox-video{background:#000;border-radius:6px;max-width:100%;max-height:75vh}.lightbox-close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:2rem;line-height:1;position:absolute;top:-2.5rem;right:0}.lightbox-nav{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:2.2rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:disabled{opacity:.25;cursor:default}.lightbox-nav:not(:disabled):hover{background:#ffffff40}.lightbox-prev{left:-1rem}.lightbox-next{right:-1rem}.lightbox-meta{color:#e6e8ec;text-align:center;width:100%;margin-top:1rem}.lightbox-meta-title-row{justify-content:center;align-items:center;gap:.75rem;margin-bottom:.25rem;display:flex}.lightbox-meta-title{word-break:break-all;font-weight:600}.lightbox-delete-button{color:#ff9a9a;cursor:pointer;background:0 0;border:1px solid #4a2a2a;border-radius:6px;flex-shrink:0;padding:.2rem .6rem;font-size:.8rem}.lightbox-delete-button:hover:not(:disabled){background:#3b2020}.lightbox-delete-button:disabled{opacity:.5;cursor:default}.lightbox-meta-row{color:#9aa0ac;flex-wrap:wrap;justify-content:center;gap:1rem;font-size:.88rem;display:flex}.lightbox-meta-status{color:#9aa0ac;margin-top:.4rem;font-size:.82rem}.lightbox-meta-error{color:#ff9a9a}.lightbox-organize-status{word-break:break-all}.lightbox-organized-yes{color:#7fd490}.lightbox-organized-no{color:#9aa0ac}.lightbox-faces{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.6rem;display:flex}.lightbox-face-chip{overflow-wrap:anywhere;background:#21252e;border-radius:999px;align-items:center;gap:.35rem;max-width:100%;padding:.25rem .4rem .25rem .75rem;font-size:.82rem;display:inline-flex}.lightbox-face-chip a{color:#a9c1ff;text-decoration:none}.lightbox-face-chip a:hover{text-decoration:underline}.lightbox-face-remove{color:#7a8091;cursor:pointer;background:0 0;border:none;border-radius:50%;padding:.1rem .25rem;font-size:.95rem;line-height:1}.lightbox-face-remove:hover:not(:disabled){color:#ff9a9a;background:#3b2020}.lightbox-face-remove:disabled{opacity:.5;cursor:default}.lightbox-add-person{color:#9aa0ac;cursor:pointer;background:0 0;border:1px dashed #3a3f4b;border-radius:999px;padding:.25rem .75rem;font-size:.82rem}.lightbox-add-person:hover{color:#a9c1ff;border-color:#5b8cff}.lightbox-event-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.lightbox-event-label{color:#9aa0ac;font-size:.82rem}.lightbox-details-form{text-align:left;background:#171a21;border-radius:8px;margin-top:.75rem;padding:.75rem .9rem}.lightbox-details-row{flex-wrap:wrap;gap:.75rem;display:flex}.lightbox-details-form label{color:#9aa0ac;flex-direction:column;flex:1;gap:.25rem;min-width:160px;font-size:.78rem;display:flex}.lightbox-details-description{margin-top:.6rem;display:block}.lightbox-details-form input,.lightbox-details-form textarea,.lightbox-tag-picker select,.lightbox-tag-picker input{color:#e6e8ec;box-sizing:border-box;background:#0f1115;border:1px solid #2a2e38;border-radius:6px;width:100%;padding:.4rem .55rem;font-family:inherit;font-size:.9rem}.lightbox-details-form textarea{resize:vertical}.lightbox-details-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.6rem;display:flex}.lightbox-details-actions button{overflow-wrap:anywhere}.lightbox-details-actions button,.lightbox-tag-picker button[type=submit]{color:#0f1115;cursor:pointer;background:#5b8cff;border:none;border-radius:6px;padding:.4rem .9rem;font-size:.85rem;font-weight:600}.lightbox-details-actions button:disabled,.lightbox-tag-picker button:disabled{opacity:.6;cursor:default}.lightbox-tag-picker{text-align:left;background:#171a21;border-radius:8px;margin-top:.6rem;padding:.75rem .9rem}.lightbox-tag-picker-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.lightbox-tag-picker-or{color:#9aa0ac;flex-shrink:0;font-size:.8rem}.lightbox-tag-cancel{color:#9aa0ac;cursor:pointer;background:0 0;border:1px solid #2a2e38;border-radius:6px;padding:.4rem .8rem;font-size:.85rem}@media (width<=760px){.lightbox-backdrop{background:#000000f0;align-items:flex-start;padding:3.5rem .75rem 1.5rem}.lightbox{max-height:none}.lightbox-media,.lightbox-image,.lightbox-video{max-height:65vh}.lightbox-close{width:var(--tap-target);height:var(--tap-target);justify-content:center;align-items:center;display:flex;top:-3.25rem;right:-.25rem}.lightbox-nav{width:2.75rem;height:2.75rem;font-size:1.6rem}.lightbox-prev{left:.25rem}.lightbox-next{right:.25rem}.lightbox-delete-button,.lightbox-add-person,.lightbox-tag-cancel,.lightbox-details-actions button,.lightbox-tag-picker button[type=submit]{min-height:40px;padding-left:.9rem;padding-right:.9rem}.lightbox-face-chip{padding-top:.15rem;padding-bottom:.15rem}.lightbox-face-chip a{padding:.5rem 0}.lightbox-face-remove{min-width:36px;min-height:36px}.lightbox-details-form label{min-width:0}}.lightbox-tag-picker-hint{color:#9aa0ac;margin:.45rem 0;font-size:.8rem}.lightbox-tag-picker .pp input{color:#e6e8ec;background:#0f1115;border:1px solid #2a2e38;border-radius:6px;width:100%;padding:.4rem .55rem;font-family:inherit;font-size:.9rem}.photo-picker{flex-direction:column;gap:.85rem;display:flex}.photo-picker-toolbar{color:#9aa0ac;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;font-size:.85rem;display:flex}.photo-picker-toolbar-actions{gap:.5rem;display:flex}.photo-picker-toolbar-actions button{color:#9aa0ac;cursor:pointer;background:0 0;border:1px solid #2a2e38;border-radius:6px;padding:.3rem .7rem;font-size:.8rem}.photo-picker-toolbar-actions button:hover{color:#a9c1ff;border-color:#5b8cff}.photo-picker-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;max-height:50vh;padding-right:.25rem;display:grid;overflow-y:auto}.photo-picker-cell{cursor:pointer;aspect-ratio:1;opacity:.45;background:#171a21;border:none;border-radius:8px;width:100%;padding:0;position:relative;overflow:hidden}.photo-picker-cell.checked{opacity:1;outline-offset:-2px;outline:2px solid #5b8cff}.photo-picker-cell img{object-fit:cover;background:#21252e;width:100%;height:100%;display:block}.photo-picker-checkbox{color:#5b8cff;background:#0f1115bf;border:1px solid #5b8cff;border-radius:5px;justify-content:center;align-items:center;width:20px;height:20px;font-size:.8rem;font-weight:700;display:flex;position:absolute;top:6px;right:6px}.photo-picker-actions{border-top:1px solid #2a2e38;justify-content:flex-end;gap:.6rem;padding-top:.85rem;display:flex}.photo-picker-cancel{color:#9aa0ac;cursor:pointer;background:0 0;border:1px solid #2a2e38;border-radius:6px;padding:.45rem .9rem}.photo-picker-confirm{color:#0f1115;cursor:pointer;background:#5b8cff;border:none;border-radius:6px;padding:.45rem .9rem;font-weight:600}.photo-picker-confirm:disabled{opacity:.6;cursor:default}@media (width<=760px){.photo-picker-toolbar-actions button{min-height:40px}.photo-picker-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}}.stats-strip{background:#171a21;border-radius:10px;gap:1.5rem;margin-bottom:1.25rem;padding:.75rem 1rem;display:flex}.stat{flex-direction:column;align-items:center;min-width:70px;display:flex}.stat-value{font-size:1.3rem;font-weight:700}.stat-label{color:#9aa0ac;font-size:.78rem}.storage-bar-wrap{border-left:1px solid #2a2e38;flex-direction:column;flex:1;justify-content:center;gap:.35rem;min-width:160px;padding-left:1.5rem;display:flex}.storage-bar-label{color:#9aa0ac;font-size:.78rem}.storage-bar-track{background:#21252e;border-radius:999px;height:6px;overflow:hidden}.storage-bar-fill{border-radius:999px;height:100%;transition:width .3s}.storage-bar-ok{background:#5b8cff}.storage-bar-warn{background:#e0c26b}.storage-bar-full{background:#ff9a9a}@media (width<=760px){.stats-strip{flex-wrap:wrap;gap:.75rem 1rem}.stat{flex:1 1 0;min-width:0}.storage-bar-wrap{border-top:1px solid #2a2e38;border-left:none;flex-basis:100%;min-width:0;padding-top:.6rem;padding-left:0}}.person-card{color:#e6e8ec;background:#171a21;border-radius:10px;flex-direction:column;align-items:center;gap:.4rem;padding:1rem;text-decoration:none;display:flex}.person-card:hover{outline:2px solid #5b8cff}.person-card-thumb{background:#21252e;border-radius:50%;width:96px;height:96px;overflow:hidden}.person-card-thumb img{object-fit:cover;width:100%;height:100%;display:block}.person-card-name{text-align:center;font-weight:600}.person-card-count{color:#9aa0ac;font-size:.82rem}.page-title{margin:.25rem 0 1.25rem;font-size:1.4rem}.people-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;display:grid}.people-status{color:#9aa0ac;padding:1rem 0}.people-error{color:#ff9a9a}.people-name-queue-link{color:#5b8cff;margin-bottom:1.25rem;font-size:.9rem;text-decoration:none;display:inline-block}.people-name-queue-link:hover{text-decoration:underline}@media (width<=760px){.people-name-queue-link{margin-bottom:.6rem;padding:.6rem 0}}.person-detail-back{color:#9aa0ac;margin-bottom:1rem;font-size:.9rem;text-decoration:none;display:inline-block}.person-detail-back:hover{color:#e6e8ec}.person-detail-header{background:#171a21;border-radius:10px;align-items:center;gap:1.25rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.person-detail-thumb{object-fit:cover;background:#21252e;border-radius:50%;flex-shrink:0;width:84px;height:84px}.person-detail-info{flex:1;min-width:0}.person-detail-rename{gap:.5rem;max-width:360px;display:flex}.person-detail-rename input{color:#e6e8ec;background:#0f1115;border:1px solid #2a2e38;border-radius:6px;flex:1;min-width:0;padding:.45rem .6rem;font-size:1rem}.person-detail-rename button{color:#0f1115;cursor:pointer;background:#5b8cff;border:none;border-radius:6px;padding:.45rem .9rem;font-weight:600}.person-detail-rename button:disabled{opacity:.6;cursor:default}.person-detail-count{color:#9aa0ac;margin:.5rem 0 0;font-size:.85rem}.person-detail-merge{color:#a9c1ff;border:1px solid #3a3f4b;border-radius:6px;padding:.15rem .6rem;text-decoration:none;display:inline-block}.person-detail-merge:hover{border-color:#5b8cff}.person-detail-namesakes{background:#2a2416;border:1px solid #5a4a26;border-radius:8px;margin:.6rem 0 0;padding:.6rem .8rem;font-size:.9rem}.person-detail-namesakes p{margin:0 0 .5rem}.person-detail-namesake-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.person-detail-namesake-actions a{color:#8fb4ff;overflow-wrap:anywhere}.person-detail-namesake-actions button{color:#c7cbd4;cursor:pointer;background:0 0;border:1px solid #3a3f4b;border-radius:6px;padding:.3rem .7rem;font-size:.85rem}@media (width<=760px){.person-detail-merge,.person-detail-namesake-actions a,.person-detail-namesake-actions button{min-height:var(--tap-target);align-items:center;display:inline-flex}}.person-detail-facts{margin-top:.6rem}.person-detail-fact{color:#9aa0ac;margin:.2rem 0;font-size:.88rem}.person-detail-description{color:#e6e8ec;white-space:pre-wrap;margin:.5rem 0 0;font-size:.9rem}.person-detail-form{text-align:left;background:#0f1115;border-radius:8px;max-width:360px;margin-top:.75rem;padding:.75rem .9rem}.person-detail-form-full{color:#9aa0ac;flex-direction:column;gap:.25rem;margin-top:.5rem;font-size:.78rem;display:flex}.person-detail-form-full:first-child{margin-top:0}.person-detail-form input,.person-detail-form textarea{color:#e6e8ec;box-sizing:border-box;background:#171a21;border:1px solid #2a2e38;border-radius:6px;width:100%;padding:.4rem .55rem;font-family:inherit;font-size:.9rem}.person-detail-form textarea{resize:vertical}.person-detail-form-actions{align-items:center;gap:.75rem;margin-top:.6rem;display:flex}.person-detail-form-actions button{color:#0f1115;cursor:pointer;background:#5b8cff;border:none;border-radius:6px;padding:.4rem .9rem;font-size:.85rem;font-weight:600}.person-detail-form-actions button:disabled{opacity:.6;cursor:default}@media (width<=480px){.person-detail-header{flex-direction:column;align-items:stretch;padding:1rem}.person-detail-thumb{align-self:center}}@media (width<=760px){.person-detail-back{margin-bottom:.4rem;padding:.6rem 0}.person-detail-rename button,.person-detail-form-actions button{min-height:var(--tap-target)}}.tmp{box-sizing:border-box;background:#171a21;border:1px solid #2a2e38;border-radius:10px;flex-direction:column;flex-shrink:0;gap:.9rem;width:340px;max-height:calc(100vh - 190px);padding:1rem;display:flex;overflow-y:auto}.tmp-head{align-items:flex-start;gap:.75rem;display:flex}.tmp-avatar{background:#2a2e38;border-radius:50%;flex-shrink:0;width:56px;height:56px;overflow:hidden}.tmp-avatar:empty{display:none}.tmp-avatar img{object-fit:cover;width:100%;height:100%}.tmp-head-text{flex:1;min-width:0}.tmp-name{word-break:break-word;margin:0;font-size:1.15rem}.tmp-years{color:#9aa0ac;font-size:.85rem}.tmp-relation{color:#f0c75e;margin-top:.2rem;font-size:.85rem}.tmp-close{color:#9aa0ac;cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:1.4rem;line-height:1}.tmp-close:hover{color:#fff}.tmp-links,.tmp-footer{flex-wrap:wrap;gap:.5rem;display:flex}.tmp-footer{border-top:1px solid #2a2e38;justify-content:space-between;padding-top:.9rem}.tmp-add-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.tmp-btn{color:#e6e8ec;cursor:pointer;text-align:center;background:#1f232c;border:1px solid #333846;border-radius:6px;padding:.45rem .7rem;font-size:.85rem;text-decoration:none}.tmp-btn:hover:not(:disabled){background:#272c37}.tmp-btn:disabled{opacity:.5;cursor:default}.tmp-btn-primary{color:#fff;background:#2a4a9a;border-color:#3a5cb5}.tmp-btn-primary:hover:not(:disabled){background:#3358b5}.tmp-btn-danger{color:#ff9a9a;border-color:#5a2f35}.tmp-notes{color:#c7cbd4;white-space:pre-wrap;margin:0;font-size:.88rem}.tmp-rel-group{flex-direction:column;gap:.3rem;display:flex}.tmp-rel-title{color:#9aa0ac;text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.tmp-rel-extended>summary{cursor:pointer;align-items:center;gap:.4rem;list-style:none;display:flex}.tmp-rel-extended>summary::-webkit-details-marker{display:none}.tmp-rel-extended>summary:before{content:"▸";color:#6b7180;font-size:.7rem;transition:transform .15s}.tmp-rel-extended[open]>summary:before{transform:rotate(90deg)}.tmp-rel-count{color:#6b7180;font-size:.72rem}.tmp-rel-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.tmp-rel-list li{align-items:center;gap:.3rem;display:flex}.tmp-rel-name{overflow-wrap:break-word;color:#e6e8ec;cursor:pointer;text-align:left;background:#1c1f26;border:1px solid #2a2e38;border-radius:6px;flex-wrap:wrap;flex:1;justify-content:space-between;gap:.5rem;min-width:0;padding:.35rem .6rem;font-size:.88rem;display:flex}.tmp-rel-name:hover{background:#232733}.tmp-rel-relation{color:#f0c75e;font-size:.78rem}.tmp-rel-remove{color:#6b7180;cursor:pointer;background:0 0;border:none;padding:0 .3rem;font-size:1.1rem}.tmp-rel-remove:hover:not(:disabled){color:#ff9a9a}.tmp-rel-status{color:#9aa0ac;cursor:pointer;background:#171a21;border:1px solid #2a2e38;border-radius:6px;flex-shrink:0;max-width:6.5rem;padding:.2rem .25rem;font-size:.75rem}.tmp-rel-status:hover:not(:disabled),.tmp-rel-status:focus-visible{color:#e6e8ec;border-color:#4a505e}.tmp-ended,.tmp-adopted{color:#c9ccd4}.tmp-rel-adopted{color:#9aa0ac;cursor:pointer;flex-shrink:0;align-items:center;gap:.25rem;font-size:.75rem;display:flex}span.tmp-rel-adopted{cursor:default}.tmp-rel-adopted input{margin:0}.tmp-form{flex-direction:column;gap:.7rem;display:flex}.tmp-form-title{margin:0;font-size:1rem}.tmp-mode{border:1px solid #333846;border-radius:6px;display:flex;overflow:hidden}.tmp-mode button{color:#9aa0ac;cursor:pointer;background:#1c1f26;border:none;flex:1;padding:.4rem;font-size:.85rem}.tmp-mode button.is-active{color:#fff;background:#2a4a9a}.tmp-row{gap:.6rem;display:flex}.tmp-row .tmp-field{flex:1;min-width:0}.tmp-field{color:#9aa0ac;flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}.tmp-field input,.tmp-field select,.tmp-field textarea{color:#e6e8ec;font:inherit;box-sizing:border-box;background:#0f1115;border:1px solid #333846;border-radius:6px;width:100%;padding:.45rem .55rem;font-size:.9rem}.tmp-fieldset{border:1px solid #2a2e38;border-radius:6px;flex-direction:column;gap:.35rem;margin:0;padding:.5rem .7rem;display:flex}.tmp-fieldset legend{color:#9aa0ac;padding:0 .3rem;font-size:.8rem}.tmp-check{align-items:center;gap:.45rem;font-size:.88rem;display:flex}.tmp-date-row{gap:.4rem;min-width:0;display:flex}.tmp-date-row input,.tmp-date-row select{color:#e6e8ec;font:inherit;background:#0f1115;border:1px solid #333846;border-radius:6px;min-width:0;padding:.45rem;font-size:.9rem}.tmp-date-year{flex-shrink:0;width:4.6rem}.tmp-date-month{flex:1}.tmp-date-day{flex-shrink:0;width:4.6rem}.tmp-deceased{color:#c9ccd4}.tmp-hint{color:#7d8391;margin:0;font-size:.8rem}.tmp-error{color:#ff9a9a;margin:0;font-size:.85rem}.tmp-actions{justify-content:flex-end;gap:.5rem;display:flex}@media (width<=760px){.tmp{z-index:30;border-radius:14px 14px 0 0;width:auto;max-height:62dvh;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #00000080}.tmp-close,.tmp-rel-remove{min-width:40px;min-height:40px}.tmp-rel-status{min-height:var(--tap-target);max-width:none}.tmp-ended,.tmp-adopted,.tmp-rel-adopted,.tmp-deceased,.tmp-date-row input,.tmp-date-row select,.tmp-place input,.tmp-place select{min-height:var(--tap-target)}.tmp-deceased input,.tmp-adopted input,.tmp-rel-adopted input{width:22px;height:22px}.tmp-close{margin:-.5rem -.5rem 0 0}}.tree-page{flex-direction:column;gap:.75rem;display:flex}.tree-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;display:flex}.tree-title{margin:0}.tree-focus-picker{color:#9aa0ac;align-items:center;gap:.5rem;font-size:.88rem;display:flex}.tree-focus-picker select,.tree-zoom button,.tree-add-btn{color:#e6e8ec;background:#1c1f26;border:1px solid #2f3440;border-radius:6px;padding:.35rem .6rem;font-size:.88rem}.tree-zoom{align-items:center;gap:.35rem;display:flex}.tree-zoom button{cursor:pointer;min-width:2rem}.tree-zoom-level{color:#9aa0ac;text-align:center;min-width:2.8rem;font-size:.82rem}.tree-add-btn{cursor:pointer;color:#fff;background:#2a4a9a;border-color:#3a5cb5;margin-left:auto}.tree-add-btn:hover{background:#3358b5}.tree-body{align-items:stretch;gap:1rem;display:flex;position:relative}.tree-viewport{cursor:grab;touch-action:pan-x pan-y;background:radial-gradient(circle,#1d212a 1px,#0000 1px) 0 0/22px 22px,#12141a;border:1px solid #242832;border-radius:10px;flex:1;min-width:0;height:calc(100vh - 190px);min-height:420px;overflow:auto}.tree-viewport:active{cursor:grabbing}.tree-stage{position:relative}.tree-inner{transform-origin:0 0;position:absolute;top:0;left:0}.tree-lines{pointer-events:none;position:absolute;inset:0;overflow:visible}.tree-line-family{fill:none;stroke-width:2px;stroke-linejoin:round;opacity:.55;transition:opacity .15s,stroke-width .15s}.tree-line-family.is-hot{opacity:1;stroke-width:3px}.tree-line-family.hue-0{stroke:#6f93e8}.tree-line-family.hue-1{stroke:#58b89a}.tree-line-family.hue-2{stroke:#d49a5a}.tree-line-family.hue-3{stroke:#b784d9}.tree-line-family.hue-4{stroke:#d9707e}.tree-line-family.hue-5{stroke:#9fb35a}.tree-line-family.tree-line-adopted{stroke-dasharray:.5 5;stroke-linecap:round;stroke-width:3px}.tree-line-family.tree-line-adopted.is-hot{stroke-width:4px}.tree-legend .tree-line-adopted{opacity:1}.tree-line-partner{fill:none;stroke:#c9ccd4;stroke-width:2px}.tree-line-partner.is-dashed{stroke-dasharray:5 5;opacity:.7}.tree-line-spouse-outer,.tree-line-spouse-gap{fill:none}.tree-line-spouse-outer{stroke:#c9ccd4;stroke-width:6px}.tree-line-spouse-gap{stroke:#12141a;stroke-width:2px}.tree-line-spouse.is-dashed path{stroke-dasharray:6 5}.tree-line-spouse.is-dashed{opacity:.7}.tree-line-ex .tree-line-spouse-outer,.tree-line-ex .tree-line-partner{stroke:#80858f}.tree-line-ex.is-dashed .tree-line-spouse-outer,.tree-line-ex.is-dashed .tree-line-spouse-gap,.tree-line-ex.is-dashed .tree-line-partner{stroke-dasharray:6 5}.tree-line-ex.is-dashed{opacity:.8}.tree-line-ex-halo,.tree-line-ex-mark{fill:none;stroke-linecap:round}.tree-line-ex-halo{stroke:#12141a;stroke-width:5px}.tree-line-ex-mark{stroke:#e6e8ec;stroke-width:2px}.tree-legend .tree-line-ex-halo{stroke-width:3.5px}.tree-legend .tree-line-ex-mark{stroke-width:1.5px}.tree-legend{color:#9aa0ac;pointer-events:none;background:#0f1115d9;border:1px solid #242832;border-radius:6px;flex-wrap:wrap;gap:.2rem .9rem;max-width:calc(100% - 1.2rem);margin:0;padding:.3rem .6rem;font-size:.75rem;list-style:none;display:flex;position:absolute;bottom:1.1rem;left:.6rem}.tree-legend li{white-space:nowrap;align-items:center;gap:.35rem;display:flex}.tree-legend li[title]{pointer-events:auto;cursor:help}.tree-legend-swatch{flex-shrink:0}.tree-node{box-sizing:border-box;color:#e6e8ec;text-align:left;cursor:pointer;font:inherit;background:#1c1f26;border:1px solid #2f3440;border-left:4px solid #4a505e;border-radius:10px;align-items:center;gap:.6rem;padding:.5rem .6rem;transition:border-color .15s,background .15s;display:flex;position:absolute;box-shadow:0 2px 6px #00000059}.tree-node:hover{background:#232733}.tree-node.is-male{border-left-color:#5b8cff}.tree-node.is-female{border-left-color:#d97aa5}.tree-node.is-unknown .tree-node-name{color:#9aa0ac;font-style:italic}.tree-node.is-focus{background:#1f2a44;border-color:#5b8cff}.tree-node.is-selected{outline-offset:2px;outline:2px solid #f0c75e}.tree-node-avatar{background:#2a2e38;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;overflow:hidden}.tree-node-avatar img{object-fit:cover;width:100%;height:100%}.tree-node-initials{color:#c7cbd4;font-size:.9rem;font-weight:600}.tree-node-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.tree-node-name{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.tree-node-name-row{align-items:baseline;gap:.3rem;min-width:0;display:flex}.tree-node-deceased{color:#9aa0ac;flex-shrink:0;font-size:.85rem}.tree-node.is-deceased:not(.is-focus):not(:hover){background:#181b21}.tree-node.is-deceased .tree-node-name{color:#c7cbd4}.tree-node.is-deceased .tree-node-avatar img{filter:grayscale(.7)}.tree-node-years{color:#9aa0ac;font-size:.75rem}.tree-node-relation{color:#f0c75e;text-overflow:ellipsis;white-space:nowrap;margin-top:.15rem;font-size:.75rem;overflow:hidden}.tree-node-relation.is-focus-chip{color:#8fb0ff}.tree-status{color:#9aa0ac;padding:1rem 0}.tree-error{color:#ff9a9a}.tree-empty{text-align:center;color:#9aa0ac;border:1px dashed #2f3440;border-radius:10px;flex:1;padding:3rem 1rem}@media (width<=760px){.tree-viewport{height:calc(100vh - 230px)}.tree-focus-picker{width:100%}.tree-focus-picker select{flex:1;min-width:0}.tree-add-btn{margin-left:0}}.name-queue-progress{color:#9aa0ac;margin:0 0 1rem;font-size:.9rem}.name-queue-card{background:#171a21;border-radius:10px;gap:1.5rem;margin-bottom:2rem;padding:1.25rem;display:flex}.name-queue-thumb{object-fit:cover;background:#21252e;border-radius:50%;flex-shrink:0;width:120px;height:120px}.name-queue-forms{flex-direction:column;flex:1;gap:1rem;min-width:0;display:flex}.name-queue-form label{color:#9aa0ac;margin-bottom:.35rem;font-size:.85rem;display:block}.name-queue-form-row{gap:.5rem;display:flex}.name-queue-form-row input,.name-queue-form-row select{color:#e6e8ec;background:#0f1115;border:1px solid #2a2e38;border-radius:6px;flex:1;min-width:0;padding:.45rem .6rem;font-size:1rem}.name-queue-form-row button{color:#0f1115;cursor:pointer;white-space:nowrap;background:#5b8cff;border:none;border-radius:6px;padding:.45rem .9rem;font-weight:600}.name-queue-form-row button:disabled{opacity:.6;cursor:default}.name-queue-skip{color:#9aa0ac;cursor:pointer;background:0 0;border:1px solid #2a2e38;border-radius:6px;align-self:flex-start;padding:.4rem .8rem}.name-queue-skip:disabled{opacity:.6;cursor:default}.name-queue-subtitle{margin:0 0 1rem;font-size:1.1rem}.name-queue-suggest{background:#171a21;border-radius:10px;margin-bottom:1.5rem;padding:1rem 1.25rem}.name-queue-suggest>button{color:#0f1115;cursor:pointer;background:#5b8cff;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:600}.name-queue-suggest>button:disabled{opacity:.6;cursor:default}.name-queue-suggest-hint{color:#9aa0ac;max-width:560px;margin-top:.5rem;font-size:.85rem;display:block}.name-queue-suggestions-list{flex-direction:column;gap:.6rem;margin-top:1rem;display:flex}.name-queue-suggestion-row{background:#0f1115;border:1px solid #2a2e38;border-radius:8px;align-items:center;gap:.75rem;padding:.6rem .85rem;display:flex}.name-queue-suggestion-thumb{object-fit:cover;background:#21252e;border-radius:50%;flex-shrink:0;width:44px;height:44px}.name-queue-suggestion-row>a{flex-shrink:0;display:flex}.name-queue-suggestion-thumb-link{cursor:pointer;outline-offset:2px;outline:2px solid #0000;transition:outline-color .15s}.name-queue-suggestion-thumb-link:hover{outline-color:#5b8cff}.name-queue-suggestion-arrow{color:#9aa0ac}.name-queue-suggestion-info{flex:1;min-width:0}.name-queue-suggestion-name{overflow-wrap:anywhere;font-weight:600}.name-queue-suggestion-confidence{color:#9aa0ac;font-size:.8rem}.name-queue-suggestion-actions{flex-shrink:0;gap:.5rem;display:flex}.name-queue-suggestion-actions button{color:#0f1115;cursor:pointer;white-space:nowrap;background:#5b8cff;border:none;border-radius:6px;padding:.35rem .7rem;font-size:.85rem;font-weight:600}.name-queue-suggestion-actions button:disabled{opacity:.6;cursor:default}.name-queue-suggestion-actions button.name-queue-suggestion-dismiss{color:#9aa0ac;background:0 0;border:1px solid #2a2e38}@media (width<=760px){.name-queue-card{flex-direction:column;align-items:center;gap:1rem;padding:1rem}.name-queue-thumb{width:96px;height:96px}.name-queue-forms{align-self:stretch}.name-queue-form-row input,.name-queue-form-row select,.name-queue-form-row button,.name-queue-skip,.name-queue-suggest>button{min-height:var(--tap-target)}.name-queue-suggest{padding:1rem}.name-queue-suggestion-row{flex-wrap:wrap}.name-queue-suggestion-actions{flex-basis:100%}.name-queue-suggestion-actions button{min-height:var(--tap-target);flex:1}}.name-queue-namesakes{background:#2a2416;border:1px solid #5a4a26;border-radius:8px;margin-top:.6rem;padding:.6rem .8rem;font-size:.9rem}.name-queue-namesakes p{margin:0 0 .5rem}.name-queue-namesake-actions{flex-wrap:wrap;gap:.5rem;display:flex}.name-queue-namesake-actions button{color:#0f1115;cursor:pointer;overflow-wrap:anywhere;text-align:left;background:#5b8cff;border:none;border-radius:6px;max-width:100%;padding:.4rem .8rem;font-weight:600}.name-queue-namesake-actions .name-queue-namesake-new{color:#c7cbd4;background:0 0;border:1px solid #3a3f4b;font-weight:400}@media (width<=760px){.name-queue-namesake-actions button{min-height:var(--tap-target)}}.merge-intro{color:#9aa0ac;max-width:48rem;margin:0 0 1.25rem}.merge-section-title,.merge-slot-title{margin:0 0 .5rem;font-size:1rem}.merge-note{color:#9aa0ac;margin:.25rem 0;font-size:.9rem}.merge-error{color:#ff8a8a}.merge-unnamed{color:#9aa0ac;font-style:italic}.merge-dupes{background:#171a21;border-radius:10px;margin-bottom:1.25rem;padding:1rem 1.25rem}.merge-dupes-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.merge-dupe{border-top:1px solid #2a2e38;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.merge-dupe:first-child{border-top:none}.merge-dupe-people{flex-direction:column;gap:.35rem;min-width:0;display:flex}.merge-dupe-name{overflow-wrap:anywhere;font-weight:600}.merge-dupe-faces{color:#9aa0ac;flex-wrap:wrap;gap:.35rem .9rem;font-size:.85rem;display:flex}.merge-dupe-person{align-items:center;gap:.35rem;display:inline-flex}.merge-done{background:#1b2a1f;border:1px solid #2f5a3a;border-radius:8px;margin:0 0 1rem;padding:.6rem .9rem}.merge-done a{color:#8fb4ff}.merge-slots{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:1rem;scroll-margin-top:1rem;display:grid}.merge-slot{background:#171a21;border-radius:10px;min-width:0;padding:1rem 1.25rem}.merge-slot-hint{color:#9aa0ac;margin:0 0 .75rem;font-size:.85rem}.merge-slot input{color:#e6e8ec;background:#0f1115;border:1px solid #2a2e38;border-radius:6px;width:100%;padding:.45rem .6rem;font-size:1rem}.merge-swap{align-self:center}.merge-chosen-head{align-items:center;gap:.75rem;display:flex}.merge-chosen-face{object-fit:cover;background:#21252e;border-radius:50%;flex:none;width:64px;height:64px}.merge-chosen-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.merge-chosen-name{color:#e6e8ec;overflow-wrap:anywhere;font-size:1.05rem;font-weight:600;text-decoration:none}.merge-chosen-name:hover{text-decoration:underline}.merge-chosen-meta{color:#9aa0ac;font-size:.85rem}.merge-samples{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin-top:.75rem;display:grid}.merge-samples img{aspect-ratio:1;object-fit:cover;background:#21252e;border-radius:6px;width:100%}.merge-samples .merge-note{grid-column:1/-1}.merge-secondary,.merge-swap{color:#c7cbd4;cursor:pointer;background:0 0;border:1px solid #3a3f4b;border-radius:6px;flex:none;padding:.4rem .8rem;font-size:.85rem}.merge-secondary:hover,.merge-swap:hover:not(:disabled){color:#a9c1ff;border-color:#5b8cff}.merge-swap:disabled{opacity:.5;cursor:default}.merge-actions{margin-top:1.25rem}.merge-primary{color:#0f1115;cursor:pointer;overflow-wrap:anywhere;text-align:left;background:#5b8cff;border:none;border-radius:6px;max-width:100%;padding:.55rem 1.1rem;font-size:.95rem;font-weight:600}.merge-primary:disabled{opacity:.55;cursor:default}@media (width<=760px){.merge-slots{grid-template-columns:minmax(0,1fr)}.merge-swap{justify-self:center}.merge-secondary,.merge-swap,.merge-primary{min-height:var(--tap-target)}.merge-dupes,.merge-slot{padding:.85rem}}@media (width<=480px){.merge-dupe{flex-direction:column;align-items:stretch}.merge-primary{width:100%}}.folder-picker-backdrop{z-index:100;box-sizing:border-box;background:#000000d9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.folder-picker{background:#171a21;border:1px solid #2a2e38;border-radius:10px;flex-direction:column;width:min(560px,100%);max-height:80vh;display:flex;overflow:hidden}.folder-picker-header{border-bottom:1px solid #2a2e38;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.folder-picker-header h2{margin:0;font-size:1.1rem}.folder-picker-close{color:#9aa0ac;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.4rem;line-height:1}.folder-picker-close:hover{color:#e6e8ec}.folder-picker-shortcuts{border-bottom:1px solid #2a2e38;flex-wrap:wrap;gap:.5rem;padding:.85rem 1.25rem;display:flex}.folder-picker-shortcuts button{color:#c7cbd4;cursor:pointer;background:#21252e;border:1px solid #2a2e38;border-radius:6px;padding:.35rem .7rem;font-size:.85rem}.folder-picker-shortcuts button:hover{background:#2a2e38}.folder-picker-path{border-bottom:1px solid #2a2e38;align-items:center;gap:.75rem;padding:.6rem 1.25rem;display:flex}.folder-picker-up{color:#c7cbd4;cursor:pointer;white-space:nowrap;background:#21252e;border:1px solid #2a2e38;border-radius:6px;padding:.3rem .6rem;font-size:.85rem}.folder-picker-up:disabled{opacity:.5;cursor:default}.folder-picker-current{color:#9aa0ac;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.folder-picker-list{flex:1;min-height:200px;padding:.5rem;overflow-y:auto}.folder-picker-entry{text-align:left;color:#e6e8ec;cursor:pointer;background:0 0;border:none;border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.95rem;display:block}.folder-picker-entry:hover{background:#21252e}.folder-picker-status{color:#9aa0ac;padding:.5rem .75rem}.folder-picker-error{color:#ff9a9a}.folder-picker-footer{border-top:1px solid #2a2e38;justify-content:flex-end;gap:.6rem;padding:1rem 1.25rem;display:flex}.folder-picker-cancel{color:#9aa0ac;cursor:pointer;background:0 0;border:1px solid #2a2e38;border-radius:6px;padding:.45rem .9rem}.folder-picker-select{color:#0f1115;cursor:pointer;background:#5b8cff;border:none;border-radius:6px;padding:.45rem .9rem;font-weight:600}.folder-picker-select:disabled{opacity:.6;cursor:default}.folder-picker-subtitle{color:#9aa0ac;margin:.25rem 0 0;font-size:.8rem}.folder-picker-back{color:#c7cbd4;cursor:pointer;background:#21252e;border:1px solid #2a2e38;border-radius:6px;margin-top:.6rem;padding:.3rem .6rem;font-size:.85rem}@media (width<=760px){.folder-picker-backdrop{padding:.75rem}.folder-picker{max-height:100%}.folder-picker-header,.folder-picker-shortcuts,.folder-picker-path,.folder-picker-footer{padding-left:1rem;padding-right:1rem}.folder-picker-close{min-width:var(--tap-target);min-height:var(--tap-target);margin-right:-.6rem}.folder-picker-list{min-height:120px}.folder-picker-entry{min-height:var(--tap-target)}.folder-picker-shortcuts button,.folder-picker-up,.folder-picker-back{min-height:40px}.folder-picker-cancel,.folder-picker-select{min-height:var(--tap-target)}}.device-upload{background:#171a21;border:1px solid #2a3552;border-radius:10px;min-width:0;max-width:640px;margin:1rem 0 1.5rem;padding:1rem 1.25rem}.device-upload-intro{color:#9aa0ac;margin:0 0 .75rem;line-height:1.5}.device-upload-drop{border:2px dashed #2a2e38;border-radius:10px;padding:.9rem;transition:border-color .15s,background .15s}.device-upload-drop.is-over{background:#1a2133;border-color:#5b8cff}.device-upload-pickers{flex-wrap:wrap;gap:.6rem;display:flex}.device-upload-button{cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;border:none;border-radius:8px;justify-content:center;align-items:center;min-height:48px;padding:.6rem 1.2rem;font-size:1rem;font-weight:600;display:inline-flex;position:relative}.device-upload-primary{color:#0f1115;background:#5b8cff}.device-upload-secondary{color:#c7cbd4;background:0 0;border:1px solid #2a2e38}.device-upload-secondary:hover:not(.is-disabled){background:#21252e}.device-upload-cancel{color:#ff9a9a;background:0 0;border:1px solid #4a2a2a;margin-top:.75rem}.device-upload-button.is-disabled{opacity:.55;cursor:default}.device-upload-button:focus-within{outline-offset:2px;outline:2px solid #a9c1ff}.device-upload-input{opacity:0;clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.device-upload-hint{color:#9aa0ac;margin:.6rem 0 0;font-size:.85rem}.device-upload-note{color:#7d8391;margin:.6rem 0 0;font-size:.8rem;line-height:1.4}.device-upload-queue{margin-top:1rem}.device-upload-summary-line{color:#c7cbd4;justify-content:space-between;align-items:center;gap:.5rem;font-size:.92rem;display:flex}.device-upload-link{color:#a9c1ff;cursor:pointer;background:0 0;border:none;min-height:44px;padding:.5rem;font-size:.92rem}.device-upload-start{margin-top:.6rem}.device-upload-warning{color:#f3d98b;background:#3a3218;border-radius:8px;margin-top:.75rem;padding:.65rem .8rem;font-size:.88rem;line-height:1.4}.device-upload-overall{margin-top:.75rem}.device-upload-overall-text{flex-wrap:wrap;justify-content:space-between;gap:.25rem .75rem;font-size:.9rem;display:flex}.device-upload-muted{color:#9aa0ac}.device-upload-counts{color:#c7cbd4;flex-wrap:wrap;gap:.35rem .9rem;margin:.75rem 0 0;font-size:.9rem;display:flex}.device-upload-ok{color:#7fd490}.device-upload-warn{color:#f3d98b}.device-upload-bad{color:#ff9a9a}.device-upload-resolve{flex-wrap:wrap;gap:.6rem;margin-top:.75rem;display:flex}.device-upload-message-error{color:#ff9a9a}.device-upload-message-success{color:#7fd490}.device-upload-list{border-top:1px solid #21252e;max-height:320px;margin:.75rem 0 0;padding:0;list-style:none;overflow-y:auto}.device-upload-item{border-bottom:1px solid #1c1f26;min-width:0;padding:.5rem 0;font-size:.86rem}.device-upload-item-row{align-items:baseline;gap:.6rem;min-width:0;display:flex}.device-upload-item-name{text-overflow:ellipsis;white-space:nowrap;color:#e6e8ec;flex:1;min-width:0;overflow:hidden}.device-upload-item-status{color:#9aa0ac;flex-shrink:0;font-size:.8rem}.device-upload-item-uploaded .device-upload-item-status{color:#7fd490}.device-upload-item-failed .device-upload-item-status{color:#ff9a9a}.device-upload-item-skipped .device-upload-item-status,.device-upload-item-retrying .device-upload-item-status{color:#f3d98b}.device-upload-item-uploading .device-upload-item-status{color:#a9c1ff}.device-upload-item-meta{color:#7d8391;flex-wrap:wrap;gap:.2rem .75rem;margin-top:.15rem;font-size:.78rem;display:flex}.device-upload-item-error{color:#ffb3b3;overflow-wrap:anywhere}.device-upload-item-bar{background:#21252e;border-radius:999px;height:4px;margin-top:.35rem;overflow:hidden}@media (width<=480px){.device-upload{padding:.9rem}.device-upload-pickers,.device-upload-resolve{flex-direction:column}.device-upload-button{width:100%}.device-upload-list{max-height:260px}}.import-intro{color:#9aa0ac;max-width:640px;line-height:1.5}.import-intro code{background:#171a21;border-radius:4px;padding:.1rem .35rem;font-size:.9em}.import-form{gap:.5rem;max-width:640px;margin:1rem 0 1.25rem;display:flex}.import-form input{color:#e6e8ec;background:#0f1115;border:1px solid #2a2e38;border-radius:6px;flex:1;min-width:0;padding:.55rem .7rem;font-size:1rem}.import-form input:disabled{opacity:.6}.import-form button,.import-organize button{color:#0f1115;cursor:pointer;background:#5b8cff;border:none;border-radius:6px;padding:.55rem 1.1rem;font-weight:600}.import-form button:disabled,.import-organize button:disabled{opacity:.6;cursor:default}.import-form button.import-browse-button{color:#c7cbd4;background:0 0;border:1px solid #2a2e38}.import-form button.import-browse-button:hover:not(:disabled){background:#21252e}.import-status{color:#9aa0ac;margin:.5rem 0}.import-error{color:#ff9a9a}.import-success{color:#7fd490}.import-progress{background:#171a21;border-radius:10px;max-width:640px;margin-bottom:1.5rem;padding:1rem 1.25rem}.import-progress-header{align-items:center;gap:.75rem;display:flex}.import-progress-count{color:#9aa0ac;font-size:.9rem}.import-progress-bar{background:#21252e;border-radius:999px;height:8px;margin-top:.6rem;overflow:hidden}.import-progress-fill{background:#5b8cff;height:100%;transition:width .3s}.import-progress-message{color:#9aa0ac;word-break:break-all;margin:.6rem 0 0;font-size:.85rem}.import-badge{text-transform:capitalize;color:#c7cbd4;background:#21252e;border-radius:999px;padding:.15rem .55rem;font-size:.78rem;font-weight:600;display:inline-block}.import-badge-done{color:#7fd490;background:#1e3b26}.import-badge-error{color:#ff9a9a;background:#3b2020}.import-badge-running,.import-badge-pending{color:#a9c1ff;background:#223055}.import-section-title{margin:0 0 .5rem;font-size:1.1rem}.import-organize{background:#171a21;border-radius:10px;max-width:640px;margin-bottom:1.5rem;padding:1rem 1.25rem}.import-organize button{margin-top:.5rem}.import-jobs-list{max-width:900px;margin:0;padding:0;list-style:none}.import-job-row{border-bottom:1px solid #1c1f26;flex-wrap:wrap;align-items:center;gap:.9rem;padding:.55rem 0;font-size:.88rem;display:flex}.import-job-progress{color:#9aa0ac;min-width:60px}.import-job-message{color:#c7cbd4;word-break:break-all;flex:1;min-width:120px}.import-job-started{color:#9aa0ac;font-size:.8rem}.import-danger{background:#171a21;border:1px solid #3b2020;border-radius:10px;max-width:640px;margin-bottom:1.5rem;padding:1rem 1.25rem}.import-clear-button{color:#ff9a9a;cursor:pointer;background:0 0;border:1px solid #4a2a2a;border-radius:6px;margin-top:.5rem;padding:.5rem 1rem;font-weight:600}.import-clear-button:hover{background:#3b2020}@media (width<=760px){.import-form{flex-wrap:wrap}.import-form input{flex-basis:100%}.import-form button{min-height:var(--tap-target);flex:1}.import-organize button,.import-clear-button{min-height:var(--tap-target)}.import-organize,.import-danger,.import-progress{padding:1rem}}.event-card{color:#e6e8ec;background:#171a21;border-radius:10px;flex-direction:column;align-items:center;gap:.4rem;padding:1rem;text-decoration:none;display:flex}.event-card:hover{outline:2px solid #5b8cff}.event-card-thumb{background:#21252e;border-radius:8px;justify-content:center;align-items:center;width:120px;height:90px;display:flex;overflow:hidden}.event-card-thumb img{object-fit:cover;width:100%;height:100%;display:block}.event-card-placeholder{opacity:.5;font-size:1.8rem}.event-card-name{text-align:center;font-weight:600}.event-card-count{color:#9aa0ac;font-size:.82rem}.events-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.events-new-button{color:#0f1115;cursor:pointer;background:#5b8cff;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:600}.events-new-form{gap:.5rem;margin:1rem 0;display:flex}.events-new-form input{color:#e6e8ec;background:#0f1115;border:1px solid #2a2e38;border-radius:6px;flex:1;max-width:320px;padding:.45rem .6rem;font-size:1rem}.events-new-form button[type=submit]{color:#0f1115;cursor:pointer;background:#5b8cff;border:none;border-radius:6px;padding:.45rem .9rem;font-weight:600}.events-new-form button[type=submit]:disabled{opacity:.6;cursor:default}.events-new-cancel{color:#9aa0ac;cursor:pointer;background:0 0;border:1px solid #2a2e38;border-radius:6px;padding:.45rem .8rem}.events-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin-top:1rem;display:grid}.event-detail-header{background:#171a21;border-radius:10px;align-items:flex-start;gap:1.25rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.event-detail-thumb{opacity:.8;background:#21252e;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:120px;height:90px;font-size:1.8rem;display:flex;overflow:hidden}.event-detail-thumb img{object-fit:cover;width:100%;height:100%}.event-detail-info{flex:1;min-width:0}.event-detail-rename{gap:.5rem;display:flex}.event-detail-rename input{color:#e6e8ec;background:#0f1115;border:1px solid #2a2e38;border-radius:6px;flex:1;min-width:0;max-width:320px;padding:.45rem .6rem;font-size:1rem}.event-detail-rename button{color:#0f1115;cursor:pointer;background:#5b8cff;border:none;border-radius:6px;padding:.45rem .9rem;font-weight:600}.event-detail-rename button:disabled{opacity:.6;cursor:default}.event-detail-facts{margin-top:.6rem}.event-detail-fact{color:#9aa0ac;margin:.2rem 0;font-size:.88rem}.event-detail-description{color:#e6e8ec;white-space:pre-wrap;margin:.5rem 0 0;font-size:.9rem}.event-detail-form{text-align:left;background:#0f1115;border-radius:8px;margin-top:.75rem;padding:.75rem .9rem}.event-detail-form-row{flex-wrap:wrap;gap:.75rem;display:flex}.event-detail-form label{color:#9aa0ac;flex-direction:column;flex:1;gap:.25rem;min-width:140px;font-size:.78rem;display:flex}.event-detail-form-full{margin-top:.6rem;display:block}.event-detail-form input,.event-detail-form textarea{color:#e6e8ec;box-sizing:border-box;background:#171a21;border:1px solid #2a2e38;border-radius:6px;width:100%;padding:.4rem .55rem;font-family:inherit;font-size:.9rem}.event-detail-form textarea{resize:vertical}.event-detail-form-actions{align-items:center;gap:.75rem;margin-top:.6rem;display:flex}.event-detail-form-actions button{color:#0f1115;cursor:pointer;background:#5b8cff;border:none;border-radius:6px;padding:.4rem .9rem;font-size:.85rem;font-weight:600}.event-detail-form-actions button:disabled{opacity:.6;cursor:default}.event-detail-merge{margin-top:.85rem}.event-detail-merge label{color:#9aa0ac;margin-bottom:.35rem;font-size:.82rem;display:block}.event-detail-merge-row{gap:.5rem;max-width:400px;display:flex}.event-detail-merge-row select{color:#e6e8ec;background:#0f1115;border:1px solid #2a2e38;border-radius:6px;flex:1;min-width:0;padding:.4rem .55rem}.event-detail-merge-row button{color:#0f1115;cursor:pointer;background:#5b8cff;border:none;border-radius:6px;padding:.4rem .9rem;font-weight:600}.event-detail-merge-row button:disabled{opacity:.6;cursor:default}@media (width<=760px){.event-detail-header{flex-direction:column;align-items:stretch;padding:1rem}.event-detail-rename input{max-width:none}.event-detail-rename button,.event-detail-form-actions button,.event-detail-merge-row button,.event-detail-merge-row select{min-height:var(--tap-target)}}.timeline-card{color:#e6e8ec;background:#171a21;border-radius:10px;flex-direction:column;align-items:center;gap:.4rem;padding:1rem;text-decoration:none;display:flex}.timeline-card:hover{outline:2px solid #5b8cff}.timeline-card-thumb{background:#21252e;border-radius:8px;justify-content:center;align-items:center;width:120px;height:90px;display:flex;overflow:hidden}.timeline-card-thumb img{object-fit:cover;width:100%;height:100%;display:block}.timeline-card-placeholder{opacity:.5;font-size:1.8rem}.timeline-card-name{text-align:center;font-weight:600}.timeline-card-count{color:#9aa0ac;text-align:center;font-size:.82rem}.timelines-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.timelines-header .page-title{margin:0}.timelines-new-link{color:#0f1115;white-space:nowrap;background:#5b8cff;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none}.timelines-new-link:hover{background:#7ba0ff}.timelines-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;display:grid}.timeline-builder-form{background:#171a21;border-radius:10px;max-width:640px;padding:1.25rem 1.5rem}.timeline-builder-name-label{color:#9aa0ac;margin-bottom:.35rem;font-size:.85rem;display:block}.timeline-builder-name-input{box-sizing:border-box;color:#e6e8ec;background:#0f1115;border:1px solid #2a2e38;border-radius:6px;width:100%;padding:.55rem .7rem;font-size:1rem}.timeline-builder-blocks{margin-top:1.5rem}.timeline-builder-subtitle{margin:0 0 .75rem;font-size:1rem}.timeline-block-row{background:#0f1115;border:1px solid #2a2e38;border-radius:8px;align-items:center;gap:.6rem;margin-bottom:.5rem;padding:.5rem .75rem;display:flex}.timeline-block-type{font-size:1.1rem}.timeline-block-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.timeline-block-count{color:#9aa0ac;white-space:nowrap;font-size:.82rem}.timeline-block-remove{color:#7a8091;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:.15rem .35rem;font-size:1.1rem;line-height:1}.timeline-block-remove:hover{color:#ff9a9a;background:#3b2020}.timeline-builder-add-buttons{gap:.6rem;margin-top:.75rem;display:flex}.timeline-builder-add-buttons button{color:#9aa0ac;cursor:pointer;background:0 0;border:1px dashed #3a3f4b;border-radius:6px;padding:.5rem .9rem;font-size:.88rem}.timeline-builder-add-buttons button:hover{color:#a9c1ff;border-color:#5b8cff}.timeline-builder-save-row{margin-top:1.5rem}.timeline-builder-save-row button{color:#0f1115;cursor:pointer;background:#5b8cff;border:none;border-radius:6px;padding:.55rem 1.1rem;font-weight:600}.timeline-builder-save-row button:disabled{opacity:.6;cursor:default}.timeline-modal-backdrop{z-index:150;box-sizing:border-box;background:#000000d9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.timeline-modal-title{margin:0 0 .85rem;font-size:1.05rem}.timeline-ref-picker{background:#171a21;border:1px solid #2a2e38;border-radius:10px;flex-direction:column;width:min(480px,100%);max-height:80vh;padding:1.25rem 1.5rem;display:flex}.timeline-ref-picker-filter{color:#e6e8ec;background:#0f1115;border:1px solid #2a2e38;border-radius:6px;margin-bottom:.75rem;padding:.45rem .6rem;font-size:.9rem}.timeline-ref-picker-list{flex-direction:column;gap:.4rem;display:flex;overflow-y:auto}.timeline-ref-picker-row{cursor:pointer;color:#e6e8ec;text-align:left;background:#0f1115;border:1px solid #2a2e38;border-radius:8px;align-items:center;gap:.65rem;padding:.5rem .65rem;display:flex}.timeline-ref-picker-row:hover{border-color:#5b8cff}.timeline-ref-picker-thumb{object-fit:cover;background:#21252e;border-radius:6px;flex-shrink:0;width:36px;height:36px}.timeline-ref-picker-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.timeline-ref-picker-count{color:#9aa0ac;white-space:nowrap;font-size:.78rem}.timeline-modal-actions{justify-content:flex-end;margin-top:.85rem;display:flex}.timeline-photo-picker-modal{background:#171a21;border:1px solid #2a2e38;border-radius:10px;width:min(720px,100%);max-height:85vh;padding:1.25rem 1.5rem;overflow-y:auto}@media (width<=760px){.timeline-builder-form{padding:1rem}.timeline-block-remove{min-width:40px;min-height:40px}}.timeline-view-header{background:#171a21;border-radius:10px;margin-bottom:1.5rem;padding:1rem 1.25rem}.timeline-view-header-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.timeline-view-rename{flex:1;gap:.5rem;min-width:220px;display:flex}.timeline-view-rename input{color:#e6e8ec;background:#0f1115;border:1px solid #2a2e38;border-radius:6px;flex:1;max-width:420px;padding:.45rem .6rem;font-size:1.1rem;font-weight:600}.timeline-view-rename button{color:#0f1115;cursor:pointer;background:#5b8cff;border:none;border-radius:6px;padding:.45rem .9rem;font-weight:600}.timeline-view-rename button:disabled{opacity:.6;cursor:default}.timeline-view-actions{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.timeline-view-edit-link{color:#a9c1ff;border:1px solid #2a2e38;border-radius:6px;padding:.45rem .9rem;font-size:.88rem;text-decoration:none}.timeline-view-edit-link:hover{border-color:#5b8cff}.timeline-view-delete-button{color:#ff9a9a;cursor:pointer;background:0 0;border:1px solid #4a2a2a;border-radius:6px;padding:.45rem .9rem;font-size:.88rem}.timeline-view-delete-button:hover{background:#3b2020}.timeline-view-meta{color:#9aa0ac;margin:.6rem 0 0;font-size:.85rem}.timeline-feed{flex-wrap:wrap;align-content:flex-start;gap:.6rem;display:flex}.timeline-divider{color:#9aa0ac;border-bottom:1px solid #2a2e38;flex-basis:100%;margin:1rem 0 .25rem;padding-bottom:.35rem;font-size:.9rem;font-weight:600}.timeline-unknown-heading{margin-top:1.5rem}.timeline-unknown-section{flex-basis:100%}.timeline-photo-cell{width:150px}.timeline-cluster-block{flex-basis:100%}.timeline-cluster-card{box-sizing:border-box;cursor:pointer;text-align:left;color:#e6e8ec;background:#171a21;border:1px solid #2a2e38;border-radius:10px;align-items:center;gap:1rem;width:100%;padding:.75rem 1rem;display:flex}.timeline-cluster-card:hover{border-color:#5b8cff}.timeline-cluster-thumb{background:#21252e;border-radius:8px;flex-shrink:0;width:84px;height:84px;position:relative;overflow:hidden}.timeline-cluster-thumb img{object-fit:cover;width:100%;height:100%;display:block}.timeline-cluster-badge{color:#fff;background:#000000b3;border-radius:999px;padding:.1rem .4rem;font-size:.72rem;font-weight:700;position:absolute;bottom:4px;right:4px}.timeline-cluster-info{flex:1;min-width:0}.timeline-cluster-name{font-weight:600}.timeline-cluster-range{color:#9aa0ac;margin-top:.2rem;font-size:.82rem}.timeline-cluster-toggle{color:#9aa0ac;flex-shrink:0;font-size:.82rem}.timeline-cluster-expanded{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;padding-left:.5rem;display:flex}.timeline-mini-card{width:100px}.users-table{flex-direction:column;gap:.4rem;display:flex}.users-row{background:#171a21;border:1px solid #2a2e38;border-radius:8px;grid-template-columns:2fr 1fr 1fr 1fr;align-items:center;gap:1rem;padding:.65rem 1rem;display:grid}.users-row-head{color:#9aa0ac;text-transform:uppercase;letter-spacing:.03em;background:0 0;border:none;padding:0 1rem;font-size:.8rem}.users-email{color:#e6e8ec;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.users-role-cell{flex-direction:column;gap:.25rem;display:flex}.users-role-cell select{color:#e6e8ec;background:#0f1115;border:1px solid #2a2e38;border-radius:6px;max-width:140px;padding:.3rem .5rem;font-size:.85rem}.users-role-badge{color:#9aa0ac;font-size:.9rem}.users-row-error{margin:0;font-size:.78rem}.resources-page{--res-ok:#4ade80;--res-warn:#fbbf24;--res-bad:#f87171;--res-unknown:#5b6170}.res-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.res-header-right{align-items:center;gap:.75rem;display:flex}.res-refresh{color:#e6e8ec;cursor:pointer;background:#21252e;border:1px solid #2a2e38;border-radius:6px;padding:.35rem .8rem}.res-refresh:disabled{opacity:.6;cursor:default}.res-muted{color:#9aa0ac;margin:0;font-size:.85rem}.res-sub{color:#9aa0ac;margin-left:.35rem;font-size:.8rem;font-weight:400}.res-mono{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.8rem}.res-dot{vertical-align:middle;border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.res-ok{background:var(--res-ok)}.res-warn{background:var(--res-warn)}.res-bad{background:var(--res-bad)}.res-unknown{background:var(--res-unknown)}.res-text-ok{color:var(--res-ok)}.res-text-warn{color:var(--res-warn)}.res-text-bad{color:var(--res-bad)}.res-banner{background:#171a21;border:1px solid #2a2e38;border-left-width:4px;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem}.res-banner ul{margin:.5rem 0 0;padding-left:1.2rem;font-size:.9rem}.res-banner-ok{border-left-color:var(--res-ok)}.res-banner-warn{border-left-color:var(--res-warn)}.res-banner-bad{border-left-color:var(--res-bad)}.res-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.res-card{background:#171a21;border:1px solid #2a2e38;border-radius:10px;flex-direction:column;gap:.75rem;min-width:0;padding:1rem;display:flex}.res-card-wide{grid-column:1/-1}.res-card h2{align-items:center;gap:.5rem;margin:0;font-size:1.05rem;display:flex}.res-card h3{text-transform:uppercase;letter-spacing:.03em;color:#9aa0ac;margin:.25rem 0 .5rem;font-size:.8rem}.res-meter-head{justify-content:space-between;margin-bottom:.3rem;font-size:.85rem;display:flex}.res-meter-value{font-variant-numeric:tabular-nums}.res-meter-track{background:#21252e;border-radius:999px;height:6px;overflow:hidden}.res-meter-fill{border-radius:999px;height:100%;transition:width .4s}.res-bg-ok{background:var(--res-ok)}.res-bg-warn{background:var(--res-warn)}.res-bg-bad{background:var(--res-bad)}.res-meter-detail{color:#9aa0ac;margin-top:.25rem;font-size:.75rem}.res-facts{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.6rem 1rem;display:grid}.res-fact{flex-direction:column;min-width:0;display:flex}.res-fact-label{color:#9aa0ac;text-transform:uppercase;letter-spacing:.03em;font-size:.72rem}.res-fact-value{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.res-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.res-list li{align-items:center;gap:.5rem;min-width:0;font-size:.88rem;display:flex}.res-list-main{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.res-latency{color:#9aa0ac;font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:.8rem}.res-columns{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.res-version .res-facts{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.res-version .res-fact-value{white-space:normal;font-size:.88rem}.res-version-local{border-style:dashed}.res-version-badge{text-transform:uppercase;letter-spacing:.03em;color:var(--res-warn);border:1px solid var(--res-warn);border-radius:999px;margin-left:auto;padding:.1rem .55rem;font-size:.72rem;font-weight:500}.res-version-main{flex-wrap:wrap;align-items:baseline;gap:.6rem;min-width:0;display:flex}.res-version-sha{color:#e6e8ec;background:#21252e;border:1px solid #2a2e38;border-radius:6px;padding:.1rem .45rem;font-size:.95rem;text-decoration:none}a.res-version-sha:hover{border-color:#9aa0ac}.res-version-subject{overflow-wrap:anywhere;min-width:0;font-size:.95rem}.res-version-link{color:#9aa0ac;align-self:flex-start;font-size:.85rem}.res-version-link:hover{color:#e6e8ec}.res-grid-after{margin-top:1rem}.res-auth-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.res-auth-toggle{cursor:pointer;align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.res-table-wrap{border:1px solid #2a2e38;border-radius:8px;max-height:480px;overflow:auto}.res-table{border-collapse:collapse;width:100%;font-size:.85rem}.res-table th{text-align:left;color:#9aa0ac;text-transform:uppercase;letter-spacing:.03em;background:#1c2029;padding:.45rem .6rem;font-size:.72rem;font-weight:600;position:sticky;top:0}.res-table td{vertical-align:top;border-top:1px solid #21252e;padding:.4rem .6rem}.res-row-problem{background:#fbbf240f}.res-nowrap{white-space:nowrap;font-variant-numeric:tabular-nums}.res-cell-clip{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.res-count{color:#9aa0ac;margin-left:.35rem;font-size:.75rem}.res-token-form,.res-token-secret-row{flex-wrap:wrap;gap:.5rem;display:flex}.res-token-input{color:#e6e8ec;background:#0f1116;border:1px solid #2a2e38;border-radius:6px;flex:220px;min-width:0;padding:.4rem .6rem;font-size:.9rem}.res-token-secret{border:1px solid var(--res-warn);background:#fbbf240f;border-radius:8px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.res-token-cmd{overflow-wrap:anywhere;white-space:pre-wrap;background:#0f1116;border-radius:6px;padding:.5rem .6rem;display:block}.res-token-revoke{padding:.2rem .6rem;font-size:.8rem}@media (width<=1279px){.res-refresh{min-height:var(--tap-target)}.res-table thead{display:none}.res-table,.res-table tbody,.res-table tr,.res-table td{width:100%;display:block}.res-table tr{border-top:1px solid #21252e;padding:.5rem .6rem}.res-table td{white-space:normal;overflow-wrap:anywhere;border:0;max-width:none;padding:.1rem 0}.res-table td:before{content:attr(data-label);color:#9aa0ac;text-transform:uppercase;letter-spacing:.03em;min-width:4.5rem;font-size:.7rem;display:inline-block}}
