.platform-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.platform-option{position:relative}.platform-option input{opacity:0;pointer-events:none;position:absolute}.platform-option label{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);cursor:pointer;min-height:100%;transition:transform .12s var(--ease-out), border-color .15s ease, background .15s ease, box-shadow .15s ease;flex-direction:column;justify-content:space-between;padding:14px 15px;display:flex}.platform-option label:hover{border-color:var(--line-strong);background:var(--surface-2)}.platform-option label:active{transform:scale(.985)}.platform-option input:focus-visible+label{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.platform-option input:checked+label{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.platform-option input:disabled+label{opacity:.45;cursor:not-allowed;background:var(--surface-2);border-color:var(--line);transform:none}.platform-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.platform-name{color:var(--ink);font-size:14px;font-weight:700}.platform-badge{color:var(--muted);font-size:11px;font-weight:600}.checkmark{border:1px solid var(--line-strong);border-radius:var(--r-micro);background:var(--surface-2);color:#0000;place-items:center;width:20px;height:20px;transition:all .15s;display:grid}.checkmark svg{width:12px;height:12px}.platform-option input:checked+label .checkmark{border-color:var(--accent);background:var(--accent);color:#fff}.platform-description{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.45}.voice-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.voice-radio{cursor:pointer;display:block;position:relative}.voice-radio input{opacity:0;pointer-events:none;position:absolute}.voice-radio-content{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);min-height:100%;transition:transform .12s var(--ease-out), border-color .15s ease, background .15s ease, box-shadow .15s ease;flex-direction:column;justify-content:flex-start;padding:12px 14px;display:flex;position:relative}.voice-radio-content:after{content:"";border:1px solid var(--line-strong);border-radius:var(--r-micro);background:var(--surface-2);place-items:center;width:18px;height:18px;transition:all .15s;display:grid;position:absolute;top:14px;right:14px}.voice-radio:hover .voice-radio-content{border-color:var(--line-strong);background:var(--surface-2)}.voice-radio:active .voice-radio-content{transform:scale(.985)}.voice-radio input:focus-visible+.voice-radio-content{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.voice-radio input:checked+.voice-radio-content{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.voice-radio input:checked+.voice-radio-content:after{background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / 11px 11px;border-color:var(--accent)}.voice-title{color:var(--ink-2);margin-bottom:4px;padding-right:24px;font-size:14px;font-weight:600;display:block}.voice-radio input:checked+.voice-radio-content .voice-title{color:var(--ink)}.voice-desc{color:var(--muted);font-size:12px;line-height:1.4;display:block}.voice-input-panel{border-top:1px dashed var(--line);animation:fadeIn .2s var(--ease-out);margin-top:18px;padding-top:18px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.muted-note{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:12px;display:flex}.inline-icon{color:var(--ink-2);flex-shrink:0}@media (pointer:coarse){.platform-option label{min-height:52px;padding:16px}}@media (width<=640px){.platform-grid,.voice-options{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.platform-option label:active,.voice-radio-content:active{transition:none!important;transform:none!important}.voice-input-panel{animation:none!important}}
