:root{color-scheme:dark;--green:#74e6ae;--muted:#9badab}*{box-sizing:border-box}body{margin:0;background:#0c1615;color:#eef7f3;font:15px/1.6 system-ui,sans-serif}header{display:flex;align-items:center;gap:12px;padding:20px 22px;border-bottom:1px solid #28403a;max-width:900px;margin:auto}.brand{display:grid;place-content:center;position:relative;width:44px;height:44px;background:var(--green);color:#102a24;border-radius:14px;font-size:29px;font-weight:900}.brand span{position:absolute;right:4px;top:0;font-size:13px}header small{display:block;color:var(--muted);font-size:11px;letter-spacing:1px}#status{margin-left:auto;color:var(--green);font-size:11px}main{max-width:760px;margin:auto;padding:26px 20px}.hero{padding:28px;border:1px solid #305247;border-radius:24px;background:radial-gradient(ellipse at top right,#245b47,transparent 80%),#12241e}.hero small{letter-spacing:3px;font-size:10px;color:var(--green)}h1{font-size:36px;letter-spacing:-1.5px;line-height:1.25;margin:16px 0}h2{font-size:21px;margin:24px 0 12px}p{margin:10px 0}.muted,footer{color:var(--muted);font-size:13px}button,.button{font:inherit;border:1px solid #365249;background:#1a2c27;color:#edf8f2;padding:11px 16px;border-radius:12px;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{border-color:var(--green)}button:disabled{opacity:.5;cursor:wait}.primary,.button{background:var(--green);color:#102a24;font-weight:700}nav{display:flex;gap:6px;margin:24px 0;border-bottom:1px solid #28403a;padding-bottom:12px}nav button{flex:1;padding:10px 4px;font-size:14px;border-color:transparent;background:transparent}nav .selected{background:#224333;color:var(--green)}.card{padding:18px;margin:10px 0;background:#15231f;border:1px solid #2c4038;border-radius:16px;white-space:pre-wrap}.card time{color:var(--green);font-weight:700}.card button{float:none}.section-head{display:flex;align-items:center;justify-content:space-between}.section-head button{font-size:12px}label{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;background:#192c25;border-radius:10px;margin:4px}input{accent-color:var(--green);width:18px;height:18px}#notice{color:#f4cd88;white-space:pre-wrap}footer{text-align:center;padding:35px 0;font-size:10px;letter-spacing:2px}#save{margin:20px 8px 0 0}[hidden]{display:none!important}

/* Keep controls within cards, independent of text length and iOS font sizing. */
.participation-card{display:flex;align-items:center;justify-content:space-between;gap:16px;white-space:normal}
.participation-info{min-width:0;flex:1;overflow-wrap:anywhere}
.participation-name{display:block;font-size:17px;margin-bottom:5px}
.participation-deadline{display:block;color:var(--muted);font-size:13px}
.participation-card button{flex:0 0 auto;align-self:center;min-height:44px;min-width:72px}
.push-card{white-space:normal}
.push-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
.push-actions button{min-width:0;min-height:46px;padding:11px 8px;font-size:14px;white-space:normal}
#push-status{clear:both;display:block;width:100%;margin:14px 0 0;overflow-wrap:anywhere;line-height:1.7}
@media(max-width:340px){.participation-card{gap:10px;padding:14px}.participation-card button{min-width:62px;padding:9px 12px}.push-actions{grid-template-columns:1fr}}

.participation-controls{flex:0 0 auto;max-width:48%;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.participation-status{margin:0;font-size:12px;color:#f4cd88;line-height:1.6;text-align:right;overflow-wrap:anywhere}
.participation-status:empty{display:none}
