/* Isekai Waifu Almanac — paper, brick and twilight ink. Own scheme (iw-*), no framework, no web fonts, no JS. */
:root{
  --iw-paper:#f4ead6; --iw-sheet:#fcf7ea; --iw-ink:#1d2740; --iw-ink-2:#46506b; --iw-rule:#dccba4;
  --iw-brick:#b23a2a; --iw-brick-d:#8a2a1e; --iw-gold:#c08a1e; --iw-leaf:#3d6a3a; --iw-leaf-bg:#e6efdc; --iw-sky:#dbe8ee;
  --iw-slab:Rockwell,"Rockwell Nova","Roboto Slab","DejaVu Serif",Georgia,serif;
  --iw-sans:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --iw-mono:ui-monospace,"Cascadia Mono",Consolas,"DejaVu Sans Mono",monospace;
  --iw-w:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-color:var(--iw-brick) var(--iw-paper);-webkit-text-size-adjust:100%}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:var(--iw-paper)}
::-webkit-scrollbar-thumb{background:var(--iw-brick);border:3px solid var(--iw-paper);border-radius:8px}
body.iw-doc{margin:0;background:var(--iw-paper);color:var(--iw-ink);font:17px/1.68 var(--iw-sans);
  background-image:radial-gradient(rgba(29,39,64,.045) 1px,transparent 1px);background-size:22px 22px}
img{max-width:100%;height:auto;display:block}
a{color:var(--iw-brick-d);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--iw-ink)}
:focus-visible{outline:3px solid var(--iw-gold);outline-offset:2px;border-radius:3px}
.iw-shell{width:min(var(--iw-w),100% - 40px);margin-inline:auto}
.iw-skip{position:absolute;left:-999px;top:0;background:var(--iw-ink);color:#fff;padding:10px 14px;z-index:9}
.iw-skip:focus{left:8px;top:8px}

/* ribbon + masthead */
.iw-ribbon{margin:0;background:var(--iw-ink);color:#efe6d0;font-size:13px;letter-spacing:.02em;text-align:center;padding:6px 16px}
.iw-top{background:var(--iw-sheet);border-bottom:3px solid var(--iw-ink)}
.iw-top__in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0 12px}
.iw-mark{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--iw-ink)}
.iw-mark__seal{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--iw-brick);color:#fff4df;
  font:700 17px/1 var(--iw-slab);letter-spacing:.04em;box-shadow:0 0 0 3px var(--iw-sheet),0 0 0 5px var(--iw-brick)}
.iw-mark__words{font:400 22px/1.1 var(--iw-slab)}
.iw-mark__words strong{font-weight:700}
.iw-mark__words em{font-style:normal;color:var(--iw-brick);border-bottom:2px solid var(--iw-gold)}
.iw-langs{display:flex;gap:4px;font-size:14px}
.iw-langs a,.iw-langs span{padding:5px 10px;border-radius:999px;text-decoration:none;color:var(--iw-ink-2)}
.iw-langs span{background:var(--iw-ink);color:#fff}
.iw-langs a:hover{background:var(--iw-sky);color:var(--iw-ink)}
.iw-tabs{background:var(--iw-paper)}
.iw-tabs__in{display:flex;gap:4px;overflow-x:auto;padding-top:8px;scrollbar-width:none}
.iw-tabs__in::-webkit-scrollbar{display:none}
.iw-tabs a{flex:none;padding:9px 16px 8px;font:600 15px/1.2 var(--iw-sans);color:var(--iw-ink-2);text-decoration:none;
  border:2px solid transparent;border-bottom:0;border-radius:9px 9px 0 0}
.iw-tabs a:hover{color:var(--iw-ink);background:rgba(255,255,255,.55)}
.iw-tabs a[aria-current]{background:var(--iw-sheet);color:var(--iw-ink);border-color:var(--iw-ink);box-shadow:inset 0 3px 0 var(--iw-brick)}

/* page head */
.iw-head{padding:44px 0 34px;border-bottom:1px solid var(--iw-rule)}
.iw-head--front{background:linear-gradient(180deg,var(--iw-sky) 0,var(--iw-paper) 78%)}
.iw-head__split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:44px;align-items:center}
.iw-kicker{margin:0 0 10px;font:700 13px/1.2 var(--iw-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--iw-brick)}
h1{margin:0 0 16px;font:700 clamp(30px,4.4vw,48px)/1.12 var(--iw-slab);letter-spacing:-.01em;text-wrap:balance}
.iw-lede{font-size:19px;line-height:1.6;color:var(--iw-ink);max-width:68ch}
.iw-lede p{margin:0 0 12px}
.iw-head__act{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:22px 0 10px}
.iw-play{display:inline-flex;align-items:center;gap:10px;padding:14px 24px 13px;background:var(--iw-brick);color:#fff6e4;border-radius:9px;
  font:700 17px/1.2 var(--iw-sans);text-decoration:none;border-bottom:4px solid var(--iw-brick-d);transition:transform .12s,background .12s}
.iw-play:hover{background:#c2452f;color:#fff;transform:translateY(-1px)}
.iw-play:active{transform:translateY(2px);border-bottom-width:2px}
.iw-play__arrow{font-size:20px;line-height:1}
.iw-play--rail{display:flex;justify-content:center;font-size:15px;padding:12px 14px 11px;margin-top:14px}
.iw-ghost{padding:12px 18px;border:2px solid var(--iw-ink);border-radius:9px;color:var(--iw-ink);font-weight:600;text-decoration:none;background:rgba(255,255,255,.5)}
.iw-ghost:hover{background:var(--iw-ink);color:#fff}
.iw-fineprint{margin:6px 0 0;font-size:13.5px;line-height:1.5;color:var(--iw-ink-2);max-width:64ch}
.iw-stamps{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
.iw-stamp{display:inline-block;padding:5px 11px;border:2px solid var(--iw-brick);border-radius:5px;color:var(--iw-brick-d);
  font:600 12.5px/1.2 var(--iw-mono);letter-spacing:.03em;text-transform:uppercase;transform:rotate(-1.2deg);background:rgba(255,255,255,.45)}
.iw-stamp--alt{border-color:var(--iw-leaf);color:var(--iw-leaf);transform:rotate(.9deg)}
.iw-postcard{margin:0;padding:12px 12px 10px;background:#fffdf6;border:1px solid var(--iw-rule);border-radius:4px;transform:rotate(1.4deg);
  box-shadow:0 18px 40px -18px rgba(29,39,64,.45),0 2px 0 var(--iw-rule)}
.iw-postcard img{border-radius:2px;width:100%}
.iw-postcard figcaption{padding:8px 4px 0;font:italic 13px/1.4 var(--iw-slab);color:var(--iw-ink-2)}

/* body grid */
.iw-body{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:48px;padding:40px 0 64px;align-items:start}
.iw-sheet{counter-reset:entry;background:var(--iw-sheet);border:1px solid var(--iw-rule);border-radius:6px;padding:12px 44px 40px;
  box-shadow:0 1px 0 #fff inset,0 24px 50px -36px rgba(29,39,64,.5)}
.iw-entry{padding:34px 0 8px;border-bottom:1px solid var(--iw-rule)}
.iw-entry:last-child{border-bottom:0}
.iw-entry>h2{margin:0 0 16px;font:700 clamp(23px,2.6vw,29px)/1.2 var(--iw-slab);text-wrap:balance}
.iw-entry>h2::before{counter-increment:entry;content:"§ " counter(entry,decimal-leading-zero);display:block;margin-bottom:6px;
  font:700 13px/1 var(--iw-mono);letter-spacing:.12em;color:var(--iw-brick)}
.iw-sheet h3{margin:22px 0 8px;font:700 19px/1.3 var(--iw-slab)}
.iw-sheet p{margin:0 0 16px}
.iw-sheet ul,.iw-sheet ol{margin:0 0 18px;padding-left:22px}
.iw-sheet li{margin-bottom:7px}
.iw-sheet li::marker{color:var(--iw-brick)}
.iw-src{font-size:14px;color:var(--iw-ink-2);margin:6px 0 0!important}
.iw-note{margin-top:14px;font-size:15.5px;color:var(--iw-ink-2)}

/* ledger tables (key facts, requirements) */
.iw-ledger{width:100%;border-collapse:separate;border-spacing:0;border:2px solid var(--iw-ink);border-radius:8px;overflow:hidden;font-size:16px;background:#fffdf6}
.iw-ledger th,.iw-ledger td{padding:11px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--iw-rule)}
.iw-ledger tr:last-child th,.iw-ledger tr:last-child td{border-bottom:0}
.iw-ledger th{width:40%;background:var(--iw-leaf-bg);font-weight:600;color:#24401f;border-right:1px solid var(--iw-rule)}
.iw-ledger tr:nth-child(even) td{background:#f9f2df}
.iw-ledger caption{caption-side:top;text-align:left;padding:0 0 8px;font:700 17px/1.3 var(--iw-slab)}
.iw-specs{display:grid;gap:26px;margin:18px 0 12px}

/* platform plots */
.iw-plots{list-style:none;margin:20px 0 10px!important;padding:0!important;display:grid;gap:26px}
.iw-plot{position:relative;margin:0!important;padding:26px 22px 16px;border:2px dashed var(--iw-ink-2);border-radius:10px;background:#fffdf6}
.iw-plot h3{margin:0 0 8px}
.iw-plot__flag{position:absolute;top:-14px;left:16px;margin:0!important;padding:4px 12px;border-radius:4px;background:var(--iw-ink-2);color:#fff;
  font:700 12.5px/1.3 var(--iw-sans);letter-spacing:.05em;text-transform:uppercase}
.iw-plot--live{border-color:var(--iw-leaf)} .iw-plot--live .iw-plot__flag{background:var(--iw-leaf)}
.iw-plot--planned{border-color:var(--iw-gold)} .iw-plot--planned .iw-plot__flag{background:var(--iw-gold);color:#2a1f05}
.iw-plot--blocked{border-color:var(--iw-brick)} .iw-plot--blocked .iw-plot__flag{background:var(--iw-brick)}

/* timeline */
.iw-years{list-style:none;margin:22px 0 10px!important;padding:0!important;border-left:3px solid var(--iw-rule)}
.iw-years>li{position:relative;margin:0 0 26px!important;padding-left:26px}
.iw-years>li::before{content:"";position:absolute;left:-9px;top:7px;width:15px;height:15px;border-radius:50%;background:var(--iw-sheet);border:3px solid var(--iw-brick)}
.iw-years__date{display:inline-block;margin-bottom:6px;padding:3px 9px;border:2px solid var(--iw-brick);border-radius:4px;color:var(--iw-brick-d);
  font:600 12.5px/1.3 var(--iw-mono);letter-spacing:.04em;text-transform:uppercase;transform:rotate(-1deg)}
.iw-years__body h3{margin:2px 0 6px}

/* check log */
.iw-verdict{padding:16px 20px;border-left:6px solid var(--iw-leaf);background:var(--iw-leaf-bg);border-radius:0 8px 8px 0;font-size:18px}
.iw-verdict p:last-child{margin-bottom:0}
.iw-checks{list-style:none;margin:18px 0 10px!important;padding:0!important}
.iw-checks li{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px dashed var(--iw-rule);margin:0!important}
.iw-checks time{font:600 13.5px/1.7 var(--iw-mono);color:var(--iw-leaf);text-transform:uppercase}
.iw-checks p{margin:0}

/* roster */
.iw-roster{margin:18px 0 8px}
.iw-roster>div{display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px;padding:14px 0;border-bottom:1px solid var(--iw-rule)}
.iw-roster dt{font:700 18px/1.3 var(--iw-slab);color:var(--iw-brick-d)}
.iw-roster dd{margin:0}

/* callouts */
.iw-callout{margin:30px 0 6px;padding:18px 22px;border-radius:8px;background:var(--iw-sky);border:1px solid #b9cfd9;border-left:6px solid var(--iw-ink)}
.iw-callout--warn{background:#f8e2d8;border-color:#e6b9a8;border-left-color:var(--iw-brick)}
.iw-callout h3{margin:0 0 6px}
.iw-callout p:last-child{margin-bottom:0}
.iw-entry__act{margin:6px 0 4px!important}
.iw-entry--cta{margin:26px -20px 8px;padding:26px 20px 20px;background:var(--iw-sky);border:1px solid #b9cfd9;border-radius:10px}
.iw-entry--cta+.iw-entry{border-top:0}
.iw-head__text{min-width:0}
.iw-ledger--spec th{width:34%}

/* faq */
.iw-qa{border-bottom:1px solid var(--iw-rule)}
.iw-qa summary{list-style:none;cursor:pointer;display:flex;gap:14px;align-items:flex-start;padding:15px 0;font:700 18px/1.4 var(--iw-slab)}
.iw-qa summary::-webkit-details-marker{display:none}
.iw-qa summary::before{content:"+";flex:none;display:grid;place-items:center;width:26px;height:26px;margin-top:1px;border-radius:50%;
  border:2px solid var(--iw-brick);color:var(--iw-brick);font:700 17px/1 var(--iw-sans)}
.iw-qa[open] summary::before{content:"–";background:var(--iw-brick);color:#fff}
.iw-qa__a{padding:0 0 12px 40px}

/* rail */
.iw-rail{position:sticky;top:18px;display:grid;gap:22px;font-size:15px}
.iw-rail__h{margin:0 0 10px;font:700 12.5px/1.2 var(--iw-sans);letter-spacing:.13em;text-transform:uppercase;color:var(--iw-brick)}
.iw-rail__toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.iw-rail__toc li{counter-increment:toc;display:grid;grid-template-columns:30px minmax(0,1fr);padding:7px 0;border-bottom:1px dashed var(--iw-rule);line-height:1.4}
.iw-rail__toc li::before{content:counter(toc,decimal-leading-zero);font:600 12.5px/1.7 var(--iw-mono);color:var(--iw-ink-2)}
.iw-rail__toc a{color:var(--iw-ink);text-decoration:none}
.iw-rail__toc a:hover{color:var(--iw-brick-d);text-decoration:underline}
.iw-rail__card{padding:18px;background:var(--iw-sheet);border:2px solid var(--iw-ink);border-radius:10px;box-shadow:5px 5px 0 var(--iw-rule)}
.iw-rail__card dl{margin:0}
.iw-rail__card dl div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--iw-rule)}
.iw-rail__card dt{color:var(--iw-ink-2)}
.iw-rail__card dd{margin:0;font-weight:600;text-align:right}

/* footer */
.iw-foot{background:var(--iw-ink);color:#d9dcE6;padding:46px 0 30px;font-size:15px;border-top:4px solid var(--iw-brick)}
.iw-foot a{color:#f3e7c9}
.iw-foot a:hover{color:#fff}
.iw-foot__cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.5fr;gap:34px;margin-bottom:28px}
.iw-foot__brand{margin:0 0 8px;font:700 21px/1.2 var(--iw-slab);color:#fff6e0}
.iw-foot__h{margin:0 0 10px;font:700 12.5px/1.2 var(--iw-sans);letter-spacing:.13em;text-transform:uppercase;color:var(--iw-gold)}
.iw-foot ul{list-style:none;margin:0;padding:0}
.iw-foot li{margin-bottom:7px}
.iw-foot li span{color:#a9b0c4}
.iw-foot p{margin:0 0 10px}
.iw-foot__disclosure{padding:16px 18px;border:1px dashed #5a6585;border-radius:8px;line-height:1.6;color:#e6e1d2}
.iw-foot__rights{color:#a9b0c4;font-size:14px}

@media (max-width:980px){
  .iw-body{grid-template-columns:minmax(0,1fr);gap:28px}
  .iw-rail{position:static;order:-1}
  .iw-rail__card{display:none}
  .iw-head__split{grid-template-columns:minmax(0,1fr);gap:30px}
  .iw-postcard{transform:none;max-width:640px}
  .iw-foot__cols{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  body.iw-doc{font-size:16px}
  .iw-shell{width:min(var(--iw-w),100% - 28px)}
  .iw-sheet{padding:4px 18px 26px;border-radius:0;border-inline:0;margin-inline:-14px}
  .iw-head{padding:30px 0 26px}
  .iw-mark__words{font-size:18px}
  .iw-mark__seal{width:38px;height:38px;font-size:15px}
  .iw-ledger th,.iw-ledger td{padding:9px 11px;font-size:15px}
  .iw-ledger th{width:44%}
  .iw-checks li,.iw-roster>div{grid-template-columns:minmax(0,1fr);gap:4px}
  .iw-qa__a{padding-left:0}
  .iw-foot__cols{grid-template-columns:1fr}
  .iw-play{width:100%;justify-content:center}
  .iw-entry--cta{margin-inline:-8px;padding-inline:14px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.iw-play{transition:none}}
@media print{.iw-top,.iw-rail,.iw-foot,.iw-ribbon,.iw-play{display:none}.iw-body{display:block}}
