:root{--paper: #f1ebe0;--ink: #1f1d1a;--ink-soft: #6a655a;--ink-faint: #aaa494;--rule: #cdc5b4;--accent: #6b6452;--font-serif: "EB Garamond", Georgia, "Times New Roman", serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--column-max: 35rem;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--paper: #1f1d1a;--ink: #f1ebe0;--ink-soft: #a6a092;--ink-faint: #6a655a;--rule: #4a4744;--accent: #c8bda3}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden}body{background:var(--paper);color:var(--ink);font-family:var(--font-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6,p{margin:0;font-weight:400}img,svg,canvas{display:block;max-width:100%}#app{position:relative;height:100vh;width:100vw;display:flex;flex-direction:column}.mono{font-family:var(--font-mono)}.stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 36px;gap:44px}.telepathy{width:min(560px,70vw);aspect-ratio:900 / 160;position:relative;cursor:crosshair}.telepathy canvas{width:100%;height:100%;display:block}.anchor-hit{position:absolute;top:50%;width:56px;height:56px;border-radius:50%;cursor:pointer;z-index:2;transform:translate(-50%,-50%)}.anchor-hit.left{left:10%}.anchor-hit.right{left:90%}.info-card{position:absolute;top:50%;z-index:3;width:280px;padding:14px 16px;background:var(--paper);border:.5px solid var(--rule);box-shadow:0 1px #00000005,0 18px 40px -28px #0000002e;color:var(--ink);font-family:var(--font-mono);opacity:0;pointer-events:none;transition:opacity .3s ease,transform .35s cubic-bezier(.2,.7,.2,1)}.info-card.on{opacity:1;pointer-events:auto}.info-card.left{left:10%;transform:translate(60px,-50%) translate(-8px)}.info-card.left.on{transform:translate(60px,-50%)}.info-card.right{right:10%;transform:translate(-60px,-50%) translate(8px)}.info-card.right.on{transform:translate(-60px,-50%)}@media(max-width:720px){.info-card.left,.info-card.right{top:calc(100% + 18px);left:50%;right:auto;width:min(280px,calc(100vw - 32px));transform:translate(-50%,-8px)}.info-card.left.on,.info-card.right.on{transform:translate(-50%)}}.ic-head{display:flex;align-items:center;gap:10px;padding-bottom:10px;margin-bottom:10px;border-bottom:.5px dashed var(--rule)}.ic-bullet{display:inline-block;width:8px;height:8px;border-radius:50%}.ic-bullet.filled{background:var(--ink)}.ic-bullet.open{background:transparent;border:1px solid var(--ink)}.ic-initial{font-family:var(--font-serif);font-style:italic;font-size:16px;color:var(--ink-soft);margin-left:auto}.ic-name{font-family:var(--font-serif);font-size:17px;color:var(--ink);letter-spacing:.005em;margin-bottom:4px}.ic-role{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px}.ic-line{font-family:var(--font-serif);font-size:13.5px;line-height:1.5;color:var(--ink-soft);margin-bottom:12px;text-wrap:pretty}.ic-mail{display:inline-block;font-size:10px;color:var(--ink);text-decoration:none;border-bottom:.5px solid var(--rule);padding-bottom:1px;white-space:nowrap;transition:color .2s,border-color .2s}.ic-mail:hover{color:var(--accent);border-color:var(--accent)}.ident{text-align:center}.ident .word{font-family:var(--font-serif);font-weight:400;font-size:34px;letter-spacing:.005em;line-height:1.15;white-space:nowrap}.copy{width:min(560px,88vw);display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}.blurb{font-size:15.5px;line-height:1.65;color:var(--ink-soft);text-wrap:pretty;max-width:48ch;margin:0}.contact{display:flex;gap:22px;justify-content:center;align-items:center;font-family:var(--font-mono);font-size:11px;color:var(--ink)}.contact a{color:var(--ink);text-decoration:none;border-bottom:.5px solid var(--rule);padding-bottom:1px;transition:color .2s,border-color .2s}.contact a:hover{color:var(--accent);border-color:var(--accent)}.contact .dot{color:var(--ink-faint)}.stamp{position:fixed;bottom:22px;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:9.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-faint);z-index:5;cursor:pointer;white-space:nowrap;transition:color .35s ease,letter-spacing .35s ease}.stamp.tuned{color:var(--accent);letter-spacing:.42em}@media(max-height:700px){.ident .word{font-size:28px}.blurb{font-size:14px}.stage{gap:32px}}@media(max-width:720px){.contact{flex-direction:column;gap:8px}}
