.like-btn{transition:all .2s ease;cursor:pointer;padding:8px 16px;border-radius:8px;background:rgba(220,53,69,.1);border:2px solid rgba(220,53,69,.3);box-shadow:0 2px 8px rgba(0,0,0,.1);position:relative;display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#dc3545}.like-btn:hover:not(:disabled){background:rgba(220,53,69,.15);border-color:rgba(220,53,69,.5);box-shadow:0 4px 12px rgba(220,53,69,.25);transform:translateY(-1px)}.like-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px rgba(220,53,69,.2)}.like-btn:disabled{opacity:.6;cursor:not-allowed}.like-btn.liked{background:linear-gradient(135deg,rgba(220,53,69,.2) 0,rgba(239,68,68,.25) 100%);border-color:rgba(220,53,69,.6);color:#dc3545;box-shadow:0 4px 12px rgba(220,53,69,.3)}.like-btn.liked:hover:not(:disabled){background:linear-gradient(135deg,rgba(220,53,69,.25) 0,rgba(239,68,68,.3) 100%);border-color:rgba(220,53,69,.8);box-shadow:0 6px 16px rgba(220,53,69,.4)}.like-btn.liked i{color:#dc3545!important}.like-btn:disabled i{opacity:.7}.like-btn i{color:#dc3545}.like-count{font-weight:700;min-width:24px;display:inline-block;color:#dc3545;font-size:.9rem}.like-btn.liked .like-count{color:#dc3545}.like-btn.liked{animation:likeGlow 2s ease-in-out infinite alternate}@keyframes likeGlow{from{box-shadow:0 4px 12px rgba(220,53,69,.3)}to{box-shadow:0 6px 20px rgba(220,53,69,.5)}}.like-btn i{font-size:18px;transition:all .2s ease}.like-btn:hover:not(:disabled) i{transform:scale(1.2)}.like-btn.loading{pointer-events:none;opacity:.8;background:rgba(220,53,69,.12);border-color:rgba(220,53,69,.35)}.like-btn.loading i{animation:likeLoading .8s ease-in-out infinite}@keyframes likeLoading{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.5}}.like-btn.loading{animation:buttonPulse 1.2s ease-in-out infinite}@keyframes buttonPulse{0%,100%{box-shadow:0 2px 8px rgba(220,53,69,.25)}50%{box-shadow:0 0 0 6px rgba(220,53,69,.15)}}.writeup-stats{display:flex;align-items:center;gap:8px}.stat-item{display:flex;align-items:center;gap:5px;font-size:.875rem;font-weight:600;padding:6px 10px;border-radius:6px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.8);transition:all .2s ease}.stat-item:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);transform:translateY(-1px)}.stat-item.likes{color:rgba(255,255,255,.8)}.stat-item.likes:hover{background:rgba(220,53,69,.1);border-color:rgba(220,53,69,.3);color:#dc3545}.stat-item.views{color:rgba(255,255,255,.8)}.stat-item.views:hover{background:rgba(13,202,240,.1);border-color:rgba(13,202,240,.3);color:#0dcaf0}.stat-item i{font-size:.95rem}.stat-item span{min-width:18px;text-align:center}.report-writeup-btn{transition:all .2s ease;border:none!important;background:rgba(220,53,69,.08)!important;padding:.5rem!important;border-radius:6px!important;opacity:.7}.report-writeup-btn:hover{opacity:1!important;background:rgba(220,53,69,.15)!important;color:#dc3545!important;transform:scale(1.15)}.report-writeup-btn:focus{box-shadow:0 0 0 3px rgba(220,53,69,.15)!important;outline:0!important}.report-writeup-btn i{font-size:.875rem}.table-hover tbody tr{transition:all .2s ease;border-left:3px solid transparent}.table-hover tbody tr:hover{background:linear-gradient(135deg,rgba(105,108,255,.08) 0,rgba(105,108,255,.04) 100%)!important;border-left-color:rgba(105,108,255,.5);box-shadow:0 2px 12px rgba(105,108,255,.15)}.writeup-author-avatar{transition:all .2s ease;border:2px solid transparent}tr:hover .writeup-author-avatar{transform:scale(1.08);border-color:rgba(105,108,255,.3);box-shadow:0 0 0 3px rgba(105,108,255,.1)}.writeup-language-badge{font-size:.75rem;font-weight:600;padding:6px 12px;border-radius:6px;background:rgba(105,108,255,.15);border:1px solid rgba(105,108,255,.3);box-shadow:0 2px 6px rgba(105,108,255,.15);color:#696cff}.writeup-date{font-size:.875rem;color:rgba(255,255,255,.9);font-weight:500}.writeup-date .writeup-time{font-size:.7rem;color:rgba(255,255,255,.6);font-weight:400}.writeup-read-btn{transition:all .2s ease;background:linear-gradient(135deg,#22c55e 0,#16a34a 100%);border:none;font-weight:600;box-shadow:0 2px 8px rgba(34,197,94,.25)}.writeup-read-btn:hover{background:linear-gradient(135deg,#16a34a 0,#15803d 100%);box-shadow:0 4px 16px rgba(34,197,94,.4);transform:translateY(-1px)}.ti-book-off{animation:fadeInScale .5s ease-out}@keyframes fadeInScale{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.writeup-count-badge{font-weight:700;padding:.35rem .75rem;border-radius:8px;border:1px solid rgba(105,108,255,.3);background:rgba(105,108,255,.15)}.submit-writeup-btn{transition:all .25s ease;background:linear-gradient(135deg,#22c55e 0,#16a34a 100%);border:2px solid rgba(34,197,94,.5);font-weight:600;box-shadow:0 4px 15px rgba(34,197,94,.3),inset 0 1px 0 rgba(255,255,255,.15);position:relative;overflow:hidden}.submit-writeup-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.submit-writeup-btn:hover::before{left:100%}.submit-writeup-btn:hover{background:linear-gradient(135deg,#16a34a 0,#15803d 100%);border-color:rgba(34,197,94,.7);box-shadow:0 6px 20px rgba(34,197,94,.45),inset 0 1px 0 rgba(255,255,255,.2);transform:translateY(-2px)}.submit-writeup-btn:active{transform:translateY(0);box-shadow:0 2px 10px rgba(34,197,94,.3)}.submit-writeup-btn .badge{background:linear-gradient(135deg,#fbbf24 0,#f59e0b 100%)!important;color:#1a1a2e!important;font-weight:700;border:1px solid rgba(251,191,36,.5);box-shadow:0 2px 8px rgba(251,191,36,.3)}.writeup-submit-btn{background:linear-gradient(135deg,rgba(34,197,94,.15) 0,rgba(22,163,74,.2) 100%);border:1px solid rgba(34,197,94,.4);color:#22c55e;font-weight:600;transition:all .2s ease}.writeup-submit-btn:hover{background:linear-gradient(135deg,rgba(34,197,94,.25) 0,rgba(22,163,74,.3) 100%);border-color:rgba(34,197,94,.6);color:#22c55e;transform:translateY(-1px);box-shadow:0 4px 12px rgba(34,197,94,.25)}.writeup-status-pending-btn{background:linear-gradient(135deg,rgba(251,191,36,.15) 0,rgba(245,158,11,.2) 100%);border:1px solid rgba(251,191,36,.4);color:#fbbf24;font-weight:600;transition:all .2s ease}.writeup-status-pending-btn:hover{background:linear-gradient(135deg,rgba(251,191,36,.25) 0,rgba(245,158,11,.3) 100%);border-color:rgba(251,191,36,.6);color:#fbbf24;transform:translateY(-1px);box-shadow:0 4px 12px rgba(251,191,36,.25)}.writeup-status-approved-btn{background:linear-gradient(135deg,rgba(34,197,94,.15) 0,rgba(22,163,74,.2) 100%);border:1px solid rgba(34,197,94,.4);color:#22c55e;font-weight:600;transition:all .2s ease}.writeup-status-approved-btn:hover{background:linear-gradient(135deg,rgba(34,197,94,.25) 0,rgba(22,163,74,.3) 100%);border-color:rgba(34,197,94,.6);color:#22c55e;transform:translateY(-1px);box-shadow:0 4px 12px rgba(34,197,94,.25)}.writeup-status-rejected-btn{background:linear-gradient(135deg,rgba(239,68,68,.15) 0,rgba(220,38,38,.2) 100%);border:1px solid rgba(239,68,68,.4);color:#ef4444;font-weight:600;transition:all .2s ease}.writeup-status-rejected-btn:hover{background:linear-gradient(135deg,rgba(239,68,68,.25) 0,rgba(220,38,38,.3) 100%);border-color:rgba(239,68,68,.6);color:#ef4444;transform:translateY(-1px);box-shadow:0 4px 12px rgba(239,68,68,.25)}.writeup-resubmit-btn{background:linear-gradient(135deg,rgba(251,191,36,.2) 0,rgba(245,158,11,.25) 100%);border:1px solid rgba(251,191,36,.5);color:#fbbf24;font-weight:600;transition:all .2s ease}.writeup-resubmit-btn:hover{background:linear-gradient(135deg,rgba(251,191,36,.3) 0,rgba(245,158,11,.35) 100%);border-color:rgba(251,191,36,.7);color:#fbbf24;transform:translateY(-1px);box-shadow:0 4px 12px rgba(251,191,36,.3)}.writeup-user-status{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;font-weight:500;font-size:.875rem}.writeup-user-status-pending{background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.3);color:#fbbf24}.writeup-user-status-approved{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);color:#22c55e}.writeup-user-status-rejected{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3);color:#ef4444}.writeup-user-status-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-radius:10px;font-weight:500}.writeup-user-status-card i{font-size:1.5rem;flex-shrink:0}.writeup-user-status-card-pending{background:linear-gradient(135deg,rgba(251,191,36,.1) 0,rgba(245,158,11,.08) 100%);border:1px solid rgba(251,191,36,.25);color:#fbbf24}.writeup-user-status-card-approved{background:linear-gradient(135deg,rgba(34,197,94,.1) 0,rgba(22,163,74,.08) 100%);border:1px solid rgba(34,197,94,.25);color:#22c55e}.writeup-user-status-card-rejected{background:linear-gradient(135deg,rgba(239,68,68,.1) 0,rgba(220,38,38,.08) 100%);border:1px solid rgba(239,68,68,.25);color:#ef4444}.writeup-rejection-reason-text,.writeup-user-status-card-rejected p{white-space:pre-line;line-height:1.6}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes writeup-error-shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-6px)}20%,40%,60%,80%{transform:translateX(6px)}}.writeup-error-shake{animation:writeup-error-shake .4s ease-in-out}.writeup-input-error{border-color:#dc3545!important;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)!important}@media (max-width:768px){.writeup-stats{gap:12px}.stat-item{font-size:.8125rem}.like-btn{width:100%;justify-content:center;padding:10px 16px}.writeup-read-btn{width:100%;padding:10px 16px}.submit-writeup-btn{width:100%;padding:12px 16px}.table-hover tbody tr{border-left-width:2px}}