/* Stili comuni a tutte le pagine di Tesseracts Minecraft Guide */
/* Font ricostruito dalla bitmap ufficiale (font/ascii.png + nonlatin_european.png), vedi tools/build_assets.py */
@font-face{font-family:"MC Pixel";src:url(/assets/mc-pixel.woff) format("woff");font-display:swap}
/* Font ricostruito dalla bitmap ufficiale (assets/minecraft/textures/font/ascii.png + nonlatin_european.png) */
:root{
  /* Tema viola di tesseracts.ai. --lapis = colore principale, --alt = secondo colore per grafici */
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  --body:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;
  --px:"MC Pixel",var(--body);
  --bg:#ECE5F7; --panel:#FAF7FE; --sunk:#F1EBFA; --ink:#1E1630; --muted:#584C70;
  --line:#D3C6EA; --shadow:#C6B4E6; --lapis:#5A2DB4; --glyph:#7C3AED; --xp:#256B0D; --warn:#9A3913;
  --chip:#E6DBF7; --on-lapis:#fff; --edge:#7A67A0; --alt:#0B6E77;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#130E23; --panel:#1D1634; --sunk:#17112B; --ink:#EFE9FC; --muted:#B6ABD2;
    --line:#42366F; --shadow:#09060F; --lapis:#BBA0FF; --glyph:#D6C4FF; --xp:#8BF045; --warn:#FF9F75;
    --chip:#2C2253; --on-lapis:#130E23; --edge:#8E80C4; --alt:#5FD3DE;
  }
}
:root[data-theme="dark"]{
  --bg:#130E23; --panel:#1D1634; --sunk:#17112B; --ink:#EFE9FC; --muted:#B6ABD2;
    --line:#42366F; --shadow:#09060F; --lapis:#BBA0FF; --glyph:#D6C4FF; --xp:#8BF045; --warn:#FF9F75;
    --chip:#2C2253; --on-lapis:#130E23; --edge:#8E80C4; --alt:#5FD3DE;
}
:root[data-font="plain"]{--px:var(--body)}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.55 var(--body);-webkit-text-size-adjust:100%}
/* Il font pixel resta su multipli di 8px (1rem, 1.5rem, 2rem, 3rem) per restare nitido */
h1,h2,h3,.px,.tab,.btn{font-family:var(--px);font-weight:400;-webkit-font-smoothing:none}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-60px;z-index:10;background:var(--lapis);color:var(--on-lapis);padding:10px 14px;border-radius:3px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}
.wrap{max-width:1180px;margin:0 auto;padding:18px 16px 48px}
/* Intestazione comune: logo, menu degli strumenti, preferenze */
header.site{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding-bottom:14px;margin-bottom:22px;border-bottom:2px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}
.brand:hover .brandname{color:var(--lapis)}
.brandname{font-family:var(--px);font-size:1.5rem;line-height:1.1;-webkit-font-smoothing:none}
.toolnav{flex:1 1 auto}
.toolnav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.toolnav a{display:flex;align-items:center;gap:8px;padding:6px 10px;border:2px solid transparent;border-radius:4px;color:var(--ink);text-decoration:none;font-weight:700;font-size:.95rem;min-height:40px}
.toolnav a:hover{border-color:var(--line);background:var(--sunk)}
.toolnav a[aria-current="page"]{border-color:var(--lapis);background:var(--panel);color:var(--lapis)}
.pagehead{margin:0 0 16px}
.pagehead h1{margin:0;font-size:2rem;line-height:1.15;display:flex;align-items:center;gap:12px}
.pagehead p{margin:6px 0 0;color:var(--muted);max-width:70ch}
@media (max-width:640px){.toolnav{order:3;flex-basis:100%}.toolnav ul{display:grid;grid-template-columns:1fr 1fr}.prefs{margin-left:0}}
.prefs{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:.92rem;margin-left:auto}
.prefs label{display:flex;align-items:center;gap:6px}
.prefs select{min-height:36px;padding:4px 6px}
.prefs input{width:20px;height:20px;accent-color:var(--lapis)}
.tabs{display:flex;gap:6px;width:100%;border-bottom:2px solid var(--line)}
.tab{border:2px solid var(--line);border-bottom:0;background:var(--sunk);color:var(--ink);padding:10px 16px 8px;font-size:1rem;cursor:pointer;border-radius:4px 4px 0 0;margin-bottom:-2px;display:flex;align-items:center;gap:8px;line-height:1}
.tab[aria-selected="true"]{background:var(--panel);color:var(--lapis);box-shadow:inset 0 4px 0 var(--lapis);border-bottom:2px solid var(--panel)}
.tab:hover{color:var(--lapis)}
button{cursor:pointer;font:inherit}
:focus-visible{outline:3px solid var(--glyph);outline-offset:2px}
a{color:var(--lapis)}
.grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:22px;align-items:start;margin-top:22px}
@media (max-width:880px){.grid{grid-template-columns:minmax(0,1fr)}.tab{flex:1;justify-content:center}}
.panel{background:var(--panel);border:2px solid var(--line);border-radius:4px;box-shadow:5px 5px 0 var(--shadow);padding:16px 16px 18px;margin-bottom:22px}
.panel h2{margin:0 0 14px;font-size:1.5rem;line-height:1.15;display:flex;align-items:center;gap:10px}
.stepno{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;background:var(--lapis);color:var(--on-lapis);border-radius:3px;font-size:1rem}
.muted{color:var(--muted)}
.small{font-size:.9rem}
.ic{display:inline-block;position:relative;flex:none;line-height:0}
.ic img,.ic svg{width:100%;height:100%;image-rendering:pixelated;display:block}
.glint::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 38%,rgba(200,140,255,.85) 50%,transparent 62%);background-size:260% 100%;-webkit-mask:var(--m) center/100% 100% no-repeat;mask:var(--m) center/100% 100% no-repeat;-webkit-mask-mode:alpha;mask-mode:alpha;animation:glint 3.4s linear infinite;mix-blend-mode:screen;pointer-events:none}
@keyframes glint{from{background-position:130% 0}to{background-position:-130% 0}}
@media (prefers-reduced-motion:reduce){.glint::after{animation:none;background-position:50% 0;opacity:.5}}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{padding:0}
.itemgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:6px}
.itembtn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px 6px;background:var(--sunk);border:2px solid var(--line);border-radius:4px;color:var(--ink);font-size:.82rem;line-height:1.2;text-align:center}
.itembtn:hover{border-color:var(--edge)}
.itembtn[aria-pressed="true"]{border-color:var(--lapis);background:var(--chip);font-weight:700}
.sub{margin:16px 0 6px;font-weight:700;font-size:1rem}
.pills{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 8px;padding:0;list-style:none}
.pill{display:inline-flex;align-items:center;gap:2px;background:var(--chip);border-radius:3px;padding:2px 2px 2px 10px;font-size:.92rem}
.pill button{border:0;background:transparent;color:var(--ink);font-size:1.1rem;line-height:1;min-width:30px;min-height:30px;border-radius:3px}
.pill button:hover{background:var(--line)}
.addrow{display:flex;gap:6px;flex-wrap:wrap}
select,input[type=number]{font:inherit;color:var(--ink);background:var(--sunk);border:2px solid var(--edge);border-radius:3px;padding:6px 8px;min-height:42px}
input[aria-invalid="true"]{border-color:var(--warn)}
.addrow select.esel{flex:1 1 170px;min-width:0}
.btn{border:2px solid var(--lapis);background:var(--lapis);color:var(--on-lapis);border-radius:3px;padding:8px 14px 6px;font-size:1rem;min-height:42px;line-height:1}
.btn:hover{filter:brightness(1.1)}
.btn.ghost{background:transparent;color:var(--lapis)}
.addbtns{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.addbtns .btn{flex:1 1 160px}
.book{border:2px solid var(--line);border-radius:4px;padding:10px 12px;margin-bottom:10px;background:var(--panel)}
.bookhead{display:flex;align-items:center;gap:10px}
.bookhead h3{margin:0;font-size:1rem}
.bookhead .x{margin-left:auto;border:0;background:transparent;color:var(--warn);font-size:.92rem;text-decoration:underline;min-height:32px;padding:0 6px}
.rc{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:.92rem}
.rc label{display:flex;align-items:center;gap:8px}
.rc input{width:80px}
.rc .hint{color:var(--muted)}
.rc .hint.bad{color:var(--warn);font-weight:700}
details.howto{background:var(--sunk);border:2px dashed var(--line);border-radius:4px;padding:10px 12px;margin:0 0 14px}
details.howto summary{cursor:pointer;font-weight:700}
details.howto ol{margin:8px 0 6px;padding-left:22px}
.tbl{border-collapse:collapse;font-size:.9rem;margin-top:6px}
.tbl td,.tbl th{border:1px solid var(--line);padding:3px 8px;text-align:center}
.tbl th[scope=row]{text-align:left}
.want{display:flex;flex-direction:column;gap:4px}
.wrow{display:flex;align-items:center;gap:10px;padding:8px 8px;border-radius:3px;background:var(--sunk)}
.wrow input{width:22px;height:22px;accent-color:var(--lapis);flex:none}
.wrow label{flex:1;cursor:pointer}
.wrow .lv{color:var(--muted);font-size:.9rem;text-align:right}
.wrow.off{background:transparent;border:2px dashed var(--line);padding:6px}
.wrow.off label{cursor:not-allowed;color:var(--muted)}
.empty{padding:14px;border:2px dashed var(--line);border-radius:4px;color:var(--muted)}
.summary{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center;margin-bottom:14px}
.big{font-family:var(--px);font-size:3rem;line-height:1;color:var(--xp);-webkit-font-smoothing:none;display:flex;align-items:center;gap:10px}
.big small{font-family:var(--body);font-size:1rem;color:var(--muted)}
.final{display:flex;align-items:center;gap:14px;background:var(--sunk);border-radius:4px;padding:10px 14px;flex:1 1 260px}
.final b{font-family:var(--px);font-weight:400;font-size:1rem}
.facts{margin:0;padding:0;list-style:none;font-size:.95rem}
.warns{margin:0 0 12px;padding:10px 12px 10px 30px;border-left:4px solid var(--warn);background:var(--sunk);font-size:.95rem}
.steps{list-style:none;margin:0;padding:0}
.step{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:12px 0;border-top:2px solid var(--line)}
.step:first-child{border-top:0}
.step .n{font-family:var(--px);font-size:1.5rem;color:var(--muted);text-align:center}
.op{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.op .sym{font-family:var(--px);font-size:1.5rem;color:var(--muted)}
.slot{display:flex;flex-direction:column;align-items:center;min-width:72px;max-width:160px;text-align:center}
.slot .nm{font-size:.85rem;font-weight:700;margin-top:4px}
.slot .en{font-size:.8rem;color:var(--muted);line-height:1.3}
.cost{text-align:right}
.cost .v{font-family:var(--px);font-size:2rem;color:var(--xp);line-height:1;-webkit-font-smoothing:none}
.cost .d{font-size:.8rem;color:var(--muted);white-space:nowrap}
@media (max-width:520px){.step{grid-template-columns:28px minmax(0,1fr)}.cost{grid-column:2;text-align:left}.slot{min-width:60px}}
.toggle{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:.95rem}
.toggle input{width:20px;height:20px;accent-color:var(--lapis)}
/* Find page */
.findtop{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:end}
@media (max-width:760px){.findtop{grid-template-columns:minmax(0,1fr)}}
.ehead{display:flex;align-items:center;gap:14px}
.ehead h2{margin:0;font-size:2rem}
.field label{display:block;font-weight:700;margin-bottom:4px}
.field select{width:100%}
.shelf{display:flex;align-items:center;gap:12px}
.shelf input[type=range]{flex:1;accent-color:var(--lapis);min-height:42px}
.shelf .num{font-family:var(--px);font-size:2rem;min-width:2ch;text-align:right;color:var(--lapis);-webkit-font-smoothing:none}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px;margin-top:22px}
.card h3{margin:0 0 6px;font-size:1.5rem;display:flex;align-items:center;gap:10px}
.card .lead{margin:0 0 12px;color:var(--muted);font-size:.95rem}
.na{padding:12px;background:var(--sunk);border-radius:4px;color:var(--muted)}
.prow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:9px 0;border-top:2px solid var(--line)}
.prow:first-of-type{border-top:0}
.prow .t{font-weight:700;display:flex;align-items:center;gap:8px}
.prow .p{font-family:var(--px);font-size:1.5rem;color:var(--xp);text-align:right;line-height:1.1;-webkit-font-smoothing:none}
.prow .s{grid-column:1/-1;font-size:.88rem;color:var(--muted)}
.lvbars{grid-column:1/-1;display:flex;gap:4px;margin-top:4px;padding:0;list-style:none}
.lvbar{flex:1;background:var(--sunk);border-radius:2px;padding:2px 4px;font-size:.8rem;position:relative;overflow:hidden;min-width:0}
.lvbar i{position:absolute;inset:0 auto 0 0;background:var(--glyph);opacity:.3}
.lvbar span{position:relative;white-space:nowrap}
.chart{margin-top:12px}
.chart svg{width:100%;height:auto;display:block}
.legend{display:flex;gap:6px 16px;font-size:.85rem;color:var(--muted);flex-wrap:wrap;margin-top:4px}
.legend span{display:inline-flex;align-items:center;gap:6px}
details.data{margin-top:8px;font-size:.9rem}
details.data summary{cursor:pointer;color:var(--lapis);text-decoration:underline}
.note{font-size:.88rem;color:var(--muted);margin-top:10px}
.tip{margin-top:12px;padding:10px 12px;background:var(--sunk);border-radius:4px;font-size:.92rem}
footer.site{margin-top:28px;padding-top:12px;border-top:2px solid var(--line);color:var(--muted);font-size:.88rem}
footer.site p{margin:4px 0}
.prices{width:100%;border-collapse:collapse;font-size:.92rem;margin-top:6px}
.prices td,.prices th{border-top:2px solid var(--line);padding:4px 6px;text-align:left}
.prices thead th{color:var(--muted);font-weight:400}
@media (forced-colors:active){
  .itembtn[aria-pressed="true"],.tab[aria-selected="true"]{outline:3px solid Highlight}
  .stepno,.btn{border:2px solid ButtonText}
  .glint::after{display:none}
}

/* Home: schede degli strumenti */
.cards-home{list-style:none;margin:22px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.toolcard{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;height:100%;padding:20px 16px;text-align:center;background:var(--panel);border:2px solid var(--line);border-radius:4px;box-shadow:5px 5px 0 var(--shadow);color:var(--ink);text-decoration:none}
.toolcard:hover{border-color:var(--lapis)}
.toolcard:hover .toolname{color:var(--lapis)}
.toolname{display:block;font-family:var(--px);font-size:1.5rem;line-height:1.15;-webkit-font-smoothing:none;overflow-wrap:anywhere}
.tooldesc{display:block;color:var(--muted);margin-top:6px;max-width:28ch;margin-inline:auto}
/* Campi numerici in riga (coordinate) */
.coords{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.coords label{display:flex;flex-direction:column;gap:2px;font-weight:700;font-size:.9rem}
.coords input{width:100%}
input[type=text],input[type=search],textarea{font:inherit;color:var(--ink);background:var(--sunk);border:2px solid var(--edge);border-radius:3px;padding:6px 8px;min-height:42px;width:100%}
textarea{min-height:64px;resize:vertical;font-family:ui-monospace,Consolas,monospace;font-size:.9rem}
.err{color:var(--warn);font-weight:700}
.out{font-family:var(--px);font-size:2rem;color:var(--xp);line-height:1.1;-webkit-font-smoothing:none;overflow-wrap:anywhere}
/* Icone degli oggetti e tabelle dati (villager, cibo, pozioni) */
img.item{image-rendering:pixelated;vertical-align:middle;flex:none}
.datatable{width:100%;border-collapse:collapse;font-size:.95rem}
.datatable caption{text-align:left;font-weight:700;padding:0 0 6px}
.datatable th,.datatable td{padding:8px 8px;border-top:2px solid var(--line);text-align:left;vertical-align:middle}
.datatable thead th{border-top:0;color:var(--muted);font-weight:700;font-size:.85rem;white-space:nowrap}
.datatable td.num,.datatable th.num{text-align:right;font-variant-numeric:tabular-nums}
.datatable tr.off td{color:var(--muted)}
.datatable tr.off img{opacity:.45}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.stack{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.qty{font-family:var(--px);font-size:1rem;-webkit-font-smoothing:none}
.search{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.search input{flex:1 1 220px}
.badge{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--chip);font-size:.8rem;font-weight:700;white-space:nowrap}
.pct{font-family:var(--px);font-size:1.5rem;color:var(--xp);-webkit-font-smoothing:none;white-space:nowrap}
/* Tessere selezionabili con radio nascosto (stesso schema della pagina trims) */
.tiles2{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px}
.tile2{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;background:var(--sunk);border:2px solid var(--line);border-radius:4px;font-size:.8rem;line-height:1.15;text-align:center;cursor:pointer}
.tile2:hover{border-color:var(--edge)}
.tile2 input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.tile2:has(input:checked){border-color:var(--lapis);background:var(--chip);font-weight:700;box-shadow:inset 0 0 0 1px var(--lapis)}
.tile2:has(input:focus-visible){outline:3px solid var(--glyph);outline-offset:2px}
.swatch{width:28px;height:28px;border-radius:3px;border:2px solid var(--edge)}
/* Sezione "About this tool" (domande frequenti, generata da tools/seo.js) */
.faq-q{font-family:var(--body);font-weight:700;font-size:1.05rem;margin:16px 0 4px;-webkit-font-smoothing:auto}
.faq-a{margin:0;max-width:75ch;color:var(--muted)}
/* Pubblicità ai lati (AdSense): solo dove c'è spazio libero accanto al contenuto (largo 1180 px), mai sopra il contenuto */
.ad-rail{display:none;position:fixed;top:16px;z-index:1;text-align:center}
.ad-rail .ad-label{display:block;font-size:.75rem;color:var(--muted);margin-bottom:4px}
.ad-rail ins{margin:0 auto}
@media (min-width:1560px){
  .ad-rail{display:block;width:160px}
  .ad-left{left:calc(50% - 590px - 24px - 160px)}
  .ad-right{right:calc(50% - 590px - 24px - 160px)}
}
@media (min-width:1860px){
  .ad-rail{width:300px}
  .ad-left{left:calc(50% - 590px - 24px - 300px)}
  .ad-right{right:calc(50% - 590px - 24px - 300px)}
}
@media (max-height:660px){.ad-rail{display:none!important}}
@media print{.ad-rail{display:none!important}}
