:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;color:#292536;background:#f6f6fb;font-synthesis:none;--accent:#6b4bf5;--border:#e7e4ef;--muted:#938aab}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}input:focus,select:focus,textarea:focus{outline:2px solid #b6a6fc;outline-offset:1px}button:focus-visible,summary:focus-visible{outline:3px solid #b6a6fc;outline-offset:3px}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--border);padding:0 5%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:18px;color:#171322;font-size:28px;font-weight:850;letter-spacing:-1.3px;text-decoration:none}.brand span:last-child{font-size:15px;font-weight:550;letter-spacing:0}.divider{height:22px;width:1px;background:#ddd9e8}.tag{font-size:11px;padding:7px 12px;border-radius:20px;color:var(--accent);background:#f4f0ff;border:1px solid #dfd4ff}main{max-width:1260px;margin:0 auto;padding:30px 32px 0}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);margin:0 0 11px;font-weight:650}h1{font-size:28px;letter-spacing:-1px;margin:0 0 10px;font-weight:650}.subtitle{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 17px;border:1px solid #dfd9eb;background:#fff;color:#6a5b7e;border-radius:9px;font-size:12px;font-weight:550;white-space:nowrap}.button:hover{background:#f4efff;border-color:#bfaaf6}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.primary:hover{background:#5839d8}.small{padding:8px 11px;font-size:11px;border-radius:7px}.icon-button{border:0;background:transparent;color:#887799;font-size:23px;padding:0 7px}.text-button{border:0;background:transparent;color:#9484aa;font-size:11px;padding:4px 7px}.text-button:hover{color:var(--accent)}.url-help{color:#9b91ac;font-size:11px;line-height:1.9;margin:18px 0 24px}.url-help code{color:#8261d0;font-size:10px;overflow-wrap:anywhere}.phones{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.phone-card{min-width:0;background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 18px 13px}.phone-title{display:flex;align-items:center;gap:9px;min-width:0}.phone-title h2{font-size:13px;font-weight:600;margin:0;white-space:nowrap}.phone-badge{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:7px;background:#eee8fc;color:#8a69c5;font-size:11px;font-weight:650}.card-actions{display:flex;gap:5px;align-items:center}.connection{display:flex;align-items:center;gap:5px;font-size:9px;color:#a79bb7;white-space:nowrap}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#c8bfda}.dot.connected{background:#50b58d;box-shadow:0 0 0 3px #eff9f3}.url-bar{display:flex;gap:7px;margin:0 17px;padding:5px;border:1px solid #e5dfef;border-radius:9px;background:#fcfbfe}.url-bar input{min-width:0;flex:1;border:0;background:transparent;font-size:11px;padding:6px 8px;color:#756385;outline:none}.url-bar .button{padding:8px 10px}.device-options{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 18px 0;font-size:10px}.device-options select{border:0;background:#f7f4fc;color:#89759e;border-radius:5px;padding:5px 7px;font-size:10px}.checkbox{display:flex;align-items:center;gap:5px;color:#9483aa}.checkbox input{accent-color:var(--accent);width:12px;height:12px;margin:0}.device-options .text-button{margin-left:auto;font-size:10px}.muted{font-size:10px;line-height:1.8;color:#a399b4}.load-message{font-size:10px;color:#afa3bf;line-height:1.6;margin:9px 19px 12px;min-height:16px;overflow-wrap:anywhere}.load-message.error{color:#bd5471}.phone-stage{display:flex;justify-content:center;align-items:center;background:radial-gradient(ellipse at 50% 45%,#ede9f7,#f9f8fc 75%);padding:21px 12px;overflow:hidden;min-height:490px}.phone{padding:8px;background:#282231;border-radius:35px;flex-shrink:0;box-shadow:0 10px 30px #36254614,0 2px 8px #36254612}.screen{position:relative;overflow:hidden;border-radius:28px;background:#f7f5fb;--phone-scale:1}.web-area{position:absolute;overflow:hidden;background:transparent}iframe{display:block;border:0;transform-origin:top left;background:transparent;position:absolute;top:0;left:0}.camera-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.status-bar{position:absolute;top:0;left:0;width:100%;height:calc(55px * var(--phone-scale));display:flex;align-items:center;justify-content:space-between;padding:0 calc(24px * var(--phone-scale));font-size:calc(12px * var(--phone-scale));font-weight:650;color:#4a4059;pointer-events:none}.status-icons{letter-spacing:1px;font-size:calc(10px * var(--phone-scale))}.phone-island{position:absolute;top:calc(10px * var(--phone-scale));left:50%;transform:translateX(-50%);height:calc(25px * var(--phone-scale));width:calc(104px * var(--phone-scale));border-radius:20px;background:#282231;pointer-events:none}.screen.android .phone-island{height:calc(8px * var(--phone-scale));width:calc(8px * var(--phone-scale));top:calc(8px * var(--phone-scale))}.screen.landscape .phone-island{left:calc(10px * var(--phone-scale));top:50%;transform:translateY(-50%);width:calc(25px * var(--phone-scale));height:calc(104px * var(--phone-scale))}.screen.landscape.android .phone-island{width:calc(8px * var(--phone-scale));height:calc(8px * var(--phone-scale));top:calc(8px * var(--phone-scale));left:50%}.home-indicator{position:absolute;height:calc(4px * var(--phone-scale));width:calc(110px * var(--phone-scale));bottom:calc(11px * var(--phone-scale));left:50%;transform:translateX(-50%);border-radius:6px;background:#5f536f;pointer-events:none}.feedback-bar{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:11px 17px;border-bottom:1px solid #eeebf5;min-height:45px}.feedback-bar>span{min-width:0;font-size:10px;color:#aa96bf;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-bar>div{display:flex;white-space:nowrap}.log-tray>summary{display:flex;align-items:center;gap:8px;min-height:37px;padding:9px 17px;cursor:pointer;list-style:none;font-size:10px;color:#ab9abb;background:#fcfbff}.log-tray>summary::-webkit-details-marker{display:none}.log-tray>summary strong{font-weight:500;white-space:nowrap}.log-chevron{font-size:17px;color:#a393ba;line-height:1;transition:transform .15s}.log-tray[open] .log-chevron{transform:rotate(90deg)}.log-count{font-size:9px;background:#f0eafb;color:#a58bcb;border-radius:4px;padding:2px 5px}.latest-log{font-family:ui-monospace,SFMono-Regular,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;color:#a89ab8;font-size:9px}.expand-hint{font-size:9px;color:#c4b6d3}.log-tray[open] .expand-hint{visibility:hidden}.log-content{border-top:1px solid #efebf6}.log-toolbar{display:flex;justify-content:space-between;align-items:center;padding:9px 14px}.log-toolbar select{font-size:10px;color:#9b87b2;border:1px solid #ece6f5;border-radius:6px;background:#fff;padding:4px 7px}.logs{max-height:280px;overflow:auto;padding:0 16px 10px;scrollbar-width:thin;scrollbar-color:#e3dbef transparent}.empty-log{color:#b8a9c7;font-size:11px;text-align:center;padding:22px}.log-row{border-top:1px solid #f0ecf6}.log-row>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none;cursor:pointer;padding:9px 0}.log-name{font:10px ui-monospace,SFMono-Regular,monospace;color:#8a709e;overflow-wrap:anywhere}.log-time{color:#b9acc7;font-size:8px;margin-top:3px}.result-tag{font-size:8px;color:#61a68f;background:#f0faf5;border-radius:4px;padding:3px 5px;white-space:nowrap}.result-tag.error{color:#c26a82;background:#fff0f4}.result-tag.event{color:#a887ce;background:#f4edfe}.result-tag.pending{color:#b39b65;background:#fbf8ef}.log-row pre{white-space:pre-wrap;overflow-wrap:anywhere;font:10px/1.8 ui-monospace,SFMono-Regular,monospace;color:#9681ae;background:#faf7fe;border-radius:7px;padding:11px;max-height:230px;overflow:auto}.tools{border-top:1px solid #eeeaf5}.tools>summary{display:flex;align-items:center;justify-content:space-between;padding:12px 17px;font-size:10px;color:#b4a6c3;cursor:pointer;list-style:none}.tools-content{padding:0 18px 18px}.tools-content h3{font-size:11px;font-weight:550;color:#9b85b0;margin:19px 0 10px}.tools-content label{display:block;font-size:10px;color:#ac98bf;margin:10px 0}.tools-content input:not([type=range]):not([type=checkbox]):not([type=color]),.tools-content textarea,.tools-content select{width:100%;border:1px solid #e8e0f1;border-radius:7px;background:#fcfbfe;color:#8b739f;padding:8px;font-size:11px;margin:5px 0}.tools-content textarea{font-family:ui-monospace,SFMono-Regular,monospace;line-height:1.6;resize:vertical}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tilt-controls label{display:flex;align-items:center;gap:9px}.tilt-controls input{flex:1;accent-color:var(--accent)}.tweak-row{display:flex;align-items:center;gap:12px;margin:10px 0}.tweak-row label{min-width:70px;flex:1}.tweak-row input,.tweak-row select{width:140px!important}.tweak-row input[type=color]{height:30px;padding:2px;border:1px solid #e9e0f2;border-radius:5px}.tweak-row input[type=checkbox]{width:auto!important;accent-color:var(--accent)}footer{display:flex;justify-content:space-between;gap:12px;padding:23px 0;font-size:9px;color:#b8aeca}footer span:first-child{letter-spacing:.5px}.loading-overlay{position:absolute;inset:0;z-index:3;background:#ffffffc9;display:flex;flex-direction:column;gap:15px;align-items:center;justify-content:center;font-size:11px;color:#9b81b8}.spinner{width:24px;height:24px;border:2px solid #e3d9f2;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.audio-desk{position:fixed;inset:auto 22px 22px auto;width:min(390px,calc(100vw - 24px));margin:0;max-height:80vh;overflow:auto;padding:18px;border:1px solid #d9ccef;border-radius:16px;background:#fff;box-shadow:0 14px 60px #36234e30;z-index:30;color:#766089}.audio-header{display:flex;align-items:center;justify-content:space-between;font-size:13px}.audio-message{font-size:11px;line-height:1.8;color:#a08ab5;margin:12px 0 16px}.audio-desk label{display:block;font-size:10px;color:#aa90be;margin:14px 0 8px}.audio-desk select{display:block;width:100%;margin-top:8px;font-size:11px;padding:8px;border:1px solid #e6dcf0;border-radius:7px;color:#987daa;background:#fff}.audio-desk audio{width:100%;margin:10px 0}.recording-controls{margin-top:17px;border-top:1px solid #eee6f5;padding-top:13px;font-size:11px;color:#a68cbb}.recording-controls span{margin-right:10px}.shake{animation:shake .3s ease-in-out}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-3px)}40%,80%{transform:translateX(3px)}}@media(max-width:1000px){main{padding:24px 18px 0}.phones{gap:16px}.connection{font-size:8px}.phone-title{gap:6px}.card-header{padding:13px 13px 11px}.card-actions .button{font-size:10px;padding:7px 8px}.device-options{gap:6px;margin-left:13px;margin-right:13px}.url-bar{margin:0 12px}.device-options .muted{font-size:9px}.phone-stage{padding:18px 7px}.feedback-bar{padding:10px 12px}.feedback-bar .text-button{font-size:10px;padding:4px}}@media(max-width:640px){.phones{grid-template-columns:1fr}.phone-card{width:100%;max-width:520px;margin:auto}main{padding:24px 12px 0}.topbar{height:63px;padding:0 17px}.brand{font-size:24px;gap:13px}.brand span:last-child{font-size:13px}.tag{font-size:9px;padding:5px 8px}.intro{align-items:flex-start}.intro h1{font-size:23px}.intro .button{font-size:10px;padding:10px;margin-top:20px}.subtitle{font-size:11px;max-width:260px}.eyebrow{font-size:8px}.url-help{font-size:10px}.phone-stage{min-height:420px}.connection{font-size:9px}.device-options{gap:8px}footer{font-size:8px;flex-wrap:wrap}.audio-desk{right:12px;bottom:12px}}
