.notification-link{position:relative;white-space:nowrap}.notification-link span{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:4px;padding:0 5px;border-radius:10px;background:var(--orange);color:#fff;font-size:10px}.notification-main{max-width:900px}.notification-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:26px 0 12px;color:var(--muted)}.notification-list{display:grid;margin:0 0 28px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff}.notification-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border-bottom:1px solid var(--line)}.notification-item:last-child{border-bottom:0}.notification-item.unread{background:#fff8f3}.notification-open{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:14px;align-items:center;padding:20px;color:inherit;text-decoration:none}.notification-open:hover .notification-copy>b{text-decoration:underline}.notification-dot{width:8px;height:8px;border-radius:50%;background:#d5d5ca}.notification-item.unread .notification-dot{background:var(--orange)}.notification-item small{display:block;margin-top:7px;color:var(--muted)}.notification-item i{font-style:normal;color:var(--orange);font-size:12px;white-space:nowrap}.notification-delete{align-self:center;margin-right:16px;padding:7px 10px;border:0;background:transparent;color:var(--muted);font-size:12px}.notification-delete:hover{color:#b33;background:#fff0ed}

.notification-link{display:inline-flex;align-items:center}.notification-link .notification-text{display:inline;color:inherit;background:none;height:auto;min-width:0;margin:0;padding:0;border-radius:0;font-size:inherit}.notification-link .notification-badge{display:inline-grid}

/* Connect community discussions with the food directory. */
.post-food-link{display:flex;align-items:center;gap:11px;margin:12px 0;padding:10px 12px;border:1px solid #eee3d6;border-radius:10px;background:#fffaf4}.post-food-link>span:first-child{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:9px;background:#f8e4d3}.post-food-link>span:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.post-food-link b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.post-food-link small{color:var(--muted);font-size:10px}.post-food-link i{color:var(--orange);font-size:11px;font-style:normal}.food-link-picker{margin-top:15px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fffdf9}.food-link-picker>label{margin-top:0!important}.food-search-results{display:grid;margin-top:8px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.food-search-results button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-bottom:1px solid var(--line);text-align:left}.food-search-results button:last-child{border-bottom:0}.food-search-results button:hover{background:#fff7f0}.food-search-results span,.selected-food span{display:flex;min-width:0;flex-direction:column;gap:3px}.food-search-results small,.selected-food small{color:var(--muted);font-size:10px}.food-search-results i{color:var(--orange);font-size:11px;font-style:normal;white-space:nowrap}.selected-food{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px;padding:11px 12px;border-radius:9px;background:#fff1e5}.selected-food button{color:var(--orange);font-size:11px;white-space:nowrap}.food-search-note,.new-food-note{margin:9px 0 0;color:var(--muted);font-size:11px}.new-food-note{color:#9b613e}.dish-discussions-section{margin-top:30px}.food-discussions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.food-discussion{display:flex;min-width:0;gap:13px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.food-discussion>img{width:88px;height:88px;flex:0 0 88px;border-radius:9px;object-fit:cover}.food-discussion>span{display:flex;min-width:0;flex-direction:column;gap:6px}.food-discussion small,.food-discussion i{color:var(--muted);font-size:10px;font-style:normal}.food-discussion b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.food-discussion em{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#64675e;font-size:12px;font-style:normal;line-height:1.6}.food-discussion i{margin-top:auto}

/* Keep editor actions visually consistent across browsers. */
.admin-editor .admin-actions{align-items:center;gap:10px}.admin-editor .admin-actions>button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:44px;min-width:68px;margin:0;line-height:1.2}.admin-editor .admin-actions>.primary{background:#e66a3d;color:#fff!important}.admin-editor .admin-actions>.primary:disabled{opacity:.78;color:#fff!important}.admin-editor .admin-actions>.secondary{color:#a95637;background:#fffdf8}

/* Compact microblog-style community feed. */
.live-columns>section:first-child{min-width:0}.live-post{margin:12px 0;padding:18px 20px 0!important;border:1px solid var(--line)!important;border-radius:14px;background:#fff;overflow:hidden}.post-head{display:flex;align-items:center;gap:11px}.post-user-avatar{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:linear-gradient(145deg,#f6dfcc,#e9edda);color:#a25432;font-weight:800;font-size:16px}.live-post .post-author{display:flex;min-width:0;flex-direction:column;gap:4px;font-size:14px}.live-post .post-author b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-post .post-author small{margin:0!important;color:var(--muted);font-size:10px;font-weight:400}.live-post h3{margin:13px 0 7px;font-size:17px;line-height:1.45}.live-post .post-body{margin:0;color:#565a50;font-size:14px;line-height:1.75}.live-post .post-body.collapsed{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.post-expand{display:block;margin:3px 0 0;padding:4px 0;color:#637ca5;font-size:12px}.post-photo{width:min(100%,620px)!important;max-height:320px!important;margin:12px 0!important;border-radius:10px!important;object-fit:cover}.post-topic{display:inline-block;margin:2px 0 12px;padding:4px 8px;border-radius:4px;background:#fff3e9;color:#b56c3f;font-size:11px}.live-post .post-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0!important;margin:0 -20px!important;border-top:1px solid #f0eee8;color:#858980;font-size:12px!important}.live-post .post-actions.two-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.live-post .post-actions button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 6px!important;border-right:1px solid #f0eee8;line-height:1;white-space:nowrap;transition:color .18s,background-color .18s}.live-post .post-actions button:last-child{border-right:0}.live-post .post-actions button:hover{background:#faf9f5}.action-icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.action-label{font-size:12px}.live-post .post-actions button.liked{color:var(--orange);background:#fff7f2}.live-post .post-actions button.liked .like-icon{fill:currentColor;stroke:currentColor}.live-post>.comment-list{margin:0 -20px!important;border-radius:0!important;border-top:1px solid var(--line)}.live-post>.delete-confirm{margin:0 -20px;border-radius:0}.live-post:target{border-color:#edb58f!important;box-shadow:0 0 0 3px #f6ddca80}
@media(max-width:720px){
  body{font-size:14px}.header{height:auto;min-height:72px;padding:10px 14px;gap:8px;flex-wrap:wrap}.brand{font-size:14px}.logo{width:36px;height:38px;font-size:22px}.header-right{margin-left:auto;gap:10px;font-size:11px}.header-right>span:not(.notification-link span){display:none}.header nav{order:3;width:100%;height:44px;gap:5px;overflow-x:auto;scrollbar-width:none;border-top:1px solid var(--line)}.header nav::-webkit-scrollbar{display:none}.header nav a,.header nav button{height:44px;min-width:max-content;padding:0 13px}.header nav .active:after{bottom:0}.live-main,main{margin-left:14px;margin-right:14px}.live-hero{padding:21px 18px;margin-top:10px}.live-hero h1{font-size:27px}.section-heading{align-items:flex-start}.section-heading>.secondary{min-height:42px}.filter-row{flex-wrap:wrap}.filter-row select,.filter-row button{min-height:44px}.live-post{margin:10px -4px!important;padding:15px 14px 0!important;border-radius:12px}.post-user-avatar{width:36px;height:36px;flex-basis:36px;font-size:14px}.live-post h3{margin-top:11px;font-size:16px}.live-post .post-body{font-size:13px;line-height:1.7}.post-photo{width:100%!important;height:240px;max-height:240px!important}.post-food-link i{display:none}.live-post .post-actions{margin:0 -14px!important}.live-post>.comment-list,.live-post>.delete-confirm{margin-left:-14px!important;margin-right:-14px!important}.comment-list{padding:13px}.moment-comment-meta button{min-height:36px;padding:7px}.moment-reply-form textarea,.moment-compose textarea{font-size:16px}.composer{padding:19px}.composer textarea{min-height:145px;font-size:16px}.food-live-filters select{flex:1 1 45%}.food-live-filters button{flex:1 1 100%}.live-food-grid{grid-template-columns:1fr}.food-photo,.food-placeholder{height:210px}.food-discussions{grid-template-columns:1fr}.food-discussion>img{width:74px;height:74px;flex-basis:74px}.app-modal-backdrop{padding:0;align-items:end}.app-modal{width:100%;max-height:92vh;border-radius:18px 18px 0 0;padding:20px}.app-modal input,.app-modal textarea,.app-modal select{font-size:16px}.notification-item{grid-template-columns:minmax(0,1fr) auto}.notification-open{grid-template-columns:8px minmax(0,1fr);padding:16px 12px;gap:10px}.notification-item i{grid-column:2}.notification-delete{margin-right:7px;padding:8px}.admin-actions button{min-height:40px}footer{padding-bottom:24px}
}
/* Database-grounded AI helpers */
.ai-food-finder,.campus-insight,.ai-review-summary{margin:1.25rem 0;padding:1.25rem;border:1px solid #f0d7c5;border-radius:18px;background:linear-gradient(135deg,#fffaf5,#fff)}
.ai-food-finder{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);gap:1rem;align-items:center}
.ai-food-finder h2,.campus-insight h2{margin:.2rem 0}.ai-food-finder p,.campus-insight p{color:#6c625d;margin:.35rem 0}
.ai-food-search{display:flex;gap:.6rem}.ai-food-search input{flex:1;min-width:0;border:1px solid #dfd5ce;border-radius:12px;padding:.8rem 1rem;background:#fff}
.ai-search-answer{grid-column:1/-1;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.ai-search-answer b{margin-right:.35rem}.ai-search-answer span{background:#fff0e4;color:#a24d1b;padding:.25rem .6rem;border-radius:999px;font-size:.84rem}.ai-search-answer button{border:0;background:none;color:#8b5a3c;text-decoration:underline}
.ai-recommend-section{margin:1.2rem 0}.ai-recommend-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.ai-recommend-row a{display:flex;flex-direction:column;gap:.25rem;padding:1rem;border:1px solid #eee0d6;border-radius:14px;background:#fff;color:inherit;text-decoration:none}.ai-recommend-row a:hover{border-color:#e88849;transform:translateY(-1px)}.ai-recommend-row span,.ai-recommend-row small{color:#73645b}.ai-recommend-row small{color:#b15c2a}
.campus-insight{display:grid;grid-template-columns:.8fr 1.2fr;gap:1rem}.campus-insight ul{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.55rem;list-style:none;padding:0}.campus-insight li{background:white;border-radius:12px;padding:.75rem;color:#5f5149}
.ai-review-summary{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.ai-review-summary>div:first-child{display:flex;flex-direction:column}.ai-review-summary>div:first-child span,.ai-review-meta{font-size:.84rem;color:#76665d}.ai-review-summary p{flex-basis:100%;margin:.2rem 0;line-height:1.8}.ai-moderation{margin:.8rem 0;padding:.9rem;border-left:4px solid #e9894b;background:#fff7f0;border-radius:10px}.ai-moderation span{margin-left:.65rem;color:#a25428}.ai-moderation p{margin:.35rem 0}.compose-actions{display:flex;gap:.65rem;justify-content:flex-end}
.record-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
@media(max-width:760px){.ai-food-finder,.campus-insight{grid-template-columns:1fr}.ai-food-search{flex-direction:column}.ai-recommend-row{grid-template-columns:1fr}.campus-insight ul{grid-template-columns:1fr}.compose-actions{flex-direction:column}.compose-actions button{width:100%}}

/* Motion ties food discovery, detail, and reply navigation together. */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: .18s ease-in both page-out; }
::view-transition-new(root) { animation: .22s ease-out both page-in; }
::view-transition-group(*) { animation-duration: .32s; animation-timing-function: cubic-bezier(.2,.8,.2,1); }
@keyframes page-out { to { opacity: 0; } }
@keyframes page-in { from { opacity: 0; } }
.live-food-grid .food-card { transition: border-color .2s ease, box-shadow .2s ease; }
.live-food-grid .food-card { scroll-margin-top: 18px; }
.live-food-grid .food-card:hover { border-color: #edbf9f; box-shadow: 0 12px 28px #58361716; }
.live-food-grid .food-card:active { scale: .985; }
.dish-detail-copy { animation: detail-arrive .3s ease-out both; }
@keyframes detail-arrive { from { opacity: 0; transform: translateY(10px); } }
.moment-comment { scroll-margin-block: 24vh; }
.moment-comment.comment-arrival { animation: comment-arrive 1.8s ease-out both; }
@keyframes comment-arrive { 0%, 40% { background: #ffe1b5; box-shadow: inset 3px 0 0 var(--orange); } 100% { background: transparent; box-shadow: inset 0 0 0 transparent; } }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root), ::view-transition-group(*) { animation-duration: .01ms!important; }
  .live-food-grid .food-card { transition: none; }
  .dish-detail-copy, .moment-comment.comment-arrival { animation: none; }
}
