.se-events { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 24px; min-width:0; }
.se-manage-entry { display:inline-flex; align-items:center; justify-content:center; flex:none; min-height:44px; margin-left:auto; padding:10px 14px; border:1px solid var(--line); border-radius:10px; color:var(--ink-2); background:var(--white); font-size:14px; font-weight:500; line-height:1.5; text-decoration:none; }
.se-manage-entry:hover { background:var(--paper); }
.se-manage-entry:focus-visible { outline:3px solid var(--red); outline-offset:4px; }
.se-event { position:relative; min-width:0; display:flex; flex-direction:column; }
.se-poster { position:relative; isolation:isolate; container-type:inline-size; overflow:hidden; min-width:0; aspect-ratio:3/2; border-radius:18px; padding:25px; background:#262829; color:#faf9f5; }
.se-poster::after { content:""; position:absolute; inset:0; z-index:-1; background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px); background-size:32px 32px; }
.se-poster-top { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:10px; line-height:1.4; letter-spacing:.08em; white-space:nowrap; }
.se-poster-word { position:absolute; z-index:1; top:28%; left:25px; font-size:clamp(42px,15cqw,54px); font-weight:800; line-height:1.1; letter-spacing:-.07em; }
.se-poster-word>span { display:block; margin-top:8px; font-size:18px; font-weight:600; line-height:1.4; letter-spacing:-.04em; }
.se-poster-number { position:absolute; right:25px; bottom:-21px; color:#d8dad3; font-size:155px; font-weight:800; line-height:1; letter-spacing:-.1em; }
.se-poster-number::first-letter { color:#d95361; }
.se-poster-footer { position:absolute; bottom:24px; left:25px; font-size:11px; line-height:1.4; letter-spacing:.04em; }
.se-card-content { min-width:0; padding-top:21px; }
.se-card-kicker { margin:0 0 9px; color:var(--red); font-size:12px; font-weight:700; line-height:1.5; }
.se-card-title { margin:0 0 15px; color:var(--ink); font-size:25px; font-weight:700; line-height:1.3; letter-spacing:-.05em; word-break:keep-all; overflow-wrap:anywhere; }
.se-card-link { color:inherit; text-decoration:none; }
.se-card-link::after { content:""; position:absolute; z-index:1; inset:0; border-radius:18px; }
.se-card-link:focus-visible { outline:none; }
.se-card-link:focus-visible::after { outline:3px solid var(--red); outline-offset:5px; }
.se-card-facts { display:grid; gap:6px; color:var(--ink-2); font-size:14px; line-height:1.6; word-break:keep-all; overflow-wrap:anywhere; }
.se-leaders { display:flex; flex-wrap:wrap; align-items:center; gap:9px 16px; min-width:0; margin:17px 0; }
.se-person { display:inline-flex; align-items:center; gap:8px; min-width:0; color:var(--ink-2); font-size:13px; font-weight:500; line-height:1.5; overflow-wrap:anywhere; }
.se-avatar { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; flex:none; border:1px solid var(--line); border-radius:50%; overflow:hidden; background:#ece9e4; }
.se-avatar img { display:block; width:100%; height:100%; object-fit:cover; }
.se-card-disclosure { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:17px; color:var(--muted); font-size:12px; line-height:1.6; word-break:keep-all; }
.se-card-disclosure>span:last-child { flex:none; }
.se-signup { position:relative; z-index:2; min-width:0; margin-top:21px; padding-top:17px; border-top:1px solid var(--line); }
.se-signup-deadline { margin:0; color:var(--red); font-size:13px; font-weight:650; line-height:1.6; word-break:keep-all; overflow-wrap:anywhere; }
.se-signup-actions { position:relative; min-width:0; margin-top:12px; }
.activities-page .se-primary { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-width:0; min-height:48px; padding:12px 16px; border:1px solid var(--red); border-radius:9px; background:var(--red); color:var(--white); font:inherit; font-size:14px; font-weight:650; line-height:1.4; cursor:pointer; overflow-wrap:anywhere; transition:background-color .18s,border-color .18s; }
.activities-page .se-primary:hover { background:var(--red-deep); border-color:var(--red-deep); color:var(--white); }
.activities-page .se-primary[aria-disabled=true] { opacity:.65; cursor:default; }
.activities-page .se-primary[aria-busy=true] { cursor:progress; }
.se-signup-complete { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; color:var(--red); font-size:14px; font-weight:650; line-height:1.5; }
.se-signup-complete>span { display:inline-flex; align-items:center; gap:7px; min-width:0; overflow-wrap:anywhere; }
.se-check { display:block; width:17px; height:17px; flex:none; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.activities-page .se-cancel { flex:none; min-height:44px; padding:8px 3px; border:0; border-radius:4px; background:transparent; color:var(--muted); font:inherit; font-size:12px; font-weight:500; line-height:1.5; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.activities-page .se-cancel:hover { color:var(--ink); background:transparent; }
.activities-page .se-cancel[aria-busy=true] { cursor:progress; opacity:.65; }
.se-signup-rule,.se-signup-note { margin:9px 0 0; color:var(--muted); font-size:12px; font-weight:400; line-height:1.7; word-break:keep-all; overflow-wrap:anywhere; }
.se-signup-note:empty,.se-signup-rule:empty { display:none; }
.se-join-note { margin:9px 0 0; color:var(--ink-2); font-size:12px; font-weight:650; line-height:1.7; word-break:keep-all; overflow-wrap:anywhere; }
.se-events [hidden],.se-loading[hidden],.se-error[hidden] { display:none; }
.se-event-detail { grid-column:1/-1; min-width:0; }
.se-event-detail>.sec-back { display:inline-flex; align-items:center; gap:10px; margin:0 0 34px; color:var(--muted); font-size:13px; line-height:1.6; text-decoration:none; }
.se-event-detail>.sec-back:hover { color:var(--ink); }
.se-detail-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); align-items:center; gap:70px; margin-bottom:58px; }
.se-detail-heading { min-width:0; }
.se-detail-title { margin:14px 0 24px; color:var(--ink); font-size:53px; font-weight:700; line-height:1.14; letter-spacing:-.065em; word-break:keep-all; overflow-wrap:anywhere; }
.se-page-description { margin:17px 0 21px; color:var(--ink-2); font-size:18px; line-height:1.6; word-break:keep-all; overflow-wrap:anywhere; }
.se-detail-meta { margin:0; color:var(--ink-2); font-size:14px; line-height:1.9; word-break:keep-all; overflow-wrap:anywhere; }
.se-detail-meta time,.se-detail-meta>span { display:block; }
.se-detail-hero .se-leaders { margin-bottom:0; }
.se-detail-hero .se-poster { aspect-ratio:1.12; }
.se-detail-hero .se-poster-word { top:21%; font-size:65px; }
.se-detail-hero .se-poster-word>span { font-size:23px; }
.se-detail-hero .se-poster-number { right:34px; bottom:-32px; font-size:210px; }
.se-detail-hero .se-poster-footer { font-size:12px; }
.se-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:start; gap:90px; }
.se-agenda { min-width:0; }
.se-agenda>h2,.se-participation h2 { margin:0 0 27px; color:var(--ink); font-size:24px; font-weight:700; line-height:1.4; letter-spacing:-.045em; }
.se-agenda-note { margin:0 0 28px; color:var(--muted); font-size:14px; line-height:1.8; word-break:keep-all; overflow-wrap:anywhere; }
.se-agenda-session { margin-bottom:37px; padding-bottom:37px; border-bottom:1px solid var(--line); scroll-margin-top:110px; }
.se-order { display:flex; align-items:center; gap:12px; margin:0 0 12px; color:var(--red); font-size:12px; font-weight:750; line-height:1.5; letter-spacing:.03em; }
.se-order::after { content:""; width:24px; height:1px; background:var(--red); }
.se-agenda-session h3 { margin:0 0 13px; color:var(--ink); font-size:29px; font-weight:700; line-height:1.35; letter-spacing:-.05em; word-break:keep-all; overflow-wrap:anywhere; }
.se-agenda-session .se-leaders { margin:14px 0; }
.se-description { margin:20px 0; color:var(--ink-2); font-size:17px; line-height:1.75; word-break:keep-all; overflow-wrap:anywhere; }
.se-detail-body { color:var(--ink-2); font-size:15px; line-height:1.8; word-break:keep-all; overflow-wrap:anywhere; }
.se-detail-body p { margin:0; }
.se-detail-body .se-detail-intro { margin:0; color:inherit; font:inherit; }
.se-detail-intro p+p { margin-top:10px; }
.se-detail-outcome { display:inline-block; margin-top:20px !important; padding:11px 14px; border-radius:7px; background:#e8ece5; color:#3e5144; font-size:13px; line-height:1.7; font-weight:500; }
.se-detail-section { margin-top:24px; }
.se-detail-section:first-child { margin-top:0; }
.se-detail-section h4 { margin:0 0 9px; color:var(--ink); font-size:16px; line-height:1.5; font-weight:600; }
.se-detail-section p+p { margin-top:10px; }
.se-detail-body ul,.se-detail-body ol { margin:8px 0; padding-left:20px; }
.se-detail-body a { color:var(--red); text-decoration:underline; text-underline-offset:3px; }
.se-detail-body img { display:block; max-width:100%; height:auto; margin:12px 0; }
.se-detail-body pre { max-width:100%; white-space:pre-wrap; overflow-wrap:anywhere; }
.se-detail-body table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:13px; }
.se-detail-body th,.se-detail-body td { padding:6px; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.se-detail-empty { color:var(--muted); }
.se-detail-aside { position:sticky; top:110px; min-width:0; padding:25px; border:1px solid var(--line); border-radius:15px; background:var(--white); }
.se-detail-aside h2 { margin:0 0 17px; color:var(--ink); font-size:18px; font-weight:700; line-height:1.5; letter-spacing:-.04em; }
.se-detail-aside dl { margin:0 0 22px; font-size:13px; line-height:1.6; }
.se-detail-aside dl>div { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin:13px 0; }
.se-detail-aside dt { flex:none; color:var(--muted); }
.se-detail-aside dd { min-width:0; margin:0; color:var(--ink); font-weight:600; text-align:right; word-break:keep-all; overflow-wrap:anywhere; }
.se-detail-aside .se-signup { padding-top:0; border-top:0; }
.se-participation { color:var(--ink-2); font-size:14px; line-height:1.9; word-break:keep-all; overflow-wrap:anywhere; }
.se-participation p { margin:0; }
.se-participation p+p { margin-top:12px; }
.se-mobile-signup { display:none; }
.se-cancel-dialog { width:400px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); box-sizing:border-box; overflow:auto; padding:28px; border:1px solid var(--line); border-radius:18px; background:var(--paper); color:var(--ink); }
.se-cancel-dialog::backdrop { background:#0005; }
.se-cancel-dialog h2 { margin:0; font-size:21px; font-weight:700; line-height:1.4; letter-spacing:-.035em; word-break:keep-all; }
.se-cancel-dialog p { margin:14px 0 25px; color:var(--muted); font-size:14px; line-height:1.7; word-break:keep-all; overflow-wrap:anywhere; }
.se-dialog-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; }
.se-cancel-dialog .se-dialog-keep,.se-cancel-dialog .se-dialog-confirm { display:inline-flex; justify-content:center; align-items:center; min-height:46px; padding:12px 16px; border:1px solid var(--line); border-radius:9px; background:transparent; color:var(--ink); font:inherit; font-size:14px; font-weight:650; line-height:1.4; cursor:pointer; }
.se-cancel-dialog .se-dialog-confirm { border-color:var(--red); background:var(--red); color:var(--white); }
.se-cancel-dialog .se-dialog-keep:hover { background:var(--white); }
.se-cancel-dialog .se-dialog-confirm:hover { border-color:var(--red-deep); background:var(--red-deep); }
.se-cancel-dialog button:focus-visible,.se-cancel:focus-visible,.se-primary:focus-visible,.se-event-detail>.sec-back:focus-visible { outline:3px solid var(--red); outline-offset:4px; }
.activities-page .se-primary:focus:not(:focus-visible),.activities-page .se-cancel:focus:not(:focus-visible) { outline:none; }
.se-not-found { grid-column:1/-1; padding:36px 0; }
.se-not-found p { color:var(--muted); line-height:1.7; }
.se-loading,.se-error { color:var(--muted); font-size:13px; line-height:1.6; }
.se-loading { padding:28px 0; }
.se-error { padding:16px 0; }
.se-error p { margin:0 0 12px; }
.se-status { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0; }
.se-burst { position:absolute; top:18px; left:50%; width:110px; height:40px; transform:translateX(-50%); pointer-events:none; }
.se-burst i { position:absolute; bottom:0; left:50%; width:5px; height:9px; border-radius:1px; opacity:0; background:var(--red); }
.se-burst i:nth-child(2n) { background:#d2ad69; }
.se-burst i:nth-child(1) { --se-x:-58px; --se-y:-44px; --se-r:70deg; }
.se-burst i:nth-child(2) { --se-x:-38px; --se-y:-65px; --se-r:150deg; }
.se-burst i:nth-child(3) { --se-x:-21px; --se-y:-49px; --se-r:220deg; }
.se-burst i:nth-child(4) { --se-x:-8px; --se-y:-75px; --se-r:170deg; }
.se-burst i:nth-child(5) { --se-x:14px; --se-y:-69px; --se-r:250deg; }
.se-burst i:nth-child(6) { --se-x:31px; --se-y:-47px; --se-r:130deg; }
.se-burst i:nth-child(7) { --se-x:48px; --se-y:-59px; --se-r:210deg; }
.se-burst i:nth-child(8) { --se-x:61px; --se-y:-35px; --se-r:280deg; }
.se-celebrate .se-burst i { animation:se-burst .75s ease-out both; }
@keyframes se-burst { 0% { opacity:0; transform:translate(0,0) rotate(0); } 12% { opacity:1; } 100% { opacity:0; transform:translate(var(--se-x),var(--se-y)) rotate(var(--se-r)); } }
@media(hover:hover) {
  .se-event:hover .se-card-disclosure { color:var(--red); }
}
@media(max-width:1000px) {
  .se-detail-hero { gap:40px; }
  .se-detail-title { font-size:45px; }
  .se-detail-hero .se-poster-word { font-size:54px; }
  .se-detail-hero .se-poster-word>span { font-size:20px; }
  .se-detail-layout { grid-template-columns:minmax(0,1fr) 280px; gap:48px; }
}
@media(max-width:900px) {
  .se-events { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:820px) {
  body:has(.se-event-detail) #knet-fab { bottom:calc(100px + env(safe-area-inset-bottom)); }
  .se-event-detail { padding-bottom:130px; }
  .se-detail-hero { gap:30px; }
  .se-detail-title { font-size:39px; }
  .se-detail-hero .se-poster-word { font-size:48px; }
  .se-detail-hero .se-poster-word>span { font-size:18px; }
  .se-detail-hero .se-poster-number { right:25px; bottom:-20px; font-size:170px; }
  .se-detail-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  .se-detail-aside { position:static; width:100%; }
  .se-mobile-signup { position:fixed; z-index:50; right:0; bottom:0; left:0; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:14px max(18px,env(safe-area-inset-left)) calc(14px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:var(--paper); }
  .se-mobile-copy { flex:1; min-width:0; margin:0; color:var(--red); font-size:12px; font-weight:700; line-height:1.6; word-break:keep-all; overflow-wrap:anywhere; }
  .se-mobile-copy>p { margin:0; }
  .se-mobile-copy>small { display:block; margin-top:3px; color:var(--muted); font-size:11px; font-weight:400; line-height:1.5; }
  .se-mobile-signup .se-signup-actions { flex:0 1 160px; min-width:0; margin:0; }
  .se-mobile-signup .se-primary { min-height:46px; padding:12px 14px; font-size:13px; }
  .se-mobile-signup .se-signup-complete { justify-content:flex-end; min-height:46px; }
  .se-mobile-signup .se-signup-complete>span { display:none; }
}
@media(max-width:600px) {
  .se-events { grid-template-columns:minmax(0,1fr); gap:36px; }
  .se-poster { padding:23px; }
  .se-poster-word { left:23px; font-size:53px; }
  .se-poster-number { font-size:150px; }
  .se-poster-footer { display:none; }
  .se-card-content { padding-top:18px; }
  .se-event-detail>.sec-back { margin-bottom:26px; }
  .se-detail-hero { grid-template-columns:minmax(0,1fr); gap:25px; margin-bottom:35px; }
  .se-detail-title { margin:11px 0 17px; font-size:35px; }
  .se-page-description { margin:14px 0; font-size:16px; }
  .se-detail-hero .se-poster { aspect-ratio:1.6; }
  .se-detail-hero .se-poster-top { font-size:9px; }
  .se-detail-hero .se-poster-word { top:47px; font-size:46px; }
  .se-detail-hero .se-poster-word>span { margin-top:6px; font-size:14px; line-height:1.35; }
  .se-detail-hero .se-poster-number { right:16px; bottom:-40px; font-size:110px; }
  .se-agenda>h2,.se-participation h2 { margin-bottom:25px; font-size:22px; }
  .se-agenda-session { margin-bottom:29px; padding-bottom:29px; }
  .se-agenda-session h3 { font-size:25px; }
  .se-description { font-size:16px; }
  .se-detail-body { font-size:14px; }
  .se-detail-aside { padding:22px; }
}
@media(max-width:360px) {
  .se-poster-top { gap:6px; font-size:8px; }
  .se-poster-word { top:58px; font-size:42px; }
  .se-poster-word>span { font-size:16px; }
  .se-poster-number { right:16px; bottom:-30px; font-size:110px; }
  .se-detail-title { font-size:32px; }
  .se-detail-hero .se-poster-word { top:47px; font-size:42px; }
  .se-mobile-signup { gap:10px; padding-right:16px; padding-left:16px; }
  .se-mobile-signup .se-signup-actions { flex-basis:125px; }
  .se-mobile-signup .se-primary { padding-right:10px; padding-left:10px; }
  .se-cancel-dialog { padding:22px; }
}
@media(prefers-reduced-motion:reduce) {
  .activities-page .se-primary { transition:none; }
  .se-celebrate .se-burst i { animation:none; }
}
