*{margin:0;padding:0;box-sizing:border-box}
:root{--cp2-bg:#faf5ff;--cp2-white:#fff;--cp2-primary:#7c3aed;--cp2-primary-dark:#6d28d9;--cp2-text:#1e1b4b;--cp2-text2:#6b7280;--cp2-muted:#a78bfa;--cp2-border:#e9d5ff}
body.cp2{font-family:-apple-system,sans-serif;background:var(--cp2-bg);color:var(--cp2-text);min-height:100vh}
.cp2-nav{display:flex;justify-content:space-between;align-items:center;padding:0 2rem;height:52px;background:var(--cp2-white);border-bottom:1px solid var(--cp2-border)}
.cp2-brand{font-size:1.1rem;font-weight:700;color:var(--cp2-primary)}.cp2-nav-r{display:flex;align-items:center;gap:1rem}
.cp2-link{color:var(--cp2-text2);text-decoration:none;font-size:.85rem}.cp2-link:hover,.cp2-link.active{color:var(--cp2-primary)}
.cp2-user{color:var(--cp2-muted);font-size:.85rem}
.cp2-btn{display:inline-block;padding:.4rem 1rem;background:var(--cp2-primary);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:none;font-family:inherit}.cp2-btn:hover{background:var(--cp2-primary-dark)}
.cp2-btn.outline{background:none;color:var(--cp2-text2);border:1px solid var(--cp2-border)}.cp2-btn.lg{padding:.65rem 2rem;font-size:1rem}.cp2-btn.sm{padding:.25rem .6rem;font-size:.8rem}.cp2-btn.block{width:100%;text-align:center}
.cp2-hero{text-align:center;padding:5rem 2rem;max-width:600px;margin:0 auto}.cp2-hero h1{font-size:2rem;margin-bottom:1rem;color:var(--cp2-primary)}.cp2-hero p{color:var(--cp2-text2);margin-bottom:2rem}
.cp2-features{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.cp2-feat{background:var(--cp2-white);border:1px solid var(--cp2-border);border-radius:8px;padding:1rem}
.cp2-feat h3{font-size:.9rem;margin-bottom:.2rem}.cp2-feat p{font-size:.8rem;color:var(--cp2-text2)}
.cp2-login-bg{background:var(--cp2-bg);display:flex}.cp2-login-center{display:flex;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:2rem}
.cp2-login-card{width:100%;max-width:380px;background:var(--cp2-white);border:1px solid var(--cp2-border);border-radius:10px;padding:2.5rem;text-align:center}
.cp2-login-card h1{font-size:1.3rem;color:var(--cp2-primary);margin-bottom:.3rem}.cp2-login-card>p{color:var(--cp2-text2);font-size:.9rem;margin-bottom:1.5rem}
.cp2-form{display:flex;flex-direction:column;gap:.6rem}.cp2-form input{padding:.55rem .8rem;border:1px solid var(--cp2-border);border-radius:6px;font-size:.9rem}.cp2-form input:focus{outline:none;border-color:var(--cp2-primary)}
.cp2-alert{background:#fef2f2;border:1px solid#fecaca;color:#dc2626;padding:.5rem;border-radius:6px;font-size:.85rem;margin-bottom:.5rem}
.cp2-demo{margin-top:1rem;font-size:.8rem;color:var(--cp2-muted)}code{background:var(--cp2-bg);padding:.1rem .3rem;border-radius:3px}
.cp2-content{max-width:800px;margin:0 auto;padding:2rem}.cp2-content h1{font-size:1.4rem;margin-bottom:1.5rem}.cp2-content h2{font-size:1.1rem;margin:1rem 0 .5rem}
.cp2-section{background:var(--cp2-white);border:1px solid var(--cp2-border);border-radius:8px;padding:1.5rem;margin-bottom:1rem}.cp2-section p{font-size:.9rem;color:var(--cp2-text2);margin-bottom:.5rem}
.cp2-flag{background:#f0fdf4;border:2px solid#22c55e;border-radius:8px;padding:1rem;font-family:monospace;font-size:1.1rem;color:#166534;text-align:center}
.cp2-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center}.cp2-error h1{font-size:5rem;color:var(--cp2-primary)}.cp2-error p{color:var(--cp2-text2);margin-bottom:2rem}
.cp2-footer{text-align:center;padding:2rem;color:var(--cp2-muted);font-size:.8rem}
