*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0C0A09;--surface: #171310;--surface-2: #1F1A17;--surface-3: #2A2320;--border: rgba(201, 151, 58, .12);--border-hover: rgba(201, 151, 58, .35);--gold: #C9973A;--gold-light: #E8B96A;--gold-dim: rgba(201, 151, 58, .15);--cream: #F0EAE0;--cream-dim: #9A9088;--cream-muted: #5A5450;--danger: #E87070;--serif: "Cormorant Garamond", Georgia, serif;--sans: "Figtree", system-ui, sans-serif}html,body{min-height:100vh;background:var(--bg);color:var(--cream);font-family:var(--sans);font-size:15px;line-height:1.6}body{display:flex;flex-direction:column;align-items:center;padding:0 1rem;background-image:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(201,151,58,.06) 0%,transparent 70%)}#root{width:100%;display:flex;flex-direction:column;align-items:center}.header{width:100%;max-width:700px;padding:3rem 0 2.5rem;text-align:center}.logo-mark{display:inline-flex;align-items:center;gap:10px;margin-bottom:1.5rem}.logo-icon{width:36px;height:36px;border:1.5px solid var(--gold);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--gold)}.logo-icon svg{width:18px;height:18px}.header h1{font-family:var(--serif);font-size:3.2rem;font-weight:300;letter-spacing:-.5px;color:var(--cream);line-height:1.1;margin-bottom:.6rem}.header h1 em{font-style:italic;color:var(--gold-light)}.subtitle{font-size:.95rem;color:var(--cream-dim);font-weight:300;letter-spacing:.3px}.main{width:100%;max-width:700px;padding-bottom:4rem}.screen{transition:opacity .35s ease,transform .35s ease}.screen.hidden{opacity:0;pointer-events:none;position:absolute;transform:translateY(8px)}.nta-error{background:#e870701a;color:var(--danger);border:1px solid rgba(232,112,112,.25);border-radius:10px;padding:12px 16px;margin-bottom:1.25rem;font-size:.88rem;letter-spacing:.2px}.upload-zone{border:1.5px dashed var(--border-hover);border-radius:16px;background:var(--surface);padding:5rem 2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;cursor:pointer;transition:border-color .25s,background .25s,box-shadow .25s;position:relative;overflow:hidden}.upload-zone:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 120%,rgba(201,151,58,.05) 0%,transparent 70%);pointer-events:none}.upload-zone:hover,.upload-zone.dragging{border-color:var(--gold);background:var(--surface-2);box-shadow:0 0 60px #c9973a14,inset 0 0 40px #c9973a08}.upload-icon{width:64px;height:64px;border:1.5px solid var(--border-hover);border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--gold);background:var(--surface-2);transition:border-color .25s,transform .25s}.upload-zone:hover .upload-icon,.upload-zone.dragging .upload-icon{border-color:var(--gold);transform:translateY(-3px)}.upload-icon svg{width:28px;height:28px}.upload-primary{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--cream);letter-spacing:.2px}.upload-secondary{font-size:.85rem;color:var(--cream-muted);letter-spacing:.3px}.upload-hint{font-size:.78rem;color:var(--cream-muted);border:1px solid var(--border);padding:5px 14px;border-radius:20px;margin-top:.5rem;letter-spacing:.4px}.upload-zone.loading{pointer-events:none}.spinner{width:28px;height:28px;border:2px solid var(--border-hover);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:.9rem;color:var(--cream-dim)}.progress-bar-wrap{width:100%;max-width:260px;height:2px;background:var(--border);border-radius:2px;overflow:hidden;margin-top:.25rem}.progress-bar-fill{height:100%;background:var(--gold);width:0%;animation:progress 2.5s ease-in-out infinite;border-radius:2px}@keyframes progress{0%{width:0%;transform:translate(0)}50%{width:70%}to{width:95%}}.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.card-count{display:flex;align-items:baseline;gap:8px}.count-num{font-family:var(--serif);font-size:3rem;font-weight:300;color:var(--gold-light);line-height:1}.count-label{font-size:.9rem;color:var(--cream-dim);font-weight:300;letter-spacing:.3px}.btn-ghost{background:transparent;border:1px solid var(--border-hover);color:var(--cream-dim);font-family:var(--sans);font-size:.83rem;padding:8px 18px;border-radius:8px;cursor:pointer;transition:border-color .2s,color .2s,background .2s;letter-spacing:.2px;white-space:nowrap}.btn-ghost:hover{border-color:var(--gold);color:var(--gold-light);background:var(--gold-dim)}.deck-row{display:flex;gap:12px;margin-bottom:2rem;align-items:stretch}.input-wrap{flex:1;position:relative}.input-label{font-size:.72rem;color:var(--cream-muted);letter-spacing:1px;text-transform:uppercase;position:absolute;top:-9px;left:14px;background:var(--bg);padding:0 5px}.input-wrap input[type=text]{width:100%;background:var(--surface);border:1px solid var(--border-hover);border-radius:10px;color:var(--cream);font-family:var(--sans);font-size:.95rem;padding:13px 16px;outline:none;transition:border-color .2s,box-shadow .2s;letter-spacing:.2px}.input-wrap input[type=text]:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9973a1a}.btn-download{background:var(--gold);border:none;color:#1a1208;font-family:var(--sans);font-size:.9rem;font-weight:600;padding:13px 26px;border-radius:10px;cursor:pointer;transition:background .2s,transform .15s;white-space:nowrap;letter-spacing:.2px;display:flex;align-items:center;gap:8px}.btn-download:hover{background:var(--gold-light);transform:translateY(-1px)}.btn-download:active{transform:translateY(0)}.btn-download svg{width:16px;height:16px}.btn-download.success{background:#5a9e6f;color:#fff}.divider{display:flex;align-items:center;gap:14px;margin-bottom:1.5rem;color:var(--cream-muted);font-size:.78rem;letter-spacing:1px;text-transform:uppercase}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.nta-empty{text-align:center;padding:3rem 1rem;color:var(--cream-muted);font-size:.9rem;letter-spacing:.2px}.card-list{display:flex;flex-direction:column;gap:12px}.flashcard{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.25rem;transition:border-color .2s,background .2s;position:relative;animation:fadeUp .3s ease both}.flashcard:hover{border-color:#c9973a38;background:var(--surface-2)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}.card-left{display:flex;align-items:center;gap:10px}.card-num{font-size:.72rem;color:var(--cream-muted);font-weight:500;letter-spacing:.5px}.card-tag{font-size:.72rem;background:var(--gold-dim);color:var(--gold);border:1px solid rgba(201,151,58,.25);padding:3px 10px;border-radius:20px;letter-spacing:.3px;font-weight:500}.card-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s}.flashcard:hover .card-actions{opacity:1}.icon-btn{background:none;border:none;cursor:pointer;color:var(--cream-muted);padding:5px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s}.icon-btn:hover{color:var(--cream-dim);background:var(--surface-3)}.icon-btn.delete:hover{color:var(--danger)}.icon-btn svg{width:15px;height:15px}.card-q,.card-a{font-size:.9rem;line-height:1.65}.card-q{color:var(--cream);font-weight:500;margin-bottom:.55rem;display:flex;gap:8px}.label-q,.label-a{font-family:var(--serif);font-size:.95rem;font-style:italic;flex-shrink:0;margin-top:1px}.label-q{color:var(--gold)}.label-a{color:var(--cream-muted)}.card-a{color:var(--cream-dim);font-weight:300;display:flex;gap:8px;white-space:pre-line}.separator{height:1px;background:var(--border);margin:.7rem 0}.card-edit{display:flex;flex-direction:column;gap:10px}.card-edit label{font-size:.75rem;color:var(--cream-muted);font-weight:500;letter-spacing:.5px;text-transform:uppercase}.card-edit textarea{width:100%;padding:10px 14px;border:1px solid var(--border-hover);border-radius:8px;font-size:.9rem;font-family:var(--sans);resize:vertical;background:var(--surface-2);color:var(--cream);line-height:1.6;outline:none;transition:border-color .2s,box-shadow .2s}.card-edit textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9973a1a}.footer{width:100%;max-width:700px;display:flex;align-items:center;justify-content:center;gap:10px;padding:1.5rem 0 3rem;color:var(--cream-muted);font-size:.75rem;letter-spacing:.5px}.footer-rule{flex:1;height:1px;background:var(--border)}.footer-text{display:flex;align-items:center;gap:6px;white-space:nowrap}.footer-copy{color:var(--gold);font-size:.72rem}.footer-name{color:var(--cream-dim);font-family:var(--serif);font-style:italic;font-size:.88rem;font-weight:400}@media(max-width:768px){.header{padding:2rem 0 1.5rem}.header h1{font-size:2.4rem}.upload-zone{padding:3rem 1.5rem}.results-header{flex-direction:column;align-items:flex-start}.deck-row{flex-direction:column}.btn-download{width:100%;justify-content:center}}
