:root{--tc-red:#8f1831;--tc-red-dark:#6f1025;--tc-ink:#222;--tc-sub:#6d6a67;--tc-bg:#f5f3ef;--tc-card:#fff;--tc-line:#e7e2dc;--tc-green:#2f7d5c;--tc-radius:18px;--tc-shadow:0 4px 18px rgba(40,30,20,.06)}
.tc-card{background:var(--tc-card);border:1px solid var(--tc-line);border-radius:var(--tc-radius);box-shadow:var(--tc-shadow);padding:20px;margin:0 0 16px}.tc-center{text-align:center}.tc-page-head{margin:8px 0 20px}.tc-page-head h1{font-size:28px;margin:0 0 5px}.tc-page-head p{margin:0;color:var(--tc-sub)}
.tc-btn{appearance:none;border:0;border-radius:12px;background:var(--tc-red);color:#fff!important;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;font-weight:700;text-decoration:none;cursor:pointer}.tc-btn:hover{background:var(--tc-red-dark)}.tc-btn-outline{background:#fff;color:var(--tc-red)!important;border:1px solid var(--tc-red)}.tc-btn-block{width:100%}.tc-required{font-size:11px;color:#fff;background:var(--tc-red);padding:2px 6px;border-radius:5px;margin-left:5px}.tc-note{font-size:13px;color:var(--tc-sub);line-height:1.7}
.tc-form label,.tc-label{display:block;font-size:13px;font-weight:700;margin-bottom:15px}.tc-form input,.tc-form select,.tc-form textarea,.tc-member-search-form input,.tc-member-search-form select{box-sizing:border-box;width:100%;border:1px solid #d8d3cd;border-radius:10px;background:#fff;padding:12px 13px;margin-top:7px;font-family:inherit;font-size:16px;line-height:1.45;color:var(--tc-ink)}.tc-form textarea{resize:vertical}.tc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.tc-form-grid .tc-full{grid-column:1/-1}.tc-readonly{background:#f7f5f2;border-radius:10px;padding:12px;margin-top:7px;font-weight:500}.tc-check{display:flex!important;align-items:center;gap:8px}.tc-check input{width:auto!important;margin:0!important}.tc-alert{border-radius:10px;padding:12px 14px;margin:0 0 14px;font-size:14px}.tc-alert-success{background:#edf8f1;color:#216747}.tc-alert-error{background:#fff0f1;color:#9a1a2c}.tc-file-btn{display:inline-block;background:#f3efeb;padding:9px 12px;border-radius:10px;cursor:pointer}.tc-file-btn input{display:none}.tc-avatar-edit{display:flex;align-items:center;gap:16px;margin-bottom:20px}.tc-avatar-note{font-size:11px!important;font-weight:400;color:var(--tc-sub);margin:7px 0 0;line-height:1.5}.tc-avatar-img,.avatar{border-radius:50%;object-fit:cover;aspect-ratio:1/1;background:#f0ece8}
.tc-auth-wrap{max-width:460px;margin:25px auto}.tc-auth-brand{text-align:center;margin:0 0 24px}.tc-auth-brand h1{font-size:24px;margin:10px 0 2px}.tc-auth-brand p{font-size:12px;letter-spacing:.12em;color:var(--tc-sub)}.tc-brand-mark{margin:auto;width:58px;height:58px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:var(--tc-red);color:#fff;font-family:serif;font-size:30px}.tc-brand-mark-lg{width:82px;height:82px;border-radius:24px;font-size:42px}.tc-brand-logo{display:block;margin:0 auto;width:72px;height:72px;object-fit:cover;border-radius:18px}.tc-brand-logo-lg{width:104px;height:104px;border-radius:24px}.tc-auth-brand-compact{margin-bottom:16px}.tc-auth-brand-compact .tc-brand-logo{width:64px;height:64px;border-radius:16px}.tc-auth-links{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-top:15px}.tc-auth-links a{color:var(--tc-red)}
.tc-guest-home{text-align:center;padding:70px 20px}.tc-guest-home h1{margin:18px 0 5px}.tc-guest-home p{color:var(--tc-sub)}.tc-guest-actions{display:flex;justify-content:center;gap:10px;margin-top:25px}.tc-home-welcome{display:flex;align-items:center;justify-content:space-between;margin:5px 0 20px}.tc-home-welcome span{font-size:13px;color:var(--tc-sub)}.tc-home-welcome h1{font-size:24px;margin:2px 0}.tc-avatar-mini img{width:52px;height:52px}.tc-home-section{margin:0 0 28px}.tc-section-head{display:flex;align-items:flex-end;justify-content:space-between;margin:0 2px 10px}.tc-section-head h2{font-size:20px;margin:0}.tc-section-head a,.tc-section-head span{font-size:12px;color:var(--tc-red);text-decoration:none}
.tc-calendar{padding:14px}.tc-calendar-head{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 12px}.tc-calendar-head button{border:0;background:#f3efeb;border-radius:50%;width:34px;height:34px;font-size:22px}.tc-cal-week,.tc-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.tc-cal-week span{text-align:center;font-size:11px;color:var(--tc-sub);padding-bottom:6px}.tc-cal-cell{min-width:0;min-height:84px;border-top:1px solid var(--tc-line);padding:5px 3px;overflow:hidden}.tc-cal-day{font-size:11px;display:block}.tc-cal-event{display:-webkit-box;width:100%;min-width:0;max-width:100%;box-sizing:border-box;border:0;background:#efe8e1;color:#5f4c40;border-radius:5px;font-size:9px;line-height:1.3;text-align:left;padding:3px 4px;margin:3px 0;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.tc-cal-event.is-ms{background:#f7e7eb;color:var(--tc-red);font-weight:700}.tc-cal-cell:nth-child(7n+1) .tc-cal-day{color:#b94051}.tc-cal-cell:nth-child(7n) .tc-cal-day{color:#366b9a}
.tc-notice-list{padding:6px 18px}.tc-notice-item{display:grid;grid-template-columns:72px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--tc-line)}.tc-notice-item:last-child{border:0}.tc-notice-item time{font-size:11px;color:var(--tc-sub)}.tc-notice-item h3{font-size:15px;margin:0 0 5px}.tc-notice-item p{font-size:13px;line-height:1.6;margin:0}.tc-notice-item a{font-size:12px;color:var(--tc-red)}
.tc-compose summary{font-weight:700;color:var(--tc-red);cursor:pointer}.tc-compose[open] summary{margin-bottom:18px}.tc-feed-card{padding:0;overflow:hidden}.tc-feed-card header{padding:16px 16px 10px}.tc-feed-author{display:flex;gap:10px;align-items:center;color:inherit;text-decoration:none}.tc-feed-author img{width:48px;height:48px}.tc-feed-author strong{display:block;font-size:14px}.tc-feed-author small{display:block;font-size:11px;color:var(--tc-sub);margin-top:2px}.tc-feed-content{padding:0 16px 14px}.tc-feed-content h3{font-size:18px;margin:5px 0 8px}.tc-feed-content p{font-size:14px;line-height:1.75}.tc-feed-image img{display:block;width:100%;max-height:520px;object-fit:cover}.tc-feed-meta{display:flex;justify-content:space-between;padding:10px 16px;font-size:12px;color:var(--tc-sub)}.tc-feed-actions{display:grid;grid-template-columns:1fr 1fr .6fr;border-top:1px solid var(--tc-line);border-bottom:1px solid var(--tc-line)}.tc-feed-actions button,.tc-feed-actions a{border:0;background:#fff;color:#5e5a56;text-align:center;padding:11px 4px;font-weight:600;font-size:12px;text-decoration:none}.tc-feed-actions .is-liked{color:var(--tc-red)}.tc-comments{padding:12px 16px 4px}.tc-comment{display:flex;gap:8px;margin-bottom:10px}.tc-comment img{width:34px;height:34px}.tc-comment>div{background:#f5f3ef;border-radius:13px;padding:7px 10px;flex:1}.tc-comment strong{font-size:11px}.tc-comment p{font-size:12px;margin:2px 0;line-height:1.5}.tc-comment-form{display:flex;align-items:center;gap:7px;padding:8px 16px 14px}.tc-comment-form img{width:34px;height:34px}.tc-comment-form input{flex:1;border:0;background:#f3f1ee;border-radius:20px;padding:10px 13px;font-size:16px}.tc-comment-form button{border:0;background:none;color:var(--tc-red);font-weight:700}.tc-empty{text-align:center;color:var(--tc-sub);font-size:13px}
.tc-new-members{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.tc-new-members a{text-align:center;background:#fff;border:1px solid var(--tc-line);border-radius:15px;padding:12px 7px;text-decoration:none;color:var(--tc-ink)}.tc-new-members img{width:62px;height:62px}.tc-new-members strong{display:block;font-size:12px;margin-top:5px}.tc-new-members span{display:block;font-size:10px;color:var(--tc-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc-data-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tc-data-summary>div{background:#fff;border:1px solid var(--tc-line);border-radius:15px;text-align:center;padding:17px 8px}.tc-data-summary strong{display:block;font-size:28px;color:var(--tc-red)}.tc-data-summary span{font-size:11px;color:var(--tc-sub)}.tc-data-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:15px;margin-top:16px}.tc-bars{display:flex;flex-direction:column;gap:13px}.tc-bar-row>div:first-child{display:flex;justify-content:space-between;font-size:12px}.tc-bar-row b{font-size:11px}.tc-bar{height:8px;background:#eee9e4;border-radius:8px;overflow:hidden;margin-top:5px}.tc-bar i{display:block;height:100%;background:var(--tc-red);border-radius:8px}
.tc-member-search-form{display:grid;grid-template-columns:1fr 180px auto;gap:8px}.tc-member-search-form input,.tc-member-search-form select{margin:0}.tc-result-count{font-size:12px;color:var(--tc-sub)}.tc-member-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tc-member-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--tc-line);border-radius:15px;padding:13px;text-decoration:none;color:var(--tc-ink)}.tc-member-card img{width:72px;height:72px}.tc-member-card h3{font-size:15px;margin:0 0 3px}.tc-member-card p{font-size:12px;margin:0 0 4px}.tc-member-card span{font-size:10px;color:var(--tc-sub)}
.tc-profile-hero{display:flex;align-items:center;gap:22px}.tc-profile-avatar img{width:130px;height:130px}.tc-profile-main h1{font-size:28px;margin:5px 0 0}.tc-kana{font-size:12px;color:var(--tc-sub);margin:2px 0 10px}.tc-company{font-weight:700}.tc-badge{display:inline-flex;border-radius:999px;padding:4px 9px;background:#f4e4e8;color:var(--tc-red);font-size:10px;font-weight:700}.tc-badge-light{background:#eeeae6;color:#6c635b}.tc-profile-list>div{display:grid;grid-template-columns:150px 1fr;padding:11px 0;border-bottom:1px solid var(--tc-line)}.tc-profile-list>div:last-child{border:0}.tc-profile-list dt{font-size:12px;color:var(--tc-sub)}.tc-profile-list dd{margin:0;font-size:14px;line-height:1.7}.tc-contact-actions{display:flex;flex-wrap:wrap;gap:8px}.tc-contact-actions a{padding:8px 12px;border-radius:999px;background:#f3efeb;color:var(--tc-red);text-decoration:none;font-size:12px}.tc-report-link{display:block;text-align:center;color:#8b8179;font-size:12px;margin:20px}
.tc-hobby-tabs{display:flex;overflow:auto;gap:7px;margin:0 0 15px;padding-bottom:3px}.tc-hobby-tabs a{white-space:nowrap;text-decoration:none;color:#5e5a56;background:#fff;border:1px solid var(--tc-line);border-radius:999px;padding:9px 15px;font-size:12px}.tc-hobby-tabs a.is-active{background:var(--tc-red);color:#fff;border-color:var(--tc-red)}.tc-hobby-post p{font-size:14px;line-height:1.7}
.tc-modal{display:none;position:fixed;inset:0;z-index:99999;align-items:center;justify-content:center;padding:18px}.tc-modal.is-open{display:flex}.tc-modal-bg{position:absolute;inset:0;background:rgba(20,15,15,.6)}.tc-modal-panel{position:relative;background:#fff;width:min(540px,100%);max-height:82vh;overflow:auto;border-radius:20px;padding:24px}.tc-modal-close{position:absolute;right:10px;top:10px;width:34px;height:34px;border:0;border-radius:50%;background:#eee;font-size:20px}.tc-event-detail>div{display:grid;grid-template-columns:60px 1fr;padding:7px 0;border-bottom:1px solid var(--tc-line)}.tc-event-detail dt{font-size:11px;color:var(--tc-sub)}.tc-event-detail dd{margin:0;font-size:13px}.tc-event-body{font-size:14px;line-height:1.7;margin:15px 0}.tc-rsvp{border-top:1px solid var(--tc-line);margin-top:18px;padding-top:15px}.tc-rsvp-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.tc-rsvp-buttons button{border:1px solid var(--tc-line);background:#fff;border-radius:10px;padding:9px}.tc-rsvp-buttons button.is-active{background:var(--tc-red);border-color:var(--tc-red);color:#fff}.tc-rsvp-msg{font-size:11px;color:var(--tc-sub)}
.tc-image-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px}.tc-image-lightbox img{max-width:100%;max-height:92vh}.tc-image-lightbox button{position:absolute;right:18px;top:18px;border:0;background:#fff;width:38px;height:38px;border-radius:50%;font-size:22px}.tc-install-banner{position:fixed;left:50%;transform:translateX(-50%);bottom:84px;z-index:9999;width:min(92%,500px);background:#26211e;color:#fff;border-radius:15px;padding:12px 14px;box-shadow:0 10px 30px rgba(0,0,0,.25);display:flex;justify-content:space-between;gap:10px;align-items:center}.tc-install-banner[hidden]{display:none}.tc-install-banner button{border:0;background:#fff;color:var(--tc-red);border-radius:10px;padding:9px 12px;font-weight:700;white-space:nowrap}
@media(max-width:760px){.tc-card{padding:16px;border-radius:16px}.tc-form-grid{grid-template-columns:1fr}.tc-page-head h1{font-size:24px}.tc-data-grid{grid-template-columns:1fr}.tc-member-grid{grid-template-columns:1fr}.tc-member-search-form{grid-template-columns:1fr}.tc-new-members{grid-template-columns:repeat(3,1fr)}.tc-profile-hero{align-items:flex-start}.tc-profile-avatar img{width:96px;height:96px}.tc-profile-main h1{font-size:22px}.tc-profile-list>div{grid-template-columns:95px 1fr}.tc-cal-cell{min-height:68px;padding:3px 2px}.tc-cal-event{font-size:8px;padding:2px}.tc-notice-item{grid-template-columns:64px 1fr}.tc-sticky-submit{position:sticky;bottom:72px;z-index:20;box-shadow:0 6px 20px rgba(0,0,0,.2)}}
.tc-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.tc-gallery-wrap{position:relative}.tc-gallery-item{display:block;aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:#eee}.tc-gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.tc-download{position:absolute;right:5px;bottom:5px;background:rgba(255,255,255,.92);color:var(--tc-red);font-size:10px;text-decoration:none;padding:4px 7px;border-radius:8px}.tc-album-desc{font-size:13px;color:var(--tc-sub);margin-bottom:12px}.tc-newsletter{overflow:hidden}.tc-newsletter-cover{width:100%;max-height:360px;object-fit:cover;border-radius:12px;margin-bottom:12px}.tc-newsletter .tc-btn{margin:5px 5px 0 0}.tc-pdf-modal{display:none;position:fixed;inset:0;z-index:100001;padding:12px;align-items:center;justify-content:center}.tc-pdf-modal.is-open{display:flex}.tc-pdf-bg{position:absolute;inset:0;background:rgba(0,0,0,.88)}.tc-pdf-panel{position:relative;width:min(1100px,100%);height:min(92vh,900px);background:#2d2927;border-radius:18px;padding:46px 14px 56px;overflow:hidden}.tc-pdf-close{position:absolute;right:12px;top:10px;z-index:5;border:0;border-radius:50%;width:34px;height:34px;font-size:21px}.tc-pdf-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff}.tc-flipbook{width:100%;height:100%;margin:auto}.tc-pdf-sheet{background:white}.tc-pdf-sheet canvas{width:100%;height:100%;object-fit:contain;display:block}.tc-pdf-controls{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:12px;align-items:center;color:#fff}.tc-pdf-controls button{border:0;border-radius:9px;padding:8px 12px}.tc-pdf-fallback{overflow:auto;display:flex;gap:10px}.tc-pdf-fallback .tc-pdf-sheet{min-width:85%}
@media(max-width:760px){.tc-gallery{grid-template-columns:repeat(3,1fr)}.tc-pdf-panel{height:88vh;border-radius:12px;padding-left:8px;padding-right:8px}.tc-newsletter .tc-btn{width:100%;margin:5px 0}}

/* v0.2.0 幹事ルーム */
.tc-officer-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.tc-officer-head .tc-badge{margin-bottom:7px}.tc-officer-compose{border:1px solid rgba(143,24,49,.15);background:linear-gradient(180deg,#fff,#fffaf9)}.tc-officer-compose summary{cursor:pointer;font-weight:800;color:var(--tc-red);list-style:none}.tc-officer-compose summary::-webkit-details-marker{display:none}.tc-officer-compose[open] summary{margin-bottom:15px}.tc-officer-card{border-top:3px solid rgba(143,24,49,.75)}.tc-officer-lock{margin-left:auto;align-self:flex-start;white-space:nowrap}.tc-officer-files{display:flex;flex-direction:column;gap:7px;margin:14px 0;padding:12px;border-radius:14px;background:#f7f3f0}.tc-officer-files>strong{font-size:12px;color:var(--tc-sub);margin-bottom:2px}.tc-officer-files a{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;padding:10px;background:#fff;border:1px solid var(--tc-line);border-radius:11px;text-decoration:none;color:#332e2a}.tc-officer-files a>span:first-child{font-size:19px}.tc-officer-files a>span:nth-child(2){min-width:0;font-size:12px;font-weight:700;overflow-wrap:anywhere}.tc-officer-files a small{display:block;color:var(--tc-sub);font-weight:400;margin-top:2px}.tc-officer-files a b{font-size:11px;color:var(--tc-red)}.tc-btn-small{padding:8px 12px;font-size:11px}.tc-officer-denied{text-align:center;padding:32px 20px}.tc-officer-denied h2{margin-top:0}.tc-officer-comment{margin-top:10px}
@media(max-width:760px){.tc-officer-lock{font-size:9px}.tc-officer-files a{grid-template-columns:24px 1fr auto}.tc-officer-compose{padding:15px}.tc-officer-card{padding:15px}}

/* v0.3.0 コミュてん：幹事向け朝礼・MS役割分担表 */
.tc-officer-role-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;border-left:4px solid var(--tc-red);background:linear-gradient(135deg,#fff,#fff8f7)}.tc-officer-role-banner h2{margin:5px 0 4px;font-size:20px}.tc-officer-role-banner p{margin:0;color:var(--tc-sub);font-size:13px}.tc-role-sheet-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tc-role-sheet-list{display:flex;flex-direction:column;gap:12px}.tc-role-sheet-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0}.tc-role-sheet-card h2{font-size:18px;margin:8px 0 4px}.tc-role-sheet-card p{margin:0;color:var(--tc-sub);font-size:13px}.tc-role-sheet-detail{overflow:hidden}.tc-role-front-table{width:100%;border-collapse:collapse;table-layout:fixed;margin-bottom:18px}.tc-role-front-table th,.tc-role-front-table td{border:1px solid var(--tc-line);padding:12px 10px;vertical-align:middle;font-size:14px}.tc-role-front-table th{width:26%;background:#faf8f6;text-align:center}.tc-role-front-table td{width:37%;word-break:break-word}.tc-back-link{color:var(--tc-red);text-decoration:none;font-size:13px}
@media(max-width:760px){.tc-officer-role-banner,.tc-role-sheet-card{align-items:stretch;flex-direction:column}.tc-role-sheet-actions{width:100%}.tc-role-sheet-actions .tc-btn{flex:1;min-width:0;padding-left:10px;padding-right:10px}.tc-role-front-table th,.tc-role-front-table td{padding:9px 6px;font-size:12px}.tc-role-front-table th{width:31%}.tc-role-front-table td{width:34.5%}}

/* v0.3.1: 2〜3ヶ月の配役予定表 */
.tc-role-plan-section{margin:0 0 26px}.tc-role-plan-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 10px}.tc-role-plan-section-head h2,.tc-role-sheet-list-heading h2{font-size:20px;margin:6px 0 3px}.tc-role-plan-section-head p,.tc-role-sheet-list-heading p{font-size:12px;color:var(--tc-sub);margin:0}.tc-role-sheet-list-heading{margin:26px 0 10px}.tc-role-plan-front-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:18px}.tc-role-plan-front-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed}.tc-role-plan-front-table th{background:#bdbdbd;color:#222;font-size:12px;text-align:center;padding:11px 7px;border-bottom:2px solid #555}.tc-role-plan-front-table th:first-child{width:13%}.tc-role-plan-front-table td{font-size:12px;text-align:center;padding:10px 7px;border-bottom:1px solid var(--tc-line);word-break:break-word}.tc-role-plan-front-table tbody tr:nth-child(even){background:#faf9f7}.tc-role-plan-front-table .tc-plan-off-print{font-weight:700;letter-spacing:.08em}.tc-role-plan-detail{overflow:hidden}

/* iPhone Safari: date/month の固有最小幅でフォームからはみ出すのを防止 */
.tc-form-grid>label,.tc-form-grid>div{min-width:0}.tc-form input[type="date"],.tc-form input[type="month"]{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;font-size:16px}
@media(max-width:760px){.tc-form input[type="date"],.tc-form input[type="month"]{width:100%;min-width:0;max-width:100%;overflow:hidden}.tc-role-plan-section-head{align-items:flex-start;flex-direction:column}.tc-role-plan-front-table{min-width:700px}.tc-role-plan-front-table th,.tc-role-plan-front-table td{font-size:11px;padding:9px 5px}}

/* v0.3.2: 天神へのご意見・相談 */
.tc-feedback-intro{padding:14px 16px;border-radius:12px;background:#f7f2ee;margin-bottom:18px}.tc-feedback-intro strong{display:block;margin-bottom:5px}.tc-feedback-intro p{margin:0;color:var(--tc-sub);font-size:13px;line-height:1.7}.tc-feedback-mode{border:1px solid var(--tc-line);border-radius:12px;padding:14px 16px;margin:0 0 18px}.tc-feedback-mode legend{font-weight:700;padding:0 6px}.tc-feedback-mode>label{display:inline-flex;align-items:center;gap:6px;margin:6px 18px 6px 0}.tc-feedback-mode input[type=radio],.tc-feedback-reply input[type=checkbox]{width:auto;min-height:0}.tc-feedback-reply{display:flex!important;align-items:center;gap:8px}.tc-download-photo{appearance:none;-webkit-appearance:none;border:0;cursor:pointer;font:inherit}.tc-download-photo:disabled{opacity:.6;cursor:wait}
.tc-role-plan-section-table>h3{font-size:17px;margin:6px 0 8px}.tc-role-plan-section-table+.tc-role-plan-section-table{margin-top:24px}.tc-role-plan-morning .tc-role-plan-front-table{min-width:850px}


/* v0.3.5: 顔写真トリミング / Safariフォーム / 活動報告 */
.tc-avatar-preview-wrap{flex:0 0 auto}
.tc-avatar-profile-preview{width:120px!important;height:120px!important;display:block}
.tc-avatar-crop-modal{display:none;position:fixed;inset:0;z-index:100200;align-items:center;justify-content:center;padding:18px}
.tc-avatar-crop-modal.is-open{display:flex}
.tc-avatar-crop-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.76)}
.tc-avatar-crop-panel{position:relative;z-index:2;width:min(440px,100%);background:#fff;border-radius:20px;padding:22px;box-shadow:0 18px 60px rgba(0,0,0,.25)}
.tc-avatar-crop-panel h2{margin:0 36px 5px 0;font-size:21px}
.tc-avatar-crop-panel>p{margin:0 0 14px;color:var(--tc-sub);font-size:12px;line-height:1.6}
.tc-avatar-crop-close{position:absolute;right:14px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:#f2efeb;font-size:22px;cursor:pointer}
.tc-avatar-crop-stage{position:relative;width:min(320px,76vw);height:min(320px,76vw);margin:0 auto 15px;overflow:hidden;background:#ddd;touch-action:none;cursor:grab;border-radius:50%;box-shadow:0 0 0 4px #fff,0 0 0 6px var(--tc-red)}
.tc-avatar-crop-stage:active{cursor:grabbing}
.tc-avatar-crop-stage img{position:absolute;max-width:none!important;user-select:none;-webkit-user-drag:none;pointer-events:none}
.tc-avatar-zoom-label{display:block!important;margin:0!important;font-size:12px!important}
.tc-avatar-zoom-label input[type=range]{padding:0;margin:8px 0 0;border:0}
.tc-avatar-crop-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
body.tc-crop-open{overflow:hidden}
.tc-contact-chip{padding:8px 12px;border-radius:999px;background:#f3efeb;color:var(--tc-red);font-size:12px}

.tc-like-people{position:relative;max-width:72%}
.tc-like-people summary{cursor:pointer;list-style:none}
.tc-like-people summary::-webkit-details-marker{display:none}
.tc-like-people-list{position:static;margin-top:7px;min-width:180px;max-width:min(300px,80vw);padding:8px;background:#f8f5f2;border:1px solid var(--tc-line);border-radius:10px}
.tc-like-people-list a,.tc-like-people-list span{display:block;padding:5px 7px;color:var(--tc-ink);text-decoration:none;font-size:12px;white-space:normal}
.tc-like-people-list a:hover{background:#f7f4f1;border-radius:7px}
.tc-like-empty{color:var(--tc-sub)!important}
.tc-comments-more{appearance:none;border:0;background:none;color:var(--tc-sub);padding:0 0 10px;font-size:12px;font-weight:700;cursor:pointer}
.tc-comments-older[hidden]{display:none!important}
.tc-feed-actions{grid-template-columns:1fr 1fr}
.tc-comment-count{white-space:nowrap;padding-top:1px}
.tc-feed-meta{align-items:flex-start}

.tc-form-grid>label,.tc-form-grid>div{min-width:0;max-width:100%}
.tc-form input[type="date"],.tc-form input[type="month"]{
  display:block!important;
  inline-size:100%!important;
  width:100%!important;
  min-inline-size:0!important;
  min-width:0!important;
  max-inline-size:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.tc-form input[type="date"]::-webkit-date-and-time-value,
.tc-form input[type="month"]::-webkit-date-and-time-value{min-width:0;text-align:left}
.tc-form input[type="date"]::-webkit-datetime-edit,
.tc-form input[type="month"]::-webkit-datetime-edit{min-width:0;padding:0}

.tc-role-pdf-update{font-size:11px;color:var(--tc-sub);margin-top:6px}
.tc-role-pdf-box{padding:12px;border-radius:12px;background:#f7f3f0;margin:12px 0}
.tc-role-pdf-box strong{display:block;margin-bottom:5px}
.tc-role-pdf-frame{width:100%;height:72vh;border:1px solid var(--tc-line);border-radius:12px;background:#eee}

@media(max-width:760px){
  .tc-avatar-edit{align-items:flex-start}
  .tc-avatar-profile-preview{width:96px!important;height:96px!important}
  .tc-avatar-crop-panel{padding:18px 14px}
  .tc-form-grid>label{overflow:hidden}
  .tc-form input[type="date"],.tc-form input[type="month"]{
    inline-size:calc(100vw - 72px)!important;
    width:calc(100vw - 72px)!important;
    max-inline-size:100%!important;
    max-width:100%!important;
  }
  .tc-role-pdf-frame{height:65vh}
}

/* v0.3.6: お知らせ5行 / カレンダー種別 / 毎週の役割PDF */
.tc-notice-body{font-size:13px;line-height:1.7;white-space:normal;overflow-wrap:anywhere}
.tc-notice-body.is-collapsed{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;overflow:hidden}
.tc-notice-toggle{appearance:none;border:0;background:none;color:var(--tc-red);padding:7px 0 0;font-size:12px;font-weight:700;cursor:pointer}
.tc-notice-external{display:inline-block;margin-top:7px}
.tc-cal-event.is-member-event{background:#eee8df;color:#5f4c40}
.tc-cal-event.is-officer-event{background:#ece8f6;color:#57447f;font-weight:700}
.tc-event-detail dd{white-space:normal;overflow-wrap:anywhere;line-height:1.6}

.tc-role-sheet-files{min-width:min(520px,48vw);display:flex;flex-direction:column;gap:8px}
.tc-role-sheet-files-detail{min-width:0;margin-bottom:18px}
.tc-role-file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--tc-line);border-radius:12px;background:#faf8f6}
.tc-role-file-row>div{min-width:0}
.tc-role-file-row strong{display:block;font-size:13px;color:var(--tc-ink)}
.tc-role-file-row small{display:block;margin-top:3px;font-size:10px;color:var(--tc-sub)}
.tc-role-file-row .tc-btn{min-height:38px;padding:0 14px;font-size:12px;white-space:nowrap}
.tc-role-file-missing{font-size:11px;color:var(--tc-sub);white-space:nowrap}

@media(max-width:760px){
  .tc-role-sheet-files{width:100%;min-width:0}
  .tc-role-file-row{align-items:flex-start;flex-direction:column}
  .tc-role-file-row .tc-btn{width:100%}
}

/* v0.3.7: 見やすさ / 会員検索 / MS / アンケート / 法務ページ */
.tc-home-welcome{gap:14px}
.tc-welcome-hello{display:block;font-size:13px!important;color:var(--tc-sub)}
.tc-welcome-roles{display:flex;align-items:center;gap:6px;margin:4px 0 2px}
.tc-welcome-roles span,.tc-welcome-roles strong{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:10px!important;line-height:1;color:var(--tc-red)!important;background:#f7e7eb;font-weight:700}
.tc-welcome-roles strong{background:#8f1831;color:#fff!important}
.tc-home-welcome h1{font-size:25px;margin:2px 0 0;line-height:1.2}
.tc-home-welcome h1 small{font-size:.52em;font-weight:600;margin-left:4px;color:var(--tc-sub)}

/* 年配層でも読みやすいカレンダー */
.tc-cal-event{font-size:11px;line-height:1.35;padding:4px 5px;border-radius:6px}
.tc-cal-day{font-size:12px}.tc-cal-week span{font-size:12px}.tc-calendar-head strong{font-size:18px}

.tc-new-members a{min-width:0;overflow:hidden}
.tc-new-members small{display:block;margin-top:3px;font-size:9px;color:var(--tc-red);line-height:1.3}

.tc-industry-shortcuts{margin:22px 0 18px}
.tc-industry-shortcuts h2{font-size:18px;margin:0 0 10px}
.tc-industry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.tc-industry-card{display:flex;min-width:0;min-height:110px;padding:11px 8px;border:1px solid var(--tc-line);border-radius:14px;background:#fff;text-decoration:none;color:var(--tc-ink);flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;transition:.15s}
.tc-industry-card:hover,.tc-industry-card.is-active{border-color:var(--tc-red);box-shadow:0 4px 18px rgba(143,24,49,.08)}
.tc-industry-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#f7f1ed;font-size:22px;line-height:1}
.tc-industry-card strong{font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.tc-industry-card small{font-size:9px;color:var(--tc-sub)}

/* モーニングセミナー */
.tc-ms-hero{display:grid;grid-template-columns:minmax(220px,34%) 1fr;gap:28px;align-items:center}
.tc-ms-photo img{display:block;width:100%;border-radius:18px;object-fit:cover;aspect-ratio:1/1}
.tc-ms-greeting h2{font-size:30px;margin:12px 0 4px;color:var(--tc-red)}
.tc-ms-greeting h3{font-size:17px;margin:0 0 15px;line-height:1.55}
.tc-ms-greeting p,.tc-ms-about p{font-size:14px;line-height:1.9;color:#423c38}
.tc-ms-about,.tc-ms-info{margin-top:18px}
.tc-ms-points{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.tc-ms-points>div{padding:16px;border-radius:14px;background:#f7f3f0;text-align:center}
.tc-ms-points strong{display:block;color:var(--tc-red);font-size:16px;margin-bottom:5px}
.tc-ms-points span{font-size:11px;color:var(--tc-sub);line-height:1.5}
.tc-ms-info dl{margin:0}.tc-ms-info dl>div{display:grid;grid-template-columns:100px 1fr;gap:16px;padding:13px 0;border-top:1px solid var(--tc-line)}.tc-ms-info dt{font-weight:700}.tc-ms-info dd{margin:0;line-height:1.6}
.tc-ms-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}

/* 会員アンケート */
.tc-survey-intro{margin-bottom:16px}.tc-survey-intro strong{font-size:16px}.tc-survey-intro p{font-size:12px;line-height:1.7;color:var(--tc-sub)}.tc-survey-intro small{font-size:10px;color:var(--tc-red)}
.tc-survey-section{margin-bottom:16px}.tc-survey-section h2{font-size:20px;margin:0 0 18px}
.tc-survey-field{border:0;padding:0;margin:0 0 24px;min-width:0}.tc-survey-field:last-child{margin-bottom:0}.tc-survey-field legend{width:100%;font-size:13px;font-weight:700;margin-bottom:10px;line-height:1.5}
.tc-required,.tc-optional{display:inline-block;margin-left:7px;padding:2px 6px;border-radius:999px;font-size:9px;vertical-align:1px}.tc-required{background:#8f1831;color:#fff}.tc-optional{background:#eee9e4;color:#716861}
.tc-survey-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tc-survey-options label{display:flex!important;align-items:flex-start;gap:8px;margin:0!important;padding:10px 11px;border:1px solid var(--tc-line);border-radius:11px;background:#fff;font-size:12px!important;font-weight:500!important;line-height:1.45;cursor:pointer}
.tc-survey-options input{width:auto!important;margin:2px 0 0!important;flex:0 0 auto}.tc-survey-options span{min-width:0}
.tc-survey-field textarea{margin-top:0!important;min-height:116px}
.tc-survey-save{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom) + 10px);z-index:550;margin-top:4px;box-shadow:0 8px 26px rgba(0,0,0,.16)}

/* プロフィール保存ボタン：下部固定ナビより常に上 */
.tc-sticky-submit{bottom:calc(72px + env(safe-area-inset-bottom) + 10px)!important;z-index:550!important;margin-bottom:8px}

/* 個人情報保護方針 / 利用規約 */
.tc-legal{background:#fff;border:1px solid var(--tc-line);border-radius:18px;padding:28px;line-height:1.85}.tc-legal h1{font-size:28px;margin:0 0 5px}.tc-legal h2{font-size:18px;margin:28px 0 8px}.tc-legal p,.tc-legal li{font-size:13px}.tc-legal ul{padding-left:1.4em}.tc-legal-updated{font-size:10px!important;color:var(--tc-sub);margin-top:0!important}

@media(max-width:760px){
  .tc-cal-cell{min-height:76px}.tc-cal-event{font-size:10px!important;padding:3px 4px!important;line-height:1.35}
  .tc-new-members{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tc-new-members a{padding:11px 5px}.tc-new-members img{width:58px;height:58px}.tc-new-members strong{font-size:11px}.tc-new-members span{font-size:9px}
  .tc-industry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.tc-industry-card{min-height:104px;padding:9px 5px}.tc-industry-icon{width:36px;height:36px;font-size:20px}.tc-industry-card strong{font-size:10px}
  .tc-ms-hero{grid-template-columns:1fr;gap:18px}.tc-ms-photo{max-width:260px;margin:0 auto}.tc-ms-greeting h2{font-size:25px}.tc-ms-points{grid-template-columns:1fr}.tc-ms-info dl>div{grid-template-columns:80px 1fr;gap:10px}.tc-ms-actions .tc-btn{width:100%}
  .tc-survey-options{grid-template-columns:1fr}.tc-survey-section{padding:17px}.tc-survey-field legend{font-size:14px}.tc-survey-options label{font-size:13px!important;padding:11px}
  .tc-legal{padding:20px 17px}.tc-legal h1{font-size:24px}.tc-legal h2{font-size:17px}
  .tc-form input[type="date"],.tc-form input[type="month"]{display:block!important;width:100%!important;inline-size:100%!important;min-width:0!important;min-inline-size:0!important;max-width:100%!important;max-inline-size:100%!important;box-sizing:border-box!important;-webkit-appearance:none;appearance:none;background:#fff;overflow:hidden}
  .tc-form input[type="date"]::-webkit-date-and-time-value,.tc-form input[type="month"]::-webkit-date-and-time-value{min-width:0!important;width:100%!important;text-align:left!important}
}

@media(max-width:420px){
  .tc-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tc-home-welcome h1{font-size:23px}
}
