/* Koto Map contents directory — Owner design reference.
   All class names ic- to isolate from the production site.
   packet 5074: compact 5-column table + 300/page numbered pagination. */
.ic-page{color-scheme:light;--ic-ink:#14352e;--ic-muted:#61776e;--ic-accent:#0d745a;--ic-accent-strong:#075b46;--ic-line:#dce9e1;--ic-soft:#edf8f3;--ic-page:#f7faf8;--ic-white:#fff;--ic-radius:18px;--ic-zebra:#f0f7f3;--ic-head:#e9f5ef}
.ic-page,.ic-page *{box-sizing:border-box}
.ic-page{color:var(--ic-ink);background:radial-gradient(circle at 90% 10%,#eef9f3 0,transparent 34%),var(--ic-page);font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}
.ic-page :is(button,input,select){font:inherit}
.ic-page button{cursor:pointer}
.ic-page button:disabled{cursor:default}
.ic-page a{color:inherit}
.ic-container{max-width:1320px;margin:0 auto;padding-left:26px;padding-right:26px}
.ic-crumb{display:flex;gap:10px;align-items:center;font-size:13px;color:#61796e;margin-top:30px;margin-bottom:24px}
.ic-crumb a{text-decoration:none;color:#466b5e}
.ic-crumb a:hover{text-decoration:underline}
.ic-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:28px}
.ic-eyebrow{display:inline-flex;gap:8px;align-items:center;font-weight:750;font-size:12px;color:#0c7358;padding:6px 10px;background:#e1f4e9;border-radius:999px;margin-bottom:12px}
.ic-title{font-weight:850;letter-spacing:-.045em;font-size:clamp(27px,4vw,40px);line-height:1.3;margin:0 0 11px}
.ic-lead{color:#64796f;line-height:1.85;margin:0;max-width:680px;font-size:14px}
.ic-language{display:flex;align-items:center;gap:9px;margin-bottom:14px;color:#536f62;font-weight:700;font-size:13px}
.ic-language .ic-sep{color:#8da79b}
.ic-metrics{display:grid;grid-template-columns:1.15fr 1fr 1fr .9fr;gap:10px;margin-bottom:23px}
.ic-metric{padding:17px 20px;min-height:104px;background:#fff;border:1px solid var(--ic-line);border-radius:16px;box-shadow:0 6px 20px #133d2810}
.ic-metric .ic-number{font-size:27px;font-weight:850;letter-spacing:-.05em;color:#0c654e;font-variant-numeric:tabular-nums}
.ic-metric .ic-meta{font-size:12px;font-weight:700;color:#63786d;margin-top:4px}
.ic-directory{background:#fff;border:1px solid #dde9e1;border-radius:22px;box-shadow:0 10px 36px #15382a0f;overflow:hidden;margin-bottom:32px}
.ic-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--ic-line);background:#fff;padding:0 22px}
.ic-tab{border:0;background:transparent;padding:19px 10px 15px;color:#66786f;font-weight:750;font-size:16px;display:flex;align-items:center;justify-content:center;gap:11px;position:relative;white-space:nowrap}
.ic-tab[aria-selected=true]{color:#b45309;background:#fff3e2}
.ic-tab[aria-selected=true]:after{content:"";position:absolute;bottom:-1px;left:10%;width:80%;height:4px;background:#e8890c;border-radius:6px 6px 0 0}
.ic-tab-count{font-size:12px;background:#f1f5f2;color:#60796b;border-radius:999px;padding:4px 10px;font-weight:750;font-variant-numeric:tabular-nums}
.ic-tab[aria-selected=true] .ic-tab-count{background:#ffd9a8;color:#92400e}
.ic-controls{padding:16px 20px 10px;background:#fff;border-bottom:1px solid var(--ic-line)}
.ic-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ic-search-wrap{position:relative;display:block;flex:1 1 320px;min-width:220px}
.ic-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#6f877a;pointer-events:none}
.ic-search{width:100%;height:42px;border-radius:11px;border:1px solid #d6e5db;background:#fbfdfb;padding:0 14px 0 42px;color:#153e32;outline:none;font-size:14px}
.ic-search:focus,.ic-select:focus{border-color:#169b75;box-shadow:0 0 0 3px #15a47720}
.ic-lesson-wrap{flex:0 1 240px;min-width:170px}
.ic-select{height:42px;width:100%;border:1px solid #d6e5db;border-radius:11px;background:#fbfdfb;color:#234a3b;outline:none;padding:0 30px 0 12px;font-size:13px;font-weight:650;min-width:0}
.ic-segments{display:flex;gap:6px;align-items:center;padding:3px;background:#f1f7f3;border-radius:11px;flex:none}
.ic-segment{border:0;border-radius:8px;background:transparent;color:#527366;min-height:32px;padding:0 13px;font-size:12px;font-weight:750;white-space:nowrap}
.ic-segment[aria-pressed=true]{background:#fff;color:#116449;box-shadow:0 2px 8px #103d2112}
.ic-count-wrap{display:flex;align-items:center;gap:7px;flex:none}
.ic-count-label{font-size:12px;font-weight:750;color:#4c6a5d;white-space:nowrap}
.ic-count-select{width:92px;height:42px}
.ic-summary{padding:10px 2px 6px}
.ic-results-count{color:#48655a;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums}
.ic-pager{display:flex;gap:5px;flex-wrap:wrap;align-items:center;padding:9px 20px}
.ic-pager--top{border-bottom:1px solid var(--ic-line)}
.ic-pager--bottom{border-top:1px solid var(--ic-line)}
.ic-page-btn{min-width:36px;height:32px;border:1px solid #d6e5db;border-radius:8px;background:#fbfdfb;color:#234a3b;font-size:12px;font-weight:750;padding:0 10px;font-variant-numeric:tabular-nums}
.ic-page-btn:hover:not(:disabled){background:#eef7f1}
.ic-page-btn:disabled{opacity:.42}
.ic-page-btn[aria-current=page]{background:var(--ic-accent);border-color:var(--ic-accent);color:#fff;opacity:1}
.ic-page-ellipsis{color:#7b8f84;font-size:12px;padding:0 3px;align-self:center}
.ic-page-jump{height:32px;border:1px solid #d6e5db;border-radius:8px;background:#fbfdfb;color:#234a3b;font-size:12px;font-weight:700;padding:0 24px 0 9px;margin-left:2px}
.ic-table-wrap{display:block}
.ic-table{width:100%;border-collapse:collapse;table-layout:fixed}
.ic-table thead th{position:sticky;top:0;z-index:1;background:var(--ic-head);padding:8px 10px;font-size:12.5px;font-weight:800;text-align:left;color:#33584c;border-bottom:2px solid #cfe4d9;white-space:nowrap}
.ic-table tbody td{padding:6px 10px;font-size:13px;line-height:1.5;border-bottom:1px solid #e8f1ea;vertical-align:top;overflow-wrap:anywhere}
.ic-table tbody tr:nth-child(even){background:var(--ic-zebra)}
.ic-table tbody tr:hover{background:#e5f1ea}
.ic-table tbody tr:focus-within{background:#e5f1ea}
th.ic-col-id{width:8%}
th.ic-col-lesson{width:17%}
th.ic-col-ja{width:30%}
th.ic-col-hi{width:36%}
th.ic-col-access{width:9%;text-align:center}
td.ic-col-id{font-size:11px;color:#6c8277;font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:9px}
td.ic-col-lesson{font-size:11.5px;color:#4c6a5d;line-height:1.45}
td.ic-col-ja{font-size:13px;font-weight:640;color:#173a30}
td.ic-col-hi{font-size:15px;font-weight:700;color:#113f32;font-family:"Noto Sans Devanagari","Mangal",system-ui,sans-serif;word-break:normal;line-height:1.5}
td.ic-col-access{text-align:center;white-space:nowrap}
.ic-pill{display:inline-block;font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:999px;border:1px solid #cfe4d2;background:#eef4f0;color:#4a6a5c}
.ic-pill--free{background:#e3f4e8;border-color:#bfe6cc;color:#0b7355}
.ic-table .ic-empty{text-align:center;padding:45px 14px;color:#667c70;font-size:13px}
.ic-status{padding:10px 20px;background:#f9fcfa;border-top:1px solid #edf4ef;color:#708277;font-size:11px;line-height:1.65}
.ic-foot-links{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:0 0 48px;color:#336951;font-size:13px;font-weight:750}
.ic-foot-links a{text-decoration:none;border-bottom:1px solid #bddbd1;padding-bottom:3px}
.ic-foot-links a:hover{color:#0b7657;border-color:#0b7657}
.ic-page-note{padding:12px 15px;background:#f0f6f1;border:1px solid #dce8dc;border-radius:11px;color:#718276;font-size:11px;line-height:1.7;margin-bottom:24px}
.ic-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #16835f;outline-offset:3px}
@media(max-width:680px){
  .ic-container{padding-left:14px;padding-right:14px}
  .ic-crumb{margin-top:20px;margin-bottom:18px}
  .ic-hero{display:block;margin-bottom:22px}
  .ic-title{font-size:29px}
  .ic-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .ic-metric{min-height:88px;padding:13px 15px}
  .ic-metric .ic-number{font-size:23px}
  .ic-directory{border-radius:17px}
  .ic-tabs{padding:0 12px}
  .ic-tab{padding:17px 0 14px;font-size:14px;gap:6px}
  .ic-controls{padding:14px 14px 8px}
  .ic-toolbar{gap:8px}
  .ic-search-wrap{flex:1 1 100%;min-width:0}
  .ic-lesson-wrap{flex:1 1 180px;min-width:0}
  .ic-count-wrap{margin-left:auto}
  .ic-pager{padding:8px 14px;gap:4px}
  .ic-page-btn{min-width:34px;height:32px;padding:0 8px;font-size:11.5px}
  .ic-page-jump{font-size:11.5px}
  .ic-table,.ic-table tbody{display:block}
  .ic-table thead{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .ic-table tbody tr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"id lesson badge" "ja ja ja" "hi hi hi";column-gap:10px;row-gap:2px;padding:8px 14px;border-bottom:1px solid var(--ic-line)}
  .ic-table tbody td{display:block;padding:0;border:0;min-width:0}
  td.ic-col-id{grid-area:id;font-size:10.5px;padding:0;white-space:normal}
  td.ic-col-lesson{grid-area:lesson;font-size:10.5px}
  td.ic-col-access{grid-area:badge;justify-self:end;align-self:start}
  td.ic-col-ja{grid-area:ja;font-size:14px;margin-top:3px}
  td.ic-col-hi{grid-area:hi;font-size:15.5px;margin-top:1px}
  .ic-status{padding:12px 14px}
}
@media(max-width:370px){
  .ic-segment{padding:0 9px;font-size:11px}
  .ic-tab-count{padding:3px 7px;font-size:10px}
  .ic-tab{font-size:13px}
  .ic-metric .ic-number{font-size:21px}
  .ic-page-btn{min-width:32px;height:30px;padding:0 7px;font-size:11px}
  td.ic-col-hi{font-size:15px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
