:root{--color-bg: #f5f0eb;--color-card: #ffffff;--color-text: #4a4034;--color-text-light: #8b7355;--color-primary: #7a6554;--color-primary-hover: #5e4d40;--color-success-bg: #d4edda;--color-success-text: #155724;--color-error-bg: #f8d7da;--color-error-text: #721c24;--color-warning-bg: #fff3cd;--color-warning-text: #856404;--radius-md: 12px;--radius-sm: 8px;--spacing-unit: 1rem}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Montserrat,system-ui,-apple-system,sans-serif;background-color:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh;margin:0;padding:0;overflow-x:hidden;width:100%;max-width:100vw}#app{width:100%;max-width:100vw;margin:0 auto;overflow-x:hidden}#app.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px}h1{font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:600;color:var(--color-primary);text-align:center;margin-bottom:1.5rem;letter-spacing:-.5px}p{font-size:.9rem;color:var(--color-text-light);text-align:center;margin-bottom:1rem}.container-card{background:var(--color-card);padding:2rem;border-radius:var(--radius-md);box-shadow:0 10px 30px #4a403414;border:1px solid rgba(122,101,84,.1);width:100%;max-width:420px}input{width:100%;padding:14px 16px;margin-bottom:12px;border:1px solid #e0d6cc;border-radius:var(--radius-sm);font-size:16px;background-color:#faf8f5;color:var(--color-text);transition:border-color .2s}input:focus{outline:none;border-color:var(--color-primary);background-color:#fff;box-shadow:0 0 0 3px #7a65541a}button{width:100%;padding:14px;background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:1px}button:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}button:active{transform:translateY(0)}#status{margin-top:20px;padding:12px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;text-align:center;transition:background-color .3s}pre#output{background-color:#2d2620;color:#e6decb;padding:15px;margin-top:20px;border-radius:var(--radius-sm);font-family:Fira Code,monospace;font-size:.8rem;overflow-x:auto;white-space:pre-wrap;max-height:300px;border:1px solid #4a4034}.hidden{display:none}@media(max-width:768px){h1{font-size:1.75rem}h2{font-size:1.5rem}}@media(max-width:480px){.container-card{padding:1.5rem}h1{font-size:1.5rem}button{font-size:.9rem;padding:12px}}
