/* Angelia site — house dark theme, deepened (AL-27 base; AL-49 darker grounds) */
:root{--bg:#0a0a0a;--fg:#EDEDED;--hd:#AECBFA;--mut:#9a9a9a;--line:#232323;--card:#101010;
--corr:#f2c94c;--act:#7fd18b;--dor:#c9a35f;--clo:#8a8a8a}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font:17px/1.55 Georgia,"Times New Roman",serif;
margin:0;padding:0}
header{display:flex;align-items:baseline;gap:1.2rem;padding:.9rem 1.2rem;border-bottom:1px solid var(--line);
position:sticky;top:0;background:var(--bg);z-index:5}
.brand{font-weight:bold;letter-spacing:.35em;color:var(--hd);font-size:.95rem}
nav a{color:var(--mut);text-decoration:none;margin-right:.2rem}
nav a.cur,nav a:hover{color:var(--hd)}
main{max-width:56rem;margin:0 auto;padding:1.2rem 1.2rem 3rem}
h1{color:var(--hd);font-size:1.7rem;line-height:1.25;margin:.8rem 0 .3rem;text-wrap:balance}
h2{color:var(--hd);font-size:1.25rem;line-height:1.3;border-top:1px solid var(--line);
padding-top:1rem;margin:1.6rem 0 .5rem}
h3{color:var(--hd);font-size:1.05rem;margin:1rem 0 .3rem}
h4,h5,h6{color:var(--hd);font-size:1rem;margin:.8rem 0 .3rem}
a{color:var(--hd);overflow-wrap:anywhere}
p,li,td{overflow-wrap:break-word}
p{margin:.45rem 0}
ul{margin:.35rem 0 .6rem 1.1rem;padding:0}
li{margin:.3rem 0}
hr{border:0;border-top:1px solid var(--line);margin:1.2rem 0}
blockquote{border-left:3px solid var(--line);margin:.6rem 0;padding:.1rem 0 .1rem .9rem;
color:var(--fg)}
.meta{color:var(--mut);font-size:.92rem}
.story,.regstory{margin-bottom:1.4rem}
a.upd{font-size:.78rem;color:var(--mut);text-decoration:none;border:1px solid var(--line);
border-radius:9px;padding:.05rem .5rem;white-space:nowrap;vertical-align:middle}
a.upd:hover{color:var(--hd);border-color:var(--hd)}
.st{font-size:.7rem;letter-spacing:.12em;border-radius:9px;padding:.1rem .5rem;vertical-align:middle;
color:var(--mut);border:1px solid var(--mut)}
.st.active{color:var(--act);border:1px solid var(--act)}
.st.dormant{color:var(--dor);border:1px solid var(--dor)}
.st.closed{color:var(--clo);border:1px solid var(--clo)}
.st.one-day{color:var(--clo);border:1px solid var(--clo)}
.watch,.corr{font-size:.92rem}
.corr{color:var(--corr)}
.miss{color:var(--mut);font-style:italic}
details{margin:.6rem 0;border:1px solid var(--line);border-radius:6px;padding:.4rem .7rem;
background:var(--card)}
summary{cursor:pointer;color:var(--mut)}
.twrap{overflow-x:auto;margin:.6rem 0}
table{border-collapse:collapse;font-size:.86rem;font-family:system-ui,Segoe UI,Arial,sans-serif}
th,td{border:1px solid var(--line);padding:.3rem .5rem;text-align:left;vertical-align:top}
th{color:var(--hd)}
code{font-size:.85em;color:var(--mut);overflow-wrap:anywhere}
/* ---- multipage (AL-48/AL-49) ---- */
:where([id]){scroll-margin-top:4.2rem}
a.gl{color:inherit;text-decoration:none}
a.gl:hover{color:var(--hd)}
.idx{margin:.3rem 0}
.crumbs{font-size:.85rem;margin:.3rem 0 .6rem}
.crumbs a{color:var(--mut);text-decoration:none}
.crumbs a:hover{color:var(--hd)}
.slist{list-style:none;margin:.5rem 0 1rem;padding:0}
.slist li{margin:.5rem 0;padding:.55rem .8rem;background:var(--card);border:1px solid var(--line);
border-radius:8px}
.slist .t{font-size:1.05rem}
.slist .t a{text-decoration:none}
.slist .t a:hover{text-decoration:underline}
.slist .sub{color:var(--mut);font-size:.85rem}
.sechead{margin-top:2rem}
.sechead.run{color:var(--act)}
.sechead.dorm{color:var(--dor)}
.sechead.clsd{color:var(--clo)}
.sechead.oneday{color:var(--clo)}
.wis{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.2rem .9rem .6rem;
margin:.9rem 0}
.wis h2{border-top:0;padding-top:.6rem;margin-top:.2rem}
.wisl{list-style:disc;margin:.4rem 0 .3rem 1.1rem}
.wisl li{margin:.55em 0}
body.storypage main{max-width:60rem}
.storygrid{display:grid;gap:1.5rem;grid-template-columns:1fr}
.storygrid>*{min-width:0}
@media(min-width:1150px){
  body.storypage main{max-width:88rem}
  .storygrid{grid-template-columns:minmax(0,5fr) minmax(0,4fr);gap:2.5rem}
}
.tlcol h2,.artcol h2:first-child{margin-top:.4rem}
.tl{border-left:2px solid var(--line);padding-left:1.1rem;margin-top:.6rem}
.tlentry{position:relative;margin:0 0 1.6rem}
.tlentry::before{content:"";position:absolute;left:-1.45rem;top:.45rem;width:9px;height:9px;
border-radius:50%;background:var(--hd)}
.tlentry h3{margin-top:0}
.tlentry .story h4{font-size:1rem}
.alsosec{margin:1rem 0}
@media(max-width:640px){body{font-size:16px}main{padding:.8rem .8rem 2.5rem}}
