.hp{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.optional{display:grid;gap:10px;margin-bottom:14px}
.switch{display:flex;align-items:center;gap:14px;min-height:56px;padding:0 16px;border:1px solid #49635e;border-radius:16px;background:rgba(4,17,25,.72);cursor:pointer;transition:border-color .2s,background .2s}
.switch:hover{border-color:var(--gold)}
.switch>span:nth-child(2){flex:1;font-size:15px}
.switch>svg{width:26px;height:26px}
.track{position:relative;display:inline-flex;align-items:center;flex:0 0 48px;height:28px;border:1px solid #647c73;border-radius:30px;background:#182c32;direction:ltr;transition:background .25s,border-color .25s}
.track input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.knob{width:20px;height:20px;margin-left:3px;border-radius:50%;background:#d9e2d9;transition:transform .25s var(--ease),background .25s}
.track:has(input:checked){background:#947c43;border-color:var(--gold)}
.track:has(input:checked) .knob{transform:translateX(20px);background:#fff4d5}
.track:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}
.reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s var(--ease)}
.reveal.open{grid-template-rows:1fr}
.reveal>div{min-height:0;overflow:hidden}
.reveal input{display:block;width:100%;height:52px;margin-top:10px;padding:0 16px;border:1px solid #31504e;border-radius:14px;outline:0;background:var(--field);font-size:16px;transition:border-color .2s,box-shadow .2s}
.message{display:flex;gap:12px;padding:16px 18px;border:1px solid #31504e;border-radius:18px;background:var(--field);transition:border-color .2s,box-shadow .2s}
.message>svg{flex:0 0 auto;width:26px;height:26px;margin-top:3px}
textarea{flex:1;width:100%;min-width:0;min-height:150px;max-height:55vh;padding:0;border:0;outline:0;resize:vertical;background:transparent;font-size:16px;line-height:1.9;field-sizing:content}
::placeholder{color:#8ea5a3;opacity:1}
.message:focus-within,.reveal input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #d7bd7822}
.reveal input:focus{box-shadow:inset 0 0 0 1px var(--gold)}
.actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.act{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:70px;padding:6px;border:1px solid #31504e;border-radius:16px;background:rgba(3,14,18,.5);color:#cdd9d0;font-size:13px;text-align:center;cursor:pointer;transition:transform .2s var(--ease),border-color .2s,background .2s}
.act svg{width:24px;height:24px}
.act:hover{transform:translateY(-2px);border-color:var(--gold);background:#d7bd7810}
.act:active{transform:scale(.97)}
.file-input:focus-visible+*,.act:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
#recordBtn.recording{border-color:#e0556f;background:#5c1a2a52;color:#ffdce3;animation:pulse 1.5s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 5px #ff41711f}}
.record-status{margin-top:10px;color:#ffdce3;font-size:15px;text-align:center;font-variant-numeric:tabular-nums;direction:ltr}
.voice-preview{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px;border:1px solid #31504e;border-radius:16px;background:rgba(3,14,18,.6);animation:rise .25s var(--ease) both}
.voice-preview audio{flex:1;min-width:0;height:40px;accent-color:var(--gold)}
.voice-cancel{padding:9px 16px;border:1px solid #6b3a44;border-radius:12px;background:#2b1219;color:#ffd9de;cursor:pointer;transition:background .2s}
.voice-cancel:hover{background:#40171f}
.files:empty{display:none}
.files{margin-top:12px}
.file-summary{margin-bottom:8px;color:var(--muted);font-size:12px;text-align:center}
.file-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.file-item{display:flex;align-items:center;gap:11px;padding:8px 12px;border:1px solid #31504e;border-radius:14px;background:rgba(3,14,18,.6);animation:rise .25s var(--ease) both;transition:opacity .2s,border-color .2s}
.file-item:hover{border-color:#d7bd7866}
.file-item.off{opacity:.45}
.file-item.off .file-name{text-decoration:line-through}
.file-check{position:relative;display:grid;place-items:center;flex:0 0 24px;height:24px;cursor:pointer}
.file-check input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.check-box{width:20px;height:20px;border:1.5px solid #647c73;border-radius:6px;transition:background .2s,border-color .2s}
.file-check input:checked+.check-box{background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2313211b' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center/14px no-repeat;border-color:var(--gold)}
.file-check input:focus-visible+.check-box{outline:2px solid var(--gold);outline-offset:2px}
.file-thumb{flex:0 0 42px;width:42px;height:42px;border-radius:10px;object-fit:cover;background:#0a1d1c}
.file-icon{display:grid;place-items:center;border:1px solid var(--line)}
.file-icon svg{width:22px;height:22px}
.file-meta{flex:1;min-width:0;display:flex;flex-direction:column}
.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.file-size{color:var(--muted);font-size:11px}
.file-remove{display:grid;place-items:center;flex:0 0 34px;height:34px;padding:0;border:0;border-radius:10px;background:transparent;cursor:pointer;transition:background .2s}
.file-remove:hover{background:#ff41711f}
.file-remove svg{width:19px;height:19px;stroke:#f08a9a}
.turnstile{display:flex;justify-content:center;margin-top:10px}
.turnstile:empty{display:none}
.submit{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:64px;margin-top:16px;border:1px solid #f0d68b;border-radius:34px;background:linear-gradient(135deg,#ecd592,#b8964a);box-shadow:0 8px 26px #b8964a30,inset 0 1px #fff6;color:#13211b;font-size:19px;font-weight:600;cursor:pointer;transition:transform .2s var(--ease),filter .2s,box-shadow .2s}
.submit svg{width:24px;height:24px;stroke:#13211b}
.submit:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 12px 32px #b8964a45,inset 0 1px #fff6}
.submit:active{transform:scale(.99)}
.submit:focus-visible{outline:2px solid #fff;outline-offset:3px}
.form-status{margin:14px 0 0;text-align:center;font-size:15px;line-height:1.7;color:#f1b4a8}
.form-status.ok{color:#b9e6c8}
.form-status small{display:block;margin-top:2px;font-size:12px;opacity:.65;direction:ltr}
.form-status[hidden]{display:none}
.submit:disabled{cursor:wait;transform:none;filter:none}
.submit .ico-done{display:none}
.submit[aria-busy="true"] svg,.submit[data-state="done"] .ico-send{display:none}
.submit[data-state="done"] .ico-done{display:block;animation:pop .45s var(--ease)}
.submit[data-state="done"]{border-color:#b6e6c6;background:linear-gradient(135deg,#bfe8cb,#4f9f78);box-shadow:0 8px 26px #4f9f7840,inset 0 1px #fff6}
.submit[data-state="error"]{animation:shake .4s}
.submit::after{content:"";position:absolute;inset:auto 22px 9px;height:3px;border-radius:3px;background:#13211b66;opacity:0;transform:scaleX(var(--p,0));transform-origin:right;transition:transform .25s linear,opacity .2s}
.submit[data-progress="on"]::after{opacity:1}
.submit[aria-busy="true"]::before{content:"";width:20px;height:20px;border:2.5px solid #13211b40;border-top-color:#13211b;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pop{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.drop-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(3,10,17,.82);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,visibility .18s}
.drop-overlay.active{opacity:1;visibility:visible}
.drop-box{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(100%,460px);padding:44px 24px;border:2px dashed var(--gold);border-radius:24px;background:#0a1d1c99;font-size:20px}
.drop-box svg{width:56px;height:56px}
.page{padding-bottom:max(28px,env(safe-area-inset-bottom))}
@media(max-width:560px){.act{height:66px;font-size:12px}}
