*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#050505;--surface:#0a0a0a;--neon-cyan:#00ffe1;--neon-purple:#bf00ff;--neon-red:#ff004c;--neon-green:#0f8;--neon-amber:#fa0;--text:#e0e0e0;--text-dim:#666;--font-mono:"SF Mono", "Fira Mono", "Consolas", monospace;--radius:10px}html,body{background:var(--bg);height:100%;color:var(--text);font-family:system-ui,sans-serif}#app{flex-direction:column;align-items:center;min-height:100vh;padding:80px 24px 40px;display:flex}.nav{background:var(--bg);z-index:100;border-bottom:1px solid #111;justify-content:space-between;align-items:center;padding:16px 24px;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{font-family:var(--font-mono);letter-spacing:4px;color:var(--neon-cyan);text-transform:uppercase;cursor:pointer;font-size:11px}.nav-links{gap:24px;display:flex}.nav-link{font-family:var(--font-mono);letter-spacing:2px;color:var(--text-dim);cursor:pointer;text-transform:uppercase;background:0 0;border:none;font-size:10px;transition:color .2s}.nav-link:hover,.nav-link.active{color:var(--neon-cyan)}.btn{border:1.5px solid var(--neon-cyan);border-radius:var(--radius);color:var(--neon-cyan);font-family:var(--font-mono);letter-spacing:3px;text-transform:uppercase;cursor:pointer;background:0 0;padding:10px 28px;font-size:12px;transition:box-shadow .2s,background .2s;display:inline-block}.btn:hover{background:#00ffe10d;box-shadow:0 0 12px #00ffe14d}.btn--purple{border-color:var(--neon-purple);color:var(--neon-purple)}.btn--purple:hover{background:#bf00ff0d;box-shadow:0 0 12px #bf00ff4d}.card-stack{width:320px;height:430px;position:relative}.card-ghost{background:var(--surface);border-radius:var(--radius);pointer-events:none;width:310px;height:418px;position:absolute}.card-ghost:first-child{border:1px solid #ffaa0026;top:12px;left:12px}.card-ghost:nth-child(2){border:1px solid #0f83;top:8px;left:8px}.card-ghost:nth-child(3){border:1px solid #ff004c40;top:4px;left:4px}.card-ghost:nth-child(4){border:1px solid #bf00ff4d;top:0;left:0}.card-main{background:var(--bg);border-radius:var(--radius);cursor:pointer;border:1.5px solid var(--neon-cyan);-webkit-user-select:none;user-select:none;width:310px;height:418px;transition:border-color .3s,box-shadow .3s;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 0 14px #00ffe140}.card-faces{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.card-face{opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:40px 28px 60px;transition:opacity .28s,transform .28s;display:flex;position:absolute;inset:0;transform:translate(100%)}.card-face.active{opacity:1;pointer-events:auto;transform:translate(0)}.card-face.exiting{opacity:0;transform:translate(-110%)rotate(-3deg)}.face-label{font-family:var(--font-mono);letter-spacing:4px;text-transform:uppercase;color:var(--neon-cyan);align-self:flex-start;font-size:9px}.card-dots{pointer-events:none;gap:6px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.card-dot{background:#222;border-radius:50%;width:6px;height:6px;transition:background .2s,box-shadow .2s}.learned-checkbox{cursor:pointer;z-index:10;align-items:center;gap:8px;display:flex;position:absolute;bottom:14px;left:16px}.learned-checkbox input{appearance:none;border:1.5px solid var(--neon-cyan);cursor:pointer;background:0 0;border-radius:3px;flex-shrink:0;width:14px;height:14px;position:relative}.learned-checkbox input:checked{background:var(--neon-cyan)}.learned-checkbox input:checked:after{content:"✓";color:var(--bg);font-size:10px;font-weight:700;position:absolute;top:-2px;left:1px}.learned-checkbox span{font-family:var(--font-mono);letter-spacing:2px;color:var(--text-dim);text-transform:uppercase;font-size:8px}.deck-progress{font-family:var(--font-mono);letter-spacing:2px;color:var(--text-dim);font-size:11px;position:fixed;top:64px;right:24px}.home-view{flex-direction:column;align-items:center;gap:48px;width:100%;max-width:520px;display:flex}.home-title{font-family:var(--font-mono);letter-spacing:6px;color:var(--neon-cyan);text-transform:uppercase;font-size:11px}.home-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.tag-filter{gap:8px;margin-bottom:12px;display:flex}.tag-btn{font-family:var(--font-mono);letter-spacing:2px;color:var(--text-dim);cursor:pointer;text-transform:uppercase;background:0 0;border:1px solid #333;border-radius:20px;padding:4px 12px;font-size:9px;transition:border-color .2s,color .2s}.tag-btn.active{border-color:var(--neon-purple);color:var(--neon-purple)}.subset-list{flex-direction:column;gap:6px;width:100%;max-height:55vh;display:flex;overflow-y:auto}.subset-item{cursor:pointer;background:var(--surface);border:1px solid #1a1a1a;border-radius:6px;align-items:center;gap:12px;padding:10px 14px;transition:border-color .2s;display:flex}.subset-item:hover{border-color:#333}.subset-item input[type=checkbox]{appearance:none;border:1.5px solid var(--neon-purple);cursor:pointer;background:0 0;border-radius:3px;flex-shrink:0;width:14px;height:14px}.subset-item input[type=checkbox]:checked{background:var(--neon-purple)}.subset-item-name{font-family:var(--font-mono);color:var(--text);flex:1;font-size:12px}.subset-item-tags{font-family:var(--font-mono);letter-spacing:1px;color:var(--text-dim);font-size:9px}.gallery-view{flex-direction:column;align-items:center;gap:24px;width:100%;display:flex}.gallery-title{font-family:var(--font-mono);letter-spacing:6px;color:var(--neon-cyan);text-transform:uppercase;font-size:11px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px;width:100%;max-width:800px;display:grid}.gallery-item{cursor:pointer;border-radius:var(--radius);background:var(--surface);border:1.5px solid #1a1a1a;flex-direction:column;align-items:center;gap:8px;padding:12px;transition:border-color .2s,box-shadow .2s;display:flex}.gallery-item:hover{border-color:var(--neon-cyan);box-shadow:0 0 8px #00ffe133}.gallery-item img{object-fit:cover;border:1px solid #2a2a2a;border-radius:6px;width:80px;height:80px}.gallery-item-name{font-family:var(--font-mono);letter-spacing:1px;color:var(--text-dim);text-align:center;font-size:10px}.gallery-empty{font-family:var(--font-mono);letter-spacing:2px;color:var(--text-dim);text-align:center;margin-top:40px;font-size:12px}.done-screen{font-family:var(--font-mono);text-align:center;flex-direction:column;align-items:center;gap:24px;display:flex}.done-screen h2{letter-spacing:6px;color:var(--neon-cyan);text-transform:uppercase;font-size:11px}.done-screen p{color:var(--text-dim);letter-spacing:1px;font-size:12px}
