/* possum.ing legal pages: one shared sheet, no external requests (fonts come from /fonts.css on this site). */
:root{
  --bg:#03080e; --panel:#0a1420; --line:#24384a;
  --txt:#fff8e4; --dim:#c9cbbf; --lime:#d8ff5a; --mint:#8dffc0;
  --ph-bg:#3a2400; --ph-txt:#ffd98a;
  --body:'Literata', Georgia, 'Times New Roman', serif;
  --mono:'IBM Plex Mono', ui-monospace, Menlo, Consolas, monospace;
  --pixel:'Silkscreen', 'IBM Plex Mono', monospace;
}
*{box-sizing:border-box}
html{background:var(--bg); -webkit-text-size-adjust:100%; text-size-adjust:100%}
body{margin:0; background:var(--bg); color:var(--txt); font-family:var(--body); font-size:1.125rem; line-height:1.6; overflow-wrap:break-word}
@media (min-width:700px){ body{font-size:1.1875rem} }

a{color:var(--lime); text-decoration:underline; text-underline-offset:.18em; text-decoration-thickness:1px}
a:hover{color:var(--mint); text-decoration-thickness:2px}
a:visited{color:#e6ff9a}
:focus-visible{outline:3px solid var(--mint); outline-offset:3px; border-radius:2px}

.skip{position:absolute; left:8px; top:-200px; z-index:10; background:var(--lime); color:#03080e; font-family:var(--mono); font-weight:600; padding:10px 14px; text-decoration:none}
.skip:focus{top:8px; color:#03080e}

/* header and footer */
.site-head,.site-foot{border-color:var(--line); border-style:solid; border-width:0}
.site-head{border-bottom-width:1px; background:#050d16}
.site-foot{border-top-width:1px; margin-top:64px; background:#050d16}
.bar{max-width:72rem; margin:0 auto; padding:14px 16px; display:flex; flex-wrap:wrap; gap:10px 22px; align-items:center}
.mark{font-family:var(--pixel); font-size:1.25rem; letter-spacing:.06em; color:var(--lime); text-decoration:none; white-space:nowrap}
.mark:visited{color:var(--lime)}
.mark span{color:var(--mint)}
.legal-nav ul{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:4px 18px}
.legal-nav a{font-family:var(--mono); font-size:.95rem; color:var(--txt); text-decoration:none; padding:6px 0; display:inline-block; border-bottom:2px solid transparent}
.legal-nav a:hover{color:var(--lime); border-bottom-color:var(--lime)}
.legal-nav a[aria-current="page"]{color:var(--lime); border-bottom-color:var(--lime)}
.site-foot .bar{flex-direction:column; align-items:flex-start; gap:12px; padding-top:22px; padding-bottom:40px}
.site-foot p{margin:0; font-family:var(--mono); font-size:.95rem; color:var(--dim)}

/* main column */
main{max-width:70ch; margin:0 auto; padding:28px 16px 0}
h1,h2,h3{font-family:var(--pixel); font-weight:400; line-height:1.25; letter-spacing:.02em}
h1{font-size:clamp(1.75rem,6vw,2.5rem); color:var(--lime); margin:.4em 0 .3em}
h2{font-size:clamp(1.3rem,4.4vw,1.6rem); color:var(--mint); margin:2.2em 0 .5em; padding-top:.4em; border-top:1px dashed var(--line)}
h3{font-family:var(--mono); font-weight:600; font-size:1.1rem; color:var(--txt); margin:1.8em 0 .4em; letter-spacing:0}
p,ul,ol,dl{margin:0 0 1em}
li{margin-bottom:.4em}
strong{color:#fff; font-weight:600}
.lede{font-size:1.15em; color:var(--txt)}
.meta{font-family:var(--mono); font-size:.95em; color:var(--dim); margin-bottom:1.6em}
code,kbd,.mono{font-family:var(--mono); font-size:.92em}
code{background:#0f1d2b; padding:.08em .35em; border-radius:3px; color:#f3ffd0; overflow-wrap:anywhere}
hr{border:0; border-top:1px solid var(--line); margin:2em 0}

/* the draft notice and placeholders the owner must fill */
.draft{border:2px solid var(--ph-txt); background:var(--ph-bg); color:var(--txt); padding:14px 16px; margin:0 0 1.6em; font-size:.95em}
.draft strong{color:var(--ph-txt)}
.ph{background:var(--ph-bg); color:var(--ph-txt); font-family:var(--mono); font-size:.9em; padding:.05em .35em; border:1px dashed var(--ph-txt); border-radius:3px; white-space:normal}

.box{background:var(--panel); border:1px solid var(--line); border-left:4px solid var(--lime); padding:14px 18px; margin:0 0 1.4em}
.box > :last-child{margin-bottom:0}
.box h2{border:0; margin-top:0; padding-top:0; font-size:1.2rem}
.soon{display:inline-block; font-family:var(--mono); font-size:.8rem; font-weight:600; color:#03080e; background:var(--mint); padding:.1em .5em; border-radius:3px; vertical-align:.15em; margin-left:.3em; white-space:nowrap}

/* table of contents */
.toc{background:var(--panel); border:1px solid var(--line); padding:12px 18px 6px; margin:0 0 1.6em}
.toc h2{border:0; margin:0 0 .4em; padding:0; font-size:1.05rem; color:var(--lime)}
.toc ol{margin:0 0 .6em; padding-left:1.4em; font-family:var(--mono); font-size:.95em}
.toc li{margin-bottom:.25em}

/* hub list */
.hub{list-style:none; padding:0}
.hub li{border:1px solid var(--line); background:var(--panel); padding:14px 16px; margin-bottom:12px}
.hub a{font-family:var(--pixel); font-size:1.15rem}
.hub p{margin:.3em 0 0; color:var(--dim)}

/* tables: real tables on wide screens, labelled cards on phones */
table{width:100%; border-collapse:collapse; margin:0 0 1.4em; font-size:.95em; line-height:1.5}
caption{text-align:left; font-family:var(--mono); font-size:.9rem; color:var(--dim); padding:0 0 8px}
th,td{text-align:left; vertical-align:top; padding:9px 10px; border:1px solid var(--line)}
th{background:#0f1d2b; font-family:var(--mono); font-weight:600; color:var(--mint)}
td code{font-size:.88em}
td:first-child code{white-space:nowrap; overflow-wrap:normal}
@media (max-width:640px){
  table.stack, table.stack tbody, table.stack tr, table.stack td{display:block; width:100%}
  table.stack caption{display:block; width:100%}
  table.stack thead{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
  table.stack tr{border:1px solid var(--line); background:var(--panel); margin-bottom:12px; padding:6px 0}
  table.stack td{border:0; padding:5px 12px}
  table.stack td::before{content:attr(data-label); display:block; font-family:var(--mono); font-size:.8rem; font-weight:600; color:var(--mint); text-transform:uppercase; letter-spacing:.06em}
}

/* license texts */
details{border:1px solid var(--line); background:var(--panel); margin:0 0 1em}
summary{cursor:pointer; padding:12px 14px; font-family:var(--mono); font-weight:600; color:var(--lime)}
summary:hover{color:var(--mint)}
pre.license{margin:0; padding:12px 14px 16px; border-top:1px solid var(--line); white-space:pre-wrap; overflow-wrap:anywhere; font-family:var(--mono); font-size:.88em; line-height:1.55; color:var(--txt)}

.caps{font-family:var(--mono); font-size:.95em; line-height:1.6}

@media (prefers-reduced-motion:reduce){ *{scroll-behavior:auto !important; transition:none !important; animation:none !important} }
@media (prefers-reduced-motion:no-preference){ html{scroll-behavior:smooth} }
@media print{
  body{background:#fff; color:#000} .site-head,.site-foot,.skip,.toc{display:none}
  a{color:#000} h1,h2,h3{color:#000} .box,.draft,details,table.stack tr{background:#fff}
  pre.license{color:#000}
}
