.sand-card{background:#eee9dd}.record-back{margin-left:max(0px,calc((100% - 860px)/2))}.record-source-grid{max-width:860px;margin:0 auto 18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.record-source-card{min-height:132px;border:1px solid transparent;border-radius:20px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;color:var(--ink);font-size:18px}.record-source-card:hover{border-color:#9db4ac;box-shadow:0 12px 30px rgba(38,51,59,.07)}.record-source-card:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.record-source-card svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.record-source-card span{font-weight:720}.record-panel{position:relative;max-width:860px;margin:0 auto;min-height:230px;display:grid;align-items:center}.record-idle{display:grid;place-items:center;min-height:164px}.record-idle-dot{width:15px;height:15px;border:3px solid #80968e;border-radius:50%}.record-live{min-height:164px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}.record-live[hidden],.record-result[hidden],.record-transcript[hidden],.record-message[hidden]{display:none}.record-live-dot{width:12px;height:12px;border-radius:50%;background:#a35f69;box-shadow:0 0 0 7px rgba(163,95,105,.12);animation:record-pulse 1.5s ease-in-out infinite}.record-live strong{font-variant-numeric:tabular-nums;font-size:24px;letter-spacing:.03em}.record-stop{background:#965f67;color:#fff;display:flex;align-items:center;gap:9px}.record-stop span{width:10px;height:10px;border-radius:2px;background:#fff}.record-result{position:relative;display:grid;gap:18px}.record-reset{position:absolute;right:-12px;top:-17px;width:38px;height:38px;padding:0;border-radius:50%;background:#f3f4f1;color:#536068;font-size:24px;line-height:1}.record-result audio{width:calc(100% - 35px);height:50px}.record-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.record-actions button{min-height:50px;display:flex;align-items:center;justify-content:center;gap:9px}.record-actions button>svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.record-transcript{display:grid;gap:14px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.record-transcript textarea{min-height:190px;resize:vertical;line-height:1.6}.record-transcript .button-link{width:100%}.record-message{margin-top:16px;padding:12px 14px;border-radius:13px;background:#fff1ef;color:#7d4848}.module-icon{line-height:1}@keyframes record-pulse{50%{opacity:.48;transform:scale(.82)}}@media(max-width:900px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:901px){.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.record-source-grid,.record-actions{grid-template-columns:1fr}.record-source-card{min-height:105px}.record-panel{padding:20px}.record-live{grid-template-columns:auto 1fr}.record-stop{grid-column:1/-1;justify-content:center}.record-result audio{width:100%}.record-reset{right:-7px;top:-14px}}
.record-source-grid.microphone-only{grid-template-columns:1fr}.record-source-card.is-starting{outline:3px solid rgba(126,158,147,.18)}
.record-source-card[hidden]{display:none!important}
.record-panel{display:block;min-height:0;padding:16px 36px 34px}.record-visual{position:relative;min-height:205px;overflow:hidden;border-radius:18px;background:linear-gradient(145deg,#fff,#fafbf9)}.record-visual canvas{display:block;width:100%;height:205px}.record-idle,.record-live{position:absolute;inset:0;min-height:0}.record-idle{pointer-events:none}.record-idle-dot{opacity:.72}.record-live{display:flex;inset:auto 18px 16px 18px;min-height:0;justify-content:flex-end;gap:12px;align-items:center}.record-live strong{padding:9px 2px;font-size:17px;background:rgba(255,255,255,.86);border-radius:10px}.record-live[hidden]{display:none}.record-result{margin-top:14px}.record-result audio{width:100%}.record-reset{right:-12px;top:-18px}.record-transcript{margin-top:20px}@media(max-width:760px){.record-panel{padding:12px 18px 24px}.record-visual,.record-visual canvas{min-height:178px;height:178px}.record-live{inset:auto 10px 10px 10px;justify-content:space-between}.record-live strong{font-size:16px}.record-stop{grid-column:auto}.record-reset{right:-5px;top:-18px}}
.record-input-choice{position:absolute;left:18px;bottom:16px;padding:9px 12px;font-size:14px;background:rgba(255,255,255,.9)}.record-input-choice[hidden]{display:none}.record-device-dialog{width:min(440px,calc(100% - 36px));padding:20px;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);background:#fff}.record-device-dialog::backdrop{background:rgba(38,51,59,.26);backdrop-filter:blur(3px)}.record-device-dialog form{display:flex;justify-content:flex-end}.record-device-dialog form button{width:34px;height:34px;padding:0;border-radius:50%;background:#f3f4f1;font-size:22px}.record-device-dialog [data-record-device-list]{display:grid;gap:9px;margin-top:5px}.record-device-choice{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:13px;background:#fff;text-align:left;color:var(--ink)}.record-device-choice:hover{border-color:#8ca89f;background:#f7faf8}@media(max-width:760px){.record-input-choice{left:10px;bottom:10px}}
