:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}button{cursor:pointer}button,input,select{font:inherit}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}.screen-root{height:100dvh;width:100vw;display:grid;place-items:center;background:#0b0b0b;color:#fff;padding:24px;text-align:center}.screen-message{text-align:center;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:clamp(28px,8vw,140px);line-height:1.1;word-break:break-word;max-width:90vw}@keyframes flashRedTwice{0%{background:#ff2b2b}20%{background:#0b0b0b}50%{background:#ff2b2b}70%{background:#0b0b0b}to{background:#0b0b0b}}.flash-twice{animation:flashRedTwice 1.2s ease-in-out both}@media (pointer: fine){.screen-root{cursor:none}}.control-root{min-height:100dvh;display:grid;place-items:center;background:#0c0d10;color:#e7e9ee}.control-card{width:100vw;background:#13151a;border-top:1px solid #232834;border-bottom:1px solid #232834;border-radius:0;box-shadow:0 6px 18px #00000059;padding:20px 0}.control-inner{width:min(840px,92vw);margin:0 auto;padding:0 16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.control-topbar{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;margin-bottom:10px}.control-title{margin:0 0 16px;font-size:clamp(20px,2.2vw,28px);text-align:center;color:#e7e9ee}.control-row{display:grid;grid-template-columns:1fr auto;gap:10px;max-width:720px;margin:0 auto}.control-input{padding:12px 14px;background:#0f1116;color:#e7e9ee;border:1px solid #2a3140;border-radius:10px;outline:none}.control-input::placeholder{color:#96a0b2}.control-input:focus{border-color:#3a4559;box-shadow:0 0 0 3px #506ea040}.control-actions{margin-top:12px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.control-btn{border:1px solid #232834;background:#1a1f2a;color:#e7e9ee;padding:10px 14px;border-radius:10px;transition:transform .02s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}.control-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px #00000040;background:#202736;border-color:#2e3646}.control-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.control-btn.primary{background:#3d5a9a;border-color:transparent;color:#e7e9ee}.control-btn.primary:hover{background:#344e85}.control-btn.danger{background:#8b3a3a;border-color:transparent;color:#f3f4f6}.control-btn.danger:hover{background:#7a3131}.control-subtitle{margin:18px 0 8px;text-align:center;color:#a7b0c0;font-weight:600}.preset-box{border:1px solid #232834;background:#101217;border-radius:12px;padding:10px;max-height:280px;overflow:auto;width:min(520px,90vw);margin:0 auto}.preset-list{margin:0;padding:0 2px 0 20px}.preset-box.numbered .preset-list{list-style:decimal}.preset-box.unnumbered .preset-list{list-style:none}.preset-item{margin:0;padding:0}.preset-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:6px 8px;border-radius:8px}.preset-row:hover{background:#161a22}.preset-send{background:transparent;border:none;padding:0;color:#e7e9ee;text-align:left;cursor:pointer;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preset-actions{display:inline-flex;align-items:center;gap:6px}.preset-move,.preset-delete{width:26px;height:26px;display:grid;place-items:center;background:#2a3140;color:#e7e9ee;border:1px solid #333b4c;border-radius:6px;cursor:pointer;padding:0;font-weight:700;line-height:1}.preset-move:hover,.preset-delete:hover{background:#353f54;border-color:#3d465a}.preset-move:disabled{opacity:.5;cursor:not-allowed}.qr-box{display:flex;align-items:center;justify-content:flex-start}.qr-img{width:140px;height:140px;image-rendering:pixelated;border:1px solid #232834;background:#0f1116;border-radius:8px}.qr-skeleton{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.typing-indicator{position:fixed;bottom:24px;right:24px;background:#141820cc;border:1px solid #2a3140;border-radius:999px;padding:8px 12px;display:inline-flex;gap:6px}.typing-indicator .dot{width:8px;height:8px;border-radius:50%;background:#e7e9ee;opacity:.5;animation:typingDots 1.2s infinite}.typing-indicator .dot:nth-child(2){animation-delay:.15s}.typing-indicator .dot:nth-child(3){animation-delay:.3s}@keyframes typingDots{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #232834;background:#1a1f2a;color:#e7e9ee;padding:6px 8px 6px 10px;border-radius:10px;white-space:nowrap;max-width:100%;text-overflow:ellipsis;overflow:hidden;transition:transform .02s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}.chip:hover{transform:translateY(-1px);box-shadow:0 8px 18px #00000040;background:#202736;border-color:#2e3646}.chip-send{background:transparent;border:none;padding:0;margin:0;color:inherit;font:inherit;cursor:pointer;max-width:60ch;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.chip-remove{width:22px;height:22px;display:grid;place-items:center;background:#2a3140;color:#e7e9ee;border:1px solid #333b4c;border-radius:50%;cursor:pointer;font-weight:700;line-height:1;padding:0}.chip-remove:hover{background:#353f54;border-color:#3d465a}.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#1a1f2a;border:1px solid #232834;color:#e7e9ee;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .02s ease}.icon-btn:hover{background:#202736;border-color:#2e3646;box-shadow:0 8px 18px #00000040;transform:translateY(-1px)}.settings-overlay{position:fixed;inset:0;background:#00000073;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:30}.settings-overlay.open{opacity:1;pointer-events:auto}.settings-drawer{position:fixed;right:0;top:0;height:100dvh;width:min(340px,92vw);background:#13151a;border-left:1px solid #232834;box-shadow:-10px 0 30px #00000059;transform:translate(100%);transition:transform .25s ease;z-index:31;display:flex;flex-direction:column}.settings-drawer.open{transform:translate(0)}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid #232834}.settings-header h3{margin:0;font-size:1.05rem;color:#e7e9ee}.settings-section{padding:14px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0}.settings-sep{border:0;border-top:1px solid #232834;margin:12px 0}.settings-label{color:#cfd5e3;font-size:.95rem;min-width:120px}.settings-select,.settings-number{background:#0f1116;color:#e7e9ee;border:1px solid #2a3140;border-radius:10px;padding:8px 10px;outline:none}.settings-select:focus,.settings-number:focus{border-color:#3a4559;box-shadow:0 0 0 3px #506ea040}.settings-inputs{display:inline-flex;align-items:center;gap:8px}.settings-inputs input[type=range]{accent-color:#3c5073}.settings-unit{color:#a7b0c0;font-size:.9rem}.settings-preview{margin-top:16px}.settings-preview-box{border:1px dashed #2a3140;border-radius:10px;padding:12px;color:#e7e9ee;background:#101217}.toggle{position:relative;display:inline-flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;border-radius:999px;border:1px solid #232834;background:#1a1f2a;color:#e7e9ee;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.toggle:hover{background:#202736;border-color:#2e3646;box-shadow:0 8px 18px #00000040}.toggle .toggle-label{font-size:.95rem;padding-right:4px}.toggle:before{content:"";width:46px;height:26px;border-radius:999px;background:#0f1116;border:1px solid #2a3140;display:inline-block}.toggle .toggle-knob{position:absolute;left:7px;width:22px;height:22px;border-radius:50%;background:#2a3140;border:1px solid #333b4c;transition:transform .2s ease,background .2s ease,border-color .2s ease}.toggle.on{background:#2b3a55;border-color:#3a4b6d}.toggle.on .toggle-knob{transform:translate(22px);background:#3c5073;border-color:#4a5f86}.toggle.off{background:#1a1f2a}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}}
