:root{--paper: #FBFAF7;--paper-2: #F4F2EC;--paper-3: #ECE9E0;--surface: #FFFFFF;--ink: #23282D;--ink-2: #525A62;--ink-3: #6B727A;--rule: #E4E0D6;--rule-strong: #CFC9BB;--accent: #0F6156;--accent-hover: #0B4B43;--accent-ink: #FFFFFF;--accent-soft: #E3EEEB;--accent-text: #0B4B43;--warn-text: #8A5300;--warn-bg: #FBEED2;--ok-text: #3F5A46;--ok-bg: #E7EFE7;--danger-text: #A5341F;--danger-bg: #FBEBE6;--shadow-card: 0 1px 2px rgba(20, 24, 28, .05);--shadow-float: 0 8px 24px -8px rgba(20, 24, 28, .16);--radius: 8px;color:var(--ink);background:var(--paper);font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{border:0;border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);cursor:pointer;font-weight:700;min-height:42px;padding:.7rem 1rem}button:where(:hover:not(:disabled)){background:var(--accent-hover)}button.secondary{background:var(--surface);border:1px solid var(--rule-strong);color:var(--ink)}button.secondary:where(:hover:not(:disabled)){background:var(--paper-2)}button.ghost{background:transparent;border:1px solid var(--rule-strong);color:var(--ink-2)}button.ghost:where(:hover:not(:disabled)){background:var(--paper-2)}button.ghost.danger{border-color:var(--danger-bg);color:var(--danger-text)}button.text-danger{background:transparent;color:var(--danger-text);min-height:auto;padding:.25rem .4rem;text-decoration:underline;text-underline-offset:3px}button:disabled{background:var(--paper-3);border-color:var(--paper-3);color:var(--ink-3);cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{border:1px solid var(--rule-strong);border-radius:var(--radius);color:var(--ink);min-height:44px;padding:.7rem .8rem;width:100%}textarea{min-height:92px;resize:vertical}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.2rem,8vw,5.5rem);line-height:.98;max-width:9ch}h2{font-size:1.25rem;margin-bottom:.75rem}h3{color:var(--ink-2);font-size:1rem;margin-bottom:.55rem}.app-shell{display:grid;gap:1rem;margin:0 auto;max-width:1200px;padding:1rem}.hero{align-items:end;background:var(--accent);border-radius:var(--radius);color:var(--accent-ink);display:grid;gap:1.5rem;min-height:360px;padding:1.2rem}.eyebrow{color:var(--accent-soft);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.account-card,.panel,.notice,.empty-state,.phone-screen{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-card)}.account-card{color:var(--ink);display:grid;gap:.7rem;padding:1rem}.badge,.status-pill{align-self:start;background:var(--ok-bg);border-radius:999px;color:var(--ok-text);display:inline-flex;font-size:.78rem;font-weight:700;padding:.28rem .62rem;width:max-content}.status-pill.draft{background:var(--warn-bg);color:var(--warn-text)}.status-pill.published{background:var(--ok-bg)}.status-pill.cancelled{background:var(--danger-bg);color:var(--danger-text)}.demo-login,.account-actions,.card-actions{display:flex;flex-wrap:wrap;gap:.5rem}.demo-login button,.account-actions button{flex:1 1 auto}.mini-form{display:grid;gap:.5rem;grid-template-columns:1fr auto}.mini-form:has(>.line-login){grid-template-columns:1fr}.line-login{background:#06c755;border:none;color:#fff;font-weight:700;padding:.85rem 1rem}.line-login:hover:not(:disabled){background:#05b34c}.line-login:disabled{background:#9ad9b4}.notice{border-left:6px solid var(--warn-text);display:grid;gap:.15rem;padding:.9rem 1rem}.notice.busy{background:var(--warn-bg);border-left-color:var(--warn-text)}.notice.success{background:var(--ok-bg);border-left-color:var(--ok-text)}.notice.error{background:var(--danger-bg);border-left-color:var(--danger-text)}.view-tabs{background:var(--paper-2);border-radius:var(--radius);display:grid;gap:.35rem;padding:.35rem}.view-tabs button{background:transparent;color:var(--ink-2)}.view-tabs button:where(:hover:not(:disabled)){background:var(--paper-3);color:var(--ink-2)}.view-tabs button.active{background:var(--surface);box-shadow:var(--shadow-card);color:var(--accent)}.screen-grid,.admin-layout{display:grid;gap:1rem}.panel,.empty-state,.phone-screen{min-width:0;padding:1rem}.public-info{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink-2);display:grid;gap:.35rem;padding:.9rem 1rem}.public-info p{margin:0}.public-info a,.legal-document a{color:var(--accent);font-weight:700}.org-setup{display:grid;gap:1rem}.org-row{align-items:center;background:var(--surface);border:1px solid var(--rule-strong);color:var(--ink);display:flex;justify-content:space-between;text-align:left}.org-row:where(:hover:not(:disabled)){background:var(--paper-2)}.org-row span{color:var(--ink-3);font-size:.85rem}.notification-settings{align-items:center;display:grid;gap:.85rem}.notification-status{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.ad-slot{align-items:center;background:var(--paper-2);border:1px dashed var(--rule-strong);border-radius:var(--radius);color:var(--ink-3);display:grid;min-height:96px;place-items:center}.legal-shell{max-width:860px}.legal-document{line-height:1.8}.legal-document h1{font-size:2rem;line-height:1.2;max-width:none}.legal-document h2{border-bottom:1px solid var(--rule);margin-top:1.5rem;padding-bottom:.4rem}.empty-state{padding:2rem}.phone-screen{background:var(--paper-2);display:grid;gap:1rem}.phone-top{align-items:end;display:grid;gap:.7rem}.phone-top>span{color:var(--ink-2);font-size:.9rem;font-weight:700}.phone-top label,.stack label{color:var(--ink-2);display:grid;font-size:.85rem;font-weight:700;gap:.25rem}.event-card,.answer-card,.event-management-card,.timeline-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);display:grid;gap:.75rem;padding:1rem}.schedule-list{display:grid;gap:.55rem}.schedule-list-item{background:var(--surface);border:2px solid var(--rule);border-radius:var(--radius);color:var(--ink);display:grid;gap:.2rem;justify-items:start;padding:.85rem;text-align:left}.schedule-card{padding:0}.schedule-main{background:transparent;border-radius:8px 8px 0 0;color:var(--ink);display:grid;gap:.2rem;justify-items:start;padding:.85rem;text-align:left;width:100%}.schedule-main:where(:hover:not(:disabled)){background:var(--paper-2)}.quick-answer{border-top:1px solid var(--rule);display:grid;gap:.45rem;grid-template-columns:repeat(3,minmax(0,1fr));padding:.7rem;width:100%}.quick-answer button{border-radius:var(--radius);min-height:40px;padding:.55rem .35rem}.quick-answer button.answered{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.quick-answer button.answered:where(:hover:not(:disabled)){background:var(--accent-hover);border-color:var(--accent-hover)}.detail-button{border-radius:0 0 8px 8px;width:100%}.back-button{justify-self:start}.schedule-list-item span{color:var(--accent);font-size:.8rem;font-weight:700}.schedule-list-item small{color:var(--ink-3)}.schedule-list-item.selected{border-color:var(--accent);box-shadow:var(--shadow-card)}.muted-list-item{color:var(--ink-3)}.primary-card{background:var(--surface)}.event-card h2{font-size:clamp(1.8rem,6vw,3rem);line-height:1.05;margin-bottom:0}dl{display:grid;gap:.5rem;margin:0}dt{color:var(--ink-3);font-size:.8rem;font-weight:700}dd{font-weight:700;margin:0}.answer-options{display:grid;gap:.55rem;grid-template-columns:repeat(3,minmax(0,1fr))}.answer-options input{inline-size:1px;opacity:0;position:absolute}.answer-options span{align-items:center;background:var(--paper-3);border:2px solid transparent;border-radius:var(--radius);color:var(--ink-2);display:flex;font-size:1.05rem;font-weight:700;justify-content:center;min-height:64px}.answer-options input:checked+span{background:var(--accent);color:var(--accent-ink)}.large-action{border-radius:var(--radius);font-size:1.05rem;min-height:56px}.time-grid{display:grid;gap:.7rem}.timeline-card ol{display:grid;gap:.75rem;list-style:none;margin:0;padding:0}.timeline-card li{display:grid;gap:.45rem;grid-template-columns:96px 1fr}.timeline-card time{color:var(--accent);font-size:.82rem;font-weight:700}.timeline-card li div{display:grid;gap:.1rem}.timeline-card li span{color:var(--ink-3);font-size:.9rem}.timeline-input{min-height:132px}.timeline-editor{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);display:grid;gap:.75rem;padding:1rem}.timeline-edit-row{align-items:center;display:grid;gap:.45rem}.timeline-time-range{align-items:center;display:grid;gap:.35rem;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.timeline-time-range span{color:var(--ink-2);font-weight:700}.target-box{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);display:grid;gap:.75rem;padding:1rem}.target-head,.target-mode{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.target-head span{background:var(--surface);border-radius:999px;color:var(--accent);font-weight:700;padding:.25rem .7rem}.target-mode label,.target-list label{align-items:center;display:flex;gap:.45rem}.target-mode input,.target-list input{min-height:auto;width:auto}.target-list{display:grid;gap:.45rem}.inactive-target{color:var(--ink-2)}.target-groups{display:grid;gap:.75rem}.target-part-group{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);display:grid;gap:.55rem;padding:.75rem}.target-part-head{align-items:center;display:grid;gap:.5rem;grid-template-columns:minmax(0,1fr) auto auto}.target-part-head span{color:var(--ink-3);font-size:.85rem;font-weight:700}.admin-menu{align-self:start;display:grid;gap:.55rem}.admin-menu button{justify-content:start;text-align:left}.admin-menu button.active{background:var(--accent);color:var(--accent-ink)}.admin-menu button.active:where(:hover:not(:disabled)){background:var(--accent-hover)}.admin-page-panel{grid-column:auto}.member-list{margin-top:.5rem}.form-title-row{align-items:start;display:grid;gap:.75rem;margin-bottom:.75rem}.member-status{border-radius:999px;display:inline-flex;font-size:.72rem;margin-right:.5rem;padding:.18rem .5rem}.member-status.active{background:var(--ok-bg);color:var(--ok-text)}.member-status.inactive{background:var(--paper-2);color:var(--ink-2)}.member-switch{align-items:center;background:var(--paper-3);border:1px solid var(--rule);border-radius:999px;color:var(--ink-2);display:inline-grid;gap:.32rem;grid-template-columns:16px auto;margin-right:.55rem;min-height:26px;padding:.2rem .55rem .2rem .25rem;vertical-align:middle}.member-switch.active{background:var(--ok-bg);border-color:var(--ok-text);color:var(--ok-text);grid-template-columns:auto 16px;padding:.2rem .25rem .2rem .55rem}.member-switch-knob{background:var(--surface);border-radius:999px;box-shadow:var(--shadow-card);display:block;height:16px;width:16px}.member-switch.active .member-switch-knob{grid-column:2;grid-row:1}.member-switch-label{font-size:.74rem;font-weight:700;line-height:1}.member-switch.active .member-switch-label{grid-column:1;grid-row:1}.status-toggle{align-items:center;background:var(--paper-3);border-radius:var(--radius);cursor:pointer;display:inline-grid;grid-template-columns:auto auto;gap:.35rem;justify-self:start;padding:.28rem .55rem}.status-toggle input{accent-color:var(--accent);min-height:auto;width:auto}.status-toggle span{color:var(--ink-2);font-size:.78rem;font-weight:700}.publish-at-bottom{border-top:1px solid var(--rule);display:grid;gap:.75rem;margin-top:1rem;padding-top:1rem}.draft-card-actions{display:grid;gap:.55rem}.draft-card-actions .publish-primary{min-height:50px}.draft-card-actions .edit-subtle{background:var(--paper-3);border-color:var(--rule);color:var(--ink-2)}.draft-card-actions .edit-subtle:where(:hover:not(:disabled)){background:var(--paper-2);color:var(--ink-2)}.mini-stats{display:flex;flex-wrap:wrap;gap:.45rem}.mini-stats span{background:var(--paper-2);border-radius:999px;color:var(--ink-2);font-size:.82rem;font-weight:700;padding:.28rem .6rem}.event-status-main{background:transparent;border-radius:var(--radius);color:var(--ink);display:grid;gap:.45rem;justify-items:start;padding:0;text-align:left}.event-status-main:where(:hover:not(:disabled)){background:var(--paper-2)}.attendance-detail-head{align-items:start;display:grid;gap:1rem}.attendance-groups{display:grid;gap:1rem;margin-top:1rem}.attendance-group{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);display:grid;gap:.65rem;padding:1rem}.attendance-group .muted-text{color:var(--ink-2)}.attendance-group h3{align-items:center;display:flex;justify-content:space-between;margin:0}.attendance-group h3 span{background:var(--surface);border-radius:999px;color:var(--accent);font-size:.82rem;padding:.25rem .65rem}.stack{display:grid;gap:.75rem}.stats-grid{display:grid;gap:.65rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:1rem 0}.stat{background:var(--paper-2);border-radius:var(--radius);padding:.9rem}.stat strong{display:block;font-size:2rem;line-height:1}.stat span{color:var(--ink-2);font-size:.8rem;font-weight:700}.check-list{display:grid;gap:.5rem;list-style:none;margin:0;padding:0}.check-list li{background:var(--paper-2);border-radius:var(--radius);padding:.75rem .85rem}.check-list li:before{color:var(--accent);content:"□ ";font-weight:700}.list,.event-list{display:grid;gap:.55rem}.compact-list{max-height:280px;overflow:auto}.row{align-items:center;background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);display:grid;gap:.5rem;grid-template-columns:1fr;padding:.7rem}.row small{color:var(--ink-2)}.event-management-card small,.muted-text{color:var(--ink-3)}.event-management-card{align-items:center}.wide-panel{grid-column:1 / -1}.activity-log{background:var(--paper-2)}.activity-log ol{display:grid;gap:.3rem;margin:0;padding-left:1.2rem}.activity-log li{color:var(--ink-2);font-size:.9rem}.muted{background:var(--paper-3);color:var(--ink-2)}@media(min-width:760px){.app-shell{padding:1.5rem}.hero{grid-template-columns:minmax(0,1fr) 390px;min-height:430px;padding:2rem}.view-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.screen-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.admin-layout{grid-template-columns:280px minmax(0,1fr)}.phone-top{grid-template-columns:1fr 220px}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-grid.three{grid-template-columns:1.2fr 1fr 1fr}.timeline-edit-row{grid-template-columns:250px minmax(0,1fr) minmax(0,1.2fr) auto}.admin-page-panel{grid-column:auto}.row{grid-template-columns:minmax(0,1fr) auto auto auto}.member-list .row{grid-template-columns:minmax(0,1fr) minmax(220px,auto) auto}.form-title-row,.event-management-card{grid-template-columns:minmax(0,1fr) auto}.publish-at-bottom .event-management-card{grid-template-columns:minmax(0,1fr) minmax(180px,240px)}.attendance-detail-head{grid-template-columns:minmax(0,1fr) auto}.attendance-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}.role-badge{background:var(--ok-bg);border-radius:999px;color:var(--ok-text);font-size:.72rem;font-weight:700;margin-left:.5rem;padding:.1rem .5rem}.role-toggle{font-size:.82rem;padding:.35rem .7rem;white-space:nowrap}.roster-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.8rem}.roster-hint{color:var(--ink-3);flex:1 1 14rem}.line-warning{background:var(--danger-bg);border-radius:999px;color:var(--danger-text);font-size:.72rem;font-weight:700;margin-left:.5rem;padding:.1rem .5rem}.member-edit{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);display:grid;gap:.7rem;margin-top:1rem;padding:1rem}.member-edit-actions{display:flex;gap:.5rem}.member-edit-actions button{flex:1 1 auto}.roster-table{border:1px solid var(--rule);border-radius:var(--radius);overflow-x:auto}.roster-head,.roster-row{align-items:center;display:grid;gap:.6rem;grid-template-columns:minmax(7rem,1.5fr) minmax(4.5rem,1fr) minmax(5rem,1fr) 4.5rem 4rem 5.5rem 3rem;min-width:40rem;padding:.65rem .8rem}.roster-head{background:var(--paper-3);color:var(--ink-2);font-size:.8rem;font-weight:700}.roster-row+.roster-row,.roster-head+.roster-row{border-top:1px solid var(--rule)}.roster-name{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;font-weight:700}.roster-edit-col{text-align:right}.icon-button{align-items:center;background:transparent;border:1px solid var(--rule-strong);color:var(--ink-2);display:inline-flex;justify-content:center;min-height:36px;padding:.3rem;width:36px}.icon-button:where(:hover:not(:disabled)){background:var(--paper-3)}.position-editor{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);display:grid;gap:.6rem;margin-bottom:1rem;padding:1rem}.position-row{display:grid;gap:.5rem;grid-template-columns:1fr auto}.position-actions{display:flex;flex-wrap:wrap;gap:.5rem}.modal-backdrop{align-items:center;background:#14181c73;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:1rem;position:fixed;z-index:50}.modal-backdrop>.member-edit,.modal-backdrop>.position-editor{background:var(--surface);box-shadow:var(--shadow-float);margin:0;max-height:85vh;max-width:30rem;overflow-x:hidden;overflow-y:auto;width:100%}.modal-backdrop p,.modal-backdrop h3{overflow-wrap:anywhere}.template-bar{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);display:grid;gap:.6rem;margin-bottom:1rem;padding:.9rem}.template-pick{color:var(--ink-2);display:grid;font-size:.85rem;font-weight:700;gap:.25rem}.template-actions{display:flex;flex-wrap:wrap;gap:.5rem}.deadline-editor{border:1px solid var(--rule);border-radius:var(--radius);display:grid;gap:.6rem;padding:.9rem}.deadline-modes{display:flex;gap:.4rem}.deadline-modes button{font-size:.82rem;min-height:36px;padding:.35rem .8rem}.deadline-relative{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.editing-banner{background:var(--warn-bg);border-left:4px solid var(--warn-text);border-radius:8px;color:var(--warn-text);font-size:.85rem;font-weight:700;margin:.4rem 0 0;padding:.5rem .7rem}.ok-badge{background:var(--ok-bg);border-radius:999px;color:var(--ok-text);font-size:.72rem;font-weight:700;padding:.1rem .5rem}.application-row{border:1px solid var(--rule);border-radius:var(--radius);display:grid;gap:.55rem;padding:.8rem}.application-head{align-items:baseline;display:flex;gap:.5rem}.application-link{color:var(--ink-2);display:grid;font-size:.82rem;font-weight:700;gap:.25rem}.modal-backdrop>.roster-add{max-width:46rem}.roster-add-row{display:grid;gap:.5rem;grid-template-columns:minmax(9rem,2fr) minmax(7rem,1fr) minmax(7rem,1fr) minmax(6rem,.8fr) auto}.roster-add-row button{white-space:nowrap}@media(max-width:720px){.roster-add-row{border-bottom:1px dashed var(--rule);grid-template-columns:1fr 1fr;padding-bottom:.6rem}.roster-add-row>input{grid-column:1 / -1}}.link-suggestion{background:var(--ok-bg);border-left:4px solid var(--ok-text);border-radius:8px;color:var(--ok-text);font-size:.83rem;font-weight:700;margin:0;padding:.5rem .7rem}.quota-meter{background:var(--paper-3);border-radius:var(--radius);color:var(--ink-2);font-size:.88rem;margin:0 0 .8rem;padding:.55rem .8rem}.quota-meter.warn{background:var(--warn-bg);color:var(--warn-text)}
