:root{--club-bg:#071018;--club-panel:#0e1b26;--club-panel-2:#132432;--club-border:rgba(226,207,154,.18);--club-gold:#c5a45b;--club-gold-bright:#e2cf9a;--club-cyan:#77d4d2;--club-text:#f4f5f1;--club-muted:#a7b1b5;--club-danger:#ff8b82;--club-ok:#82d8a6;--club-radius:16px;--club-shadow:0 20px 70px rgba(0,0,0,.28)}
*{box-sizing:border-box}.club-shell{min-height:calc(100vh - 92px);padding:56px 24px 80px;background:radial-gradient(circle at 12% 8%,rgba(197,164,91,.1),transparent 32%),linear-gradient(180deg,#071018,#0a141d);color:var(--club-text);font-family:'Noto Sans JP',system-ui,sans-serif}.club-shell button,.club-shell input,.club-shell textarea,.club-shell select{font:inherit}.club-shell button{cursor:pointer}.club-shell [hidden]{display:none!important}.auth-view{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center;min-height:calc(100vh - 230px)}.auth-intro{padding:20px 0}.eyebrow{margin:0 0 14px;color:var(--club-gold-bright);font-size:.72rem;font-weight:700;letter-spacing:.16em}.auth-intro h1{font-family:'Shippori Antique B1','Noto Sans JP',sans-serif;font-size:clamp(2.2rem,5vw,4.1rem);line-height:1.25;letter-spacing:.02em;margin:0 0 24px}.auth-intro h1 span{color:var(--club-gold-bright)}.auth-intro>p:last-child{max-width:500px;color:var(--club-muted);line-height:1.9}.auth-card,.panel{background:rgba(14,27,38,.92);border:1px solid var(--club-border);border-radius:var(--club-radius);box-shadow:var(--club-shadow)}.auth-card{padding:30px}.auth-tabs{display:flex;border-bottom:1px solid var(--club-border);margin:-5px -4px 25px}.auth-tab{flex:1;padding:12px;background:none;border:0;border-bottom:2px solid transparent;color:var(--club-muted);font-weight:700}.auth-tab.is-active{color:var(--club-gold-bright);border-color:var(--club-gold)}.field{display:block;margin:0 0 17px}.field>span,.form-label{display:block;margin:0 0 7px;color:var(--club-muted);font-size:.82rem}.field input,.field textarea,.field select,.data-input{width:100%;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:#09141d;color:var(--club-text);padding:12px 13px;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--club-gold);box-shadow:0 0 0 3px rgba(197,164,91,.16)}.field textarea{min-height:100px;resize:vertical}.check-field{display:flex;gap:10px;align-items:flex-start;color:var(--club-muted);font-size:.82rem;line-height:1.6;margin:10px 0 18px}.check-field input{margin-top:4px;accent-color:var(--club-gold)}.button{border:1px solid transparent;border-radius:9px;padding:11px 17px;color:var(--club-text);font-weight:700;transition:.18s ease}.button:hover{transform:translateY(-1px)}.button-primary{width:100%;background:linear-gradient(135deg,#e2cf9a,#b68f43);color:#111a1e;box-shadow:0 8px 20px rgba(197,164,91,.2)}.button-primary:disabled{opacity:.55;cursor:wait;transform:none}.button-ghost{background:transparent;border-color:rgba(255,255,255,.18)}.button-small{padding:7px 11px;font-size:.78rem}.button-danger{border-color:rgba(255,139,130,.35);color:var(--club-danger);background:transparent}.text-button{display:block;margin:18px auto 0;border:0;background:none;color:var(--club-gold-bright);font-size:.8rem;text-decoration:underline}.auth-footnote{margin:23px 0 0;text-align:center;font-size:.74rem;color:#77848b}.notice{padding:13px 15px;border-radius:10px;margin:0 0 18px;font-size:.84rem;line-height:1.6}.notice-info{background:rgba(119,212,210,.1);border:1px solid rgba(119,212,210,.28);color:#bce9e7}.notice-success{background:rgba(130,216,166,.1);border:1px solid rgba(130,216,166,.3);color:#bde9ca}.notice-warning{background:rgba(226,207,154,.1);border:1px solid rgba(226,207,154,.3);color:var(--club-gold-bright)}.notice-error,.form-message.error{background:rgba(255,139,130,.1);border:1px solid rgba(255,139,130,.3);color:#ffc0ba}.form-message{border-radius:9px;padding:10px 12px;margin:8px 0 14px;font-size:.82rem}.club-header{max-width:1280px;margin:0 auto 27px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.club-header h1{font-family:'Shippori Antique B1','Noto Sans JP',sans-serif;font-size:clamp(1.7rem,4vw,2.5rem);margin:0}.muted{color:var(--club-muted)}.club-layout{max-width:1280px;margin:auto;display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px}.club-sidebar{align-self:start;position:sticky;top:110px}.club-nav{display:flex;flex-direction:column;gap:5px}.club-nav-item{border:1px solid transparent;border-radius:10px;background:transparent;color:var(--club-muted);text-align:left;padding:12px 14px;font-size:.88rem}.club-nav-item:hover,.club-nav-item.is-active{background:rgba(197,164,91,.1);border-color:var(--club-border);color:var(--club-gold-bright)}.sidebar-meta{display:flex;align-items:center;gap:8px;margin:24px 14px;color:#78878e;font-size:.72rem}.status-dot{height:7px;width:7px;border-radius:99px;background:var(--club-ok);box-shadow:0 0 10px var(--club-ok)}.club-content{min-width:0}.content-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:19px}.content-heading h2{margin:0;font-size:1.45rem}.content-heading p{margin:6px 0 0;color:var(--club-muted);font-size:.84rem}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{padding:22px}.panel h3{font-size:1rem;margin:0 0 13px}.panel h4{font-size:.88rem;margin:17px 0 8px}.stat{font-size:1.7rem;color:var(--club-gold-bright);font-weight:700}.stat-label{font-size:.75rem;color:var(--club-muted)}.event-card,.member-card,.product-card,.post-card{padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.025)}.event-card+.event-card,.post-card+.post-card{margin-top:12px}.event-card h3,.member-card h3,.product-card h3,.post-card h3{margin:0 0 8px;font-size:1rem}.event-meta{display:flex;flex-wrap:wrap;gap:7px 13px;color:var(--club-muted);font-size:.75rem;margin:8px 0 13px}.event-desc,.post-body{color:#c7d0d0;font-size:.82rem;line-height:1.75;white-space:pre-wrap}.badge{display:inline-block;padding:3px 8px;border-radius:99px;background:rgba(119,212,210,.12);border:1px solid rgba(119,212,210,.22);font-size:.7rem;color:#bce9e7}.badge-gold{background:rgba(197,164,91,.13);border-color:rgba(197,164,91,.3);color:var(--club-gold-bright)}.empty{padding:35px;text-align:center;color:var(--club-muted);border:1px dashed rgba(255,255,255,.16);border-radius:12px}.inline-form{display:flex;gap:8px;align-items:center}.inline-form select,.inline-form input{flex:1}.profile-row{display:grid;grid-template-columns:140px 1fr;gap:18px;margin-bottom:16px}.profile-row dt{color:var(--club-muted);font-size:.8rem}.profile-row dd{margin:0;white-space:pre-wrap;line-height:1.7}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .field{margin:0}.field-wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.field-help{font-size:.72rem;color:#829197;margin-top:5px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:.78rem}.data-table th,.data-table td{padding:11px 9px;border-bottom:1px solid rgba(255,255,255,.09);text-align:left;vertical-align:top}.data-table th{color:var(--club-muted);font-weight:500;white-space:nowrap}.data-table td{color:#dce3e1}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.admin-tab{border:1px solid rgba(255,255,255,.15);background:transparent;border-radius:99px;color:var(--club-muted);padding:7px 12px;font-size:.76rem}.admin-tab.is-active{color:var(--club-gold-bright);border-color:var(--club-gold);background:rgba(197,164,91,.1)}.toast{position:fixed;right:22px;bottom:22px;z-index:20;max-width:360px;padding:13px 16px;border-radius:10px;background:#e2cf9a;color:#111a1e;font-size:.82rem;font-weight:700;box-shadow:var(--club-shadow)}.loading-screen{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;gap:11px;background:#071018;color:var(--club-muted);font-size:.85rem}.spinner{height:17px;width:17px;border:2px solid rgba(226,207,154,.25);border-top-color:var(--club-gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:860px){.auth-view{grid-template-columns:1fr;gap:25px;max-width:580px}.auth-intro{text-align:center}.auth-intro>p:last-child{margin:0 auto}.club-layout{grid-template-columns:1fr}.club-sidebar{position:static}.club-nav{display:grid;grid-template-columns:repeat(3,1fr)}.club-nav-item{font-size:.76rem;text-align:center;padding:10px 6px}.sidebar-meta{display:none}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.club-shell{padding:35px 14px 60px}.auth-card{padding:21px}.club-header{align-items:flex-start}.club-header .button{padding:8px 10px;font-size:.75rem}.club-nav{grid-template-columns:repeat(2,1fr)}.grid,.grid-3,.form-grid{grid-template-columns:1fr}.profile-row{grid-template-columns:1fr;gap:3px}.panel{padding:17px}.content-heading{display:block}.content-heading .button{margin-top:13px}.form-actions{justify-content:stretch}.form-actions .button{flex:1}.inline-form{align-items:stretch;flex-direction:column}.inline-form .button{width:100%}}
[hidden]{display:none!important}
.club-shell a{color:var(--club-cyan);overflow-wrap:anywhere}.club-shell p,.data-table td{overflow-wrap:anywhere}.data-table td{white-space:pre-wrap}.community-rules{margin-top:20px;font-size:.8rem;line-height:1.7;color:var(--club-muted)}.club-shell button:focus-visible,.club-shell summary:focus-visible{outline:2px solid var(--club-gold-bright);outline-offset:3px}.form-actions{flex-wrap:wrap}.club-shell fieldset{border:1px solid var(--club-border);border-radius:10px;min-width:0}.club-shell button:disabled{opacity:.55;cursor:wait}.product-card+.product-card{margin-top:12px}
#verification-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
#verification-actions .button{flex:0 0 auto;min-width:0;width:100%;min-height:44px}
.auth-intro h1{max-width:11ch;text-wrap:balance}
@media(max-width:860px){.auth-intro h1{max-width:none}}
@media(max-width:560px){#verification-actions{flex-direction:column;align-items:stretch;gap:8px}#verification-actions .button{flex:0 1 auto;width:100%}}

/* Keep the invitation entry focused on one step. */
.auth-view{max-width:460px;display:flex;flex-direction:column;gap:20px;min-height:0;align-items:stretch}
.auth-intro{text-align:center;padding:0}.auth-intro h1{font-size:2rem;max-width:none;margin:0 0 10px}.auth-intro .eyebrow{font-size:.65rem;margin-bottom:8px}.auth-intro>p:last-child{font-size:.85rem;margin:0 auto}
#auth-account{overflow-wrap:anywhere}#verification-actions{flex-direction:column}#verify-refresh{order:-1}#verify-logout{border:0;font-size:.8rem}.auth-footnote{line-height:1.6}
.form-section-title{margin:18px 0 11px;color:var(--club-gold-bright);font-size:.8rem;font-weight:700;letter-spacing:.06em}.field-group{border:1px solid var(--club-border);border-radius:10px;padding:12px 13px 2px;margin:0 0 17px}.field-group legend{padding:0 5px;color:var(--club-muted);font-size:.82rem}.field-group .field{margin-bottom:12px}.conditional-field[hidden]{display:none!important}.read-only-email{margin:0 0 16px;padding:10px 12px;border-radius:8px;background:var(--club-panel-2);color:var(--club-muted);font-size:.8rem;overflow-wrap:anywhere}

/* Keep the invitation entry free of marketing navigation. */
.site-header #site-nav{display:none}

.signup-profile details{margin:0 0 18px;font-size:.82rem;color:var(--club-muted)}.signup-profile details[open] summary{margin-bottom:14px}

.meetup-intro{margin:0 0 24px;padding:18px;border:1px solid var(--club-border);border-radius:12px;background:var(--club-panel-2)}.meetup-intro .eyebrow{margin-bottom:7px}.meetup-intro h2{margin:0 0 10px;font-size:1.18rem;color:var(--club-gold-bright)}.meetup-detail,.meetup-description,.meetup-fee{margin:6px 0;color:var(--club-muted);font-size:.82rem;line-height:1.65}.meetup-fee{color:var(--club-gold-bright);font-weight:700;font-size:.95rem}.meetup-description{white-space:pre-wrap}.meetup-map{margin:9px 0 0;font-size:.8rem}.meetup-agenda{margin-top:13px;color:var(--club-muted);font-size:.8rem}.meetup-agenda ol{margin:9px 0 0;padding-left:20px;line-height:1.7}.meetup-agenda small{margin-left:5px;color:var(--club-muted)}.meetup-retry{margin-top:2px;width:100%}

#profile-form .field-group,#profile-form .form-section-title,#profile-form .check-field{grid-column:1/-1}

/* Invitation artwork and registration share one quiet editorial layout. */
.auth-view:has(#meetup-intro:not([hidden])){max-width:1080px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:64px;align-items:start}
.auth-view:has(#meetup-intro:not([hidden])) .auth-intro{display:none}
#meetup-intro{padding:0;margin:0;background:transparent;border:0;border-radius:0;min-width:0}
.invitation-art{display:block;width:100%;height:auto}
.club-shell .invitation-cta{display:block;text-align:center;color:var(--club-gold-bright);border:1px solid var(--club-border);padding:15px 20px;margin-top:22px;text-decoration:none;font-size:.85rem;letter-spacing:.14em}
.invitation-details{margin-top:24px;color:var(--club-muted);font-size:.8rem;line-height:1.9}
.invitation-details>summary{cursor:pointer;padding:10px 0;color:var(--club-gold-bright);letter-spacing:.08em}
#meetup-title{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:1rem;font-weight:400;line-height:1.8;margin-top:22px}
#meetup-description{white-space:pre-line;line-height:2;font-weight:400}
#registration-card{scroll-margin-top:30px;border-radius:2px;box-shadow:none;padding:36px;background:transparent}
.registration-eyebrow{font-family:Georgia,serif;font-size:.68rem;letter-spacing:.22em;color:var(--club-gold-bright);margin:0 0 28px;text-align:center}
#registration-card .notice-info{background:transparent;border:0;padding:0;color:var(--club-muted);font-weight:400}
#registration-card .auth-tab{font-size:.8rem;font-weight:400}
#registration-card .field>span{font-weight:400;font-size:.78rem}
#registration-card input,#registration-card select,#registration-card textarea{border-radius:3px}
#registration-card .button-primary{border-radius:3px;box-shadow:none;font-weight:400}
@media(max-width:760px){.auth-view:has(#meetup-intro:not([hidden])){display:flex;max-width:520px;gap:36px}.club-shell:has(#meetup-intro:not([hidden])){padding-top:20px}#registration-card{padding:25px 20px}.invitation-details{padding:0 10px}}

/* 2026-09-19: public timeline on the first-gathering guide */
.event-timeline{margin-top:28px}.event-timeline h3{margin:4px 0 12px;font-size:1.05rem;font-weight:500}.event-timeline ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}.event-timeline li{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--club-border,rgba(197,164,91,.25))}.event-timeline-time{color:var(--club-gold-bright,#e2cf9a);font-variant-numeric:tabular-nums;letter-spacing:.04em}.event-timeline small{color:var(--club-muted,#9aa0a6);font-size:.78rem}

/* 2026-09-19: per-event cards, hero, archive tabs (Z-793/Z-794) */
.event-hero-img{display:block;width:100%;max-width:520px;margin:0 auto 24px;border-radius:6px}.event-back-link{display:inline-block;margin-bottom:16px;color:var(--club-gold-bright,#e2cf9a);text-decoration:none;font-size:.9rem}.event-public>.event-nav{margin-bottom:20px}.event-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.event-card{display:block;text-decoration:none;color:inherit;border:1px solid var(--club-border,rgba(197,164,91,.25));border-radius:6px;overflow:hidden;background:rgba(255,255,255,.02);transition:border-color .2s}.event-card:hover{border-color:var(--club-gold-bright,#e2cf9a)}.event-card img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover}.event-card-blank{aspect-ratio:2/3;background:linear-gradient(160deg,#1a2230,#0c1118)}.event-card-body{padding:14px 16px}.event-card-body h3{margin:0 0 6px;font-size:1rem;font-weight:500}.event-card-body p{margin:0;color:var(--club-muted,#9aa0a6);font-size:.85rem}.event-sub{margin:18px 0 10px;font-size:1rem;font-weight:500}.event-product-owner{color:var(--club-muted,#9aa0a6);font-size:.85rem;margin:0 0 6px}.event-media-grid{display:grid;gap:20px}.event-media h3{margin:4px 0 10px;font-size:1rem;font-weight:500}.event-media-frame{position:relative;aspect-ratio:16/9;background:#000;border-radius:6px;overflow:hidden;margin-bottom:10px}.event-media-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* 2026-09-19: participant photos (images only, private bucket + signed URLs) */
.event-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:12px}.event-photo{margin:0;position:relative;border:1px solid var(--club-border,rgba(197,164,91,.25));border-radius:6px;overflow:hidden;background:rgba(255,255,255,.02)}.event-photo img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.event-photo figcaption{padding:6px 8px;font-size:.75rem;color:var(--club-muted,#9aa0a6);line-height:1.5}.event-photo.is-hidden img{opacity:.35}.event-photo-delete{position:absolute;top:6px;right:6px;font-size:.7rem;padding:3px 8px;border-radius:3px;border:1px solid var(--club-border,rgba(197,164,91,.4));background:rgba(0,0,0,.6);color:#fff;cursor:pointer}.event-photo-grid.admin .button{margin:4px 6px 8px 0;font-size:.72rem}.event-upload{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:8px 0 6px}.event-upload-button{cursor:pointer}.event-upload .event-note{margin:0}.image-upload-preview{display:block;max-width:180px;border-radius:4px;margin:8px 0}.image-upload .button{cursor:pointer;display:inline-block}

/* 2026-09-19 13:10: layout for the public event page + participant portal (these classes had no rules before) */
.event-view{max-width:760px;margin:0 auto}
.club-shell:has(#event-view:not([hidden])){background:#071018}
.event-landscape{position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(7,16,24,.55) 0%,rgba(7,16,24,.78) 45%,rgba(7,16,24,.94) 100%),url('assets/ztt-club-landscape.png') center top/cover no-repeat}
.event-view{position:relative}
.event-view>*:not(.event-landscape){position:relative;z-index:1}
.event-heading{margin:0 0 24px}
.event-heading .eyebrow{margin:0 0 10px;font-size:.72rem;letter-spacing:.18em;color:var(--club-gold)}
.event-heading h1{margin:0 0 12px;font-size:2rem;font-weight:500;letter-spacing:.04em;line-height:1.25}
.event-heading h1 span{color:var(--club-gold-bright)}
.event-heading p{margin:0;color:var(--club-muted);line-height:1.8}
.event-public{display:flex;flex-direction:column;gap:20px}
.event-public .event-hero:empty{display:none}
.event-public>.event-nav{margin:0}
.event-nav{display:flex;flex-wrap:wrap;gap:8px}
.club-shell .event-nav button{appearance:none;background:transparent;border:1px solid var(--club-border);border-radius:999px;color:var(--club-text);padding:9px 16px;font-size:.88rem;font-weight:500;line-height:1;cursor:pointer;box-shadow:none;letter-spacing:.02em}
.club-shell .event-nav button:hover{border-color:var(--club-gold-bright);color:var(--club-gold-bright)}
.club-shell .event-nav button.is-active{background:rgba(197,164,91,.16);border-color:var(--club-gold-bright);color:var(--club-gold-bright)}
.event-summary,.event-register,.event-panel,.event-centered.panel{background:rgba(14,27,38,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--club-border);border-radius:var(--club-radius);padding:26px 28px;box-shadow:var(--club-shadow)}
.event-kicker,.event-step{margin:0 0 6px;font-size:.72rem;letter-spacing:.16em;color:var(--club-gold-bright)}
.event-summary h2,.event-register h2,.event-panel h3{margin:0 0 16px;font-size:1.3rem;font-weight:500;letter-spacing:.02em}
.event-summary p{margin:0 0 12px;line-height:1.8}
.event-date{font-size:1.1rem;font-weight:500}
.event-time{color:var(--club-gold-bright)}
.event-note{color:var(--club-muted);font-size:.9rem;line-height:1.9}
.event-lead{margin:0 0 18px;color:var(--club-muted);line-height:1.8}
.event-map-link{display:inline-block;margin:4px 0 8px;color:var(--club-cyan)}
.event-register form{display:grid;gap:16px}
.event-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.event-privacy{margin:14px 0 0;color:var(--club-muted);font-size:.8rem}
.event-people,.event-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.event-person,.event-product{margin:0;padding:16px 18px;border:1px solid var(--club-border);border-radius:10px;background:rgba(255,255,255,.02)}
.event-person h3,.event-product h3{margin:0 0 6px;font-size:1rem;font-weight:500}
.event-person p,.event-product p{margin:0 0 8px;color:var(--club-muted);font-size:.9rem;line-height:1.7}
.event-links a{display:inline-block;margin:4px 12px 0 0;font-size:.85rem;color:var(--club-cyan)}
.event-product a{font-size:.85rem;color:var(--club-cyan)}
.event-media{margin:0}
.event-portal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:0 0 18px}
.event-portal-head h2{margin:0;font-size:1.4rem;font-weight:500}
.event-portal .event-nav{margin:0 0 20px}
.event-content>section{display:flex;flex-direction:column;gap:14px}
.event-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.event-guide-grid h4{margin:0 0 6px;font-size:.78rem;letter-spacing:.12em;color:var(--club-gold-bright);font-weight:500}
.event-guide-grid p{margin:0;line-height:1.8}
.event-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px}
.event-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.event-form-grid .field-wide{grid-column:1/-1}
.event-join{margin-top:18px;padding-top:18px;border-top:1px solid var(--club-border)}
.event-centered{max-width:520px;margin:0 auto}
@media(max-width:760px){
  .club-shell .event-view{max-width:none}
  .event-heading h1{font-size:1.55rem}
  .event-summary,.event-register,.event-panel,.event-centered.panel{padding:18px 16px;border-radius:12px}
  .event-two-fields,.event-guide-grid,.event-form-grid{grid-template-columns:1fr}
  .event-people,.event-products{grid-template-columns:1fr}
  .club-shell .event-nav button{padding:8px 12px;font-size:.82rem}
  .event-portal-head{flex-direction:column}
}

/* 2026-09-19 13:40: spacing (宮地さん指摘＝部品間が近い) */
.button-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.data-table td .button-row,.data-table td .cell-actions{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.data-table td .button+.button{margin-left:6px}
.field>span{margin-bottom:8px}
.club-nav{gap:8px}
@media(pointer:coarse){.club-shell .button-small{min-height:44px;padding-top:11px;padding-bottom:11px}}

/* 2026-09-19 14:10: 共通 UI シェル（portal-ui-standard.css）の適用＝寸法・文字・角丸・間隔をトークンで揃える。色は CLUB ブランド（紺＋金）を維持（宮地さん「標準を適用」） */
.club-shell.portal-ui-standard{font-family:var(--portal-ui-font);font-size:var(--portal-ui-text-size)}
.club-shell.portal-ui-standard :is(.field input,.field select,.field textarea,.data-input){min-height:var(--portal-ui-control-height);padding:6px 10px;border-radius:var(--portal-ui-control-radius);font-size:var(--portal-ui-text-size)}
.club-shell.portal-ui-standard .field textarea{min-height:calc(var(--portal-ui-control-height) * 2.5)}
.club-shell.portal-ui-standard .field>span{margin-bottom:var(--portal-ui-label-gap);font-size:13px}
.club-shell.portal-ui-standard .button{min-height:var(--portal-ui-control-height);padding:6px 14px;border-radius:var(--portal-ui-control-radius);font-size:var(--portal-ui-text-size);font-weight:600;line-height:1.3}
.club-shell.portal-ui-standard .button-small{min-height:28px;padding:4px 10px;font-size:13px}
.club-shell.portal-ui-standard :is(.button-row,.form-actions,.admin-tabs,.event-nav){gap:var(--portal-ui-gap)}
.club-shell.portal-ui-standard .data-table td .button+.button{margin-left:var(--portal-ui-gap-tight)}
.club-shell.portal-ui-standard .club-nav{gap:var(--portal-ui-gap)}
.club-shell.portal-ui-standard .field{margin-bottom:var(--portal-ui-gap-section)}
.club-shell.portal-ui-standard :is(.panel,.event-summary,.event-register,.event-panel){padding:20px;border-radius:14px}
.club-shell.portal-ui-standard :is(.content-heading h2,.event-summary h2,.event-register h2,.event-panel h3,.event-portal-head h2){font-size:var(--portal-ui-section-size);line-height:1.4}
.club-shell.portal-ui-standard :is(#club-view h1,.event-heading h1){font-family:var(--portal-brand-title,inherit);font-size:var(--portal-ui-heading-size);line-height:1.4;letter-spacing:.06em}
.club-shell.portal-ui-standard :is(.event-note,.event-lead,.field-help,.event-privacy){color:var(--portal-ui-muted)}
.club-shell.portal-ui-standard .data-table th,.club-shell.portal-ui-standard .data-table td{padding:8px 10px;font-size:var(--portal-ui-text-size)}
@media(pointer:coarse){.club-shell.portal-ui-standard :is(.button,.button-small,.event-nav button,.club-nav-item){min-height:var(--portal-ui-touch-target)}}
@media(max-width:760px){.club-shell.portal-ui-standard :is(.panel,.event-summary,.event-register,.event-panel){padding:16px;border-radius:12px}}

/* 2026-09-19 14:30: form-grid の gap と .field の margin が二重（実測 30px）→ 節間 16px はグリッド gap に一本化 */
.club-shell.portal-ui-standard .form-grid{gap:var(--portal-ui-gap-section)}
.club-shell.portal-ui-standard .form-grid .field{margin-bottom:0}

/* 2026-09-19 15:40: 直感的な情報構造＝可視範囲バッジ・SNS アイコン・開催カード・プロフィールの見え方プレビュー */
.vis-line{display:flex;align-items:center;gap:10px;margin:0 0 14px;color:var(--club-muted);font-size:.85rem;line-height:1.6}
.vis-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid var(--club-border);font-size:.75rem;color:var(--club-gold-bright);white-space:nowrap;flex:0 0 auto}
.vis-badge svg{width:14px;height:14px}
.vis-private,.vis-operator{color:var(--club-muted)}
.sns-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.sns-links a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--club-border);border-radius:8px;color:var(--club-gold-bright)}
.sns-links a:hover{border-color:var(--club-gold-bright)}
.sns-links svg{width:18px;height:18px}
.member-card,.event-person{position:relative}
.me-badge{position:absolute;top:10px;right:10px;font-size:.7rem;padding:2px 8px;border-radius:999px;background:rgba(197,164,91,.18);color:var(--club-gold-bright);border:1px solid var(--club-gold)}
.member-card.is-me,.event-person.is-me{border-color:var(--club-gold)}
.member-product{color:var(--club-muted);font-size:.85rem}
.event-list{display:grid;gap:16px}
.event-card--rich{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:start}
.event-card-thumb img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:8px}
.event-card-main h3{margin:0 0 6px;font-size:1.1rem;font-weight:600}
.event-stats{display:flex;flex-wrap:wrap;gap:14px;margin:8px 0;color:var(--club-muted);font-size:.85rem}
.event-stats span{display:inline-flex;align-items:center;gap:6px}.event-stats svg{width:16px;height:16px;color:var(--club-gold-bright)}
.rsvp-row{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.rsvp-hint{margin:8px 0 0}
.form-actions--start{justify-content:flex-start}
.form-actions a.button{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.form-actions a.button svg{width:16px;height:16px}
.tab-count{display:inline-block;margin-left:6px;padding:0 7px;border-radius:999px;background:rgba(197,164,91,.18);color:var(--club-gold-bright);font-size:.72rem;line-height:1.6}
.event-rsvp{margin-bottom:0}
.profile-layout{display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:20px;align-items:start}
.profile-preview-col{position:sticky;top:16px}
@media(max-width:860px){.profile-layout{grid-template-columns:1fr}.profile-preview-col{position:static}.event-card--rich{grid-template-columns:110px 1fr;gap:12px}}

/* 2026-09-19 16:25: 開催カード内のボタン/リンクは旧 .event-card/.form-actions の全幅・色ルールを受けない */
.club-shell .event-card--rich{display:grid}
.club-shell .event-card--rich .rsvp-row .button,.club-shell .event-card--rich .form-actions .button{width:auto;flex:0 0 auto;min-width:0}
.club-shell .event-card--rich .form-actions{justify-content:flex-start;margin-top:12px}
.club-shell .event-card--rich a.button,.club-shell .event-card--rich a.button:hover{color:#071018;text-decoration:none}
.club-shell .event-card--rich .rsvp-row .button-ghost{background:transparent;color:var(--club-text)}
.club-shell .event-card--rich .rsvp-row .button-ghost:last-child,.club-shell .event-card--rich .rsvp-row .button-ghost:nth-child(3){background:transparent;color:var(--club-text)}

.club-shell .rsvp-row .button,.club-shell #event-rsvp .button{min-width:96px;justify-content:center;text-align:center}
