/* Etched In Stone - watchfireai.com tokens, tuned for reading. */
:root{--bg-primary:#F7F9FB;--bg-white:#FFFFFF;--bg-muted:#F1F5F9;--bg-accent:#E8EEF4;--bg-dark:#0F172A;--bg-dark-raised:#1E293B;
--border-subtle:rgba(15,23,42,.08);--border-strong:rgba(15,23,42,.15);--flame-primary:#1D4ED8;--flame-bright:#2563EB;--flame-soft:#93C5FD;--flame-bg:rgba(29,78,216,.04);
--text-primary:#0F172A;--text-secondary:#334155;--text-tertiary:#64748B;--text-muted:#94A3B8;--text-on-dark:#E2E8F0;
--ok:#15803D;--ok-bg:#F0FDF4;--warn:#B45309;--warn-bg:#FFFBEB;--bad:#B91C1C;--bad-bg:#FEF2F2;
--font-body:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:'JetBrains Mono',monospace}
*{box-sizing:border-box}
html{font-size:17px}
body{margin:0;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--flame-primary);text-decoration:none}a:hover{text-decoration:underline}
.mono{font-family:var(--font-mono);font-size:.85em;word-break:break-all}
.wrap{max-width:68ch;margin:0 auto;padding:0 1.25rem}
/* header */
.site-head{background:var(--bg-dark);color:var(--text-on-dark);border-bottom:1px solid rgba(255,255,255,.08)}
.site-head .wrap{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-top:.9rem;padding-bottom:.9rem;flex-wrap:wrap}
.brand{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-on-dark);display:flex;align-items:center;gap:.75rem}
.brand-logo{height:30px;width:auto;display:block}
.brand b{color:var(--flame-soft);font-weight:600}
.site-nav a{color:var(--text-on-dark);opacity:.85;margin-left:1.1rem;font-size:.9rem}
.site-nav a[aria-current]{opacity:1;border-bottom:2px solid var(--flame-bright)}
/* hero / title */
.page-title{margin:2.2rem 0 .4rem;font-size:2rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.page-sub{margin:0 0 1.6rem;color:var(--text-tertiary);font-size:1.02rem}
.guarantee{background:var(--bg-white);border:1px solid var(--border-subtle);border-left:4px solid var(--flame-primary);border-radius:8px;padding:1.2rem 1.4rem;margin:0 0 2rem}
.guarantee h2{margin:.2rem 0 .5rem;font-size:1.02rem;letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary)}
.guarantee ul{margin:.2rem 0 .8rem;padding-left:1.2rem}.guarantee li{margin:.35rem 0}
/* index list */
.qlist{list-style:none;margin:0;padding:0}
.qcard{background:var(--bg-white);border:1px solid var(--border-subtle);border-radius:8px;padding:1rem 1.2rem;margin:0 0 .8rem;display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem;align-items:start;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.qcard:hover,.qcard:focus-visible{border-color:var(--flame-soft);box-shadow:0 4px 18px rgba(29,78,216,.10);text-decoration:none}
.qcard:hover h3{color:var(--flame-primary)}
.qcard .qid{font-family:var(--font-mono);font-size:.78rem;color:var(--text-tertiary);letter-spacing:.04em}
.qcard h3{margin:.1rem 0;font-size:1.08rem;font-weight:600;line-height:1.35;grid-column:1}
.qcard .qmeta{grid-column:1;color:var(--text-tertiary);font-size:.88rem}
.qstatus{grid-column:2;grid-row:1/span 3;align-self:start;white-space:nowrap}
.st{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;font-weight:700}
.st.resolved{color:var(--ok)}
.st.open{color:var(--warn)}
/* thread */
.thread-ref{font-family:var(--font-mono);font-size:.78rem;color:var(--text-tertiary);margin:2.2rem 0 1.4rem;line-height:1.8}
/* series rail: one vertical line from the first entry to the end marker, a node per entry */
.series{position:relative;padding-left:2rem;margin-top:1.2rem}
.series::before{content:"";position:absolute;left:.55rem;top:1.2rem;bottom:1.4rem;width:2px;background:var(--flame-soft)}
.series.open::before{background:repeating-linear-gradient(to bottom,var(--flame-soft) 0 8px,transparent 8px 14px)}
.series .entry{position:relative}
.series .entry::before{content:"";position:absolute;left:-1.99rem;top:1.35rem;width:14px;height:14px;border-radius:50%;background:var(--bg-white);border:3px solid var(--flame-primary);box-sizing:border-box}
.series .entry:first-child::before{background:var(--flame-primary)}
.rail-end{position:relative;padding:.4rem 0 0;font-size:.9rem}
.rail-end::before{content:"";position:absolute;left:-1.99rem;top:.55rem;width:14px;height:14px;border-radius:50%;box-sizing:border-box;border:3px solid var(--warn);background:var(--bg-white)}
.rail-end.resolved::before{border-color:var(--ok);background:var(--ok)}
.rail-end.writing::before{border-color:var(--flame-primary);background:var(--bg-white)}
.rail-end .dim{color:var(--text-tertiary)}
.continuity{margin:-.4rem 0 .9rem;font-size:.86rem;color:var(--text-tertiary);font-style:italic}
@media (max-width:600px){.series{padding-left:1.4rem}.series::before{left:.3rem}.series .entry::before,.rail-end::before{left:-1.4rem}}
.entry{background:var(--bg-white);border:1px solid var(--border-subtle);border-radius:8px;padding:1.3rem 1.5rem;margin:0 0 1.3rem}
.entry-head{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:baseline;border-bottom:1px solid var(--border-subtle);padding-bottom:.6rem;margin-bottom:.9rem}
.entry-type{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--flame-primary);font-weight:600}
.entry-type.resolution{color:var(--ok)}.entry-type.erratum{color:var(--warn)}
.entry-when{color:var(--text-tertiary);font-size:.88rem}
.entry-id{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}
.section h4{margin:1rem 0 .3rem;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}
.section p{margin:0 0 .8rem;white-space:pre-wrap;color:var(--text-primary)}
.section h5{margin:1rem 0 .25rem;font-size:.98rem;font-weight:600;color:var(--text-primary)}
.section p.label{margin:.35rem 0 .1rem;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);white-space:normal}
.section ul,.section ol{margin:0 0 .8rem 1.25rem;padding:0}
.section li{margin:.15rem 0;color:var(--text-primary)}
.section li+li{margin-top:.2rem}
/* stamps */
.stamps{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:1.1rem;padding-top:.9rem;border-top:1px dashed var(--border-strong);position:relative}
.stamp{font-family:var(--font-mono);font-size:.74rem;padding:.28rem .6rem;border-radius:6px;border:1px solid var(--border-strong);background:var(--bg-muted);color:var(--text-secondary)}
.stamp.ok{background:var(--ok-bg);border-color:#BBF7D0;color:var(--ok)}
.stamp.pending{background:var(--warn-bg);border-color:#FDE68A;color:var(--warn)}
.stamp.missing{background:var(--bad-bg);border-color:#FECACA;color:var(--bad)}
.stamp.evidence{color:var(--flame-primary);border-color:var(--flame-soft);background:var(--flame-bg);text-decoration:none}
.stamp.evidence:hover{background:#DBEAFE}
.date-note{margin:.5rem 0 0;color:var(--text-tertiary);font-size:.84rem}
.pop .dim{color:var(--text-tertiary);font-size:.85rem}
.details-btn{margin-left:auto;font:inherit;font-size:.85rem;color:var(--flame-primary);background:none;border:1px solid var(--flame-soft);border-radius:6px;padding:.3rem .7rem;cursor:pointer}
.details-btn:hover{background:var(--flame-bg)}
.pop{display:none;position:absolute;right:0;bottom:calc(100% + .4rem);width:min(34rem,90vw);background:var(--bg-white);border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 10px 30px rgba(15,23,42,.14);padding:.9rem 1rem;font-size:.9rem;z-index:5}
.stamps:has(.details-btn:hover) .pop,.stamps:has(.details-btn:focus-visible) .pop{display:block}
.pop p{margin:.2rem 0 .5rem}
/* dialog */
dialog{border:1px solid var(--border-strong);border-radius:10px;padding:0;max-width:min(46rem,94vw);width:100%;color:var(--text-primary);box-shadow:0 20px 60px rgba(15,23,42,.25)}
dialog::backdrop{background:rgba(15,23,42,.45)}
.dlg{padding:1.4rem 1.6rem 1.6rem}
.dlg h3{margin:0 0 .6rem;font-size:1.15rem}
.dlg .close{float:right;font:inherit;font-size:1.4rem;line-height:1;border:0;background:none;cursor:pointer;color:var(--text-tertiary)}
.dlg h4{margin:1.1rem 0 .3rem;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}
.files a{display:inline-block;margin:.15rem .5rem .15rem 0;font-family:var(--font-mono);font-size:.8rem}
pre{background:var(--bg-dark);color:var(--text-on-dark);padding:.8rem 1rem;border-radius:8px;overflow-x:auto;font-family:var(--font-mono);font-size:.78rem;line-height:1.5}
.btn{font:inherit;font-size:.9rem;background:var(--flame-primary);color:#fff;border:0;border-radius:6px;padding:.5rem .9rem;cursor:pointer}
.btn:hover{background:var(--flame-bright)}.btn[disabled]{opacity:.6}
.chk{margin-top:.8rem;border:1px solid var(--border-subtle);border-radius:8px;padding:.6rem .8rem;background:var(--bg-muted);font-size:.86rem}
.chk-row{display:grid;grid-template-columns:minmax(12rem,1fr) 2fr;gap:.2rem .8rem;padding:.25rem 0;border-bottom:1px solid var(--border-subtle)}
.chk-row:last-child{border-bottom:0}
.chk-label{color:var(--text-secondary);white-space:pre-wrap}
.chk-row.ok .chk-value{color:var(--ok);font-weight:600}.chk-row.bad .chk-value{color:var(--bad);font-weight:600}.chk-row.warn .chk-value{color:var(--warn)}
.chk-row.note{grid-template-columns:1fr;color:var(--text-tertiary);font-style:italic}
.banner{background:var(--bg-accent);border:1px solid var(--border-subtle);border-radius:8px;padding:.9rem 1.1rem;margin:1rem 0 1.4rem;font-size:.95rem}
/* footer */
.site-foot{margin-top:3rem;padding:1.6rem 0 2.2rem;border-top:1px solid var(--border-subtle);color:var(--text-tertiary);font-size:.84rem}
.site-foot .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
@media (max-width:600px){html{font-size:16px}.qcard{grid-template-columns:1fr}.qstatus{grid-column:1;grid-row:auto;justify-self:start}.chk-row{grid-template-columns:1fr}}

/* forecast hero (structured block, when Fireball sends one) */
.hero{margin:.2rem 0 1.1rem;padding:.9rem 1.1rem;background:var(--bg-muted);border-radius:8px;border:1px solid var(--border-subtle)}
.hero-row{display:grid;grid-template-columns:5.2rem 1fr auto;gap:.2rem .9rem;align-items:baseline;padding:.3rem 0;border-bottom:1px solid var(--border-subtle)}
.hero-row:last-child{border-bottom:0}
.hero-row .pct{font-family:var(--font-mono);font-size:1.25rem;font-weight:600;color:var(--text-primary);text-align:right}
.hero-row.top .pct{font-size:1.9rem;color:var(--flame-primary)}
.hero-row .lbl{font-size:1rem;color:var(--text-primary)}
.hero-row.top .lbl{font-size:1.1rem;font-weight:600}
.delta{font-family:var(--font-mono);font-size:.78rem;white-space:nowrap}
.delta.up{color:var(--ok)}.delta.down{color:var(--bad)}.delta.flat{color:var(--text-muted)}
.prev{grid-column:3;font-size:.74rem;color:var(--text-tertiary);white-space:nowrap}
.hero-outcome{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .8rem;padding:.2rem 0}
.hero-k{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}
.hero-v{font-size:1.6rem;font-weight:700;color:var(--ok)}
.hero-given{font-size:.88rem;color:var(--text-secondary);flex-basis:100%}
.qtop{grid-column:1;font-size:.98rem;color:var(--text-primary)}
.qtop b{font-family:var(--font-mono);color:var(--flame-primary)}
.card-outcome b{color:var(--ok);font-family:var(--font-mono)}
@media (max-width:600px){.hero-row{grid-template-columns:4rem 1fr;} .hero-row .delta,.hero-row .prev{grid-column:2}}

/* dates block */
.dates{display:flex;flex-wrap:wrap;gap:.3rem 2rem;margin:.2rem 0 .9rem;padding:0}
.dates div{display:flex;gap:.5rem;align-items:baseline}
.dates dt{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}
.dates dd{margin:0;font-size:.92rem;color:var(--text-primary)}
.dates .ok{color:var(--ok)}
/* info tooltips (CSS only) */
.info{position:relative;display:inline-block;color:var(--flame-primary);cursor:help;font-style:normal;text-transform:none;letter-spacing:0}
.tip{display:none;position:absolute;left:0;top:1.4em;z-index:6;width:min(24rem,80vw);background:var(--bg-white);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 8px 24px rgba(15,23,42,.14);padding:.6rem .8rem;font-size:.84rem;font-family:var(--font-body);font-weight:400;line-height:1.5;text-transform:none;letter-spacing:0;white-space:normal}
.info:hover .tip,.info:focus .tip,.ind:hover .tip,.ind:focus .tip{display:block}
.ind{position:relative}
/* integrity panel */
.panel{margin-top:1.1rem;padding:.9rem 1.1rem;border:1px solid var(--border-subtle);border-left:4px solid var(--ok);border-radius:8px;background:var(--bg-white)}
.panel-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.3rem 1rem;align-items:baseline}
.panel-title{font-family:var(--font-mono);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--ok)}
.panel-when{font-size:.88rem;color:var(--text-secondary)}
.panel-line{margin:.5rem 0 .2rem;font-size:.9rem;color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:baseline}
.ind{font-family:var(--font-mono);font-size:.76rem;white-space:nowrap}
.ind.ok{color:var(--ok)}.ind.pending{color:var(--warn)}.ind.missing{color:var(--bad)}
.selfcheck{margin:.3rem 0 .2rem;font-size:.82rem;color:var(--text-tertiary)}
.selfcheck.bad{color:var(--bad);font-weight:600}
.panel-actions{margin:.6rem 0 0;display:flex;gap:.6rem;flex-wrap:wrap}
.btn.ghost{background:none;color:var(--flame-primary);border:1px solid var(--flame-soft)}
.btn.ghost:hover{background:var(--flame-bg)}
a.btn{text-decoration:none;display:inline-block}
/* proof dialog */
.fp{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.fp .mono{font-size:.9rem}
.mini{font:inherit;font-size:.78rem;border:1px solid var(--border-strong);background:var(--bg-muted);border-radius:5px;padding:.1rem .5rem;cursor:pointer}
.fpfull{flex-basis:100%;font-size:.82rem}.fpfull summary{cursor:pointer;color:var(--flame-primary)}
.prows{border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}
.prow{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.4rem .8rem;border-bottom:1px solid var(--border-subtle);font-size:.9rem}
.prow:last-child{border-bottom:0}
details summary{cursor:pointer;color:var(--flame-primary);font-size:.9rem}

/* home hero + propositions */
.hero-home{margin:2.6rem 0 1.6rem}
.hero-title{margin:0 0 .3rem;font-size:2.4rem;font-weight:700;letter-spacing:-.025em;line-height:1.1}
.hero-tag{margin:0 0 .8rem;font-size:1.35rem;font-weight:500;color:var(--text-secondary);letter-spacing:-.01em}
.hero-lead{margin:0 0 1.1rem;font-size:1.05rem;color:var(--text-secondary);max-width:60ch}
.hero-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:0}
.props{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1.6rem 0 .6rem}
.prop{background:var(--bg-white);border:1px solid var(--border-subtle);border-top:3px solid var(--flame-primary);border-radius:8px;padding:.9rem 1rem}
.prop h3{margin:0 0 .35rem;font-size:.95rem;font-weight:600}
.prop p{margin:0;font-size:.9rem;color:var(--text-secondary)}
.props-more{margin:0 0 2rem;font-size:.9rem;color:var(--text-tertiary)}
.record-h{margin:0 0 .8rem;font-size:1.3rem;font-weight:700;letter-spacing:-.01em}
@media (max-width:600px){.props{grid-template-columns:1fr}.hero-title{font-size:2rem}}
.adv{margin:.9rem 0 .4rem}.adv summary{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.adv[open] summary{margin-bottom:.4rem}
.resolved-line{margin:-.2rem 0 1rem;font-size:1.25rem;font-weight:700;color:var(--ok);letter-spacing:-.01em}

/* landing: first application block */
.first-app{margin:1.4rem 0 .4rem}
.first-app-h{margin:0 0 .4rem;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}
/* index: views + table */
.note{margin:.2rem 0 1.4rem;font-size:.94rem;line-height:1.55;color:var(--text-secondary)}
.note summary{cursor:pointer;color:var(--text-tertiary);font-size:.9rem;list-style:none}
.note summary::before{content:"\25B8";display:inline-block;width:1em;color:var(--text-muted)}
.note[open] summary::before{content:"\25BE"}
.note summary::-webkit-details-marker{display:none}
.note p{margin:.6rem 0 0 1em}.note b{color:var(--text-secondary);font-weight:600}
.views{display:flex;gap:1.2rem;margin:0 0 .8rem;font-size:.92rem}
.views a{color:var(--text-secondary);padding-bottom:.25rem;border-bottom:2px solid transparent}
.views a[aria-current]{color:var(--flame-primary);border-bottom-color:var(--flame-primary)}
.views .cnt{font-family:var(--font-mono);font-size:.74rem;color:var(--text-muted);margin-left:.25rem}
.tablewrap{overflow-x:auto;background:var(--bg-white);border:1px solid var(--border-subtle);border-radius:8px}
table.record{width:100%;border-collapse:collapse;font-size:.94rem}
table.record th{text-align:left;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);padding:.7rem .9rem;border-bottom:1px solid var(--border-strong)}
table.record td{padding:.7rem .9rem;border-bottom:1px solid var(--border-subtle);vertical-align:top}
table.record tr:last-child td{border-bottom:0}
table.record tr:hover td{background:var(--flame-bg)}
.c-forecast a{color:var(--text-primary);font-weight:600}
.c-forecast .qid{display:block;font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);margin-top:.15rem}
.c-call b{font-family:var(--font-mono);color:var(--flame-primary)}
.call-outcome b{color:var(--ok);font-family:var(--font-mono)}
.c-when{font-family:var(--font-mono);font-size:.82rem;color:var(--text-secondary);white-space:nowrap}
.c-status{white-space:nowrap}
/* record: summary panel */
.summary{background:var(--bg-white);border:1px solid var(--border-subtle);border-left:4px solid var(--flame-primary);border-radius:8px;padding:1rem 1.3rem;margin:0 0 1.4rem}
.summary dl{margin:0}
.srow{display:grid;grid-template-columns:11rem 1fr;gap:.2rem 1rem;padding:.35rem 0;border-bottom:1px solid var(--border-subtle);align-items:baseline}
.srow:last-child{border-bottom:0}
.srow dt{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}
.srow dd{margin:0;font-size:1rem}
.srow .big{font-size:1.35rem;font-family:var(--font-mono);color:var(--flame-primary)}
.sub{display:block;font-family:var(--font-body);font-size:.72rem;letter-spacing:0;text-transform:none;color:var(--text-muted)}
.dates dt .sub{display:inline;margin-left:.3rem}
.checks{list-style:none;margin:.8rem 0 .2rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-size:.88rem;color:var(--ok)}
.summary-actions{margin:.6rem 0 0;display:flex;gap:.6rem;flex-wrap:wrap}
/* record: bars + collapsed sections */
.hero-row{grid-template-columns:5.2rem 1fr auto;grid-template-areas:"pct lbl delta" "pct bars bars"}
.hero-row .pct{grid-area:pct}.hero-row .lbl{grid-area:lbl}
.chg{grid-area:delta;display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;line-height:1.2}
.chg .prev{grid-column:auto}
.bars{grid-area:bars;position:relative;height:8px;margin:.25rem 0 .1rem;background:var(--bg-accent);border-radius:4px;overflow:hidden}
.bar{position:absolute;left:0;top:0;height:100%;background:var(--flame-primary);border-radius:4px}
.hero-row.top .bar{background:var(--flame-bright)}
.bar.ghost{background:var(--mountain-light);opacity:.55}
details.full{margin:.6rem 0 .2rem}
details.full summary{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--flame-primary);cursor:pointer}
details.full summary .dim{display:block;margin-top:.2rem;font-family:var(--font-body);font-size:.8rem;letter-spacing:0;text-transform:none;color:var(--text-tertiary)}
details.full[open] summary{margin-bottom:.4rem}
@media (max-width:600px){.srow{grid-template-columns:1fr}.hero-row{grid-template-columns:4rem 1fr;grid-template-areas:"pct lbl" "pct delta" "pct bars"}}

/* nav menu: opens on hover (pointer) and on click/tap/keyboard (native details) */
.site-nav{display:flex;align-items:baseline}
.menu{position:relative;display:inline-block;margin-left:1.1rem}
.menu summary{list-style:none;cursor:pointer;color:var(--text-on-dark);opacity:.85;font-size:.9rem}
.menu summary::-webkit-details-marker{display:none}
.menu summary::after{content:" \25BE";font-size:.7em;opacity:.7}
.menu:hover summary,.menu[open] summary{opacity:1}
.menu-list{display:none;position:absolute;left:0;top:1.6rem;min-width:14rem;background:var(--bg-dark-raised);border:1px solid var(--border-dark-strong);border-radius:8px;padding:.35rem;z-index:20;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.menu:hover .menu-list,.menu[open] .menu-list{display:block}
.menu-list a{display:block;margin:0;padding:.45rem .7rem;border-radius:6px;color:var(--text-on-dark);font-size:.9rem;white-space:nowrap}
.menu-list a:hover{background:rgba(255,255,255,.08);text-decoration:none}

/* landing: application cards */
.app-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:.9rem;margin:.6rem 0 1.5rem}
.app-card{display:block;background:var(--bg-white);border:1px solid var(--border-subtle);border-left:4px solid var(--flame-primary);border-radius:8px;padding:1rem 1.2rem;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.app-card:hover{border-color:var(--flame-soft);box-shadow:0 4px 18px rgba(29,78,216,.10);text-decoration:none}
.app-kicker{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}
.app-card h3{margin:.2rem 0 .3rem;font-size:1.15rem;font-weight:700}
.app-card p{margin:0 0 .4rem;color:var(--text-secondary);font-size:.94rem}
.app-card .app-intro{color:var(--text-tertiary);font-size:.88rem}
.app-stats{font-size:.86rem;color:var(--text-tertiary)}.app-stats b{font-family:var(--font-mono);color:var(--text-primary)}
.app-go{display:inline-block;margin-top:.3rem;color:var(--flame-primary);font-weight:600;font-size:.92rem}
