.side-announcement{border-radius:12px;padding:12px;box-sizing:border-box}.side-announcement h1{position:relative;margin:0 0 10px;font-size:1.5rem;font-weight:700;padding-left:1rem}.side-announcement h1:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:72%;background-color:rgb(var(--juliet-pink));border-radius:2px}.announcement-list{max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;scrollbar-width:none}.announcement-item{padding:8px;border-radius:8px;background:rgb(var(--juliet-pink)/.05);border:1px solid rgba(0,0,0,.04);transition:box-shadow .18s ease,transform .18s ease,background .18s ease;cursor:pointer;position:relative;overflow:hidden}.announcement-item:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000014;background:rgb(var(--juliet-pink)/.12)}.announcement-header{display:flex;align-items:center;gap:8px;font-weight:500;color:#222939}.announcement-header .title{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem}.announcement-header .date{flex:0 0 auto;margin-left:12px;font-size:.85rem;color:#60739f;white-space:nowrap}.announcement-item .description{display:block;max-height:0;opacity:0;visibility:hidden;overflow:hidden;padding-top:0;margin:0;color:#222939;transition:max-height .36s ease,opacity .28s ease,padding .28s ease,visibility 0s linear .28s;line-height:1.4;font-size:.95rem}.announcement-item:hover .description{visibility:visible;transition-delay:0s;max-height:400px;opacity:1;padding-top:8px}.announcement-item.pinned{background:rgb(var(--juliet-pink)/.12);position:relative}.announcement-item.pinned:after{content:"";position:absolute;top:0;right:0;width:0;height:0;border-left:15px solid transparent;border-top:15px solid rgb(var(--juliet-pink))}.announcement-link{text-decoration:none;color:inherit}.announcement-link:hover{text-decoration:none}.announcecontent{line-height:1.75;font-size:1rem}.announcecontent p{margin:1.2em 0;color:rgb(var(--gray))}.announcecontent h1{font-size:2rem;font-weight:800;margin:2.5rem 0 1.5rem}.announcecontent h2{font-size:2.2rem;font-weight:700;margin:2.2rem 0 1.2rem}.announcecontent h3{font-size:2rem;font-weight:600;margin:1.8rem 0 .8rem}.announcecontent ul,.announcecontent ol{padding-left:1.4em;margin:1em 0}.announcecontent li{margin:.4em 0}.announcecontent a{color:rgb(var(--juliet-pink));text-decoration:underline;font-weight:500}.announcecontent blockquote{margin:1.2em 0;padding:10px 16px;border-left:4px solid rgb(var(--juliet-pink));background:rgb(var(--juliet-pink) / .06);border-radius:6px;color:rgb(var(--gray));font-size:1em}.announcecontent code{background:rgb(var(--gray-light));padding:2px 6px;border-radius:4px;font-size:.9em}.announcecontent pre{background:rgb(var(--gray-dark));padding:1em;border-radius:8px;overflow-x:auto}.announcecontent hr{margin:2em 0;border:none;border-top:1px solid rgba(var(--gray),.3)}.announcecontent img{margin:1em 0;border-radius:10px}@media(max-width:900px){.announcement-list{max-height:220px}.announcement-item:hover .description,.announcement-item.pinned .description{max-height:160px}}.calendar-container{border-radius:12px;width:95%;padding:12px;background-color:rgb(var(--juliet-pink)/.05);box-sizing:border-box}.calendar-title{position:relative;font-size:1.5rem;font-weight:700;margin:0 0 10px;padding-left:1rem}.calendar-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:72%;background-color:rgb(var(--juliet-pink));border-radius:2px}.calendar-grid-container{margin-bottom:12px}.calendar-header h3{font-size:1.2rem;margin:0 0 8px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-day-week{text-align:center;color:#60739f;font-size:.85rem}.calendar-day{text-align:center;border-radius:100px;cursor:pointer;transition:background .2s ease}.calendar-day.today{color:rgb(var(--juliet-pink));font-weight:600;border-radius:100px}.calendar-day:hover{background-color:rgb(var(--juliet-pink));color:#fff}.calendar-day.empty{background:none;cursor:default}.calendar-stats{margin-top:10px;font-size:.9rem;color:#333}.calendar-stats p{margin:2px 0}
