:root{
  /* Red Torch, design.md. Night is the default; body.day is for reading at home. */
  --bg:#050302; --panel:#120806; --panel2:#1b0c07; --fg:#ff8a4a; --hot:#ffd0a8; --dim:#c8693a; --line:#3a1c0e;
  --stage:var(--bg); --chalk:var(--hot); --purple:var(--fg); --purple-dark:#ffb07d; --lilac:#ffb07d;
  --ink:var(--fg); --paper:var(--bg); --rule:var(--line); --concrete:var(--dim); --pencil:var(--dim);
  --white:var(--panel); --card:var(--panel); --on-accent:#0a0502;
  --head:'IBM Plex Sans Condensed','Arial Narrow',sans-serif; --body:'IBM Plex Sans Condensed',system-ui,sans-serif; --mono:'IBM Plex Mono',ui-monospace,monospace;
  --radius:10px; --shadow:none; --shadow-soft:none;
  --wrap:1180px; --gut:clamp(16px,4vw,40px);
}
body.day{ --bg:#0d0f14; --panel:#151a22; --panel2:#1c2230; --fg:#e8ecf2; --hot:#fff; --dim:#a7b0bf; --line:#2a3140; --purple-dark:#fff; --lilac:#cfd6e2; --on-accent:#0d0f14; }
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.6 var(--body);-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:var(--purple);text-underline-offset:3px}
a:hover{color:var(--purple-dark)}
:focus-visible{outline:3px solid var(--hot);outline-offset:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:var(--card);color:var(--ink);padding:8px 12px;z-index:10}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hp{position:absolute;left:-9999px}
.small{font-size:15px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* the stage: header, page titles, footer */
.top{background:var(--stage);color:var(--chalk);position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--chalk)}
.brand b{font:400 21px/1 var(--head);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
.brand small{display:none}
.brand-mark{display:block;width:32px;flex:none}.brand-mark svg,.brand-crest svg{width:100%;height:auto}
nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;align-items:center}
nav a{color:var(--chalk);text-decoration:none;font-weight:700;font-size:16px;white-space:nowrap;border-bottom:3px solid transparent;padding:4px 0}
nav a:hover{color:var(--hot);border-bottom-color:var(--lilac)}
nav a[aria-current="page"]{border-bottom-color:var(--purple)}
.nav-signin{background:var(--purple);color:var(--on-accent)!important;padding:8px 16px!important;border:0!important}
.nav-signin:hover{background:var(--purple-dark)}
.nav-account{display:inline-flex;align-items:center;gap:8px;border:0!important}
.nav-bell{display:inline-flex;align-items:center;gap:8px;position:relative;border:0!important}
.nav-bell svg{width:22px;height:22px}
.bell-n{background:var(--purple);color:var(--on-accent);font:700 11px var(--body);border-radius:999px;min-width:18px;height:18px;display:inline-grid;place-items:center;padding:0 5px}
.menu-btn{display:none;min-width:44px;min-height:44px;border:2px solid var(--chalk);background:transparent;color:var(--chalk);font:700 15px var(--body);padding:0 12px;border-radius:var(--radius);cursor:pointer}
.menu-btn.has-new{position:relative}.menu-btn.has-new::after{content:"";position:absolute;top:5px;right:5px;width:10px;height:10px;border-radius:50%;background:var(--purple)}
@media (min-width:1181px){.bell-n{position:absolute;top:-8px;right:-10px}.nav-name,#nav .mobile-only{display:none}}
@media (max-width:1180px){
  nav{display:none;position:absolute;left:0;right:0;top:68px;background:var(--stage);border-bottom:1px solid var(--line);padding:8px var(--gut) 20px}
  nav.open{display:block}
  nav ul{flex-direction:column;align-items:stretch;gap:0}
  nav a{display:block;padding:13px 0;font-size:18px;border-bottom:1px solid var(--line)}
  .nav-signin{display:inline-block!important;margin-top:12px}
  .menu-btn{display:block}
}

.page-intro{background:var(--stage);color:var(--chalk);padding-top:clamp(36px,6vw,72px);padding-bottom:clamp(36px,6vw,64px)}
.h1-page,h1{font:400 clamp(44px,7vw,96px)/.92 var(--head);text-transform:uppercase;letter-spacing:.01em;margin:0 0 18px;color:var(--chalk)}
.h1-page em{font-style:normal;color:var(--purple)}
.page-intro .lead,.lead{font-size:clamp(18px,2vw,21px);line-height:1.55;max-width:34em;margin:0;color:var(--fg)}
.page-intro .back{color:var(--lilac)}
.page-intro a{color:var(--lilac)}

/* paper */
section{padding-top:clamp(44px,6vw,80px);padding-bottom:clamp(44px,6vw,80px)}
h2,h3{color:var(--ink)}
.group-sub{color:var(--pencil);margin:0 0 24px;max-width:40em}
.group + .group{margin-top:64px}
.ruled{background:var(--paper);background-image:repeating-linear-gradient(to bottom,transparent 0 33px,var(--rule) 33px 34px)}
.hl{background:linear-gradient(transparent 60%,var(--lilac) 60% 92%,transparent 92%);padding:0 4px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border:2px solid var(--purple);background:var(--purple);color:var(--on-accent);font:700 17px var(--body);text-decoration:none;border-radius:var(--radius);cursor:pointer;margin:0 10px 10px 0}
.btn:hover{background:var(--purple-dark);border-color:var(--purple-dark);color:var(--on-accent)}
.btn-main{}
.btn-line{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-line:hover{background:var(--lilac);border-color:var(--ink);color:var(--ink)}
.page-intro .btn-line,.stage .btn-line{color:var(--chalk);border-color:var(--chalk)}
.page-intro .btn-line:hover,.stage .btn-line:hover{background:var(--panel2);color:var(--hot)}
.btn-sm{min-height:44px;padding:0 18px;font-size:16px;margin:0}
.btns{display:flex;flex-wrap:wrap;gap:10px}.btns .btn{margin:0}
button.btn{font-family:var(--body)}
.back{display:inline-flex;align-items:center;min-height:44px;font-weight:700;text-decoration:none}

/* the ticked box, the site's own mark */
.ticks{list-style:none;margin:0 0 20px;padding:0}
.ticks li{display:flex;gap:14px;align-items:flex-start;margin:0 0 12px}
.ticks svg,.tick{width:26px;height:26px;flex:none;margin-top:1px}

/* sheets of paper: hub lists, Battle Plan days, boxes */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:0 36px;border-top:3px solid var(--ink)}
.card{display:block;padding:20px 0 22px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.card h3{font:700 21px/1.3 var(--body);margin:0 0 6px;color:var(--purple);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.card p{margin:0;color:var(--pencil);font-size:17px}
.card .more{display:none}
div.card h3{color:var(--ink);text-decoration:none}
.sheet{background:var(--paper);background-image:repeating-linear-gradient(to bottom,transparent 0 33px,var(--rule) 33px 34px);box-shadow:var(--shadow-soft);padding:24px}
.review{display:inline-block;margin-top:10px;font:700 13px var(--body);padding:3px 10px;background:var(--panel2);color:var(--hot);border:1px solid var(--dim)}
.review.ok{background:var(--panel2);color:var(--hot);border-color:var(--dim)}
.empty{border-top:3px solid var(--ink);padding:20px 0;color:var(--pencil)}
.empty h3{font:400 28px/1 var(--head);text-transform:uppercase;color:var(--ink);margin:0 0 8px}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px)}
@media (max-width:820px){.two{grid-template-columns:minmax(0,1fr)}}
.values{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:16px 0 0}
.values li{border:2px solid var(--ink);font-weight:700;padding:6px 14px}

/* photos: one treatment */
.frame{margin:0;border:10px solid var(--chalk);background:var(--chalk);box-shadow:var(--shadow)}
.frame img{width:100%;height:auto;filter:contrast(1.08) saturate(.95)}
.frame.tilt{transform:rotate(-1.5deg)}.frame.tilt-r{transform:rotate(1.5deg)}
.frame + .cap,.cap{font-size:15px;color:var(--pencil);margin:12px 0 0}

/* article pages */
.article{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(28px,5vw,64px);padding-top:clamp(36px,6vw,64px);padding-bottom:clamp(36px,6vw,64px)}
.prose{max-width:40em}
.prose h2{font-size:clamp(26px,3vw,34px);margin:40px 0 12px}
.prose h3{font:700 20px/1.3 var(--body);margin:26px 0 8px;color:var(--ink)}
.prose p,.prose ul,.prose ol{margin:0 0 18px}
.prose li{margin:0 0 8px}
.prose ul{list-style:none;padding:0}
.prose ul li{position:relative;padding-left:36px}
.prose ul li::before{content:"";position:absolute;left:0;top:4px;width:20px;height:20px;border:2px solid var(--ink)}
.prose ul li::after{content:"";position:absolute;left:5px;top:5px;width:9px;height:14px;border:solid var(--purple);border-width:0 3px 3px 0;transform:rotate(40deg)}
.prose .note{border-top:3px solid var(--ink);padding-top:14px;font-size:17px}
.prose .note b{color:var(--ink)}
.prose .poem{font:400 19px/1.7 var(--body);font-style:italic;padding:22px 24px;background:var(--card);box-shadow:var(--shadow-soft)}
.side{position:sticky;top:90px;align-self:start;display:grid;gap:26px}
.side .box{border-top:3px solid var(--ink);padding-top:12px}
.side h3{font-size:24px}
.side ul{list-style:none;margin:0;padding:0}
.side li a{display:block;padding:9px 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:700}
@media (max-width:900px){.article{grid-template-columns:minmax(0,1fr)}.side{position:static}}

/* news */
.post-list{list-style:none;margin:0;padding:0;border-top:3px solid var(--ink)}
.post-list li a{display:block;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.post-list time{font:700 14px var(--body);color:var(--pencil)}
.post-list h3{font:400 clamp(24px,2.8vw,32px)/1.05 var(--head);text-transform:uppercase;margin:6px 0;color:var(--ink)}
.post-list p{margin:0;color:var(--pencil)}

/* Battle Plan (page) */
.prompts{display:grid;gap:10px;margin-top:6px}
.prompt{border-top:1px solid var(--rule);padding-top:8px}
.prompt b{display:block;font-weight:700;color:var(--ink)}
.prompt span{color:var(--pencil)}

/* help box */

/* footer */
footer{background:var(--stage);color:var(--fg);padding:50px 0 60px;font-size:16px}
footer a{color:var(--chalk)}
footer .wrap + .wrap{margin-top:24px}
footer p{margin:0 0 8px;max-width:38em}
.foot{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:32px}
.foot h3{font:400 22px var(--head);text-transform:uppercase;color:var(--chalk);margin:6px 0 12px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li a{display:inline-flex;min-height:36px;align-items:center;text-decoration:none;font-weight:700}
.foot li a:hover{color:var(--lilac)}
.foot-logo{align-items:center;gap:16px;margin-bottom:16px}
.brand-crest{display:block;width:96px;flex:none}
.wm2{display:flex;flex-direction:column;line-height:1}
.wm2 small{font:700 12px var(--body);letter-spacing:.3em;text-transform:uppercase;color:var(--concrete)}
.wm2 b{font:400 40px/.95 var(--head);text-transform:uppercase;color:var(--chalk);margin:4px 0 2px}
.wm2 .of{font:400 20px var(--head);letter-spacing:.12em;text-transform:uppercase;color:var(--purple)}
.wm2 i{font:italic 400 15px var(--body);color:var(--fg);border-top:1px solid var(--dim);padding-top:7px;margin-top:8px}
@media (max-width:820px){.foot{grid-template-columns:minmax(0,1fr)}}

/* forms */
.flash{background:var(--panel2);border:1px solid var(--dim);color:var(--hot);padding:12px 16px;margin:18px 0 0;font-weight:700}
.form{display:grid;gap:16px;max-width:560px}
.form label{display:grid;gap:6px;font-weight:700;color:var(--ink)}
.form label small{font-weight:400;color:var(--pencil)}
.form input[type=text],.form input[type=email],.form input[type=password],.form select,.form textarea,.composer textarea,.inline-form textarea,.inline-form input[type=text],.compose-opts select,.compose-opts input[type=text]{width:100%;font:400 18px var(--body);color:var(--ink);background:var(--card);border:2px solid var(--ink);border-radius:var(--radius);padding:11px 13px;min-height:50px}
.form textarea,.composer textarea{min-height:120px;resize:vertical;line-height:1.5}
.check{display:flex!important;gap:10px!important;align-items:flex-start;font-weight:700!important}
.check input{width:22px;height:22px;margin-top:2px;flex:none;accent-color:var(--purple)}
.err{background:var(--panel2);border:1px solid var(--dim);color:var(--hot);padding:12px 16px;font-weight:700;margin:0}
.pw-wrap{position:relative;display:block}
.pw-wrap input{padding-right:84px!important}
.pw-show{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:40px;min-width:64px;border:0;background:var(--lilac);color:var(--ink);font:700 15px var(--body);cursor:pointer;border-radius:var(--radius)}

/* community */
.composer{background:var(--card);box-shadow:var(--shadow-soft);padding:18px;margin-bottom:26px;display:grid;gap:12px}
.composer .row-end{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.compose-opts{display:grid;gap:10px;font-size:16px}
.compose-opts label{display:grid;gap:4px;font-weight:700}
.compose-opts select,.compose-opts input[type=text]{max-width:360px;min-height:44px;font-size:16px}
.compose-opts small{font-weight:400;color:var(--pencil)}
.cw-topic[hidden]{display:none!important}
.photo-pick{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.photo-pick label.btn{cursor:pointer}
.post{background:var(--card);box-shadow:var(--shadow-soft);padding:20px;margin-bottom:18px}
.post-head{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.post-head a{text-decoration:none}
.post-head b{display:block;color:var(--ink)}
.post-head small{color:var(--pencil)}
.post-body{font-size:18px;line-height:1.6;margin:0 0 12px;overflow-wrap:anywhere}
.auto-post h3{font:400 26px/1 var(--head);text-transform:uppercase;color:var(--ink);margin:0 0 12px}
.auto-post p{margin:0 0 10px}
.post-photos{display:grid;gap:6px;margin:0 0 12px}
.post-photos.n2,.post-photos.n4,.post-photos.n3{grid-template-columns:1fr 1fr}.post-photos.n3 a:first-child{grid-column:1 / -1}
.post-photos img{width:100%;height:100%;max-height:520px;object-fit:cover;display:block;background:var(--chalk)}
.post-photos.n2 img,.post-photos.n3 img,.post-photos.n4 img{aspect-ratio:1/1}.post-photos.n3 a:first-child img{aspect-ratio:16/9}
.post-actions{display:flex;gap:4px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--line);padding-top:10px}
.post-actions form{margin:0}
.ghost{background:none;border:0;min-height:44px;padding:0 12px;font:700 16px var(--body);color:var(--ink);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius)}
.ghost:hover{background:var(--lilac);color:var(--ink)}
.ghost.on,.ghost.react.on{background:var(--ink);color:var(--on-accent)}
.react b{font-weight:700;margin-left:2px}
.cw{margin:0 0 12px}
.cw summary{cursor:pointer;list-style:none;background:var(--panel2);border:2px solid var(--dim);color:var(--hot);padding:12px 14px;min-height:44px}
.cw summary::-webkit-details-marker{display:none}
.cw summary span{text-decoration:underline;font-weight:700}
.cw[open] summary{margin-bottom:12px}.cw[open] summary span{display:none}
.comments{margin-top:12px;display:grid;gap:10px}
.comment{display:flex;gap:10px}
.comment .bubble{background:var(--paper);border-left:3px solid var(--rule);padding:8px 12px;flex:1;min-width:0}
.comment .bubble b{font-size:15px}
.comment .bubble p{margin:2px 0 0;overflow-wrap:anywhere}
.inline-form{display:flex;gap:8px;align-items:flex-end;margin-top:10px}
.inline-form textarea{min-height:50px;height:50px}
.tag{display:inline-block;font:700 13px var(--body);background:var(--ink);color:var(--on-accent);padding:3px 10px;text-decoration:none}
.profile-head{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.page-intro .profile-head p{color:var(--fg)!important}
.badges{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:0}
.badges li{display:flex;gap:10px;align-items:flex-start;background:var(--card);box-shadow:var(--shadow-soft);padding:12px 14px}
.badges b{display:block;color:var(--ink)}.badges span{font-size:15px;color:var(--pencil)}
.thread{display:grid;gap:10px;margin:20px 0}
.msg{max-width:78%;padding:10px 14px;background:var(--card);box-shadow:var(--shadow-soft);overflow-wrap:anywhere}
.msg.mine{justify-self:end;background:var(--lilac)}
.msg small{display:block;color:var(--pencil);font-size:13px;margin-top:4px}
.history{list-style:none;margin:0;padding:0;border-top:3px solid var(--ink)}
.history li{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line)}
.history a{font-weight:700;text-decoration:none}
.notes li{padding:0}.notes .note-link{display:flex;gap:12px;align-items:center;padding:12px 6px;text-decoration:none;color:var(--ink);font-weight:400;width:100%}
.notes li.unread{background:var(--lilac)}
.table{width:100%;border-collapse:collapse;font-size:16px}
.table th,.table td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}
.table-wrap{overflow-x:auto}

/* avatars: flat, never a fade */
.av{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--on-accent);font:700 15px var(--body);flex:none;text-decoration:none}
.av.sm{width:32px;height:32px;font-size:12px}
.av.lg{width:96px;height:96px;font-size:32px}
.av-photo{padding:0;overflow:hidden;background:var(--chalk)}.av-photo img{width:100%;height:100%;object-fit:cover;display:block}
.av-logo{background:var(--stage);padding:6px}.av-logo svg{width:100%;height:100%}
.av-link{text-decoration:none;display:inline-flex}
header .av{border:2px solid var(--chalk)}

/* My Battle Plan */
.week-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 20px}
.plan-week{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
@media (max-width:900px){.plan-week{grid-template-columns:minmax(0,1fr)}}
.plan-day{background:var(--paper);background-image:repeating-linear-gradient(to bottom,transparent 0 33px,var(--rule) 33px 34px);box-shadow:var(--shadow-soft);padding:20px;display:grid;gap:12px;align-content:start}
.plan-day h3{font:400 30px/1 var(--head);text-transform:uppercase;color:var(--ink);margin:0}
.plan-day label{display:grid;gap:4px;font:700 15px var(--body);color:var(--ink)}
.plan-day label span{font-weight:400;color:var(--pencil)}
.plan-day textarea{width:100%;min-height:90px;font:400 17px var(--body);border:2px solid var(--ink);padding:10px 12px;background:var(--card);resize:vertical;border-radius:var(--radius)}
.plan-photo img{width:100%;display:block;margin:6px 0;border:8px solid var(--card);box-shadow:var(--shadow-soft)}
.dots{display:flex;gap:8px}
.dots i{width:22px;height:22px;border:2px solid var(--ink);display:inline-block;position:relative}
.dots i.on::after{content:"";position:absolute;left:5px;top:0;width:7px;height:13px;border:solid var(--purple);border-width:0 3px 3px 0;transform:rotate(40deg)}

/* home page */
.stage{background:var(--stage);color:var(--chalk)}
.home-hero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:44px;align-items:center;padding-top:20px;padding-bottom:80px}
.home-hero h1{font-size:clamp(70px,11vw,150px);line-height:.88;margin:0 0 22px}
.home-hero h1 span{color:var(--purple)}
.home-hero .q{font-size:clamp(19px,2vw,22px);max-width:25em;margin:0 0 4px}
.home-hero .who{color:var(--concrete);font-size:16px;margin:0 0 24px}
.home-hero .right{position:relative;padding-bottom:40px}
.home-hero .frame{width:78%;margin-left:auto}
.home-hero .frame img{aspect-ratio:4/5;object-fit:cover;object-position:center 20%}
.home-quote .wrap{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(28px,5vw,64px);align-items:center;padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(40px,6vw,72px)}
.home-quote .frame{max-width:380px}
.home-quote blockquote{margin:0}
.home-quote blockquote p{font:400 clamp(34px,4.6vw,62px)/1 var(--head);text-transform:uppercase;margin:0 0 14px;color:var(--chalk)}
.home-quote blockquote span{color:var(--purple)}
.home-quote cite{font-style:normal;color:var(--concrete)}
@media (max-width:820px){.home-quote .wrap{grid-template-columns:minmax(0,1fr)}}
.home-awards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:10px}
.home-awards img{aspect-ratio:3/4;object-fit:cover}
@media (max-width:600px){.home-awards{gap:10px}.home-awards .frame{border-width:5px}}
blockquote{margin:0;padding:22px 0;border-top:3px solid var(--ink);border-bottom:1px solid var(--line)}
blockquote p{font:400 clamp(26px,3vw,36px)/1.05 var(--head);text-transform:uppercase;margin:0 0 12px;color:var(--ink)}
blockquote cite{font-style:normal;color:var(--pencil)}
.home-quote blockquote{border:0;padding:0}
.day-head{display:flex;gap:12px;align-items:center}.plan-day > p{margin:0;color:var(--pencil)}
input,select,textarea,button{font-family:inherit}

/* Community, signed out: direction B (Daz 24 Oct 2026) */
.cm-week{padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(40px,6vw,72px)}
.cm-h{font:400 clamp(30px,4.5vw,46px)/1 var(--head);text-transform:uppercase;color:var(--ink);margin:0 0 14px}
.cm-week-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:10px}
.cm-day{background:var(--paper);background-image:repeating-linear-gradient(to bottom,transparent 0 33px,var(--rule) 33px 34px);box-shadow:var(--shadow);padding:22px 22px 26px;border-top:6px solid var(--purple)}
.cm-day:nth-child(2){transform:rotate(.8deg)}.cm-day:nth-child(3){transform:rotate(-.6deg)}
.cm-day h3{font:400 26px/1 var(--head);text-transform:uppercase;color:var(--ink);margin:0 0 10px;display:flex;gap:10px;align-items:center}
.cm-day h3 svg{width:28px;height:28px;color:var(--ink)}
.cm-day p{margin:0 0 8px;color:var(--ink)}
.cm-every{color:var(--pencil);margin:22px 0 0}
.cm-strip{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,56px);align-items:center;padding-top:clamp(36px,5vw,60px);padding-bottom:clamp(36px,5vw,60px)}
.cm-strip .frame img{aspect-ratio:1;object-fit:cover}
.cm-strip blockquote{margin:0;font:400 clamp(30px,4.5vw,48px)/1.05 var(--head);text-transform:uppercase}
.cm-by{color:var(--concrete);margin:14px 0 24px}
@media (max-width:820px){.cm-week-grid,.cm-strip{grid-template-columns:minmax(0,1fr)}.cm-day,.cm-strip .frame{transform:none!important}.cm-strip .frame{max-width:320px}}
/* Community, signed in */
.start-here{background:var(--stage);color:var(--chalk);padding:20px 22px;margin-bottom:22px;box-shadow:var(--shadow)}
.start-here h2{font:400 30px/1 var(--head);text-transform:uppercase;color:var(--chalk);margin:0 0 10px}
.start-here ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}
.start-here li{display:flex;gap:10px;align-items:center;min-height:44px}
.start-here svg{width:26px;height:26px;flex:none;color:var(--chalk)}
.start-here a{color:var(--chalk);font-weight:700}
.start-here li.done span{color:var(--concrete);text-decoration:line-through}
@media (max-width:600px){.start-here ul{grid-template-columns:minmax(0,1fr)}}

/* Community wall, laid out like Auroracast's community and Facebook (Daz 24 Oct 2026: "nothing like a community page
   like facebook"). Inside the community, cards and avatars are rounded: the one place the square rule is relaxed. */
.fb{max-width:1280px;margin:0 auto;padding:24px var(--gut) 30px;display:grid;grid-template-columns:260px minmax(0,1fr) 300px;gap:24px;align-items:start;background:transparent}
body:has(.fb){background:var(--panel2)}
.fb-card{background:var(--card);border-radius:10px;box-shadow:0 1px 3px var(--line),0 6px 18px var(--panel2);padding:16px;margin-bottom:16px}
.fb-card h3{font:700 19px var(--body);text-transform:none;color:var(--ink);margin:0 0 10px}
.card-top{display:flex;justify-content:space-between;align-items:baseline}.card-top a{font-weight:700;font-size:15px}
.muted{color:var(--pencil);font-size:15px;margin:0}
.fb-left,.fb-right{position:sticky;top:84px}
.ic{width:22px;height:22px;flex:none}
.me-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}
.me-card .av.lg{width:84px;height:84px;font-size:28px;margin-bottom:6px;box-shadow:0 0 0 4px var(--card),0 0 0 6px var(--purple)}
.me-card > b{font-size:19px;color:var(--ink)}.me-card .handle{color:var(--pencil);font-size:15px}
.me-card p{font-size:15px;color:var(--pencil);margin:4px 0 10px}.me-card .btn{width:100%;margin:0 0 8px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);width:100%;margin:12px 0 6px;border-top:1px solid var(--line);padding-top:12px}
.stats span{display:flex;flex-direction:column;font-size:13px;color:var(--pencil)}.stats b{font-size:19px;color:var(--purple)}
.badges{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin-top:6px}
.badges span{background:var(--lilac);color:var(--ink);font-size:12px;font-weight:700;padding:3px 9px;border-radius:20px}
.fb-menu{padding:8px}
.fb-menu a,.fb-tabs a{position:relative;display:flex;align-items:center;gap:12px;min-height:46px;padding:0 12px;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:700}
.fb-menu a:hover{background:var(--panel2)}.fb-menu a[aria-current]{background:var(--panel2);color:var(--purple)}
.fb-menu a i,.fb-tabs a i{font-style:normal;margin-left:auto;background:var(--fg);color:var(--on-accent);font-size:12px;min-width:22px;height:22px;border-radius:11px;display:grid;place-items:center;padding:0 6px}
.fb-tabs{display:none}
.composer.fb-card{padding:14px 16px 10px;display:block;box-shadow:0 1px 3px var(--line),0 6px 18px var(--panel2)}
.compose-top{display:flex;gap:12px;align-items:flex-start}
.compose-top textarea{flex:1;min-height:52px!important;border:0!important;background:var(--panel2)!important;border-radius:26px!important;padding:14px 18px!important;resize:none;font-size:18px}
.compose-top textarea:focus,.compose-top textarea:not(:placeholder-shown){min-height:120px!important;border-radius:14px!important}
.compose-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;border-top:1px solid var(--line);margin-top:12px;padding-top:8px}
.compose-bar .tool{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:8px;font-weight:700;color:var(--ink);cursor:pointer}
.compose-bar .tool:hover{background:var(--panel2)}.compose-bar .tool .ic{color:var(--purple)}
.compose-bar .tool input[type=checkbox]{width:20px;height:20px;accent-color:var(--purple)}
.compose-bar select{border:0;background:transparent;font:700 16px var(--body);color:var(--ink);min-height:44px;cursor:pointer}
.compose-bar .btn{margin-left:auto!important;border-radius:8px;min-width:96px}
.compose-note{font-size:13px;color:var(--pencil);margin:6px 0 0}
.compose-opts:has(.cw-topic[hidden]){display:none}.compose-opts{margin-top:10px}
.fb-post{border-radius:10px;padding:14px 16px 6px;box-shadow:0 1px 3px var(--line),0 6px 18px var(--panel2);margin-bottom:16px}
.fb-post .post-head{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.fb-post .who{flex:1;min-width:0;line-height:1.3}.fb-post .who a{text-decoration:none;color:var(--ink)}.fb-post .who .in{color:var(--pencil)}
.fb-post .who small{display:flex;align-items:center;gap:5px;color:var(--pencil);font-size:13px;margin-top:2px}.fb-post .who small .ic{width:14px;height:14px}
.fb-post .who small a{color:inherit}
.pmenu{position:relative}.pmenu summary{list-style:none;cursor:pointer;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--pencil)}
.pmenu summary::-webkit-details-marker{display:none}.pmenu summary:hover{background:var(--panel2)}
.pmenu > div{position:absolute;right:0;top:46px;background:var(--card);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.18);min-width:200px;padding:6px;z-index:4}
.pmenu > div a,.pmenu > div button{display:flex;align-items:center;width:100%;min-height:44px;padding:0 12px;border:0;background:none;border-radius:6px;font:700 16px var(--body);color:var(--ink);text-decoration:none;cursor:pointer;text-align:left}
.pmenu > div a:hover,.pmenu > div button:hover{background:var(--panel2)}.pmenu form{margin:0}
.fb-post .post-body{margin:0 0 10px;font-size:18px}
.fb-post .auto-post h3{font:400 26px/1.05 var(--head);text-transform:uppercase;color:var(--ink);margin:0 0 8px}
.fb-post .auto-post.clip{max-height:12.5em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.more-link{display:inline-block;font-weight:700;margin:0 0 10px;color:var(--pencil)}
.post-cta{margin:4px 0 12px}
.fb-post .post-photos{margin:0 -16px 10px}
.post-counts{display:flex;justify-content:space-between;align-items:center;font-size:15px;color:var(--pencil);padding:4px 0 8px}
.post-counts > span{display:flex;align-items:center;gap:2px}.post-counts a{color:inherit;text-decoration:none}.post-counts a:hover{text-decoration:underline}
.rc{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;color:var(--on-accent);margin-right:-4px;border:2px solid var(--card)}.rc .ic{width:12px;height:12px}
.rc-heart{background:var(--fg)}.rc-helpful{background:var(--purple)}.rc-inspiring{background:var(--fg)}
.post-counts > span .rc:last-of-type{margin-right:6px}
.post-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px 0;margin:0 0 8px}
.post-bar form{margin:0}
.post-bar .react{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:0;background:none;border-radius:6px;font:700 15px var(--body);color:var(--pencil);cursor:pointer;text-decoration:none}
.post-bar .react:hover{background:var(--panel2);color:var(--ink)}
.post-bar .react.on{color:var(--purple)}.post-bar .react.on .ic{fill:currentColor}
.post-bar form:first-child .react.on{color:var(--fg)}
.fb-post .comments{padding:2px 0 8px;border:0;margin:0}
.fb-post .comment{display:flex;gap:8px;margin:8px 0;align-items:flex-start}
.fb-post .bubble{background:var(--panel2);border-radius:16px;padding:8px 14px;display:inline-block;max-width:100%}
.fb-post .bubble a{text-decoration:none;color:var(--ink);font-size:15px}.fb-post .bubble p{margin:2px 0 0;font-size:16px}
.c-meta{display:flex;gap:12px;font-size:13px;color:var(--pencil);padding:2px 12px 0;align-items:center}
.c-meta a,.c-meta button{color:var(--pencil);font:700 13px var(--body);background:none;border:0;padding:0;cursor:pointer;text-decoration:none;min-height:24px}
.c-meta form{margin:0}
.c-form{display:flex;gap:8px;align-items:center;margin-top:8px}
.c-form textarea{flex:1;min-height:40px!important;height:40px;border:0!important;background:var(--panel2)!important;border-radius:20px!important;padding:9px 16px!important;resize:none;font:400 16px var(--body)}
.c-form textarea:focus,.c-form textarea:not(:placeholder-shown){height:80px}
.c-form .btn{border-radius:20px;min-height:40px}
.start-here.fb-card{background:var(--stage);color:var(--chalk);padding:18px 20px}
.start-here h2{font:400 26px/1 var(--head);text-transform:uppercase;color:var(--chalk);margin:0 0 10px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.start-here h2 small{font:700 14px var(--body);text-transform:none;color:var(--lilac)}
.start-here ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px}
.start-here li{display:flex;gap:10px;align-items:center;min-height:44px}
.start-here svg{width:24px;height:24px;flex:none;color:var(--chalk)}
.start-here a{color:var(--chalk);font-weight:700}.start-here li.done span{color:var(--concrete);text-decoration:line-through}
.people{list-style:none;margin:0;padding:0}
.people a{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 6px;margin:0 -6px;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:700;font-size:16px}
.people a:hover{background:var(--panel2)}.people small{display:block;font-weight:400;color:var(--pencil);font-size:13px}
.g-ic{width:32px;height:32px;border-radius:8px;background:var(--panel2);color:var(--purple);display:grid;place-items:center;flex:none}.g-ic .ic{width:18px;height:18px}
.fb .empty{border:0}
.fb-main > .back{display:inline-block;margin:0 0 12px;font-weight:700}
.fb-main > h1{font:400 clamp(30px,4vw,42px)/1 var(--head);text-transform:uppercase;color:var(--ink);margin:0 0 16px}
@media (max-width:1100px){.fb{grid-template-columns:minmax(0,1fr) 290px}.fb-left{display:none}.fb-tabs{display:flex}}
@media (max-width:1100px){.fb-tabs{grid-column:1/-1;background:var(--card);border-radius:10px;box-shadow:0 1px 3px var(--line);padding:4px;justify-content:space-around;position:sticky;top:69px;z-index:4;margin-bottom:4px}
  .fb-tabs a{flex:1;flex-direction:column;gap:2px;min-height:56px;justify-content:center;padding:0 2px;font-size:12px;color:var(--pencil)}
  .fb-tabs a[aria-current]{color:var(--purple);box-shadow:inset 0 -3px 0 var(--purple);border-radius:0}
  .fb-tabs a i{position:absolute;top:4px;left:calc(50% + 4px);margin:0;min-width:18px;height:18px;font-size:11px}}
@media (max-width:760px){.fb{grid-template-columns:minmax(0,1fr);padding-top:12px;gap:12px}.fb-right{position:static}
  .start-here ul{grid-template-columns:minmax(0,1fr)}
  .fb-post .post-bar .react span{font-size:13px}.post-bar .react{gap:5px;flex-direction:column;min-height:52px}}
@media (max-width:360px){.compose-bar .tool span{font-size:14px}}
/* the signed-out community page: a Facebook-style sign in beside the welcome */
.cm-hero .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,5vw,64px);align-items:center;padding-top:clamp(36px,6vw,72px);padding-bottom:clamp(36px,6vw,72px)}
.cm-hero h1{font:400 clamp(48px,8vw,96px)/.95 var(--head);text-transform:uppercase;color:var(--chalk);margin:0 0 18px}.cm-hero h1 em{font-style:normal;color:var(--purple)}
.cm-hero .lead{font-size:20px;color:var(--fg);max-width:30em;margin:0}
.cm-signin{color:var(--ink);padding:22px;display:grid;gap:12px;margin:0}
.cm-signin label{display:grid;gap:6px;font-weight:700;font-size:15px}
.cm-signin input{width:100%;font:400 18px var(--body);border:2px solid var(--rule);border-radius:8px;padding:11px 13px;min-height:50px;color:var(--ink)}
.cm-signin input:focus{border-color:var(--purple);outline:0}
.cm-signin .btn{width:100%;margin:0;border-radius:8px}.cm-signin hr{border:0;border-top:1px solid var(--line);margin:4px 0;width:100%}
.cm-signin .btn-line{color:var(--ink)!important;border-color:var(--ink)!important;background:var(--card)}
@media (max-width:820px){.cm-hero .wrap{grid-template-columns:minmax(0,1fr)}}
.fb-post .comment > div{min-width:0;flex:1}.fb-post .bubble{overflow-wrap:anywhere}
.c-form textarea{min-width:0}.c-form .btn{flex:none}
.fb-post .comments{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.fb-post .comment .bubble{border-left:0;flex:none}.c-form .btn{margin:0}
/* Rounded corners across the whole site (Daz 24 Oct 2026: "rounded edges on all container boxes and any where there
   is a right angle throughout the site as the community page is looking loads better"). Full-width bands stay full width. */
.nav-signin{border-radius:8px}
.frame{border-radius:16px;overflow:hidden}.frame img{border-radius:8px}
.plan-photo img{border-radius:12px}
.post-photos a{display:block;border-radius:10px;overflow:hidden}.post-photos img{border-radius:10px}
.fb-post .post-photos{margin-left:0;margin-right:0}
.review,.tag,.values li{border-radius:999px}
.msg{border-radius:16px}
.dots i{border-radius:5px}
.cards{gap:16px;border-top:0}
.card{background:var(--card);border:0;border-radius:14px;box-shadow:var(--shadow-soft);padding:20px 22px}
.post-list{border-top:0;display:grid;gap:14px}
.post-list li a{background:var(--card);border:0;border-radius:14px;box-shadow:var(--shadow-soft);padding:20px 22px}
.empty{background:var(--card);border:0;border-radius:14px;box-shadow:var(--shadow-soft);padding:20px 22px}
.table{border-radius:12px;overflow:hidden}
.fb-post .tag.pin{font-size:11px;padding:1px 8px;background:var(--purple)}
@media (max-width:820px){nav{border-radius:0 0 14px 14px}}
/* every community page sits in the same layout, with a way back to the wall (Daz 24 Oct 2026) */
.back-wall{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;text-decoration:none;color:var(--ink);margin:0 0 6px}
.back-wall::before{content:"";width:10px;height:10px;border-left:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg)}
.fb-title{font:400 clamp(30px,4vw,42px)/1 var(--head);text-transform:uppercase;color:var(--ink);margin:4px 0 8px}
.fb-lead{color:var(--pencil);margin:0 0 16px}
.fb-main .two{grid-template-columns:minmax(0,1fr)}
.tab-more{display:none;position:relative;flex:1}
@media (max-width:1100px){.tab-more{display:block}
  .tab-more summary{list-style:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;font-weight:700;font-size:12px;color:var(--pencil);cursor:pointer}
  .tab-more summary::-webkit-details-marker{display:none}.tab-more summary[aria-current]{color:var(--purple);box-shadow:inset 0 -3px 0 var(--purple)}
  .tab-more > div{position:absolute;right:0;top:60px;background:var(--card);border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.2);padding:6px;min-width:210px;z-index:6}
  .tab-more > div a{flex-direction:row;justify-content:flex-start;gap:12px;font-size:16px;color:var(--ink);min-height:46px;padding:0 12px}}
.fb-card .empty{box-shadow:none;background:none;padding:0;border-radius:0}.fb-card .history{border-top:0}
/* Buttons: style 1, Stamp (Daz 24 Oct 2026). A printed placard with a hard shadow that presses down when tapped. */
.btn{border:2px solid var(--hot);box-shadow:4px 4px 0 var(--dim);transition:transform .08s,box-shadow .08s,background .08s}
.btn:hover{border-color:var(--hot);transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--dim)}
.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--dim)}
.btn-sm{box-shadow:3px 3px 0 var(--dim)}.btn-sm:hover{box-shadow:4px 4px 0 var(--dim)}.btn-sm:active{box-shadow:1px 1px 0 var(--dim)}
.btn-line,.btn-line:hover{background:var(--card);color:var(--ink);border-color:var(--ink)}
.stage .btn-line,.page-intro .btn-line{background:var(--stage);color:var(--chalk)}
.stage .btn-line:hover,.page-intro .btn-line:hover{background:var(--panel2);color:var(--hot)}
.stage .fb-card .btn{border-color:var(--ink);box-shadow:4px 4px 0 var(--dim)}
.stage .fb-card .btn-line{background:var(--card);color:var(--ink)}
.compose-bar .btn,.c-form .btn{margin-right:4px!important}

/* Home Battle Plan button (24 Oct, a reviewer's words via Daz): 'Battle Plan' in its own colour, ink button so the
   lilac reads clearly (lilac on ink 7.6:1; on the purple button it was only about 2:1). */

/* ===== Orion Skies additions (design.md: Red Torch) ===== */
body{font-size:18px}
h1,h2,h3{font-family:var(--head);color:var(--hot);letter-spacing:0;text-transform:none}
.brand b{text-transform:none;letter-spacing:.01em;font:700 22px/1 var(--head);color:var(--hot)}
.brand-mark{width:30px;height:30px;color:var(--fg)}
.av-logo .av-mark{width:70%;height:70%;color:var(--fg)}
/* red light / day switch: a round dot, red at night, white in day mode */
.light-btn{width:40px;height:40px;min-height:40px;padding:0;border:2px solid var(--line);border-radius:50%;background:var(--panel);cursor:pointer;margin-left:auto;display:grid;place-items:center;flex:none}
.light-btn span{width:18px;height:18px;border-radius:50%;background:#e0311f;box-shadow:0 0 8px #e0311f}
body.day .light-btn span{background:#fff;box-shadow:0 0 0 1px #999}
.top .wrap{gap:10px}
/* the readout: the signature motif */
.readout{display:flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--radius);margin:14px 0;font-family:var(--mono);overflow:hidden;background:var(--bg)}
.readout div{padding:10px 14px;border-right:1px solid var(--line);flex:1 1 auto;min-width:0}
.readout div:last-child{border-right:0}
.readout b{display:block;font:600 20px/1.2 var(--mono);color:var(--hot);overflow-wrap:anywhere}
.readout small{color:var(--dim);font-size:13px}
/* home */
.tonight-hero{padding:34px 0 30px}
.tonight-hero h1{font:700 clamp(36px,7vw,66px)/1.04 var(--head);margin:0 0 12px;max-width:13em;color:var(--hot)}
.tonight-hero .lead{font-size:19px;max-width:34em;color:var(--fg)}
.pc-form{display:flex;gap:12px;flex-wrap:wrap;max-width:560px;margin-top:18px}
.pc-form input{flex:1 1 220px;min-height:52px;background:var(--bg);border:2px solid var(--dim);border-radius:var(--radius);color:var(--hot);font:600 18px var(--mono);padding:0 14px;text-transform:uppercase}
.pc-form .btn{margin:0}
.levels{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:10px}
.levels a{border:2px solid var(--dim);border-radius:var(--radius);padding:16px;text-decoration:none;color:var(--fg);box-shadow:4px 4px 0 var(--line);transition:transform .08s,box-shadow .08s;background:var(--panel)}
.levels a b{display:block;color:var(--hot);font-size:21px}
.levels a:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--dim)}
.levels a:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--dim)}
.levels-pick{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 12px}
.chip{min-height:40px;padding:0 14px;border:2px solid var(--line);border-radius:20px;background:var(--panel);color:var(--fg);font:600 15px var(--body);cursor:pointer}
.chip[aria-pressed="true"]{border-color:var(--fg);color:var(--hot)}
.tg-row{border-top:1px solid var(--line);padding:12px 0;display:grid;gap:2px}
.tg-row a{text-decoration:none}.tg-row b{color:var(--hot);font-size:19px}
.cloud{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.cloud span{border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:14px var(--mono);min-width:70px;text-align:center}
.cloud span b{display:block;font-size:16px;color:var(--hot)}
.cloud span.clear{border-color:var(--fg)}
.muted{color:var(--dim)}
/* guides */
.guide{max-width:48em}
.guide h2{margin-top:36px}
.guide ol li,.guide ul li{margin:10px 0}
.stop{border-left:5px solid var(--fg);background:var(--panel);padding:12px 14px;margin:16px 0;border-radius:6px}
.stop .t{font-weight:700;color:var(--hot);display:block;margin-bottom:3px}
.tbl{width:100%;border-collapse:collapse;margin:12px 0;font-size:17px}
.tbl th,.tbl td{border:1px solid var(--line);padding:9px 8px;text-align:left;vertical-align:top}
.tbl th{color:var(--hot)}
.yes{color:var(--hot);font-weight:700}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 24px}
.jump a{border:1px solid var(--line);border-radius:8px;padding:8px 10px;text-decoration:none;font-size:15px;background:var(--panel)}
.problem{border-top:1px solid var(--line);padding-top:6px;margin-top:18px}
.problem .fix{border-left:4px solid var(--fg);padding-left:12px}
/* targets */
.lv-h{margin:34px 0 12px}
.tg-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.tg-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.tg-card.done{border-color:var(--fg)}
.tg-card h3{margin:0;font-size:21px}
.tg-kind{margin:2px 0 0;color:var(--dim);font-size:15px}
.tg-daz{border-left:3px solid var(--dim);padding-left:10px;font-size:16px}
.tg-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:10px}
.tg-actions form{margin:0}
.my-tg{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
.my-tg img{width:96px;height:96px;object-fit:cover;border-radius:8px}
.my-tg.done{border:1px solid var(--fg)}
.ticked{display:flex;flex-wrap:wrap;gap:6px}
/* posts: how it was taken */
.post-capture{margin:10px 0 4px}
.post-capture .readout{margin:6px 0}
.post-capture .readout b{font-size:16px}
.cap-target{display:inline-flex;align-items:center;gap:6px;color:var(--hot);font-weight:700;text-decoration:none}
.cap-target .ic{width:18px;height:18px}
.cap-box{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:8px 0}
.cap-box summary{cursor:pointer;color:var(--hot);font-weight:700}
.cap-box summary small{color:var(--dim);font-weight:400}
.cap-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-top:10px}
.cap-grid label{display:grid;gap:4px;font-size:15px}
.cap-grid .check{grid-column:1/-1;display:flex;gap:8px;align-items:center}
.cap-grid select,.cap-grid input{min-height:44px;background:var(--bg);color:var(--hot);border:1px solid var(--dim);border-radius:8px;padding:0 8px;font:16px var(--body)}
/* public gallery */
.gal-show{display:grid;gap:22px}
.gal-show figure{margin:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.gal-show img{width:100%;max-height:70vh;object-fit:cover}
.gal-show figcaption{padding:12px 16px}
.gal-show figcaption b{color:var(--hot);font-size:20px}
/* red light: photos tinted so nothing blinds at the scope; day mode shows full colour */
body:not(.day) .gal-show img,body:not(.day) .post-photos img,body:not(.day) .my-tg img{filter:sepia(1) saturate(2.4) hue-rotate(-18deg) brightness(.85)}
body:not(.day) .gal-show img:hover,body:not(.day) .post-photos a:focus img,body:not(.day) .post-photos img:hover{filter:none}
input,select,textarea{color-scheme:dark}
.form input,.form select,.form textarea,.c-form textarea,.composer textarea{background:var(--bg);color:var(--hot);border-color:var(--dim)}
@media print{body,body.day{--bg:#fff;--panel:#fff;--panel2:#f4f4f4;--fg:#111;--hot:#000;--dim:#555;--line:#bbb;background:#fff;color:#111}.top,.light-btn,.menu-btn,footer,.btn{display:none!important}}
/* page titles in Red Torch, not the old stage capitals */
.h1-page,.cm-hero h1,.fb-title{font:700 clamp(34px,6vw,58px)/1.05 var(--head)!important;text-transform:none!important;letter-spacing:0!important;color:var(--hot)!important}
.page-intro .lead,.cm-hero .lead,.fb-lead{color:var(--fg)!important;font-size:19px}
.page-intro{background:var(--bg);border-bottom:1px solid var(--line)}
.cm-h,.cm-day h3{text-transform:none;font-family:var(--head);color:var(--hot)}
.cm-day{background:var(--panel)!important;background-image:none!important;border-top:4px solid var(--fg)!important;border-radius:var(--radius)}
.start-here h2{text-transform:none;font:700 24px var(--head);color:var(--hot)}
footer{border-top:1px solid var(--line)}
footer .small{color:var(--dim)}
.foot h3{text-transform:none;font:700 20px var(--head);color:var(--hot)}
.where{margin:10px 0 0;color:var(--fg)}.where b{color:var(--hot)}
.linkish{background:none;border:0;color:var(--hot);text-decoration:underline;font:inherit;cursor:pointer;padding:0;min-height:32px}
.pc-form .btn-line{background:var(--bg)}
/* Sky tonight */
.day-pick{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.sky-sec{border-top:1px solid var(--line);padding:6px 0}
.sky-sec summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:48px}
.sky-sec summary::-webkit-details-marker{display:none}
.sky-sec summary h2{margin:0;font-size:23px}
.sky-sec summary::after{content:"+";color:var(--fg);font:700 24px var(--mono)}
.sky-sec[open] summary::after{content:"\2212"}
/* Cloud */
.map-frame{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:10px 0}
.map-frame iframe{display:block;width:100%;height:min(560px,70vh);border:0}
body:not(.day) .map-frame iframe{filter:sepia(1) saturate(2.2) hue-rotate(-18deg) brightness(.75)}
.regions{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin:10px 0}
.region{border:2px solid var(--line);border-radius:var(--radius);padding:10px 12px;background:var(--panel);display:grid;gap:2px}
.region b{color:var(--hot)}.region .pct{font:600 22px var(--mono);color:var(--hot)}.region small{color:var(--dim);font-family:var(--mono);font-size:12px}
.region.home{outline:2px solid var(--fg);outline-offset:2px}
.region.k0{border-color:var(--hot)}.region.k1{border-color:var(--fg)}.region.k2{border-color:var(--dim)}.region.k3{border-color:var(--line);opacity:.8}
.cloud-key{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;font-size:14px}
.cloud-key span{border:2px solid var(--line);border-radius:6px;padding:4px 8px}
.cloud-key .k0{border-color:var(--hot)}.cloud-key .k1{border-color:var(--fg)}.cloud-key .k2{border-color:var(--dim)}
.cloud span small{color:var(--dim)}
[hidden]{display:none!important}
/* 25 Oct, Daz: header boxes too big. Tight title band, less space before the content. */
.page-intro{padding-top:18px!important;padding-bottom:16px!important}
.h1-page,.fb-title{font-size:clamp(28px,5vw,42px)!important;margin:0 0 6px!important}
.page-intro .lead{font-size:17px!important;line-height:1.45}
section{padding-top:clamp(18px,3vw,32px);padding-bottom:clamp(24px,4vw,44px)}
.tonight-hero{padding:22px 0 20px}
.tonight-hero h1{font-size:clamp(30px,6vw,52px)}
.level-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.level-tabs a{border:2px solid var(--line);border-radius:20px;padding:8px 14px;text-decoration:none;font-weight:700;color:var(--fg);background:var(--panel)}
.level-tabs a[aria-current]{border-color:var(--fg);color:var(--hot)}
/* 25 Oct, Daz: the HEADER band was too big (height and width), not the content. A compact title block only as
   wide as its text, no full-width strip. */
.page-intro{background:none!important;border-bottom:0!important;padding-top:20px!important;padding-bottom:4px!important}
.page-intro .wrap > *{max-width:760px}
.page-intro .wrap{display:flex;flex-direction:column}
.page-intro .h1-page{width:fit-content;max-width:100%}
.page-intro .lead{border-left:3px solid var(--fg);padding-left:12px;margin-top:4px!important}
/* menu bar location */
.loc-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;max-width:180px;padding:0 10px;border:2px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--hot);font:600 14px var(--body);cursor:pointer;margin-left:auto}
.loc-btn svg{width:18px;height:18px;flex:none;color:var(--fg)}
.loc-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.light-btn{margin-left:0}
.loc-pop{background:var(--panel);border-bottom:1px solid var(--line);padding:14px 0;position:sticky;top:68px;z-index:4}
@media (max-width:520px){.loc-btn{max-width:120px;padding:0 8px}.loc-btn span{font-size:13px}.brand b{font-size:19px}}
@media (max-width:440px){.brand b{display:none}.brand-mark{width:34px;height:34px}.loc-btn{max-width:150px}.top .wrap{gap:8px}.menu-btn{padding:0 10px}}
/* target pages */
.fit-fig{margin:10px 0 20px}
.fit-box{position:relative;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#000}
.fit-box img{width:100%;height:auto;display:block}
.fit-frame{position:absolute;inset:0;width:100%;height:100%}
body:not(.day) .fit-box img,body:not(.day) .tg-thumb{filter:sepia(1) saturate(2.4) hue-rotate(-18deg) brightness(.8)}
.tg-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;margin:10px 0 0}
.alt-chart{width:100%;height:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
.alt-chart .ch-dark{fill:var(--panel2)}
.alt-chart .ch-30{stroke:var(--dim);stroke-dasharray:4 4}
.alt-chart .ch-alt{fill:none;stroke:var(--hot);stroke-width:3}
.alt-chart .ch-moon{fill:none;stroke:var(--dim);stroke-width:1.5}
.alt-chart .ch-t{fill:var(--dim);font:13px var(--mono)}
/* your scope */
/* "For your DWARF 3. Change scope": its own row, clear of buttons above and below, with a full size tap area */
.scope-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font:600 14px var(--mono);color:var(--dim);margin:18px 0 18px;padding:4px 0 4px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}
.scope-line b{color:var(--fg)}
.scope-line a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;margin-left:auto}
.level-tabs + .scope-line{margin-top:22px}
.scope-diff{border:1px solid var(--line);border-left:4px solid var(--hot);border-radius:var(--radius);background:var(--panel);padding:14px 16px;margin:0 0 22px}
.scope-diff ul{margin:8px 0}
.scope-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.scope-card{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:16px}
.scope-card.on{border-color:var(--hot)}
.scope-card h2{margin-top:0}
/* best night this week */
.wk-best{border:2px solid var(--hot);border-radius:var(--radius);background:var(--panel);padding:14px 16px;margin:6px 0 18px}
.wk-night{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:10px 12px;margin:0 0 8px;min-width:0}
.wk-facts{margin:0;font-size:15px;color:var(--dim)}
.wk-facts b{color:var(--fg)}
.wk-night.is-best{border-color:var(--hot)}
.wk-night h3{margin:0 0 4px;font-size:18px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.wk-far{font:500 12px var(--mono);color:var(--dim)}
.wk-strip{display:flex;gap:2px;margin-top:8px;flex-wrap:wrap}
.wk-h{position:relative;width:27px;height:27px;border-radius:6px;display:grid;place-items:center;font:600 11px var(--mono);border:2px solid transparent}
.wk-h i{font-style:normal}
.wk-h em{position:absolute;top:-1px;right:2px;font:700 9px var(--mono);font-style:normal}
.wk-h.clr{background:var(--hot);color:var(--bg)}
.wk-h.part{background:color-mix(in srgb,var(--hot) 35%,var(--panel));color:var(--fg)}
.wk-h.cov,.wk-h.na{background:var(--panel2);color:var(--dim)}
.wk-h.ok{border-color:var(--fg)}
/* settings calculator */
.calc{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;margin:0 0 18px}
.calc label{display:flex;flex-direction:column;gap:4px;font:600 14px var(--mono);color:var(--dim);min-width:0}
.calc input,.calc select{min-height:44px;font-size:16px;width:100%}
/* my nights */
.night-form summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.calc .wide{grid-column:1/-1}
.calc textarea{width:100%;font-size:16px}
.night-row h3{margin:0 0 2px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.night-row.went-bad{border-left:4px solid var(--dim)}
.night-row.went-good{border-left:4px solid var(--hot)}
/* target of the month */
.month-card{margin-bottom:24px}
.who-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.who-list a,.board a{display:flex;align-items:center;gap:8px;text-decoration:none;min-width:0}
.board{list-style:none;padding:0;margin:0 0 20px}
.board li{display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);margin:0 0 6px}
.board li.me{border-color:var(--hot)}
.board li>b{font:700 16px var(--mono);width:24px;color:var(--dim)}
.board li>a{flex:1}
.board li>i{font:700 18px var(--mono);font-style:normal}
/* Daz's own pictures */
.dz-photo{margin:20px 0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:0}
.dz-photo img{width:100%;height:auto;display:block;max-height:70vh;object-fit:cover}
.dz-photo figcaption{padding:12px 14px;display:grid;gap:8px}
.dz-photo.sm{margin:0}
.dz-photo.sm img{aspect-ratio:4/3;object-fit:cover}
.dz-photo.sm figcaption{padding:10px 12px}
.dz-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;margin:10px 0}
.dz-strip{padding-top:0}
@media (max-width:600px){.dz-grid{grid-template-columns:1fr 1fr;gap:10px}.dz-photo.sm .readout{display:none}.dz-photo.sm figcaption{padding:8px 10px;font-size:14px}}
/* legal pages and the legal row in the footer */
.foot-legal p:first-child,.legal-links{display:flex;flex-wrap:wrap;gap:4px 6px}
.foot-legal a,.legal-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;color:var(--fg)}
.legal .table-wrap{overflow-x:auto}
.legal table{width:100%;border-collapse:collapse;font-size:15px}
.legal th,.legal td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.legal code{font-family:var(--mono);font-size:14px}
