
.drawer-toggle{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.drawer-button{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;flex:0 0 auto;
  border:1px solid var(--border);border-radius:var(--header-control-radius-sm);
  background:var(--surface);cursor:pointer;
}
.drawer-button:hover{background:var(--link-weak)}
.drawer-toggle:focus-visible+.site-header .drawer-button{outline:2px solid var(--link);outline-offset:2px}
.drawer-icon,.drawer-icon::before,.drawer-icon::after{display:block;width:20px;height:2px;border-radius:2px;background:var(--text);content:""}
.drawer-icon{position:relative}
.drawer-icon::before{position:absolute;top:-6px}
.drawer-icon::after{position:absolute;top:6px}
.drawer-scrim{display:none;position:fixed;inset:0;z-index:60;background:rgb(0 0 0 / 45%);cursor:pointer}
.drawer-toggle:checked~.wiki-layout .drawer-scrim{display:block}
body:has(.drawer-toggle:checked){overflow:hidden}

.site-header{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;gap:12px;
  min-height:var(--header-h);
  padding:6px max(var(--header-gutter),calc((100% - var(--shell)) / 2));
  background:rgb(255 255 255 / 92%);
  backdrop-filter:saturate(1.4) blur(8px);
  border-bottom:1px solid var(--border);
  font-size:16px;line-height:1.75;
}
html[data-sticky-header="off"] .site-header{position:static}
.site-brand{font-weight:700;font-size:15px;letter-spacing:.01em;color:var(--text)}
.site-brand,.site-brand:visited{min-width:0;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-brand:hover{color:var(--link);background:transparent;box-shadow:none;text-decoration:none}
.site-header .skin-toggle,.site-header .skin-toggle:visited{margin-left:4px;font-size:12px;font-weight:400;white-space:nowrap;color:var(--text-muted)}
.site-header .skin-toggle:hover{color:var(--link)}
.header-search{position:relative;flex:0 0 auto}
.header-search [hidden]{display:none!important}
.header-search-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;min-height:40px;padding:0;
  border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text);
  font:inherit;cursor:pointer;
}
.header-search-toggle svg,.header-search-input-icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
.header-search-toggle:hover,.header-search-toggle[aria-expanded="true"]{border-color:var(--border);background:var(--surface-muted);color:var(--link)}
.density-control{position:relative;display:flex;flex:0 0 auto;margin-left:auto}
.density-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;min-height:40px;flex:0 0 auto;padding:0;
  border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-muted);
  font:inherit;cursor:pointer;
}
.density-toggle-icon{font-size:15px;font-weight:700;line-height:1;letter-spacing:-.08em}
.density-toggle-icon small{font-size:10px;font-weight:700}
.density-toggle:hover{border-color:var(--border);background:var(--surface-muted);color:var(--link)}
.density-toggle[aria-pressed="true"]{border-color:var(--link);background:var(--accent-bar);color:var(--link)}
.density-hint{
  position:absolute;top:calc(100% + 7px);left:50%;z-index:2;
  width:max-content;max-width:calc(100vw - 20px);min-height:36px;padding:7px 10px;
  transform:translateX(-50%);-webkit-appearance:none;appearance:none;cursor:pointer;
  border:1px solid var(--border-strong);border-radius:7px;
  background:var(--surface);color:var(--text);
  box-shadow:0 5px 18px rgb(0 0 0 / 16%);
  font-family:inherit;font-size:12px;font-weight:500;line-height:1.4;letter-spacing:0;text-align:center;white-space:nowrap;
}
.density-hint::before{
  position:absolute;top:-5px;left:50%;width:8px;height:8px;
  transform:translateX(-50%) rotate(45deg);
  border:1px solid var(--border-strong);border-right:0;border-bottom:0;
  background:var(--surface);content:"";
}
html[data-density-hint-dismissed] .density-hint{display:none}
.header-search-panel{
  position:absolute;top:calc(100% + 9px);right:0;z-index:90;
  box-sizing:border-box;width:min(460px,calc(100vw - 32px));max-height:min(620px,calc(100vh - var(--header-h) - 24px));
  padding:16px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
  border:1px solid var(--border-strong);border-radius:14px;
  background:var(--surface);box-shadow:0 16px 44px rgb(0 0 0 / 22%);
}
.header-search-panel-head{display:none}
.header-search-close{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;min-height:44px;padding:0;
  border:1px solid var(--border);border-radius:999px;background:var(--surface-muted);color:var(--text);
  font:inherit;cursor:pointer;
}
.header-search-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.header-search-close:hover{border-color:var(--border-strong);background:var(--link-weak);color:var(--link)}
.header-search-form{display:grid;gap:12px;margin:0}
.header-search-input-row{position:relative;display:flex;align-items:center;gap:8px}
.header-search-input-icon{position:absolute;left:12px;width:19px;height:19px;color:var(--text-muted);pointer-events:none}
.header-search-input-row input[type=search]{
  box-sizing:border-box;min-width:0;flex:1 1 auto;height:44px;margin:0;padding:8px 12px 8px 39px;
  border:1px solid var(--border-strong);border-radius:10px;background:#fff;color:var(--text);
  font:inherit;font-size:16px;
}
.header-search-input-row input[type=search]:focus{border-color:var(--link);outline:2px solid var(--accent-bar);outline-offset:0}
.header-search-voice{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;min-height:44px;flex:0 0 auto;padding:0;
  border:1px solid var(--border-strong);border-radius:10px;background:#fff;color:var(--text-muted);
  cursor:pointer;
}
.header-search-voice svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.header-search-voice:hover{border-color:var(--link);background:var(--surface-muted);color:var(--link);filter:none}
.header-search-voice[aria-pressed="true"]{border-color:var(--error-text);background:#fef2f2;color:var(--error-text)}
.header-search-voice:focus-visible{outline:2px solid var(--link);outline-offset:2px}
.header-search-submit{flex:0 0 auto;min-height:44px;padding:8px 15px;border:1px solid var(--link);border-radius:10px;background:var(--link);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.header-search-submit:hover{background:#174ba8;filter:none}
.header-search-options{display:flex;align-items:end;justify-content:space-between;gap:14px}
.header-search-segments{display:flex;min-width:0;margin:0;padding:0;border:0}
.header-search-segments legend{margin:0 0 5px;padding:0;color:var(--text-muted);font-size:11px;font-weight:600}
.header-search-segments label{position:relative;cursor:pointer}
.header-search-segments input{position:absolute;width:1px;height:1px;margin:-1px;opacity:0;pointer-events:none}
.header-search-segments span{display:block;padding:6px 10px;border:1px solid var(--border-strong);background:#fff;color:var(--text-muted);font-size:12px;line-height:1.3;white-space:nowrap}
.header-search-segments label:first-of-type span{border-radius:8px 0 0 8px}
.header-search-segments label:last-of-type span{margin-left:-1px;border-radius:0 8px 8px 0}
.header-search-segments input:checked+span{position:relative;z-index:1;border-color:var(--link);background:var(--surface-muted);color:var(--link);font-weight:600}
.header-search-segments input:focus-visible+span{outline:2px solid var(--link);outline-offset:2px}
.header-search-status{min-height:1.4em;margin:0;color:var(--text-muted);font-size:12px}
.header-search-status.is-error{color:var(--error-text)}
.header-search-results{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.header-search-results:empty{display:none}
.header-search-result{margin:.2em 0}
.header-search-result a,.header-search-result a:visited{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:var(--text)}
.header-search-result a::before{content:"";width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--accent-bar);box-shadow:0 0 0 1px var(--link)}
.header-search-result a:hover,.header-search-result a[aria-selected="true"]{background:var(--surface-muted);color:var(--link);box-shadow:none;text-decoration:none}
.header-search-result-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.header-search-all,.header-search-all:visited{justify-self:start;color:var(--link);font-size:13px;font-weight:600}
.site-header .header-create,.site-header .header-create:visited{
  display:inline-flex;align-items:center;
  flex:0 0 auto;margin-left:0;
  min-height:40px;padding:0 14px;border-radius:999px;
  background:var(--accent-bar);color:var(--link);
  font-size:14px;font-weight:600;white-space:nowrap;box-shadow:none;
}
.site-header .header-create::before{content:"+";margin-right:.3em;font-weight:700}
.site-header .header-create:hover{background:var(--link-weak);color:var(--link);box-shadow:none;text-decoration:none}
.alpha-notice{
  margin:0;padding:9px max(var(--gutter),calc((100% - var(--shell)) / 2));
  color:var(--warn-text);background:var(--warn-bg);
  border-bottom:1px solid var(--warn-border);
  font-size:13px;font-weight:600;line-height:1.5;text-align:center;
}

@media(max-width:640px){
  .site-header{gap:7px}
  .site-header .skin-toggle{display:none}
  .header-search-panel{
    position:fixed;top:var(--header-search-mobile-top,calc(var(--header-h) + 8px));right:10px;left:10px;
    width:auto;max-height:var(--header-search-available-height,calc(100dvh - var(--header-h) - 18px));
    padding:0;-webkit-overflow-scrolling:touch;touch-action:pan-y;
  }
  .header-search-panel.has-scroll-continuation{
    box-shadow:0 16px 44px rgb(0 0 0 / 22%),inset 0 -20px 16px -18px rgb(20 35 60 / 55%);
  }
  .header-search-panel-head{
    position:sticky;top:0;z-index:2;
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    box-sizing:border-box;min-height:52px;padding:4px 6px 4px 14px;
    border-bottom:1px solid var(--border);background:rgb(255 255 255 / 96%);
    backdrop-filter:saturate(1.3) blur(8px);
  }
  .header-search-panel-title{font-size:14px}
  .header-search-form{gap:6px;padding:10px 12px}
  .header-search-options{align-items:end;justify-content:flex-start;gap:8px}
  .header-search-segments{flex-wrap:nowrap}
  .header-search-results{gap:0}
  .header-search-result a,.header-search-result a:visited{padding:6px 8px}
  .site-header .header-create,.site-header .header-create:visited{min-height:40px;padding:0 11px}
}

.page-head{max-width:var(--shell);margin:0 auto;padding:22px var(--gutter) 0}
.page-head-no-title{padding-top:12px}
.page-head-no-title>.topicpath:first-child,.page-head-no-title>#navigator:first-child{margin-top:0}
h1.title{
  margin:0;
  font-size:clamp(1.5rem,1.35rem + .7vw,1.75rem);
  line-height:1.3;font-weight:700;letter-spacing:-.01em;
}
h1.title a,h1.title a:visited{color:var(--text)}
h1.title a:hover{color:var(--link)}
h1.title .site-name{font-size:13px;font-weight:400;letter-spacing:0;color:var(--text-muted)}
.topicpath{margin:10px 0 0;color:var(--text-muted);font-size:13px;line-height:1.6}
.topicpath ol{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0;list-style:none}
.topicpath li{min-width:0;margin:.2em 0}
.topicpath li+li::before{content:"/";padding:0 .55em;color:var(--border-strong)}
.topicpath a{color:var(--link);overflow-wrap:anywhere}
.topicpath a:visited{color:var(--visited)}
.topicpath [aria-current="page"]{color:var(--text-muted)}
#navigator{margin:14px 0 0;padding:0}
html[data-page-actions="hidden"] #navigator{display:none}
#navigator .nav-group{
  display:flex;flex-wrap:nowrap;gap:8px;
  margin:0;padding:0 0 4px;list-style:none;
  overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch;
}
#navigator .nav-group>li{flex:0 0 auto;margin:.2em 0}
#navigator a,#navigator .nav-link{
  display:inline-flex;align-items:center;min-height:40px;
  padding:0 14px;border:1px solid var(--border-strong);border-radius:999px;
  background:var(--surface);color:var(--text);font-size:14px;font-weight:500;white-space:nowrap;
  box-shadow:none;text-decoration:none;
}
#navigator a:visited{color:var(--text)}
#navigator a:hover,#navigator .nav-link:hover{background:var(--link-weak);border-color:var(--link);color:var(--link);box-shadow:none;text-decoration:none}
#navigator .nav-link{font:inherit;font-size:14px;cursor:pointer}
#navigator .nav-disabled{color:var(--text-muted)}
.page-meta{
  max-width:var(--shell);margin:-18px auto 0;
  padding:0 var(--gutter) 22px;
  font-size:12px;color:var(--text-muted);
}

.wiki-layout{position:relative;max-width:var(--shell);margin:0 auto;padding:18px var(--gutter) 40px}
#body{
  min-width:0;
  background:var(--surface);
}
#body>.ie5,#body>table,#body>.adsense,#body>.content-ads,#body>.pkwk-include,#body>.relation-map{max-width:100%}
#body>*:first-child{margin-top:0}
#body>*:last-child{margin-bottom:0}

#menubar{
  position:fixed;top:0;left:0;bottom:0;z-index:70;
  width:min(84vw,320px);
  --menubar-pad:16px;
  padding:var(--menubar-pad);
  background:var(--surface);
  border-right:1px solid var(--border);
  overflow-y:auto;overscroll-behavior:contain;
  transform:translateX(-101%);
  transition:transform .2s ease;
  font-size:14px;
  word-break:break-word;
}
.drawer-skin-switch{display:none}
.drawer-toggle:checked~.wiki-layout #menubar{transform:none;box-shadow:0 0 40px rgb(0 0 0 / 25%)}
#menubar h2,#menubar h3,#menubar h4,#menubar h5,#menubar h6{
  margin:1.4em 0 .6em;padding:.35em .6em;
  background:var(--accent-bar);border:0;border-left:3px solid var(--link);border-radius:var(--radius-bar);
  font-size:14px;line-height:1.45;letter-spacing:.01em;color:var(--text);
}
#menubar h2:first-child,#menubar h3:first-child,#menubar h4:first-child{margin-top:0}
#menubar .drawer-skin-switch+h2,#menubar .drawer-skin-switch+h3,#menubar .drawer-skin-switch+h4{margin-top:0}
#menubar ul{margin:.3em 0;padding-left:1.1em}
#menubar li{line-height:1.65}
#menubar p{margin:.4em 0}
/* 広告レールだけ左右パディングの外へ広げる。16px のままだと 375px 端末で
   283px しか残らずレスポンシブ広告が 300x250 を出せない (広げて 314px)。
   ずらす幅はパディングと同じ変数なのでパディングボックスに収まり、
   overflow-y:auto 由来の横スクロールは出ない。 */
#menubar .sidebar-ad-rail{margin-inline:calc(-1 * var(--menubar-pad))}
#menubar hr{margin:1em 0}
#menubar .recent-list strong,#menubar .recent_list~strong{display:block;margin-top:.6em;font-size:13px;color:var(--text-muted)}
#menubar #discuss_headline{margin:.25em 0;padding-left:1.1em}
.menubar-search{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 14px}
.menubar-search>label{flex:1 1 7em;min-width:0}
.menubar-search input[type=text]{width:100%;min-width:0;padding:6px 10px;font-size:16px}
.menubar-search div{display:flex;gap:6px;flex-wrap:wrap}
.menubar-search button,.menubar-search input[type=submit]{
  min-height:32px;padding:5px 12px;
  background:var(--surface);color:var(--link);border:1px solid var(--border-strong);
  font-size:13px;font-weight:500;
}
.menubar-search button:hover,.menubar-search input[type=submit]:hover{background:var(--accent-bar);border-color:var(--link);filter:none}
.menubar-google-search{margin-bottom:18px}
@media(prefers-reduced-motion:reduce){#menubar{transition:none}.skip-link{transition:none}}

@media(max-width:640px){
  #menubar .drawer-skin-switch{display:block;margin:0 0 16px;padding:0 0 14px;border-bottom:1px solid var(--border)}
  #menubar .drawer-skin-switch a,#menubar .drawer-skin-switch a:visited{
    display:flex;align-items:center;min-height:44px;padding:0 12px;
    border:1px solid var(--border-strong);border-radius:var(--radius-sm);
    background:var(--surface-muted);color:var(--link);font-weight:600;
  }
  #menubar .drawer-skin-switch a:hover{background:var(--link-weak);box-shadow:none;text-decoration:none}
}

@media(min-width:960px){
  :root{--header-gutter:24px;--gutter:24px}
  .drawer-button{display:none}
  .drawer-scrim{display:none!important}
  body:has(.drawer-toggle:checked){overflow:visible}
  .page-head{padding-top:32px}
  .page-head-no-title{padding-top:16px}
  #navigator{margin-top:18px}
  #navigator .nav-group{flex-wrap:wrap;overflow:visible;padding-bottom:0}
  /* サイドバー列 300px。デスクトップの #menubar はパディング0 なので
     この列幅がそのまま広告レールの幅になる。300px を割るとレスポンシブ広告が
     300x600 / 300x250 を出せなくなる。AdSense の絶対 px 閾値なので、ブラウザの
     フォント設定に連動する rem ではなく px で固定する。 */
  .wiki-layout{
    display:grid;grid-template-columns:300px minmax(0,1fr);
    gap:24px;align-items:start;
    padding:24px var(--gutter) 64px;
  }
  .wiki-layout-full{grid-template-columns:minmax(0,1fr)}
  /*
   * デスクトップはメニューの内部スクロールをやめ、ページ本体だけで送る。
   * aside を本文と同じグリッド行高まで伸ばし、広告専用 rail の中だけを sticky
   * にすることで、メニューは流れたまま広告だけがスクロールへ追尾する。
   */
  #menubar{
    position:static;
    z-index:auto;
    align-self:stretch;
    display:flex;flex-direction:column;
    width:auto;transform:none;
    overflow:visible;overscroll-behavior:auto;
    /* 広告レールの負のマージンもこの値から引くので、padding ではなく変数を落とす。 */
    --menubar-pad:0px;
    border:0;border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  #menubar .menubar-card{
    padding:20px;
    border:1px solid var(--border);border-radius:var(--radius);
    background:var(--surface);
    box-shadow:var(--shadow-card);
  }
  #menubar .sidebar-ad-rail{
    flex:1 0 calc(600px + 2.3em);
    min-height:calc(600px + 2.3em);
  }
  #menubar .adsense-sidebar{
    position:sticky;top:calc(var(--header-h) + 24px);z-index:10;
    margin-top:24px;
    background:var(--surface);
  }
  #body{
    padding:24px;
    border:1px solid var(--border);border-radius:var(--radius);
    box-shadow:var(--shadow-card);
  }
}
@media(min-width:960px) and (hover:hover){
  #navigator a,#navigator .nav-link,.site-header .header-create,.header-search-toggle,.density-toggle{min-height:34px}
  .header-search-toggle,.density-toggle{width:34px;height:34px}
}

:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) input[type=text],:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) input[type=password],:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) input[type=search],:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) input[type=email],:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) input[type=file],:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) select,:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) textarea{
  max-width:100%;padding:10px 12px;
  border:1px solid var(--border-strong);border-radius:var(--radius-sm);
  background:var(--surface);
}
:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) input[type=text]:focus,:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) select:focus,:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) textarea:focus{border-color:var(--link);outline:2px solid var(--link-weak);outline-offset:0}
:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) textarea{width:100%;min-height:12em;font-family:var(--font-mono);font-size:16px;line-height:1.65;resize:vertical}
:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) button,:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) input[type=submit]{
  min-height:36px;padding:7px 14px;
  border:1px solid var(--link);border-radius:var(--radius-sm);
  background:var(--link);color:#fff;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer;
}
:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) button:hover,:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) input[type=submit]:hover{filter:brightness(.92)}
:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) button[formnovalidate],:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) button[value=preview],:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) button[value=load-template]{background:var(--surface);color:var(--link);border-color:var(--border-strong)}
:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) button[formnovalidate]:hover,:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) button[value=preview]:hover,:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) button[value=load-template]:hover{background:var(--accent-bar);border-color:var(--link);filter:none}
:where(.edit-form,.template-form,.admin-form,.new-page-name-form,.search-page-form,.menubar-search,.header-search-form,.bug-report-widget,.pkwk-comment,.pkwk-article) label{display:inline-block}
form.pkwk-comment,form.pkwk-article{
  margin:1.6em 0;padding:16px;
  border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-sunken);
}
form.pkwk-comment div,form.pkwk-article div{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
form.pkwk-comment input[type=text][name=comment]{flex:1 1 16em;min-width:0}
form.pkwk-article textarea{width:100%}
input.pcmt,li.pcmt input{margin-right:.4em}
li.pcmt{list-style:none}
.comment-island{margin:1.6em 0}
.comment-island:empty{display:none}
.comment-island form.pkwk-comment,.comment-island form.pkwk-article{margin:0}
.comment-island .cf-turnstile{flex:0 0 auto}
.comment-island-status{width:100%;margin:6px 0 0;font-size:13px;color:var(--text-muted)}
.comment-island-status.is-error{color:var(--error-text)}
.pcomment-island>p{margin:.6em 0}
.edit-form{display:grid;gap:14px;margin:1.4em 0}
#body>.edit-form{max-width:100%}
.edit-form>*{margin-block:0}
.edit-form>*,.template-form>*,.admin-form>*,.new-page-name-form>*{min-width:0;max-width:100%}
.edit-form textarea{width:100%}
.discussion-hub .edit-form input[type=text]{width:100%}
#body .discussion-page-hub>:first-child{margin-top:0}
.discussion-id{display:inline-flex;align-items:baseline;gap:.35em}
.discussion-id::before{content:"";align-self:center;width:.7em;height:.7em;border-radius:50%;background:hsl(var(--id-hue,0) 65% 45%);box-shadow:0 0 0 1px rgb(127 127 127 / 45%)}
.discussion-viewer-ballot{color:var(--text-muted)}
.discussion-imported-badge{display:inline-block;padding:0 6px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--text-muted);font-size:12px;vertical-align:middle}
.discussion-imported-author{font-weight:600}
.discussion-imported-notice{color:var(--text-muted);font-size:13px}
.edit-buttons{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.edit-buttons a{display:inline-flex;align-items:center;min-height:40px;padding:0 10px}
.edit-notice{margin:1.4em 0;padding:12px 14px;border:1px solid var(--warn-border);border-radius:var(--radius-sm);background:var(--warn-bg);color:var(--warn-text)}
.edit-preview{margin:1.6em 0;padding:16px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface)}
.edit-preview>h2:first-child{margin-top:0}
.edit-preview-live{border-color:var(--link);background:color-mix(in srgb,var(--surface) 94%,var(--link-weak))}
.edit-preview-tabs{display:none}
.edit-preview-note{margin:.35em 0 1em;color:var(--text-muted);font-size:13px}
.edit-preview-empty{color:var(--text-muted)}
.edit-preview-dynamic{margin:.65em 0;padding:9px 11px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--text-muted)}
.edit-preview-dynamic-inline{display:inline-block;margin:0 .2em;padding:1px 5px}
.edit-preview-dynamic small{margin-left:.35em}
@media(min-width:960px){
  .edit-preview-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start;margin:1.4em 0}
  .edit-preview-workspace>.edit-form{position:sticky;top:calc(var(--header-h) + 16px);margin:0;min-width:0}
  .edit-preview-workspace>.edit-form textarea{height:clamp(20rem,calc(100dvh - var(--header-h) - 13rem),42rem)}
  .edit-preview-workspace>[data-editor-preview-island],.edit-preview-workspace>.edit-preview{min-width:0}
  .edit-preview-workspace .edit-preview-live,.edit-preview-workspace>.edit-preview{margin:0}
}
@media(max-width:640px){
  .edit-preview-workspace{display:grid;margin:1.4em 0}
  .edit-preview-workspace>[data-editor-preview-island]{grid-row:1;margin:0}
  .edit-preview-workspace>.edit-form{grid-row:2}
  .edit-preview-tabs{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-sunken)}
  .edit-preview-tab{min-height:40px;padding:7px 12px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:14px;font-weight:600;line-height:1.4;cursor:pointer}
  .edit-preview-tab:hover{background:var(--link-weak);color:var(--link)}
  .edit-preview-tab[aria-pressed="true"]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px rgb(15 23 42 / 14%)}
  .edit-preview-workspace[data-editor-preview-tab="source"] .edit-preview-live{display:none}
  .edit-preview-workspace[data-editor-preview-tab="preview"]>.edit-form #wiki-source{display:none}
  .edit-preview-tabs+.edit-preview-live{margin:.75em 0 0}
  .edit-preview-workspace>.edit-form{margin-top:.75em}
}
.edit-conflict{margin:1.4em 0}
#body>.edit-conflict{max-width:100%}
.edit-conflict-legend{margin:0 0 .6em;font-size:13px;color:var(--text-muted)}
.edit-conflict-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.conflict-table{border-collapse:collapse;font-size:13px;line-height:1.6}
.conflict-table th,.conflict-table td{padding:3px 8px;border:1px solid var(--table-frame);vertical-align:top}
.conflict-table thead th{background:var(--table-head-th)}
.conflict-status{width:1.6em;text-align:center;background:var(--table-th);font-family:var(--font-mono)}
.conflict-text{white-space:pre-wrap;word-break:break-all;background:var(--table-td);font-family:var(--font-mono)}
.conflict-added .conflict-text{color:#00f;background:#eaf1ff}
.conflict-removed .conflict-text{color:#f00;background:#ffeaea}
.template-form,.admin-form,.new-page-name-form{display:grid;gap:12px;justify-items:start;margin:1.4em 0}
.template-loader{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin:0;max-width:100%}
.template-loader label{flex:1 0 100%}
.template-loader select{flex:1 1 10em;width:auto;min-width:0;max-width:100%}
.template-loader button{flex:0 0 auto}
@media(min-width:960px){.template-loader label{flex:0 0 auto}}
.cf-turnstile{margin:.4em 0}

.adsense{overflow:hidden;text-align:center;background:transparent}
.adsense-top{min-height:15px;margin:.5em auto 1.5em;max-width:728px}
.adsense-content{width:100%;min-height:280px;margin:2em 0}
/*
 * wiki.js は読み込みまで ins をDOMから外すため、160x600 + ラベル行ぶんの
 * 領域を先に予約しておかないと、読み込み時に約600pxのレイアウトジャンプが
 * 起きる(特にドロワーを開いた瞬間)。AdSense が unfilled のときに
 * min-height:0!important で畳むのは想定内。
 */
.adsense-sidebar{min-height:calc(600px + 2.3em);margin:1em 0;text-align:left}
.content-ads{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),336px));gap:16px;justify-content:center;margin-top:2.4em}
#footer{
  max-width:var(--shell);margin:0 auto;
  padding:28px var(--gutter) 40px;
  border-top:1px solid var(--border);
  font-size:12px;line-height:1.8;color:var(--text-muted);text-align:center;
}
#footer p{margin:0 0 .3em}
#footer a{color:var(--text-muted);text-decoration:underline}
#footer a:hover{color:var(--link)}
.footer-display-preferences{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px}
#footer .display-preference-toggle{
  min-height:36px;padding:6px 12px;
  border:1px solid var(--border-strong);border-radius:999px;
  background:var(--surface);color:var(--text-muted);
  font:inherit;font-size:12px;line-height:1.4;cursor:pointer;
}
#footer .display-preference-toggle:hover{border-color:var(--link);background:var(--link-weak);color:var(--link);filter:none}
#footer .display-preference-toggle:focus-visible{outline:2px solid var(--link);outline-offset:2px}
@media(min-width:960px){#footer{padding-top:36px}}

@media screen{
  html[data-density="compact"]{
    --gutter:8px;
    --radius:6px;
    --radius-sm:4px;
    --radius-bar:2px;
  }
  html[data-density="compact"] body{font-size:9px;line-height:1.3}
  html[data-density="compact"] .alpha-notice{padding-block:2px;font-size:min(8px,2vw);line-height:1.25;white-space:nowrap}

  html[data-density="compact"] .page-head{padding-top:5px}
  html[data-density="compact"] .page-head-no-title{padding-top:2px}
  html[data-density="compact"] h1.title{font-size:15px;line-height:1.2}
  html[data-density="compact"] h1.title .site-name{font-size:9px}
  html[data-density="compact"] .topicpath{margin-top:2px;font-size:8px;line-height:1.25}
  html[data-density="compact"] #navigator{margin-top:3px}
  html[data-density="compact"] #navigator .nav-group{gap:3px;padding-bottom:1px}
  html[data-density="compact"] #navigator a,
  html[data-density="compact"] #navigator .nav-link{min-height:26px;padding-inline:8px;font-size:9px}
  html[data-density="compact"] .wiki-layout{padding-top:3px;padding-bottom:18px}
  html[data-density="compact"] .page-meta{margin-top:-9px;padding-bottom:10px;font-size:8px}

  html[data-density="compact"] #menubar{--menubar-pad:10px;font-size:11px}
  html[data-density="compact"] #menubar h2,
  html[data-density="compact"] #menubar h3,
  html[data-density="compact"] #menubar h4,
  html[data-density="compact"] #menubar h5,
  html[data-density="compact"] #menubar h6{margin:1em 0 .35em;padding:.2em .4em;font-size:11px;line-height:1.35}
  html[data-density="compact"] #menubar ul{margin:.15em 0;padding-left:1em}
  html[data-density="compact"] #menubar li{line-height:1.4}
  html[data-density="compact"] #menubar p{margin:.2em 0}

  html[data-density="compact"] #body h1:not(.title),
  html[data-density="compact"] #body h2{margin:.7em 0 .25em;padding:.2em .35em;font-size:13px;line-height:1.2}
  html[data-density="compact"] #body h3{
    margin:1.1em 0 .2em;padding:.4em 0 .1em .35em;
    border-top:1px solid var(--border);border-left-width:3px;
    font-size:11px;line-height:1.25;
  }
  html[data-density="compact"] #body h1:not(.title)+h3,
  html[data-density="compact"] #body h2+h3,
  html[data-density="compact"] #body h1:not(.title)+.jumpmenu+h3,
  html[data-density="compact"] #body h2+.jumpmenu+h3{margin-top:.6em;padding-top:.1em;border-top:0}
  html[data-density="compact"] #body h4{margin:.55em 0 .2em;padding-left:.35em;font-size:10px;line-height:1.25}
  html[data-density="compact"] #body h5,
  html[data-density="compact"] #body h6{margin:.5em 0 .15em;font-size:9px;line-height:1.25}
  html[data-density="compact"] .anchor_super{margin-left:.15em;font-size:7px}
  html[data-density="compact"] .jumpmenu{font-size:7px}

  html[data-density="compact"] #body p{margin-bottom:.75em}
  html[data-density="compact"] #body p.quotation{margin-bottom:.15em}
  html[data-density="compact"] #body hr,
  html[data-density="compact"] #body hr.full-hr,
  html[data-density="compact"] #body hr.full_hr{margin:.9em 0}
  html[data-density="compact"] #body blockquote{margin:.4em 0;padding:.3em .45em}
  html[data-density="compact"] #body pre{margin:.35em 0;padding:3px 4px;border-radius:2px;font-size:8px;line-height:1.25}
  html[data-density="compact"] #body dl{margin:.6em 0}
  html[data-density="compact"] #body dt{margin-top:.35em}
  html[data-density="compact"] #body dd{margin:0 0 .2em 1em}
  html[data-density="compact"] #body .footnote{margin:.15em 0;font-size:10px}
  html[data-density="compact"] #body div.footnote{margin-top:1em;padding-top:.5em}
  html[data-density="compact"] #body details{margin:.6em 0;padding:.35em .55em}

  html[data-density="compact"] #body ul,
  html[data-density="compact"] #body ol{margin:.15em 0 .3em;padding-left:1.25em}
  html[data-density="compact"] #body li{margin:.05em 0}
  html[data-density="compact"] #body li>ul,
  html[data-density="compact"] #body li>ol{margin:.05em 0}
  html[data-density="compact"] #body ul.list1,
  html[data-density="compact"] #body ol.list1{padding-left:1.35em}
  html[data-density="compact"] #body ul.list2,
  html[data-density="compact"] #body ol.list2{padding-left:2.7em}
  html[data-density="compact"] #body ul.list3,
  html[data-density="compact"] #body ol.list3{padding-left:4.05em}
  html[data-density="compact"] #body li>ul.list2,
  html[data-density="compact"] #body li>ul.list3,
  html[data-density="compact"] #body li>ol.list2,
  html[data-density="compact"] #body li>ol.list3{padding-left:1.35em}

  html[data-density="compact"] #body .ie5{margin:.6em 0}
  html[data-density="compact"] #body table{font-size:8px;line-height:1.25}
  html[data-density="compact"] #body th,
  html[data-density="compact"] #body td,
  html[data-density="compact"] #body .style_th,
  html[data-density="compact"] #body .style_td{padding:3px 5px}
  html[data-density="compact"] #body .new1,
  html[data-density="compact"] #body .new5,
  html[data-density="compact"] #body .pkwk-new{padding:0 3px;font-size:8px}
  html[data-density="compact"] #body .comment_date,
  html[data-density="compact"] #body .pkwk-lastmod,
  html[data-density="compact"] #body .pkwk-version,
  html[data-density="compact"] #body .pkwk-counter,
  html[data-density="compact"] #body .pkwk-online{font-size:9px}
  html[data-density="compact"] #body .pkwk-ref{margin:.6em 0}
  html[data-density="compact"] #body .tag,
  html[data-density="compact"] #body .tags,
  html[data-density="compact"] #body .taglist,
  html[data-density="compact"] #body .tagpagelist{font-size:10px}
  html[data-density="compact"] #body .tag a,
  html[data-density="compact"] #body .tags a{margin:1px 3px 1px 0;padding:1px 5px;font-size:9px}

  html[data-density="compact"] .pkwk-contents,
  html[data-density="compact"] .contents{margin:.5em 0;padding:.35em .5em;font-size:8px}
  html[data-density="compact"] .related{margin-top:.7em;padding-top:.35em;font-size:8px}
  html[data-density="compact"] .related a{font-size:8px}
  html[data-density="compact"] ul.navi{gap:4px;margin:.4em 0;font-size:9px}
  html[data-density="compact"] ul.page-file-list li,
  html[data-density="compact"] ul.recent-changes li,
  html[data-density="compact"] ul.backup-list li{margin:.15em 0}
  html[data-density="compact"] .search-result{gap:6px;padding:.3em .15em}

  html[data-density="compact"] form.pkwk-comment,
  html[data-density="compact"] form.pkwk-article{margin:.7em 0;padding:8px}
  html[data-density="compact"] .comment-island{margin:.7em 0}
  html[data-density="compact"] .edit-form{gap:8px;margin:.7em 0}
  html[data-density="compact"] .edit-notice{margin:.7em 0;padding:7px 8px}
  html[data-density="compact"] .edit-preview{margin:.7em 0;padding:8px}
  html[data-density="compact"] .template-form,
  html[data-density="compact"] .admin-form,
  html[data-density="compact"] .new-page-name-form{gap:7px;margin:.7em 0}
  html[data-density="compact"] .adsense-top{margin:.25em auto .7em}
  html[data-density="compact"] .adsense-content{margin:1em auto}
  html[data-density="compact"] .content-ads{gap:8px;margin-top:1em}
  html[data-density="compact"] #footer{padding-top:14px;padding-bottom:20px;font-size:9px;line-height:1.5}
}

@media screen and (min-width:960px){
  html[data-density="compact"] body{font-size:12px;line-height:1.45}
  html[data-density="compact"] .page-head{padding-top:16px}
  html[data-density="compact"] .page-head-no-title{padding-top:8px}
  /* サイドバー列は広告レールの幅そのもので、300px を割ると配信サイズが一段
     落ちる。密度では詰められないので通常と同じ 300px。詰めるのは gap と余白。 */
  html[data-density="compact"] .wiki-layout{grid-template-columns:300px minmax(0,1fr);gap:12px;padding-top:12px;padding-bottom:32px}
  html[data-density="compact"] .wiki-layout-full{grid-template-columns:minmax(0,1fr)}
  html[data-density="compact"] #menubar{--menubar-pad:0px}
  html[data-density="compact"] #menubar .menubar-card{padding:12px}
  html[data-density="compact"] #menubar .adsense-sidebar{top:calc(var(--header-h) + 12px);margin-top:12px}
  html[data-density="compact"] #body{padding:16px}
  html[data-density="compact"] #body pre{font-size:10px;line-height:1.35}
}

@media print{
  .site-header,.drawer-button,.drawer-scrim,#menubar,#navigator,.adsense,.content-ads,.skip-link,.alpha-notice,.footer-display-preferences{display:none!important}
  body{background:#fff;font-size:11pt}
  .page-head{padding:0}
  .wiki-layout{display:block;max-width:none;padding:0}
  #body{padding:0;border:0;border-radius:0;box-shadow:none;background:#fff}
  #body>*{max-width:none}
  #footer{max-width:none;padding:12pt 0 0;text-align:left}
  a{text-decoration:underline}
  a:hover{background:transparent;box-shadow:none}
}

/* 本文カード自体より狭い可読幅を全直下要素へ一律適用すると、Windows版
   Firefoxでは右側の未使用領域が大きな空白として目立つ。本文はカード幅を
   利用し、表や整形済みテキストの横スクロールは各要素の既存ルールに任せる。 */
#body>*{max-width:none}

.bug-report-widget{position:fixed;right:18px;bottom:18px;z-index:900;color:#172033;font-family:system-ui,-apple-system,"Segoe UI","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:14px;line-height:1.5}
.bug-report-widget [hidden]{display:none!important}
.bug-report-launcher{position:relative;display:inline-block}
.bug-report-dismiss{position:absolute;top:-10px;right:-10px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-height:0;padding:0;border:1px solid #cbd5e1;border-radius:50%;background:var(--surface);color:#475569;font-family:inherit;font-size:13px;font-weight:700;line-height:1;box-shadow:0 2px 6px rgb(0 0 0 / 22%);cursor:pointer}
.bug-report-dismiss:hover{background:#e2e8f0;color:#0f172a;filter:none}
.bug-report-fab{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 16px;border:1px solid #1d4ed8;border-radius:999px;background:var(--link);color:#fff;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;box-shadow:0 4px 18px rgb(0 0 0 / 20%);cursor:pointer}
.bug-report-fab:hover{background:#1d4ed8;filter:none;text-decoration:none}
.bug-report-fab.is-reported{border-color:#166534;background:#15803d}
.bug-report-fab.is-reported:hover{background:#166534}
.bug-report-panel{position:absolute;right:0;bottom:58px;width:min(370px,calc(100vw - 24px));max-height:calc(100vh - 86px);padding:18px;overflow-y:auto;border:1px solid #cbd5e1;border-radius:12px;background:var(--surface);box-shadow:0 14px 44px rgb(0 0 0 / 24%)}
.bug-report-panel h2{margin:0 36px 6px 0;padding:0;color:#172033;font-family:inherit;font-size:18px;font-weight:700;line-height:1.35}
.bug-report-intro{margin:0 0 14px;color:#475569;font-size:13px}
.bug-report-close{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:0;padding:0;border:0;border-radius:50%;background:transparent;color:#475569;font-family:inherit;font-size:24px;line-height:1;cursor:pointer}
.bug-report-close:hover{background:#eef2ff;color:#172033;filter:none}
.bug-report-form{display:grid;gap:9px;margin:0}
.bug-report-form label{font-weight:600;color:#172033}
.bug-report-form textarea{box-sizing:border-box;width:100%;min-height:110px;max-height:40vh;margin:0;padding:10px 12px;border:1px solid #94a3b8;border-radius:8px;background:var(--surface);color:#172033;font-family:inherit;font-size:16px;line-height:1.55;resize:vertical}
.bug-report-form textarea:focus{border-color:var(--link);outline:2px solid #dbeafe;outline-offset:0}
.bug-report-privacy{margin:0;color:#64748b;font-size:12px}
.bug-report-submit{justify-self:start;min-height:40px;padding:8px 16px;border:1px solid var(--link);border-radius:8px;background:var(--link);color:#fff;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer}
.bug-report-submit:hover{background:#1d4ed8;filter:none}
.bug-report-submit:disabled{cursor:wait;opacity:.65}
.bug-report-status{min-height:1.5em;margin:2px 0 0;color:#334155;font-size:13px}
.bug-report-status.is-error{color:var(--error-text)}
.bug-report-previous{margin:0 0 12px;padding:10px 12px;border:1px solid #86efac;border-radius:8px;background:#f0fdf4;color:#166534;font-size:13px}
.bug-report-footer-link{margin-left:.5em;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}
.bug-report-footer-link:hover{text-decoration:none}
@media(max-width:520px){.bug-report-widget{right:12px;bottom:12px}.bug-report-panel{bottom:56px}.bug-report-fab{min-height:44px;padding:9px 14px}.bug-report-dismiss{width:32px;height:32px;top:-11px;right:-11px;font-size:14px}}
@media print{.bug-report-widget,.bug-report-footer-link{display:none!important}}
