/* Mightypear — Minecraft GUI theme.
   Deliberately single (dark) world: Minecraft's own UI is dark, so every colour is painted
   explicitly here rather than inherited from the viewer's theme. */
@font-face{font-family:"PixelMC";src:url(/assets/pressstart2p.woff2) format("woff2");
  font-display:swap;font-weight:400;font-style:normal}
:root{
  --void:#0C0D11; --panel:#1A1C22; --panel-2:#23262E; --stone:#3C404B;
  --edge-lt:#5A5F70; --edge-dk:#0E1015;
  --ink:#E9E7E4; --ink-2:#969BA6;
  --gold:#FFAA00; --yellow:#FFFF55; --green:#55FF55; --grass:#5C8A34;
  --gray:#AAAAAA; --dgray:#555555; --red:#FF5555; --aqua:#55FFFF;
  --pixel:"PixelMC","Courier New",monospace;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
img{image-rendering:pixelated}
html{scroll-behavior:smooth;scroll-padding-top:18px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  background-color:var(--void);
  background-image:linear-gradient(rgba(10,11,15,.93),rgba(10,11,15,.97)),url(/assets/tex/bg_holystone.png);
  background-size:auto,64px 64px; background-attachment:fixed,fixed;
  color:var(--ink);font-family:var(--body);line-height:1.65;margin:0;
  padding:clamp(14px,3vw,34px) clamp(12px,3vw,26px);
}

/* ---- two column shell: the left gutter is navigation, not dead space ---- */
.shell{max-width:1160px;margin:0 auto;display:grid;gap:22px;grid-template-columns:minmax(0,1fr)}
main{display:flex;flex-direction:column;gap:20px;min-width:0}
.rail{display:flex;gap:6px;overflow-x:auto;padding:8px;position:sticky;top:0;z-index:20;
  background:rgba(12,13,17,.94);border:3px solid;
  border-color:var(--edge-lt) var(--edge-dk) var(--edge-dk) var(--edge-lt);scrollbar-width:thin}
.rail a{flex:0 0 auto;font-family:var(--pixel);font-size:.55rem;color:var(--ink-2);
  text-decoration:none;padding:9px 10px;border:2px solid transparent;white-space:nowrap;
  text-shadow:2px 2px 0 #000}
.rail a:hover{color:var(--yellow)}
.rail a.on{color:var(--gold);border-color:var(--stone);background:var(--panel-2)}
.rail a:focus-visible{outline:2px solid var(--yellow);outline-offset:1px}
.railtop{display:none}
@media(min-width:940px){
  .shell{grid-template-columns:214px minmax(0,1fr);align-items:start}
  .rail{flex-direction:column;overflow:visible;position:sticky;top:18px;padding:12px}
  .rail a{white-space:normal;line-height:1.5}
  .railtop{display:block;font-family:var(--pixel);font-size:.5rem;color:var(--gold);
    padding:2px 10px 10px;text-shadow:2px 2px 0 #000;border-bottom:2px solid var(--stone);margin-bottom:6px}
}

/* ---- panels ---- */
.panel{background:var(--panel);border:3px solid;
  border-color:var(--edge-lt) var(--edge-dk) var(--edge-dk) var(--edge-lt);
  padding:clamp(15px,3vw,24px);display:flex;flex-direction:column;gap:10px}
.panel.sunken{background:var(--panel-2);
  border-color:var(--edge-dk) var(--edge-lt) var(--edge-lt) var(--edge-dk)}
.hero{background-image:linear-gradient(rgba(12,13,17,.82),rgba(12,13,17,.94)),url(/assets/tex/bg_aetherdirt.png);
  background-size:auto,80px 80px}

/* ---- type ---- */
h1{font-family:var(--pixel);font-size:clamp(1.1rem,4.6vw,2.1rem);line-height:1.4;margin:0;
  color:var(--gold);text-shadow:3px 3px 0 #000}
h2{font-family:var(--pixel);font-size:clamp(.78rem,2.4vw,.96rem);line-height:1.55;margin:0 0 3px;
  color:var(--ink);text-shadow:2px 2px 0 #000}
h3{font-family:var(--pixel);font-size:.65rem;line-height:1.6;margin:15px 0 5px;color:var(--yellow);
  text-shadow:2px 2px 0 #000}
p{margin:0 0 9px;font-size:.95rem}
p.dim,.dim{color:var(--ink-2)}
.label{font-family:var(--pixel);font-size:.52rem;color:var(--ink-2);letter-spacing:.05em;
  text-transform:uppercase;margin:0 0 6px;text-shadow:2px 2px 0 #000}
a{color:var(--gold)}
code{font-family:var(--mono);font-size:.85em;background:var(--void);border:2px solid var(--edge-dk);
  padding:.06em .36em;color:var(--green)}
kbd{font-family:var(--pixel);font-size:.6em;background:var(--stone);border:2px solid;
  border-color:var(--edge-lt) var(--edge-dk) var(--edge-dk) var(--edge-lt);padding:.3em .45em;color:#fff}

/* ---- buttons ---- */
.mcbtn{display:inline-block;align-self:flex-start;background:var(--stone);
  border:3px solid;border-color:#6E7385 #1B1D24 #1B1D24 #6E7385;
  color:#fff;font-family:var(--pixel);font-size:.6rem;line-height:1.5;
  padding:12px 16px;text-decoration:none;text-shadow:2px 2px 0 rgba(0,0,0,.6);cursor:pointer}
.mcbtn:hover{background:#4A4F5D;color:var(--yellow)}
.mcbtn:active{border-color:#1B1D24 #6E7385 #6E7385 #1B1D24}
.mcbtn:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.mcbtn.primary{background:var(--grass);border-color:#82B451 #2C471A #2C471A #82B451}
.mcbtn.primary:hover{background:#6A9C3D;color:#fff}
.mcbtn.small{font-size:.5rem;padding:8px 10px}

/* ---- server list entry ---- */
.server{display:flex;gap:13px;align-items:flex-start;background:var(--panel-2);
  border:3px solid;border-color:var(--edge-dk) var(--edge-lt) var(--edge-lt) var(--edge-dk);padding:12px}
.server img.icon{width:64px;height:64px;flex:0 0 64px;display:block}
.server .body{min-width:0;flex:1}
.server .row1{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.motd{font-family:var(--mono);font-size:.83rem;line-height:1.5;margin:3px 0 0;word-break:break-word}
.motd .c6{color:var(--gold)}.motd .c7{color:var(--gray)}.motd .c8{color:var(--dgray)}
.motd .ca{color:var(--green)}.motd .ce{color:var(--yellow)}.motd .bold{font-weight:700}
.ping{display:flex;align-items:flex-end;gap:2px;height:12px}
.ping i{width:3px;background:var(--green);display:block}
.ping i:nth-child(1){height:3px}.ping i:nth-child(2){height:5px}
.ping i:nth-child(3){height:7px}.ping i:nth-child(4){height:9px}.ping i:nth-child(5){height:12px}
.srvname{font-family:var(--pixel);font-size:.6rem;color:var(--ink);text-shadow:2px 2px 0 #000}
.status{font-family:var(--pixel);font-size:.52rem;padding:4px 7px;border:2px solid}
.status.up{color:var(--green);border-color:var(--green)}
.status.down{color:var(--red);border-color:var(--red)}
.status.unknown{color:var(--ink-2);border-color:var(--ink-2)}
.addrbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.addrbar code{font-size:.98rem;padding:.3em .5em}

/* ---- inventory slots / dragon cards ---- */
.inv{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}
.slot{width:44px;height:44px;background:#8B8B8B;border:3px solid;
  border-color:#373737 #FFF #FFF #373737;display:grid;place-items:center}
.slot img{width:30px;height:30px}
.dragons{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(158px,1fr))}
.dcard{display:flex;gap:10px;align-items:center;background:var(--panel-2);border:3px solid;
  border-color:var(--edge-dk) var(--edge-lt) var(--edge-lt) var(--edge-dk);padding:9px}
.dcard .slot{flex:0 0 44px}
.dcard b{display:block;font-size:.84rem;color:var(--ink);line-height:1.3}
.dcard span{font-size:.72rem;color:var(--ink-2)}

/* ---- mod browser ---- */
.tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:4px 0 10px}
input[type=search]{flex:1 1 190px;min-width:0;background:var(--void);color:var(--ink);
  border:3px solid;border-color:var(--edge-dk) var(--edge-lt) var(--edge-lt) var(--edge-dk);
  padding:10px 11px;font-family:var(--mono);font-size:.88rem}
input[type=search]:focus{outline:2px solid var(--yellow);outline-offset:1px}
.filters{display:flex;gap:5px;flex-wrap:wrap}
.f{font-family:var(--pixel);font-size:.48rem;padding:8px 9px;background:var(--stone);color:#fff;
  border:2px solid;border-color:#6E7385 #1B1D24 #1B1D24 #6E7385;cursor:pointer;
  text-shadow:2px 2px 0 rgba(0,0,0,.6)}
.f:hover{color:var(--yellow)}
.f.on{background:var(--grass);border-color:#82B451 #2C471A #2C471A #82B451}
.f:focus-visible{outline:2px solid var(--yellow);outline-offset:1px}
.modlist{display:grid;gap:6px}
.mod{background:var(--panel-2);border-left:5px solid var(--stone);padding:9px 11px}
.mod.cDragons{border-left-color:var(--red)}
.mod.cDimensions{border-left-color:var(--aqua)}
.mod.cStructures{border-left-color:var(--gold)}
.mod[class*="Quality"]{border-left-color:var(--green)}
.mod.cPerformance{border-left-color:var(--yellow)}
.mod .top{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}
.mod b{font-size:.9rem;color:var(--ink)}
.mod .v{font-family:var(--mono);font-size:.7rem;color:var(--ink-2)}
.mod .d{font-size:.84rem;color:var(--ink-2);margin-top:2px}
.mod .side{font-family:var(--pixel);font-size:.44rem;color:var(--ink-2);border:1px solid var(--stone);
  padding:2px 5px;margin-left:6px}
.count{font-family:var(--mono);font-size:.78rem;color:var(--ink-2)}

/* ---- misc ---- */
.scroll{overflow-x:auto;margin:6px 0}
table{border-collapse:collapse;width:100%;font-size:.88rem}
th{text-align:left;font-family:var(--pixel);font-size:.5rem;color:var(--yellow);font-weight:400;
  padding:0 12px 9px 0;border-bottom:2px solid var(--stone);white-space:nowrap;text-shadow:2px 2px 0 #000}
td{padding:8px 12px 8px 0;border-bottom:1px solid var(--stone);vertical-align:top}
tr:last-child td{border-bottom:none}
ul{margin:5px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:.94rem}
ol.steps{margin:8px 0 0;padding-left:0;list-style:none;counter-reset:s;display:flex;
  flex-direction:column;gap:11px}
ol.steps li{counter-increment:s;padding-left:36px;position:relative;font-size:.94rem}
ol.steps li::before{content:counter(s);position:absolute;left:0;top:1px;font-family:var(--pixel);
  font-size:.52rem;color:#fff;background:var(--grass);border:2px solid;
  border-color:#82B451 #2C471A #2C471A #82B451;width:23px;height:23px;display:grid;place-items:center}
.note{background:var(--panel-2);border-left:5px solid var(--gold);padding:11px 13px;font-size:.91rem}
.note.warn{border-left-color:var(--red)}
.note p:last-child{margin:0}
.grid2{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
footer{color:var(--ink-2);font-size:.76rem;text-align:center;padding:4px 0 0;font-family:var(--mono)}
footer a{color:var(--gold)}
.mcbtn,.f{transition:background .12s linear,color .12s linear}
@media (prefers-reduced-motion:reduce){.mcbtn,.f{transition:none}}
