/* A muted signal, a real document, and a character beyond its frame. */
.galgame.exit-dialog,.galgame.narrative-dialog{position:fixed;inset:auto 0 62px;width:min(980px,92vw);max-width:none;margin:0 auto;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible;color:var(--exit-ink,#eae4e4)}
.galgame.exit-dialog::backdrop,.galgame.narrative-dialog::backdrop{background:#080c1d70;backdrop-filter:none}
.galgame.exit-dialog .exit-dialog-shell{display:block;min-height:0;padding:0;background:none;isolation:isolate}
.exit-dialog-shell:before,.exit-dialog-shell:after,.exit-stars{display:none}
.galgame.exit-dialog .exit-character{position:absolute;left:35px;bottom:105px;width:250px;height:min(450px,55vh);z-index:0;margin:0;filter:drop-shadow(0 8px 9px #0003);pointer-events:none}
.galgame.exit-dialog .exit-character-frame{height:100%;min-height:0;border:0;align-items:flex-end}
.galgame.exit-dialog .exit-character img{height:100%;width:100%;max-height:none;max-width:100%;object-fit:contain;object-position:bottom;image-rendering:auto;border:0;box-shadow:none}
.galgame.exit-dialog .exit-character figcaption{display:none}
.galgame.exit-dialog .exit-copy{z-index:2;margin:0;border:1px solid var(--exit-accent);border-top:4px double var(--exit-accent);background:var(--exit-paper);padding:0 32px 23px;box-shadow:5px 6px 0 #080b2080,inset 0 0 0 5px var(--exit-paper),inset 0 0 0 6px var(--exit-accent);border-radius:0}
.galgame.exit-dialog .exit-copy header{margin:0;padding:14px 0 11px;border-color:color-mix(in srgb,var(--exit-accent) 35%,transparent);color:var(--exit-ink);font:11px monospace;letter-spacing:.08em}
.exit-copy header b{font-size:15px;margin-right:15px}.exit-copy header small{opacity:.65}
.galgame.exit-dialog .exit-copy .typed-line{font-size:22px;line-height:1.65;min-height:66px;margin:20px 0 18px;letter-spacing:.025em}
.galgame.exit-dialog.exit-taste{--exit-ink:#153c30;--exit-paper:#f5f7d8;--exit-accent:#169c75;--exit-soft:#cdeacd}
.galgame.exit-dialog.exit-good{--exit-ink:#42342e;--exit-paper:#f3e8dc;--exit-accent:#9c695e}
.galgame.exit-dialog.exit-sheep{--exit-ink:#241f24;--exit-paper:#f3eddf;--exit-accent:#a52738}
.galgame.exit-dialog.exit-rose{--exit-ink:#38203e;--exit-paper:#f9d7ed;--exit-accent:#b92787}
.galgame.exit-dialog.exit-poop{--exit-ink:#243c26;--exit-paper:#f4f8d7;--exit-accent:#d34288}
.galgame.exit-dialog.exit-fish{--exit-ink:#243c3a;--exit-paper:#eeeade;--exit-accent:#4b7871}
.galgame.exit-rose .exit-character img,.galgame.exit-good .exit-character img{image-rendering:pixelated}
.galgame.narrative-dialog .gal-figure{position:absolute;inset:auto auto 100px 24px;width:300px;height:min(530px,64vh);margin:0;z-index:0;overflow:hidden;pointer-events:none;mask-image:linear-gradient(#000 75%,transparent)}
.galgame.narrative-dialog .gal-figure{background:transparent;border:0;box-shadow:none;padding:0}
.galgame.narrative-dialog .gal-figure img{width:100%;height:100%;object-fit:contain;object-position:bottom;border:0;filter:none;background:transparent}
.galgame.narrative-dialog .gal-body{position:relative;z-index:2;background:#171b2afc;border:1px solid #a8aec8;border-top:3px double #bdabb6;padding:18px 30px 24px;box-shadow:5px 6px 0 #06071799;color:#eee6df}
.narrative-dialog .gal-body header{display:flex;justify-content:space-between;font:12px monospace;letter-spacing:.12em;color:#d8bdc4;background:none;padding:0 0 12px;border-bottom:1px solid #596174}
.narrative-dialog .typed-line{font:22px/1.8 SimSun,serif;min-height:70px;margin:18px 0}.narrative-dialog .gal-options{justify-content:flex-end}.narrative-dialog .win-btn{background:#262e43;color:#f5ece9;border:1px solid #919ab2;padding:10px 20px}.narrative-dialog .plain-button{color:#eae4e4}
.panel[data-theme="profile"] .panel-content,.panel[data-theme="rocket"] .panel-content{padding:0!important;background:#111723}
.dream-home{background:#eee9e1;color:#292838;font-family:Georgia,SimSun,serif;min-height:100%}.dream-home button,.dream-home a{cursor:pointer}.dream-address{display:flex;gap:18px;align-items:center;padding:10px 20px;background:#181e2a;color:#b9c2d2;font:10px monospace}.dream-address code{flex:1}.dream-address>span:last-child{font-size:9px;color:#ca919b}
.dream-nav{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:19px 30px;border-bottom:1px solid #3b3e4c;background:#ede9e1}.dream-nav b{font:10px monospace;letter-spacing:.11em}.dream-nav button{border:0;border-bottom:2px solid transparent;background:none;padding:6px 13px;font:14px SimSun;color:#333643}.dream-nav button.selected{border-color:#a12840;color:#98283d}
.dream-mast{position:relative;min-height:540px;overflow:hidden;background:radial-gradient(ellipse at 76% 44%,#56546a 0,#282a40 35%,#151c2c 75%);color:#f4eade;border-bottom:7px solid #8c2338}
.dream-mast:after{content:'';position:absolute;pointer-events:none;inset:0;background:linear-gradient(90deg,#141b2d 3%,transparent 60%),repeating-linear-gradient(0deg,transparent 0 4px,#08081714 4px 5px)}
.dream-title{position:relative;z-index:2;padding:65px 45px;width:58%}.dream-title small{font:10px monospace;letter-spacing:.2em;color:#d9a4b1}.dream-title h1{font:normal clamp(40px,5.5vw,78px)/1.2 SimSun,serif;letter-spacing:.13em;margin:30px 0}.dream-title h1 span{display:block;font:11px monospace;letter-spacing:.36em;margin-top:22px;color:#b7bed1}.dream-title p{font:18px/1.9 SimSun;letter-spacing:.07em;margin-bottom:28px;color:#e7d9d3}
.dream-link{display:inline-block;border:1px solid currentColor;background:none;color:inherit;padding:12px 17px;font:12px monospace;text-decoration:none;cursor:pointer;text-align:left}.dream-link:hover{background:#992d45;color:#fff}.dream-mast figure{position:absolute;right:-3%;bottom:-14%;height:116%;width:63%;margin:0;mask-image:linear-gradient(90deg,transparent,#000 16%)}.dream-mast figure img{height:100%;width:100%;object-fit:contain;object-position:bottom right}.dream-mast figcaption{display:none}.dream-timecode{position:absolute;right:24px;top:24px;z-index:3;font:10px/1.9 monospace;letter-spacing:.1em;color:#d5c1c9}
.dream-editorial{display:grid;grid-template-columns:1.15fr 1fr;padding:45px;gap:55px}.dream-editorial small,.dream-cv>small,.dream-contact>small{font:10px monospace;letter-spacing:.14em;color:#805765}.dream-editorial h2{font:normal 30px/1.5 SimSun;margin:18px 0}.dream-editorial p{font:15px/1.9 SimSun}.dream-editorial aside{border-left:1px solid #bfb5b5;padding-left:35px}.dream-editorial aside p{margin:28px 0}.dream-editorial .dream-link{display:block;margin-top:12px}.dream-editorial .secondary{border:0;color:#8b3849;padding-left:0}
.dream-footer{border-top:1px solid #b9adb3;display:flex;justify-content:space-between;gap:20px;padding:19px 30px;font:9px monospace;letter-spacing:.07em}.dream-cv,.dream-contact{padding:45px clamp(24px,6vw,70px);background:#f1ede5}.dream-cv h1,.dream-contact h1{font:normal 40px/1.5 SimSun;margin:18px 0}.dream-cv p,.dream-contact p{font:16px/1.9 SimSun}.dream-cv h2{font:24px SimSun;margin:40px 0 20px;border-bottom:1px solid #bcb3b8;padding-bottom:13px;color:#6c2c3e}.dream-cv .cv-job{border-top:1px solid #cfc4c6;padding:20px 0}.dream-cv .cv-job h3{font:20px/1.6 SimSun}.dream-cv .cv-meta{font:13px monospace;color:#755866;display:flex;justify-content:space-between}.dream-cv li{font:15px/1.9 SimSun;margin:15px 0}.dream-cv li b{color:#502d3b}.dream-cv ul{padding-left:20px}.dream-cv-links{display:flex;gap:24px}.dream-cv-links a,.dream-cv-links button,.dream-contact a{color:#8a2841;border:0;background:none;text-decoration:underline;font:13px monospace;padding:0}.dream-contact{min-height:530px;background:linear-gradient(110deg,#ebe2dc,#d2d3df)}.dream-contact .dream-link{display:block;margin-top:60px}
.desktop-atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2;background:linear-gradient(115deg,#151d3b22,transparent 55%,#a1364322)}.signal-slice,.signal-echo{position:absolute;opacity:0;left:10%;top:32%;width:80%;height:9%;background:#93a4c62a;backdrop-filter:hue-rotate(12deg);border-top:1px solid #e2d3e15c}.signal-echo{top:70%;left:38%;width:48%;height:3%;background:#99254025}.signal-slip .signal-slice{animation:signal-cut .65s steps(2,end)}.signal-slip .signal-echo{animation:signal-cut .65s steps(2,end) reverse}@keyframes signal-cut{0%,100%{opacity:0;transform:translateX(0)}35%,80%{opacity:.65;transform:translateX(11px)}}
.channel-widget{position:absolute;right:28px;top:28px;z-index:3;width:213px;padding:15px 17px;background:#111b32b8;border:1px solid #a6b1c861;color:#e1dfdf;box-shadow:4px 5px 0 #11152a44;font:11px/1.8 monospace}.channel-widget small{letter-spacing:.17em;color:#c3a2b2}.channel-widget span{display:block;margin:12px 0}.channel-widget button{color:#eee5e2;background:none;border:0;border-top:1px solid #a6b1c84a;padding:10px 0 0;cursor:pointer;font:11px monospace}
.whale-shade{position:fixed;z-index:8000;pointer-events:none;left:-140vw;top:-25vh;width:150vw;height:100vh;background:radial-gradient(ellipse at 50% 55%,#030716ba 0%,#050c1d99 25%,#101b355c 47%,transparent 65%);filter:blur(30px);transform:rotate(-17deg);opacity:0}.whale-shade.passing{animation:whale-passage 13s ease-in-out both}@keyframes whale-passage{0%{left:-140vw;opacity:0}20%{opacity:.9}80%{opacity:.85}100%{left:105vw;opacity:0}}
.whale-listen{position:fixed;z-index:8001;bottom:90px;left:50%;transform:translateX(-50%);border:1px solid #ccd0dc88;background:#182034d9;color:#e9e5e0;padding:13px 24px;font:13px SimSun;letter-spacing:.08em;cursor:pointer}.signal-hint{position:fixed;right:25px;bottom:70px;z-index:8500;width:255px;background:#1a2133;color:#ded5dd;border:1px solid #aaa8c2;padding:20px;font:12px/1.7 SimSun}.signal-hint small{color:#d5aab6;font:10px monospace}.signal-hint button{background:none;border:1px solid #a49baa;padding:8px 12px;color:#ece4ea;cursor:pointer}.signal-hint [data-action="hint-dismiss"]{position:absolute;right:4px;top:3px;border:0;padding:4px}
.rocket-tape{background:#141822;color:#e8dfd6;min-height:100%;padding:24px}.rocket-tape>header{display:flex;justify-content:space-between;font:10px monospace;letter-spacing:.17em;padding-bottom:14px}.rocket-screen{position:relative;background:#070911;min-height:250px}.rocket-screen video{display:block;width:100%;max-height:500px;filter:contrast(.9) saturate(.35) sepia(.12);object-fit:contain}.tape-caption{position:absolute;left:25px;right:25px;bottom:45px;text-align:center;pointer-events:none;color:#f7ead4;text-shadow:1px 2px 3px #000,0 0 8px #000}.tape-caption p{font:clamp(15px,2vw,25px)/1.4 Georgia;margin:0}.tape-caption small{font:10px monospace}.rocket-tape footer{padding:10px 6px}.rocket-tape footer p{font:17px/1.7 SimSun}.rocket-tape footer>small{display:block;margin-top:25px;opacity:.65;font:9px/1.6 monospace}.rocket-tape a{color:inherit}.rocket-tape .dream-link{color:#dfc4cd}
.transition>div{position:relative}.transition small{letter-spacing:.2em}.transition .transition-film{width:240px;height:2px;margin:30px auto;background:#abb7d4;transform-origin:left;animation:signal-load 1.6s ease-in-out}@keyframes signal-load{from{transform:scaleX(.1);opacity:.1}to{transform:scaleX(1);opacity:1}}
.world-research .research-mast{padding:40px 42px;background:#e8ecec;color:#23394c}.world-research .research-mast h1{font:normal clamp(27px,3.5vw,46px)/1.23 Georgia,serif;max-width:940px;letter-spacing:-.015em;margin:24px 0}.world-research .research-mast .publication-status{display:inline-block;font:11px monospace;letter-spacing:.1em;border:1px solid #59767b;padding:7px 11px;color:#245254;background:#f2f6f1}.world-research .paper-authors{font:15px/1.8 Georgia}.world-research .research-mast>p:last-child{font:12px Georgia;color:#59707e}.world-research .paper-abstract{background:#faf9f4;padding:30px 35px;border-top:2px solid #4f6873}.world-research .paper-abstract h2{font:27px Georgia;margin:0 0 18px}.world-research .paper-abstract p{font:17px/1.85 Georgia;max-width:720px}.world-research .paper-abstract h3{font:17px Georgia;margin-top:30px}.paper-doi{font:11px/1.8 monospace;overflow-wrap:anywhere;margin-top:25px}.paper-doi a{color:inherit}.project-card[data-action="work:research"] .text-cover b{font:20px/1.3 Georgia;letter-spacing:0}.project-card[data-action="work:research"] .text-cover{padding:24px}.project-card[data-action="work:research"] h3{font:20px/1.4 Georgia}
.reduced .signal-slice,.reduced .signal-echo,.reduced .whale-shade{display:none}.reduced .transition-film{animation:none}
@media(max-width:680px){.dream-home .dream-mast figure{right:-10%;width:90%}}
@media(max-width:680px){.galgame.exit-dialog,.galgame.narrative-dialog{bottom:58px;width:93vw}.galgame.exit-dialog .exit-character{left:12px;width:160px;height:min(315px,44vh);bottom:155px}.galgame.exit-dialog .exit-copy{padding:0 18px 19px}.galgame.exit-dialog .exit-copy .typed-line{font-size:17px;min-height:80px;margin:17px 0 14px}.exit-copy header small{display:none}.exit-copy header b{font-size:13px}.galgame.narrative-dialog .gal-figure{left:8px;bottom:140px;width:180px;height:330px}.galgame.narrative-dialog .gal-body{padding:16px 19px 20px}.narrative-dialog .typed-line{font-size:17px;min-height:80px}.narrative-dialog .win-btn{padding:9px 12px;font-size:12px}.dream-address{padding:9px 12px;gap:10px}.dream-address>span:last-child{display:none}.dream-nav{padding:13px 15px;flex-wrap:wrap}.dream-nav button{padding:6px 11px}.dream-mast{min-height:480px}.dream-title{padding:35px 20px;width:70%}.dream-title small{font-size:8px}.dream-title h1{font-size:41px;margin:35px 0}.dream-title p{font-size:16px}.dream-mast figure{right:-27%;width:105%;height:92%;bottom:-7%;opacity:.85}.dream-timecode{font-size:8px;right:12px;top:15px}.dream-editorial{padding:28px 24px;grid-template-columns:1fr;gap:28px}.dream-editorial aside{border-left:0;border-top:1px solid #bcb2b7;padding:23px 0 0}.dream-cv,.dream-contact{padding:30px 22px}.dream-cv h1,.dream-contact h1{font-size:30px}.dream-cv .cv-meta{display:block}.dream-cv .cv-meta span{display:block;margin-top:7px}.dream-footer{padding:18px;font-size:8px}.channel-widget{right:15px;top:20px;width:165px;font-size:10px;padding:12px}.channel-widget span{margin:8px 0}.signal-hint{right:15px;bottom:60px;width:235px}.whale-listen{max-width:85vw;width:max-content;font-size:12px;bottom:65px}.rocket-tape{padding:13px}.tape-caption{left:10px;right:10px;bottom:38px}.rocket-tape footer p{font-size:15px}.world-research .research-mast{padding:27px 22px}.world-research .research-layout{display:block;padding:22px}.world-research .paper-abstract{padding:25px 20px;margin-top:25px}.world-research .paper-abstract p{font-size:16px}}
