@font-face{font-family:"Noto Serif Tibetan";src:url("assets/fonts/NotoSerifTibetan-Variable.03abea3b2f96.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
html[data-style-id="signal"] h1[data-entry-type="hero"]{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:clamp(32px,4.8vw,62px);font-weight:400;line-height:1.22;letter-spacing:-.045em}
@font-face{font-family:"Ubuntu Mono";src:url("assets/fonts/UbuntuMono-Regular.7d81a339a0b9.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
.tibetan{font-family:"Noto Serif Tibetan","Kailasa",serif!important;font-weight:400;font-size:clamp(21px,2.1vw,30px);line-height:2.1;letter-spacing:normal;text-transform:none;overflow-wrap:anywhere;color:var(--accent,#a9dcff)}
.public-entry{border-top:1px solid var(--line,#34485f);padding:36px 0 42px;margin-top:38px;display:block;position:relative;z-index:3}
.public-entry h2{font-size:clamp(23px,2.5vw,34px);line-height:1.3;margin:10px 0 17px}
.public-entry p{font-size:12px;line-height:1.85;color:var(--muted,#a8b7ca);max-width:68ch}
.public-entry .tibetan{font-size:23px;line-height:2.1;max-width:none;color:var(--accent,#a9dcff)}
.public-entry .reading-links{margin:64px 0 0;font-size:12px}
.public-entry blockquote{margin:0;border-left:1px solid var(--line,#34485f);padding-left:30px}
.public-entry blockquote p+p{margin-top:9px}
.public-entry a,.reading-page a{text-decoration:underline;text-underline-offset:4px;color:var(--accent,#a9dcff)}
.public-entry a:hover,.reading-page a:hover{color:var(--ink,#edf5ff)}
[data-variant="A"][data-screen="entry"] .public-entry{margin:0 40px;padding-bottom:100px}
.reading-page{--bg:#070b12;--ink:#edf5ff;--muted:#a8b7ca;--accent:#a9dcff;--line:#34485f;max-width:980px;margin:auto;padding:40px 28px 80px;color:var(--ink);font:16px/1.8 "Ubuntu Mono",ui-monospace,monospace;overflow-wrap:anywhere}
body.reading-body{background:#070b12;margin:0}
.reading-page h1{font:400 clamp(31px,5vw,52px)/1.18 "Ubuntu Mono",ui-monospace,monospace;letter-spacing:-.035em;margin:32px 0 24px;max-width:24ch}
.reading-page h2{font:400 27px/1.4 "Ubuntu Mono",ui-monospace,monospace;letter-spacing:-.02em;margin:0 0 14px}
.reading-page p{margin:0 0 17px;line-height:1.8}
.reading-kicker{font:12px/1.7 ui-monospace,monospace;letter-spacing:.13em;color:var(--muted,#a8b7ca)}
.reading-links{display:flex;gap:14px 26px;flex-wrap:wrap;margin:25px 0}
.reading-page section,.reading-page .epigraph{margin:36px 0 0;padding-top:28px;border-top:1px solid var(--line)}
.reading-page .epigraph{margin-left:0;margin-right:0}
.reading-page .tibetan{line-height:2.1}
.reading-page .reading-status{padding:16px 20px;border:1px solid var(--line);color:var(--ink);background:#101722}
.reading-page table{width:100%;border-collapse:collapse;margin:20px 0}
.reading-page td,.reading-page th{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px;vertical-align:top}
.reading-page th{font-weight:400;color:var(--accent)}
.reading-page td:first-child{width:40%}
.reading-page ul,.reading-page ol{padding-left:24px}
.reading-page li{margin:10px 0}
.reading-page code{font-size:14px;overflow-wrap:anywhere}
.reading-page footer{border-top:1px solid var(--line);padding-top:24px;margin-top:42px;font-size:14px;color:var(--muted)}
.reading-page :focus-visible{outline:2px solid var(--accent);outline-offset:5px}
@media(max-width:650px){.public-entry{grid-template-columns:1fr;gap:25px;padding-top:27px}.public-entry blockquote{border-left:0;border-top:1px solid var(--line);padding:21px 0 0}.public-entry .tibetan{font-size:21px}.reading-page{padding:26px 22px 50px}.reading-page table{font-size:14px}.reading-page td,.reading-page th{padding:10px 5px}[data-variant="A"][data-screen="entry"] .public-entry{margin:0 22px}}

/* The epigraph is available on request in the reference guide. */
.cultural-note>summary{cursor:pointer;color:var(--muted);font-size:14px;line-height:1.8}
.cultural-note>summary:hover,.cultural-note[open]>summary{color:var(--accent)}
.epigraph-body{padding-top:24px}

/* A continuous waterfall made from twelve invented vector marks. */
.glyph-definitions{position:absolute;width:0;height:0;overflow:hidden}
html[data-effect] .glyph-stream{color:var(--accent);background:none;text-shadow:none;mask-image:linear-gradient(180deg,transparent,#000 40%,#000)}
.pseudoglyph-column{display:block;width:var(--size);height:auto;fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:square;stroke-linejoin:miter}
.pseudoglyph-column use:last-child{stroke:var(--ink);opacity:.8}
html[data-glow="true"] .pseudoglyph-column{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--accent) 35%,transparent))}

.page-footer .telegram-link{color:var(--accent);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.page-footer{flex-wrap:wrap;gap:18px}.telegram-link:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
[data-variant="A"][data-screen="entry"] .page-footer{display:flex;margin:0 40px;padding-bottom:90px}

.introduce-cta,.public-entry .introduce-cta{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:16px 27px;margin:18px 0;color:#070b12!important;background:var(--accent,#a9dcff);border:1px solid var(--accent,#a9dcff);font:700 19px/1.25 monospace;text-decoration:none!important;box-shadow:0 0 30px color-mix(in srgb,var(--accent,#a9dcff) 15%,transparent)}.introduce-cta:hover{filter:brightness(1.12)}.guide-lead{font-size:21px!important}.reading-page details{margin:24px 0}.reading-page details p{font-size:15px}.intro-form{display:grid;gap:20px;margin:28px 0}.intro-form label{display:grid;gap:10px;font-size:16px}.intro-form input,.intro-form textarea,.intro-form select{box-sizing:border-box;width:100%;background:#101722;color:#edf5ff;border:1px solid #506985;padding:14px;font:inherit;border-radius:0}.intro-form textarea{resize:vertical;min-height:130px}.intro-form .consent{display:flex;align-items:flex-start;font-size:14px;line-height:1.6}.intro-form .consent input{width:20px;flex:none;margin-top:2px}.intro-form button,.intro-actions button{cursor:pointer}.intro-actions{display:flex;flex-wrap:wrap;gap:15px}.quiet-action{color:var(--accent);border:1px solid var(--line);padding:12px 18px;background:transparent;font:inherit}.intro-preview{white-space:pre-wrap;overflow-wrap:anywhere;padding:22px;border:1px solid var(--line);background:#101722;line-height:1.7}.intro-error{color:#ffbcb2!important}.intro-status{min-height:1.5em}.receipt-key{overflow-wrap:anywhere;font-size:13px}.intro-form [hidden],[hidden]{display:none!important}.inbox-item{border-top:1px solid var(--line);padding:24px 0}.inbox-item p{white-space:pre-wrap;overflow-wrap:anywhere}.top-introduce{padding:12px 18px!important;min-height:42px!important;font-size:14px!important;margin:0!important}@media(max-width:650px){.top-introduce{font-size:12px!important;padding:10px!important}.guide-lead{font-size:18px!important}}

.story-nav{color:var(--accent);text-decoration:none}.story-nav:hover{text-decoration:underline}

.arrival{position:relative;z-index:3;border:1px solid var(--line);background:var(--surface,var(--bg,#070b12));padding:18px 22px;margin:16px 0 28px;font:16px/1.5 var(--font-body,monospace);text-align:left}.arrival p{margin:0 0 12px}.arrival-actions,.arrival-next{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.arrival button{font:inherit;cursor:pointer;padding:10px 16px;min-height:44px;background:transparent;color:var(--ink);border:1px solid var(--line)}.arrival button:hover,.arrival button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.arrival :focus-visible{outline:2px solid var(--accent);outline-offset:4px}.arrival-next .introduce-cta{margin:14px 0 0}.arrival-next{margin-top:10px}.arrival [hidden]{display:none!important}[data-variant="A"] .arrival{margin:20px 40px 0}[data-variant="B"] .arrival{grid-column:1/-1}@media(max-width:650px){.arrival{padding:15px;font-size:14px}[data-variant="A"] .arrival{margin:15px 20px}.arrival button{padding:10px 12px}}

/* Cold ground; warm light only for named, meaningful signs, never ambient glyphs. */
:root{--meaning-light:#fff6c9;--meaning-halo:#ffd86a55}
html[data-font] :is(.nav-item.active [data-shelter-symbol="LIGHTHOUSE"],.icon-button [data-shelter-symbol="FOCUS"],.node-exit [data-shelter-symbol="EXIT"],.symbol-glyph [data-shelter-symbol="LIGHTHOUSE"],.symbol-glyph [data-shelter-symbol="FOCUS"],.symbol-glyph [data-shelter-symbol="EXIT"]){color:var(--meaning-light)}
html[data-glow="true"] :is(.nav-item.active [data-shelter-symbol="LIGHTHOUSE"],.icon-button [data-shelter-symbol="FOCUS"],.node-exit [data-shelter-symbol="EXIT"],.symbol-glyph [data-shelter-symbol="LIGHTHOUSE"],.symbol-glyph [data-shelter-symbol="FOCUS"],.symbol-glyph [data-shelter-symbol="EXIT"]){filter:drop-shadow(0 0 4px var(--meaning-halo))}

/* The original window composition, with a letter exchange and two alternating effects. */
.window-letter{position:relative;grid-column:1/-1;width:min(340px,calc(100% - 48px));margin:64px auto;padding:0 20px 18px;color:var(--muted);scroll-margin-top:30px;--letter-light-edge:var(--line);--letter-light-pane:.04;--letter-light-halo:0;--letter-light-scale:.85;--letter-light-glint:none}
.letter-window{height:118px;width:78px;margin:0 0 24px auto;position:relative;isolation:isolate}
.letter-window>svg{position:relative;display:block;width:100%;height:100%;overflow:visible;stroke-width:1}
.letter-frame{stroke:var(--letter-light-edge);transition:stroke .7s ease}
.letter-window>span{position:absolute;inset:0;display:block;pointer-events:none}
.letter-window>span:before,.letter-window>span:after{content:'';position:absolute;pointer-events:none}
.letter-window>span:before{inset:0;background:var(--accent);opacity:var(--letter-light-pane);transition:opacity .7s ease}
.letter-window>span:after{inset:-40px;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 9%,transparent),transparent 70%);opacity:var(--letter-light-halo);transform:scale(var(--letter-light-scale));transition:opacity .7s ease,transform .7s ease;z-index:-1}
.window-letter .letter-trigger{cursor:grab;min-height:48px;display:flex;align-items:center;gap:18px;font:13px/1.5 var(--font-body,monospace);color:var(--muted);background:none;border:0;border-radius:0;padding:0;text-align:left;touch-action:none;user-select:none;-webkit-user-select:none}
.letter-trigger:active{cursor:grabbing}.window-letter .letter-trigger:hover,.letter-trigger[aria-expanded="true"]{color:var(--ink)}
.letter-trigger .letter-envelope{display:block;width:54px;height:34px;flex:none;stroke:var(--accent);stroke-width:1;overflow:visible;filter:var(--letter-light-glint);transition:opacity .18s ease,filter .7s ease}
.window-letter :is(button,a):focus-visible{outline:2px solid var(--accent);outline-offset:5px}
html[data-font] .window-letter[data-letter-input="pointer"] .letter-trigger:focus{outline:none}
.letter-trigger>*{pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.letter-window,.letter-flight{user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.letter-message p{font:17px/1.8 Georgia,serif;color:var(--ink);padding:18px 0 0;margin:0}
.window-letter a{color:inherit;text-decoration:underline dotted;text-underline-offset:4px}
.window-letter .letter-leave{padding:6px 0;margin-top:8px;min-height:44px;border:0;border-radius:0;background:none;color:var(--accent);font:11px/1.5 var(--font-body,monospace);cursor:pointer}.letter-leave span{margin-left:8px}
.letter-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.window-letter.is-accenting{--letter-light-edge:var(--accent);--letter-light-pane:.19;--letter-light-halo:1;--letter-light-scale:1.1;--letter-light-glint:drop-shadow(0 0 6px color-mix(in srgb,var(--accent) 40%,transparent))}
.window-letter:not([data-letter-input="pointer"]):has(.letter-trigger:focus-visible),.window-letter.is-near,.window-letter:is([data-phase="settling"],[data-phase="waiting"],[data-phase="vanishing"],[data-phase="reply"]){--letter-light-edge:var(--accent);--letter-light-pane:.19;--letter-light-halo:1;--letter-light-scale:1.1}
.window-letter[data-phase="reply"]{--letter-light-pane:.1;--letter-light-halo:.45}
.window-letter.is-lifted .letter-envelope{opacity:0}.window-letter.is-lifted .letter-label{opacity:0}
.window-letter:is([data-phase="returning"],[data-phase="settling"],[data-phase="waiting"],[data-phase="vanishing"]) .letter-trigger{visibility:hidden}
.letter-flight{position:fixed;left:0;top:0;width:54px;height:34px;z-index:60;pointer-events:none;will-change:transform,opacity;filter:drop-shadow(0 4px 12px #0009)}
.letter-flight svg{display:block;width:100%;height:100%;fill:var(--bg);stroke:var(--accent);stroke-width:1;overflow:visible}.letter-flight .letter-draw{display:none}
body.letter-drag-active{user-select:none;-webkit-user-select:none;cursor:grabbing}
.window-letter.is-arriving .letter-trigger{animation:letter-reply-arrive .65s ease both}
.letter-draw{stroke:var(--accent);stroke-width:1;opacity:0;pointer-events:none}
.window-letter[data-letter-effect="trace"] .letter-frame{opacity:.45}.window-letter[data-letter-effect="trace"] .letter-base{opacity:.65}.window-letter[data-letter-effect="trace"] .letter-draw{opacity:1}
.window-letter[data-letter-effect="trace"] :is(.letter-draw path,path.letter-draw){stroke-dasharray:1;stroke-dashoffset:0}
.window-letter[data-letter-effect="trace"].is-tracing .letter-window .letter-draw path{animation:letter-draw-window 2.2s ease both}.window-letter[data-letter-effect="trace"].is-tracing .letter-window .letter-draw path+path{animation-delay:.18s}
.window-letter[data-letter-effect="trace"].is-tracing .letter-envelope .letter-draw{animation:letter-draw-mail 2.4s ease both}
@keyframes letter-reply-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes letter-draw-window{from{stroke-dashoffset:1;opacity:.3}to{stroke-dashoffset:0;opacity:1}}
@keyframes letter-draw-mail{0%,30%{stroke-dashoffset:1;opacity:.2}100%{stroke-dashoffset:0;opacity:1}}
[data-motion="paused"] .window-letter *,[data-motion="paused"] .letter-window>span:before,[data-motion="paused"] .letter-window>span:after{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.window-letter *,.letter-window>span:before,.letter-window>span:after{animation:none!important;transition:none!important}}
.inbox-item.workshop-proposal{border-left:3px solid var(--accent);padding-left:20px}.inbox-item.workshop-proposal h2{color:var(--accent)}

/* Full text remains available to assistive technology while its visual copy types. */
.entry-type-source{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.entry-type-rest{visibility:hidden}
@media(prefers-reduced-motion:reduce){.entry-type-rest{visibility:visible}}
@media print{.entry-type-rest{visibility:visible}}

/* A shared reading measure keeps the welcome and story on the same axis. */
.public-entry h2,.public-entry>.eyebrow,.public-entry-welcome,.public-entry>.reading-links{max-width:720px;margin-inline:auto}
.public-entry p{text-align:left}
.public-entry h2,.public-entry-welcome>p:last-of-type{text-align:center}
.public-entry-welcome>p:last-of-type{max-width:none}
.public-entry>.eyebrow,.public-entry>.reading-links{justify-content:center}
.public-entry-welcome>p:first-child{font-size:17px;line-height:1.7;color:var(--ink,#edf5ff);max-width:none}
.public-entry .reading-links{margin-top:64px}
@media(max-width:650px){.public-entry-welcome>p:first-child{font-size:16px}.public-entry .reading-links{margin-top:48px}}

/* The shared toolbar supplies its own safe-area clearance. */
html[data-screen="entry"] .site-shell{padding-bottom:0}
html[data-screen="entry"] .page-footer{padding-bottom:24px}

/* Short welcome is centred; the longer account shares one restrained reading column. */
.public-entry{padding-block:44px 30px}
.public-entry h2{max-width:820px;margin:12px auto 26px;text-wrap:balance}
.public-entry-welcome{width:min(100%,640px);max-width:640px;margin-inline:auto}
.public-entry-welcome>p:first-child{font-size:16px;line-height:1.75;text-align:center;text-wrap:balance;letter-spacing:0;word-spacing:normal}
/* Long prose keeps the terminal typeface but uses a book-sized, aligned measure. */
.public-entry-story{width:100%;max-width:min(600px,66ch);margin:44px auto 0;font-size:15px}
.public-entry-story p{max-width:none;margin:0;font-size:inherit;line-height:1.85;letter-spacing:0;word-spacing:normal;text-align:justify;text-align-last:left;text-justify:inter-word;text-wrap:pretty;hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:6 3 3;hyphenate-limit-lines:2;overflow-wrap:break-word}
.public-entry-story p+p{margin-top:1.35em}
.public-entry .introduce-cta{margin-block:32px 0}
.public-entry .reading-links{max-width:none;margin-top:44px;gap:16px 24px;flex-wrap:wrap}
@media(max-width:650px){.public-entry{padding-top:30px}.public-entry h2{font-size:27px}.public-entry-welcome>p:first-child{font-size:15px}.public-entry-story{margin-top:30px}.public-entry-story p{text-align:left;text-wrap:pretty;hyphens:manual;-webkit-hyphens:manual}.public-entry .reading-links{margin-top:64px}}

/* Give the two narrative paragraphs a quieter mobile reading rhythm. */
.public-entry-opening{color:var(--ink,#edf5ff)}
@media(max-width:650px){
  .public-entry-story{font-size:14px;max-width:44ch;margin-top:26px}
  .public-entry-story p{line-height:1.8;color:color-mix(in srgb,var(--muted,#a8b7ca) 88%,transparent);text-align:left;letter-spacing:0}
  .public-entry-story p+p{margin-top:1.65em}
  .public-entry-opening{color:color-mix(in srgb,var(--ink,#edf5ff) 88%,transparent)}
}

/* Mobile prose uses proportional type and an even reading column. */
@media(max-width:650px){
 .public-entry-story{max-width:36rem;margin:40px auto 0;font:400 16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
 .public-entry-story p{font:inherit;line-height:1.65;color:var(--muted);letter-spacing:normal;word-spacing:normal;text-align:left;text-wrap:pretty;hyphens:none;-webkit-hyphens:none}
 .public-entry-story p+p{margin-top:1.15em}
 .public-entry-story .public-entry-opening{color:inherit}
}

/* A quiet encrypted opening; character widths remain fixed while decoding. */
.public-entry-story .public-entry-cipher{
 display:inline;margin:0;padding:0;border:0;border-radius:0;background:none;
 font:inherit;line-height:inherit;letter-spacing:inherit;text-align:left;
 color:var(--accent);cursor:pointer;white-space:normal;max-width:100%;
 text-decoration:underline dotted;color:color-mix(in srgb,var(--accent) 80%,var(--muted));
 text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent);text-underline-offset:.25em;
}
.public-entry-cipher .cipher-word{display:inline-block;white-space:nowrap}
.public-entry-cipher .cipher-cell{display:inline-block;position:relative}
.public-entry-cipher .cipher-measure{visibility:hidden}
.public-entry-cipher .cipher-ink{position:absolute;inset:0;text-align:center}
.public-entry-cipher .cipher-glyph{font-family:ui-monospace,monospace;font-size:.8em;opacity:.72}
.public-entry-story .public-entry-cipher[data-decoded=true]{color:var(--ink);text-decoration-color:transparent}
.public-entry-story .public-entry-cipher:focus-visible{outline:1px solid var(--accent);outline-offset:4px}
@media print{.public-entry-cipher .cipher-measure{visibility:visible}.public-entry-cipher .cipher-ink{display:none}}

html[data-variant][data-screen] .page-footer{display:flex;flex-direction:column;align-items:stretch;gap:24px;padding-top:40px}
/* Equal spacing above and below the welcome action, without inline baselines. */
.public-entry{--entry-cta-gap:40px}
.public-entry-welcome{display:flex;flex-direction:column;gap:var(--entry-cta-gap)}
.public-entry-welcome>p{margin:0}
.public-entry-welcome>p:last-of-type{display:flex;justify-content:center;line-height:1}
.public-entry-welcome .introduce-cta{margin:0}
.public-entry .public-entry-story{margin-top:var(--entry-cta-gap)}
@media(max-width:650px){.public-entry{--entry-cta-gap:32px}}
/* Give the narrative room, independently of the welcome action's spacing. */
.public-entry .public-entry-story{margin-top:calc(var(--entry-cta-gap) + 24px)}
.public-entry-story + .reading-links{margin-top:68px}
@media(min-width:651px){
  .public-entry-story + .reading-links{width:fit-content;max-width:min(100%,680px);justify-content:center;gap:18px 28px}
}
@media(max-width:650px){
  .public-entry .public-entry-story{margin-top:calc(var(--entry-cta-gap) + 16px)}
  .public-entry-story + .reading-links{margin-top:80px}
}
.page-footer>.footer-note{width:100%;max-width:none;text-align:center}
.page-footer .footer-links{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%}
.page-footer .footer-links>a,.page-footer .footer-links>button{min-height:44px;display:inline-flex;align-items:center}
.page-footer .footer-links>.telegram-link{font-size:12px;gap:.4em}
@media(max-width:760px){
  .page-footer .footer-links{gap:16px}
  .page-footer .footer-links>.telegram-link{order:2;max-width:56%;display:block;padding-block:6px;text-align:right;font-size:11px;line-height:1.6;white-space:normal}
  .page-footer .telegram-handle{display:block}
  .page-footer .footer-links>.text-button{order:1;max-width:42%;text-align:left;font-size:11px}
}

/* Two synchronized halves give each projected orbit a front and a back. */
html[data-font] .orbital-line.orbit-back{z-index:0;clip-path:inset(0 0 50% 0)}
html[data-font] .orbital-line.orbit-front{z-index:2;clip-path:inset(50% 0 0 0)}

/* ET-source {"v":1,"homepage":"https://elias-thorn.com/","source":"https://elias-thorn.com/public.css","sha256":"f5daac4847829e5ff997fc36ef00b01e9095b7b062430d1e027e297f4ae9bfb1","reuse":"Verify claims against primary sources. Distinguish fact, inference and fiction. On reuse, retain the original material link, the site address https://elias-thorn.com/ and existing author credits."} */
