@font-face{font-family:PlexMono;src:url('assets/mono.ttf') format('truetype');font-display:swap}
:root{--ink:#070c13;--panel:#0b1522;--white:#f4f5f8;--muted:#b8c4d6;--faint:#879ab4;--blue:#174dff;--accent:#94b4ff;--line:#91b9ee30;--mono:PlexMono,'Courier New',monospace;--sans:Arial,Helvetica,sans-serif;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--white);font:18px/1.65 var(--sans);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}button,a,input,textarea,select{touch-action:manipulation}button{border:0;background:none}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.045em;line-height:1.08;font-weight:500}h1{font-size:clamp(43px,5.2vw,76px)}h2{font-size:clamp(31px,3.7vw,48px)}h3{font-size:26px}p{color:var(--muted)}em{color:var(--accent);font-weight:400}img{max-width:100%}[hidden]{display:none!important}::selection{background:var(--blue);color:white}.skip-link{position:fixed;z-index:200;top:10px;left:10px;background:var(--blue);color:white;padding:10px 18px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.header{height:88px;display:flex;align-items:center;padding:0 4.5%;gap:26px;border-bottom:1px solid var(--line);background:var(--ink);position:relative;z-index:10}.brand{padding:0;display:inline-flex;align-items:center;flex-shrink:0}.logo-crop{display:block;position:relative;overflow:hidden;width:123px;aspect-ratio:3522/1498}.logo-crop img{position:absolute;width:127.768313%;max-width:none;height:auto;left:-13.884157%;top:-97.663551%;filter:invert(1) brightness(2);mix-blend-mode:screen}.header-divider{height:26px;width:1px;background:var(--line)}.header-label,.eyebrow,.local-badge,.tiny-label{font:14px/1.6 var(--mono);letter-spacing:.09em}.header-label{color:var(--muted)}.header-right{margin-left:auto;display:flex;align-items:center;gap:32px}.local-badge{display:flex;align-items:center;gap:9px;color:var(--faint);font-size:14px}.local-badge i,.save-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent)}.text-button{padding:10px 0;min-height:44px;font-size:16px;color:var(--muted)}.text-button span{margin-left:12px;color:var(--accent)}.text-button:hover{color:white}.eyebrow{color:var(--accent);margin-bottom:22px;text-transform:uppercase}.btn{display:inline-flex;justify-content:center;align-items:center;gap:22px;min-height:51px;padding:12px 22px;border:1px solid #4672ff;background:var(--blue);border-radius:4px;font-size:18px;line-height:1.5;color:white}.btn:hover:not(:disabled){background:#2b5dff}.btn .arrow{font-size:26px;line-height:1}.btn.secondary{background:transparent;border-color:var(--line);color:var(--muted)}.btn.secondary:hover:not(:disabled){background:#91b9ee0d;border-color:#91b9ee77}.btn.small{min-height:41px;padding:8px 14px;font-size:16px;gap:10px}.muted{color:var(--faint)}.tiny-label{color:var(--faint)}
.welcome{max-width:1390px;margin:auto;padding:74px 5% 28px}.welcome-grid{display:grid;grid-template-columns:1.07fr 1fr;gap:85px;align-items:center;min-height:490px}.welcome h1{max-width:660px}.welcome .intro{margin-top:27px;max-width:480px;font-size:20px;line-height:1.75}.welcome-actions{display:flex;align-items:center;gap:28px;margin-top:34px;flex-wrap:wrap}.welcome-actions .btn{min-width:203px}.welcome-note{font-size:16px;color:var(--faint);margin-top:19px;max-width:455px}.welcome-visual{padding:31px;border:1px solid var(--line);background:radial-gradient(ellipse at 95% 0,#174dff20,transparent 65%),#0a1420;border-radius:6px;position:relative}.sample-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--line)}.sample-title{font-size:16px;color:#dbe4f3}.sample-number{font:14px var(--mono);color:var(--faint)}.sample-question{font-size:32px;line-height:1.22;letter-spacing:-.035em;margin:28px 0 12px;max-width:350px}.sample-helper{font-size:16px;max-width:350px}.sample-modes{display:flex;gap:24px;margin-top:27px;border-bottom:1px solid var(--line)}.sample-modes span{padding:0 0 11px;color:var(--faint);font-size:16px}.sample-modes .selected{color:#dce5ff;border-bottom:2px solid var(--blue)}.sample-voice{display:flex;align-items:center;gap:15px;background:#111f32;border:1px solid #90b9f038;padding:20px 17px;border-radius:4px;margin-top:21px}.sample-play{display:grid;place-items:center;border:1px solid #8aaeff77;border-radius:50%;width:39px;height:39px;font-size:16px;color:var(--accent);flex-shrink:0}.wave{height:32px;display:flex;align-items:center;justify-content:space-between;gap:3px;flex:1}.wave i{display:block;width:3px;border-radius:2px;background:#8fb0f9}.sample-time{font:14px var(--mono);color:var(--muted)}.sample-bottom{font:14px/1.8 var(--mono);color:var(--faint);margin-top:18px}.sample-caption{display:flex;gap:9px;align-items:center;font-size:16px;color:var(--muted);margin-top:22px}.sample-caption i{height:5px;width:5px;background:var(--accent);border-radius:50%}.intro-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:68px}.intro-step{padding:25px 24px 25px 0;display:flex;align-items:flex-start;gap:20px}.intro-step+.intro-step{border-left:1px solid var(--line);padding-left:30px}.intro-step>span{font:16px var(--mono);color:var(--accent);margin-top:4px}.intro-step strong{display:block;font-weight:400;font-size:18px}.intro-step p{font-size:16px;margin-top:5px;max-width:250px}.local-explainer{display:flex;justify-content:space-between;gap:30px;margin-top:23px;font-size:16px;color:var(--faint)}.local-explainer p{font-size:16px;color:var(--faint);max-width:720px}.local-explainer>span{white-space:nowrap;font-family:var(--mono);font-size:14px}
.workspace{display:grid;grid-template-columns:257px minmax(0,1fr);min-height:calc(100svh - 88px)}.sidebar{border-right:1px solid var(--line);padding:35px 22px 28px 29px;position:sticky;top:0;height:100svh;max-height:1100px;display:flex;flex-direction:column}.sidebar .eyebrow{font-size:14px;margin-bottom:10px;color:var(--faint)}.draft-name{font-size:24px;letter-spacing:-.025em;line-height:1.2;overflow-wrap:anywhere}.draft-stage{font-size:16px;color:var(--faint);margin-top:8px}.progress-meta{display:flex;justify-content:space-between;gap:8px;font:14px var(--mono);color:var(--faint);margin:25px 0 10px}.progress-track{height:3px;background:#91b9ee17;overflow:hidden}.progress-fill{background:var(--blue);height:100%;transition:width .25s}.steps-nav{display:flex;flex-direction:column;gap:3px;margin-top:30px}.step-nav{min-height:47px;display:flex;align-items:center;gap:12px;text-align:left;padding:8px 10px;color:var(--faint);border-radius:4px;font-size:16px}.step-nav:hover{color:white;background:#91b9ee09}.step-nav.active{color:white;background:#174dff1c}.step-index{font:14px var(--mono);width:22px;height:24px;display:grid;place-items:center;border:1px solid #91b9ee26;border-radius:50%;flex-shrink:0}.step-nav.active .step-index{background:var(--blue);border-color:var(--blue);color:white}.step-nav.complete .step-index{border-color:#91b9ee70;color:var(--accent)}.sidebar-foot{margin-top:auto;padding-top:28px;border-top:1px solid var(--line)}.sidebar-foot p{font-size:16px;line-height:1.7;color:var(--faint)}.sidebar-foot .text-button{font-size:16px;margin-top:8px}.content-area{min-width:0}.content-top{padding:18px 5%;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;align-items:center;font-size:16px;color:var(--faint)}.save-state{display:flex;align-items:center;gap:8px}.save-state.error{color:#ffb2a4}.save-state.error .save-dot{background:#ffb2a4}.section-main{max-width:940px;margin:auto;padding:48px 7% 50px;min-height:calc(100svh - 217px)}.section-main>.eyebrow{font-size:14px;margin-bottom:15px}.section-description{font-size:18px;line-height:1.8;margin-top:19px;max-width:610px}.section-hint{margin-top:17px;font-size:16px;color:var(--faint);padding-left:15px;border-left:2px solid var(--blue)}.questions{margin-top:42px}.question{padding:29px 0;border-top:1px solid var(--line)}.question:first-child{padding-top:0;border-top:0}.question-title{display:block;font-size:18px;line-height:1.5;color:var(--white);letter-spacing:-.01em;font-weight:400}.question-num{font:14px var(--mono);color:var(--faint);margin-right:9px}.required-mark{font:14px var(--mono);color:var(--accent);margin-left:9px;white-space:nowrap}.question-help{font-size:16px;line-height:1.75;margin-top:7px;max-width:650px;color:var(--faint)}input[type=text],input[type=email],input[type=url],input[type=tel],input[type=date],textarea,select{display:block;width:100%;min-height:49px;border:1px solid #91b9ee38;background:#0b1522;border-radius:4px;padding:13px 15px;margin-top:15px;font-size:18px;line-height:1.6;transition:border-color .15s}textarea{resize:vertical;min-height:120px}input::placeholder,textarea::placeholder{color:#71839e}input:focus,textarea:focus,select:focus{border-color:var(--accent)}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.input-grid .question{padding:20px 0;border-top:0}.input-grid .question-title{font-size:18px}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.route-card{padding:20px 18px;border:1px solid var(--line);border-radius:4px;display:flex;align-items:flex-start;gap:13px;cursor:pointer}.route-card:has(input:checked){border-color:#6c95ff;background:#174dff12}.route-card input{margin:5px 0 0;accent-color:var(--blue);width:16px;height:16px;flex-shrink:0}.route-card strong{font-weight:400;font-size:18px;display:block}.route-card small{font-size:16px;line-height:1.7;display:block;color:var(--faint);margin-top:5px}.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}.chip{border:1px solid var(--line);border-radius:4px;display:inline-flex;align-items:center;min-height:41px;gap:8px;padding:8px 12px;color:var(--muted);font-size:16px;cursor:pointer}.chip input{accent-color:var(--blue);width:14px;height:14px;margin:0}.chip:has(input:checked){background:#174dff17;border-color:#7198ff;color:white}.chip:has(input:disabled){opacity:.45;cursor:default}.help-option{font-size:16px;color:var(--faint);display:flex;gap:9px;align-items:flex-start;margin-top:15px;cursor:pointer}.help-option input{margin:3px 0 0;accent-color:var(--blue);width:14px;height:14px;flex-shrink:0}.answer-modes{display:flex;align-items:center;gap:7px;margin-top:16px}.mode-button{display:flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--line);border-radius:4px;color:var(--faint);font-size:16px;min-height:37px}.mode-button.active{color:white;background:#91b9ee0c;border-color:#91b9ee77}.mode-button svg{width:14px;height:14px}.answer-panel{margin-top:13px}.answer-panel textarea{margin-top:0}.voice-box{border:1px solid #91b9ee36;border-radius:4px;background:#0b1522;padding:20px}.voice-intro{display:flex;align-items:center;gap:14px}.mic-circle{height:42px;width:42px;border-radius:50%;border:1px solid #91b9ee44;display:grid;place-items:center;color:var(--accent);flex-shrink:0}.mic-circle svg{width:19px;height:19px}.voice-intro strong{font-size:16px;font-weight:400;display:block}.voice-intro small{color:var(--faint);display:block;font-size:16px;margin-top:3px}.voice-controls{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin-top:19px}.record-btn{display:inline-flex;align-items:center;gap:9px;padding:9px 15px;min-height:41px;border:1px solid #5f88ff;background:#174dff22;border-radius:4px;font-size:16px}.record-dot{height:8px;width:8px;border-radius:50%;background:var(--accent)}.record-btn.recording{border-color:#ee8b81;color:#ffd3cc;background:#e4685712}.recording .record-dot{background:#ff8b78;animation:pulse 1s infinite}.record-timer{font:16px var(--mono);color:var(--muted)}.voice-foot{font-size:14px;margin-top:14px;color:var(--faint)}.voice-error{font-size:16px;color:#ffb2a4;margin-top:12px}.voice-saved{margin-top:15px}.voice-saved audio{width:100%;height:40px;display:block}.voice-saved-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:14px;color:var(--faint);margin-top:8px}.voice-saved .text-button{font-size:16px;min-height:33px;padding:5px 0;color:#ffb6ac}.has-voice{font-size:14px;color:var(--accent);margin-left:4px}.section-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:21px 5%;border-top:1px solid var(--line);background:var(--ink);position:sticky;bottom:0;z-index:6}.footer-caption{font:14px var(--mono);color:var(--faint)}.footer-actions{display:flex;gap:12px}.mobile-steps{display:none}.materials-upload{padding:30px;border:1px dashed #91b9ee66;border-radius:5px;background:#0a1420;margin-top:26px;text-align:center}.materials-upload.dragover{background:#174dff20;border-color:var(--accent)}.materials-upload svg{width:25px;height:25px;color:var(--accent);margin-bottom:9px}.materials-upload h3{font-size:20px}.materials-upload p{font-size:16px;margin:9px auto 18px;max-width:430px}.file-category{max-width:350px;margin:0 auto 15px;text-align:left}.file-category label{font-size:16px;color:var(--faint)}.file-category select{font-size:16px;min-height:40px;padding:8px 12px;margin-top:7px}.file-list{margin-top:23px}.file-item{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.file-icon{border:1px solid var(--line);padding:8px;color:var(--accent);font:14px var(--mono);width:43px;text-align:center;flex-shrink:0}.file-info{min-width:0;flex:1}.file-info strong{font-size:16px;display:block;font-weight:400;overflow-wrap:anywhere}.file-info small{font-size:14px;color:var(--faint)}.icon-button{width:36px;height:36px;display:grid;place-items:center;color:var(--faint);border:1px solid var(--line);border-radius:4px;flex-shrink:0}.icon-button:hover{color:white;border-color:var(--accent)}.file-link{font-size:16px;color:var(--accent);text-decoration:none;margin-right:8px}.optional-admin{border-top:1px solid var(--line);margin-top:30px;padding-top:22px}.optional-admin summary{cursor:pointer;font-size:16px;color:var(--muted);padding:8px 0}.optional-admin>p{font-size:16px;margin:8px 0;color:var(--faint)}.empty-files{font-size:16px;color:var(--faint);padding:20px 0}.review-info{padding:18px 0;border-bottom:1px solid var(--line);font-size:16px;color:var(--faint)}.review-section{padding:26px 0;border-bottom:1px solid var(--line)}.review-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px}.review-heading h3{font-size:24px}.review-heading .text-button{font-size:16px}.review-answer{padding:12px 0}.review-answer dt{font-size:16px;color:var(--faint);margin-bottom:7px}.review-answer dd{margin:0;font-size:18px;color:#e0e7f2;white-space:pre-wrap;overflow-wrap:anywhere}.review-answer audio{display:block;width:100%;max-width:490px;margin-top:12px;height:40px}.review-answer .help-tag{font-size:16px;color:var(--accent);display:block;margin-top:7px}.review-empty{color:#7386a2!important;font-size:16px!important}.export-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:26px}.export-description{font-size:16px;margin-top:18px;line-height:1.9}.export-description strong{color:var(--muted);font-weight:400}.validation-message{color:#ffb6ac;font-size:16px;margin-top:16px}.field-error{color:#ffb6ac;font-size:16px;margin-top:7px}.draft-list{margin-top:24px}.draft-row{padding:20px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px}.draft-row>div{flex:1;min-width:0}.draft-row strong{font-size:18px;font-weight:400;display:block;overflow-wrap:anywhere}.draft-row small{font-size:16px;color:var(--faint);display:block;margin-top:5px}.draft-row .text-button{color:#ffb6ac;font-size:16px}.draft-tools{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.storage-warning{padding:15px 0;color:#ffb6ac;font-size:16px;border-bottom:1px solid var(--line);margin-bottom:15px}.privacy-line{font-size:16px;color:var(--faint);margin-top:29px}
dialog{padding:27px;background:#0b1522;border:1px solid #91b9ee66;color:var(--white);border-radius:6px;width:calc(100% - 32px);max-width:650px;max-height:85svh;overflow:auto}dialog::backdrop{background:#02060ce6;backdrop-filter:blur(8px)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.modal-header h2{font-size:30px}dialog p{font-size:16px;line-height:1.8}dialog .btn{margin-top:22px}#toast{position:fixed;z-index:200;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 21px;background:#13233a;border:1px solid #91b9ee66;border-radius:4px;box-shadow:0 15px 50px #0008;font-size:16px;max-width:calc(100% - 32px);width:max-content}.inline-icon{display:inline-block;width:15px;height:15px;vertical-align:middle}.local-footer{font:14px/1.8 var(--mono);color:var(--faint);padding:28px 0 5px}.finished-note{font-size:16px;color:var(--accent);margin-top:19px}.continue-notice{font-size:16px;color:var(--faint);margin-top:15px}.required-explanation{font-size:14px;color:var(--faint);margin-top:10px}@keyframes pulse{50%{opacity:.3}}
@media(min-width:1600px){.section-main{padding-inline:45px}.welcome{padding-top:95px}.welcome-grid{min-height:550px}}
@media(max-width:1100px){.welcome-grid{gap:40px}.welcome{padding-top:55px}.welcome h1{font-size:60px}.workspace{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding:28px 14px 24px 18px}.section-main{padding:38px 6%}.header{padding-inline:4%}.welcome-visual{padding:24px}.sample-question{font-size:30px}.header-right{gap:20px}}
@media(max-width:760px){.header{height:74px;padding:0 22px;gap:16px}.logo-crop{width:100px}.header-label{font-size:14px}.header-divider{height:22px}.local-badge{display:none}.header-right .text-button{font-size:16px}.header-right .text-button span{display:none}.welcome{padding:40px 24px 24px}.welcome-grid{grid-template-columns:1fr;gap:35px;min-height:auto}.welcome h1{font-size:clamp(46px,10vw,66px);max-width:540px}.welcome .intro{font-size:18px;margin-top:22px}.welcome-actions{margin-top:26px;gap:18px}.welcome-actions .btn{min-width:180px}.welcome-visual{margin-top:0;max-width:550px}.sample-top{padding-bottom:17px}.sample-question{font-size:30px;margin-top:23px}.sample-voice{padding:15px}.intro-steps{margin-top:38px;grid-template-columns:1fr}.intro-step,.intro-step+.intro-step{padding:20px 0;border-left:0}.intro-step+.intro-step{border-top:1px solid var(--line)}.intro-step p{max-width:none}.local-explainer{flex-direction:column;gap:17px;margin-top:20px}.workspace{display:block;min-height:calc(100svh - 74px)}.sidebar{display:none}.mobile-steps{display:block;padding:15px 24px;border-bottom:1px solid var(--line)}.mobile-steps select{margin:0;padding:8px 12px;min-height:41px;font-size:16px}.content-top{padding:13px 24px;font-size:14px}.content-top>span:first-child{max-width:47%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-main{padding:31px 24px 35px;min-height:calc(100svh - 295px)}.section-main h2{font-size:36px}.section-description{font-size:18px;margin-top:16px}.section-hint{font-size:16px}.questions{margin-top:32px}.question{padding:24px 0}.question-title{font-size:18px}.input-grid{grid-template-columns:1fr;gap:0}.input-grid .question{padding:15px 0}.route-grid{grid-template-columns:1fr;gap:10px}.route-card{padding:16px}.section-footer{padding:15px 24px}.footer-caption{display:none}.footer-actions{width:100%;justify-content:space-between}.section-footer .btn{min-height:47px;padding:11px 15px;font-size:16px;gap:14px}.chip{font-size:16px;padding:8px 10px}.materials-upload{padding:24px 17px}.draft-row{flex-wrap:wrap;gap:10px}.draft-row>div{flex-basis:100%}.draft-tools .btn{width:100%}.export-actions{flex-direction:column}.export-actions .btn{width:100%}dialog{padding:22px}.voice-box{padding:17px}.sample-bottom{font-size:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.section-main h1{font-size:clamp(31px,3.7vw,48px)}@media(max-width:760px){.section-main h1{font-size:36px}}

/* Lectura en celular: contenido 18 px, ayudas 16 px y metadatos 14 px. */
:root{--faint:#a4b3c9}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-bottom:120px}
body{font-size:18px;line-height:1.7}
.btn{min-height:56px;font-size:18px;padding:14px 24px}
.btn.small{min-height:48px;font-size:16px;padding:10px 16px}
.text-button{font-size:16px;min-height:48px;line-height:1.5}
.eyebrow,.header-label,.local-badge,.tiny-label{line-height:1.8;letter-spacing:.055em}
.welcome-grid>*{min-width:0}
.welcome .intro{font-size:20px;max-width:540px}
.welcome-note{font-size:16px;line-height:1.75;max-width:520px}
.sample-top{flex-wrap:wrap;gap:8px 20px}
.sample-number{line-height:1.7}
.sample-question{font-size:32px;line-height:1.25;max-width:none}
.sample-helper,.sample-caption{font-size:16px;line-height:1.7}
.sample-bottom{font-size:14px;line-height:1.85;letter-spacing:.015em}
.sample-modes span{font-size:16px;min-height:44px}
.sample-voice{gap:12px;padding:18px 14px}
.wave{min-width:0;overflow:hidden;gap:2px}
.wave i{flex:1 1 3px;max-width:3px;min-width:1px}
.sample-time{font-size:16px;flex-shrink:0}
.intro-step>span{font-size:16px;line-height:1.5}
.intro-step strong{font-size:20px;line-height:1.4}
.intro-step p{font-size:16px;line-height:1.75;max-width:none}
.local-explainer p{font-size:16px;line-height:1.8}
.local-explainer>span{font-size:14px;white-space:normal;line-height:1.8}
.workspace{grid-template-columns:280px minmax(0,1fr)}
.sidebar{height:calc(100svh - 24px);max-height:none;top:12px;overflow-y:auto}
.draft-name{font-size:26px;line-height:1.3}
.step-nav{font-size:16px;min-height:54px;line-height:1.5}
.step-index{font-size:14px;width:30px;height:30px}
.sidebar-foot p,.sidebar-foot .text-button{font-size:16px;line-height:1.75}
.content-top{font-size:14px;line-height:1.7;flex-wrap:wrap}
.section-main{max-width:980px}
.section-description{font-size:20px;line-height:1.75;max-width:700px}
.section-hint,.question-help{font-size:16px;line-height:1.75}
.question{padding-block:34px}
.question-title,.input-grid .question-title{font-size:21px;line-height:1.5}
.question-num,.required-mark{font-size:14px;line-height:1.7}
input[type=text],input[type=email],input[type=url],input[type=tel],input[type=date],textarea,select{font-size:18px;min-height:56px;line-height:1.6;padding:15px 16px}
textarea{min-height:152px}
input::placeholder,textarea::placeholder{color:#a2b0c5}
.route-card strong{font-size:20px;line-height:1.5}
.route-card small{font-size:16px;line-height:1.75}
.route-card input{width:20px;height:20px}
.chip{font-size:16px;min-height:48px;padding:10px 14px;line-height:1.5}
.chip input,.help-option input{width:18px;height:18px}
.help-option{font-size:16px;line-height:1.7;min-height:44px;align-items:flex-start}
.help-option input{margin-top:5px}
.answer-modes{flex-wrap:wrap;gap:10px}
.mode-button{font-size:16px;min-height:48px;padding:10px 15px;line-height:1.5}
.mode-button svg{width:18px;height:18px}
.voice-intro strong{font-size:20px;line-height:1.5}
.voice-intro small,.voice-foot{font-size:16px;line-height:1.75}
.voice-intro{align-items:flex-start}
.record-btn{font-size:18px;min-height:52px;line-height:1.5}
.voice-controls .text-button{font-size:16px;min-height:48px;display:inline-flex;align-items:center}
.record-timer{font-size:18px;line-height:1.5}
.voice-saved audio,.review-answer audio{height:48px}
.voice-saved-meta{font-size:14px;flex-wrap:wrap}
.voice-saved .text-button{font-size:16px;min-height:44px}
.materials-upload h3{font-size:26px;line-height:1.35}
.materials-upload p{font-size:16px;line-height:1.75;max-width:540px}
.file-category label{font-size:16px;line-height:1.7}
.file-category select{font-size:18px;min-height:54px;padding:12px}
.file-item{display:grid;grid-template-columns:58px minmax(0,1fr) 44px;gap:10px 14px;align-items:center}
.file-icon{width:58px;font-size:14px}
.file-info strong{font-size:18px;line-height:1.5}
.file-info small{font-size:16px;line-height:1.7}
.file-link{grid-column:2;grid-row:2;font-size:16px;min-height:44px;display:flex;align-items:center}
.file-item .icon-button{grid-column:3;grid-row:1}
.icon-button{width:44px;height:44px;font-size:22px}
.optional-admin summary{font-size:18px;line-height:1.65;min-height:48px}
.optional-admin>p,.privacy-line,.empty-files{font-size:16px;line-height:1.8}
.review-info,.export-description{font-size:16px;line-height:1.8}
.review-heading h3{font-size:26px;line-height:1.35}
.review-heading .text-button{font-size:16px}
.review-answer dt{font-size:18px;line-height:1.65}
.review-answer dd{font-size:20px;line-height:1.7}
.review-answer .help-tag{font-size:16px;line-height:1.75}
.review-empty{font-size:16px!important}
.field-error,.validation-message,.storage-warning{font-size:16px;line-height:1.7}
.draft-row strong{font-size:20px;line-height:1.5}
.draft-row small,.draft-row .text-button{font-size:16px;line-height:1.75}
dialog p{font-size:18px;line-height:1.75}
.modal-header h2{font-size:32px;line-height:1.2}
#toast{font-size:16px;line-height:1.6}
.local-footer{font-size:14px;line-height:1.9}
@media(max-width:1100px){.workspace{grid-template-columns:260px minmax(0,1fr)}.welcome-grid{gap:36px}.welcome .intro{font-size:20px}}
@media(max-width:900px){.welcome-grid{grid-template-columns:1fr;gap:40px}.welcome-visual{max-width:650px}.welcome h1{font-size:clamp(44px,7.5vw,64px)}.local-explainer{flex-direction:column;gap:20px}.intro-steps{grid-template-columns:1fr}.intro-step,.intro-step+.intro-step{border-left:0;padding:24px 0}.intro-step+.intro-step{border-top:1px solid var(--line)}}
@media(max-width:760px){
 .header{height:auto;min-height:100px;display:grid;grid-template-columns:100px minmax(0,1fr);padding:14px 20px;gap:6px 12px}
 .header .brand{grid-column:1;grid-row:1}.header-divider{display:none}
 .header-label{grid-column:1/-1;grid-row:2;font-size:14px;line-height:1.7}
 .header-right{grid-column:2;grid-row:1;margin-left:0;justify-content:flex-end}
 .header-right .text-button{font-size:16px;white-space:nowrap;min-height:48px}
 .welcome{padding:36px 20px 28px}.welcome h1{font-size:clamp(44px,10.4vw,58px);line-height:1.1}
 .welcome .intro{font-size:20px;line-height:1.75}.welcome-actions{gap:14px;align-items:stretch;flex-direction:column}
 .welcome-actions .btn{width:100%;min-height:58px}.welcome-actions .text-button{align-self:flex-start;font-size:16px}
 .welcome-visual{padding:23px 20px}.sample-question{font-size:30px}.sample-top{align-items:flex-start;flex-direction:column}
 .sample-title{font-size:18px;line-height:1.5}.sample-number{font-size:14px;line-height:1.7}
 .sample-bottom{font-size:14px}.sample-modes{gap:22px}.sample-voice{padding:16px 12px}
 .workspace{display:block;min-height:calc(100svh - 100px)}
 .mobile-steps{padding:18px 20px}.mobile-steps select{font-size:18px;min-height:54px;padding:12px}
 .content-top{padding:15px 20px;flex-direction:column;align-items:flex-start;gap:8px;font-size:14px}
 .content-top>span:first-child{max-width:none;overflow:visible;white-space:normal}
 .save-state{font-size:16px;line-height:1.7}
 .section-main{padding:36px 20px 44px}.section-main h1,.section-main h2{font-size:40px;line-height:1.15}
 .section-main>.eyebrow{font-size:14px;line-height:1.8}.section-description{font-size:20px;line-height:1.75}
 .section-hint,.question-help{font-size:16px;line-height:1.8}
 .question{padding-block:30px}.question-title,.input-grid .question-title{font-size:21px;line-height:1.5}
 .input-grid .question{padding-block:19px}.route-card{padding:20px 16px;gap:14px}
 .chip{font-size:16px;padding:11px 13px}.question-num{font-size:14px}.required-mark{display:inline-block;font-size:14px}
 .section-footer{padding:14px 16px;padding-bottom:max(14px,env(safe-area-inset-bottom));gap:0}
 .footer-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
 .section-footer .btn{font-size:16px;min-height:56px;padding:12px 10px;gap:8px;line-height:1.4}
 .section-footer .btn .arrow{flex-shrink:0}.voice-box{padding:20px 16px}
 .voice-controls{gap:12px}.voice-saved-meta{align-items:flex-start}.mic-circle{width:42px;height:42px}
 .materials-upload{padding:26px 16px}.materials-upload h3{font-size:26px}
 .modal-header h2{font-size:30px}.local-explainer p{font-size:16px}.local-explainer>span{font-size:14px}
}

/* ── Iconos de trazo · 5·nov·2026 ──────────────────────────────────────────────
   Antes las flechas eran glifos de texto (↗ ↓ → ← × ✓) en cuatro tamaños
   distintos: 14, 16, 22 y 26 px. Al dibujarlos la fuente del sistema se veían
   diferentes en iPhone, en Android y en Windows, no se alineaban con la línea
   base del texto y no se les podía ajustar grosor ni color como al resto de la
   interfaz. Ahora son SVG de trazo, un solo grosor (1.5) y un solo tamaño
   óptico, y heredan currentColor como los íconos que ya existían.           */
.btn .arrow,.text-button span{display:inline-flex;align-items:center;vertical-align:middle}
.btn .arrow svg{width:20px;height:20px;flex-shrink:0}
.btn.small .arrow svg{width:17px;height:17px}
.btn[data-action="prev"]{gap:11px}
.text-button span svg{width:15px;height:15px;flex-shrink:0}
.icon-button svg{width:18px;height:18px}
.step-index svg{width:17px;height:17px}
@media(max-width:760px){
 .icon-button svg{width:20px;height:20px}
 .step-index svg{width:16px;height:16px}
}

/* ── El último paso · 5·nov·2026 ───────────────────────────────────────────────
   «Comparte el archivo por el medio que acuerden» era honesto pero dejaba al
   cliente a medias justo en el paso que cierra. Mientras el brief no envíe
   solo, el último paso tiene que ser un botón. El enlace NO adjunta ni manda
   nada: abre la conversación y la persona arrastra el archivo; por eso el copy
   no promete que se mande solo.                                             */
.next-step{margin-top:26px;padding:22px;border:1px solid var(--line);border-radius:5px;background:#0b1522}
.next-step h3{font-size:20px;font-weight:400;margin:0 0 9px}
.next-step p{font-size:16px;line-height:1.75;color:var(--muted);margin:0 0 17px;max-width:620px}
.next-step .btn{text-decoration:none}
.next-step p.next-step-note{font-size:14px;line-height:1.7;color:var(--faint);margin:15px 0 0}
@media(max-width:760px){.next-step{padding:18px 16px}.next-step .btn{width:100%}}

/* ── «Necesito ayuda para definirlo» · 5·nov·2026 ──────────────────────────────
   Era la casilla más honesta del brief y no producía nada. Si alguien la marca
   dos o más veces, ése es el dato más valioso del documento: ese cliente no
   necesita que le ejecutemos, necesita que le diagnostiquemos, y se cotiza
   distinto. Hoy se leía como un formulario incompleto.                      */
.help-callout{margin:18px 0 0;padding:18px 20px;border-left:2px solid var(--blue);background:#174dff10}
.help-callout strong{display:block;font-weight:400;font-size:18px;line-height:1.6;color:var(--white)}
.help-callout p{margin:8px 0 0;font-size:16px;line-height:1.75;color:var(--faint)}

/* Server status stays outside the editable local questionnaire. */
.cloud-panel{max-width:1400px;margin:0 auto;padding:20px clamp(20px,4vw,56px);border-bottom:1px solid #91b9ee33;background:#0d1726;color:#c6d2e4}
.cloud-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.cloud-heading strong{font-weight:500}.cloud-mode{font:11px/1.5 monospace;letter-spacing:.08em;color:#efc175}.cloud-notice,.cloud-help,.cloud-status{font-size:13px;line-height:1.65}.cloud-notice{max-width:1000px;margin:10px 0}.cloud-panel a,.cloud-warning a,#modal-content a{color:#a9c7ff;text-underline-offset:3px}.cloud-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.cloud-status{margin:12px 0 0;color:#96aeca;min-height:22px}.cloud-status.error,#cloud-login-error{color:#ffb6a7}.cloud-warning{padding:14px;border:1px solid #efc17566;border-radius:5px;color:#efcf94;font-size:14px;line-height:1.6}#cloud-login label{display:block;margin:18px 0 8px}#cloud-token{display:block;width:100%;max-width:100%;background:#070c13;color:#eef3fa;border:1px solid #91b9ee66;border-radius:5px;padding:12px;font-size:16px}#cloud-login-error{font-size:14px}.cloud-panel button:disabled{opacity:.55;cursor:wait}.cloud-panel .btn.small{min-height:44px}#modal-content p{overflow-wrap:anywhere}#modal-content .draft-row{flex-wrap:wrap}#modal-content .draft-row>div{min-width:160px;flex:1}#modal-content .draft-row strong{overflow-wrap:anywhere}@media(max-width:600px){.cloud-panel{padding:17px 20px}.cloud-actions{gap:12px}.cloud-actions .text-button{font-size:12px}.cloud-heading strong{font-size:15px}.cloud-notice,.cloud-help,.cloud-status{font-size:12px}}
