:root{color:#18221f;background:#f5f7f2;font-family:Inter,Noto Sans JP,Hiragino Kaku Gothic ProN,Meiryo,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--green-900: #0d4637;--green-700: #145c48;--green-100: #dcefe7;--ink: #18221f;--muted: #5b6964;--line: #d8dfda;--surface: #ffffff;--danger: #a2291c;--shadow: 0 12px 36px rgb(29 58 48 / 9%);--rr-arena-900: #08265f;--rr-arena-700: #113b8f;--rr-arena-100: #e7eefc;--rr-volt: #d8f20a;--rr-court: #11151c;--rr-court-raised: #1d2430;--rr-surface: #f6f7fa;--rr-paper: #ffffff;--rr-ink: #172033;--rr-muted: #596273;--rr-line: #d9deea;--rr-control-border: #7b8798;--rr-success: #176b4d;--rr-warning: #8a5600;--rr-signal: #b92f32;--rr-focus: #a65c00;--rr-focus-on-dark: #ffbf47;--rr-radius-card: .75rem;--rr-radius-action: .875rem}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--green-700)}.app-frame{min-height:100vh;display:flex;flex-direction:column}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;padding:.75rem 1rem;background:#fff;border-radius:.5rem}.skip-link:focus{top:1rem}.site-header{min-height:4.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;background:#f5f7f2f0;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--green-900);text-decoration:none;font-size:1.05rem;font-weight:800;letter-spacing:-.02em}.brand-mark{width:2.15rem;height:2.15rem;display:grid;place-items:center;color:#fff;background:var(--green-700);border-radius:50%}.tagline{display:none;color:var(--muted);font-size:.875rem}.site-footer{margin-top:auto;display:flex;justify-content:space-between;gap:1rem;padding:1.5rem 1rem;color:var(--muted);font-size:.82rem;border-top:1px solid var(--line)}.centered-page{width:min(100% - 2rem,42rem);margin:auto;padding:2.5rem 0}.hero-card,.invite-summary,.redeem-panel,.create-panel,.activity-card,.activity-detail-card,.empty-state{background:var(--surface);border:1px solid var(--line);border-radius:1.25rem;box-shadow:var(--shadow)}.hero-card{padding:clamp(1.5rem,6vw,3.5rem)}.hero-card h1,.dashboard h1,.invite-page h1{margin:.35rem 0 1rem;color:var(--green-900);font-size:clamp(2rem,8vw,3.25rem);line-height:1.08;letter-spacing:-.04em;overflow-wrap:anywhere;text-wrap:balance}.hero-card p:not(.eyebrow){color:var(--muted);line-height:1.75}.eyebrow{margin:0;color:var(--green-700);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.success-card{text-align:center}.success-mark{display:grid;place-items:center;width:4rem;height:4rem;margin:0 auto 1rem;color:#fff;background:var(--green-700);border-radius:50%;font-size:2rem}.success-card>.button{margin-top:.35rem}.install-recommendation{margin-top:1.25rem;padding:1rem;color:var(--green-900);background:#f1f8f4;border:1px solid #b8d8ca;border-radius:1rem;text-align:left}.install-recommendation-copy{display:flex;align-items:flex-start;gap:.8rem}.install-recommendation h2{margin:0 0 .35rem;font-size:1.05rem;line-height:1.35;letter-spacing:0}.install-recommendation p{margin:0;color:var(--muted);line-height:1.55}.install-mark{flex:0 0 auto;display:grid;place-items:center;width:2.5rem;height:2.5rem;color:#fff;background:var(--green-700);border-radius:.75rem;font-size:1.45rem;font-weight:800}.install-recommendation .install-instructions{margin-top:.85rem;padding:.75rem;color:var(--green-900);background:#fff;border-radius:.7rem}.install-actions{display:grid;gap:.6rem;margin-top:.85rem}.dashboard{width:min(100% - 2rem,64rem);margin:0 auto;padding:2rem 0 3rem}.dashboard-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dashboard h1{font-size:clamp(2rem,7vw,3rem)}.activity-detail-page{width:min(100% - 2rem,48rem)}.activity-detail-card{padding:clamp(1.15rem,4vw,1.75rem)}.back-link{min-height:2.75rem;margin:0 0 .75rem;padding:.45rem 0;color:var(--green-700);background:transparent;border:0;cursor:pointer;font-weight:750}.tenant-picker{margin:1rem 0 1.25rem}.tenant-picker label{display:block;margin-bottom:.4rem;color:var(--muted);font-size:.82rem;font-weight:700}.tenant-picker select{width:100%}.organizer-actions{display:flex;justify-content:flex-end;margin:1rem 0}.button{min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1rem;border:1px solid transparent;border-radius:.75rem;cursor:pointer;font-weight:750;line-height:1.2;text-decoration:none;transition:transform .12s ease,background .12s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button:focus-visible,.activity-heading h2:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--rr-focus);outline-offset:3px}.button:disabled{color:#66716d;background:#e6eae7;border-color:#c8cfcb;cursor:not-allowed;opacity:1;box-shadow:none;transform:none}.button-primary{color:#fff;background:var(--green-700)}.button-primary:hover:not(:disabled){background:var(--green-900)}.button-secondary{color:var(--green-900);background:var(--green-100);border-color:#b8d8ca}.button-quiet{color:var(--green-900);background:transparent;border-color:var(--line)}.button-wide{width:100%;margin-top:.75rem}.danger{color:var(--danger)}input,textarea,select{width:100%;min-height:2.8rem;padding:.72rem .8rem;color:var(--ink);background:#fff;border:1px solid #aebbb5;border-radius:.65rem}textarea{resize:vertical}label{color:#293732;font-size:.9rem;font-weight:700}label input,label textarea,label select{display:block;margin-top:.38rem;font-weight:400}.create-panel{display:grid;gap:1.5rem;margin:1rem 0 1.5rem;padding:1.25rem}.create-panel h2,.redeem-panel h2{margin:.35rem 0 .5rem;color:var(--green-900)}.create-panel p{color:var(--muted);line-height:1.55}.activity-form{display:grid;gap:1rem}.activity-form-fields{min-width:0;margin:0;padding:0;border:0;display:grid;gap:1rem}.form-row{display:grid;grid-template-columns:1fr;gap:1rem}.form-help{margin:-.3rem 0 0;color:var(--muted);font-size:.8rem;line-height:1.5}.form-error{margin:-.25rem 0 0;color:var(--danger);font-size:.85rem;font-weight:700}.activity-list{display:grid;gap:1rem}.activity-card{padding:1.15rem}.activity-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.activity-heading h2{margin:.55rem 0;color:var(--green-900);font-size:1.3rem;line-height:1.3}.status,.registration-status{display:inline-flex;margin:0 .35rem .15rem 0;padding:.28rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800}.status{color:#38433f;background:#edf0ee}.status-published,.status-inprogress{color:#0d4637;background:var(--green-100)}.status-cancelled,.status-discarded{color:#7d251b;background:#f8dfdc}.registration-status{color:#5c4300;background:#fff0bd}.date-tile{flex:0 0 3.7rem;display:grid;place-items:center;padding:.5rem;color:var(--green-900);background:#edf6f1;border-radius:.8rem;line-height:1}.date-tile strong{font-size:1.4rem}.date-tile span{margin-top:.3rem;font-size:.72rem}.activity-facts{display:grid;gap:.65rem;margin:1rem 0}.activity-facts div{display:grid;grid-template-columns:6rem 1fr;gap:.5rem}.activity-facts dt{color:var(--muted);font-size:.82rem}.activity-facts dd{margin:0;font-weight:650}.note{display:grid;grid-template-columns:5rem 1fr;gap:.5rem;margin:.65rem 0;padding-top:.65rem;border-top:1px solid #edf0ee;color:#384640;font-size:.88rem;white-space:pre-wrap}.card-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.15rem}.card-actions .button{flex:1 1 10rem}.roster-panel{margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--line)}.roster-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.roster-heading h3{margin:.25rem 0 .75rem;color:var(--green-900);font-size:1.05rem}.roster-heading .button{flex:0 0 auto}.roster-loading,.roster-empty{margin:.75rem 0 0;color:var(--muted)}.roster-list{display:grid;gap:.65rem;margin:.75rem 0 0;padding:0;list-style:none}.roster-row{display:grid;gap:.75rem;padding:.85rem;background:#f8faf7;border:1px solid #e2e8e4;border-radius:.8rem}.roster-person{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;min-width:0}.roster-person strong{flex:1 1 100%;overflow-wrap:anywhere}.roster-person>span{color:var(--muted);font-size:.82rem;font-weight:700}.roster-person .membership-removed{width:fit-content;padding:.2rem .45rem;color:#713027;background:#f8dfdc;border-radius:999px}.roster-person .roster-revoke-unavailable{flex:1 1 100%;line-height:1.45}.roster-row>.button{width:100%}.roster-confirm{display:grid;gap:.65rem;padding-top:.7rem;border-top:1px solid var(--line)}.roster-confirm p{margin:0;color:#493b37;font-size:.86rem;line-height:1.55}.roster-actions{display:grid;grid-template-columns:1fr;gap:.5rem}.empty-state{padding:2rem 1.25rem;text-align:center}.empty-state h2{color:var(--green-900);font-size:1.2rem}.empty-state p{color:var(--muted)}.loading{display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:8rem;color:var(--muted)}.loading span{width:1rem;height:1rem;border:2px solid #a9beb5;border-top-color:var(--green-700);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.notice{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:1rem 0;padding:1rem;border-radius:.85rem}.notice-error{color:#671e16;background:#fff0ee;border:1px solid #e7b6b0}.notice-warning{color:#684000;background:#fff6dc;border:1px solid #e5c97a}.notice-success{color:#0d5039;background:#ecf8f2;border:1px solid #a9d3bf}.notice p{margin:.35rem 0 0}.notice details{margin-top:.6rem;font-size:.75rem}.notice-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:.5rem}.action-confirm{margin-top:1rem;padding:1rem;color:#493b37;background:#fff8f1;border:1px solid #e7cbb9;border-radius:.85rem}.action-confirm h3{margin:0 0 .5rem;color:var(--danger);font-size:1rem}.action-confirm p{margin:0;line-height:1.6}.publish-confirm-summary{display:grid;gap:.45rem;margin:.85rem 0 0}.publish-confirm-summary>div{min-width:0;display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.65rem;padding-top:.45rem;border-top:1px solid #ecd9cc}.publish-confirm-summary dt{color:var(--muted);font-size:.82rem;font-weight:750}.publish-confirm-summary dd{min-width:0;margin:0;font-weight:700;overflow-wrap:anywhere}.readonly-message{margin:1rem 0 0;padding:.8rem;color:#684000;background:#fff6dc;border-left:4px solid #b77600;border-radius:.4rem;line-height:1.55}.invite-page{width:min(100% - 2rem,54rem);display:grid;gap:1rem;margin:0 auto;padding:2rem 0 3rem}.invite-summary,.redeem-panel{padding:1.25rem}.invite-summary h1{font-size:clamp(1.9rem,7vw,2.7rem)}.redeem-panel>p{color:var(--muted)}.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(min-width:42rem){.site-header,.site-footer{padding-left:2rem;padding-right:2rem}.tagline{display:inline}.form-row{grid-template-columns:1fr 1fr}.create-panel{grid-template-columns:minmax(12rem,.7fr) minmax(20rem,1.3fr);padding:1.75rem}.activity-list{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.roster-row>.button{width:auto}.roster-confirm{grid-column:1 / -1}.roster-actions,.install-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.invite-page{grid-template-columns:1fr 1fr;align-items:start;padding-top:3rem}.invite-summary,.redeem-panel,.activity-card{padding:1.5rem}}@media(max-width:41.99rem){.dashboard-topline,.notice{align-items:stretch;flex-direction:column}.dashboard-topline>.button,.notice-actions,.notice-actions .button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
