.phone-join{max-width:540px;margin:12px auto;padding:32px;background:#fff;border:1px solid #dfe7da;border-radius:24px;box-shadow:0 7px 0 #dce5d7}.phone-join h1{font-size:30px;letter-spacing:-.04em}.phone-join p{line-height:1.7;color:#63715c}.phone-kicker{color:#52734b;font-size:13px;font-weight:700}.phone-join form{display:grid;gap:12px}.phone-join input{min-width:0;width:100%;box-sizing:border-box;padding:17px;font-size:25px;letter-spacing:.2em;border:1px solid #b8c9b1;border-radius:12px}.phone-join button,.phone-viewer button{font-family:inherit;font-size:15px;padding:12px 16px;min-height:44px;border:1px solid #cbd9c3;border-radius:12px;background:#f7faf3;color:#2d4f36;cursor:pointer}.phone-join form button,#phone-connect,.phone-composer button[type=submit]{background:#31563f;color:#fff}.phone-viewer{margin:0 auto;width:100%;height:calc(100dvh - 160px);min-height:360px;display:flex;flex-direction:column;background:#eef3e9;border:1px solid #d4dfce;border-radius:18px;overflow:hidden;box-shadow:0 8px 28px #253b2512}.phone-viewer .phone-toolbar{position:static;box-sizing:border-box;min-height:55px;padding:8px 14px;display:flex;gap:10px;align-items:center;background:#fff;border:0}.phone-toolbar b{font-size:16px}.phone-toolbar span{margin-right:auto;font-size:12px;color:#607556}.phone-toolbar button{padding:8px 13px}.phone-stage{position:relative;flex:1;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e5ebdf;touch-action:none}.phone-stage p{padding:24px;text-align:center;color:#52634a;line-height:1.8}.phone-stage img{display:block;max-width:none;object-fit:contain;transform-origin:center;user-select:none;touch-action:none}.phone-stage img[hidden]{display:none}.phone-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;padding:8px;background:#fff}.phone-actions button{padding:9px 13px}.phone-composer{padding:10px 14px;background:#fff;border-top:1px solid #d7e2d0}.phone-composer[hidden]{display:none}.phone-composer label{display:block;font-size:13px;margin-bottom:6px}.phone-composer textarea{width:100%;box-sizing:border-box;border:1px solid #aec3a3;border-radius:10px;padding:10px;font-size:17px;font-family:inherit;resize:none}.phone-viewer:fullscreen{height:100dvh;width:100vw;border:0;border-radius:0}.phone-viewer button:disabled{opacity:.45;cursor:default}.phone-viewer button:focus-visible,.phone-join button:focus-visible{outline:3px solid #87ae73;outline-offset:2px}body:has(.phone-viewer)>footer{display:none}@media(max-width:700px){body:has(.phone-viewer)>header{display:none}body:has(.phone-viewer)>main{padding:0;max-width:none;width:100%}.phone-viewer{height:100dvh;min-height:0;border:0;border-radius:0}.phone-toolbar b{max-width:28vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-actions{padding:7px 8px max(7px,env(safe-area-inset-bottom))}.phone-actions button{flex:1 0 auto;font-size:13px;padding:9px}.phone-join{padding:24px 20px}.phone-join h1{font-size:26px}}@media(max-height:500px) and (orientation:landscape){.phone-viewer{height:100dvh;min-height:0}.phone-toolbar{min-height:44px!important;padding:3px 12px!important}.phone-actions{padding:3px 8px}.phone-actions button{min-height:36px;padding:5px 12px}.phone-composer{padding:5px 12px}.phone-composer textarea{height:44px}body:has(.phone-viewer)>header{display:none}body:has(.phone-viewer)>main{padding:0;max-width:none}}

.phone-viewer{position:relative}.phone-edge{display:none!important}.phone-toolbar #phone-state{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.phone-toolbar #phone-connect,.phone-toolbar #phone-end{flex:none}
@media(pointer:coarse),(max-width:1000px){.phone-viewer{height:100dvh;min-height:0}.phone-viewer .phone-toolbar{min-height:46px;padding:4px 10px}.phone-toolbar button{min-height:36px;font-size:13px;padding:6px 10px}.phone-toolbar b{font-size:14px}.phone-viewer .phone-edge{position:absolute;display:grid!important;place-items:center;right:0;top:40%;z-index:6;min-height:74px;width:28px;padding:6px 1px;background:#31563fe8;color:#fff;border:1px solid #c8d8bc;border-right:0;border-radius:13px 0 0 13px;box-shadow:0 3px 12px #1f402b25}.phone-edge span{font-size:10px}.phone-viewer .phone-actions{position:absolute;right:0;top:50%;transform:translate(110%,-50%);visibility:hidden;display:grid;grid-template-columns:1fr;max-height:75%;overflow-y:auto;width:132px;padding:12px 34px 12px 10px;border:1px solid #d4e1cb;border-radius:18px 0 0 18px;box-shadow:-4px 8px 25px #29432922;z-index:5;transition:transform .18s ease,visibility .18s}.phone-viewer.tools-open .phone-actions{transform:translate(0,-50%);visibility:visible}.phone-actions button{font-size:13px;min-height:42px;padding:9px}.phone-viewer .phone-composer{position:relative;z-index:7;padding-bottom:max(8px,env(safe-area-inset-bottom))}body:has(.phone-viewer)>header,body:has(.phone-viewer)>footer{display:none}body:has(.phone-viewer)>main{width:100%;max-width:none;padding:0}.phone-viewer .phone-stage{width:100%}}@media(prefers-reduced-motion:reduce){.phone-viewer .phone-actions{transition:none}}

.phone-viewer .phone-toolbar span{display:block;flex:1}.phone-toolbar{gap:8px!important}.phone-toolbar b{flex:none;max-width:28vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(pointer:coarse),(max-width:1000px){.phone-viewer{border:0;border-radius:0}}
