.modal-overlay[data-astro-cid-pcagyke7]{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-box[data-astro-cid-pcagyke7]{background:var(--color-white);border-radius:var(--radius-lg);border-top:5px solid var(--color-primary);flex-direction:column;width:100%;max-width:clamp(560px,75vw,1500px);height:min(88vh,940px);display:flex;overflow:hidden;box-shadow:0 8px 40px #0003}.selector-inline[data-astro-cid-pcagyke7]{width:100%}.modal-box--inline[data-astro-cid-pcagyke7]{border:1px solid var(--color-border);border-top:5px solid var(--color-primary);max-width:none;height:clamp(440px,100vh - 20rem,780px);box-shadow:var(--shadow-md)}.modal-header[data-astro-cid-pcagyke7]{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:1.1rem 1.25rem .85rem;display:flex}.modal-title-wrap[data-astro-cid-pcagyke7]{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.modal-title[data-astro-cid-pcagyke7]{color:var(--color-text);font-size:clamp(1.2rem,1.35vw,1.75rem);font-weight:700}.modal-title-ja[data-astro-cid-pcagyke7]{color:var(--color-text-muted);font-size:clamp(.95rem,1.05vw,1.3rem);font-weight:600;font-family:var(--font-rounded)}.modal-close[data-astro-cid-pcagyke7]{flex-shrink:0}.selector-body[data-astro-cid-pcagyke7]{flex:1;grid-template-columns:minmax(0,1fr) clamp(250px,26%,360px);min-height:0;display:grid}.selector-main[data-astro-cid-pcagyke7]{flex-direction:column;min-width:0;min-height:0;display:flex}.selector-pane[data-astro-cid-pcagyke7]{flex-direction:column;flex:1;min-height:0;display:flex}.selector-pane[data-astro-cid-pcagyke7][hidden]{display:none}.search-row[data-astro-cid-pcagyke7]{border-bottom:1px solid var(--color-border);flex-shrink:0;padding:.75rem 1.25rem;position:relative}.search-icon[data-astro-cid-pcagyke7]{width:18px;height:18px;color:var(--color-text-faint);pointer-events:none;position:absolute;top:50%;left:1.9rem;transform:translateY(-50%)}#selector-search[data-astro-cid-pcagyke7]{width:100%;color:var(--color-text);background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius-pill);padding:.6rem 2.4rem;font-family:inherit;font-size:clamp(.95rem,1vw,1.2rem)}#selector-search[data-astro-cid-pcagyke7]:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.search-clear[data-astro-cid-pcagyke7]{position:absolute;top:50%;right:1.5rem;transform:translateY(-50%)}.search-clear[data-astro-cid-pcagyke7]:hover{transform:translate(-1px,calc(-50% - 1px))}.search-clear[data-astro-cid-pcagyke7]:active{transform:translate(3px,calc(3px - 50%))}.modal-browse[data-astro-cid-pcagyke7]{flex:1;min-height:0;overflow-y:auto}.selector-aside[data-astro-cid-pcagyke7]{border-left:1px solid var(--color-border);background:var(--color-bg);flex-direction:column;min-height:0;display:flex}.aside-head[data-astro-cid-pcagyke7]{border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.aside-title[data-astro-cid-pcagyke7]{color:var(--color-text);font-size:clamp(.95rem,1vw,1.2rem);font-weight:800}.aside-title-ja[data-astro-cid-pcagyke7]{color:var(--color-text-muted);font-size:.78em;font-weight:600;font-family:var(--font-rounded);display:block}.aside-count[data-astro-cid-pcagyke7]{border:2px solid color-mix(in srgb, var(--color-primary) 62%, #000);border-radius:var(--radius-pill);background:var(--color-primary);min-width:2.2rem;color:var(--color-white);text-align:center;padding:.15rem .55rem;font-weight:800;line-height:1.2}.aside-clear[data-astro-cid-pcagyke7]{margin-left:auto}.aside-clear[data-astro-cid-pcagyke7][hidden]{display:none}.aside-list[data-astro-cid-pcagyke7]{flex-direction:column;flex:1;gap:.4rem;min-height:0;padding:.75rem;display:flex;overflow-y:auto}.aside-foot[data-astro-cid-pcagyke7]{border-top:1px solid var(--color-border);background:var(--color-white);flex-direction:column;flex-shrink:0;gap:.5rem;padding:.85rem 1rem;display:flex}.aside-hint[data-astro-cid-pcagyke7]{color:var(--color-text-muted);margin:0;font-size:clamp(.8rem,.85vw,1rem);font-weight:700}.aside-hint[data-astro-cid-pcagyke7][hidden]{display:none}.aside-start[data-astro-cid-pcagyke7]{width:100%}.sel-group{border-bottom:1px solid var(--color-border)}.sel-group:last-child{border-bottom:none}.sel-group-head{appearance:none;background:var(--color-white);border:none;border-left:5px solid var(--cat,var(--color-border-strong));cursor:pointer;text-align:left;width:100%;color:inherit;transition:background var(--transition-fast);align-items:center;gap:clamp(.5rem,.8vw,.9rem);padding:clamp(.7rem,.9vw,1rem) clamp(1rem,1.4vw,1.6rem);font-family:inherit;display:flex}.sel-group-head:hover{background:color-mix(in srgb, var(--color-primary) 8%, transparent)}.sel-chev{color:var(--color-text-faint);transition:transform var(--transition-fast);flex-shrink:0;font-size:.85rem}.sel-group.open .sel-chev{transform:rotate(90deg)}.sel-group-label{color:var(--color-text);font-size:clamp(.95rem,1.05vw,1.35rem);font-weight:700}.sel-group-ja{color:var(--color-text-faint);font-size:clamp(.82rem,.95vw,1.1rem);font-weight:600;font-family:var(--font-rounded)}.sel-group-count{color:var(--color-text-faint);flex-shrink:0;margin-left:auto;font-size:clamp(.78rem,.85vw,1rem);font-weight:700}.sel-group-body{display:none}.sel-group.open .sel-group-body{flex-wrap:wrap;gap:.4rem;padding:.4rem clamp(1rem,1.4vw,1.6rem) .85rem clamp(1.75rem,2.2vw,2.6rem);display:flex}.sel-chip{appearance:none;background:var(--color-white);border:1.5px solid var(--cat,var(--color-border-strong));border-radius:var(--radius-pill);cursor:pointer;color:var(--color-text);transition:background var(--transition-fast), color var(--transition-fast);align-items:baseline;gap:.35rem;padding:.35rem .8rem;font-family:inherit;display:inline-flex}.sel-chip:hover{background:color-mix(in srgb, var(--cat) 12%, var(--color-white))}.sel-chip.on{background:var(--cat,var(--color-primary));border-color:var(--cat,var(--color-primary));color:#fff}.sel-chip-en{font-size:clamp(.85rem,.95vw,1.15rem);font-weight:700}.sel-chip-ja{color:var(--color-text-faint);font-size:clamp(.72rem,.8vw,.95rem);font-family:var(--font-rounded)}.sel-chip.on .sel-chip-ja{color:#ffffffd9}.sel-no-results{text-align:center;color:var(--color-text-faint);padding:2.5rem 1.5rem;font-size:clamp(.9rem,1vw,1.15rem);line-height:1.7}.sel-lock-hint{border:1px solid var(--color-border);border-left:4px solid var(--color-secondary);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-secondary) 8%, var(--color-white));color:var(--color-text-muted);text-align:left;margin:0;padding:.65rem .8rem;font-size:.8rem;font-weight:600;line-height:1.45}.sel-list-empty{border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-faint);margin:0;padding:.75rem;font-size:clamp(.82rem,.9vw,1.05rem);line-height:1.5}.sel-entry{background:var(--color-white);border:1px solid var(--color-border);border-left:5px solid var(--cat,var(--color-border-strong));border-radius:var(--radius-sm);align-items:center;gap:.4rem;padding:.3rem .4rem .3rem 0;display:flex}.sel-entry-main{appearance:none;text-align:left;min-width:0;color:inherit;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:.05rem;padding:.2rem .6rem;font-family:inherit;display:flex}button.sel-entry-main{cursor:pointer;border-radius:var(--radius-xs)}button.sel-entry-main:hover{background:color-mix(in srgb, var(--cat) 10%, transparent)}.sel-entry-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--color-text);font-size:clamp(.88rem,.95vw,1.1rem);font-weight:800;overflow:hidden}.sel-entry-sub{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--color-text-muted);font-size:clamp(.72rem,.8vw,.92rem);font-family:var(--font-rounded);overflow:hidden}.sel-entry--word .sel-entry-title{font-weight:700}.sel-entry-count{color:var(--color-text-muted);flex-shrink:0;font-size:clamp(.78rem,.85vw,1rem);font-weight:800}.sel-entry-remove.btn{width:28px;min-width:28px;min-height:28px;box-shadow:2px 2px 0 var(--btn-shadow);flex-shrink:0;font-size:.8rem}.sel-panel-head{border-bottom:1px solid var(--color-border);border-left:5px solid var(--cat,var(--color-primary));background:color-mix(in srgb, var(--cat,var(--color-primary)) 8%, var(--color-white));flex-shrink:0;align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}.sel-panel-titles{flex-wrap:wrap;align-items:baseline;gap:.5rem;min-width:0;display:flex}.sel-panel-title{color:var(--color-text);font-size:clamp(1rem,1.15vw,1.4rem);font-weight:800}.sel-panel-ja{color:var(--color-text-muted);font-size:clamp(.85rem,.95vw,1.1rem);font-weight:600;font-family:var(--font-rounded)}.sel-panel-count{color:var(--color-text);flex-shrink:0;margin-left:auto;font-size:clamp(.9rem,1vw,1.2rem);font-weight:800}.sel-panel-hint{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);flex-shrink:0;margin:0;padding:.6rem 1.25rem;font-size:clamp(.8rem,.88vw,1rem)}.sel-panel-warn{color:var(--color-danger);font-weight:800}.sel-panel-body{flex:1;min-height:0;padding:.85rem 1.25rem;overflow-y:auto}.sel-panel-grid{grid-template-columns:repeat(auto-fill,minmax(clamp(120px,12vw,190px),1fr));gap:clamp(.5rem,.7vw,.9rem);display:grid}.sel-panel-foot{border-top:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:.5rem;padding:.75rem 1.25rem;display:flex}.sel-panel-add{margin-left:auto}.sel-textbooks{background:color-mix(in srgb, var(--color-secondary) 8%, var(--color-white))}.sel-textbooks-head{cursor:default;border-left-color:var(--color-secondary)}.sel-textbooks-head:hover{background:0 0}.sel-textbooks-mark{border-radius:var(--radius-round);background:color-mix(in srgb, var(--color-secondary) 22%, var(--color-white));border:2px solid color-mix(in srgb, var(--color-secondary) 62%, var(--color-text));width:1.8rem;height:1.8rem;color:var(--color-text);flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;line-height:1;display:inline-flex}.sel-textbook-body{padding:.75rem clamp(.8rem,1.2vw,1.3rem) 1rem}.sel-book-grid{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:.75rem;display:grid}.sel-book-card.btn{--btn-border:var(--color-border);--btn-shadow:var(--color-border);text-align:left;grid-template-columns:56px minmax(0,1fr);justify-content:stretch;gap:.75rem;min-width:0;padding:.55rem .7rem;display:grid}.sel-book-card.on{--btn-bg:color-mix(in srgb, var(--book) 15%, var(--color-white));--btn-fg:var(--color-text);--btn-border:var(--book);--btn-shadow:var(--book)}.sel-book-cover{aspect-ratio:3/4;border-radius:var(--radius-xs);width:56px;box-shadow:var(--shadow-sm);display:block;overflow:hidden}.sel-book-copy{flex-direction:column;gap:.2rem;min-width:0;display:flex}.sel-book-title{color:var(--color-text);font-size:.9rem;font-weight:800}.sel-book-sub{color:var(--color-text-muted);font-size:.8rem}.sel-unit-panel{border:1px solid color-mix(in srgb, var(--book) 52%, var(--color-border));border-left:5px solid var(--book);border-radius:var(--radius-md);background:var(--color-white);margin-top:.9rem;overflow:hidden}.sel-unit-panel-head{border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--book) 8%, var(--color-white));flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.6rem;padding:.7rem .85rem;display:flex}.sel-unit-panel-title{color:var(--color-text);font-weight:800}.sel-unit-panel-hint{color:var(--color-text-muted);font-size:.8rem}.sel-unit-grid{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:.75rem;padding:.8rem;display:grid}.sel-unit-card.btn{--btn-border:color-mix(in srgb, var(--book) 58%, var(--color-border));--btn-shadow:color-mix(in srgb, var(--book) 58%, var(--color-border));text-align:left;flex-direction:column;align-items:stretch;gap:.15rem;min-width:0;padding:.65rem .75rem;display:flex}.sel-unit-card.on{--btn-bg:color-mix(in srgb, var(--book) 13%, var(--color-white));--btn-fg:var(--color-text)}.sel-unit-top{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.sel-unit-number{color:color-mix(in srgb, var(--book) 52%, var(--color-text));font-size:.8rem;font-weight:800}.sel-unit-count{color:var(--color-text-faint);text-align:right;font-size:.8rem;font-weight:600}.sel-unit-title{color:var(--color-text);font-size:.88rem;font-weight:800}.sel-unit-ja{color:var(--color-text-muted);font-size:.8rem;font-weight:600}.sel-confirm-category{border:1px solid var(--color-border);border-left:5px solid var(--cat);border-radius:var(--radius-md);background:color-mix(in srgb, var(--cat) 5%, var(--color-white));padding:.8rem}.sel-confirm-category+.sel-confirm-category{margin-top:.85rem}.sel-confirm-category-head{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.sel-confirm-category.off{background:var(--color-bg);border-style:dashed}.sel-confirm-category.off .sel-confirm-category-title{color:var(--color-text-muted)}.sel-confirm-word:disabled{cursor:default}.sel-confirm-category-title{color:var(--color-text);margin:0;font-size:clamp(.95rem,1vw,1.15rem)}.sel-confirm-category-grid{grid-template-columns:repeat(auto-fill,minmax(clamp(120px,12vw,190px),1fr));gap:clamp(.5rem,.7vw,.9rem);display:grid}.sel-sets{background:color-mix(in srgb, var(--color-primary) 7%, var(--color-white))}.sel-sets-head{cursor:default;border-left-color:var(--color-primary)}.sel-sets-head:hover{background:0 0}.sel-sets-star{color:var(--color-primary);flex-shrink:0;font-size:1rem}.sel-set-chip{border-color:var(--color-primary)}.sel-set-chip:hover{background:color-mix(in srgb, var(--color-primary) 12%, var(--color-white))}.sel-set-chip.on{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.sel-set-chip.on .sel-chip-ja{color:#ffffffd9}.sel-words{background:color-mix(in srgb, var(--color-secondary) 7%, var(--color-white))}.sel-words-head{cursor:default;border-left-color:var(--color-secondary)}.sel-words-head:hover{background:0 0}.sel-word-mark{color:var(--cat,var(--color-primary));font-weight:700;line-height:1}.sel-word-chip.on .sel-word-mark{color:#fff}.sel-group.locked{opacity:.45;pointer-events:none}.sel-chip.some{background:color-mix(in srgb, var(--cat) 14%, var(--color-white));border-style:dashed}.sel-chip-count{border-radius:var(--radius-pill);background:var(--color-white);color:var(--color-text);align-self:center;padding:0 .4rem;font-size:clamp(.7rem,.78vw,.9rem);font-weight:800;line-height:1.5}.sel-chip.some .sel-chip-count{border:1px solid var(--cat)}.sel-confirm-word{text-align:left;background:var(--color-white);border:2px solid color-mix(in srgb, var(--cat,var(--color-primary)) 35%, var(--color-white));border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast), opacity var(--transition-fast), background var(--transition-fast);flex-direction:column;align-items:flex-start;gap:.1rem;padding:.5rem .65rem;font-family:inherit;display:flex}.sel-confirm-word:has(.sel-cw-books){grid-template-columns:minmax(0,1fr) auto;column-gap:.4rem;display:grid}.sel-cw-books{grid-area:1/2/span 2;align-self:center;gap:.2rem;display:flex}.sel-cw-book{aspect-ratio:1;width:clamp(18px,1.5vw,24px)}.sel-confirm-word:hover{border-color:var(--cat,var(--color-primary))}.sel-confirm-word.off{opacity:.5;border-style:dashed;border-color:var(--color-border);background:color-mix(in srgb, var(--color-text) 8%, transparent)}.sel-confirm-word .sel-cw-en{color:var(--color-text);font-size:clamp(.9rem,1vw,1.2rem);font-weight:700}.sel-confirm-word.off .sel-cw-en{color:var(--color-text-muted);text-decoration:line-through}.sel-confirm-word .sel-cw-ja{color:var(--color-text-muted);font-size:clamp(.76rem,.85vw,1rem);font-family:var(--font-rounded)}@media (width<=760px){.modal-box[data-astro-cid-pcagyke7],.modal-box--inline[data-astro-cid-pcagyke7]{height:auto;max-height:92vh}.selector-body[data-astro-cid-pcagyke7]{grid-template-columns:1fr;overflow-y:auto}.selector-main[data-astro-cid-pcagyke7]{min-height:50vh}.selector-aside[data-astro-cid-pcagyke7]{border-left:none;border-top:1px solid var(--color-border)}.aside-list[data-astro-cid-pcagyke7]{max-height:30vh}}@media (width<=520px){.sel-book-grid,.sel-unit-grid{grid-template-columns:1fr}}
