.confess-page { --confess-pink:#f34f79; --confess-soft:#fff0f5; --confess-border:#f6dce6; }
.confess-page .confess-ad { color:#ad708a; }
.confess-page .confess-layout { margin-top:16px; }
.confess-page .section-heading h2::before,.confess-page .side-card h2::before { background:var(--confess-pink); }
.confess-hero { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px; min-height:152px; padding:22px 32px; overflow:hidden; border:1px solid #fbe1e9; border-radius:var(--radius); background:#fff4f8 url('/static/images/responsive-second/second-campus-hero-v1.png') right center/auto 100% no-repeat; box-shadow:var(--shadow); }
.confess-hero::before { position:absolute; inset:0; background:linear-gradient(90deg,#fff7fa 0%,#fff8fb 58%,rgb(255 246 249 / 65%) 100%); content:""; }
.confess-hero > * { position:relative; z-index:1; }
.confess-eyebrow { margin:0 0 2px; color:#d04d75; font-size:13px; font-weight:700; }
.confess-hero h1 { margin:0; color:#182b4d; font-size:36px; line-height:1.25; }
.confess-hero > div > p:last-child { max-width:620px; margin:7px 0 0; color:#53637e; line-height:1.65; }
.confess-publish-button,.confess-submit { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:0 25px; border:0; border-radius:9px; background:var(--confess-pink); color:#fff; font-weight:800; }
.confess-publish-button:hover,.confess-submit:hover { background:#e63f6a; }
.confess-hero-note { grid-column:2; justify-self:center; margin:-16px 0 0; color:#876878; font-size:12px; }
.confess-filter .section-heading span { color:#9a8493; font-size:13px; }
.confess-filter__options { display:flex; flex-wrap:wrap; gap:9px; padding:13px 15px; }
.confess-filter__options button { min-height:38px; padding:0 16px; border:1px solid var(--confess-border); border-radius:22px; background:#fff; color:#9b5571; }
.confess-filter__options button.is-active { border-color:var(--confess-pink); background:var(--confess-pink); color:#fff; font-weight:700; }
.confess-reading-ad { padding:0 14px 14px; }
.confess-reading-ad .main-ad { height:96px; }
.confess-feed { display:grid; gap:11px; }
.confess-feed-card { display:grid; grid-template-columns:148px minmax(0,1fr); gap:16px; min-width:0; padding:14px; border:1px solid #f0e8ed; border-left:3px solid var(--confess-pink); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow); }
.confess-feed-image { display:block; align-self:stretch; overflow:hidden; border-radius:8px; }
.confess-feed-image img { display:block; width:100%; height:100%; min-height:126px; object-fit:cover; }
.confess-feed-body { min-width:0; }
.confess-feed-meta { display:flex; align-items:center; gap:9px; min-width:0; }
.confess-feed-meta > span:nth-child(2) { min-width:0; }
.confess-feed-meta strong,.confess-feed-meta small { display:block; line-height:1.4; }
.confess-feed-meta strong { font-size:14px; }
.confess-feed-meta small { color:#8290a5; font-size:12px; }
.confess-avatar { display:grid; place-items:center; flex:none; width:39px; height:39px; border-radius:50%; background:#ffe9f1; color:#dc4b77; }
.confess-avatar--blue { background:#e8f2ff; color:#4e9be7; }
.confess-avatar--landscape { background:#e5f6e9; color:#68a975; }
.confess-avatar--warm { background:#fff0e4; color:#d9875f; }
.confess-tag { margin-left:8px; padding:4px 10px; border-radius:17px; background:#fff0f5; color:#dc4e79; font-size:12px; white-space:nowrap; }
.confess-feed-card h2 { margin:7px 0 5px; color:#172b4c; font-size:18px; line-height:1.4; overflow-wrap:anywhere; }
.confess-feed-card h2 a:hover { color:var(--confess-pink); }
.confess-feed-card p { display:-webkit-box; overflow:hidden; margin:0; color:#536783; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.confess-feed-bottom { display:flex; justify-content:space-between; align-items:center; gap:9px; margin-top:7px; color:#7386a3; font-size:13px; }
.confess-feed-actions { display:flex; gap:18px; flex:none; }
.confess-feed-actions button,.confess-feed-actions a { padding:0; border:0; background:transparent; color:#677e9f; font-size:13px; }
.confess-feed-actions button i,.confess-feed-actions button.is-active { color:var(--confess-pink); }
.confess-feed-actions b { font-weight:500; }
.confess-empty { margin:0; padding:22px; border:1px solid var(--confess-border); border-radius:var(--radius); background:#fff; text-align:center; }
.confess-sidebar .search-card { padding:12px; }
.confess-sidebar .search-card label { display:block; margin-bottom:8px; color:#263851; font-weight:700; }
.confess-sidebar .search-card > div { display:grid; grid-template-columns:74px minmax(0,1fr) 50px; gap:6px; }
.confess-sidebar .search-card button { padding:0; background:var(--confess-pink); }
.confess-sidebar .search-card button:hover { background:#e63f6a; }
.confess-sidebar .side-channel-grid a { background:#fff4f7; border-color:#fce4ed; color:#9f5370; font-weight:650; }
.confess-sidebar .side-channel-grid a.is-active { border-color:var(--confess-pink); background:var(--confess-pink); color:#fff; }
.confess-sidebar .side-list { margin:0; padding:9px 14px 12px; list-style:none; }
.confess-sidebar .side-list li { display:flex; align-items:center; gap:8px; min-width:0; padding:6px 0; color:#5c6d85; font-size:13px; }
.confess-sidebar .side-list li::before { flex:none; color:var(--confess-pink); content:'•'; }
.confess-sidebar .side-list a { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.confess-sidebar .side-list--rank li::before { display:grid; place-items:center; width:18px; height:18px; border-radius:4px; background:#e9eff9; color:#577091; font-size:11px; content:attr(data-rank); }
.confess-sidebar .side-list--rank li:nth-child(-n+3)::before { background:var(--confess-pink); color:#fff; }
.confess-sidebar .side-list--rank em { margin-left:auto; color:#dd527c; font-style:normal; white-space:nowrap; }
.confess-sidebar .side-ad { height:300px; }
.confess-breadcrumb { display:flex; gap:9px; align-items:center; color:#7890af; font-size:13px; }
.confess-breadcrumb a { color:#286fc8; }
.confess-detail-card { padding:24px; border-top:3px solid #ffd6e2; }
.confess-detail-meta { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.confess-anonymous { padding:6px 12px; border-radius:20px; background:#ffe7ef; color:#d54070; font-weight:700; }
.confess-detail-meta time { color:#7588a5; font-size:13px; }
.confess-detail-card h1 { margin:15px 0 8px; color:#132a53; font-size:26px; line-height:1.3; overflow-wrap:anywhere; }
.confess-scope { display:flex; flex-wrap:wrap; gap:8px; }
.confess-scope span { padding:4px 10px; border-radius:18px; background:#f1f5fa; color:#62799a; font-size:13px; }
.confess-detail-content { margin:17px 0; color:#344963; font-size:16px; line-height:1.85; }
.confess-detail-content p { margin:0 0 7px; }
.confess-detail-photo { display:block; width:min(100%,250px); aspect-ratio:1.05; object-fit:cover; border-radius:9px; }
.confess-detail-actions { display:flex; flex-wrap:wrap; gap:9px; align-items:center; margin-top:16px; }
.confess-detail-actions button { min-height:38px; padding:0 15px; border:1px solid #f5d3de; border-radius:21px; background:#fff; color:#4e6382; }
.confess-detail-actions button:first-child,.confess-detail-actions button.is-active { color:var(--confess-pink); }
.confess-detail-actions button:last-child { margin-left:auto; border:0; }
.confess-detail-card .confess-reading-ad { margin-top:18px; padding:0; }
.confess-comments { padding-bottom:10px; }
.confess-comment-form { display:grid; grid-template-columns:minmax(0,1fr) 82px; gap:10px; margin:14px; }
.confess-comment-form input { min-width:0; min-height:42px; padding:0 14px; border:1px solid #dae4f3; border-radius:24px; }
.confess-comment-form button { border:0; border-radius:24px; background:var(--confess-pink); color:#fff; font-weight:700; }
.confess-comment { display:flex; align-items:flex-start; gap:10px; margin:0 14px; padding:12px 0; border-bottom:1px solid #eaf0f6; }
.confess-comment:last-child { border:0; }
.confess-comment > div { flex:1; min-width:0; }
.confess-comment strong { color:#24416b; font-size:14px; }
.confess-comment p { margin:1px 0; color:#536783; font-size:14px; }
.confess-comment small { color:#8798af; }
.confess-comment button { border:0; background:transparent; color:#7290ae; white-space:nowrap; }
.confess-comment button.is-active { color:var(--confess-pink); }
.confess-publish-hero { position:relative; min-height:110px; padding:19px 26px; overflow:hidden; border:1px solid #fce1ea; border-radius:var(--radius); background:#fff0f6; }
.confess-publish-hero h1 { margin:0; color:#182c50; font-size:28px; }
.confess-publish-hero p { margin:2px 0 0; color:#526785; }
.confess-publish-hero > span { position:absolute; right:10%; bottom:-21px; color:#ffd5e2; font-size:96px; }
.confess-publish-form { padding:17px 22px 20px; }
.confess-form-section { min-width:0; margin:0; padding:8px 0 16px 42px; border:0; }
.confess-form-section legend { margin:0 0 7px -42px; padding:0; color:#172b4e; font-size:17px; font-weight:800; }
.confess-form-section legend span { display:inline-grid; place-items:center; width:29px; height:29px; margin-right:8px; border-radius:50%; background:#eaf3ff; color:#1763c6; font-size:16px; }
.confess-form-section legend small { color:#8794a8; font-size:12px; font-weight:400; }
.confess-form-section label:not(.confess-upload) { display:block; margin:10px 0 5px; font-weight:700; }
.confess-form-section label em { color:#ef406c; font-style:normal; }
.confess-choice-group { display:flex; flex-wrap:wrap; gap:10px; }
.confess-choice-group button { min-height:42px; padding:0 16px; border:1px solid #dbe5f2; border-radius:9px; background:#fff; color:#4a5f7f; }
.confess-choice-group button.is-active { border-color:var(--confess-pink); background:var(--confess-pink); color:#fff; box-shadow:0 3px 9px rgb(243 79 121 / 20%); font-weight:700; }
.confess-choice-group button.is-active::before { content:"✓"; font-weight:800; }
.confess-choice-group small { color:inherit; }
.confess-field-note { margin:8px 0 0; color:#8b7790; font-size:13px; }
.confess-control-wrap { position:relative; }
.confess-control-wrap input,.confess-control-wrap textarea { display:block; width:100%; min-height:42px; padding:10px 58px 10px 12px; border:1px solid #d7e2f1; border-radius:8px; background:#fff; color:#253b5b; font-size:14px; }
.confess-control-wrap textarea { min-height:132px; padding-right:13px; padding-bottom:25px; resize:vertical; }
@media (max-width: 800px) { .confess-control-wrap textarea { font-size: 16px; } }
.confess-control-wrap input:focus,.confess-control-wrap textarea:focus { border-color:var(--confess-pink); outline:2px solid #ffe0e9; }
.confess-control-wrap output { position:absolute; right:10px; bottom:8px; color:#8394ae; font-size:12px; }
.confess-control-wrap:not(.confess-textarea-wrap) output { top:12px; bottom:auto; }
.confess-template-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:8px 0; }
.confess-template-row span { color:#526987; font-size:13px; }
.confess-template-row button { min-height:34px; padding:0 12px; border:1px solid #dbe5f2; border-radius:8px; background:#fff; color:#516480; font-size:13px; }
.confess-template-row button.is-active { border-color:var(--confess-pink); color:var(--confess-pink); }
.confess-template-tip { margin:8px 0; padding:11px 13px; border-radius:8px; background:#fff0f5; color:#805f75; font-size:13px; }
.confess-template-tip i { color:var(--confess-pink); }
.confess-upload { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; width:min(100%,310px); min-height:100px; border:1px dashed #c9d7e8; border-radius:9px; color:#425c82; cursor:pointer; }
.confess-upload i { color:#5679aa; font-size:25px; }
.confess-upload small { color:#8a99ad; font-size:12px; }
.confess-upload-preview { display:block; max-width:220px; max-height:170px; margin-top:10px; border-radius:8px; object-fit:cover; }
.confess-submit { width:100%; margin-top:10px; }
.confess-static-note { margin:8px 0 0; color:#8997aa; font-size:12px; text-align:center; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:800px) {
  .confess-page .confess-layout { display:flex; flex-direction:column; gap:12px; }
  .confess-page .confess-layout > .main-rail,.confess-page .confess-layout > .side-rail { display:contents; }
  .confess-list-page .confess-sidebar .search-card { order:1; }
  .confess-list-page .confess-sidebar .channel-side { order:2; }
  .confess-list-page .confess-filter { order:3; }
  .confess-list-page .confess-feed { order:4; }
  .confess-list-page .confess-empty { order:5; }
  .confess-list-page .confess-sidebar .side-card:not(.channel-side):not(.side-ad-card) { order:6; }
  .confess-list-page .confess-sidebar .side-ad-card { order:7; }
  .confess-detail-page .confess-breadcrumb { order:1; }
  .confess-detail-page .confess-sidebar .search-card { order:2; }
  .confess-detail-page .confess-detail-card { order:3; }
  .confess-detail-page .confess-comments { order:4; }
  .confess-detail-page .confess-sidebar .channel-side { order:5; }
  .confess-detail-page .confess-sidebar .side-card:not(.channel-side):not(.side-ad-card) { order:6; }
  .confess-detail-page .confess-sidebar .side-ad-card { order:7; }
  .confess-publish-page .confess-sidebar .publish-rules { order:1; }
  .confess-publish-page .confess-sidebar .channel-side { order:2; }
  .confess-publish-page .confess-publish-form { order:3; }
  .confess-publish-page .confess-sidebar .side-card:not(.publish-rules):not(.channel-side) { order:4; }
}
@media (max-width:600px) {
  .confess-hero { grid-template-columns:1fr; gap:10px; min-height:0; padding:18px; background-position:right bottom; }
  .confess-hero h1 { font-size:27px; }
  .confess-hero > div > p:last-child { font-size:13px; }
  .confess-publish-button { justify-self:start; min-height:44px; }
  .confess-hero-note { display:none; }
  .confess-filter .section-heading span { display:none; }
  .confess-filter__options { gap:7px; }
  .confess-filter__options button { min-height:42px; padding-inline:12px; }
  .confess-feed-card { grid-template-columns:96px minmax(0,1fr); gap:10px; padding:10px; }
  .confess-feed-image img { min-height:96px; height:100%; }
  .confess-feed-meta { gap:6px; }
  .confess-feed-meta .confess-avatar { width:30px; height:30px; font-size:12px; }
  .confess-feed-meta strong { font-size:12px; }
  .confess-feed-meta small { font-size:11px; }
  .confess-tag { margin-left:0; padding:2px 6px; font-size:11px; }
  .confess-feed-card h2 { margin:5px 0 3px; font-size:15px; }
  .confess-feed-card p { font-size:12px; }
  .confess-feed-bottom { grid-column:1/-1; flex-wrap:wrap; font-size:12px; }
  .confess-feed-actions { gap:10px; }
  .confess-detail-card { padding:16px; }
  .confess-detail-card h1 { font-size:23px; }
  .confess-detail-content { font-size:15px; }
  .confess-publish-hero { min-height:86px; padding:14px 18px; }
  .confess-publish-hero h1 { font-size:23px; }
  .confess-publish-form { padding:14px; }
  .confess-form-section { padding-left:0; }
  .confess-form-section legend { margin-left:0; }
  .confess-choice-group button { flex:1; padding-inline:9px; white-space:nowrap; }
  .confess-choice-group small { display:none; }
  .confess-template-row button { min-height:40px; }
}

.confess-page{background:#f3faff;padding-bottom:16px}.confess-page .shell{width:min(1280px,calc(100% - 32px))}.confess-page .page-grid{grid-template-columns:minmax(0,2.16fr) minmax(0,1fr);gap:24px;margin-top:0}.confess-top-ad,.confess-bottom-ad{height:96px;margin-top:12px}.confess-bottom-ad{margin-top:16px}.confess-hero{border-radius:12px}.confess-filter{padding:14px}.confess-filter-note,.confess-comment-note{margin:8px 14px;color:#667b97;font-size:13px}.confess-reading-ad{padding:8px 0 0}.confess-main-ad{min-height:96px}.confess-feed-card{grid-template-columns:42px minmax(0,1fr)}.confess-feed-body{min-width:0}.confess-feed-meta{display:flex;flex-wrap:wrap;gap:8px}.confess-feed-meta small{display:inline}.confess-feed-card p{overflow-wrap:anywhere}.confess-feed-actions span{color:#6c809c}.confess-more{justify-self:center;padding:10px 18px;border-radius:8px;background:#fff;color:#d44874}.confess-rules{padding:14px}.confess-rules h2{margin:0 0 8px}.confess-rules p{margin:6px 0;color:#5a6f8d;font-size:13px;line-height:1.6}.confess-side-ad{padding:8px}.confess-side-ad .ad-slot{min-height:304px}.confess-detail-card,.confess-comments,.confess-missing{border-radius:12px}.confess-detail-content{white-space:pre-wrap;overflow-wrap:anywhere}.confess-detail-actions a{color:#d44874}.confess-comment-form{grid-template-columns:minmax(0,1fr) 104px}.confess-comment-form textarea{min-width:0;min-height:76px;padding:10px 12px;border:1px solid #dae4f3;border-radius:9px;font:inherit}.confess-comment-form button{min-height:42px}.confess-comments{margin-top:12px}.confess-comment-item{padding:12px 14px;border-top:1px solid #eaf0f6}.confess-comment-item p{white-space:pre-wrap;overflow-wrap:anywhere}.confess-missing{padding:24px}.confess-page a:focus-visible,.confess-page button:focus-visible,.confess-page textarea:focus-visible{outline:2px solid #e74f7b;outline-offset:2px}
@media(max-width:800px){.confess-page .page-grid{display:flex;flex-direction:column;gap:12px}.confess-page .page-grid>.main-rail,.confess-page .page-grid>.side-rail{display:contents}.confess-list-page .confess-hero{order:1}.confess-list-page .confess-sidebar .public-side-search,.confess-list-page .confess-sidebar .rail-search,.confess-list-page .confess-sidebar .search-card{order:2}.confess-list-page .confess-filter{order:3}.confess-list-page .confess-feed{order:4}.confess-detail-page .confess-sidebar .public-side-search,.confess-detail-page .confess-sidebar .rail-search,.confess-detail-page .confess-sidebar .search-card{order:1}.confess-detail-page .confess-detail-card,.confess-detail-page .confess-missing{order:2}.confess-detail-page .confess-comments{order:3}.confess-sidebar .public-channel-nav{order:5}.confess-sidebar .confess-rules{order:6}.confess-sidebar .confess-side-ad{order:7}}
@media(max-width:600px){.confess-top-ad,.confess-bottom-ad{height:72px}.confess-feed-card{grid-template-columns:32px minmax(0,1fr)}.confess-feed-card .confess-avatar{width:32px;height:32px}.confess-feed-meta small{font-size:11px}.confess-detail-actions{gap:7px}.confess-comment-form{grid-template-columns:1fr}.confess-comment-form button{justify-self:start;padding:0 18px}.confess-detail-content{font-size:15px}}
.confess-school-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 14px 12px}.confess-school-filter label{color:#5c6f89;font-size:13px}.confess-school-filter select{min-height:38px;max-width:100%;padding:0 10px;border:1px solid #ead6df;border-radius:8px;background:#fff;color:#345}.confess-school-filter button{min-height:38px;padding:0 14px;border:0;border-radius:8px;background:#f34f79;color:#fff;cursor:pointer}

