
:root{--ink:#172d29;--green:#123c34;--mint:#d9eee5;--paper:#f5f5ee;--muted:#5b6c65;--line:#dbe0d8;--gold:#e7c479}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 system-ui,-apple-system,"Segoe UI",sans-serif}
header{max-width:1160px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:25px 24px;border-bottom:1px solid var(--line)}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--green);font-weight:800;font-size:22px}.brand small{display:block;font-size:12px;font-weight:400;color:var(--muted)}.mark{background:var(--green);color:white;font-size:30px;border-radius:15px;width:48px;text-align:center}
.tag,.badge{font-size:12px;border:1px solid var(--line);border-radius:30px;padding:4px 12px;white-space:nowrap}.badge{background:var(--mint);color:var(--green);display:inline-block}
main{max-width:1160px;padding:30px 24px;margin:auto}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:55px;align-items:center;padding:45px 0 70px}.hero h1{font-size:clamp(38px,5vw,66px);line-height:1.3;letter-spacing:-1px;margin:16px 0}.hero p{font-size:19px;color:var(--muted);max-width:490px}
.eyebrow{font-size:13px;letter-spacing:.4px;color:var(--muted)}button{font:inherit;cursor:pointer;background:white;border:1px solid var(--line);color:var(--green);padding:10px 18px;border-radius:12px;min-height:46px}button:hover{border-color:var(--green)}button:disabled{cursor:not-allowed;opacity:.45}.primary{background:var(--green);color:white;border-color:var(--green);font-weight:650}.quiet{background:transparent}.actions{display:flex;gap:8px;flex-wrap:wrap}
.pitch{height:320px;background:var(--green);border-radius:28px;position:relative;box-shadow:10px 14px 0 var(--mint);overflow:hidden}.pitch:before{content:"";position:absolute;inset:30px;border:1px solid #b2dbb651;border-radius:4px}.pitch:after{content:"";position:absolute;top:30px;bottom:30px;width:1px;left:50%;background:#b2dbb651}.center-circle{position:absolute;width:90px;height:90px;left:calc(50% - 45px);top:calc(50% - 45px);border:1px solid #b2dbb651;border-radius:50%}.ball{position:absolute;left:38%;top:30%;font-size:52px;transform:rotate(-16deg)}.pitch-caption{position:absolute;bottom:48px;right:44px;color:var(--gold);font-size:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;margin:18px 0;min-width:0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}.cards .card{margin:0 0 20px}.card h2{margin:0 0 8px;font-size:23px}.card h3{margin:12px 0 8px;font-size:18px}.card p{margin:8px 0}.muted,small{color:var(--muted);font-size:13px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-title h1{margin:5px 0;font-size:30px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:block;font-size:14px;margin:10px 0}input,textarea,select{display:block;width:100%;padding:12px;margin:5px 0;font:inherit;border:1px solid #becbc3;border-radius:10px;background:#fcfdfb;color:var(--ink);min-width:0}input[type=datetime-local]{direction:ltr}textarea{resize:vertical}form .primary{margin-top:14px}#join-form{max-width:540px}
#notice:not(:empty){padding:15px 20px;border-radius:12px;background:#fff2d2;border:1px solid #d6b96f;margin:14px 0;overflow-wrap:anywhere}#notice.error{background:#fff0ec;border-color:#d6a898}footer{font-size:12px;color:var(--muted);text-align:center;margin:35px 0}.install{background:var(--mint);border:0}.hidden{display:none!important}.detail{padding:9px 0;border-bottom:1px solid #eef0ea;display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}.detail b{font-weight:600}.status{margin:16px 0;background:#f4f7f3;padding:14px;border-radius:12px}.roster-row{border-top:1px solid var(--line);padding:8px 0;overflow-wrap:anywhere}.code{direction:ltr;word-break:break-all;user-select:all;background:#f3f5f2;padding:10px;font-family:monospace}
@media(max-width:600px){header{padding:16px}.brand{font-size:18px}.mark{width:42px;font-size:25px}main{padding:18px 16px}.hero{grid-template-columns:1fr;gap:24px;padding:20px 0 30px}.hero h1{font-size:43px}.hero p{font-size:16px}.pitch{height:180px;box-shadow:5px 6px 0 var(--mint)}.pitch-caption{bottom:32px}.hero .primary{width:100%}.section-title{align-items:flex-start;flex-direction:column}.cards,.form-grid{grid-template-columns:1fr}.card{padding:18px}.actions button{flex:1}.tag{font-size:10px;padding:3px 8px}.section-title h1{font-size:26px}}
