@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Playfair+Display:ital,wght@0,700;1,700&display=swap');
*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#15131c;color:#e8e2d6;font-family:'DM Mono',monospace}#skyBackdrop{position:fixed;inset:0;z-index:0;pointer-events:none;background:url('assets/estate-horizon.png') center/cover no-repeat}#menuLayer{position:fixed;inset:0;z-index:1000;pointer-events:auto}body.screen-name #intro,body.screen-name #mpWaiting,body.screen-intro #nameScreen,body.screen-intro #mpWaiting,body.screen-waiting #nameScreen,body.screen-waiting #intro,body.in-game #menuLayer{display:none!important;pointer-events:none!important}body:not(.in-game) #game{visibility:hidden!important;pointer-events:none!important}#nameScreen,#intro,#mpWaiting{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;letter-spacing:.13em;font-size:12px;line-height:2.35;background:#15141dee;pointer-events:auto}body.screen-name #nameScreen{display:grid!important;place-items:center}body.screen-intro #intro{display:flex!important}body.screen-waiting #mpWaiting{display:grid!important;place-items:center}canvas{display:block}#game canvas{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;z-index:1!important}body:not(.in-game) canvas{pointer-events:none!important}button,input{font:inherit;color:inherit;background:transparent;border:0}button{cursor:pointer}header,footer{position:fixed;z-index:5;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:21px 4vw;letter-spacing:.12em;font-size:10px;text-shadow:0 2px 6px #000}header{top:0;background:linear-gradient(#151421b9,transparent)}header strong{font:700 23px 'Playfair Display',serif;letter-spacing:.03em}header i{font-style:italic}header button{border-bottom:1px solid #b7b3a7;padding-bottom:4px;font-size:9px;letter-spacing:.12em}footer{bottom:0;min-height:94px;background:linear-gradient(transparent,#13131adf);font-size:9px;color:#c9c5bd}footer small{display:block;color:#aaa7a1;font-size:8px;letter-spacing:.16em;margin-bottom:7px}footer b{display:block;font-size:11px;font-weight:400;color:#f1ede3}footer em{display:block;margin-top:8px;font-size:8px;color:#d4b17b;font-style:normal;letter-spacing:.14em}#crosshair{position:fixed;z-index:5;top:50%;left:50%;transform:translate(-50%,-50%);font-size:19px;text-shadow:0 1px 5px #000}#prompt{position:fixed;z-index:5;top:105px;width:100%;text-align:center;font-size:9px;letter-spacing:.16em;text-shadow:0 2px 5px #000}#distort{position:fixed;z-index:4;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse,transparent 35%,rgba(47,11,24,.44));mix-blend-mode:multiply;transition:opacity .8s}body.watched #distort{opacity:.75;animation:shiver .2s infinite}@keyframes shiver{50%{transform:translate(2px,-1px)}}#nameScreen label{margin-top:22px;font:700 21px 'Playfair Display',serif;letter-spacing:.06em}#nameScreen input{width:min(320px,80vw);text-align:center;border-bottom:1px solid #d8d0c0;margin:18px 0 20px;padding:9px;font-size:16px;outline:none;letter-spacing:.1em}#nameScreen button,#enter{padding:14px 20px;border:1px solid #c8c2b3;font-size:10px;letter-spacing:.14em}#nameScreen button:hover,#enter:hover{color:#171620;background:#e7e0d0}#intro #enter{width:auto!important;max-width:320px!important;align-self:center!important;margin:14px auto 0!important;display:inline-block!important}#documentPanel{position:fixed;z-index:12;right:0;top:0;bottom:0;width:min(470px,100%);padding:105px 52px 35px;background:#ded8c9;color:#202124;transform:translateX(103%);transition:transform .4s;box-shadow:-18px 0 60px #0008}#documentPanel.open{transform:none}#closeDocument{position:absolute;top:23px;right:28px;font-size:32px;color:#202124}#documentPanel small{font-size:9px;letter-spacing:.16em;color:#596164}#documentPanel h1{font:700 38px/1.05 'Playfair Display',serif;margin:20px 0 28px}#documentPanel p{white-space:pre-line;border-top:1px solid #aaa69d;padding-top:22px;line-height:1.85;font-size:12px}#keepMemory{margin-top:26px;border:1px solid #3c4648;padding:12px 14px;color:#202124;font-size:10px;letter-spacing:.1em}#message{position:fixed;z-index:14;left:50%;top:43%;transform:translateX(-50%);opacity:0;transition:.4s;background:#ded7c8;color:#1d1d25;padding:13px 18px;font-size:10px;letter-spacing:.1em}.show{opacity:1!important}@media(max-width:700px){footer>div:last-child{display:none}header,footer{padding-left:18px;padding-right:18px}#documentPanel{padding:82px 28px 25px}}
body.mobile-device #nameScreen,body.mobile-device #intro,body.mobile-device #mpWaiting{justify-content:flex-start;overflow:auto;padding:max(18px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}body.mobile-device .menuCard{width:min(100%,520px);margin:auto 0;padding:22px 18px;border:1px solid rgba(219,234,220,.34);background:rgba(18,27,25,.86)}body.mobile-device #nameScreen h1,body.mobile-device #mpWaiting h1{font-size:clamp(32px,10vw,48px);line-height:1.05;margin:18px 0}body.mobile-device #nameScreen input{width:100%;min-height:56px;margin:12px 0 14px;padding:13px 12px;border:1px solid rgba(219,234,220,.46);font-size:18px;background:rgba(255,255,255,.05);text-align:left}body.mobile-device #modeChoice{display:grid;grid-template-columns:1fr;gap:10px;margin:8px 0 14px}body.mobile-device #nameScreen button,body.mobile-device #enter,body.mobile-device #mpWaitHost button{min-height:52px;width:100%;padding:14px 12px;font-size:10px;line-height:1.35}body.mobile-device header{padding-top:max(12px,env(safe-area-inset-top));padding-bottom:10px}body.mobile-device header strong{font-size:18px}body.mobile-device footer{min-height:70px;padding-bottom:max(10px,env(safe-area-inset-bottom));font-size:8px}body.mobile-device #message{width:min(92vw,420px);top:38%;text-align:center;line-height:1.55}#mobileCrashNotice{position:fixed;z-index:10001;left:50%;top:50%;transform:translate(-50%,-50%);width:min(88vw,420px);padding:18px 16px;border:1px solid rgba(232,220,196,.72);background:rgba(18,22,23,.96);color:#eef5ee;font:10px DM Mono,monospace;letter-spacing:.12em;line-height:1.65;text-align:center;display:none;pointer-events:auto}#mobileCrashNotice.show{display:block}
