/* ICYR Reading Room: library green, ruled paper, Crimson Pro + Inter */
@font-face{font-family:"Crimson Pro";src:url(/assets/fonts/crimson-pro-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Crimson Pro";src:url(/assets/fonts/crimson-pro-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Crimson Pro";src:url(/assets/fonts/crimson-pro-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Crimson Pro";src:url(/assets/fonts/crimson-pro-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --bg:#F6F4ED;--paper:#FFFEFA;--ink:#1F2A24;--soft:#4F5A53;--rule:#DDD8CB;--green:#1E5E46;--green2:#E3EEE7;
  --ochre:#8A5F12;--ochre2:#F5EAD3;--red:#A4372B;--red2:#F7E2DE;--link:#1B5E8C;--on-green:#F6F4ED;
  --serif:"Crimson Pro",Georgia,"Times New Roman",serif;--sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#141A17;--paper:#1B2320;--ink:#E7E4DA;--soft:#ADB5AE;--rule:#34403A;--green:#7CC4A3;--green2:#1F3229;
  --ochre:#E2B866;--ochre2:#33291A;--red:#F08B7C;--red2:#3A221E;--link:#8CC4EE;--on-green:#10241B;
}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.7 var(--sans);overflow-x:hidden}
a{color:var(--link);text-underline-offset:2px}
:focus-visible{outline:3px solid var(--ochre);outline-offset:2px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;margin:0 0 .5em;letter-spacing:-.005em}
h1{font-size:clamp(2.3rem,5.4vw,3.6rem)}
h2{font-size:clamp(1.6rem,3vw,2.05rem)}
h3{font-size:1.35rem}
p{margin:0 0 1em}
.skip{position:absolute;left:-999px;top:6px;background:var(--ink);color:var(--bg);padding:8px 12px;z-index:9}
.skip:focus{left:6px}

/* header */
.top{background:var(--green);color:var(--on-green)}
.top-in{max-width:1040px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
.mark{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font:400 1.45rem/1 var(--serif)}
.mark b{font-weight:700;letter-spacing:.06em}
.nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px 22px;margin:0;padding:0}
.nav a{color:inherit;text-decoration:none;font-weight:500;font-size:.95rem;padding:4px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{border-bottom-color:currentColor}
.top :focus-visible{outline-color:var(--on-green)}

/* home */
.intro{border-bottom:1px solid var(--rule)}
.intro-in,.desk-in,.shelf-in,.plain-in{max-width:1040px;margin:0 auto;padding:0 20px}
.intro-in{padding-top:60px;padding-bottom:44px;max-width:860px;margin-left:max(20px,calc((100% - 1040px)/2));}
.chapter{font:600 .78rem/1.2 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--ochre);margin-bottom:12px}
.standfirst{font:400 1.3rem/1.5 var(--serif);color:var(--soft);max-width:40em}
.desk{padding:44px 0}
.desk-in{max-width:860px}
.desk-head{border-left:4px solid var(--green);padding-left:18px;margin-bottom:22px}
.desk-head p{color:var(--soft);margin:0}
.sform{background:var(--paper);border:1px solid var(--rule);border-radius:6px;padding:8px 26px 26px;box-shadow:0 1px 0 var(--rule),0 12px 30px -24px rgba(0,0,0,.35)}
fieldset{border:0;border-bottom:1px solid var(--rule);margin:0;padding:22px 0;min-width:0}
legend{font:600 1.25rem/1.3 var(--serif);padding:0;margin-bottom:12px;display:flex;gap:10px;align-items:baseline}
.qn{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:var(--green);color:var(--on-green);font:600 .85rem/1 var(--sans);flex:0 0 auto;transform:translateY(-2px)}
.opt{font:400 .85rem var(--sans);color:var(--soft)}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.opts label{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:8px;padding:9px 12px;border:1px solid var(--rule);border-radius:5px;cursor:pointer;background:var(--bg);font-size:.95rem}
.opts label:has(input:checked){border-color:var(--green);background:var(--green2)}
.opts input{accent-color:var(--green);margin:0;transform:translateY(2px)}
.opts small{grid-column:2;color:var(--soft);font-size:.82rem;line-height:1.3}
.row{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.row.two{display:grid;grid-template-columns:1fr 1fr;align-items:end}
.row.two label{display:block;font-weight:500;font-size:.92rem;margin-bottom:6px}
.inline{font-weight:500}
input[type=number],select{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--soft);border-radius:5px;padding:.5em .65em;min-width:0;width:100%}
input[type=number]{width:9em}
.check{display:flex;align-items:center;gap:8px;font-size:.95rem}
.check input{accent-color:var(--green);width:18px;height:18px}
.go{margin-top:22px;font:600 1rem var(--sans);background:var(--green);color:var(--on-green);border:0;border-radius:5px;padding:.85em 1.5em;cursor:pointer}
.go:hover{filter:brightness(1.1)}
.sresult{margin-top:24px;background:var(--paper);border:1px solid var(--rule);border-radius:6px;padding:24px 26px;scroll-margin-top:16px}
.verdict{border-radius:6px;padding:18px 20px;margin-bottom:20px}
.verdict h3{margin:0 0 .3em}
.verdict p{margin:0}
.v-strong{background:var(--green2);border-left:6px solid var(--green)}
.v-mid{background:var(--ochre2);border-left:6px solid var(--ochre)}
.v-weak{background:var(--red2);border-left:6px solid var(--red)}
.meter{display:flex;gap:4px;margin:12px 0 0}
.meter span{flex:1;height:8px;border-radius:4px;background:var(--rule)}
.meter span.on{background:currentColor}
.v-strong .meter{color:var(--green)}.v-mid .meter{color:var(--ochre)}.v-weak .meter{color:var(--red)}
.sresult h4{font:600 1.15rem var(--serif);margin:18px 0 8px}
.sresult ul{margin:0;padding-left:1.2em}
.sresult li{margin:.3em 0}
.factors li::marker{content:none}
.factors{list-style:none;padding:0!important}
.factors li{padding-left:26px;position:relative}
.factors li::before{position:absolute;left:0;top:0;font-weight:700}
.f-up::before{content:"+";color:var(--green)}
.f-down::before{content:"−";color:var(--red)}
.f-note::before{content:"·";color:var(--soft)}
.sr-actions{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}
.sr-actions button{font:500 .95rem var(--sans);background:transparent;color:var(--green);border:1px solid var(--green);border-radius:5px;padding:.55em 1em;cursor:pointer}
.small{font-size:.85rem;color:var(--soft)}

.shelf{background:var(--paper);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:44px 0}
.spines{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:2px solid var(--ink)}
.spines li{border-bottom:1px solid var(--rule)}
.spines li:nth-child(3n+2),.spines li:nth-child(3n+3){border-left:1px solid var(--rule)}
.spines a{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;padding:18px 18px 18px 4px;text-decoration:none;color:var(--ink);height:100%}
.spines li:nth-child(3n+2) a,.spines li:nth-child(3n+3) a{padding-left:18px}
.sp-n{grid-row:span 2;font:600 2.4rem/1 var(--serif);color:var(--green)}
.spines b{font:600 1.2rem/1.25 var(--serif)}
.spines a:hover b{text-decoration:underline;color:var(--link)}
.sp-s{color:var(--soft);font-size:.92rem}
.plain{padding:44px 0 10px}
.plain-in{max-width:760px}
.latest{font-weight:500}
.qa{margin:0}
.qa div{border-top:1px solid var(--rule);padding:14px 0}
.qa dt{font:600 1.2rem/1.3 var(--serif);margin-bottom:4px}
.qa dd{margin:0;color:var(--soft)}

/* inner pages */
.sheet{max-width:760px;margin:0 auto;padding:0 20px 60px}
.trail ol{list-style:none;display:flex;flex-wrap:wrap;margin:0;padding:20px 0 26px;font-size:.85rem;color:var(--soft)}
.trail li+li::before{content:"›";margin:0 .5em}
.g-head{border-bottom:3px double var(--rule);padding-bottom:18px;margin-bottom:24px}
.meta{font-size:.88rem;color:var(--soft)}
.indep-top{background:var(--ochre2);border-left:5px solid var(--ochre);padding:12px 16px;font-weight:600;border-radius:4px}
.inshort{background:var(--green2);border-radius:6px;padding:16px 20px 12px;margin-bottom:20px}
.inshort ul{margin:0;padding-left:1.2em}
.inshort li{margin:.3em 0}
.box-h{font:600 .78rem/1 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--green);margin-bottom:10px}
.contents{border:1px solid var(--rule);border-radius:6px;padding:16px 20px 10px;margin-bottom:30px;background:var(--paper)}
.contents ol{margin:0;padding-left:1.3em;columns:2;column-gap:28px;font-size:.93rem}
.contents li{margin:.2em 0;break-inside:avoid}
.text{font:400 1.2rem/1.6 var(--serif)}
.text h2{margin-top:1.7em;padding-top:.3em}
.text h3{margin-top:1.4em}
.text ul,.text ol{padding-left:1.3em}
.text li{margin:.35em 0}
.text blockquote{margin:1.2em 0;padding:.2em 0 .2em 1.1em;border-left:3px solid var(--green);color:var(--soft);font-style:italic}
.text .qa dt{font-size:1.25rem}
.text .qa dd{font-size:1.12rem}
.tablewrap{overflow-x:auto;margin:1.2em 0;font-family:var(--sans)}
table{border-collapse:collapse;width:100%;font-size:.92rem;line-height:1.45}
th,td{text-align:left;vertical-align:top;padding:.55em .7em;border-bottom:1px solid var(--rule)}
th{border-bottom:2px solid var(--ink);font-weight:600}
.chapters{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:40px}
.chapters a{display:block;border:1px solid var(--rule);border-radius:6px;padding:12px 16px;text-decoration:none;color:var(--ink);background:var(--paper);font:600 1.1rem/1.3 var(--serif)}
.chapters a:hover{border-color:var(--green)}
.chapters small{display:block;font:500 .75rem var(--sans);text-transform:uppercase;letter-spacing:.1em;color:var(--soft);margin-bottom:4px}
.ch-next{grid-column:2;text-align:right}
.try{margin-top:24px;font-weight:500}
.toc-list{list-style:none;margin:0;padding:0}
.toc-list a{display:grid;grid-template-columns:44px 1fr auto;gap:14px;padding:18px 0;border-bottom:1px dotted var(--soft);text-decoration:none;color:var(--ink)}
.toc-n{font:600 2rem/1 var(--serif);color:var(--green)}
.toc-t b{display:block;font:600 1.3rem/1.25 var(--serif);margin-bottom:4px}
.toc-t span{color:var(--soft);font-size:.93rem}
.toc-m{font-size:.85rem;color:var(--soft);white-space:nowrap}
.toc-list a:hover b{text-decoration:underline;color:var(--link)}
.note-list{list-style:none;margin:0 0 20px;padding:0}
.note-list li{border-bottom:1px solid var(--rule);padding:16px 0}
.note-list time{font-size:.85rem;color:var(--soft)}
.note-list h2{font-size:1.45rem;margin:.15em 0 .3em}
.nf{padding-top:40px}

/* footer */
.colophon{background:var(--paper);border-top:4px solid var(--green);margin-top:40px}
.col-in{max-width:1040px;margin:0 auto;padding:30px 20px 24px}
.indep{font:600 1.15rem/1.4 var(--serif);border-bottom:1px solid var(--rule);padding-bottom:18px}
.col-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}
.col-grid p{font-size:.92rem;color:var(--soft)}
.col-name{font:600 1.2rem var(--serif)!important;color:var(--ink)!important;margin-bottom:6px}
.col-h{font:600 .78rem/1 var(--sans)!important;text-transform:uppercase;letter-spacing:.14em;color:var(--ink)!important}
.colophon ul{list-style:none;margin:0;padding:0;font-size:.93rem}
.colophon li{margin:.3em 0}
.fine{font-size:.82rem;color:var(--soft);border-top:1px solid var(--rule);padding-top:14px;margin:10px 0 0}

@media (max-width:820px){
  .spines{grid-template-columns:1fr}
  .spines li:nth-child(n){border-left:0}
  .spines li:nth-child(n) a{padding-left:4px}
  .col-grid{grid-template-columns:1fr 1fr}
  .col-grid>div{grid-column:1/-1}
}
@media (max-width:600px){
  .intro-in{padding:40px 16px 30px;margin:0}
  .desk-in,.shelf-in,.plain-in,.sheet,.top-in,.col-in{padding-left:16px;padding-right:16px}
  .sform{padding:4px 16px 20px}
  .sresult{padding:18px 16px}
  .opts,.row.two{grid-template-columns:1fr}
  .contents ol{columns:1}
  .text{font-size:1.15rem}
  .chapters{grid-template-columns:1fr}
  .ch-next{grid-column:auto;text-align:left}
  .toc-list a{grid-template-columns:34px 1fr}
  .toc-m{display:none}
  .mark{font-size:1.25rem}
  .nav ul{gap:4px 16px}
}
@media print{.top,.colophon,.sform{display:none}}
