@keyframes trn-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes trn-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.trn-root{min-width:0;display:block}.trn-week{letter-spacing:.16em;color:var(--muted);align-items:center;gap:.7rem;margin:1.4rem 0 .7rem;font-size:.72rem;display:flex}.trn-week:after{content:"";background:linear-gradient(90deg, var(--border-strong), transparent);flex:1;height:1px}.trn-root>.trn-week:first-child{margin-top:0}.trn-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:.9rem;display:grid}.trn-root.is-compact .trn-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}.trn-card{--k:#2ecc8f;background:linear-gradient(160deg, color-mix(in srgb, var(--k) 9%, var(--surface)), var(--surface) 55%);border:1px solid color-mix(in srgb, var(--k) 22%, var(--border));border-radius:16px;grid-template-rows:1fr auto;grid-template-columns:58px 1fr;align-items:start;gap:.9rem;min-width:0;padding:1rem;transition:border-color .18s,transform .18s,box-shadow .18s;display:grid;position:relative}.trn-card:before{content:"";background:var(--k);border-radius:0 3px 3px 0;width:3px;position:absolute;top:14px;bottom:14px;left:0}.trn-card:hover{border-color:color-mix(in srgb, var(--k) 50%, var(--border));box-shadow:0 16px 32px -20px #000c}.trn-card:target{box-shadow:0 0 0 2px var(--k)}.trn-date{background:color-mix(in srgb, var(--k) 16%, var(--surface-2));border:1px solid color-mix(in srgb, var(--k) 40%, transparent);border-radius:12px;align-content:center;justify-items:center;gap:0;min-height:70px;padding:.45rem 0;display:grid}.trn-date b{color:#fff;font-size:1.5rem;line-height:1.05;font-family:var(--font-display);font-weight:900}.trn-date i{letter-spacing:.1em;text-transform:uppercase;color:var(--k);font-size:.6rem;font-style:normal;font-weight:800}.trn-main{gap:.35rem;min-width:0;display:grid}.trn-img{object-fit:cover;border-radius:10px;width:100%;height:120px;margin-bottom:.2rem}.trn-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.trn-kind{letter-spacing:.1em;text-transform:uppercase;color:var(--k);font-size:.66rem;font-weight:800}.trn-flag{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.12rem .55rem;font-size:.62rem;font-weight:800}.trn-flag.is-cancel{color:#ff7a90;background:#ff3b5c29;border:1px solid #ff3b5c66}.trn-flag.is-post{color:var(--accent);background:#f5b43124;border:1px solid #f5b43166}.trn-flag.is-full{color:var(--ink);border:1px solid var(--border-strong);background:#ffffff14}.trn-flag.is-going{color:var(--bright);background:#2ddc9529;border:1px solid #2ddc9566}.trn-title{color:#fff;text-transform:none;letter-spacing:0;overflow-wrap:anywhere;margin:0;font-size:1.12rem;line-height:1.15}.trn-when{color:var(--ink);margin:0;font-size:.84rem}.trn-when b{color:#fff}.trn-meta{color:var(--muted);flex-wrap:wrap;gap:.15rem .9rem;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.trn-meta li{overflow-wrap:anywhere;min-width:0}.trn-meta a{color:var(--ink);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--k) 60%, transparent);text-underline-offset:2px}.trn-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.1rem 0 0;font-size:.84rem;display:-webkit-box;overflow:hidden}.trn-bring{color:var(--ink);background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:8px;margin:0;padding:.3rem .55rem;font-size:.8rem}.trn-note{color:#ffd27a;border-left:3px solid var(--accent);background:#f5b43114;border-radius:6px;margin:0;padding:.35rem .6rem;font-size:.82rem}.trn-card.is-cancelled{opacity:.78}.trn-card.is-cancelled .trn-title{text-decoration:line-through #ff3b5cb3}.trn-card.is-cancelled .trn-note{color:#ffb3c0;border-left-color:var(--danger);background:#ff3b5c14}.trn-foot{border-top:1px solid var(--border);grid-column:1/-1;gap:.5rem;min-width:0;padding-top:.7rem;display:grid}.trn-cap{align-items:center;gap:.6rem;display:flex}.trn-bar{background:#ffffff14;border-radius:999px;flex:1;height:6px;overflow:hidden}.trn-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--k), color-mix(in srgb, var(--k) 60%, #fff));height:100%;transition:width .4s;display:block}.trn-bar.is-full span{background:linear-gradient(90deg, var(--accent), #ff9457)}.trn-cap-txt{color:var(--muted);white-space:nowrap;font-size:.76rem}.trn-cap-txt b{color:#fff}.trn-rsvp{flex-wrap:wrap;gap:.4rem;display:flex}.trn-btn{min-height:36px;font:inherit;color:var(--ink);cursor:pointer;white-space:nowrap;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:10px;flex:auto;justify-content:center;align-items:center;gap:.3rem;padding:.35rem .55rem;font-size:.78rem;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s,color .15s,transform .1s;display:inline-flex}a.trn-btn{color:var(--bright)}.trn-btn:hover:not(:disabled){border-color:var(--bright);text-decoration:none}.trn-btn:active:not(:disabled){transform:scale(.97)}.trn-btn:focus-visible{outline:2px solid var(--bright);outline-offset:2px}.trn-btn:disabled{opacity:.45;cursor:not-allowed}.trn-btn.is-going.is-on{background:var(--bright);border-color:var(--bright);color:var(--dark)}.trn-btn.is-maybe.is-on{background:var(--accent);border-color:var(--accent);color:var(--dark)}.trn-btn.is-not-going.is-on{color:#ffb3c0;background:#ff3b5c2e;border-color:#ff3b5c99}.trn-btn.is-busy{opacity:.7;pointer-events:none}.trn-card.is-compact{grid-template-columns:50px 1fr;padding:.85rem}.trn-card.is-compact .trn-date{min-height:60px}.trn-card.is-compact .trn-date b{font-size:1.25rem}.trn-card.is-compact .trn-title{font-size:1rem}.trn-empty{border:1px dashed var(--border-strong);text-align:center;color:var(--muted);background:var(--surface);border-radius:14px;padding:1.4rem}.trn-empty b{color:#fff;margin-bottom:.2rem;display:block}.trn-sk{pointer-events:none}.trn-sk:before{display:none}.trn-sk .trn-date{min-height:70px}.trn-sk .trn-date,.trn-sk .sk-l,.sk-shimmer{animation:1.4s linear infinite trn-shimmer;background:linear-gradient(90deg,#ffffff0a,#ffffff1a,#ffffff0a) 0 0/200% 100%!important;border-color:#0000!important}.trn-sk .sk-l{border-radius:6px;height:11px;margin:.25rem 0;display:block}.sk-l.w40{width:40%}.sk-l.w60{width:60%}.sk-l.w80{width:80%}.sk-l.w90{width:90%}.trs-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:.55rem;display:grid}.trs-row{--k:#2ecc8f;background:linear-gradient(100deg, color-mix(in srgb, var(--k) 8%, var(--surface)), var(--surface) 60%);border:1px solid color-mix(in srgb, var(--k) 18%, var(--border));border-radius:13px;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:.75rem;min-width:0;padding:.6rem .7rem .65rem .6rem;transition:border-color .18s,transform .18s,background .18s;animation:.25s both trn-in;display:grid;position:relative}.trs-row:hover{border-color:color-mix(in srgb, var(--k) 48%, var(--border));transform:translateY(-1px)}.trs-row:target{box-shadow:0 0 0 2px var(--k)}.trs-row.is-mine{border-color:color-mix(in srgb, var(--bright) 45%, var(--border))}.trs-date{background:color-mix(in srgb, var(--k) 15%, var(--surface-2));border:1px solid color-mix(in srgb, var(--k) 38%, transparent);border-radius:10px;align-content:center;justify-items:center;height:50px;display:grid}.trs-date b{color:#fff;font-size:1.15rem;line-height:1;font-family:var(--font-display);font-weight:900}.trs-date i{letter-spacing:.1em;text-transform:uppercase;color:var(--k);font-size:.54rem;font-style:normal;font-weight:800;line-height:1.3}.trs-main{gap:.12rem;min-width:0;display:grid}.trs-top{align-items:center;gap:.45rem;min-width:0;display:flex}.trs-kind{letter-spacing:.1em;text-transform:uppercase;color:var(--k);white-space:nowrap;font-size:.6rem;font-weight:800}.trs-rel{color:var(--muted);white-space:nowrap;font-size:.66rem;font-weight:700}.trs-rel:before{content:"•";opacity:.5;margin-right:.45rem}.trs-top .trn-flag{padding:.06rem .45rem;font-size:.56rem}.trs-title{color:#fff;text-transform:none;letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.98rem;line-height:1.2;overflow:hidden}.trs-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.76rem;overflow:hidden}.trs-meta b{color:var(--ink);font-weight:700}.trs-meta i{opacity:.5;margin:0 .4rem;font-style:normal}.trs-meta a{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--k) 55%, transparent);text-underline-offset:2px}.trs-act{justify-self:end;align-items:center;gap:.45rem;display:flex}.trs-count{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.66rem}.trs-count b{color:#fff}.trs-login{color:var(--bright);white-space:nowrap;border:1px solid color-mix(in srgb, var(--bright) 40%, transparent);background:color-mix(in srgb, var(--bright) 8%, transparent);border-radius:999px;padding:.3rem .7rem;font-size:.74rem;font-weight:700}.trs-login:hover{background:color-mix(in srgb, var(--bright) 16%, transparent);text-decoration:none}.trs-seg{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:999px;gap:2px;padding:2px;display:inline-flex}.trs-seg .trn-btn{background:0 0;border:0;border-radius:999px;flex:none;gap:.25rem;min-height:28px;padding:.2rem .55rem;font-size:.72rem}.trs-act .atc-btn{min-height:30px}.trs-row:has(.atc[open]){z-index:5}.trs-bar{background:#ffffff0d;border-radius:0 0 13px 13px;height:2px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.trs-bar span{background:var(--k);opacity:.75;height:100%;transition:width .4s;display:block}.trs-bar.is-full span{background:var(--accent)}.trs-row.is-cancelled{opacity:.7}.trs-row.is-cancelled .trs-title{text-decoration:line-through #ff3b5cb3}.trs-more{font:inherit;color:var(--bright);cursor:pointer;border:1px solid var(--border-strong);background:0 0;border-radius:999px;margin:.7rem auto 0;padding:.35rem 1rem;font-size:.78rem;font-weight:700;display:block}.trs-more:hover{border-color:var(--bright)}.trs-sk{pointer-events:none;animation:none}.trs-sk .trs-date,.trs-sk .sk-l{animation:1.4s linear infinite trn-shimmer;background:linear-gradient(90deg,#ffffff0a,#ffffff1a,#ffffff0a) 0 0/200% 100%!important;border-color:#0000!important}.trs-sk .sk-l{border-radius:6px;height:10px;margin:.2rem 0;display:block}@media (width<=560px){.trs-row{grid-template-columns:44px minmax(0,1fr);row-gap:.5rem}.trs-act{grid-column:1/-1;justify-content:space-between;justify-self:stretch}.trs-seg,.trs-seg .trn-btn{flex:1}}@media (width<=380px){.trs-lbl{display:none}}.trn-toasts{z-index:400;pointer-events:none;gap:.5rem;width:min(92vw,380px);display:grid;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%)}.trn-toast{pointer-events:auto;color:#fff;border:1px solid #2ddc9573;border-left:4px solid var(--bright);background:#0f2219;border-radius:12px;padding:.7rem .95rem;font-size:.88rem;font-weight:600;transition:opacity .3s,transform .3s;animation:.22s both trn-in;box-shadow:0 18px 40px #00000080}.trn-toast.is-err{border-color:#ff3b5c80;border-left-color:var(--danger);background:#22100f}.trn-toast.out{opacity:0;transform:translateY(6px)}@media (prefers-reduced-motion:reduce){.trn-sk .trn-date,.trn-sk .sk-l,.sk-shimmer,.trn-toast{animation:none}.trn-card,.trn-bar span,.trn-btn{transition:none}.trs-row,.trs-bar span{transition:none;animation:none}.trs-sk .trs-date,.trs-sk .sk-l{animation:none}}@media (width<=420px){.trn-card{grid-template-columns:1fr}.trn-date{grid-auto-flow:column;justify-content:start;align-items:baseline;gap:.4rem;width:fit-content;min-height:0;padding:.3rem .7rem}.trn-date b{font-size:1.1rem}.trn-sk .trn-date{width:120px;min-height:26px}.trn-btn{flex:30%;padding:.35rem .4rem}}
