*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0f1a;--bg2:#111827;--bg3:#1a2335;--border:#2a3a52;--gold:#c9a84c;--gold-dim:#8a6f32;--text:#e8e0d0;--text-dim:#8a9ab0;--angler:#4a9eff;--guide:#4adf8a;--tag:#c9a84c;--error:#ff5a5a;--radius:10px;--font-serif:"Playfair Display",Georgia,serif;--font-sans:"DM Sans",system-ui,sans-serif}#root,body,html{-webkit-font-smoothing:antialiased;background:#0a0f1a;background:var(--bg);color:#e8e0d0;color:var(--text);font-family:DM Sans,system-ui,sans-serif;font-family:var(--font-sans);font-size:16px;height:100%}.screen{display:flex;flex-direction:column;min-height:100vh}.center-all,.login-screen{align-items:center;justify-content:center}.login-screen{background:radial-gradient(ellipse at 20% 50%,#c9a84c14 0,#0000 60%),radial-gradient(ellipse at 80% 20%,#4a9eff0f 0,#0000 50%),#0a0f1a;background:radial-gradient(ellipse at 20% 50%,#c9a84c14 0,#0000 60%),radial-gradient(ellipse at 80% 20%,#4a9eff0f 0,#0000 50%),var(--bg)}.login-box{background:#111827;background:var(--bg2);border:1px solid #2a3a52;border:1px solid var(--border);border-radius:16px;margin:1rem;max-width:400px;padding:2.5rem 2rem;text-align:center;width:100%}.logo-mark{filter:sepia(1) saturate(2) hue-rotate(10deg);font-size:2.5rem;margin-bottom:.75rem}.title{color:#c9a84c;color:var(--gold);font-family:Playfair Display,Georgia,serif;font-family:var(--font-serif);font-size:1.6rem;letter-spacing:.02em;margin-bottom:.25rem}.subtitle{color:#8a9ab0;color:var(--text-dim);font-size:.85rem;letter-spacing:.1em;margin-bottom:2rem;text-transform:uppercase}.login-form{gap:1rem;text-align:left}.field,.login-form{display:flex;flex-direction:column}.field{gap:.4rem}.field label{color:#8a9ab0;color:var(--text-dim);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.field input{background:#1a2335;background:var(--bg3);border:1px solid #2a3a52;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);color:#e8e0d0;color:var(--text);font-family:DM Sans,system-ui,sans-serif;font-family:var(--font-sans);font-size:1rem;outline:none;padding:.75rem 1rem;transition:border-color .2s}.field input:focus{border-color:#c9a84c;border-color:var(--gold)}.access-note{color:#8a9ab0;color:var(--text-dim);font-size:.75rem;letter-spacing:.05em;margin-top:1.5rem}.upload-header{background:#111827;background:var(--bg2);border-bottom:1px solid #2a3a52;border-bottom:1px solid var(--border);justify-content:space-between;padding:1rem 1.25rem;position:sticky;top:0;z-index:10}.header-title,.upload-header{align-items:center;display:flex}.header-title{color:#c9a84c;color:var(--gold);font-family:Playfair Display,Georgia,serif;font-family:var(--font-serif);font-size:1rem;gap:.5rem}.header-year{color:#8a9ab0;color:var(--text-dim);font-size:.9rem;font-weight:500}.anchor{font-size:1.1rem}.content{flex:1 1;margin:0 auto;max-width:600px;padding:1.25rem;width:100%}.content.center{align-items:center;display:flex;justify-content:center}.step-title{color:#e8e0d0;color:var(--text);font-family:Playfair Display,Georgia,serif;font-family:var(--font-serif);font-size:1.5rem;margin-bottom:.5rem}.step-sub{color:#8a9ab0;color:var(--text-dim);font-size:.9rem;line-height:1.5;margin-bottom:1.75rem}.year-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr)}.year-btn{background:#111827;background:var(--bg2);border:1px solid #2a3a52;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);color:#e8e0d0;color:var(--text);cursor:pointer;font-family:Playfair Display,Georgia,serif;font-family:var(--font-serif);font-size:1.3rem;padding:1.25rem .5rem;transition:all .15s}.year-btn:active,.year-btn:hover{background:#c9a84c14;border-color:#c9a84c;border-color:var(--gold);color:#c9a84c;color:var(--gold)}.drop-zone{background:#111827;background:var(--bg2);border:2px dashed #2a3a52;border:2px dashed var(--border);border-radius:16px;padding:3rem 2rem;text-align:center;width:100%}.drop-icon{font-size:3rem;margin-bottom:1rem}.file-label{cursor:pointer;display:inline-block;margin-top:.5rem}.preview-strip{display:flex;gap:.5rem;margin-bottom:.5rem;overflow-x:auto;padding:.5rem 0 1rem;scrollbar-color:#2a3a52 #0000;scrollbar-color:var(--border) #0000;scrollbar-width:thin}.preview-thumb{background:#1a2335;background:var(--bg3);border:1px solid #2a3a52;border:1px solid var(--border);border-radius:8px;flex-shrink:0;height:80px;overflow:hidden;width:80px}.thumb-img{height:100%;object-fit:cover;width:100%}.section{margin-bottom:1.5rem}.section-label{color:#8a9ab0;color:var(--text-dim);font-size:.7rem;font-weight:500;letter-spacing:.15em;margin-bottom:.6rem;text-transform:uppercase}.quick-tags{display:flex;flex-wrap:wrap;gap:.5rem}.btn-quick{background:#c9a84c1a;border:1px solid #8a6f32;border:1px solid var(--gold-dim);border-radius:20px;color:#c9a84c;color:var(--gold);cursor:pointer;font-family:DM Sans,system-ui,sans-serif;font-family:var(--font-sans);font-size:.8rem;padding:.4rem .9rem;transition:all .15s}.btn-quick:hover{background:#c9a84c33}.chip-grid{display:flex;flex-wrap:wrap;gap:.5rem}.chip{background:#1a2335;background:var(--bg3);border:1px solid #2a3a52;border:1px solid var(--border);border-radius:20px;color:#8a9ab0;color:var(--text-dim);cursor:pointer;font-family:DM Sans,system-ui,sans-serif;font-family:var(--font-sans);font-size:.85rem;padding:.45rem .9rem;transition:all .15s;white-space:nowrap}.chip:hover{color:#e8e0d0;color:var(--text)}.chip.chip-active,.chip:hover{border-color:#4a9eff;border-color:var(--angler)}.chip.chip-active{background:#4a9eff26;color:#4a9eff;color:var(--angler)}.chip-tag.chip-active{background:#c9a84c1f;border-color:#c9a84c;border-color:var(--gold);color:#c9a84c;color:var(--gold)}.caption-input{background:#1a2335;background:var(--bg3);border:1px solid #2a3a52;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);color:#e8e0d0;color:var(--text);font-family:DM Sans,system-ui,sans-serif;font-family:var(--font-sans);font-size:.95rem;outline:none;padding:.75rem 1rem;resize:vertical;transition:border-color .2s;width:100%}.caption-input:focus{border-color:#c9a84c;border-color:var(--gold)}.submit-section{padding-bottom:2rem}.tag-summary{color:#8a9ab0;color:var(--text-dim);font-size:.85rem;margin-bottom:1rem}.btn-upload{font-size:1.05rem;padding:1rem;width:100%}.staged-note{color:#8a9ab0;color:var(--text-dim);font-size:.75rem;margin-top:.75rem;text-align:center}.done-box,.upload-progress{max-width:320px;padding:2rem;text-align:center;width:100%}.done-icon,.progress-icon{animation:bob 1.5s ease-in-out infinite;font-size:3rem;margin-bottom:1rem}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.progress-bar{background:#2a3a52;background:var(--border);border-radius:3px;height:6px;margin:1.25rem 0 .5rem;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#8a6f32,#c9a84c);background:linear-gradient(90deg,var(--gold-dim),var(--gold));border-radius:3px;height:100%;transition:width .3s ease}.progress-pct{color:#8a9ab0;color:var(--text-dim);font-size:.85rem}.btn-primary{background:#c9a84c;background:var(--gold);border:none;border-radius:10px;border-radius:var(--radius);color:#0a0f1a;cursor:pointer;font-family:DM Sans,system-ui,sans-serif;font-family:var(--font-sans);font-size:.95rem;font-weight:600;letter-spacing:.02em;padding:.8rem 1.75rem;transition:all .15s}.btn-primary:hover{background:#d4b05a;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-ghost{background:#0000;border:1px solid #2a3a52;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);color:#8a9ab0;color:var(--text-dim);cursor:pointer;font-family:DM Sans,system-ui,sans-serif;font-family:var(--font-sans);font-size:.85rem;padding:.4rem .85rem;transition:all .15s}.btn-ghost:hover{border-color:#8a9ab0;border-color:var(--text-dim);color:#e8e0d0;color:var(--text)}.error-msg{background:#ff5a5a1a;border:1px solid #ff5a5a4d;border-radius:10px;border-radius:var(--radius);color:#ff5a5a;color:var(--error);font-size:.875rem;margin:.5rem 0;padding:.75rem 1rem}.loading-anchor{animation:spin 3s linear infinite;filter:sepia(1) saturate(2) hue-rotate(10deg);font-size:3rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:400px){.year-grid{grid-template-columns:repeat(2,1fr)}.login-box{padding:2rem 1.25rem}.title{font-size:1.4rem}}
/*# sourceMappingURL=main.e9678865.css.map*/