:root{--ink:#19352d;--ink-soft:#52635c;--green:#245445;--green-dark:#173d31;--cream:#f7f4ec;--paper:#fffdf8;--line:#dce3da;--accent:#c47d4f;--shadow:0 8px 30px rgba(25,53,45,.07)}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--cream);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:var(--ui-leading-body)}a{color:var(--green);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--accent)}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(1120px,calc(100% - 40px));margin:0 auto}.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);font-size:1.25rem;font-weight:700;text-decoration:none;letter-spacing:.08em}.brand-mark{display:grid;place-items:center;width:33px;height:33px;background:var(--green);color:#fff;border-radius:50%;font-size:1rem}.main-nav{display:flex;align-items:center;gap:20px;font-size:.9rem}.main-nav a{text-decoration:none}.inline-form{display:inline}.page-content{min-height:calc(100vh - 170px);padding-top:44px;padding-bottom:80px}.hero{padding:62px 8px 74px;max-width:780px}.eyebrow{margin:0 0 8px;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.hero h1,.page-header h1{margin:0 0 18px;font-family:Georgia,"Yu Mincho",serif;font-size:var(--ui-font-hero-title);font-weight:500;line-height:var(--ui-leading-title);letter-spacing:.01em}.hero-lead{max-width:570px;color:var(--ink-soft);font-size:1.1rem}.search-form{display:flex;gap:10px;align-items:center}.search-form input{min-height:48px}.search-form input{flex:1}.hero-search{max-width:650px;margin-top:30px}.section-block{padding:45px 0;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading h2,.panel h2,.two-column h2{margin:0;font-family:Georgia,"Yu Mincho",serif;font-size:var(--ui-font-section-title);font-weight:500}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.feature-grid article{padding:28px;background:var(--paper)}.feature-grid h3{margin:4px 0 8px}.feature-grid p{margin:0;color:var(--ink-soft);font-size:.93rem}.feature-number{color:var(--accent);font-size:.8rem}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.book-card{display:flex;min-height:210px}.book-cover{flex:0 0 84px;display:grid;place-items:center;align-self:stretch;background:var(--green);color:#d9e8d9;font-family:Georgia,serif;font-size:2.5rem}.book-cover-large{width:170px;height:230px;flex-basis:170px;border-radius:5px}.card-body{padding:18px}.card-kicker{margin:0 0 3px;color:var(--accent);font-size:.78rem}.card h3{margin:0 0 4px;font-size:var(--ui-font-card-title);line-height:var(--ui-leading-card)}.card h3 a{text-decoration:none}.muted{color:var(--ink-soft);font-size:.9rem}.card-body p{margin:5px 0}.card-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;color:var(--ink-soft);font-size:.8rem}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.page-header{max-width:680px;margin-bottom:28px}.page-header p{color:var(--ink-soft)}.page-header.compact{margin-bottom:24px}.result-count{margin:20px 0 12px;color:var(--ink-soft);font-size:.9rem}.group-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}.group-card h2{margin:8px 0 0;font-family:Georgia,"Yu Mincho",serif;font-size:var(--ui-font-group-title);font-weight:500}.card-top{display:flex;justify-content:space-between;gap:12px}.form-shell{width:min(100%,480px);margin:0 auto;padding:34px 0}.form-shell-wide{width:min(100%,680px)}.form-shell h1{margin:0 0 12px;font-family:Georgia,"Yu Mincho",serif;font-weight:500;font-size:var(--ui-font-page-title)}.stack-form{display:grid;gap:17px;margin-top:27px}.stack-form label{display:grid;gap:5px;font-weight:700;font-size:.9rem}.stack-form input,.stack-form textarea{width:100%}.stack-form select{width:100%}.stack-form textarea{min-height:130px;resize:vertical}.stack-form small{font-size:.78rem;font-weight:400;color:var(--ink-soft)}.required{margin-left:8px;color:var(--accent);font-size:.7rem;font-weight:400}.field-error{color:#a54635;font-size:.8rem;font-weight:400}.form-foot{text-align:center;color:var(--ink-soft)}.detail-hero{display:grid;grid-template-columns:170px 1fr;gap:24px;align-items:start;padding:10px 0 32px}.detail-hero h1,.detail-header h1{margin:0 0 7px;font-family:Georgia,"Yu Mincho",serif;font-size:var(--ui-font-detail-title);font-weight:500;line-height:var(--ui-leading-title)}.lead{font-size:1.1rem}.action-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.two-column{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:35px;padding-top:34px;border-top:1px solid var(--line)}.list-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.list-row h3{margin:0;font-size:1rem}.list-row p{margin:0}.resource-row{display:block;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none}.resource-row span,.resource-row small{display:block}.resource-row small{color:var(--ink-soft)}.breadcrumbs{display:flex;gap:10px;margin-bottom:20px;color:var(--ink-soft);font-size:.85rem}.detail-header{display:flex;justify-content:space-between;gap:24px;padding:10px 0 44px}.panel h2{margin-bottom:15px}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.member-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.9rem}.member-row .muted{margin-left:auto}.avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#dce9de;color:var(--green);font-size:.8rem}.notice{padding:13px 0;border-bottom:1px solid var(--line)}.notice h3{margin:0;font-size:1rem}.notice p{margin:4px 0}.site-footer{padding:25px 0;border-top:1px solid var(--line);color:var(--ink-soft);font-size:.8rem}.footer-inner{display:flex;justify-content:space-between;gap:20px}.messages{position:relative}.skip-link{position:absolute;left:-10000px;top:auto}.skip-link:focus{left:10px;top:10px;z-index:10;padding:8px;background:#fff;color:#000}.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(max-width:760px){.container{width:min(100% - 32px,600px)}.header-inner{height:auto;min-height:66px;align-items:flex-start;padding:15px 0}.main-nav{gap:11px;flex-wrap:wrap;justify-content:flex-end;font-size:.8rem}.main-nav a:nth-child(2){display:none}.hero{padding:35px 0 50px}.hero h1{font-size:var(--ui-font-hero-title)}.feature-grid,.card-grid,.dashboard-grid{grid-template-columns:1fr}.group-list{grid-template-columns:1fr}.search-form{align-items:stretch;flex-wrap:wrap}.search-form input{min-width:100%}.search-form select{flex:1}.detail-hero{grid-template-columns:90px 1fr;gap:18px}.book-cover-large{width:90px;height:125px;flex-basis:90px;font-size:1.6rem}.detail-hero h1,.detail-header h1{font-size:var(--ui-font-detail-title)}.two-column{grid-template-columns:1fr}.detail-header{display:block}.footer-inner{display:block}.footer-inner span{display:block;margin:4px 0}}

input[type=checkbox]{width:auto;min-width:18px;min-height:18px}input,textarea,select{max-width:100%}.stack-form div label{display:flex;align-items:center;gap:8px;font-weight:400}.stack-form input[type=checkbox]{width:auto}.ad-slot{min-height:120px;padding:20px;margin-top:32px;border:1px dashed var(--line);text-align:center;color:var(--ink-soft)}:focus-visible{outline:3px solid #b36b37;outline-offset:4px}h1,h2,h3,p,a{overflow-wrap:anywhere}.list-row>div{min-width:0}table{width:100%}@media(max-width:760px){.main-nav a:nth-child(2){display:inline}.list-row{flex-wrap:wrap}.hero h1{font-size:var(--ui-font-hero-title)}}
 .book-cover-image{width:100%;height:100%;object-fit:contain;display:block}.edition-row{padding:16px 0;border-bottom:1px solid var(--line)}.edition-heading{display:flex;gap:14px;align-items:flex-start}.edition-heading h3{margin:0;font-size:1rem}.edition-heading p{margin:0}.edition-cover{width:54px;height:75px;object-fit:contain;display:block;border-radius:3px}.toc{margin-top:12px}.toc summary{cursor:pointer;color:var(--green);font-weight:700}.toc ol{margin:8px 0 0;padding-left:28px}.toc li{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:5px 0}.toc small{color:var(--ink-soft);white-space:nowrap}
/* 書誌情報は狭い画面でも省略せず折り返し、階層目次を縦に読む。 */
.search-form{flex-wrap:wrap}.search-form input{min-width:180px}.search-form select{max-width:min(100%,350px)}
.toc li{display:list-item;padding:6px 0}.toc small{white-space:normal;margin-left:12px}.toc ol ol{margin-bottom:8px}
.book-cover{position:relative;overflow:hidden}.book-cover-image{position:absolute;inset:0;object-fit:contain;z-index:1;background:var(--green)}
.book-cover-fallback{grid-area:1/1}.book-cover-image[hidden],.edition-cover[hidden]{display:none}
@media(max-width:760px){.search-form select{width:100%;max-width:100%;flex:auto}.toc ol{padding-left:20px}}

/* 書籍の見出しには章番号が含まれるため、画面で別の番号を生成しない。 */
.toc .toc-entries{list-style:none;margin:8px 0 0;padding-left:0}.toc .toc-entries .toc-entries{margin-left:20px}.toc .toc-entries>li{display:block}

/* 輪読の準備と資料を一つの開催回から辿れるようにする。 */
.dashboard-header h1{font-size:clamp(2rem,4vw,3rem)}
.session-overview{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px}
.breadcrumbs{flex-wrap:wrap}.detail-header>.button{align-self:flex-start;flex-shrink:0}
.panel>.action-row{margin:12px 0 20px}
@media(max-width:760px){.session-overview{grid-template-columns:1fr}.action-row>.button{max-width:100%}}
.brand{flex-shrink:0;white-space:nowrap}
.brand-mark{display:block;flex:none;width:33px;height:33px;border-radius:8px}
.stack-form label:has(>input[type=checkbox]){display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.stack-form label>input[type=checkbox]{order:-1;flex-shrink:0}

/* 外部共有リンクと短いメモを、入力値を消さずに切り替える。 */
.resource-mode-switch{display:flex;flex-wrap:wrap;gap:10px;border:0;margin:0;padding:0}.resource-mode-switch legend{width:100%;font-weight:700;font-size:.9rem}.resource-mode-switch label{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--line);border-radius:4px;font-weight:400}.resource-mode-switch input{width:auto;min-height:auto}.resource-mode-copy{margin:0;padding:12px 14px;background:#edf3ee;border-left:3px solid var(--green);color:var(--ink-soft);font-size:.9rem}.resource-mode-copy-note{display:none}.resource-sharing-guidance{padding:18px;border:1px solid var(--line);border-radius:5px;background:#fbfcf9}.resource-sharing-guidance h2{margin:0 0 8px;font-size:1.1rem}.resource-sharing-guidance p{margin:0}.resource-sharing-guidance ol{margin:8px 0 0;padding-left:22px}.resource-share-form:has(input[name=mode][value=note]:checked) .resource-mode-copy-link{display:none}.resource-share-form:has(input[name=mode][value=note]:checked) .resource-mode-copy-note{display:block}

/* ホームは次回の準備を先に、蔵書や設定は補助に置く。 */
.next-reading{border-top:4px solid var(--green)}.dashboard-session{padding:20px 0;border-top:1px solid var(--line)}.dashboard-session h3{font-size:var(--ui-font-group-title);margin:0 0 8px}.dashboard-session p{margin:5px 0}.dashboard-session .action-row{margin-top:16px}.organizer-attention{border-left:4px solid var(--accent)}.dashboard-library{margin:26px 0}.dashboard-library summary{cursor:pointer;font-weight:700;padding:14px 0}.main-nav [aria-current=page]{font-weight:700;text-decoration:underline}.dashboard-header{max-width:none}.dashboard-session:first-of-type h3{font-size:var(--ui-font-group-title)}
.dashboard-todos{border-top:4px solid var(--accent)}
.dashboard-todos>section{margin-top:24px}
.dashboard-todos>section+section{margin-top:32px}
.dashboard-todos h3{margin:0 0 8px;font-size:1.15rem}
.dashboard-todo-group{margin-top:16px;border:1px solid #cdd8cf;border-radius:8px;min-width:0}
.dashboard-todo-group+.dashboard-todo-group{margin-top:24px}
.dashboard-todo-heading{display:flex;align-items:center;gap:16px;min-height:44px;padding:14px 18px;border-radius:7px;background:#edf3ee;cursor:pointer;list-style:none}
.dashboard-todo-disclosure[open]>.dashboard-todo-heading{border-bottom:1px solid #cdd8cf;border-radius:7px 7px 0 0}
.dashboard-todo-heading:hover{background:#e4eee6}
.dashboard-todo-heading h4{display:flex;flex:1;align-items:baseline;flex-wrap:wrap;gap:8px 16px;min-width:0;margin:0;font-size:1.1rem;line-height:1.6;overflow-wrap:anywhere}
.dashboard-todo-name{flex:1 1 14rem;min-width:0}
.dashboard-todo-count{flex:none;color:var(--ink-soft);font-size:.8rem;font-weight:400;white-space:nowrap}
.dashboard-todo-group-link{margin:0;padding:0 18px 12px}
.dashboard-todo-group-link a{display:inline-flex;align-items:center;min-height:44px;font-size:.9rem}
.dashboard-todo-items{list-style:none;margin:0;padding:0 18px}
.dashboard-todo-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding:16px 0}
.dashboard-todo-row+.dashboard-todo-row{border-top:1px solid var(--line)}
.dashboard-todo-copy{flex:1 1 16rem;min-width:0;overflow-wrap:anywhere}
.dashboard-todo-copy p{margin:2px 0 0;color:var(--ink-soft);font-size:.9rem}
.dashboard-todo-row .action-row{margin:0;min-width:0;max-width:100%}
.dashboard-todo-row .button{max-width:100%;white-space:normal}
@media(max-width:760px){
 .dashboard-todo-group+.dashboard-todo-group{margin-top:20px}
 .dashboard-todo-heading{padding:12px 14px}
 .dashboard-todo-items{padding:0 14px}
 .dashboard-todo-group-link{padding:0 14px 10px}
 .dashboard-todo-row{flex-direction:column;align-items:stretch;gap:4px;padding:14px 0}
 .dashboard-todo-copy{flex:auto}
}
@media(max-width:760px){.dashboard-header h1{font-size:var(--ui-font-page-title)}.dashboard-session .action-row>a:not(.button){padding:8px 0}.next-reading{padding:18px}.dashboard-session h3{font-size:var(--ui-font-group-title)}}

.later-sessions summary{cursor:pointer;padding:12px 0;font-weight:700}.later-sessions .dashboard-session h3{font-size:var(--ui-font-group-title)}
/* 主要な3経路と読める書誌を先に置く。 */
.page-content{padding-top:28px}.hero{max-width:100%;padding:24px 0 34px}.hero h1{font-size:var(--ui-font-hero-title);line-height:var(--ui-leading-title);text-wrap:balance;max-width:24em}.hero-lead{max-width:48em;margin:12px 0}.hero .action-row{margin-top:20px}.page-header h1{font-size:var(--ui-font-page-title);line-height:var(--ui-leading-title)}.page-header{max-width:850px;margin-bottom:18px}.section-block{padding:28px 0}.feature-grid h2{font-family:Georgia,"Yu Mincho",serif;font-size:var(--ui-font-section-title);margin:0 0 10px}.feature-grid a{display:inline-block;margin-top:12px}.book-card{min-height:0;align-items:flex-start}.book-card .book-cover{align-self:flex-start;height:130px;flex-basis:75px;background:transparent;margin:18px 0 18px 14px}.book-cover-image{background:transparent}.card-body{min-width:0;flex:1}.book-card h3{line-height:var(--ui-leading-card)}.book-card .card-meta{font-size:.75rem;margin-top:10px}.book-card form{margin-top:12px}.save-help{display:block;font-size:.75rem;color:var(--ink-soft);margin:5px 0}.saved-state{font-weight:700}.catalog-help{border-top:1px solid var(--line);margin-top:28px;padding-top:12px;font-size:.88rem}.detail-no-cover{grid-template-columns:minmax(0,1fr)}.stack-form fieldset{min-width:0;border:1px solid var(--line);padding:20px;border-radius:6px;background:var(--paper)}.stack-form legend{font-size:1.2rem;font-weight:700;padding:0 8px}.stack-form .field{margin:16px 0}.stack-form .helptext{display:block;font-size:.83rem;color:var(--ink-soft)}.stack-form .errorlist{color:#923624;font-size:.87rem}.conditions{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,3fr);gap:7px 18px}.conditions dt{color:var(--ink-soft)}.conditions dd{margin:0}.header-inner{height:auto;min-height:74px;padding:12px 0}.main-nav{gap:14px;flex-wrap:wrap}.filter-grid{display:flex;gap:12px;flex-wrap:wrap}.filter-grid label{display:grid;font-size:.9rem}.filter-grid label:has(input[type=checkbox]){display:flex;align-items:center}.dashboard-library[open]>.dashboard-grid{display:grid}.dashboard-library[open]::details-content{content-visibility:visible;height:auto}.book-cover:has(.book-cover-image[hidden]){display:none}
@media(min-width:761px) and (max-width:1000px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-inner{align-items:flex-start}.main-nav{justify-content:flex-end}}
@media(max-width:760px){.page-content{padding-top:22px}.hero{padding:15px 0 25px}.hero h1{font-size:var(--ui-font-hero-title)}.hero .action-row>.button{width:100%}.feature-grid article{padding:20px}.detail-no-cover{grid-template-columns:minmax(0,1fr)}.stack-form fieldset{padding:14px}.conditions{grid-template-columns:1fr;gap:2px}.conditions dd{margin-bottom:10px}.header-inner{gap:14px}.main-nav{gap:10px}.search-form input{min-width:0;width:100%}.filter-grid>label{width:100%}.book-card .book-cover{height:115px;flex-basis:65px}}

/* モバイルでは必要な項目だけ開き、主要操作への往復を減らす。 */
.form-disclosure{min-width:0}
.form-disclosure>summary,.search-options>summary{padding:14px;cursor:pointer;font-weight:700;min-height:44px}
.form-disclosure>fieldset{border:0;margin:0;min-width:0}
.form-disclosure .form-section{padding:0 18px 18px}
.search-options{flex-basis:100%}
.filter-options{display:flex;flex-wrap:wrap;gap:10px;padding:10px}
.form-actions{margin-top:0}
@media(max-width:760px){
 .page-content{padding-top:14px}.page-header{margin-bottom:16px}.detail-header{padding-bottom:16px}
.panel h2{font-size:var(--ui-font-section-title)}
 .conditions{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:8px 12px;font-size:.9rem}
 .conditions dd{margin:0}.conditions dt{color:var(--muted,#655f54)}
 .form-shell{padding-top:12px}.stack-form{margin-top:14px;gap:12px}
 .form-actions{position:sticky;top:0;z-index:5;background:var(--paper,#faf8f1);padding:8px 0;border-bottom:1px solid var(--line,#d8d5c9);gap:6px}

 .stack-form :is(input,select,textarea,summary){scroll-margin-top:130px}
 .stack-form textarea{min-height:90px}.stack-form input,.stack-form select,.stack-form textarea{font-size:16px}
 .search-form{gap:8px}.search-options>summary{padding:10px;font-size:.9rem}
 .search-form .filter-options select{width:calc(50% - 5px);flex:1 1 42%}
}

/* 募集対象と保存済み参加条件の検索 */
.group-search{display:block}.group-search-main{display:flex;gap:10px;flex-wrap:wrap}.group-search-main input{min-width:160px}.group-search .search-options{width:100%;margin-top:16px}.group-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}.group-filter-grid label{display:flex;flex-direction:column;gap:4px;min-width:0}.group-filter-grid input,.group-filter-grid select{width:100%;min-width:0}.group-filter-grid small{font-size:.75rem;color:var(--ink-soft)}.profile-match{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin:18px 0}.profile-match p{flex-basis:100%;margin:0}.group-search input[type=checkbox]{min-height:auto;flex:none;padding:0;width:18px;height:18px;vertical-align:middle}.unknown-filter{display:block}.group-search .muted{font-size:.85rem}
@media(max-width:760px){.group-filter-grid{grid-template-columns:1fr}.group-search-main{flex-direction:column}.group-search-main>*{width:100%}.profile-match{align-items:flex-start}.group-search .search-options{min-width:0}}

.group-search .search-options{padding:0 14px 16px}.group-search .search-options>summary{margin:0 -14px}

/* 検索の選択肢を比較しやすくし、チェック欄の引き伸ばしを防ぐ。 */
.group-search .primary-filters{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;align-items:start}
.group-search input[type="checkbox"]{flex:0 0 auto;width:18px;min-width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:var(--green)}
.group-search .profile-match label,.group-search .unknown-filter{display:flex;align-items:center;gap:8px}
.group-search .profile-match{justify-content:flex-start}
.group-search .group-filter-grid select,.group-search .group-filter-grid input{width:100%;min-width:0}
@media(max-width:760px){.group-search .primary-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:340px){.group-search .primary-filters{grid-template-columns:1fr}}

.group-search [hidden]{display:none!important}
.group-search .group-search-main{display:grid;gap:4px}
.group-search .filter-hint{margin:-6px 0 14px}
.group-search .secondary-filters{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.group-search .university-conditions{margin:14px 0 0;padding:0;border:0;min-width:0}
.group-search .university-conditions legend{padding:0;margin-bottom:8px;font-weight:600}
.group-search .university-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}
.group-search .university-mode-options label{display:flex;align-items:flex-start;gap:8px;min-height:44px;padding:8px 0}
.group-search input[type="radio"]{flex:0 0 auto;width:18px;min-width:18px;height:18px;min-height:18px;margin:5px 0 0;padding:0;accent-color:var(--green)}
.group-search .university-input{display:grid;gap:4px;max-width:36rem;margin:16px 0}
.group-search .university-input input{width:100%;min-width:0}
.group-search .university-input small{font-size:.8rem;color:var(--ink-soft)}
.group-search .profile-search-summary{flex-basis:100%;min-width:0;padding:12px 16px;border-left:3px solid var(--line);overflow-wrap:anywhere}
.group-search .profile-search-summary ul{margin:8px 0;padding-left:1.3em;font-size:.9rem}
.group-search-results{margin-top:24px;overflow-wrap:anywhere}
.group-search-results p{margin:4px 0}
.applied-search-filters{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;padding:0;margin:4px 0;font-size:.9rem;color:var(--ink-soft)}
.applied-search-filters li{border-bottom:1px solid var(--line);padding-bottom:3px}
@media(max-width:760px){.group-search .university-mode-options,.group-search .secondary-filters{grid-template-columns:1fr}.group-search .profile-search-summary{padding:10px 12px}}

.profile-form #id_available_weekdays,.profile-form #id_available_time_slots{display:flex;flex-wrap:wrap;gap:8px 16px}
.profile-form #id_available_weekdays label,.profile-form #id_available_time_slots label{display:flex;align-items:center;gap:6px;min-height:40px}
.profile-form>fieldset>label{display:block;margin:12px 0}
.profile-form .form-actions{position:sticky;top:0;z-index:5;background:var(--cream);padding:12px 0;margin:0}
.profile-form :is(input,select,textarea){scroll-margin-top:90px}

/* 目的別に読める使い方ガイド */
.usage-guide{max-width:860px;margin:0 auto}.guide-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0 32px}.guide-index a{display:flex;align-items:center;padding:14px 18px;background:var(--paper);border:1px solid var(--line);border-radius:6px;text-decoration:none;font-weight:600}.guide-section{padding:30px 0;border-top:1px solid var(--line);scroll-margin-top:24px}.guide-section h2{font-family:Georgia,"Yu Mincho",serif;font-size:var(--ui-font-section-title);margin:0 0 18px}.guide-section li{margin:0 0 14px;padding-left:4px}.guide-section ol,.guide-section ul{padding-left:1.6em}.guide-example{background:var(--paper);border-left:3px solid var(--green);padding:16px 20px;margin:20px 0}.guide-example p{margin:6px 0 0}.guide-question{border-bottom:1px solid var(--line);padding:14px 0}.guide-question summary{font-weight:600;cursor:pointer;min-height:32px}.guide-question p{margin:12px 0 4px}.guide-index a:focus-visible,.guide-question summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}@media(max-width:600px){.guide-index{grid-template-columns:1fr;gap:8px}.guide-section{padding:24px 0}.guide-section h2{font-size:var(--ui-font-section-title)}}

/* 学習内容と区別した、外部通信のない広告掲載見本。 */
.ad-preview{margin:30px 0;padding:0;overflow:hidden;border:1px solid #d9d5c8;border-radius:8px;background:#eee9dc;text-align:left}
.ad-preview-label{display:flex;justify-content:space-between;gap:12px;padding:10px 20px;border-bottom:1px solid #d9d5c8;color:#526052;font-size:.75rem}
.ad-preview-label>span:first-child{font-weight:700;letter-spacing:.15em}
.ad-preview-body{display:flex;justify-content:center;align-items:center;gap:50px;padding:30px 24px}
.ad-preview-copy h2{margin:6px 0 12px;font-family:Georgia,"Yu Mincho",serif;font-size:clamp(1.35rem,3vw,1.9rem);font-weight:500;line-height:1.6}
.ad-preview-copy p{margin:0;font-size:.85rem;color:#526052}.ad-preview-copy .ad-preview-kicker{font-size:.75rem;letter-spacing:.12em}
.ad-preview-art{position:relative;display:grid;place-items:center;width:170px;height:150px;flex-shrink:0}
.ad-preview-book{position:relative;z-index:1;display:grid;place-items:center;width:90px;height:125px;transform:rotate(-12deg);border-left:7px solid #325c48;border-right:4px solid #fffdf8;border-radius:3px 5px 5px 3px;background:#496e59;color:#fffdf8;font-family:"Yu Mincho",serif;letter-spacing:.25em;box-shadow:8px 12px 0 #d7d0bd}
.ad-preview-orbit{position:absolute;width:160px;height:160px;border:1px solid #c5bc9f;border-radius:50%}
.ad-preview-note{margin:0;padding:12px 20px;background:#f8f5ee;color:#526052;font-size:.75rem;border-top:1px solid #d9d5c8}
@media(max-width:600px){.ad-preview-body{gap:18px;padding:24px 16px}.ad-preview-art{width:80px;height:120px}.ad-preview-book{width:66px;height:96px;font-size:.85rem}.ad-preview-orbit{width:90px;height:90px}.ad-preview-copy h2{font-size:1.2rem}.ad-preview-copy p{font-size:.78rem}.ad-preview-label{padding:10px 14px;font-size:.7rem}.ad-preview-note{padding:12px 14px}}

.purchase-panel{margin:20px 0;padding:20px;border:1px solid var(--line);border-radius:6px;background:var(--cream)}.purchase-panel h4{margin:4px 0;font-size:1.1rem}.purchase-panel p{overflow-wrap:anywhere}.purchase-ad-label{margin:0;color:var(--ink-soft);font-size:.78rem;letter-spacing:.06em}.purchase-panel .button{max-width:100%;white-space:normal}

.recovery-code { display: block; overflow-wrap: anywhere; font-size: 1rem; letter-spacing: .04em; user-select: all; }

.availability-week { min-width: 0; }
.availability-day { min-width: 0; margin-block: .6rem; padding: .65rem .9rem; }
.availability-day > div { display: flex; flex-wrap: wrap; gap: .65rem 1.5rem; }
.availability-day label { display: flex; align-items: center; gap: .4rem; white-space: nowrap; }
.availability-day input[type="checkbox"] { width: auto; }
.connections-back{display:inline-block;margin-bottom:24px;font-size:.9rem}.connection-list{display:grid;gap:16px;margin-top:28px}.connection-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.connection-heading h2{margin:0;font-size:1.2rem}.connection-hint{font-size:.85rem;color:var(--ink-soft);border-top:1px solid var(--line);padding-top:14px;margin-bottom:0}.connection-remove{border-top:1px solid var(--line);padding-top:14px;margin-top:18px}.connection-remove summary{cursor:pointer;color:var(--ink-soft);font-size:.85rem}.connection-remove p{font-size:.9rem}.connection-notice{margin:22px 0}.connection-notice p{font-size:.9rem;margin-bottom:0}.connections-privacy{margin-top:24px}.connections-page button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:480px){.connection-card .button{width:100%}}
