.hlpb-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:calc(100% - 48px);max-width:1180px;margin:24px auto}.hlpb-tools button,.hlpb-tools-dialog button{font:inherit;font-weight:700;padding:10px 18px;min-height:44px;border:2px solid #193345;background:#f4f6f8;color:#193345;cursor:pointer;border-radius:5px}.hlpb-tools button:hover,.hlpb-tools button[aria-pressed=true]{background:#316f69;color:#fff}.hlpb-tool-status{margin:0;font-size:.9rem}.hlpb-tools-dialog{box-sizing:border-box;width:min(760px,calc(100% - 32px));max-height:85vh;overflow:auto;background:#f4f6f8;color:#193345;border:2px solid #193345;padding:24px;border-radius:10px}.hlpb-tools-dialog::backdrop{background:#193345aa}.hlpb-tools-dialog h2{font-size:1.5rem;padding-right:70px}.hlpb-dialog-close{float:right}.hlpb-tools-dialog label{display:block;font-weight:700;margin:18px 0 8px}.hlpb-tools-dialog input,.hlpb-tools-dialog select{box-sizing:border-box;font:inherit;min-height:48px;border:1px solid #193345;padding:10px;background:#fff;color:#193345}.hlpb-tools-dialog input{width:100%;margin-bottom:10px}.hlpb-search-results{list-style:none;padding:0}.hlpb-search-result{padding:18px 0;border-bottom:1px solid #9daca5}.hlpb-search-result a{display:block;color:#245e59;font-size:1.15rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}.hlpb-search-result p{line-height:1.7;margin:8px 0}.hlpb-result-type{font-size:.85rem;color:#53665f}.hlpb-toc,.hlpb-reading-path{box-sizing:border-box;background:#f4f6f8;color:#193345;border:1px solid #193345;padding:20px;margin:24px 0;box-shadow:5px 5px 0 #78a6aa}.hlpb-toc summary{cursor:pointer;font-weight:700}.hlpb-toc li{margin:12px 0}.hlpb-toc-sub{margin-left:18px!important}.hlpb-toc a,.hlpb-reading-path a{color:#245e59;font-weight:700;text-decoration:underline;text-underline-offset:4px}.hlpb-reading-path{width:calc(100% - 48px);max-width:1180px;margin:24px auto 40px}.hlpb-reading-path ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-left:24px}.hlpb-reading-path li{padding:8px}.hlpb-reading-path p{line-height:1.7}.article-detail h2[id],.article-detail h3[id]{scroll-margin-top:100px}.hlpb-tools button:focus-visible,.hlpb-tools-dialog :focus-visible,.hlpb-toc a:focus-visible,.hlpb-reading-path a:focus-visible{outline:3px solid #c59212;outline-offset:4px}@media(max-width:650px){.hlpb-reading-path ol{grid-template-columns:1fr;gap:8px}.hlpb-tools{width:calc(100% - 32px)}.hlpb-reading-path{width:calc(100% - 32px)}.hlpb-tools-dialog{padding:18px}.hlpb-tools button{flex:1 1 auto}}
/* Compact shared header actions. */
.site-header{gap:12px}.site-header>.brand{flex-shrink:0}.site-header>nav{margin-left:auto}.site-header .hlpb-header-tools{width:auto;max-width:none;margin:0;gap:4px;flex-wrap:nowrap;flex:0 0 auto;order:3}.hlpb-header-tools button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;min-width:44px;height:44px;border:0;background:transparent;color:var(--navy);font-size:13px;border-radius:6px}.hlpb-header-tools button:hover{background:#eee5d3;color:var(--navy)}.hlpb-header-tools svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;flex:none}.hlpb-header-label{white-space:nowrap}.hlpb-sr-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.site-header>.menu-button{order:2;flex:none;margin-left:auto}.hlpb-article-tools{justify-content:flex-end;margin-block:12px}@media(max-width:1280px){.hlpb-header-label{display:none}.site-header .hlpb-header-tools button{padding:8px;width:44px;flex:none}}@media(max-width:767px){.site-header>nav{display:none}.site-header>.menu-button{display:block}.site-header.open>nav{display:grid;position:absolute;left:0;right:0;top:74px;margin:0;padding:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:var(--paper);border:1px solid var(--navy);max-height:calc(100dvh - 74px);overflow:auto}.site-header.open>nav a{min-height:48px;border:1px solid #c0c7bd}.site-header .brand{flex:1;min-width:0}.site-header .brand b{font-size:13px}}@media(max-width:640px){.site-header{gap:4px;padding-inline:12px}.site-header .brand{gap:5px;flex:1;min-width:0}.site-header .brand img{width:40px}.site-header .brand b{font-size:12px;line-height:1.35}.site-header>.menu-button{width:44px;height:44px;margin:0;padding:10px}.site-header .hlpb-header-tools{gap:0}.site-header.open>nav{top:66px;max-height:calc(100dvh - 66px)}}

@media(min-width:768px){.site-header>nav,.site-header.open>nav{display:flex;position:static;align-items:center;margin-left:auto;padding:0;border:0;background:transparent;max-height:none;overflow:visible}.site-header>.menu-button{display:none}.site-header>nav a{white-space:nowrap}}
/* Keep the original horizontal desktop menu; compact only the outer spacing. */
@media(min-width:768px) and (max-width:1100px){.site-header{display:flex;height:74px;min-height:0;gap:6px;padding:0 12px}.site-header>.brand{gap:6px}.site-header>.brand img{width:44px}.site-header>.brand b{font-size:13px}.site-header>nav a{padding:8px 7px;font-size:13px}.site-header .hlpb-header-tools{gap:0}.site-header .hlpb-header-tools button{width:40px;min-width:40px;padding:7px}}

.hlpb-card-save{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;margin:12px 0 0 12px;border:1px solid #193345;border-radius:5px;background:#f4f6f8;color:#193345;font:inherit;font-weight:700;cursor:pointer}.hlpb-card-save[aria-pressed=true]{background:#316f69;color:white}.hlpb-card-save:focus-visible{outline:3px solid #c59212;outline-offset:3px}

/* Short first-visit route, without a heavy enclosing card. */
.hlpb-reading-path.hlpb-reading-path-simple{background:transparent;border:0;box-shadow:none;padding:0;margin:28px auto 36px}
.hlpb-reading-path-simple h2{font-size:clamp(1.45rem,3vw,1.9rem);margin:0 0 18px}
.hlpb-reading-path-simple .hlpb-path-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0;margin:0}
.hlpb-path-steps>li{padding:0;margin:0;min-width:0}
.hlpb-reading-path-simple .hlpb-path-step{display:flex;align-items:center;gap:16px;min-height:112px;padding:20px;background:var(--paper,#f4f6f8);border:1px solid #aab7ad;border-radius:8px;box-shadow:3px 3px 0 #78a6aa;color:var(--navy,#193345);text-decoration:none}
.hlpb-path-step:hover{border-color:#316f69;background:#f8fafc}
.hlpb-path-number{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#f8c64d;color:#193345;font-weight:800;font-size:1rem}
.hlpb-path-copy{display:grid;gap:7px;min-width:0}.hlpb-path-copy strong{font-size:1.15rem;line-height:1.35}.hlpb-path-copy>span{font-size:.92rem;font-weight:400;color:#53665f;line-height:1.5}
/* Expand only the degree the reader needs; article links remain ordinary hyperlinks. */
.skill-level-hint{color:#53665f;font-size:.95rem;margin:12px 0}
.skill-level-grid{gap:12px!important;margin:16px 0 24px!important}
.skill-level-grid>.skill-card{padding:0!important;box-shadow:3px 3px 0 var(--sea,#78a6aa);border-radius:6px;overflow:hidden}
.skill-card .skill-level-detail{border:0!important;background:transparent!important;margin:0!important;padding:0!important}
.skill-level-detail>.skill-level-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px!important;cursor:pointer;list-style:none;min-height:70px}
.skill-level-summary::-webkit-details-marker{display:none}.skill-level-summary::marker{content:''}
.skill-level-summary::after{content:'＋';font-size:1.1rem;font-weight:600;color:#316f69;flex:none}.skill-level-detail[open]>.skill-level-summary::after{content:'−'}
.skill-level-summary .skill-card-top{border:0;padding:0;margin:0;align-items:center;gap:14px;min-width:0}
.skill-level-summary .skill-card-top strong,.skill-level-summary .skill-card-top mark{font-size:1.45rem;line-height:1.2;background:transparent;color:var(--navy);padding:0;font-weight:800}
.skill-level-summary .skill-card-top h3{font-size:1rem!important;line-height:1.4;margin:0!important}
.skill-level-detail[open]>.skill-level-summary{border-bottom:1px solid #d8dace}
.skill-level-detail>ul{margin:14px 20px 12px!important;padding-left:18px;gap:6px;font-size:.96rem}
.skill-level-detail .skill-reading-links{display:block;margin:8px 20px;line-height:1.85;font-size:.96rem}
.skill-level-detail .skill-reading-links:last-child{margin-bottom:18px}
.skill-links-label{color:#53665f;margin-right:6px}
.skill-reading-links a.skill-reading-link{display:inline!important;background:transparent!important;border:0!important;box-shadow:none!important;min-height:0!important;padding:0!important;margin:0!important;border-radius:0!important;color:#245e59!important;text-decoration:underline!important;text-underline-offset:4px;font-size:inherit!important;font-weight:600;white-space:normal;transform:none!important}
.skill-reading-link::after{content:none!important}.skill-reading-link+ .skill-reading-link::before{content:'・';display:inline-block;margin:0 6px;color:#64746c}
.skill-reading-link:hover{color:#122f43!important;text-decoration-thickness:2px!important}
.skill-level-summary:focus-visible,.skill-reading-link:focus-visible{outline:3px solid #c59212;outline-offset:3px}
@media(max-width:650px){.hlpb-reading-path-simple .hlpb-path-steps{grid-template-columns:1fr;gap:10px}.hlpb-reading-path-simple .hlpb-path-step{min-height:88px;padding:16px}.hlpb-path-copy strong{font-size:1.05rem}.skill-level-summary .skill-card-top strong,.skill-level-summary .skill-card-top mark{font-size:1.4rem}.skill-level-detail>.skill-level-summary{padding:16px!important;min-height:68px}.skill-level-detail .skill-reading-links{margin-left:16px;margin-right:16px}}

.page-beginners .hlpb-reading-path:not(.hlpb-reading-path-simple){display:none}

.skill-level-grid{align-items:start}

/* Reading continuity, venue refinement and dated activity calendar. */
.hlpb-read-badge:empty{display:none}.hlpb-read-badge{display:inline-block;font-size:12px;font-weight:700;color:#245e59;margin:0 0 6px}
.hlpb-learning-progress{max-width:1180px}.hlpb-progress-count{font-weight:700;color:#245e59}.hlpb-progress-bar{width:100%;height:10px;accent-color:#3f6f69}.hlpb-learning-checklist{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.hlpb-learning-checklist li{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #c4cec3;background:#ffffff}.hlpb-learning-checklist input{width:22px;height:22px;flex:none;accent-color:#3f6f69}.hlpb-learning-checklist a,.hlpb-more-topic{color:#245e59;font-weight:700;text-decoration:underline;text-underline-offset:4px}.hlpb-more-topic{display:inline-block;margin-top:12px}
.hlpb-court-refine{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin:18px 0}.hlpb-court-refine label{display:flex;align-items:center;gap:8px;min-height:44px;font-weight:600}.hlpb-court-refine input{width:20px;height:20px;accent-color:#3f6f69}.hlpb-court-refine select,.hlpb-court-refine button{font:inherit;min-height:44px;padding:8px 12px;background:#ffffff;color:#1e2f3e;border:1px solid #1e2f3e;border-radius:4px}.hlpb-court-refine button{cursor:pointer}.hlpb-filter-status{flex-basis:100%;font-size:14px;margin:0;color:#53665f}.court-grid>.card[hidden]{display:none!important}
.hlpb-calendar{max-width:1180px}.hlpb-calendar-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}.hlpb-calendar-panel,.hlpb-calendar-agenda{padding:24px;background:#ffffff;border:1px solid #1e2f3e;box-shadow:5px 5px 0 #78a6aa;min-width:0}.hlpb-calendar-controls{display:flex;align-items:center;gap:8px;margin-bottom:20px;flex-wrap:wrap}.hlpb-calendar-controls h3{flex:1;text-align:center;font-size:20px;margin:0}.hlpb-calendar button{font:inherit;cursor:pointer;min-height:44px;border:1px solid #c4cec3;border-radius:4px;background:#f4f6f8;color:#1e2f3e;padding:6px 12px}.hlpb-calendar-controls button{font-size:13px}.hlpb-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.hlpb-calendar-weekday{text-align:center;color:#53665f;font-size:14px;padding-bottom:6px}.hlpb-calendar-grid .hlpb-calendar-day{position:relative;min-width:0;padding:8px 2px;height:54px;border-color:transparent}.hlpb-calendar-day:disabled{cursor:default;color:#68746c;opacity:1;background:transparent}.hlpb-calendar-day.has-events{font-weight:800;border:1px solid #3f6f69;background:#e5eee4}.hlpb-calendar-day[aria-pressed=true]{background:#3f6f69;color:#fff}.hlpb-calendar-day[aria-current=date]{outline:2px solid #d5a325;outline-offset:-3px}.hlpb-calendar-dot{position:absolute;bottom:4px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:currentColor}.hlpb-calendar-agenda>h3{margin:0 0 16px;font-size:20px}.hlpb-calendar-item{padding:14px 0;border-top:1px solid #c4cec3}.hlpb-calendar-item>a{font-size:17px;font-weight:700;color:#245e59;text-decoration:underline;text-underline-offset:4px;line-height:1.6}.hlpb-calendar-item p{font-size:14px;line-height:1.6;margin:6px 0}.hlpb-calendar-item .hlpb-calendar-date{color:#53665f;font-size:13px}.hlpb-calendar-add{display:inline-flex;align-items:center;font:inherit;font-size:13px;min-height:44px;padding:8px 12px;margin:8px 0;border:1px solid #3f6f69;background:#ffffff;color:#245e59;border-radius:4px;font-weight:700;cursor:pointer}.hlpb-calendar-all{display:inline-block;margin-top:16px;font-weight:700;color:#245e59;text-decoration:underline;text-underline-offset:4px}.hlpb-calendar :focus-visible,.hlpb-court-refine :focus-visible,.hlpb-learning-progress :focus-visible{outline:3px solid #c59212;outline-offset:3px}
@media(max-width:700px){.hlpb-calendar-layout,.hlpb-learning-checklist{grid-template-columns:1fr}.hlpb-calendar-panel,.hlpb-calendar-agenda{padding:16px}.hlpb-calendar-controls h3{font-size:17px}.hlpb-calendar-grid{gap:4px}.hlpb-calendar-grid .hlpb-calendar-day{height:48px}.hlpb-calendar-controls button{padding:6px 8px}.hlpb-court-refine{gap:8px 16px}}

.update-timeline{max-width:960px}.update-entry{display:grid;grid-template-columns:80px 1fr;gap:24px;padding:28px 0;border-top:2px solid #6e9fa5}.update-entry time{font-size:1.4rem;font-weight:800;color:#3f7370}.update-entry h2{margin-top:0}.update-tag{display:inline-block;border:1px solid #3f7370;padding:4px 9px;margin:0 6px 6px 0;font-size:.85rem}.hlpb-site-status{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end;font-size:.85rem;padding-top:12px}.hlpb-site-status a{color:#ffcf54;text-decoration:underline}.hlpb-site-status span{color:inherit}@media(max-width:600px){.update-entry{grid-template-columns:1fr;gap:8px}.hlpb-site-status{justify-content:flex-start}}
