:root{color-scheme:light;--cob:#0c4a8c;--cob-d:#07305e;--cob-dd:#051f3f;--cy:#1599bd;--cy-s:#dff4fa;--or:#ef6a1a;--or-d:#a84408;--or-s:#fff0e6;--sheet:#f4f8fc;--card:#fff;--ink:#10243f;--mut:#4a5f7a;--line:#c5d6ea;--grid:rgba(12,74,140,.07);--ok:#0b7a52;--r:6px;--f:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif;--sf:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;--m:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background-color:var(--sheet);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px;color:var(--ink);font:16px/1.62 var(--f);overflow-wrap:break-word}
img,svg{max-width:100%}
a{color:#0a4f9e;text-underline-offset:2px}
a:hover{color:var(--or-d)}
:focus-visible{outline:3px solid var(--or);outline-offset:2px;border-radius:3px}
.skip{position:absolute;left:-999px;top:8px;z-index:90;background:var(--or);color:#1b0b00;padding:10px 16px;border-radius:var(--r);font-weight:700}
.skip:focus{left:8px}
.shell{display:block}
.side{background:var(--cob);color:#e6f0fc;padding:12px 16px}
.side a{color:#dbe9fb;text-decoration:none}
.brand{display:flex;align-items:center;gap:11px;color:#fff!important}
.brand .logo{width:38px;height:38px;flex:none}
.brand b{display:block;font:700 1.28rem/1.1 var(--sf);letter-spacing:.01em}
.brand i{display:block;font:normal .72rem/1.3 var(--m);color:#a9c8ee;letter-spacing:.04em;margin-top:2px}
.nav{margin-top:10px}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.nav a{display:inline-block;padding:7px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:.92rem;font-weight:600;line-height:1.2}
.nav a:hover{background:rgba(255,255,255,.12)}
.nav a[aria-current]{background:#fff;color:var(--cob-d);border-color:#fff}
.nav h2{display:none}
.nav .s{display:none}
.side-note{display:none}
.main{min-width:0;padding:18px 16px 36px}
.sheet{max-width:960px;margin:0 auto}
.crumbs{font:.82rem/1.4 var(--m);color:var(--mut);margin:0 0 14px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.crumbs li+li::before{content:"/";margin-right:4px;color:#8aa0bb}
.crumbs a{color:var(--mut)}
h1,h2,h3{font-family:var(--sf);line-height:1.2;color:var(--cob-dd);margin:0}
h1{font-size:clamp(1.7rem,5.4vw,2.5rem);letter-spacing:-.005em}
h2{font-size:1.45rem;margin:30px 0 10px;padding-top:10px;border-top:2px solid var(--cob)}
h3{font-size:1.1rem;margin:20px 0 6px}
p{margin:0 0 12px}
.lead{font-size:1.1rem;color:#27415f;max-width:42em}
.plate{position:relative;background:var(--card);border:2px solid var(--cob);padding:20px 18px 16px;margin:0 0 18px}
.plate::before,.plate::after{content:"";position:absolute;width:14px;height:14px;border:solid var(--or);border-width:0}
.plate::before{left:-2px;top:-2px;border-width:4px 0 0 4px}
.plate::after{right:-2px;bottom:-2px;border-width:0 4px 4px 0}
.tag{display:inline-block;font:700 .74rem/1 var(--m);letter-spacing:.08em;text-transform:uppercase;color:var(--or-d);margin:0 0 8px}
.tb{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:16px 0 0;border:1px solid var(--cob);font:.78rem/1.35 var(--m)}
.tb div{padding:6px 9px;border-right:1px solid var(--cob);border-bottom:1px solid var(--cob);background:#fbfdff}
.tb div:nth-child(2n){border-right:0}
.tb div:nth-last-child(-n+2){border-bottom:0}
.tb b{display:block;color:var(--mut);font-weight:400;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.btn{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:var(--r);border:2px solid var(--cob);background:#fff;color:var(--cob-d);font:700 1rem/1 var(--f);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--cy-s);color:var(--cob-dd)}
.btn.pri{background:var(--or);border-color:var(--or);color:#1b0b00}
.btn.pri:hover{background:#ff8a45;color:#1b0b00}
.cards{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.card{display:flex;flex-direction:column;height:100%;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--cob);border-radius:0 0 var(--r) var(--r);color:var(--ink);text-decoration:none}
.card:hover{border-top-color:var(--or);box-shadow:0 6px 18px rgba(12,74,140,.14)}
.card .th{display:flex;align-items:center;justify-content:center;height:150px;background:#eef5fc;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:12px 12px;border-bottom:1px solid var(--line)}
.card .th img{max-height:136px;width:auto;max-width:92%;height:auto}
.card .bd{padding:10px 12px 12px}
.card h3{margin:0 0 4px;font-size:1.08rem}
.card p{margin:0;font-size:.9rem;color:var(--mut)}
.chips{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0 0;padding:0;list-style:none}
.chips li,.chip{display:inline-block;padding:2px 8px;border-radius:3px;background:var(--cy-s);color:#0b4a5e;font:.74rem/1.5 var(--m)}
.chip.or{background:var(--or-s);color:var(--or-d)}
.stage{position:relative;background:#eaf3fb;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:16px 16px;border:2px solid var(--cob);padding:14px;margin:14px 0}
.iso{display:block;width:100%;max-width:520px;max-height:520px;margin:0 auto;stroke:#0a2a52;stroke-opacity:.35;stroke-width:.5;stroke-linejoin:round}
.stage figcaption{font:.78rem/1.4 var(--m);color:var(--mut);text-align:center;margin-top:8px}
.spec{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:0;padding:0;list-style:none}
.spec li{background:var(--card);border:1px solid var(--line);padding:8px 10px;font-size:.9rem}
.spec b{display:block;font:.7rem/1.3 var(--m);color:var(--mut);letter-spacing:.06em;text-transform:uppercase;font-weight:400}
.spec span{font:700 1.15rem/1.3 var(--sf)}
.tw{overflow-x:auto;margin:10px 0 14px;border:1px solid var(--line);background:var(--card)}
table.tbl{border-collapse:collapse;width:100%;font-size:.92rem}
.tbl th,.tbl td{padding:7px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.tbl thead th{background:var(--cob);color:#fff;font:700 .78rem/1.3 var(--m);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.tbl td.n,.tbl th.n{text-align:right;font-family:var(--m);white-space:nowrap}
.tbl tfoot td{font-weight:700;background:#eef5fc}
.tbl tbody tr:hover{background:#f3f9ff}
.sw{display:inline-block;width:16px;height:16px;border:1px solid rgba(0,0,0,.35);border-radius:2px;vertical-align:-3px;margin-right:8px}
.code{display:inline-block;min-width:1.5em;font:700 .8rem/1.5 var(--m);background:var(--ink);color:#fff;text-align:center;padding:0 5px;border-radius:3px;margin-right:6px}
.tbl label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.tbl input[type=checkbox]{width:20px;height:20px;accent-color:var(--cob)}
.tbl tr.done td.nm{text-decoration:line-through;color:var(--mut)}
.prog{font:.85rem/1.4 var(--m);color:var(--mut);margin:0 0 8px}
.layers{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:12px 0}
.layer{margin:0;background:var(--card);border:1px solid var(--line);padding:8px}
.layer figcaption{font:700 .78rem/1.4 var(--m);color:var(--cob-d);margin:0 0 6px;letter-spacing:.04em}
.plan{display:block;width:100%;height:auto;max-width:360px;margin:0 auto}
.plan .pbg{fill:#f6fafe}
.plan .pgrid{stroke:#0a2a52;stroke-opacity:.28;stroke-width:.6;fill:none}
.plan text{font:700 9px var(--m);text-anchor:middle}
.plan .td text{fill:#10243f}
.plan .tl text{fill:#fff}
.lay-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;padding:10px;background:var(--card);border:1px solid var(--line)}
.lay-ctl input[type=range]{flex:1 1 160px;min-width:120px;accent-color:var(--or);height:28px}
.lay-ctl .lbl{font:700 .85rem/1.2 var(--m);min-width:8.5em}
.lay-ctl button{min-height:40px;min-width:40px;padding:0 12px;border:2px solid var(--cob);border-radius:var(--r);background:#fff;color:var(--cob-d);font:700 .95rem/1 var(--f);cursor:pointer}
.lay-ctl button:hover{background:var(--cy-s)}
.lay-ctl button[aria-pressed=true]{background:var(--cob);color:#fff}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px;list-style:none;margin:8px 0;padding:0;font-size:.85rem}
.steps{list-style:none;counter-reset:st;margin:10px 0;padding:0}
.steps li{counter-increment:st;position:relative;padding:8px 10px 8px 52px;margin:0 0 8px;background:var(--card);border:1px solid var(--line);min-height:46px}
.steps li::before{content:counter(st);position:absolute;left:10px;top:8px;width:30px;height:30px;border-radius:50%;background:var(--cob);color:#fff;font:700 .95rem/30px var(--m);text-align:center}
.tips{list-style:none;margin:10px 0;padding:0}
.tips li{margin:0 0 8px;padding:8px 12px;border-left:4px solid var(--or);background:var(--or-s)}
.nav2{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:26px 0 0}
.nav2 a{display:block;flex:1 1 220px;padding:10px 14px;border:1px solid var(--line);background:var(--card);text-decoration:none;color:var(--ink);font-weight:600}
.nav2 a:hover{border-color:var(--or)}
.nav2 small{display:block;color:var(--mut);font:.72rem/1.4 var(--m);font-weight:400}
.prose{max-width:46em}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 12px}
.prose li{margin:0 0 5px}
.note{padding:10px 14px;background:var(--cy-s);border-left:4px solid var(--cy);margin:12px 0;font-size:.95rem}
.tool{background:var(--card);border:2px solid var(--cob);padding:14px;margin:14px 0}
.tool .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 10px}
.tool label{display:block;font:700 .78rem/1.3 var(--m);letter-spacing:.04em;text-transform:uppercase;color:var(--mut);margin:0 0 4px}
.tool input,.tool select{width:100%;min-height:44px;padding:0 10px;border:2px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);font:1rem var(--f)}
.tool input:focus,.tool select:focus{border-color:var(--cob)}
.res{margin:0;padding:12px;background:#eef5fc;border:1px solid var(--line);font:.95rem/1.7 var(--m)}
.res b{color:var(--cob-dd)}
.res dl{margin:0;display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:2px 14px}
.res dt{color:var(--mut)}
.res dd{margin:0}
.bar{display:grid;grid-template-columns:minmax(90px,150px) 1fr 76px;align-items:center;gap:10px;margin:0 0 7px;font-size:.92rem}
.bar i{display:block;height:16px;background:linear-gradient(90deg,var(--cob),var(--cy));border-radius:0 3px 3px 0;min-width:2px}
.bar span:last-child{font:.85rem/1.2 var(--m);text-align:right}
.bars{margin:10px 0 18px}
.faq details{background:var(--card);border:1px solid var(--line);margin:0 0 8px;padding:0}
.faq summary{cursor:pointer;padding:11px 14px;font-weight:700;color:var(--cob-dd)}
.faq details[open] summary{border-bottom:1px solid var(--line)}
.faq details p{padding:10px 14px 2px}
.foot{background:var(--cob-dd);color:#c4d8f0;padding:22px 16px 26px;font-size:.9rem}
.foot a{color:#dbe9fb}
.foot ul{list-style:none;margin:0;padding:0}
.foot h2{border:0;margin:0 0 8px;padding:0;font:700 .78rem/1.3 var(--m);letter-spacing:.08em;text-transform:uppercase;color:#8fb6e6}
.foot .cols{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:960px;margin:0 auto}
.foot li{margin:0 0 4px}
.foot .disc{max-width:960px;margin:18px auto 0;color:#a5c0e2;font-size:.82rem}
.daily .th{height:auto;padding:12px}
@media (min-width:600px){.tb{grid-template-columns:repeat(4,1fr)}.tb div:nth-child(2n){border-right:1px solid var(--cob)}.tb div:nth-child(4n){border-right:0}.tb div:nth-last-child(-n+2){border-bottom:1px solid var(--cob)}.tb div:nth-last-child(-n+4){border-bottom:0}.spec{grid-template-columns:repeat(4,1fr)}.foot .cols{grid-template-columns:repeat(4,1fr)}.main{padding:26px 28px 44px}}
@media (min-width:960px){
.shell{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh}
.side{position:sticky;top:0;height:100vh;overflow-y:auto;padding:26px 20px;display:flex;flex-direction:column}
.brand .logo{width:46px;height:46px}
.nav{margin-top:28px}
.nav ul{display:block}
.nav li{margin:0 0 3px}
.nav a{display:block;border:0;border-radius:var(--r);padding:9px 12px;font-size:1rem}
.nav h2{display:block;border:0;margin:20px 0 6px;padding:0 12px;font:700 .72rem/1.3 var(--m);letter-spacing:.1em;text-transform:uppercase;color:#8fb6e6}
.nav .s{display:block}
.nav a.sub{padding:6px 12px 6px 24px;font-size:.92rem;font-weight:500;color:#c4d8f0}
.side-note{display:block;margin-top:auto;padding-top:24px;font:.72rem/1.5 var(--m);color:#8fb6e6}
}
@media (max-width:420px){.bar{grid-template-columns:1fr 62px;}.bar i{grid-column:1/-1;grid-row:2}.cards{grid-template-columns:1fr}}
@media (prefers-reduced-motion:no-preference){.card,.btn,.nav a{transition:border-color .15s,background-color .15s,box-shadow .15s}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{.side,.foot,.lay-ctl,.skip{display:none}.shell{display:block}body{background:#fff}}

.t-plank{fill:#c19a5b}
.l-plank{fill:#9e7e4b}
.r-plank{fill:#785f38}
.t-log{fill:#6e5230}
.l-log{fill:#5a4327}
.r-log{fill:#44331e}
.t-cobble{fill:#8d9096}
.l-cobble{fill:#74767b}
.r-cobble{fill:#57595d}
.t-stonebrick{fill:#7a8088}
.l-stonebrick{fill:#646970}
.r-stonebrick{fill:#4c4f54}
.t-glass{fill:#a8d8ec}
.l-glass{fill:#8ab1c2}
.r-glass{fill:#688692}
.t-door{fill:#9a7440}
.l-door{fill:#7e5f34}
.r-door{fill:#5f4828}
.t-stairs{fill:#a98450}
.l-stairs{fill:#8b6c42}
.r-stairs{fill:#695232}
.t-chest{fill:#b0782e}
.l-chest{fill:#906226}
.r-chest{fill:#6d4a1d}
.t-table{fill:#8a5a2b}
.l-table{fill:#714a23}
.r-table{fill:#56381b}
.t-bed{fill:#c8372d}
.l-bed{fill:#a42d25}
.r-bed{fill:#7c221c}
.t-ladder{fill:#8e6b3a}
.l-ladder{fill:#745830}
.r-ladder{fill:#584224}
.t-water{fill:#3b7fd6}
.l-water{fill:#3068af}
.r-water{fill:#254f85}
.t-torch{fill:#ffc933}
.l-torch{fill:#d1a52a}
.r-torch{fill:#9e7d20}
.t-portal{fill:#9b4be0}
.l-portal{fill:#7f3db8}
.r-portal{fill:#602e8b}
.t-lamp{fill:#f4cf6e}
.l-lamp{fill:#c8aa5a}
.r-lamp{fill:#978044}
.t-dirt{fill:#7a5230}
.l-dirt{fill:#644327}
.r-dirt{fill:#4c331e}
.t-farmland{fill:#5b3a22}
.l-farmland{fill:#4b301c}
.r-farmland{fill:#382415}
.t-wheat{fill:#cfae4a}
.l-wheat{fill:#aa8f3d}
.r-wheat{fill:#806c2e}
.t-fence{fill:#8a6a3b}
.l-fence{fill:#715730}
.r-fence{fill:#564225}
.t-gate{fill:#9c7a44}
.l-gate{fill:#806438}
.r-gate{fill:#614c2a}
.t-iron{fill:#d7dde2}
.l-iron{fill:#b0b5b9}
.r-iron{fill:#85898c}
.t-beacon{fill:#6fe3ff}
.l-beacon{fill:#5bbad1}
.r-beacon{fill:#458d9e}
.t-obsidian{fill:#2c1a45}
.l-obsidian{fill:#241539}
.r-obsidian{fill:#1b102b}
.t-plaster{fill:#eef0f2}
.l-plaster{fill:#c3c5c6}
.r-plaster{fill:#949596}
.t-redplaster{fill:#c8402f}
.l-redplaster{fill:#a43427}
.r-redplaster{fill:#7c281d}
.t-grass{fill:#5d9b40}
.l-grass{fill:#4c7f34}
.r-grass{fill:#3a6028}
.t-leaves{fill:#3f7d36}
.l-leaves{fill:#34662c}
.r-leaves{fill:#274e21}
.t-coal{fill:#2b2d33}
.l-coal{fill:#23252a}
.r-coal{fill:#1b1c20}
.t-redwool{fill:#d03a3a}
.l-redwool{fill:#ab3030}
.r-redwool{fill:#812424}
.t-pinkwool{fill:#f09ab0}
.l-pinkwool{fill:#c57e90}
.r-pinkwool{fill:#955f6d}
.t-glass,.l-glass,.r-glass,.t-water,.l-water,.r-water,.t-portal,.l-portal,.r-portal{fill-opacity:.6}
.sw-plank{background:#c19a5b}.sw-log{background:#6e5230}.sw-cobble{background:#8d9096}.sw-stonebrick{background:#7a8088}.sw-glass{background:#a8d8ec}.sw-door{background:#9a7440}.sw-stairs{background:#a98450}.sw-chest{background:#b0782e}.sw-table{background:#8a5a2b}.sw-bed{background:#c8372d}.sw-ladder{background:#8e6b3a}.sw-water{background:#3b7fd6}.sw-torch{background:#ffc933}.sw-portal{background:#9b4be0}.sw-lamp{background:#f4cf6e}.sw-dirt{background:#7a5230}.sw-farmland{background:#5b3a22}.sw-wheat{background:#cfae4a}.sw-fence{background:#8a6a3b}.sw-gate{background:#9c7a44}.sw-iron{background:#d7dde2}.sw-beacon{background:#6fe3ff}.sw-obsidian{background:#2c1a45}.sw-plaster{background:#eef0f2}.sw-redplaster{background:#c8402f}.sw-grass{background:#5d9b40}.sw-leaves{background:#3f7d36}.sw-coal{background:#2b2d33}.sw-redwool{background:#d03a3a}.sw-pinkwool{background:#f09ab0}
