:root{--primary-color: #6366f1;--primary-hover: #4f46e5;--bg-color: #f8fafc;--tab-bg: #e2e8f0;--tab-active: #ffffff;--text-main: #1e293b;--text-muted: #64748b;--border-radius: 12px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--line-number-bg: #f1f5f9;--danger-color: #ef4444;--danger-hover: #dc2626}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-color);color:var(--text-main);min-height:100vh;margin:0;overflow-y:auto;overscroll-behavior-y:auto}.container{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;max-width:1200px;margin:0 auto;padding:2rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom));transition:padding .3s ease}.tabs-wrapper{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;background:var(--tab-bg);padding:.5rem;border-radius:var(--border-radius)}.tab-bar{display:flex;gap:.5rem;overflow-x:auto;flex:1;scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}.tab{padding:.75rem 1.25rem;background:transparent;border:none;border-radius:8px;cursor:pointer;white-space:nowrap;font-weight:500;color:var(--text-muted);transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.5rem;font-size:.9rem}.tab:hover{background:#ffffff80;color:var(--text-main)}.tab.active{background:var(--tab-active);color:var(--text-main);box-shadow:var(--shadow-sm);font-weight:600}.add-tab{width:36px;height:36px;background:var(--primary-color);border:none;border-radius:8px;cursor:pointer;color:#fff;font-size:1.2rem;font-weight:700;box-shadow:var(--shadow-sm);transition:all .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center}.add-tab:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow)}.add-tab:active{transform:translateY(0) scale(.95)}.editor-container{flex:1;display:flex;flex-direction:column;padding:.5rem 0;gap:.75rem}.title-input{font-size:1.75rem;font-weight:700;border:none;outline:none;width:100%;color:var(--text-main);background:transparent}.editor-wrapper{flex:1;display:flex;border:1px solid #e2e8f0;border-radius:8px;position:relative;background:#fff;box-shadow:var(--shadow-sm);min-height:400px}.line-numbers{width:45px;background:var(--line-number-bg);color:var(--text-muted);font-family:Courier New,monospace;font-size:1rem;line-height:1.6;padding:1rem .25rem;text-align:right;overflow:hidden;-webkit-user-select:none;user-select:none;border-right:1px solid #e2e8f0}.content-area{flex:1;border:none;outline:none;resize:none;font-size:1rem;line-height:1.6;padding:1rem;color:var(--text-main);font-family:Courier New,monospace;background:transparent;overflow:hidden;height:auto}.status-bar{display:flex;justify-content:flex-end;align-items:center;font-size:.8rem;color:var(--text-muted);padding:1rem 0;border-top:1px solid #f1f5f9;gap:.75rem}.btn{padding:.5rem 1rem;border-radius:8px;border:1px solid transparent;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.delete-btn,.clear-all-btn,.logout-btn{background:#fff;border:1px solid #e2e8f0;padding:.4rem .75rem;border-radius:6px;color:var(--text-muted);font-weight:500;font-size:.75rem;cursor:pointer;transition:all .2s}.delete-btn:hover,.clear-all-btn:hover{color:var(--danger-color);border-color:#fecaca;background:#fef2f2}.logout-btn:hover{color:var(--text-main);border-color:#cbd5e1;background:#f1f5f9}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;max-width:400px;width:90%;text-align:center}.modal-content h3{margin-bottom:.75rem;color:var(--text-main);font-size:1.25rem;font-weight:700}.modal-content p{margin-bottom:2rem;color:var(--text-muted);font-size:.95rem;line-height:1.5}.modal-actions{display:flex;gap:.75rem;justify-content:center}.btn-secondary{background:#f1f5f9;color:var(--text-main)}.btn-secondary:hover{background:#e2e8f0}.btn-danger{background:var(--danger-color);color:#fff}.btn-danger:hover{background:var(--danger-hover);box-shadow:0 4px 12px #ef44444d}.login-container{height:100vh;display:flex;justify-content:center;align-items:center;background-color:var(--bg-color);padding:1rem}.login-card{background:#fff;padding:3rem 2.5rem;border-radius:20px;box-shadow:var(--shadow);width:100%;max-width:400px;text-align:center}.login-card h1{margin-bottom:.5rem;color:var(--text-main);font-size:1.75rem;font-weight:800}.login-card p{color:var(--text-muted);margin-bottom:2.5rem;font-size:.95rem}.password-input{width:100%;padding:.85rem 1.25rem;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:1rem;font-size:1rem;outline:none;transition:all .2s;background:#f8fafc}.password-input:focus{border-color:var(--primary-color);background:#fff;box-shadow:0 0 0 3px #6366f11a}.btn-primary{background:var(--primary-color);color:#fff;width:100%;padding:.85rem;border-radius:10px;font-size:1rem}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.error-text{color:var(--danger-color);margin-top:1.25rem;font-size:.85rem;font-weight:500}@media (max-width: 768px){.container{padding:1rem}.editor-container{padding:.75rem 0;gap:.75rem}.title-input{font-size:1.5rem}.line-numbers{width:35px;font-size:.9rem}.content-area{font-size:.95rem}}@media (max-width: 480px){.container{padding:.5rem;padding-bottom:calc(3.5rem + env(safe-area-inset-bottom))}.tabs-wrapper{padding:.35rem;gap:.35rem}.tab{padding:.5rem .75rem;font-size:.8rem}.add-tab{width:32px;height:32px}.title-input{font-size:1.25rem;margin-bottom:.25rem}.status-bar{flex-direction:row;flex-wrap:wrap;gap:.4rem;padding-top:.75rem}.status-bar span:last-child{width:100%;text-align:right;order:-1;margin-bottom:.2rem}.delete-btn,.clear-all-btn,.logout-btn{padding:.3rem .5rem;font-size:.7rem}}
