*,:before,:after{box-sizing:border-box}html,body{overscroll-behavior:none;margin:0;overflow:hidden}body{color:#fff;-webkit-font-smoothing:antialiased;background:#1a1a1a;font-family:Century Schoolbook,Century Schoolbook L,TeX Gyre Schola,C059,serif}button,input{font:inherit;color:inherit}.page{--p:0;--w:min(40vh, 80vw);background:linear-gradient(#00000059,#00000059),url(/background.webp) 50%/cover no-repeat;flex-direction:column;justify-content:flex-start;align-items:center;gap:2rem;padding:10vh 1rem 1rem;display:flex;position:fixed;inset:0;overflow:hidden}.brand{height:calc(100vh - var(--w) * 19.5 / 9 * .8);text-align:center;transform:translateY(calc(var(--p) * -12vh));opacity:calc(1 - var(--p) * 1.4);flex-direction:column;justify-content:center;align-items:center;transition:transform .25s ease-out,opacity .25s ease-out;display:flex;position:absolute;top:0;left:0;right:0}.logo{letter-spacing:-.02em;text-shadow:0 2px 16px #0006;margin:0;font-size:clamp(3.5rem,12vw,6rem);font-weight:400}.tagline{color:#ffffffb3;text-shadow:0 1px 10px #0006;margin:0;font-size:clamp(1rem,3vw,1.35rem)}.iphone{--rim:calc(var(--w) * .014);width:var(--w);aspect-ratio:9/19.5;--centered:calc((100vh - var(--w) * 19.5 / 9) / -2);transform:translate(-50%, calc((1 - var(--p)) * 20% + var(--p) * var(--centered)));padding:calc(var(--w) * .019);border-radius:calc(var(--w) * .17);box-shadow:0 0 0 calc(var(--rim) * .4) #1a1a1c, 0 0 0 var(--rim) #77777c, 0 0 0 calc(var(--rim) + 1px) #2a2a2c, 0 30px 80px #0000008c;background:#000;transition:transform .25s ease-out;position:absolute;bottom:0;left:50%}.iphone-btn{width:calc(var(--w) * .012);background:linear-gradient(90deg,#3a3a3c,#6e6e73);border-radius:2px;position:absolute}.iphone-btn.left{left:calc(var(--rim) * -1 - var(--w) * .011);border-radius:2px 0 0 2px}.iphone-btn.right{right:calc(var(--rim) * -1 - var(--w) * .011);background:linear-gradient(90deg,#6e6e73,#3a3a3c);border-radius:0 2px 2px 0}.iphone-btn.action-btn{height:4.5%;top:17%}.iphone-btn.vol-up{height:8%;top:25%}.iphone-btn.vol-down{height:8%;top:35%}.iphone-btn.power{height:12%;top:28%}.page.auto-raise .brand,.page.auto-raise .iphone,.page.auto-raise .scroll-hint{transition-duration:1.1s;transition-timing-function:cubic-bezier(.45,0,.2,1)}.scroll-hint{text-shadow:0 1px 4px #00000040;color:#ffffff80;letter-spacing:.08em;pointer-events:none;height:18vh;opacity:calc(1 - var(--p) * 4);background:linear-gradient(#0000,#0000008c);justify-content:center;align-items:flex-end;gap:.6rem;padding-bottom:1.5rem;font-size:1.05rem;font-weight:700;transition:opacity .25s ease-out;display:flex;position:absolute;bottom:0;left:0;right:0}.scroll-hint svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:.8rem;height:.52rem;margin-bottom:.225rem;animation:2s ease-in-out infinite hint-bob}@keyframes hint-bob{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.iphone-screen{border-radius:calc(var(--w) * .151);background:#fff;width:100%;height:100%;position:relative;overflow:hidden}.iphone-island{top:calc(var(--w) * .03);width:31%;height:calc(var(--w) * .088);background:#000;border-radius:999px;position:absolute;left:50%;transform:translate(-50%)}.action{color:#111;background:#fff;border:1px solid #fff;border-radius:999px;width:280px;max-width:100%;height:52px;transition:background .2s;overflow:hidden}.action button{cursor:pointer;background:0 0;border:none;width:100%;height:100%;font-size:1.1rem}.action:not(.open):hover{background:0 0}.action:not(.open):hover button{color:#fff}.action form{height:100%;animation:.3s fade-in;display:flex}.action input{background:0 0;border:none;outline:none;flex:1;min-width:0;padding:0 0 0 1.25rem;font-size:1rem}.action form button{width:auto;padding:0 1.25rem;font-size:1.25rem}.action form button:disabled{opacity:.3;cursor:default}.note{text-shadow:0 1px 8px #00000080;margin:0;font-size:1.1rem;animation:.3s fade-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.action-wrap{justify-content:center;width:280px;max-width:100%;display:flex;position:relative}.action.shake{animation:.35s shake}.error{color:#ffb4a8;text-shadow:0 1px 6px #0009;opacity:0;margin:.6rem 0 0;font-size:.85rem;transition:opacity .2s;position:absolute;top:100%}.error.visible{opacity:1}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.im{z-index:0;color:#000;height:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;font-size:calc(var(--w) * .043);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;background:#fff;flex-direction:column;line-height:1.3;display:flex;position:relative}.im-status{background:#f8f8f8f0;flex-shrink:0;justify-content:space-between;align-items:center;height:3em;padding:.25em 1.6em 0 2.2em;display:flex}.im-time{align-items:center;gap:.2em;font-weight:600;display:flex}.im-location{fill:#000;width:.6em;height:.6em}.im-status-icons{align-items:center;gap:.3em;display:flex}.im-signal{fill:#000;width:1.05em;height:.7em}.im-signal .dim{fill:#00000040}.im-network{font-size:.8em;font-weight:600}.im-battery{align-items:center;gap:1px;display:flex}.im-battery-body{color:#fff;background:#000;border-radius:.45em;place-items:center;min-width:2.5em;height:1.35em;padding:0 .25em;font-size:.62em;font-weight:700;line-height:1;display:grid}.im-battery-nub{background:#0006;border-radius:0 1px 1px 0;width:.1em;height:.3em}.im-header{background:#f8f8f8f0;flex-shrink:0;justify-content:center;padding:.1em 0 .35em;display:flex;position:relative}.im-back,.im-video{fill:none;stroke:#007aff;stroke-linecap:round;stroke-linejoin:round;position:absolute;top:.75em}.im-back{stroke-width:2.4px;width:.7em;height:1.2em;left:.9em}.im-video{stroke-width:1.8px;width:1.5em;height:1.05em;right:1em}.im-contact{flex-direction:column;align-items:center;gap:.15em;display:flex}.im-avatar{color:#fff;background:linear-gradient(#a6abb8,#878b96);border-radius:50%;place-items:center;width:2em;height:2em;font-size:1.35em;font-weight:500;display:grid}.im-name{align-items:center;gap:.2em;font-size:.65em;display:flex}.im-name svg{fill:none;stroke:#8e8e93;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:.4em;height:.7em}.im-thread{flex-direction:column;flex:1;justify-content:flex-start;gap:.12em;min-height:0;padding:.9em .95em 0;display:flex;overflow:hidden}.im-timestamp{text-align:center;color:#8e8e93;margin:0 0 .6em;font-size:.65em}.im-timestamp strong{font-weight:600}.im-row{display:flex}.im-bubble{animation:.28s cubic-bezier(.2,.9,.3,1.25) both bubble-pop}.them .im-bubble{transform-origin:0 100%}.me .im-bubble{transform-origin:100% 100%}@keyframes bubble-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.im-typing{align-items:center;gap:.22em;height:2.15em;padding:0 .85em;display:flex}.im-typing span{background:#8e8e93;border-radius:50%;width:.45em;height:.45em;animation:1.2s ease-in-out infinite typing-dot}.im-typing span:nth-child(2){animation-delay:.15s}.im-typing span:nth-child(3){animation-delay:.3s}@keyframes typing-dot{0%,60%,to{opacity:.35}30%{opacity:1}}.im-row.me{justify-content:flex-end}.im-row.group-end{margin-bottom:.5em}.im-bubble{border-radius:1.1em;max-width:75%;padding:.42em .75em;position:relative}.them .im-bubble{color:#000;background:#e9e9eb}.me .im-bubble{color:#fff;background:#0a84ff}.im-bubble.tail:before,.im-bubble.tail:after{content:"";z-index:-1;height:1.2em;position:absolute;bottom:0}.me .im-bubble.tail:before{background:#0a84ff;border-bottom-left-radius:.9em;width:1.2em;right:-.4em}.me .im-bubble.tail:after{background:#fff;border-bottom-left-radius:.6em;width:.6em;right:-.6em}.them .im-bubble.tail:before{background:#e9e9eb;border-bottom-right-radius:.9em;width:1.2em;left:-.4em}.them .im-bubble.tail:after{background:#fff;border-bottom-right-radius:.6em;width:.6em;left:-.6em}.im-input-bar{flex-shrink:0;align-items:center;gap:.5em;padding:.2em .75em .55em;display:flex}.im-plus{background:#e9e9eb;border-radius:50%;flex-shrink:0;place-items:center;width:1.9em;height:1.9em;display:grid}.im-plus svg{stroke:#7c7c80;stroke-width:1.8px;stroke-linecap:round;width:.8em;height:.8em}.im-input{background:#fff;border:1px solid #c8c8cc;border-radius:1em;flex:1;justify-content:space-between;align-items:center;gap:.4em;height:2em;padding:0 .25em 0 .7em;display:flex}.im-input.shake{animation:.35s im-shake}@keyframes im-shake{0%,to{transform:translate(0)}20%{transform:translate(-.35em)}40%{transform:translate(.35em)}60%{transform:translate(-.2em)}80%{transform:translate(.2em)}}.im-input input{color:#000;min-width:0;font:inherit;caret-color:#007aff;background:0 0;border:none;outline:none;flex:1;padding:0}.im-input input::placeholder{color:#b4b4b8}.im-input input:disabled{-webkit-text-fill-color:currentColor;opacity:1}.im-send{cursor:pointer;background:#007aff;border:none;border-radius:50%;flex-shrink:0;place-items:center;width:1.55em;height:1.55em;padding:0;display:grid}.im-send svg{fill:none;stroke:#fff;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:.75em;height:.75em}.im-mic{fill:none;stroke:#9a9a9e;stroke-width:1.6px;stroke-linecap:round;flex-shrink:0;width:.6em;height:.95em;margin-right:.45em}.im-mic rect{fill:#9a9a9e}.im-home-area{flex-shrink:0;justify-content:center;padding:.9em 0 .5em;display:flex}.im-home{background:#000;border-radius:999px;width:8em;height:.3em}.im.kb-open .im-thread{justify-content:flex-end}.im.kb-open .im-home-area{background:#d1d3d9}.kb{background:#d1d3d9;flex-direction:column;flex-shrink:0;gap:.7em;padding:.55em .2em 0;animation:.32s cubic-bezier(.2,.8,.2,1) both kb-up;display:flex}@keyframes kb-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.kb-row{justify-content:center;gap:.35em;display:flex}.kb-row.indent{padding:0 1.05em}.kb-letters{flex:1;gap:.35em;margin:0 .6em;display:flex}.kb-key{color:#000;height:2.5em;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:none;border-radius:.3em;flex:1;place-items:center;padding:0;display:grid;box-shadow:0 1px #898a8d}button.kb-key:active{background:#bcc0c8}span.kb-key{cursor:default}.kb-key.letter{border-radius:.23em;height:1.92em;font-size:1.3em}.kb-key.symbol{border-radius:.26em;flex:0 0 1.6em;height:2.17em;font-size:1.15em}.kb-key.mod{background:#abb0bc}.kb-key.wide{flex:0 0 2.5em}.kb-key.small-text{height:2.63em;font-size:.95em}.kb-key.small-text.wide{flex-basis:2.63em}.kb-key.space{flex:1}.kb-key.return{flex:0 0 4.6em}.kb-icon{fill:none;stroke:#000;stroke-width:1.4px;stroke-linejoin:round;width:1.2em;height:1.2em}
