/* Site shell and compatibility overrides. Article typography is Qiita's CSS. */
.mirror-main { box-sizing:border-box; width:min(100%, 1000px); margin:0 auto; padding:32px clamp(16px,3vw,40px) 64px; color:#26343d; font:16px/1.8 -apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Noto Sans JP",Meiryo,sans-serif; overflow-wrap:anywhere; }
.mirror-main a { color:#087ea2; text-decoration:underline; text-underline-offset:.15em; }
.mirror-main [id] { scroll-margin-top:85px; }
.mirror-breadcrumb { font-size:14px; margin-bottom:24px; }
.mirror-article-header { margin-bottom:32px; }
.mirror-article-header h1,.mirror-index>h1 { font-size:clamp(24px,3vw,32px); line-height:1.5; margin:12px 0 20px; }
.mirror-category { color:#526b74; margin:0; font-size:14px; }
.mirror-tags { display:flex; flex-wrap:wrap; gap:6px; list-style:none; padding:0; margin:12px 0; }
.mirror-tags li { font-size:12px; line-height:1.7; background:#edf2f3; color:#41565e; border-radius:4px; padding:3px 9px; }
.mirror-dates { color:#56666b; font-size:13px; line-height:1.8; }
.mirror-origin { background:#f4f8f8; border-left:4px solid #55a600; padding:14px 18px; font-size:14px; }
.mirror-toc { margin:24px 0 40px; padding:16px 20px; border:1px solid #dae2e3; border-radius:6px; background:#fafcfc; }
.mirror-toc summary { cursor:pointer; font-weight:700; }
.mirror-toc ul { padding-left:22px; margin:12px 0 0; }
.mirror-toc li { margin:6px 0; font-size:14px; }
.mirror-toc .toc-sub { margin-left:16px; }
.mirror-main .it-MdContent { color:rgba(0,0,0,.87); font-family:inherit; }
.mirror-main .it-MdContent code { display:inline; overflow-wrap:normal; word-break:normal; }
.mirror-main .it-MdContent pre code { display:block; }
.mirror-main .it-MdContent img { max-width:100%; height:auto; }
.mirror-main .it-MdContent table { display:block; max-width:100%; overflow-x:auto; }
.mirror-main .it-MdContent pre { max-width:100%; overflow:auto; }
.mirror-main .it-MdContent .code-frame { max-width:100%; overflow:hidden; }
.mirror-main .it-MdContent .katex-display { overflow-x:auto; overflow-y:hidden; padding:8px 0; }
.mirror-main .it-MdContent a { word-break:normal; }
.mirror-main .mirror-link-card { display:block; padding:14px 18px; border:1px solid #ddd; border-radius:6px; background:#fafafa; margin:16px 0; overflow-wrap:anywhere; }
.mirror-main .mermaid { background:white; white-space:pre; }
.mirror-footer { margin-top:48px; border-top:1px solid #d9e2e4; padding:24px 0 0; font-size:14px; }
.mirror-footer p { color:#56666b; font-size:13px; }
.mirror-filter { margin:28px 0 20px; }
.mirror-filter label { display:block; font-weight:700; margin-bottom:8px; }
.mirror-filter input { box-sizing:border-box; width:100%; padding:12px 14px; font:inherit; border:1px solid #9baeb4; border-radius:6px; }
.mirror-filter p { margin:8px 0; font-size:14px; color:#56666b; }
.mirror-category-nav { display:flex; flex-wrap:wrap; gap:8px 16px; padding:16px 0; border-bottom:1px solid #ddd; }
.mirror-category-section { margin-top:40px; }
.mirror-category-section h2 { font-size:22px; margin-bottom:20px; }
.mirror-category-section small { font-size:14px; font-weight:400; }
.mirror-cards { list-style:none; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.mirror-card { border:1px solid #d9e2e4; border-radius:8px; padding:20px; background:#fff; }
.mirror-card h3 { margin:0 0 12px; font-size:18px; line-height:1.6; }
.mirror-card-origin { margin:12px 0 0; font-size:13px; }
.mirror-card[hidden],.mirror-category-section[hidden] { display:none; }
.mirror-main :focus-visible { outline:3px solid #087ea2; outline-offset:3px; }
@media(max-width:600px) { .mirror-main { padding:24px 16px 40px; } .mirror-cards { grid-template-columns:1fr; } .mirror-card { padding:16px; } .mirror-toc { padding:12px 16px; } .mirror-main .it-MdContent h1 { font-size:26px; } .mirror-main .it-MdContent h2 { font-size:23px; } }
@media print { .header,.top-wrapper,.mirror-filter,.mirror-toc { display:none; } .mirror-main { padding:0; width:100%; } .mirror-main pre { white-space:pre-wrap; } }
