/* ===== Tinkreate Wiki ===== */

/* breadcrumb */
.wiki-crumb{
  display:flex; flex-wrap:wrap; align-items:center; gap:.4rem;
  font-size:.72rem; color:var(--muted); margin-bottom:1rem;
}
.wiki-crumb a{color:var(--muted)}
.wiki-crumb a:hover{color:var(--heading)}
.wiki-crumb .sep{opacity:.5}
.wiki-crumb .here{color:var(--text)}

/* intro lead */
.wiki-lead{font-size:.86rem; color:var(--text); line-height:1.7; margin-bottom:1.2rem}

/* hub: section cards */
.wiki-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:.7rem; margin:1.2rem 0;
}
.wiki-card{
  display:block; background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-md); overflow:hidden;
  transition:background .2s ease,border-color .2s ease;
}
.wiki-card:hover{background:rgba(255,255,255,.1); border-color:var(--border-hover)}
.wiki-card .wc-img{width:100%; height:112px; object-fit:cover; display:block; border-bottom:1px solid var(--border)}
.wiki-card h3{margin:.85rem 1.1rem .3rem; font-size:.95rem; color:var(--heading)}
.wiki-card:hover h3{color:#fff}
.wiki-card p{margin:0 1.1rem 1rem; font-size:.75rem; color:var(--muted); line-height:1.55}

/* full mod-list button */
.wiki-modbtn{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:.9rem 1.2rem; background:rgba(255,255,255,.05);
  border:1px solid var(--border-hover); border-radius:var(--radius-md);
  color:var(--heading); font-weight:600; font-size:.88rem; margin:1rem 0;
  transition:background .2s ease,border-color .2s ease;
}
.wiki-modbtn:hover{background:rgba(255,255,255,.1); color:#fff}
.wiki-modbtn .wm-sub{font-size:.72rem; color:var(--muted); font-weight:400; margin-top:.1rem; display:block}
.wiki-modbtn .arrow{color:var(--muted); transition:transform .2s ease; font-size:1.1rem}
.wiki-modbtn:hover .arrow{transform:translateX(4px); color:#fff}

/* Overlap fix: boxed/image blocks establish a block formatting context so they sit
   beside the floated infobox instead of sliding underneath it. (Tables already use
   overflow, recipe cards use flex, fig-grids use grid, so those are already safe.) */
.wiki-toc, .wiki-note, .wiki-fig{display:flow-root}

/* table of contents */
.wiki-toc{
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius); padding:.85rem 1rem; margin:1rem 0 1.6rem; font-size:.8rem;
}
.wiki-toc-title{font-size:.62rem; text-transform:uppercase; letter-spacing:.14em; color:var(--muted); font-weight:700; margin-bottom:.5rem}
.wiki-toc ol{list-style:none; padding:0; margin:0; counter-reset:toc; columns:2; column-gap:1.6rem}
.wiki-toc li{counter-increment:toc; padding:.13rem 0; break-inside:avoid}
.wiki-toc li::before{content:counter(toc) ".  "; color:var(--muted)}
.wiki-toc a{color:var(--text)}
.wiki-toc a:hover{color:#fff}
@media(max-width:540px){.wiki-toc ol{columns:1}}

/* article */
.wiki-article h2{
  font-size:1.25rem; margin:1.8rem 0 .7rem; border-top:1px solid var(--border);
  padding-top:1.4rem; scroll-margin-top:72px;
}
.wiki-article h2:first-of-type{border-top:none; padding-top:.2rem; margin-top:.6rem}
.wiki-article h3{font-size:1rem; margin:1.2rem 0 .4rem; color:var(--heading)}
.wiki-article h4{font-size:.84rem; margin:.9rem 0 .3rem; color:var(--text); text-transform:uppercase; letter-spacing:.06em}
.wiki-article p{font-size:.84rem; line-height:1.72; color:var(--text)}
.wiki-article ul,.wiki-article ol{margin:.4rem 0 .9rem 1.25rem; font-size:.84rem; line-height:1.72}
.wiki-article li{margin-bottom:.25rem}
.wiki-article a{color:var(--accent); border-bottom:1px solid transparent}
.wiki-article a:hover{color:#fff; border-bottom-color:rgba(255,255,255,.3)}
.wiki-article > section{margin-bottom:.4rem}

/* tables */
.wiki-table-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch; margin:.8rem 0 1.2rem}
.wiki-table{width:100%; border-collapse:collapse; font-size:.78rem; min-width:380px}
.wiki-table th,.wiki-table td{text-align:left; padding:.5rem .65rem; border-bottom:1px solid var(--border); vertical-align:top}
.wiki-table th{color:var(--muted); font-weight:700; font-size:.64rem; text-transform:uppercase; letter-spacing:.08em; border-bottom:1px solid var(--border-hover)}
.wiki-table tr:last-child td{border-bottom:none}
.wiki-table td strong{color:var(--heading)}
.wiki-table tbody tr:hover{background:rgba(255,255,255,.015)}

/* recipe card */
.recipe{
  display:flex; align-items:center; gap:.6rem; flex-wrap:wrap;
  background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius);
  padding:.55rem .8rem; margin:.4rem 0; font-size:.8rem;
}
.recipe .r-out{color:var(--heading); font-weight:700}
.recipe .r-arrow{color:var(--muted); font-weight:700}
.recipe .r-in{color:var(--text)}
.recipe .r-method{margin-left:auto; font-size:.64rem; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; white-space:nowrap}

/* infobox */
.infobox{
  background:var(--bg-card); border:1px solid var(--border-hover); border-radius:var(--radius-md);
  padding:.9rem; margin:.2rem 0 1rem 1.2rem; float:right; width:240px; max-width:46%; font-size:.76rem;
}
.infobox img{width:100%; border-radius:var(--radius); display:block; margin-bottom:.6rem; border:1px solid var(--border)}
.infobox .ib-title{font-weight:700; color:var(--heading); font-size:.86rem; margin-bottom:.5rem}
.infobox dl{display:grid; grid-template-columns:auto 1fr; gap:.25rem .6rem; margin:0}
.infobox dt{color:var(--muted); font-size:.66rem; text-transform:uppercase; letter-spacing:.05em; padding-top:.05rem}
.infobox dd{margin:0; color:var(--text)}
.infobox .ib-cap{color:var(--muted); font-size:.68rem; margin-top:.5rem; line-height:1.45}
@media(max-width:600px){.infobox{float:none; width:100%; max-width:100%; margin:1rem 0}}

/* figures */
.wiki-fig{margin:1.1rem 0}
.wiki-fig img{width:100%; border-radius:var(--radius-md); border:1px solid var(--border); display:block}
.wiki-fig figcaption{font-size:.7rem; color:var(--muted); margin-top:.45rem; text-align:center; line-height:1.45}
.wiki-fig-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.7rem; margin:1.1rem 0}
.wiki-fig-grid figure{margin:0}
.wiki-fig-grid img{width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:var(--radius); border:1px solid var(--border); display:block}
.wiki-fig-grid figcaption{font-size:.66rem; color:var(--muted); margin-top:.3rem; text-align:center; line-height:1.35}

/* callouts */
.wiki-note{background:rgba(147,197,253,.06); border:1px solid rgba(147,197,253,.18); border-left:3px solid var(--info); border-radius:var(--radius); padding:.6rem .9rem; margin:.9rem 0; font-size:.8rem; color:var(--text); line-height:1.65}
.wiki-note.tip{background:rgba(74,222,128,.05); border-color:rgba(74,222,128,.18); border-left-color:var(--green)}
.wiki-note.warn{background:rgba(251,191,36,.05); border-color:rgba(251,191,36,.18); border-left-color:var(--yellow)}
.wiki-note strong{color:var(--heading)}
.wiki-note .n-label{font-size:.62rem; text-transform:uppercase; letter-spacing:.1em; font-weight:700; color:var(--muted); margin-right:.3rem}

/* keybind chip */
.kbd{display:inline-block; font-family:var(--font); font-size:.7rem; background:rgba(255,255,255,.07); border:1px solid var(--border-hover); border-bottom-width:2px; border-radius:5px; padding:.04rem .35rem; color:var(--heading); line-height:1.3}

/* sources */
.wiki-sources{margin-top:2.5rem; border-top:1px solid var(--border); padding-top:1.2rem}
.wiki-sources h2{font-size:.78rem; color:var(--muted); text-transform:uppercase; letter-spacing:.12em; border:none; padding:0; margin:0 0 .6rem}
.wiki-sources ol{font-size:.71rem; color:var(--muted); margin:0 0 0 1.3rem; line-height:1.75; word-break:break-word}
.wiki-sources a{color:var(--muted)}
.wiki-sources a:hover{color:var(--text)}

/* bottom page nav */
.wiki-pages{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.5rem; margin-top:1.6rem}
.wiki-pages a{display:block; padding:.6rem .85rem; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); font-size:.77rem; color:var(--text); transition:background .2s ease,border-color .2s ease,color .2s ease}
.wiki-pages a:hover{background:var(--bg-card-hover); border-color:var(--border-hover); color:#fff}
.wiki-pages a .wp-label{display:block; font-size:.6rem; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); margin-bottom:.15rem}

/* ===== mod list (moved from wiki.html) ===== */
.modlist-h{font-size:1.05rem; font-weight:600; margin:0 0 .15rem}
.mod-list{list-style:none; padding:0; margin:1.25rem 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:2.5rem}
.mod-list li{display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding:.32rem 0; border-bottom:1px solid rgba(255,255,255,.07); font-size:.88rem; min-width:0}
.mod-list .m-name{color:#d3d3d3; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.mod-list .m-ver{color:#7c7c7c; white-space:nowrap; font-size:.8rem}
@media(max-width:720px){.mod-list{grid-template-columns:1fr}}

/* ===== wiki search ===== */
.wiki-search{position:relative; margin:1.2rem 0 1.6rem}
.wiki-search input{
  width:100%; box-sizing:border-box; font-family:var(--font); font-size:.85rem;
  background:var(--bg-card); border:1px solid var(--border-hover); border-radius:var(--radius-md);
  color:var(--text); padding:.7rem 1rem; outline:none; transition:border-color .2s ease;
}
.wiki-search input::placeholder{color:var(--muted)}
.wiki-search input:focus{border-color:var(--accent)}
.wiki-search-results{
  position:absolute; left:0; right:0; top:calc(100% + .35rem); z-index:50;
  background:#1a1a1a; border:1px solid var(--border-hover); border-radius:var(--radius-md);
  max-height:360px; overflow-y:auto; box-shadow:0 10px 28px rgba(0,0,0,.6);
}
.ws-result{
  display:flex; align-items:baseline; justify-content:space-between; gap:1rem;
  padding:.55rem .9rem; border-bottom:1px solid var(--border); font-size:.82rem;
}
.ws-result:last-child{border-bottom:none}
.ws-result:hover{background:var(--bg-card-hover)}
.ws-title{color:var(--heading); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.ws-result:hover .ws-title{color:#fff}
.ws-meta{color:var(--muted); font-size:.64rem; text-transform:uppercase; letter-spacing:.06em; white-space:nowrap; flex-shrink:0}
.ws-empty{padding:.7rem .9rem; color:var(--muted); font-size:.78rem; line-height:1.5}
