:root{--ink-navy: #1B2437;--ink-navy-deep: #131A28;--paper: #EFE6D0;--paper-light: #F7F1E1;--paper-line: #D8CBA6;--accent: #7A2E38;--accent-light: #A0454F;--gold: #B4863C;--sentiment-happy: #5C7F5A;--sentiment-sad: #45607D;--sentiment-angry: #A8404A;--sentiment-anxious: #B4863C;--font-display: "Fraunces", serif;--font-body: "Work Sans", sans-serif;--font-hand: "Caveat", cursive;--radius: 3px;--shadow-card: 0 8px 24px rgba(19, 26, 40, .18)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);background:var(--ink-navy);background-image:radial-gradient(circle at 15% 10%,rgba(180,134,60,.08),transparent 40%),radial-gradient(circle at 85% 90%,rgba(122,46,56,.12),transparent 45%);color:var(--paper-light);min-height:100vh}a{color:var(--gold);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-body);cursor:pointer;border:none;border-radius:var(--radius)}input,textarea{font-family:var(--font-body);border-radius:var(--radius)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;border-bottom:1px solid rgba(239,230,208,.12)}.brand{display:flex;align-items:baseline;gap:10px}.brand-mark{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--paper-light)}.brand-tag{font-family:var(--font-hand);font-size:1.15rem;color:var(--gold)}.topbar-right{display:flex;align-items:center;gap:14px;font-size:.9rem;color:#efe6d0bf}.btn{padding:9px 18px;font-size:.88rem;font-weight:600;letter-spacing:.02em;transition:transform .15s ease,background .15s ease}.btn-primary{background:var(--accent);color:var(--paper-light)}.btn-primary:hover{background:var(--accent-light);transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-ghost{background:transparent;color:var(--paper-light);border:1px solid rgba(239,230,208,.3)!important}.btn-ghost:hover{border-color:var(--gold)!important;color:var(--gold)}.btn-text{background:none;color:var(--gold);font-size:.85rem;padding:4px 6px}.btn-text:hover{text-decoration:underline}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:420px;background:var(--paper);color:var(--ink-navy-deep);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:40px 36px;position:relative;overflow:hidden}.auth-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--accent),var(--gold))}.auth-header{margin-bottom:28px}.auth-header .brand-mark{color:var(--ink-navy-deep);font-size:1.8rem}.auth-header .brand-tag{color:var(--accent)}.auth-header p{margin-top:8px;font-size:.9rem;color:#5b5240}.field{margin-bottom:16px}.field label{display:block;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6b6249;margin-bottom:6px}.field input{width:100%;padding:11px 12px;border:1px solid var(--paper-line);background:var(--paper-light);font-size:.95rem;color:var(--ink-navy-deep)}.field input:focus{outline:none;border-color:var(--accent)}.checkbox-field{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:.85rem;color:#5b5240}.auth-submit{width:100%;padding:12px;font-size:.95rem}.auth-switch{margin-top:18px;text-align:center;font-size:.87rem;color:#6b6249}.auth-switch a{color:var(--accent);font-weight:600}.auth-message{margin-top:14px;padding:10px 12px;border-radius:var(--radius);font-size:.85rem}.auth-message.error{background:#a8404a1f;color:var(--accent);border:1px solid rgba(168,64,74,.3)}.auth-message.success{background:#5c7f5a24;color:var(--sentiment-happy);border:1px solid rgba(92,127,90,.3)}.dashboard{max-width:880px;margin:0 auto;padding:40px 24px 80px}.dash-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px}.dash-header h1{font-family:var(--font-display);font-weight:600;font-size:1.9rem;margin:0 0 4px}.greeting{font-size:.9rem;color:#efe6d0a6}.entries-grid{display:grid;gap:20px}.entry-card{background:var(--paper);color:var(--ink-navy-deep);border-radius:var(--radius);padding:22px 24px 18px;position:relative;box-shadow:var(--shadow-card);clip-path:polygon(0% 1%,3% 0%,7% 1.5%,12% 0%,18% 1.2%,24% 0%,30% 1%,36% .2%,42% 1.4%,48% 0%,54% 1%,60% .3%,66% 1.3%,72% 0%,78% 1%,84% .4%,90% 1.2%,96% 0%,100% 1%,100% 100%,0% 100%)}.entry-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.entry-title{font-family:var(--font-display);font-weight:600;font-size:1.2rem;margin:0 0 4px;border-bottom:2px solid var(--accent);display:inline-block;padding-bottom:2px}.entry-date{font-size:.75rem;color:#7c7256;margin-bottom:10px}.entry-content{font-size:.92rem;line-height:1.55;color:#3a3323;white-space:pre-wrap}.sentiment-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:6px;box-shadow:0 0 0 3px #ffffff80}.sentiment-dot.HAPPY{background:var(--sentiment-happy)}.sentiment-dot.SAD{background:var(--sentiment-sad)}.sentiment-dot.ANGRY{background:var(--sentiment-angry)}.sentiment-dot.ANXIOUS{background:var(--sentiment-anxious)}.entry-actions{display:flex;gap:14px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--paper-line)}.entry-actions button{background:none;font-size:.8rem;font-weight:600;color:var(--accent);padding:2px 0}.entry-actions button.danger{color:#7c2530}.entry-actions button:hover{text-decoration:underline}.empty-state{text-align:center;padding:60px 20px;color:#efe6d099}.empty-state .font-hand{font-family:var(--font-hand);font-size:1.4rem;color:var(--gold);display:block;margin-bottom:8px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#131a28b8;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal-card{background:var(--paper);color:var(--ink-navy-deep);width:100%;max-width:520px;border-radius:var(--radius);padding:28px 28px 24px;box-shadow:var(--shadow-card)}.modal-card h2{font-family:var(--font-display);margin:0 0 20px;font-size:1.3rem}.field textarea{width:100%;padding:11px 12px;border:1px solid var(--paper-line);background:var(--paper-light);font-size:.92rem;min-height:140px;resize:vertical;color:var(--ink-navy-deep)}.field textarea:focus{outline:none;border-color:var(--accent)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.admin-panel{margin-top:40px;border-top:1px solid rgba(239,230,208,.15);padding-top:24px}.admin-panel h2{font-family:var(--font-display);font-size:1.2rem;margin-bottom:14px}.user-table{width:100%;border-collapse:collapse;font-size:.85rem}.user-table th,.user-table td{text-align:left;padding:8px 10px;border-bottom:1px solid rgba(239,230,208,.12)}.user-table th{color:var(--gold);font-weight:600;text-transform:uppercase;font-size:.72rem;letter-spacing:.05em}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(0);background:var(--ink-navy-deep);color:var(--paper-light);padding:12px 20px;border-radius:var(--radius);font-size:.85rem;border-left:3px solid var(--gold);z-index:100;animation:toast-in .25s ease}.toast.error{border-left-color:var(--accent-light)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 600px){.topbar{padding:16px 18px}.dashboard{padding:28px 16px 60px}.auth-card{padding:30px 22px}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
