:root{--chrome-top:#b7c8dc;--chrome-bottom:#6380a2;--blue-top:#c8e5ff;--blue-mid:#a8d3ff;--blue-bottom:#94bef1}*{box-sizing:border-box}body,html{width:100%;max-width:100%;margin:0;min-height:100%;overflow-x:clip;overscroll-behavior-x:none}body{color:#101215;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;background:radial-gradient(circle at 50% 15%,#fcfbf7 0,#e7e2d8 48%,#c8c0b5 100%)}button,input{font:inherit}button{cursor:pointer}.stage{width:100%;min-height:100svh;display:grid;place-items:center;overflow-x:clip;padding:38px 22px}.phone,.stage{max-width:100%}.phone{width:min(100%,390px);height:min(812px,calc(100svh - 76px));min-height:580px;overflow:hidden;display:flex;flex-direction:column;border:1px solid #202b37;border-radius:10px;background:#dce3ef;box-shadow:0 22px 45px #56504a88,inset 0 0 0 1px #f7fbff88}.statusbar{height:25px;flex:none;display:flex;align-items:center;padding:0 8px;color:#121416;background:linear-gradient(#fefefe,#e8ebec 46%,#c7cdd1 53%,#dce0e1);border-bottom:1px solid #747d84;box-shadow:inset 0 1px #fff;text-shadow:0 1px #fff}.statusbar strong{position:absolute;left:50%;transform:translateX(-50%);font-size:15px;letter-spacing:-.4px}.signal{width:19px;height:11px;margin-right:4px;fill:#1588df;filter:drop-shadow(0 1px #fff)}.carrier{font-size:14px;font-weight:500;letter-spacing:-.7px}.wifi{width:19px;height:14px;margin-left:7px;fill:#1688e6;filter:drop-shadow(0 1px #fff)}.bluetooth{width:11px;height:18px;margin-left:auto;margin-right:11px;fill:none;stroke:#777;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.battery{width:25px;height:12px;position:relative;border:1px solid #626a6d;border-radius:2px;background:#eef0ef;box-shadow:inset 0 0 0 1px #fff}.battery:after{content:"";position:absolute;right:-3px;top:3px;width:2px;height:5px;border-radius:0 2px 2px 0;background:#626a6d}.battery i{display:block;width:17px;height:8px;margin:1px;border-radius:1px;background:linear-gradient(#83e443,#26920d)}.navbar{height:50px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 9px;color:#fff;background:linear-gradient(#c8d6e6,#9cb3cf 43%,#7893b5 51%,#6884a5);border-top:1px solid #eaf3fc;border-bottom:1px solid #374e67;box-shadow:inset 0 1px #ffffffb8,inset 0 -1px #5a7698;text-shadow:0 -1px 1px #425f7c}.navbar h1{margin:0;font-size:21px;line-height:1;letter-spacing:-.55px;font-weight:700}.navbar button{height:34px;color:#fff;font-weight:700;border:1px solid #365a83;border-radius:8px;padding:0 11px;min-width:58px;background:linear-gradient(#87a8ce,#628bb9 46%,#4774a7 52%,#3f6a9d);box-shadow:inset 0 1px #d6e5f5a6,0 1px #dce6f0a6;text-shadow:0 -1px #2d4b70;font-size:14px}.navbar .back{position:relative;z-index:0;border-radius:7px 7px 7px 5px;margin-left:10px;padding-left:9px}.navbar .back:before{content:"";position:absolute;z-index:-1;width:23px;height:23px;left:-9px;top:4px;border-left:1px solid #365a83;border-bottom:1px solid #365a83;border-radius:3px;background:linear-gradient(135deg,#86a8ce,#628bb9 46%,#4774a7 52%,#3f6a9d);transform:rotate(45deg);box-shadow:-1px 1px #d6e5f555}.back span{margin-left:0}.navbar .edit{font-size:14px}.contact-row{display:flex;gap:7px;padding:8px 7px 7px;background:#dce3ee}.contact-row a{flex:1 1;min-width:0;height:35px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#4e6890;font-size:15px;font-weight:700;text-decoration:none;white-space:nowrap;border:1px solid #aeb9c9;border-radius:9px;background:linear-gradient(#fff,#f9fafb 37%,#e5e9ee);box-shadow:inset 0 1px #fff,inset 0 -1px #cbd2db,0 1px #c2ccd7;text-shadow:0 1px #fff}.date{margin:0;height:23px;color:#7d8ca3;text-align:center;font-size:12px;font-weight:700;padding-top:1px;background:#dce3ee}.thread{min-width:0;min-height:0;flex:1 1;overflow-y:auto;overflow-x:clip;overscroll-behavior-x:none;padding:9px 12px 16px;background:#dce3ef;scrollbar-width:none}.thread::-webkit-scrollbar{display:none}.intro{height:13px;text-align:center;color:#7a8da7;margin:1px 0 8px}.intro span,.thread-date{font-size:12px;font-weight:700}.thread-date{clear:both;margin:5px 0 9px;color:#7d8ca3;text-align:center}.imessage-bubble{position:relative;clear:both;width:-moz-fit-content;width:fit-content;max-width:84%;min-width:0;min-height:34px;margin:0 0 10px;padding:7px 12px 8px;border:1px solid;border-radius:18px;color:#080808;font-size:17px;line-height:1.16;letter-spacing:-.35px;overflow-wrap:anywhere;word-break:normal;box-shadow:inset 0 1px rgba(255,255,255,.96),inset 0 -1px rgba(255,255,255,.44),0 1px 2px #657181a0}.imessage-bubble p{position:relative;z-index:1;margin:0}.imessage-bubble p a{color:inherit;text-decoration:underline}.imessage-from-them{float:left;border-color:#969b9f;background:linear-gradient(#fff,#f6f6f5 50%,#dadad8)}.imessage-from-me{float:right;color:#071421;border-color:#577fa8;background:linear-gradient(#c9e5ff,#afd6ff 49%,#91bceb)}.thread:after{content:"";display:block;clear:both}.design-attachment{width:250px;max-width:100%;margin:-2px -5px -3px;overflow:hidden;border:1px solid #8090a0;border-radius:10px;background:#fff;box-shadow:0 1px 2px #65718180}.design-attachment img{display:block;width:100%;height:auto}.project-card{width:226px;overflow:hidden;border-radius:10px;background:#f8f4ec;box-shadow:0 0 0 1px #ffffff86}.project-art{height:119px;position:relative;overflow:hidden;padding:12px;color:#f9ead8;background:linear-gradient(130deg,#9c3728,#e07537 45%,#ecc369)}.project-art:before{content:"";position:absolute;width:120px;height:120px;right:-19px;top:-35px;border:14px solid #f6bc69;border-radius:50%}.project-art span{font-size:11px;font-weight:700}.project-art b{position:absolute;bottom:12px;right:14px;text-align:right;font-size:20px;line-height:.85;letter-spacing:-1px}.project-art i{position:absolute;width:56px;height:56px;bottom:-18px;left:25px;background:#173d50;transform:rotate(44deg)}.project-copy{padding:7px 9px 8px;display:grid;grid-gap:2px;gap:2px;color:#2d3136}.project-copy strong{font-size:12px}.project-copy small{color:#777;font-size:10px}.note-card{width:216px;min-height:90px;padding:11px;display:flex;gap:8px;color:#453e32;border-radius:9px;background:linear-gradient(135deg,#fff2bd,#eac96e);box-shadow:inset 0 1px #fff9d9}.note-card span{font-size:19px}.note-card p{font-size:13px;line-height:1.2}.delivery,.note-card b{font-weight:700}.delivery{clear:both;margin:2px 0 9px;color:#71849e;text-align:right;font-size:10px}.delivery.failed{color:#a32424}.composer{height:45px;flex:none;gap:7px;display:flex;align-items:center;padding:6px 7px;border-top:1px solid #8b99ab;background:linear-gradient(#eef1f4,#d1d8df 48%,#b8c1ca);box-shadow:inset 0 1px #f9fcff}.composer input:not(.file-input){min-width:0;flex:1 1;height:31px;border:1px solid #8793a0;border-radius:17px;outline:none;padding:0 11px;color:#32363c;font-size:14px;background:linear-gradient(#e7e8e8,#fff 42%,#fff);box-shadow:inset 0 1px 2px #7777,0 1px #fff}.composer input::placeholder{color:#999}.file-input{display:none}.camera{width:30px;height:30px;border:1px solid #657382;border-radius:50%;padding:0;background:linear-gradient(#c9d2db,#748291 50%,#5b6b7a);box-shadow:inset 0 1px #fff9}.camera.has-attachment{border-color:#2e6db7;background:linear-gradient(#c2e3ff,#6da7e1 50%,#477fb8)}.camera svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2.1;filter:drop-shadow(0 -1px #526372)}.send{height:30px;padding:0 11px;color:#fff;font-weight:700;font-size:15px;border:1px solid #3c6bb6;border-radius:15px;background:linear-gradient(#9dcbff,#397be3 48%,#2165ca);box-shadow:inset 0 1px #eaf6ff;text-shadow:0 -1px #245392}.send:disabled{color:#e0e7f1;filter:grayscale(.7);opacity:.6;cursor:default}.outside-caption{position:fixed;bottom:12px;margin:0;color:#756e68;font-size:11px;letter-spacing:.02em;text-align:center}@media (max-height:660px){.stage{padding:12px}.phone{height:calc(100svh - 24px)}.outside-caption{display:none}.intro{margin-bottom:8px}.message{margin-bottom:6px}}@media (max-width:430px){body,html{height:100%;min-height:100%;overflow:hidden}.stage{padding:0;overflow:hidden}.phone,.stage{height:100vh;height:100dvh;min-height:0}.phone{width:100%;max-height:100dvh;border-radius:0;border:0}.contact-row,.date,.navbar,.statusbar{position:relative;z-index:2;flex:none}.thread{min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.composer{position:relative;z-index:3;flex:none;margin-top:auto}.outside-caption{display:none}}