body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary:#9333ea;--primary-hover:#7e22ce;--primary-light:#f3e8ff;--accent:#b45309;--accent-hover:#a16207;--success:#16a34a;--danger:#dc2626;--warning:#d97706;--bg-dark:#fefbf8;--bg-darker:#faf8f5;--bg-primary:#fefbf8;--bg-secondary:#faf8f5;--bg-card:#fff;--bg-hover:#f5f3f0;--border:#e8e0da;--border-light:#d4ccbf;--text-primary:#2d1810;--text-secondary:#5a4a3a;--text-tertiary:#7a6a5a;--text-muted:#9a8a7a;color-scheme:light dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--primary:#c084fc;--primary-hover:#d8b4fe;--primary-light:#3b0764;--accent:#fbbf24;--accent-hover:#fcd34d;--bg-dark:#000;--bg-darker:#0a0a0a;--bg-primary:#000;--bg-secondary:#141414;--bg-card:#1a1a1a;--bg-hover:#262626;--border:#2a2a2a;--border-light:#3a3a3a;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-tertiary:#71717a;--text-muted:#52525b;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 10px 30px #00000080;--shadow-xl:0 20px 50px #0009}}:root[data-theme=dark]{--primary:#c084fc;--primary-hover:#d8b4fe;--primary-light:#3b0764;--accent:#fbbf24;--accent-hover:#fcd34d;--bg-dark:#000;--bg-darker:#0a0a0a;--bg-primary:#000;--bg-secondary:#141414;--bg-card:#1a1a1a;--bg-hover:#262626;--border:#2a2a2a;--border-light:#3a3a3a;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-tertiary:#71717a;--text-muted:#52525b;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 10px 30px #00000080;--shadow-xl:0 20px 50px #0009}:root{--font-system:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",sans-serif;--font-mono:"Courier New","Monaco",monospace;--font-size-xs:13px;--font-size-sm:15px;--font-size-base:17px;--font-size-md:19px;--font-size-lg:24px;--font-size-xl:32px;--font-size-2xl:48px;--font-size-3xl:64px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--spacing-0:0;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 2px #00000014;--shadow-md:0 4px 12px #0000001f;--shadow-lg:0 10px 30px #00000026;--shadow-xl:0 20px 50px #0003;--transition-fast:all 0.15s ease;--transition:all 0.2s ease;--transition-slow:all 0.3s ease;--z-base:1;--z-dropdown:100;--z-sticky:200;--z-modal:1000}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fefbf8;background-color:var(--bg-dark);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,sans-serif;font-family:var(--font-system);font-size:17px;font-size:var(--font-size-base);line-height:1.6}body,h1{color:#2d1810;color:var(--text-primary)}h1{font-size:48px;font-size:var(--font-size-2xl);font-weight:900;font-weight:var(--font-weight-black);letter-spacing:-.5px;line-height:1.2;margin-bottom:16px;margin-bottom:var(--spacing-md)}h2{font-size:32px;font-size:var(--font-size-xl);line-height:1.3}h2,h3{color:#2d1810;color:var(--text-primary);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:8px;margin-bottom:var(--spacing-sm)}h3{font-size:24px;font-size:var(--font-size-lg)}h4,h5,h6{color:#2d1810;color:var(--text-primary);font-size:19px;font-size:var(--font-size-md);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:8px;margin-bottom:var(--spacing-sm)}p{color:#5a4a3a;color:var(--text-secondary);line-height:1.7;margin-bottom:16px;margin-bottom:var(--spacing-md)}a{color:#9333ea;color:var(--primary);text-decoration:none;transition:all .2s ease;transition:var(--transition)}a:hover{color:#b45309;color:var(--accent);text-decoration:underline}strong{color:#2d1810;color:var(--text-primary);font-weight:700;font-weight:var(--font-weight-bold)}blockquote{border-left:4px solid #9333ea;border-left:4px solid var(--primary);color:#5a4a3a;color:var(--text-secondary);font-style:italic;margin:24px 0;margin:var(--spacing-lg) 0;padding-left:16px;padding-left:var(--spacing-md)}code{border-radius:8px;border-radius:var(--radius-sm);color:#b45309;color:var(--accent);font-family:Courier New,Monaco,monospace;font-family:var(--font-mono);font-size:15px;font-size:var(--font-size-sm);padding:2px 6px}code,pre{background-color:#fff;background-color:var(--bg-card)}pre{border-radius:12px;border-radius:var(--radius-md);margin-bottom:16px;margin-bottom:var(--spacing-md);overflow-x:auto;padding:16px;padding:var(--spacing-md)}pre code{background:none;color:#5a4a3a;color:var(--text-secondary);padding:0}button{border:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,sans-serif;font-family:var(--font-system)}.btn,button{cursor:pointer;transition:all .2s ease;transition:var(--transition)}.btn{align-items:center;border:1px solid #0000;border-radius:8px;border-radius:var(--radius-sm);display:inline-flex;font-size:15px;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semibold);gap:8px;gap:var(--spacing-sm);padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);white-space:nowrap}.btn-primary{background-color:#9333ea;background-color:var(--primary);box-shadow:0 1px 2px #00000014;box-shadow:var(--shadow-sm);color:#fff}.btn-primary:hover{background-color:#7e22ce;background-color:var(--primary-hover);box-shadow:0 4px 12px #0000001f;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:#fff;background-color:var(--bg-card);border:1px solid #e8e0da;border:1px solid var(--border);color:#2d1810;color:var(--text-primary)}.btn-secondary:hover{background-color:#f5f3f0;background-color:var(--bg-hover);border-color:#d4ccbf;border-color:var(--border-light)}.btn-ghost{background-color:initial;border:1px solid #e8e0da;border:1px solid var(--border);color:#5a4a3a;color:var(--text-secondary)}.btn-ghost:hover{background-color:#fff;background-color:var(--bg-card);color:#2d1810;color:var(--text-primary)}.btn-danger{background-color:#dc2626;background-color:var(--danger);box-shadow:0 1px 2px #00000014;box-shadow:var(--shadow-sm);color:#fff}.btn-danger:hover{background-color:#dc2626;box-shadow:0 4px 12px #0000001f;box-shadow:var(--shadow-md)}.btn-large{font-size:19px;font-size:var(--font-size-md);padding:16px 32px;padding:var(--spacing-md) var(--spacing-xl)}.btn-small{font-size:13px;font-size:var(--font-size-xs);padding:4px 8px;padding:var(--spacing-xs) var(--spacing-sm)}.container{max-width:720px}.container,.container-wide{margin:0 auto;padding:0 16px;padding:0 var(--spacing-md)}.container-wide{max-width:1200px}.container-full{width:100%}.section{padding:48px 0;padding:var(--spacing-2xl) 0}.section-small{padding:24px 0;padding:var(--spacing-lg) 0}.card{background-color:#fff;background-color:var(--bg-card);border:1px solid #e8e0da;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-md);padding:24px;padding:var(--spacing-lg);transition:all .2s ease;transition:var(--transition)}.card:hover{border-color:#d4ccbf;border-color:var(--border-light);box-shadow:0 4px 12px #0000001f;box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-small{padding:16px;padding:var(--spacing-md)}.card-large{padding:32px;padding:var(--spacing-xl)}.card-header{border-bottom:1px solid #e8e0da;border-bottom:1px solid var(--border);margin-bottom:16px;margin-bottom:var(--spacing-md);padding-bottom:16px;padding-bottom:var(--spacing-md)}.card-footer{border-top:1px solid #e8e0da;border-top:1px solid var(--border);margin-top:16px;margin-top:var(--spacing-md);padding-top:16px;padding-top:var(--spacing-md)}.grid{grid-gap:24px;grid-gap:var(--spacing-lg);display:grid;gap:24px;gap:var(--spacing-lg)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.flex{display:flex;gap:16px;gap:var(--spacing-md)}.flex-center{justify-content:center}.flex-between,.flex-center{align-items:center;display:flex}.flex-between{justify-content:space-between}.flex-column{display:flex;flex-direction:column}input,select,textarea{background-color:#fff;background-color:var(--bg-card);border:1px solid #e8e0da;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#2d1810;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,sans-serif;font-family:var(--font-system);font-size:17px;font-size:var(--font-size-base);padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease;transition:var(--transition)}input:focus,select:focus,textarea:focus{border-color:#9333ea;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a;outline:none}input::placeholder{color:#9a8a7a;color:var(--text-muted)}label{color:#2d1810;color:var(--text-primary);display:block;font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:8px;margin-bottom:var(--spacing-sm)}table{border-collapse:collapse;margin-bottom:24px;margin-bottom:var(--spacing-lg);width:100%}th{background-color:#fff;background-color:var(--bg-card);border-bottom:2px solid #e8e0da;border-bottom:2px solid var(--border);color:#2d1810;color:var(--text-primary);font-weight:700;font-weight:var(--font-weight-bold);text-align:left}td,th{padding:16px;padding:var(--spacing-md)}td{border-bottom:1px solid #e8e0da;border-bottom:1px solid var(--border);color:#5a4a3a;color:var(--text-secondary)}tr:hover{background-color:#f5f3f0;background-color:var(--bg-hover)}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:#9a8a7a;color:var(--text-muted)}.text-secondary{color:#5a4a3a;color:var(--text-secondary)}.text-small{font-size:15px;font-size:var(--font-size-sm)}.text-large{font-size:24px;font-size:var(--font-size-lg)}.text-bold{font-weight:700;font-weight:var(--font-weight-bold)}.mt{margin-top:16px;margin-top:var(--spacing-md)}.mb{margin-bottom:16px;margin-bottom:var(--spacing-md)}.mt-lg{margin-top:24px;margin-top:var(--spacing-lg)}.mb-lg{margin-bottom:24px;margin-bottom:var(--spacing-lg)}.mt-xl{margin-top:32px;margin-top:var(--spacing-xl)}.mb-xl{margin-bottom:32px;margin-bottom:var(--spacing-xl)}.px{padding-left:16px;padding-left:var(--spacing-md);padding-right:16px;padding-right:var(--spacing-md)}.py{padding-bottom:16px;padding-bottom:var(--spacing-md)}.border-top,.py{padding-top:16px;padding-top:var(--spacing-md)}.border-top{border-top:1px solid #e8e0da;border-top:1px solid var(--border)}.divider{background-color:#e8e0da;background-color:var(--border);height:1px;margin:24px 0;margin:var(--spacing-lg) 0}@media (max-width:768px){h1{font-size:32px;font-size:var(--font-size-xl)}h2{font-size:24px;font-size:var(--font-size-lg)}.grid-2,.grid-3{grid-template-columns:1fr}.flex{flex-direction:column}.section{padding:32px 0;padding:var(--spacing-xl) 0}}@media (max-width:480px){h1{font-size:24px;font-size:var(--font-size-lg)}.container,.container-wide{padding:0 24px;padding:0 var(--spacing-lg)}.section{padding:24px 0;padding:var(--spacing-lg) 0}.body-text,a,body,li,p,span{font-size:17px}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#faf8f5;background:var(--bg-darker)}::-webkit-scrollbar-thumb{background:#d4ccbf;background:var(--border-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9a8a7a;background:var(--text-muted)}:focus-visible{outline:2px solid #9333ea;outline:2px solid var(--primary);outline-offset:2px}button:focus-visible{outline:2px solid #9333ea;outline:2px solid var(--primary);outline-offset:2px}.App{display:flex;flex-direction:column;min-height:100vh}.App>div:nth-child(2),main{flex:1 1}.page-container{padding:var(--spacing-lg) 0}.page-hero{margin-bottom:var(--spacing-3xl);padding:var(--spacing-3xl) 0;text-align:center}.page-hero h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md)}.page-hero p{color:var(--text-secondary);font-size:var(--font-size-md);margin:0 auto;max-width:600px}footer{border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--font-size-sm);margin-top:auto;padding:var(--spacing-2xl) 0;text-align:center}@media (max-width:768px){.page-hero{margin-bottom:var(--spacing-2xl);padding:var(--spacing-2xl) 0}.page-hero h1{font-size:var(--font-size-xl)}}@media (max-width:480px){.page-container{padding:var(--spacing-md) 0}.page-hero{margin-bottom:var(--spacing-xl);padding:var(--spacing-xl) 0}.page-hero h1{font-size:var(--font-size-lg)}footer{padding:var(--spacing-lg) 0}}.navbar{position:-webkit-sticky;position:sticky;top:174px;z-index:40}.navbar,.navbar-container{background-color:var(--bg-card);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm)}.navbar-container{align-items:center;display:flex;height:70px;justify-content:space-between;margin:0 auto;max-width:900px;padding:0 var(--spacing-md);width:100%}.navbar-brand{flex-shrink:0}.navbar-brand a{color:var(--text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);text-decoration:none;transition:var(--transition)}.navbar-brand a:hover{color:var(--primary);text-decoration:none}.navbar-menu{align-items:center;display:flex;gap:var(--spacing-xs);list-style:none;margin-left:auto}.navbar-menu li a{border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm);text-decoration:none;transition:var(--transition)}.navbar-menu li a:hover{background-color:var(--bg-hover);color:var(--text-primary);text-decoration:none}.hamburger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:4px;padding:var(--spacing-sm);position:relative;z-index:50}.hamburger span{background-color:var(--text-secondary);border-radius:1px;height:2px;transition:var(--transition);width:24px}.hamburger:hover span{background-color:var(--text-primary)}.hamburger.active span:first-child{transform:rotate(45deg) translate(8px,8px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(8px,-8px)}@media (max-width:640px){.navbar-container{height:60px}.hamburger{display:flex}.navbar-menu{background-color:var(--bg-card);border-bottom:1px solid var(--border);flex-direction:column;gap:0;left:0;max-height:0;overflow:hidden;position:absolute;right:0;top:60px;transition:max-height .3s ease;z-index:45}.navbar-menu.active{max-height:300px}.navbar-menu li{width:100%}.navbar-menu li a{border-bottom:1px solid var(--border);border-radius:0;display:block;padding:var(--spacing-md)}.navbar-menu li:last-child a{border-bottom:none}.navbar-brand a{font-size:var(--font-size-base)}}@media (max-width:768px){.navbar{top:133px}}@media (max-width:480px){.navbar{top:97px}}.theme-toggle-item{align-items:center;display:flex}.theme-toggle-btn{background:#0000;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-xs);min-width:44px;padding:var(--spacing-xs) var(--spacing-sm);text-transform:lowercase;transition:var(--transition)}.theme-toggle-btn:hover{border-color:var(--primary);color:var(--primary)}.admin-nav-item{margin-left:var(--spacing-sm)}.admin-btn{background:#0000;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);transition:var(--transition)}.admin-btn-logout,.admin-btn:hover{border-color:var(--primary);color:var(--primary)}.admin-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:100}.admin-modal{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:300px;padding:var(--spacing-xl)}.admin-modal h3{font-size:var(--font-size-lg);margin:0 0 var(--spacing-md) 0}.admin-modal input{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-base);margin-bottom:var(--spacing-md);padding:var(--spacing-sm);width:100%}.admin-modal input:focus{border-color:var(--primary);outline:none}.login-error{color:var(--danger);font-size:var(--font-size-sm);margin:0 0 var(--spacing-sm) 0}.modal-buttons{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.modal-buttons button{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:var(--transition)}.modal-buttons button[type=button]{background:#0000;border:1px solid var(--border);color:var(--text-secondary)}.modal-buttons button[type=submit]{background:var(--primary);border:1px solid var(--primary);color:#fff}.modal-buttons button:hover{opacity:.8}@media (max-width:640px){.theme-toggle-item{width:100%}.theme-toggle-btn{border:none;border-bottom:1px solid var(--border);border-radius:0;display:block;padding:var(--spacing-md);text-align:left;width:100%}.admin-nav-item{margin-left:0;width:100%}.admin-btn{border:none;border-bottom:1px solid var(--border);border-radius:0;display:block;padding:var(--spacing-md);text-align:left;width:100%}.navbar-menu.active{max-height:450px}}.jump-photos-wrapper{position:-webkit-sticky;position:sticky;top:0;z-index:50}.jump-photos-container{background-color:var(--bg-dark);border-bottom:1px solid var(--border);overflow:hidden;padding:var(--spacing-lg) var(--spacing-md);width:100%}.photo-track{display:flex;gap:2px;width:-webkit-fit-content;width:fit-content;will-change:transform}.photo-track img{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;display:block;flex-shrink:0;height:125px;transition:border-color .2s,box-shadow .2s;width:auto}.photo-track img:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.photo-ghost{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--bg-secondary) 0,var(--bg-card) 50%,var(--bg-secondary) 100%);background-size:200% 100%;border:1px solid var(--border);border-radius:var(--radius-md);flex-shrink:0;height:125px;width:125px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width:768px){.jump-photos-container{padding:var(--spacing-md) 0}.photo-track{gap:4px}.photo-track img{height:100px}.photo-ghost{height:100px;width:100px}}@media (max-width:480px){.jump-photos-container{padding:var(--spacing-sm) 0}.photo-track{gap:2px}.photo-track img{height:80px}.photo-ghost{height:80px;width:80px}}.jump-photo-admin{left:0;position:absolute;right:0;top:100%;z-index:100}.admin-toggle-btn{background:var(--primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:12px;opacity:.7;padding:4px 12px;position:absolute;right:16px;top:4px;transition:opacity .2s}.admin-toggle-btn:hover{opacity:1}.admin-panel{background:var(--bg-dark);border:1px solid var(--border);border-top:none;max-height:500px;overflow-y:auto;padding:var(--spacing-lg)}.admin-panel h3{color:var(--text-secondary);font-size:14px;margin:0 0 var(--spacing-md) 0}.upload-form{border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.upload-form .form-row{display:flex;flex-direction:column;gap:4px}.upload-form input[type=number],.upload-form input[type=text],.upload-form textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text);font-size:14px;padding:8px 12px;width:100%}.upload-form input[type=file]{color:var(--text);font-size:14px}.upload-form textarea{min-height:60px;resize:vertical}.upload-form label{align-items:center;color:var(--text-secondary);display:flex;font-size:14px}.upload-form button[type=submit]{align-self:flex-start;background:var(--primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:14px;padding:10px 20px}.upload-form button[type=submit]:disabled{cursor:not-allowed;opacity:.5}.preview-container{margin:var(--spacing-sm) 0}.upload-preview{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:150px;max-width:100%}.error-message{background:#e74c3c1a;border-radius:var(--radius-sm);color:#e74c3c;color:var(--danger,#e74c3c);font-size:14px;padding:8px}.photo-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.photo-list-item{align-items:center;background:var(--bg);display:flex;gap:var(--spacing-md);padding:var(--spacing-sm)}.photo-list-item,.photo-thumb{border-radius:var(--radius-sm)}.photo-thumb{border:1px solid var(--border);height:40px;width:auto}.photo-name{color:var(--text);flex:1 1;font-size:14px}.delete-btn{background:#0000;border:1px solid #e74c3c;border:1px solid var(--danger,#e74c3c);border-radius:var(--radius-sm);color:#e74c3c;color:var(--danger,#e74c3c);cursor:pointer;font-size:12px;padding:4px 12px}.delete-btn:hover{background:#e74c3c;background:var(--danger,#e74c3c);color:#fff}
/*# sourceMappingURL=main.73269cc8.css.map*/