@charset "UTF-8";
.discussion-document-toolbar{display:none}
@font-face{font-family:'Helvetica Innovara';src:url('../assets/fonts/helvetica-light.ttf') format('truetype');font-style:normal;font-weight:300;font-display:block}
@font-face{font-family:'Helvetica Innovara';src:url('../assets/fonts/helvetica-light-oblique.ttf') format('truetype');font-style:italic;font-weight:300;font-display:block}
@font-face{font-family:'Helvetica Innovara';src:url('../assets/fonts/helvetica-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:block}
@font-face{font-family:'Helvetica Innovara';src:url('../assets/fonts/helvetica-oblique.ttf') format('truetype');font-style:italic;font-weight:400;font-display:block}
@font-face{font-family:'Helvetica Innovara';src:url('../assets/fonts/helvetica-bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:block}
@font-face{font-family:'Helvetica Innovara';src:url('../assets/fonts/helvetica-bold-oblique.ttf') format('truetype');font-style:italic;font-weight:700;font-display:block}
@font-face{font-family:'Milky';src:url('../assets/fonts/milky.otf') format('opentype');font-style:normal;font-weight:400;font-display:block}
.game-score{font-size:11px!important;white-space:nowrap;color:#007a89;background:#d9f0f3;padding:5px 8px;border-radius:8px}.game-score b{font-size:14px}.score-sync-status{text-align:right;padding:0 5px 14px;color:#468b83;font-size:10px}.score-sync-status.offline{color:#a57532}.game-footer{flex-wrap:wrap}.welcome-bottom .text-button{font-size:11px}
:root{--navy:#102d4d;--ink:#13344d;--muted:#627b91;--teal:#009ca9;--teal-dark:#007a89;--line:#c9dce7;--paper:#f8fbfd;--radius:18px;--shadow:0 12px 36px #18364c0e;--display:'Milky';--sans:'Helvetica Innovara';color-scheme:light}
*{box-sizing:border-box}body{margin:0;font-family:var(--sans);color:var(--navy);background:#e9f2f6;min-width:320px;font-size:16px;line-height:1.5}button,input,textarea,select,option{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #007e93;outline-offset:4px}button,input,textarea{touch-action:manipulation}h1,h2,h3,p{margin:0}h1{letter-spacing:-.035em;line-height:1.13}h2{line-height:1.25;letter-spacing:-.02em;font-size:25px}h3{font-size:18px;line-height:1.35}p{color:var(--muted)}h1:focus{outline:none}a{color:var(--teal-dark)}.icon{width:24px;height:24px;flex-shrink:0;vertical-align:middle}.tiny{width:15px;height:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.laboratory{position:fixed;inset:0;z-index:-2;background:#eef5f8 url('../assets/laboratory.png') center center/cover no-repeat}.laboratory:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f6fafc22,#f6fafc38 30%,#f6fafc38 70%,#f6fafc22)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:1px solid transparent;border-radius:12px;min-height:58px;padding:14px 25px;font-size:17px;font-weight:600;transition:box-shadow .2s,background .2s,transform .2s;text-decoration:none;line-height:1.25}.button span{flex:1}.button .icon{width:23px;height:23px}.button.primary{background:linear-gradient(125deg,#10b8c2 0%,#009ba9 50%,#008796 100%);color:#fff;border-color:#3fcbd2;box-shadow:0 5px 0 #006e7910,0 8px 24px #0099a42b,inset 0 1px 1px #ffffff6b}.button.primary:hover{background:linear-gradient(125deg,#0eabb6,#007b8d);box-shadow:0 10px 28px #0087953b;transform:translateY(-1px)}.button.outline{background:linear-gradient(120deg,#fbfdfff2,#e8f3fad9);border-color:#b5d1df;box-shadow:0 4px 12px #344e6110}.button.outline:hover{background:#dceff6;border-color:#50b9c8}.button.danger{color:#b72344;background:#fff6f7;border-color:#ce5970}.button.wide{width:100%}.button.compact{min-height:46px;padding:10px 18px;gap:12px;font-size:16px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);background:#f8fcfff0;border-radius:50%}.icon-button:hover{background:#e2f5fa}.text-button{display:inline-flex;align-items:center;gap:8px;padding:6px;border:0;background:none;font-size:14px;color:var(--muted)}.text-button:hover{color:var(--teal-dark)}.text-button .icon{width:18px;height:18px}.pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid #b7dce4;background:#f3fcffd9;border-radius:24px;color:var(--teal-dark);font-size:13px;font-weight:600}.pill .icon{width:17px;height:17px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;color:#648496;text-transform:uppercase}.glass{border:1px solid #fffffff0;background:linear-gradient(125deg,#fcfdfff2,#eff7fce8);border-radius:var(--radius);box-shadow:var(--shadow),inset 0 0 0 1px #d8e7ef8c;backdrop-filter:blur(12px)}.round-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#d5f0f6,#c5eaf0);color:var(--teal-dark);flex-shrink:0}.round-icon .icon{width:30px;height:30px}.heading-symbol{display:inline-flex;width:73px;height:73px;border-radius:50%;align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#6fd7d8,#00a3ad 60%,#008a9b);box-shadow:inset 0 2px 3px #ffffff65;flex-shrink:0}.heading-symbol .icon{width:35px;height:35px;stroke-width:2}.red{background:linear-gradient(145deg,#ff7d94,#d3264b)!important;color:#fff!important}
.boot{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px}.boot-mark{font-size:42px;color:#fff;background:var(--teal);width:70px;height:70px;border-radius:22px;text-align:center}.load-error{max-width:650px;margin:15vh auto;background:white;padding:35px;border-radius:20px}.load-error p{margin:20px 0}
.welcome{min-height:100svh;display:flex;align-items:center;flex-direction:column;padding:25px 5% 20px;position:relative;overflow:hidden}.welcome-top,.welcome-bottom{display:flex;width:100%;align-items:center;justify-content:space-between}.wordmark{font-size:18px;font-weight:800;letter-spacing:.14em;color:var(--navy);text-decoration:none;white-space:nowrap}.wordmark span{font-weight:400;font-size:13px;letter-spacing:.08em;margin-left:10px;border-left:1px solid #9bb6c4;padding-left:10px}.edition{font-size:10px;letter-spacing:.2em;color:#537185;font-weight:600}.hero-heading{text-align:center;margin-top:34px;position:relative;z-index:2}.hero-heading .eyebrow{color:var(--teal-dark);font-size:11px;letter-spacing:.20em;margin-bottom:16px}.hero-heading h1{font-family:var(--display);font-size:clamp(35px,4.2vw,65px);font-weight:600;letter-spacing:.025em}.hero-heading h1 em{font-weight:400;font-style:italic;white-space:nowrap}.hero-heading p{font-size:clamp(17px,1.6vw,23px);color:#587083;margin-top:14px}.teal-rule{display:block;background:#16bac5;width:56px;height:3px;margin:22px auto 0;border-radius:2px}.scene-host{position:relative;isolation:isolate}.scene-host canvas{display:block;width:100%;height:100%}.scene-fallback{display:none}.no-webgl .scene-fallback{display:flex;position:absolute;inset:10%;background:#edf7fbe8;border:1px solid #9ebfce;border-radius:20px;align-items:center;justify-content:center;flex-direction:column;gap:15px;min-height:160px;text-align:center}.no-webgl .scene-fallback>.icon{width:80px;height:80px;color:var(--teal)}.no-webgl canvas{visibility:hidden}.hero-object{height:clamp(245px,36vh,440px);width:min(810px,84vw);margin:-3px 0 -10px;filter:drop-shadow(0 20px 18px #31465620)}.entry-form{width:400px;max-width:95%;position:relative;z-index:2}.entry-form label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:#47657b}.entry-field{position:relative;margin-bottom:13px}.entry-field>.icon{position:absolute;top:16px;left:16px;width:19px;color:#7b96a7}.entry-field input{padding-left:46px}input,textarea{width:100%;background:#ffffffcf;border:1px solid #adc5d4;border-radius:8px;padding:14px 16px;font-size:16px;color:var(--navy);outline-offset:2px;box-shadow:inset 0 1px 3px #25374b06}input::placeholder,textarea::placeholder{color:#8a9dab}input{min-height:52px}.entry-form .button{min-height:58px}.resume-caption{margin-bottom:15px}.welcome-meta{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:24px;font-size:12px;color:#657f8f}.welcome-meta span{display:flex;align-items:center;gap:7px}.welcome-meta .icon{width:16px;height:16px;color:var(--teal-dark)}.welcome-bottom{font-size:10px;letter-spacing:.04em;color:#7a909e;margin-top:auto;padding-top:25px}
.game-shell{max-width:1440px;margin:auto;padding:20px 38px 0;min-height:100svh;display:flex;flex-direction:column}.game-header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:75px;padding:12px 22px;background:linear-gradient(125deg,#ffffffeb,#eef8fddf);border:1px solid #fffffff0;box-shadow:0 4px 22px #20394e0a;border-radius:13px;backdrop-filter:blur(15px)}.team-name{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:700;max-width:28%}.team-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-name>.icon{width:31px;height:31px}.stage-status{text-align:center}.stage-status>span{font-size:11px;letter-spacing:.03em;font-weight:600;color:var(--muted)}.step-track{display:flex;gap:19px;align-items:center;justify-content:center;margin-bottom:3px}.step-dot{width:15px;height:15px;border:1.5px solid #92acbe;border-radius:50%;font-size:0;background:#e7f0f5;position:relative;display:flex;align-items:center;justify-content:center;color:white}.step-dot:not(:last-child):after{content:'';position:absolute;left:13px;top:5px;width:21px;height:1.5px;background:#a6c0ce}.step-dot.active{background:#00a6b0;border-color:#d5f5f7;box-shadow:0 0 0 2px #4fbac4}.step-dot.done{background:#0097a3;border-color:#0097a3}.step-dot .icon{width:10px;height:10px;stroke-width:3}.header-actions{display:flex;align-items:center;gap:14px}.timer{display:flex;align-items:center;gap:9px;font-size:23px;letter-spacing:-.02em;font-weight:700;font-variant-numeric:tabular-nums;min-width:97px}.timer .icon{width:24px;height:24px}.timer.urgent{color:#bf3150}.pause-button{width:35px;height:35px;background:transparent;border:0;color:#648194}.pause-button .icon{width:17px}.game-main{width:100%;flex:1;margin:0 auto;padding:0 22px 10px;max-width:1220px;animation:appear .3s ease-out}.page-heading{display:flex;gap:23px;align-items:center;justify-content:center;text-align:left;margin:32px 0}.page-heading h1{font-size:clamp(30px,3.3vw,48px);font-family:var(--sans);font-weight:600}.page-heading p{font-size:16px;margin-top:10px;line-height:1.45;color:#5d7890}.page-heading:has(>.heading-symbol) h1{font-family:var(--sans);font-weight:700;font-size:clamp(29px,3vw,43px)}.game-footer{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8296a3;padding:16px 20px 14px;gap:12px}.game-footer>span{display:flex;align-items:center;gap:6px}.game-footer .icon{width:13px;height:13px}.footer-brand{letter-spacing:.17em;font-size:10px}.footer-brand b{font-weight:400}.footer-legal{font-size:9px;letter-spacing:.04em;white-space:pre;text-align:center}.game-footer .footer-legal{text-align:right}.game-footer .text-button{font-size:11px}.bottom-actions{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:28px}.bottom-actions>.primary{min-width:340px}.bottom-actions.spread{justify-content:stretch}.bottom-actions.spread .primary{margin-left:auto;min-width:320px}
.simple-top{display:flex;justify-content:space-between;align-items:center}.intro-screen{position:relative;padding:30px 5% 35px;max-width:1360px;margin:auto;min-height:100svh}.intro-screen .page-heading{text-align:center;margin:38px 0}.intro-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:55px;align-items:center;max-width:1140px;margin:auto}.paper-folder{position:relative;background:linear-gradient(140deg,#dccaab,#bfaa8b);border:1px solid #b39c7c;border-radius:5px 16px 14px 5px;padding:16px;box-shadow:1px 4px 0 #cab798,2px 7px 0 #b5a082,0 22px 30px #21344920;transform:rotate(-1deg)}.folder-tab{position:absolute;top:-26px;left:15px;background:#cdba9b;border:1px solid #b39c7c;border-bottom:0;padding:7px 20px;border-radius:9px 9px 0 0;font-size:9px;font-weight:700;letter-spacing:.16em;color:#6c6254}.paper-sheet{background:linear-gradient(110deg,#fffdf9,#f2f0e9);padding:28px 30px;min-height:390px;box-shadow:0 2px 4px #65533b20;position:relative}.patient-top{display:flex;gap:18px;align-items:center}.patient-top h2{font-family:var(--sans);font-size:26px;margin:4px 0}.patient-top p{font-size:12px}.avatar{width:63px;height:70px;background:#dce6eb;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#859ba8;flex-shrink:0}.avatar>.icon{width:48px;height:48px;stroke-width:1.3}.paper-section{margin-top:24px;border-top:1px solid #cfd5d3;padding-top:17px}.paper-section h3{display:flex;gap:9px;align-items:center;font-size:16px}.paper-section h3 .icon{color:var(--teal-dark);width:19px}.paper-section p{font-size:13px;line-height:1.65;margin-top:9px}.skeleton{height:8px;background:#d2d8d9;margin-top:13px;width:86%;border-radius:3px}.skeleton.short{width:60%;margin-top:8px}.stamp{display:inline-block;border:2px solid #ad6458;padding:6px 12px;color:#a86154;font-size:13px;font-weight:800;letter-spacing:.07em;transform:rotate(-6deg);opacity:.72;margin-top:20px}.teal-stamp{color:#007f8b;border-color:#007f8b}.mission-instructions{display:flex;flex-direction:column;gap:15px}.instruction{display:flex;align-items:center;gap:21px;padding:22px}.instruction h2{font-size:20px;margin-top:3px}.instruction p{font-size:13px;margin-top:7px}.instruction-number{font-size:10px;letter-spacing:.15em;color:#7a98aa}.mission-badges{display:flex;gap:14px}.mission-badges span{flex:1;text-align:center;background:#e0f3f7c4;border:1px solid #bee4eb;border-radius:10px;padding:13px;color:var(--teal-dark);font-weight:600}.mission-badges .icon{margin-right:8px;width:22px}.welcome-bottom{gap:8px 20px}.intro-footer{position:absolute;left:50%;bottom:9px;transform:translateX(-50%);width:max-content;max-width:90%;color:#8fc1db}
@media(max-width:800px){.footer-legal{white-space:normal}.welcome-bottom{flex-wrap:wrap}.welcome-bottom .footer-legal{order:3;flex-basis:100%}.intro-footer{position:static;width:auto;max-width:none;margin:16px auto 0;transform:none}}
.order-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:12px}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:10px}.section-label>span{font-size:10px;color:#8a9eac}.bank-cards{display:flex;flex-direction:column;gap:12px;min-height:350px}.test-card{display:flex;align-items:center;gap:16px;width:100%;min-height:72px;padding:14px 18px;border:1px solid #b7d3df;border-radius:11px;background:linear-gradient(120deg,#ffffff,#f0f7fb);text-align:left;box-shadow:0 6px 16px #2c4b5e0c;touch-action:none;user-select:none;transition:border-color .15s,box-shadow .15s,transform .15s}.test-card:hover{border-color:#31b0bc;transform:translateY(-1px)}.test-card.selected{outline:2px solid #16abb9;outline-offset:1px;background:#e3f8fa;box-shadow:0 6px 19px #00a0aa22}.test-card.dragging{opacity:.6;transform:scale(.98)}.test-card>span:nth-child(2){flex:1}.test-card strong{display:block;font-size:17px;font-weight:600}.test-card small{display:block;color:#8397a5;font-size:11px;margin-top:3px}.card-icon{display:flex;align-items:center;justify-content:center;width:36px;height:40px;color:#17627d}.card-icon>.icon{width:30px;height:30px;stroke-width:1.5}.drag-grip{width:15px;height:20px;color:#a4bac7}.order-slots>.eyebrow{margin-bottom:18px}.slot{display:flex;align-items:center;min-height:76px;margin-bottom:11px;border:1.5px dashed #b1ccd9;border-radius:10px;background:#f7fcff75;transition:background .15s}.slot:last-child{margin-bottom:0}.slot-number{font-size:19px;font-weight:600;width:53px;flex-shrink:0;text-align:center;color:#7995a7}.empty-slot{border:0;background:none;color:#9caeb9;font-size:12px;width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:10px 20px 10px 0}.empty-slot>.icon{width:17px;color:#b5c8d2}.slot.filled{border-style:solid;border-color:#cae1e8;background:#e6f2f7}.slot .test-card{min-height:73px;box-shadow:none;border:0;border-radius:0 9px 9px 0;padding-left:10px}.slot.accepting{border-color:#74bec8}.slot.drop-target{background:#bff2f4;border-color:var(--teal);box-shadow:0 0 0 2px #03a9b1}.all-placed{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;flex:1;border:1px solid #ffffffa6;background:#e5f6f88f;border-radius:15px;text-align:center;min-height:320px}.all-placed>.icon{width:45px;height:45px;color:var(--teal)}.all-placed small{color:#7694a1}.inline-message{display:none;gap:11px;align-items:flex-start;background:#fff1d7;border:1px solid #e8c485;border-radius:9px;padding:12px 16px;color:#835216;font-size:13px;margin-top:16px;line-height:1.5}.inline-message.visible{display:flex}.inline-message .icon{width:20px;height:20px}
.words-layout{display:grid;grid-template-columns:1.45fr .8fr;gap:22px;align-items:stretch}.word-board{padding:20px}.word-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;touch-action:none;user-select:none}.letter{aspect-ratio:1/1;min-width:0;width:100%;padding:0;border:1px solid #cfdee7;background:#f8fcffcf;border-radius:4px;color:#143454;font-weight:650;font-size:clamp(14px,1.45vw,22px);touch-action:none;user-select:none}.letter:hover{border-color:#68c2cb}.letter.selecting{background:#42c2cc;color:white;border-color:#099eab}.letter.found{background:#b1e7e9;border-color:#8bdadc;color:#005e72}.letter.found.selecting{background:#55c6ce}.word-sidebar{padding:28px 25px}.word-progress strong{font-size:21px}.progress-bar{height:7px;background:#d5e3ec;border-radius:8px;overflow:hidden;margin-top:16px}.progress-bar>span{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#009ba8,#48c1c8);transition:width .3s}.word-list{display:flex;flex-direction:column;gap:14px;margin:29px 0 24px}.word-item{display:flex;align-items:center;gap:13px;padding:12px 9px;border-radius:10px}.word-item.found{background:#cfedef}.word-item strong{font-size:17px}.word-item small{display:block;color:#7a96a6;font-size:10px;letter-spacing:.13em;margin-top:4px}.word-check{display:flex;align-items:center;justify-content:center;background:#e0e9ef;color:transparent;border-radius:50%;width:32px;height:32px;flex-shrink:0}.found .word-check{background:var(--teal);color:white}.word-check .icon{width:19px;height:19px;stroke-width:2.5}.help-copy{font-size:13px;line-height:1.7;color:#7890a0;margin-bottom:23px}.word-sidebar .button{font-size:14px;gap:12px;min-height:52px;padding:12px}.word-feedback{min-height:25px;font-size:12px;color:var(--teal-dark);margin-top:20px}
.physical-label{text-align:center;margin-top:-13px}.physical-object{height:clamp(250px,33vh,385px);max-width:800px;margin:auto}.physical-answer{max-width:740px;margin:-2px auto 0;padding:23px 28px}.answer-form>label{display:block;text-align:center;font-size:18px;font-weight:600;margin-bottom:15px}.answer-actions{display:flex;gap:17px;margin-top:15px}.answer-actions>.primary{flex:1}.answer-form input{text-align:center;letter-spacing:.06em;min-height:53px}.stage-filter .page-heading h1{font-size:clamp(24px,2.7vw,38px)}.stage-articles .page-heading h1{font-size:clamp(26px,2.8vw,40px)}
.physical-brief{display:flex;align-items:flex-start;gap:14px;max-width:1040px;margin:-10px auto 18px;padding:18px 22px}.physical-brief>.icon{width:25px;height:25px;flex:0 0 auto;color:var(--teal-dark)}.physical-brief p{white-space:pre-line;font-size:13px;line-height:1.65;color:#46677d}
.filter-task-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.85fr);align-items:center;gap:20px;max-width:1160px;margin:0 auto}.filter-task-layout .physical-brief{max-width:none;margin:0;padding:21px 23px}.filter-task-layout .filter-answer{max-width:none;width:100%;margin:0;padding:25px 24px}.filter-task-layout .filter-answer .answer-form>label{font-size:17px;line-height:1.4}.filter-task-layout .filter-answer .answer-actions{flex-wrap:wrap}.filter-task-layout .filter-answer .answer-actions>.primary{min-width:190px}.stage-filter>.page-heading{margin:22px 0 18px}
.cipher-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:32px;align-items:center}.wheel-object{height:400px;width:100%;touch-action:none;cursor:grab}.wheel-object:active{cursor:grabbing}.wheel-controls{display:flex;gap:20px;justify-content:space-between;margin-top:4px}.wheel-controls .button{font-size:12px;gap:10px;min-height:44px;padding:10px 17px}.wheel-controls .icon{width:18px;height:18px}.wheel-controls .button:last-child .icon{transform:scaleX(-1)}.wheel-mapping{margin-top:18px;padding:9px 8px;background:#f8fcffe3;border:1px solid #d2e3ec;border-radius:8px}.mapping-row{display:grid;grid-template-columns:37px repeat(26,1fr);align-items:center;text-align:center;gap:0;line-height:1.8}.mapping-row span{font-size:8px;color:#597d92;text-align:left}.mapping-row b{font-size:9px;font-weight:600}.mapping-row:nth-child(2){color:var(--teal-dark)}.cipher-panel{padding:30px}.cipher-panel h2{font-size:23px;display:flex;gap:12px;margin:11px 0 20px;align-items:center}.encoded-message{background:#d9edf5;padding:20px 14px;border:1px solid #c7e1ec;border-radius:8px;font-family:var(--sans);font-size:clamp(16px,1.65vw,24px);letter-spacing:.10em;line-height:1.8;overflow-wrap:anywhere;text-align:center}.hint-note{display:flex;align-items:flex-start;gap:14px;padding:18px 0;color:var(--teal-dark)}.hint-note>.icon{margin-top:3px}.hint-note p{font-size:13px;margin-top:4px}.hint-note strong{font-size:13px}.cipher-form{border-top:1px solid var(--line);padding-top:20px;margin-top:2px}.cipher-form label{font-size:14px;display:block;font-weight:600;margin-bottom:10px}.cipher-form .primary{margin-top:18px}.cipher-panel>.text-button{margin-top:14px;font-size:12px}
.chest-layout{display:grid;grid-template-columns:1.25fr .85fr;gap:30px;align-items:center}.chest-object{height:380px}.combination{display:flex;justify-content:center;gap:12px;margin:-14px auto 0;width:max-content;position:relative;z-index:2;background:#e8f1f6e8;border:1px solid #c4d9e5;box-shadow:0 5px 20px #234b6512;border-radius:15px;padding:10px 17px}.digit-control{display:flex;flex-direction:column;align-items:center;width:61px}.digit{font-size:33px;line-height:1.5;min-width:46px;text-align:center;font-weight:700;background:linear-gradient(#dbe5ea,#fff 35%,#fff 65%,#dce8ef);border:1px solid #abc6d5;border-radius:6px;font-variant-numeric:tabular-nums;margin:4px 0;box-shadow:inset 0 0 4px #819aa82c}.digit-arrow{display:flex;align-items:center;justify-content:center;border:1px solid #abcfda;background:linear-gradient(#effcfe,#d3eff3);border-radius:6px;width:49px;height:31px;color:var(--teal-dark)}.digit-arrow:hover{background:#b5e5ec}.digit-arrow .icon{width:20px;height:20px}.chest-panel{padding:30px}.chest-panel h2{font-size:29px;margin:12px 0 22px}.chest-clue{display:flex;gap:16px;align-items:flex-start;padding:21px 18px;background:#e3f2f8;border:1px solid #cde3ee;border-radius:12px;margin-bottom:20px}.chest-clue .round-icon{width:39px;height:39px}.chest-clue .icon{width:22px;height:22px}.chest-clue p{font-family:var(--sans);font-size:19px;font-style:italic;line-height:1.6;color:#426780}.chest-panel .button+.button{margin-top:12px}
.result-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center}.result-object{height:420px}.result-content{padding:28px 30px}.result-content h2{font-size:23px;display:flex;align-items:center;gap:10px}.result-content>p{margin:17px 0;font-size:14px;line-height:1.7}.result-content>.round-icon{margin-bottom:17px}.patient-data{margin:18px 0 0}.patient-data>div{display:grid;grid-template-columns:125px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid #d6e5ed;font-size:13px;line-height:1.5}.patient-data dt{color:#7490a3}.patient-data dd{margin:0;color:#42637c}.guide-panel{margin-top:25px}.guide-panel>h3{display:flex;align-items:center;gap:9px;font-size:16px;margin-bottom:12px}.guide-tabs{display:flex;gap:6px}.guide-tabs button{border:1px solid #c5dbe5;background:#eaf1f6;border-radius:6px 6px 0 0;padding:10px;flex:1;font-size:12px;font-weight:600}.guide-tabs button.active{color:#fff;background:var(--teal);border-color:var(--teal)}#guide-content{background:#e4eff5;padding:15px;border-radius:0 0 7px 7px;font-size:12px;line-height:1.6}#guide-content a{display:inline-block;margin-top:8px;font-size:11px}.findings-list{display:flex;flex-direction:column;gap:11px;margin:22px 0}.findings-list>div{padding:13px 15px;background:#d5f0f2;border-radius:9px;display:flex;align-items:center;gap:13px;font-size:16px}.findings-list .icon{color:var(--teal);stroke-width:2.5}.body-map{position:relative;height:430px;border:1px solid #eaf8ff;border-radius:15px;overflow:hidden;background:linear-gradient(135deg,#e9f7fbbf,#cbdfe9c4);box-shadow:var(--shadow)}.map-grid{position:absolute;inset:20px;background-image:linear-gradient(#b4cfdb22 1px,transparent 1px),linear-gradient(90deg,#b4cfdb22 1px,transparent 1px);background-size:24px 24px}.body-figure{position:absolute;inset:5% 15%;width:70%;height:90%}.map-tag{position:absolute;padding:7px 12px;background:#f8fdfff0;border:1px solid #33b4c1;border-radius:5px;font-size:12px;font-weight:600;box-shadow:0 5px 13px #2b768015}.map-tag.enthesis{top:31%;left:4%}.map-tag.dactylitis{top:54%;right:3%}.map-tag.nails{bottom:13%;left:5%}.map-point{position:absolute;width:21px;height:21px;border-radius:50%;background:#16adba88;border:2px solid #fff;box-shadow:0 0 0 6px #1db8c530,0 0 20px #5ce6df}.p1{left:38%;top:46%}.p2{right:24%;top:54%}.p3{left:37%;bottom:10%}.map-caption{position:absolute;bottom:10px;left:20px;font-size:8px;letter-spacing:.16em;color:#7094a7}.result-paper{max-width:480px;margin:20px auto}.result-paper .paper-sheet{min-height:345px;padding:30px}.result-paper .paper-sheet h2{font-family:var(--sans);font-size:32px;margin:15px 0}.result-paper .paper-sheet p{font-size:14px;line-height:1.8}.large-line-icon{margin:25px 0 18px;color:#8ca7ae}.large-line-icon .icon{width:70px;height:70px;stroke-width:1.1}.lab-report{background:#e1f1f7;border-radius:10px;padding:22px;margin:18px 0}.lab-report h3{margin-top:14px}.lab-report p{font-size:13px;margin-top:10px}.success-note{padding:15px;background:#c9eff0;border-radius:10px;display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px}.success-note .icon{color:var(--teal-dark)}
.xray-viewer{height:415px;position:relative;background:#101e28;padding:10px;border:8px solid #f5fbfe;border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.xray-image-wrap{height:100%;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center}.xray-image{height:100%;width:100%;object-fit:contain;transition:transform .2s;transform-origin:center}.xray-label{position:absolute;left:17px;top:13px;font-size:10px;color:#cadbe5;z-index:2;background:#13252ecc;padding:4px 8px;border-radius:5px}.zoom-controls{position:absolute;right:13px;top:60px;display:flex;flex-direction:column;gap:12px}.zoom-controls button{border:1px solid #c5dbe7;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f1f9fff0;width:39px;height:39px}.zoom-controls .icon{width:21px;height:21px}.clinical-timeline{padding-left:15px;margin:22px 0 26px;border-left:2px solid #7fcad2}.clinical-timeline>div{position:relative;padding:0 0 20px 10px}.clinical-timeline>div:last-child{padding-bottom:0}.clinical-timeline>div:before{content:'';position:absolute;width:10px;height:10px;background:#09a3b3;border:2px solid #d2edf1;left:-22px;top:4px;border-radius:50%}.clinical-timeline strong{font-size:14px}.clinical-timeline p{font-size:12px;margin-top:5px;line-height:1.6}
.final-overview{padding:25px}.final-progress{display:grid;grid-template-columns:1fr 190px;gap:28px}.final-timeline{display:grid;grid-template-columns:repeat(6,1fr);margin-top:20px}.final-timeline>div{display:flex;align-items:center;flex-direction:column;gap:13px;text-align:center;position:relative;padding:0 8px}.final-timeline>div>span{display:flex;align-items:center;justify-content:center;width:27px;height:27px;border:2px solid #fff;outline:1px solid #27afb9;border-radius:50%;background:#00a0ad;color:white;font-size:12px;z-index:1}.final-timeline>div:not(:last-child):after{content:'';position:absolute;top:12px;left:50%;width:100%;height:2px;background:#28b3bd}.final-timeline>div>.icon{width:31px;height:31px;color:#0b627a}.final-timeline strong{font-size:12px;line-height:1.5}.final-timeline small{font-size:9px;color:#6a90a2}.final-stats{padding:17px;background:#f7fcffe0;border:1px solid #dbeaf2;border-radius:10px}.final-stats>strong{display:flex;gap:8px;align-items:center;font-size:16px;overflow-wrap:anywhere}.final-stats p{font-size:11px;margin-top:15px}.final-stats b{display:block;font-size:25px;font-variant-numeric:tabular-nums;color:var(--navy)}.summary-findings{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:20px}.summary-findings>.glass{padding:20px}.summary-findings .icon{width:29px;height:29px;color:#17758b;margin-bottom:12px}.summary-findings h3{font-size:15px}.summary-findings p{font-size:11px;margin-top:9px;line-height:1.6}.discussion-callout{display:flex;align-items:center;justify-content:center;gap:20px;margin:25px 0 0;background:#f5fbffb0;padding:20px;border:1px solid white;border-radius:12px}.discussion-callout>.icon{width:40px;height:40px}.discussion-callout h2{font-size:18px}.discussion-callout p{font-size:12px;margin-top:6px}
.modal{width:min(900px,calc(100vw - 40px));max-height:calc(100svh - 44px);overflow:auto;border:1px solid #ffffff;border-radius:19px;background:linear-gradient(135deg,#fafcff,#eef7fc);color:var(--navy);padding:35px;box-shadow:0 26px 80px #071e4566}.modal::backdrop{background:#102840a8;backdrop-filter:blur(5px)}.modal-close{position:absolute;right:20px;top:20px;z-index:2;box-shadow:0 3px 9px #4a72832c}.modal h2{font-size:29px;letter-spacing:-.025em}.modal-heading{display:flex;align-items:center;gap:22px;padding-right:38px;margin-bottom:25px}.modal-heading p{font-size:13px;margin-top:8px}.modal>p{margin:18px 0;line-height:1.8}.modal>.round-icon{margin-bottom:20px}.modal-actions{display:flex;gap:18px;justify-content:flex-end;margin-top:26px}.modal-actions .button{font-size:14px;min-height:53px;gap:17px}.modal-actions .primary{flex:1}.hint-modal{max-width:720px}.hint-content{display:flex;gap:30px;align-items:center;background:#e7f2f8;border:1px solid #d2e4ef;border-radius:10px;padding:28px}.hint-content p{color:#3e6580;font-size:20px;line-height:1.65}.hint-art{display:flex;align-items:center;justify-content:center;padding:17px;color:#5093a9;border-right:1px solid #c2d8e6}.hint-art .icon{width:83px;height:83px;stroke-width:1.1}.hint-dots{display:flex;justify-content:center;gap:20px;margin:22px 0}.hint-dots span{width:11px;height:11px;border:1px solid #98b6c8;border-radius:50%;background:white}.hint-dots .active{background:var(--teal);border-color:var(--teal)}.pause-modal{max-width:520px}.pause-modal .modal-close{display:none}.pause-content{text-align:center;padding:5px 0}.pause-content h2{margin:20px 0 10px;font-size:33px}.pause-content>p{font-size:16px}.paused-time{display:flex;align-items:center;flex-direction:column;background:#dfedf7;border:1px solid #cadfeb;border-radius:12px;margin:25px 0;padding:23px;gap:7px}.paused-time b{font-size:55px;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.paused-time small{border-top:1px solid #bdd6e5;padding-top:20px;margin-top:10px;width:100%;font-size:12px;color:#64859b}.paused-time small .icon{width:16px;height:16px;margin-right:6px}.pause-content>strong{display:block;margin-bottom:20px}.pause-content>strong .icon{margin-right:8px}.expired-summary{display:flex;justify-content:space-between;gap:20px;background:#e4f1f8;padding:18px;border-radius:9px;font-size:15px;margin:25px 0}.expired-summary strong .icon{margin-right:10px}.expired-stages{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.expired-stages>div{border:1px solid #c8dde9;border-radius:10px;background:#dfedf5;display:flex;flex-direction:column;align-items:center;text-align:center;gap:13px;padding:18px 8px}.expired-stages strong{font-size:11px}.expired-stages>.locked{opacity:.48}.expired-stages .icon:last-child{width:18px;color:var(--teal)}.discussion-question{background:#e1f0f5;padding:24px;font-size:20px;line-height:1.6;border-left:3px solid var(--teal);border-radius:0 10px 10px 0}
.record-modal{width:min(1090px,calc(100vw - 35px));padding:30px}.record-patient{display:flex;align-items:center;gap:20px;background:#e6f2f9;border:1px solid #d0e4ee;border-radius:10px;padding:20px;margin-bottom:20px}.record-patient h3{font-size:24px;margin:4px 0}.record-patient p{font-size:12px}.record-count{margin-left:auto;flex-shrink:0;display:flex;flex-direction:column;text-align:center;padding:8px 18px;border-left:1px solid #bdd7e6}.record-count strong{font-size:28px;color:var(--teal-dark)}.record-count span{font-size:10px;color:var(--muted)}.record-tabs{display:flex;gap:6px}.record-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;flex:1;border:1px solid #bfd6e4;border-bottom:0;border-radius:9px 9px 0 0;background:#e8f3fb;padding:14px 8px;font-size:13px;font-weight:600}.record-tabs button.active{background:linear-gradient(#00abb7,#008799);color:white;border-color:var(--teal)}.record-tabs .icon{width:20px;height:20px}.record-tabs .tiny{width:12px;height:12px}.record-body{border:1px solid #cbe0ed;background:#f9fcffbd;border-radius:0 0 10px 10px;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:30px;min-height:310px}.record-body>section+section{border-left:1px solid #d8e6ed;padding-left:25px}.record-body h3{font-size:17px;margin-bottom:16px}.record-body p{font-size:12px}.record-body .patient-data>div{grid-template-columns:100px 1fr;font-size:12px}.record-status{display:flex;flex-direction:column;gap:7px}.record-status>div{display:flex;align-items:center;gap:10px;border:1px solid #cbdfe9;border-radius:8px;padding:8px 10px;background:#edf6fb}.record-status>div>span{flex:1}.record-status strong{font-size:11px;display:block}.record-status small{font-size:10px;display:block;color:#7892a5;margin-top:2px}.record-status .icon{width:20px;height:20px}.record-status .icon:last-child{color:var(--teal)}.record-status .locked{opacity:.52;background:#d8e3ec}.record-status .locked .icon:last-child{color:#7c94a6}.record-locked{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:260px;text-align:center;padding:20px;gap:15px}.record-locked>.icon{width:48px;height:48px;color:#9ab4c6}.record-locked h3{margin:0}.record-xray{width:100%;height:215px;object-fit:contain;background:#142331;border-radius:8px;margin-bottom:9px}.team-notes{margin-top:17px}.team-notes label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}.team-notes textarea{font-size:12px;resize:vertical;min-height:64px}.moderator-modal{width:min(1120px,calc(100vw - 35px));padding:30px}.moderator-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.control-main,.control-stages{padding:20px;border:1px solid #cbe0ed;border-radius:10px;background:#f7fcff90}.control-main>h3{display:flex;align-items:center;gap:12px;font-size:24px;margin:0 0 18px}.control-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.control-stats>div{display:flex;align-items:center;flex-direction:column;text-align:center;padding:20px 12px;border:1px solid #d2e6f0;background:#e9f5fc;border-radius:9px;gap:13px}.control-stats .icon{width:34px;height:34px}.control-stats strong{font-size:14px;line-height:1.4}.control-stats span{font-size:12px;color:#678ba1;line-height:1.6}.control-stats b{font-size:32px;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.control-stats .amber{background:#fff0d9;border-color:#edce96;color:#986413}.control-buttons{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:15px}.control-buttons .button{display:flex;flex-direction:column-reverse;gap:11px;text-align:center;min-height:95px;font-size:13px;padding:15px 10px}.control-buttons .button .icon{width:28px;height:28px}.control-stages>h3{font-size:20px;margin-bottom:17px}.control-stage{display:flex;align-items:center;gap:12px;background:#e4f1f9;border-radius:8px;margin-bottom:8px;padding:14px 11px}.control-stage>span{display:flex;align-items:center;justify-content:center;width:23px;height:23px;background:#cce2f0;border-radius:50%;font-size:11px;flex-shrink:0}.control-stage strong{flex:1;font-size:12px}.control-stage>.icon{width:23px;height:23px}.control-stage.done>.icon:last-child{color:var(--teal)}.restart-zone{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding:15px 20px;border:1px solid #efbec9;border-radius:10px;background:#fff1f4a6;color:#b3304b}.restart-zone>div{display:flex;align-items:center;gap:15px}.restart-zone small{display:block;font-size:11px;margin-top:5px;color:#89727e}.restart-zone .button{min-height:42px;font-size:13px;padding:10px 20px}
.history-modal{width:min(1540px,calc(100vw - 36px));max-height:calc(100svh - 32px);padding:12px;background:#f5f8fb;border-color:#d9e8f0;border-radius:14px;overflow:hidden}.history-modal .modal-close{right:22px;top:22px;width:46px;height:46px;color:#fff;background:#0d315bd9;border:2px solid #fff;box-shadow:0 4px 16px #001b3a75}.history-modal-figure{display:flex;width:100%;height:100%;margin:0;align-items:center;justify-content:center}.history-modal-figure img{display:block;width:100%;height:auto;max-height:calc(100svh - 56px);object-fit:contain;border-radius:7px}
@keyframes appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.welcome{padding-top:35px}.hero-heading{margin-top:5vh}.hero-object{height:42vh}.hero-heading h1{font-size:70px}.game-shell{padding-top:25px}.page-heading{margin:42px 0}.game-main{padding-bottom:25px}.test-card,.slot{min-height:84px}.bank-cards{gap:16px}.slot{margin-bottom:15px}.wheel-object{height:460px}.chest-object{height:440px}.result-object{height:460px}.physical-object{height:400px}}
@media(max-width:1100px){.game-shell{padding:15px 22px 0}.game-main{padding:0 7px 10px}.game-header{padding:11px 16px;gap:12px}.header-actions{gap:9px}.team-name{font-size:17px;gap:9px}.team-name>.icon{width:26px}.step-track{gap:14px}.step-dot:not(:last-child):after{width:16px}.timer{font-size:21px;min-width:87px}.button.compact{font-size:14px;padding:9px 12px}.game-header .pause-button{width:28px}.page-heading{margin:28px 0}.page-heading p{font-size:15px}.heading-symbol{width:64px;height:64px}.order-layout{gap:30px}.test-card{padding:12px;gap:9px}.test-card strong{font-size:15px}.test-card small{font-size:10px}.section-label>span{display:none}.word-board{padding:14px}.word-sidebar{padding:21px 17px}.word-progress strong{font-size:18px}.word-item strong{font-size:15px}.word-item{padding:10px 6px}.cipher-layout{gap:22px;grid-template-columns:1.06fr 1fr}.wheel-object{height:345px}.cipher-panel{padding:23px}.encoded-message{font-size:17px;letter-spacing:.09em}.chest-layout{gap:23px}.chest-object{height:340px}.chest-panel{padding:23px}.chest-panel h2{font-size:25px}.result-content{padding:23px}.result-object{height:365px}.result-layout{gap:23px}.result-content h2{font-size:20px}.patient-data>div{grid-template-columns:100px 1fr;font-size:12px}.intro-grid{gap:35px}.paper-sheet{padding:23px}.instruction{padding:18px;gap:16px}.instruction .round-icon{width:54px;height:54px}.instruction h2{font-size:18px}.final-progress{gap:18px;grid-template-columns:1fr 160px}.final-timeline>div{padding:0 5px}.final-timeline strong{font-size:11px}.summary-findings>.glass{padding:17px}.summary-findings h3{font-size:13px}.control-stats{gap:7px}.control-stats>div{padding:15px 7px}.control-stats strong{font-size:12px}.control-stats span{font-size:11px}.control-stats b{font-size:29px}.moderator-modal{padding:25px}}
@media(max-width:800px){.game-shell{padding:12px 14px 0}.game-header{flex-wrap:wrap;row-gap:10px;column-gap:10px}.team-name{max-width:42%;font-size:16px}.stage-status{order:3;flex-basis:100%;display:flex;justify-content:center;align-items:center;gap:18px;border-top:1px solid #dce8ee;padding-top:10px}.step-track{margin:0}.header-actions{margin-left:auto}.header-actions .timer{font-size:19px}.game-main{padding:0 3px 10px}.page-heading{gap:15px;margin:24px 0}.page-heading h1,.page-heading:has(>.heading-symbol) h1{font-size:30px}.page-heading p{font-size:13px}.heading-symbol{width:56px;height:56px}.heading-symbol .icon{width:28px;height:28px}.order-layout{gap:17px}.test-card small{display:none}.card-icon{width:26px}.card-icon>.icon{width:25px;height:25px}.test-card strong{font-size:14px}.slot-number{width:32px;font-size:16px}.slot,.test-card{min-height:66px}.slot .test-card,.empty-slot{min-height:63px}.bank-cards{gap:11px}.slot{margin-bottom:11px}.bank-cards{min-height:335px}.bottom-actions.spread{gap:10px}.bottom-actions.spread .primary{min-width:0;flex:1}.bottom-actions .button{min-width:0;font-size:14px;padding:13px 17px}.words-layout{grid-template-columns:1.45fr .85fr;gap:13px}.word-board{padding:10px}.word-grid{gap:2px}.word-sidebar{padding:17px 12px}.word-progress strong{font-size:16px}.word-list{gap:8px;margin:20px 0}.word-item{gap:8px}.word-check{width:26px;height:26px}.word-item strong{font-size:13px}.word-item small{font-size:8px}.word-sidebar .help-copy{font-size:11px}.word-sidebar .button{font-size:12px}.cipher-layout{gap:16px}.wheel-object{height:315px}.wheel-controls{gap:8px}.wheel-controls .button{font-size:10px;padding:8px 10px;gap:5px}.mapping-row{grid-template-columns:30px repeat(26,1fr)}.mapping-row b{font-size:7px}.mapping-row span{font-size:7px}.cipher-panel{padding:19px}.cipher-panel h2{font-size:19px}.encoded-message{font-size:14px;padding:15px 9px;letter-spacing:.07em}.cipher-form input{font-size:13px}.chest-layout{grid-template-columns:1.1fr 1fr;gap:13px}.chest-panel{padding:20px}.chest-object{height:290px}.chest-clue{gap:10px;padding:16px 12px}.chest-clue .round-icon{display:none}.chest-clue p{font-size:17px}.chest-panel h2{font-size:24px}.result-layout{gap:18px}.result-content{padding:21px}.result-content h2{font-size:20px}.result-content>.button{font-size:12px;gap:10px}.result-object{height:340px}.result-content>p{font-size:12px}.patient-data>div{grid-template-columns:90px 1fr;font-size:11px}.body-map{height:365px}.map-tag{font-size:10px;padding:6px 8px}.xray-viewer{height:350px}.result-paper .paper-sheet{padding:21px}.result-paper .paper-sheet h2{font-size:27px}.intro-grid{gap:25px}.intro-screen{padding:25px 4%}.intro-screen .page-heading{margin:30px 0}.paper-sheet{padding:20px}.patient-top{gap:10px}.patient-top h2{font-size:21px}.patient-top .avatar{width:46px;height:57px}.paper-section p{font-size:12px}.instruction{padding:17px 14px;gap:12px}.instruction .round-icon{width:44px;height:44px}.instruction .round-icon .icon{width:23px;height:23px}.instruction h2{font-size:16px}.instruction p{font-size:11px}.mission-badges span{font-size:13px;padding:12px 8px}.final-progress{grid-template-columns:1fr}.final-stats{display:flex;gap:25px;align-items:center;justify-content:space-between}.final-stats p{margin:0}.final-stats b{font-size:20px}.summary-findings{gap:10px}.summary-findings>.glass{padding:15px 12px}.summary-findings p{font-size:10px}.final-timeline>div{gap:10px}.discussion-callout h2{font-size:16px}.modal{padding:25px}.modal-heading{gap:15px}.modal h2{font-size:25px}.modal-heading .round-icon{width:52px;height:52px}.record-patient{gap:14px;padding:16px}.record-patient h3{font-size:21px}.record-tabs button{font-size:11px;gap:6px;padding:13px 7px}.record-tabs .icon{width:16px}.record-body{padding:18px;gap:18px}.record-body>section+section{padding-left:18px}.record-count{padding:5px 10px}.record-count strong{font-size:23px}.moderator-grid{gap:13px;grid-template-columns:1.3fr 1fr}.control-main,.control-stages{padding:14px}.control-stats{grid-template-columns:1fr 1fr}.control-stats>div:last-child{grid-column:1/-1;padding:12px;flex-direction:row;text-align:left}.control-stats>div:last-child .icon{width:21px}.control-buttons .button{font-size:11px;min-height:82px;gap:9px;padding:11px 7px}.control-stage{gap:7px;padding:12px 8px}.control-stage strong{font-size:11px}.control-stage>.icon{width:18px}.control-stage>span{width:20px;height:20px}.control-stages>h3{font-size:17px}.game-footer{padding:16px 2px;font-size:9px}}
@media(max-width:600px){.physical-brief{padding:14px;gap:10px}.physical-brief p{font-size:12px}}
@media(max-width:800px){.filter-task-layout{grid-template-columns:1fr;gap:12px}.filter-task-layout .physical-brief{padding:15px}.filter-task-layout .filter-answer{padding:18px}.stage-filter>.page-heading{margin:18px 0 14px}}
@media(min-width:801px) and (max-height:800px){.stage-filter>.page-heading{margin:14px 0 12px}.stage-filter>.page-heading .heading-symbol{width:54px;height:54px}.stage-filter>.page-heading p{margin-top:4px}.filter-task-layout{gap:16px}.filter-task-layout .physical-brief{padding:17px 20px}.filter-task-layout .physical-brief p{font-size:12px;line-height:1.52}.filter-task-layout .filter-answer{padding:20px}.filter-task-layout .filter-answer .answer-form>label{font-size:15px;margin-bottom:11px}.filter-task-layout .filter-answer input{min-height:47px}.filter-task-layout .filter-answer .answer-actions{margin-top:11px}.filter-task-layout .filter-answer .button{min-height:47px;padding:10px 14px;font-size:14px}}
@media(max-width:800px) and (max-height:800px){.game-shell:has(.stage-filter){padding-top:7px}.game-shell:has(.stage-filter) .game-header{min-height:58px;flex-wrap:nowrap;padding:7px 10px}.game-shell:has(.stage-filter) .team-name{max-width:27%;font-size:13px}.game-shell:has(.stage-filter) .stage-status{order:initial;flex-basis:auto;border-top:0;padding-top:0;gap:6px}.game-shell:has(.stage-filter) .stage-status>span{font-size:8px}.game-shell:has(.stage-filter) .step-track{gap:9px}.game-shell:has(.stage-filter) .step-dot{width:11px;height:11px}.game-shell:has(.stage-filter) .step-dot:not(:last-child):after{left:9px;top:3px;width:11px}.game-shell:has(.stage-filter) .header-actions{gap:4px}.game-shell:has(.stage-filter) .timer{font-size:16px!important;min-width:64px}.game-shell:has(.stage-filter) .game-footer{display:none}.stage-filter{position:relative;padding-bottom:0}.stage-filter>.diagnostics-access{position:absolute;z-index:2;right:0;top:4px;margin:0}.stage-filter>.diagnostics-access .button{width:40px;min-height:40px;padding:8px;font-size:0;gap:0}.stage-filter>.page-heading{justify-content:flex-start;min-height:48px;margin:7px 45px 8px 0;gap:9px}.stage-filter>.page-heading .heading-symbol{width:40px;height:40px}.stage-filter>.page-heading .heading-symbol .icon{width:21px;height:21px}.stage-filter>.page-heading h1{font-size:21px}.stage-filter>.page-heading p{font-size:10px;line-height:1.25;margin-top:2px}.filter-task-layout{gap:7px}.filter-task-layout .physical-brief{padding:11px 13px;gap:8px}.filter-task-layout .physical-brief>.icon{width:18px;height:18px}.filter-task-layout .physical-brief p{font-size:11px;line-height:1.42}.filter-task-layout .filter-answer{padding:11px 13px}.filter-task-layout .filter-answer .answer-form>label{font-size:12px;line-height:1.3;margin-bottom:6px}.filter-task-layout .filter-answer input{min-height:37px}.filter-task-layout .filter-answer .answer-actions{gap:6px;margin-top:6px;flex-wrap:nowrap}.filter-task-layout .filter-answer .answer-actions>.primary{min-width:0}.filter-task-layout .filter-answer .button{min-height:38px;padding:7px 10px;font-size:12px;gap:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Pantalla de acceso: laboratorio nocturno con interfaz de neón. */
body:has(.welcome){background:#030722;color:#f5fbff;color-scheme:dark}
body:has(.welcome) .laboratory{background:
 radial-gradient(circle at 18% 24%,#005dff8a 0,transparent 24%),
 radial-gradient(circle at 78% 28%,#e000ff70 0,transparent 24%),
 linear-gradient(115deg,#02051aec 0%,#071043c7 46%,#090326e9 100%),
 url('../assets/laboratory.png') center/cover no-repeat;filter:saturate(1.55) contrast(1.12)}
body:has(.welcome) .laboratory:before{content:'';position:absolute;inset:42% -20% -35%;background-image:linear-gradient(#00d9ff22 1px,transparent 1px),linear-gradient(90deg,#00d9ff22 1px,transparent 1px);background-size:62px 62px;transform:perspective(520px) rotateX(61deg) scale(1.35);transform-origin:center bottom;opacity:.72}
body:has(.welcome) .laboratory:after{background:radial-gradient(ellipse at 50% 56%,transparent 0 26%,#03051aa6 76%),linear-gradient(90deg,#001a5b4d,#ff00cd18 30%,#00d9ff12 65%,#24006459);box-shadow:inset 0 0 150px #020315}
.welcome{color:#f4f8ff;text-shadow:0 1px 13px #02051d80}
.welcome:before{content:'';position:absolute;z-index:0;inset:8% 20% 9%;border:1px solid #00d9ff24;border-radius:45% 45% 18% 18%;background:radial-gradient(circle at 50% 42%,#055ff32b,transparent 52%),radial-gradient(circle at 63% 55%,#ee00ff1c,transparent 40%);filter:drop-shadow(0 0 45px #006dff55);pointer-events:none}
.welcome>*{position:relative;z-index:1}
.welcome .wordmark{color:#fff;text-shadow:0 0 16px #299fff80}.welcome .wordmark span{border-color:#00d8ef;color:#c6d6fa}.welcome .edition{color:#c7d6fa;text-shadow:0 0 12px #167aff}
.welcome .hero-heading .eyebrow{color:#00e9ff;text-shadow:0 0 14px #00cfff}.welcome .hero-heading h1{color:#f9f7ff;text-shadow:0 0 24px #305dff66}.welcome .hero-heading h1 em{color:#18e6ee;text-shadow:0 0 18px #00cbdc}.welcome .hero-heading p{color:#d8e4fb}.welcome .teal-rule{background:#16f2ff;box-shadow:0 0 15px #00d7ff}
.welcome .hero-object{filter:drop-shadow(0 20px 24px #000726) drop-shadow(0 0 17px #008dff70)}
.welcome .entry-form{width:min(620px,96%);padding:14px;border:1px solid #00cfff9e;border-radius:16px;background:linear-gradient(145deg,#07103bd9,#130736c7);box-shadow:0 0 0 1px #ff00db35,0 0 26px #0078ff47,0 16px 50px #000318a8;backdrop-filter:blur(14px)}
.welcome .entry-form>label,.welcome .avatar-fields label,.welcome .avatar-rule,.welcome .avatar-choice-group legend{color:#f5f8ff}.welcome .entry-field>.icon{color:#7cefff}.welcome input,.welcome textarea{color:#f5fbff;background:#061039d9;border-color:#00bfe4;box-shadow:inset 0 0 18px #071652,0 0 12px #006eff33}.welcome input::placeholder,.welcome textarea::placeholder{color:#a9bbe0}
.welcome .avatar-rule strong{color:#fff;font-weight:800}
.welcome .avatar-builder{grid-template-columns:118px 1fr;background:#080c32c9;border-color:#954cff;box-shadow:inset 0 0 0 1px #00dbff2e,0 0 18px #9b00ff30}.welcome .avatar-preview{background:linear-gradient(150deg,#071543,#130b3b);border:1px solid #00cfff;box-shadow:inset 0 0 18px #004b9b,0 0 15px #00cfff38}.welcome .avatar-preview small,.welcome .avatar-status{color:#b5c8e8}.welcome .avatar-status.error{color:#ff8caa}
.welcome .color-choice,.welcome .trait-choice{color:#eef6ff;background:linear-gradient(145deg,#07143edb,#170838db);border-color:#4658a5}.welcome .color-choice>span:last-child{color:#c9d7f1!important}.welcome .trait-choice span{color:#f2f7ff!important}.welcome .color-choice:has(input:checked),.welcome .trait-choice:has(input:checked){border-color:#00e7ff;background:linear-gradient(135deg,#06365f,#11134c);box-shadow:0 0 0 1px #00e8ff,0 0 15px #00cfff6b}.welcome .color-choice:has(input:checked)::after{color:#46f6ff}
.welcome .avatar-actions .button.outline{color:#effbff;background:#09133ccc;border-color:#13cfe6;box-shadow:0 0 13px #00b6ee39}.welcome .avatar-actions .text-button{color:#a9bde0}.welcome .avatar-actions .text-button:hover{color:#fff}
.welcome .button.primary{background:linear-gradient(100deg,#00d6e8 0%,#0087ff 47%,#e600ef 100%);border-color:#70f6ff;box-shadow:0 0 18px #00ccef8a,0 0 28px #d500ff58,inset 0 1px 1px #fff9}.welcome .button.primary:hover{background:linear-gradient(100deg,#00efff,#1674ff 48%,#ff00ea);box-shadow:0 0 24px #00dfffb8,0 0 34px #e000ff75;transform:translateY(-1px)}
.welcome .welcome-meta{color:#d6e1fa}.welcome .welcome-meta .icon{color:#1bedf5;filter:drop-shadow(0 0 5px #00d9ff)}.welcome .welcome-bottom{justify-content:center;color:#aebfe0}.welcome .welcome-bottom .text-button{color:#d8e7ff}.welcome .welcome-bottom .text-button:hover{color:#fff}
@media(min-width:801px) and (max-height:900px){.welcome-with-avatar{padding-top:18px}.welcome-with-avatar .hero-heading{margin-top:8px}.welcome-with-avatar .hero-heading h1{font-size:clamp(34px,3.3vw,52px)}.welcome-with-avatar .hero-object{height:clamp(145px,19vh,205px);margin:-9px 0 -12px}.welcome-with-avatar .entry-form{padding:11px}.welcome-with-avatar .avatar-builder{padding:10px;margin-bottom:9px}.welcome-with-avatar .entry-form .button.primary{min-height:50px}.welcome-with-avatar .welcome-meta{margin-top:14px}.welcome-with-avatar .welcome-bottom{padding-top:13px}}
@media(max-width:600px){.welcome:before{inset:7% 3% 8%}.welcome .entry-form{padding:10px}.welcome .avatar-builder{grid-template-columns:82px 1fr}.welcome .color-choices{grid-template-columns:repeat(3,1fr)}}
/* Keep the session controls visible when a short display needs scrolling. */
.game-header{position:sticky;top:12px;z-index:5}
.slot{background:#f6fbffe8}
@media(min-width:801px) and (max-height:800px){
 .game-shell{padding-top:14px}.game-header{min-height:65px;padding-top:9px;padding-bottom:9px}
 .page-heading{margin:23px 0}.page-heading h1,.page-heading:has(>.heading-symbol) h1{font-size:35px}
 .heading-symbol{width:57px;height:57px}.heading-symbol .icon{width:29px;height:29px}
 .page-heading p{font-size:14px;margin-top:7px}.test-card,.slot{min-height:62px}
 .test-card{padding-top:9px;padding-bottom:9px}.slot .test-card,.empty-slot{min-height:59px}
 .bank-cards{gap:10px;min-height:325px}.slot{margin-bottom:9px}.order-slots>.eyebrow,.section-label{margin-bottom:13px}
 .bottom-actions{margin-top:21px}.bottom-actions .button{min-height:52px}.game-footer{padding-top:12px;padding-bottom:10px}
 .wheel-object{height:340px}.cipher-panel{padding:22px 26px}.cipher-panel h2{margin:8px 0 14px;font-size:21px}
 .encoded-message{padding:13px}.hint-note{padding:13px 0}.cipher-form{padding-top:15px}.cipher-form .primary{margin-top:14px}
 .chest-object{height:310px}.result-object{height:350px}.body-map{height:360px}.xray-viewer{height:345px}
 .physical-object{height:255px}.physical-answer{padding:19px 24px}.physical-answer input{min-height:46px}
 .word-board{max-width:540px}.word-grid{gap:2px}.word-sidebar{padding:23px}.words-layout{grid-template-columns:1.15fr .8fr;max-width:960px;margin:auto}
 .hero-heading{margin-top:29px}.hero-heading h1{font-size:49px}.hero-heading p{font-size:19px}.hero-heading .eyebrow{margin-bottom:14px}
 .hero-object{height:235px;margin-top:-7px;margin-bottom:-8px}.welcome-meta{margin-top:18px}.welcome-bottom{padding-top:17px}
}
.chest-layout{grid-template-columns:1.12fr 1fr}
.chest-clue>.round-icon{display:none}
.chest-clue p{font-size:17px;line-height:1.65}
.chest-panel h2{font-size:25px}
@media(max-width:600px){.chest-layout{grid-template-columns:1fr}.chest-clue p{font-size:18px}}
.scene-host{min-width:0;max-width:100%;overflow:hidden}
.scene-host canvas{max-width:100%;width:100%;height:100%}
.chest-layout>*,.cipher-layout>*,.result-layout>*,.words-layout>*,.intro-grid>*,.record-body>*,.moderator-grid>*{min-width:0}

.expired-modal .modal-close{display:none}

.team-avatar{display:inline-flex;width:42px;height:42px;border-radius:12px;object-fit:cover;border:1px solid #b9d8e3;background:#dceff3;box-shadow:0 3px 10px #18364c18;flex:0 0 auto}
.team-avatar-fallback{align-items:center;justify-content:center;background:linear-gradient(145deg,#d9f1f5,#a8dce3);color:#087987;font-size:12px;font-weight:800;letter-spacing:.04em}
.team-avatar-header{width:39px;height:39px;border-radius:11px}.team-avatar-pill{width:28px;height:28px;border-radius:8px}.team-pill{padding:5px 12px 5px 6px}.team-avatar-resume{width:52px;height:52px}.resume-team{display:flex;align-items:center;gap:13px;margin-bottom:14px}.resume-team .resume-caption{margin:0}
.intro-screen .team-pill{gap:12px;min-height:62px;max-width:min(340px,36vw);padding:7px 20px 7px 7px;border-radius:19px;font-size:18px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 7px 20px #18364c14}.intro-screen .team-avatar-pill{width:48px;height:48px;border-radius:13px}.game-header .team-avatar-header{width:44px;height:44px;border-radius:12px}.game-header .team-name{font-size:20px;max-width:32%}
.final-team{display:flex;align-items:center;gap:10px}.team-avatar-final{width:48px;height:48px;border-radius:13px}
.welcome-with-avatar .hero-heading{margin-top:18px}.welcome-with-avatar .hero-heading .eyebrow{margin-bottom:9px}.welcome-with-avatar .hero-heading p{margin-top:8px}.welcome-with-avatar .teal-rule{margin-top:12px}.welcome-with-avatar .hero-object{height:clamp(190px,25vh,290px);margin:-8px 0 -14px}.welcome-with-avatar .entry-form{width:min(590px,96%)}
.avatar-builder{display:grid;grid-template-columns:118px 1fr;gap:16px;padding:14px;margin:0 0 13px;background:#f7fcffdc;border:1px solid #c2dbe6;border-radius:13px;box-shadow:0 7px 22px #18364c0b;text-align:left}
.avatar-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0;background:#e8f4f7;border-radius:10px;padding:9px}.team-avatar-preview{width:78px;height:78px;border-radius:18px}.avatar-preview small{font-size:9px;line-height:1.3;text-align:center;color:#698492}.avatar-fields label{display:flex;justify-content:space-between;gap:10px;margin:0 0 6px;font-size:12px}.avatar-fields label span{color:#8195a2;font-weight:400}.avatar-fields textarea{min-height:62px;resize:vertical;padding:10px 12px;font-size:13px}.avatar-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.avatar-actions .button{min-height:38px;padding:7px 12px;font-size:12px}.avatar-actions .button span{flex:initial}.avatar-actions .text-button{font-size:10px}.avatar-status{font-size:10px;line-height:1.4;margin-top:6px}.avatar-status.error{color:#a34248}
@media(max-width:600px){.welcome-with-avatar .hero-heading{margin-top:25px}.welcome-with-avatar .hero-object{height:190px}.avatar-builder{grid-template-columns:82px 1fr;gap:10px;padding:10px}.team-avatar-preview{width:60px;height:60px;border-radius:14px}.avatar-preview small{display:none}.avatar-actions{align-items:stretch;flex-direction:column}.avatar-actions .text-button{justify-content:center}.team-avatar-header{width:31px;height:31px;border-radius:8px}}
@media(max-width:600px){.intro-screen .simple-top .team-pill{gap:7px;min-height:44px;max-width:48%;padding:5px 10px 5px 5px;font-size:13px;border-radius:14px}.intro-screen .team-avatar-pill{width:34px;height:34px;border-radius:9px}.game-header .team-avatar-header{width:34px;height:34px;border-radius:9px}.game-header .team-name{font-size:14px;max-width:31%}}

.combination.opened{opacity:.72}.combination.opened .digit-arrow{cursor:default;filter:grayscale(.35)}

:root{--workshop-accent:#008d9b}
.preserve-lines{white-space:pre-line}.diagnostics-access{display:flex;justify-content:flex-end;margin:10px 0}.diagnostic-document{border:1px solid var(--line);border-radius:12px;padding:20px;margin:18px 0;background:#f3f9fc}.diagnostic-document h3{margin-bottom:12px}.diagnostic-document p{margin-bottom:16px;line-height:1.65}.diagnostic-image{max-height:60vh;overflow:auto;background:#e4edf3;border-radius:8px;margin:12px 0}.diagnostic-image img{display:block;width:100%;height:auto}.diagnostic-image img.expanded{width:200%;max-width:none}.diagnostic-document video{display:block;max-width:100%;max-height:60vh;margin:12px auto}.diagnostic-document object{display:block;width:100%;height:55vh;border:0;margin:15px 0}.record-findings{display:grid;gap:18px}.record-findings>.glass{padding:22px}.record-findings h3{display:flex;gap:10px;margin-bottom:15px}.record-findings p{line-height:1.7;margin-top:12px}.timeout-banner{background:#fff1d5;color:#825517;border:1px solid #e8c793;border-radius:10px;padding:12px 20px;margin-bottom:12px}.radio-game{padding:22px}.radio-tabs,.radio-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.radio-toolbar{margin-top:15px}.radio-toolbar span{font-size:12px;color:var(--muted)}.radio-viewport{max-height:54vh;overflow:auto;border-radius:10px;background:#0d2131}.radio-canvas{position:relative;min-width:100%;cursor:crosshair}.radio-canvas>img{display:block;width:100%;height:auto;user-select:none}.radio-mark,.radio-cursor{position:absolute;width:22px;height:22px;border:3px solid #00e6ef;background:#00abb544;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 0 2px #092a3b}.radio-cursor{display:none;border-color:#fff;background:transparent}.radio-canvas:focus-visible .radio-cursor{display:block}.radio-game>.bottom-actions{margin-top:18px}.word-sidebar .answer-form{padding:15px 0 0}.word-sidebar .answer-actions{flex-wrap:wrap}.word-sidebar .answer-actions .button{min-height:42px;padding:12px 16px}.step-dot.timeout{background:#fff1d5;border-color:#d99b64}.final-timeline{flex-wrap:wrap}.final-timeline>div{min-width:100px;flex:1}.final-timeline small{font-size:11px;color:var(--muted)}
.diagnostic-pdf{margin:15px 0}.pdf-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.pdf-controls span{font-size:13px;color:var(--muted)}.diagnostic-pdf canvas{display:block;width:100%;height:auto;background:white;box-shadow:0 2px 8px #15334a20}.diagnostic-pdf details{margin:12px 0}.diagnostic-pdf details p{margin-top:12px}.diagnostic-pdf summary{cursor:pointer;color:var(--muted)}

/* Flujo clínico V5 */
.team-avatar-fallback{font-size:24px;line-height:1;color:#008b99;background:radial-gradient(circle at 35% 30%,#fff,#bfe8ec 56%,#76cbd3)}
.avatar-rule{font-size:12px;line-height:1.45;margin:0 0 9px;color:#4d7086}.avatar-rule strong{color:var(--navy)}
.avatar-rule{margin-bottom:10px}.avatar-choice-group{border:0;padding:0;margin:0 0 11px;min-width:0}.avatar-choice-group legend{display:block;width:100%;padding:0;margin:0 0 7px;color:var(--navy);font-size:12px;font-weight:700;line-height:1.35}.color-choices{display:grid;grid-template-columns:repeat(6,minmax(50px,1fr));gap:6px}.color-choice{position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center!important;gap:4px!important;min-width:0;margin:0!important;padding:6px 3px!important;border:1px solid #c3d7e2;border-radius:9px;background:#fff;cursor:pointer;text-align:center;transition:.18s ease}.color-choice input,.trait-choice input{position:absolute;opacity:0;pointer-events:none}.color-choice>span:last-child{color:#526e80!important;font-size:8px;font-weight:600!important;line-height:1.15}.color-sample{width:27px;height:27px;border-radius:8px;background:var(--sample);box-shadow:inset 0 0 0 2px #ffffffaa,0 2px 6px #17385125}.color-choice:has(input:checked){border-color:var(--teal);background:#e9fbfc;box-shadow:0 0 0 2px #09aab72b}.color-choice:has(input:checked)::after{content:'✓';position:absolute;right:4px;top:2px;color:var(--teal-dark);font-size:10px;font-weight:900}.color-choice:focus-within,.trait-choice:focus-within{outline:3px solid #1ca6b43d;outline-offset:1px}.trait-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.trait-choice{position:relative;display:flex!important;align-items:center!important;justify-content:center!important;min-height:44px;margin:0!important;padding:7px 8px!important;border:1px solid #c3d7e2;border-radius:9px;background:#fff;cursor:pointer;text-align:center;transition:.18s ease}.trait-choice span{color:var(--navy)!important;font-size:10px;font-weight:700!important;line-height:1.25}.trait-choice:has(input:checked){border-color:var(--teal);background:linear-gradient(135deg,#e8fbfc,#f4ffff);box-shadow:0 0 0 2px #09aab72b}
.patient-data-table{margin:20px 0 0}.patient-data-table>div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid #d6dbd9}.patient-data-table dt{color:#728793;font-size:12px}.patient-data-table dd{margin:0;font-size:12px;line-height:1.55;color:#294b62}
.selection-panel{padding:25px;max-width:1120px;margin:0 auto}.selection-counter{margin:-5px 0 18px;padding:9px 13px;border-radius:9px;background:#e0f2f6;color:#55778b;font-size:13px}.selection-counter strong{color:var(--teal-dark);font-size:18px;margin-right:5px}.selection-drag-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:22px;align-items:stretch}.selection-bank,.selection-targets{min-width:0;border:1px solid #c9dce7;border-radius:13px;padding:16px;background:#f8fcff99;transition:border-color .16s,background .16s,box-shadow .16s}.selection-zone-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:13px}.selection-zone-title strong{font-size:15px}.selection-zone-title small{font-size:10px;color:#7891a2}.selection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.selection-card{min-height:86px;padding:12px 14px;touch-action:none;cursor:grab}.selection-card:active{cursor:grabbing}.selection-card .drag-grip{width:19px;height:27px;color:#93adbb;flex:0 0 auto}.selection-card .drag-grip .icon{width:19px;height:27px}.selection-card.selected{background:linear-gradient(120deg,#f8feff,#def4f6);border-color:#6ec5cd}.selection-card.dragging{opacity:.42;transform:scale(.98);box-shadow:none}.selection-slots{display:flex;flex-direction:column;gap:10px}.selection-slot{position:relative;display:flex;align-items:center;min-height:98px;padding:7px 7px 7px 39px;border:2px dashed #aac9d8;border-radius:12px;background:#eff7fb8f;transition:border-color .16s,background .16s,box-shadow .16s}.selection-slot-number{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:17px;font-weight:800;color:#82a0b1}.selection-placeholder{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;color:#7d98a8;font-size:12px;text-align:center}.selection-placeholder .icon{width:18px}.selection-slot.filled{padding:5px;background:#e7f5f8;border-style:solid;border-color:#9bcbd3}.selection-slot .selection-card{width:100%;min-height:84px;border:0;box-shadow:none}.selection-slot .selection-card:hover{transform:none}.selection-slot.drop-target,.selection-bank.drop-target{border-color:var(--teal);background:#dff7f8;box-shadow:0 0 0 3px #00a2ae21}.dragging-selection{cursor:grabbing}.dragging-selection *{cursor:grabbing!important}
.result-documents{grid-column:1/-1;padding:5px 0}.result-documents>.eyebrow{margin-bottom:8px}.clinical-alert{grid-column:1/-1;display:flex;align-items:center;gap:18px;padding:19px 22px;border:1px solid #f0c878;border-radius:14px;background:linear-gradient(120deg,#fff8e8,#fff2d3);box-shadow:0 8px 24px #76511b12}.clinical-alert h3{font-size:20px;margin:4px 0}.clinical-alert p{font-size:13px;margin-bottom:13px}.clinical-alert .round-icon{background:#ffe6ae;color:#9b6812}
.clinical-material{border-color:#b8dfe6;background:linear-gradient(120deg,#f1fbfc,#e2f4f7)}.clinical-material .round-icon{background:#ccecef;color:var(--teal-dark)}
.review-timer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:16px 0;padding:12px 14px;border:1px solid #bddde5;border-radius:10px;background:#e9f7fa;color:#52768b;font-size:12px}.review-timer .icon{color:var(--teal-dark)}.review-timer strong{font-size:21px;color:var(--navy);font-variant-numeric:tabular-nums}
.precision-profile{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin:18px 0}.precision-profile article{display:flex;gap:15px;align-items:flex-start;padding:18px;border:1px solid #c6dfe8;border-radius:13px;background:#f3f9fc}.precision-profile article>.icon{width:30px;height:30px;color:var(--teal-dark)}.precision-profile h3{font-size:16px}.precision-profile p{font-size:12px;line-height:1.55;margin-top:5px}
.final-screen.completed>.page-heading p{font-weight:800;color:var(--navy);letter-spacing:.025em}.precision-intro{text-align:center;margin:22px 0 4px;font-size:18px;font-weight:650;color:var(--navy)}
.final-journey{overflow:hidden}.final-stage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.final-stage-card{min-width:0;padding:16px;border:1px solid #c9e0e9;border-radius:12px;background:#f7fcffe8}.final-stage-card>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.final-stage-card>header>span{display:flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;background:var(--teal);color:white;font-size:12px;font-weight:750;box-shadow:0 0 0 2px white,0 0 0 3px #37b8c0}.final-stage-card>header>.icon{width:24px;height:24px;color:#06798b}.final-stage-card.unresolved{background:#f3f5f7;color:#7890a0}.final-stage-card.unresolved>header>span{background:#8fa4b1}.final-stage-title{display:flex;align-items:flex-start;gap:9px;min-height:44px}.final-stage-title>.icon{width:23px;height:23px;flex:0 0 auto;color:#11778b}.final-stage-title strong{font-size:13px;line-height:1.35}.final-stage-card small{display:block;margin:8px 0;color:#60849a;font-size:10px;font-weight:650}.final-stage-card p{padding-top:9px;border-top:1px solid #d9e9ef;font-size:11px;line-height:1.5;color:#58778b}.final-journey .final-stats{display:grid;grid-template-columns:minmax(190px,1.5fr) repeat(3,minmax(105px,.7fr));align-items:center;gap:16px;margin-top:14px}.final-journey .final-stats p{margin:0}.final-journey .final-stats b{font-size:22px}
@media(max-width:1000px){.final-stage-grid{grid-template-columns:repeat(3,1fr)}.final-journey .final-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.final-stage-grid{grid-template-columns:1fr}.final-stage-title{min-height:0}.final-journey .final-stats{grid-template-columns:1fr 1fr;gap:12px}.final-journey .final-team{grid-column:1/-1}}
@media(max-width:950px){.selection-drag-layout{grid-template-columns:1fr}.selection-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.selection-slot{min-height:115px;padding:28px 5px 5px}.selection-slot-number{left:50%;top:7px;transform:translateX(-50%);font-size:14px}.selection-slot .selection-card{min-height:78px;padding:9px}.selection-slot .selection-card small{display:none}}
@media(max-width:800px){.selection-grid{grid-template-columns:repeat(2,1fr)}.color-choices{grid-template-columns:repeat(3,1fr)}.trait-choices{grid-template-columns:1fr}.result-documents,.clinical-alert{grid-column:auto}.precision-profile{grid-template-columns:1fr}}
@media(max-width:600px){.selection-panel{padding:15px}.selection-grid,.selection-slots{grid-template-columns:1fr}.selection-card{min-height:78px}.selection-slot{min-height:88px;padding:6px 6px 6px 36px}.selection-slot-number{left:12px;top:50%;transform:translateY(-50%)}.selection-zone-title{align-items:flex-start;flex-direction:column;gap:2px}.patient-data-table>div{grid-template-columns:90px 1fr}.clinical-alert{align-items:flex-start;padding:16px}.clinical-alert .round-icon{width:42px;height:42px}.clinical-alert .button{width:100%;font-size:12px}.review-timer{grid-template-columns:auto 1fr}.review-timer strong{grid-column:2}}
.selection-card.selection-drag-ghost{position:fixed;z-index:10000;margin:0;pointer-events:none;opacity:.96;transform:rotate(1deg) scale(1.025);transform-origin:center;box-shadow:0 20px 42px #173a5260,0 5px 13px #173a5238;border-color:#20aeba;background:linear-gradient(120deg,#fff,#e8f8fa);transition:none!important;will-change:left,top;cursor:grabbing}.selection-card.selection-drag-ghost:hover{transform:rotate(1deg) scale(1.025)}.dragging-selection{user-select:none}

/* Sopa de dominios en dos fases */
.word-brief{display:flex;align-items:flex-start;gap:14px;margin:-10px 0 18px;padding:17px 20px}.word-brief>.icon{width:25px;height:25px;flex:0 0 auto;color:var(--teal-dark)}.word-brief p{font-size:13px;line-height:1.65;color:#46677d}.word-item:not(.found){opacity:.7}.word-item:not(.found) strong{font-weight:550;color:#718b9b}.word-item:not(.found) small{letter-spacing:0}
.word-validation-panel{width:min(820px,100%);margin:12px auto 0;padding:clamp(28px,5vw,54px)}.word-validation{display:flex;flex-direction:column;align-items:stretch}.word-validation-summary{display:flex;align-items:center;justify-content:center;gap:20px;text-align:left}.word-validation-summary>.icon{width:70px;height:70px;padding:17px;border-radius:50%;background:linear-gradient(145deg,#35cbd0,#0095a2);color:#fff;stroke-width:3;box-shadow:0 12px 28px #0095a32e}.word-validation-summary h2{margin-top:5px;font-size:clamp(24px,3vw,34px)}.word-found-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:28px 0}.word-found-tags span{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #b9dfe4;border-radius:999px;background:#e4f6f7;color:#176276;font-size:12px;font-weight:650}.word-found-tags .icon{width:15px;height:15px;color:var(--teal)}.word-validation-instruction{max-width:690px;margin:0 auto 24px;padding:18px 20px;border-left:4px solid var(--teal);background:#eaf6f9;border-radius:0 10px 10px 0;color:#365e76;font-size:16px;line-height:1.65}.word-validation .answer-form{width:min(650px,100%);margin:0 auto}.word-validation .answer-form>label{font-size:22px}.word-validation .answer-form input{font-size:18px}.word-validation .answer-actions{justify-content:center}.word-validation .answer-actions .primary{min-width:320px}
@media(max-width:800px){.word-brief{margin-top:-5px}.word-validation-panel{margin-top:4px}.word-validation-summary>.icon{width:58px;height:58px;padding:14px}.word-validation-instruction{font-size:14px}}
@media(max-width:600px){.word-brief{padding:14px;gap:10px}.word-brief p{font-size:12px}.word-validation-panel{padding:25px 18px}.word-validation-summary{align-items:flex-start;gap:12px}.word-validation-summary>.icon{width:46px;height:46px;padding:11px}.word-validation-summary h2{font-size:22px}.word-found-tags{margin:22px 0}.word-validation-instruction{padding:14px;font-size:13px}.word-validation .answer-form>label{font-size:18px}.word-validation .answer-actions .primary{min-width:0}}

/* Resultado en dos tiempos: puntuación y material desbloqueado */
.result-header-status{display:flex;align-items:center;gap:9px;min-width:150px;color:var(--teal-dark);font-size:14px;font-weight:750}.result-header-status .icon{width:24px;height:24px;padding:4px;border-radius:50%;background:var(--teal);color:#fff;stroke-width:3}
.score-reveal-screen{display:grid;place-items:center;min-height:calc(100svh - 155px);padding-top:24px}.score-reveal-card{width:min(690px,100%);padding:clamp(38px,6vw,72px);text-align:center;overflow:hidden;position:relative}.score-reveal-card:before{content:'';position:absolute;inset:-45% 12% auto;height:320px;border-radius:50%;background:radial-gradient(circle,#7de2e45c,transparent 68%);pointer-events:none}.score-reveal-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:82px;height:82px;margin-bottom:18px;border-radius:50%;color:#fff;background:linear-gradient(145deg,#27c8ce,#008f9d);box-shadow:0 14px 35px #0095a538}.score-reveal-icon .icon{width:43px;height:43px;stroke-width:2.8}.score-reveal-card .eyebrow{position:relative;font-size:13px;color:var(--teal-dark)}.score-reveal-card h1{position:relative;margin:11px 0 14px;color:var(--navy);font-family:var(--sans);font-size:clamp(58px,8vw,104px);font-variant-numeric:tabular-nums;animation:score-pop .46s cubic-bezier(.18,.85,.32,1.25)}.score-reveal-card h1 small{font-size:.25em;letter-spacing:0}.score-reveal-card>p{position:relative;font-size:clamp(13px,1.4vw,17px)}.score-reveal-total{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding:17px 20px;border:1px solid #b6e1e5;border-radius:12px;background:#dff5f6;color:#4e7386}.score-reveal-total strong{color:var(--navy);font-size:24px;font-variant-numeric:tabular-nums}@keyframes score-pop{from{opacity:0;transform:scale(.78)}to{opacity:1;transform:scale(1)}}
.ultrasound-result-screen{max-width:1280px;padding-bottom:30px}.ultrasound-result-screen .page-heading{margin:24px 0 20px}.result-ultrasound{max-width:1120px;margin:0 auto;padding:15px}.result-ultrasound-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding-bottom:12px}.result-ultrasound-toolbar .button{min-height:41px;padding:8px 14px;font-size:12px;gap:8px}.result-ultrasound-toolbar>span{min-width:54px;text-align:right;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.result-ultrasound-viewport{display:flex;align-items:center;justify-content:center;height:clamp(360px,55vh,620px);overflow:auto;border-radius:12px;background:radial-gradient(circle at 50% 45%,#17344a,#07131d 78%);box-shadow:inset 0 0 0 1px #ffffff17}.result-ultrasound-image{display:block;width:100%;height:100%;object-fit:contain;transform-origin:center;transition:transform .2s ease}.result-ultrasound-placeholder{display:flex;min-height:100%;width:100%;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#b9d9e7;background:radial-gradient(circle at 50% 45%,#17384f,#08141e 72%);text-align:center}.result-ultrasound-placeholder .icon{width:120px;height:120px;stroke-width:.8;opacity:.6}.result-ultrasound-placeholder strong{font-size:clamp(24px,3vw,38px);color:#edfaff}.result-ultrasound-placeholder span{font-size:13px;color:#86a7b8}.debate-moment{display:flex;align-items:center;justify-content:center;gap:18px;max-width:760px;margin:18px auto 0;padding:18px 26px;text-align:left}.debate-moment .round-icon{width:54px;height:54px}.debate-moment h2{font-size:24px}.debate-moment p{margin-top:4px;font-size:13px}
.radiograph-brief{display:flex;align-items:flex-start;gap:14px;margin:-8px 0 18px;padding:17px 20px}.radiograph-brief>.icon{width:25px;height:25px;flex:0 0 auto;color:var(--teal-dark)}.radiograph-brief p{font-size:13px;line-height:1.65;color:#46677d}.radiograph-result-screen{max-width:1320px;padding-bottom:30px}.radiograph-result-screen .page-heading{margin:20px 0 16px}.radiograph-result-screen>.timeout-banner{max-width:1160px;margin:0 auto 12px}.result-radiograph{max-width:1160px;margin:0 auto;padding:14px}.result-radiograph-viewport{display:flex;align-items:center;justify-content:center;height:clamp(390px,58vh,660px);overflow:hidden;border-radius:12px;background:radial-gradient(circle at 50% 45%,#17344a,#07131d 78%);box-shadow:inset 0 0 0 1px #ffffff17}.result-radiograph-image{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}.radiograph-result-screen>.clinical-alert{max-width:1160px;margin:16px auto 0}.radiograph-result-screen .debate-moment{margin-top:16px}
@media(max-width:800px){.result-header-status{min-width:0;font-size:0}.result-header-status .icon{margin:0}.score-reveal-screen{min-height:calc(100svh - 135px)}.result-ultrasound-viewport{height:50vh}.result-ultrasound-toolbar{justify-content:center}.result-radiograph-viewport{height:52vh}.debate-moment{align-items:flex-start}.debate-moment h2{font-size:20px}}
@media(max-width:600px){.score-reveal-card{padding:38px 20px}.score-reveal-icon{width:66px;height:66px}.score-reveal-icon .icon{width:34px;height:34px}.score-reveal-total{align-items:flex-start;flex-direction:column;gap:2px}.ultrasound-result-screen,.radiograph-result-screen{padding-left:0;padding-right:0}.ultrasound-result-screen .page-heading,.radiograph-result-screen .page-heading{margin:18px 0 14px}.result-ultrasound,.result-radiograph{padding:9px}.result-ultrasound-toolbar .button span{display:none}.result-ultrasound-toolbar .button{padding:8px 11px}.result-ultrasound-viewport{height:46vh}.result-radiograph-viewport{height:48vh}.radiograph-brief{padding:14px;gap:10px}.radiograph-brief p{font-size:12px}.debate-moment{margin-top:12px;padding:15px}.debate-moment .round-icon{display:none}}
@media(min-width:801px) and (max-height:800px){.score-reveal-screen{min-height:calc(100svh - 125px)}.score-reveal-card{padding:32px 48px}.score-reveal-icon{width:64px;height:64px;margin-bottom:10px}.score-reveal-icon .icon{width:33px;height:33px}.score-reveal-card h1{font-size:66px;margin:5px 0}.score-reveal-total{margin-top:16px;padding:12px 16px}.ultrasound-result-screen .page-heading{margin:14px 0 12px}.result-ultrasound-viewport{height:51vh}.debate-moment{margin-top:12px;padding:12px 22px}.debate-moment .round-icon{width:46px;height:46px}.debate-moment h2{font-size:20px}}
.discussion-screen{max-width:1180px;margin:0 auto;padding-bottom:28px}.discussion-screen>.page-heading{margin-bottom:22px}.discussion-media{padding:20px;max-width:1060px;margin:0 auto}.discussion-image-viewport{height:min(58vh,590px);min-height:360px;display:flex;align-items:center;justify-content:center;border-radius:14px;overflow:hidden;background:#0d2438}.discussion-image-viewport img{width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}.discussion-media>p{padding:14px 8px 0;text-align:center;font-size:13px;line-height:1.6}.discussion-text{max-width:900px;margin:0 auto;padding:38px}.discussion-text h2{font-size:31px;margin:11px 0 17px}.discussion-text p{font-size:18px;line-height:1.75}.discussion-document{max-width:1060px;margin:0 auto;padding:22px}.discussion-screen .debate-moment{max-width:900px;margin-top:20px}.discussion-screen .bottom-actions{margin-top:18px}.discussion-screen .result-ultrasound-placeholder{height:100%;width:100%}.discussion-screen .result-ultrasound-placeholder .icon{width:75px;height:75px}.discussion-screen .result-ultrasound-placeholder strong{font-size:22px}.discussion-screen .result-ultrasound-placeholder span{font-size:13px}.result-header-status{display:flex;align-items:center;gap:9px;color:#087c88;font-size:14px;font-weight:700}.result-header-status .icon{width:24px;height:24px}@media(max-width:700px){.discussion-image-viewport{height:46vh;min-height:280px}.discussion-media{padding:10px}.discussion-text{padding:25px 20px}.discussion-text h2{font-size:25px}.discussion-text p{font-size:15px}.discussion-screen .debate-moment{align-items:flex-start;padding:17px}.result-header-status span{display:none}}

/* Debate dermatológico en dos pasos: alerta y documento completo. */
.game-shell:has(.discussion-alert-screen),.game-shell:has(.discussion-report-screen){height:100svh;min-height:100svh;overflow:hidden}
.discussion-alert-screen{display:grid;place-items:center;min-height:0;max-width:1050px;padding:28px 20px}.discussion-alert-card{appearance:none;width:min(780px,100%);border:1px solid #fff;padding:clamp(42px,7vw,82px) clamp(26px,7vw,76px);display:flex;align-items:center;flex-direction:column;text-align:center;color:var(--navy);position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}.discussion-alert-card:before{content:'';position:absolute;inset:-55% 8% auto;height:420px;background:radial-gradient(circle,#72dfe34a,transparent 69%);pointer-events:none}.discussion-alert-card:hover{transform:translateY(-3px);box-shadow:0 20px 50px #0a6f8127,inset 0 0 0 1px #d8e7ef8c}.discussion-alert-icon{position:relative;display:grid;place-items:center;width:92px;height:92px;margin-bottom:23px;border-radius:50%;background:linear-gradient(145deg,#29c6cd,#008e9e);color:#fff;box-shadow:0 0 0 10px #d7f4f5,0 16px 34px #008c9d38;animation:clinical-alert-pulse 1.8s ease-in-out infinite}.discussion-alert-icon .icon{width:48px;height:48px;stroke-width:2.5}.discussion-alert-card .eyebrow{position:relative;margin-bottom:10px;color:#00818f}.discussion-alert-card>strong{position:relative;font-size:clamp(31px,4.4vw,55px);line-height:1.12;letter-spacing:-.035em}.discussion-alert-prompt{position:relative;display:flex;align-items:center;gap:13px;margin-top:28px;padding:13px 20px;border-radius:999px;background:#dff4f6;color:#087886;font-size:16px;font-weight:700}.discussion-alert-prompt .icon{width:20px;height:20px}@keyframes clinical-alert-pulse{50%{transform:scale(1.045);box-shadow:0 0 0 15px #d7f4f582,0 18px 38px #008c9d42}}
.discussion-report-screen{display:flex;flex-direction:column;justify-content:center;gap:14px;min-height:0;max-width:1080px;padding:20px 18px 8px;overflow:hidden}.dermatology-report{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;padding:clamp(24px,3.6vw,45px) clamp(28px,5vw,66px);background:linear-gradient(120deg,#fffefbfa,#f3f8f9f2)}.dermatology-report header{display:flex;align-items:center;gap:23px;padding-bottom:20px;border-bottom:1px solid #c7dce5}.dermatology-report header .round-icon{width:66px;height:66px;background:#e0f2f5}.dermatology-report h1{margin-top:5px;font-family:var(--sans);font-size:clamp(32px,4vw,52px);font-weight:600}.dermatology-report-body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:clamp(26px,5vh,58px) clamp(8px,5vw,70px)}.report-rule{display:block;width:58px;height:4px;margin-bottom:25px;border-radius:4px;background:var(--teal)}.dermatology-report-body p{max-width:850px;color:#284d66;font-size:clamp(19px,2.15vw,29px);line-height:1.65}.dermatology-report footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:17px;border-top:1px solid #d2e1e8;color:#688496;font-size:12px}.dermatology-report footer span{display:flex;align-items:center;gap:8px}.dermatology-report footer .icon{width:17px;height:17px;color:#168595}.discussion-await{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;text-align:center;color:#658398;font-size:12px}.discussion-await strong{color:var(--navy);font-size:16px}.discussion-await span{padding-left:12px;border-left:1px solid #aac7d4}
.dermatology-debate-moment{flex:0 0 auto;width:100%;max-width:none!important;margin:0!important;padding:14px 28px!important;justify-content:flex-start!important}.dermatology-debate-moment .round-icon{width:58px;height:58px}.dermatology-debate-moment h2{font-size:24px}.dermatology-debate-moment p{font-size:13px;line-height:1.5}
@media(max-width:700px){.discussion-alert-screen{padding:20px 4px}.discussion-alert-card{padding:42px 22px}.discussion-alert-icon{width:72px;height:72px}.discussion-alert-icon .icon{width:38px;height:38px}.discussion-alert-prompt{font-size:14px}.discussion-report-screen{padding:12px 0 5px;gap:9px}.dermatology-report{padding:22px 20px}.dermatology-report header{gap:14px;padding-bottom:15px}.dermatology-report header .round-icon{width:48px;height:48px}.dermatology-report h1{font-size:30px}.dermatology-report-body{padding:24px 5px}.dermatology-report-body p{font-size:18px;line-height:1.55}.dermatology-report footer{font-size:10px}.dermatology-debate-moment{padding:12px 16px!important}.dermatology-debate-moment .round-icon{display:flex;width:46px;height:46px}.dermatology-debate-moment h2{font-size:18px}.dermatology-debate-moment p{font-size:11px}}
@media(min-width:701px) and (max-height:800px){.discussion-alert-screen{padding:16px}.discussion-alert-card{padding:35px 55px}.discussion-alert-icon{width:70px;height:70px;margin-bottom:17px}.discussion-alert-icon .icon{width:36px;height:36px}.discussion-alert-prompt{margin-top:18px}.discussion-report-screen{padding-top:12px;gap:8px}.dermatology-report{padding:22px 38px}.dermatology-report header{padding-bottom:13px}.dermatology-report header .round-icon{width:50px;height:50px}.dermatology-report-body{padding:20px 45px}.dermatology-report-body p{font-size:20px}.dermatology-report footer{padding-top:11px}.discussion-await strong{font-size:14px}}

/* La portada conserva la composicion completa en portatiles y iPad apaisado. */
@media(min-width:801px) and (max-height:900px){
 body:has(.welcome){overflow:hidden}
 .welcome-with-avatar{height:100svh;min-height:0;padding:11px 4% 8px;overflow:hidden}
 .welcome-with-avatar .welcome-top{min-height:25px}
 .welcome-with-avatar .hero-heading{margin-top:2px}
 .welcome-with-avatar .hero-heading .eyebrow{margin-bottom:5px;font-size:10px}
 .welcome-with-avatar .hero-heading h1{font-size:clamp(43px,3.6vw,52px)}
 .welcome-with-avatar .hero-heading p{margin-top:5px;font-size:17px}
 .welcome-with-avatar .teal-rule{width:56px;height:2px;margin-top:9px}
 .welcome-with-avatar .hero-object{height:128px;margin:-7px 0 -10px}
 .welcome-with-avatar .entry-form{width:min(590px,96%);padding:9px 10px}
 .welcome-with-avatar .entry-form>label{margin-bottom:4px;font-size:11px}
 .welcome-with-avatar .entry-field{margin-bottom:8px}
 .welcome-with-avatar .entry-field>.icon{top:11px}
 .welcome-with-avatar .entry-field input{min-height:41px;padding-top:9px;padding-bottom:9px;font-size:14px}
 .welcome-with-avatar .avatar-builder{grid-template-columns:104px 1fr;gap:10px;padding:8px;margin-bottom:8px}
 .welcome-with-avatar .avatar-preview{gap:4px;padding:6px}
 .welcome-with-avatar .team-avatar-preview{width:64px;height:64px;border-radius:15px}
 .welcome-with-avatar .avatar-rule{margin-bottom:5px;font-size:10px;line-height:1.3}
 .welcome-with-avatar .avatar-choice-group{margin-bottom:6px}
 .welcome-with-avatar .avatar-choice-group legend{margin-bottom:4px;font-size:10px}
 .welcome-with-avatar .color-choice{padding:3px 2px!important;gap:2px!important}
 .welcome-with-avatar .color-sample{width:22px;height:22px;border-radius:6px}
 .welcome-with-avatar .color-choice>span:last-child{font-size:7px}
 .welcome-with-avatar .trait-choice{min-height:34px;padding:4px 6px!important}
 .welcome-with-avatar .trait-choice span{font-size:9px!important}
 .welcome-with-avatar .avatar-actions{margin-top:4px}
 .welcome-with-avatar .avatar-actions .button{min-height:32px;padding:5px 10px;font-size:10px}
 .welcome-with-avatar .avatar-status{margin-top:3px;font-size:8px}
 .welcome-with-avatar .entry-form>.button.primary{min-height:42px;padding:8px 20px;font-size:15px}
 .welcome-with-avatar .welcome-meta{margin-top:7px;gap:18px;font-size:10px}
 .welcome-with-avatar .welcome-bottom{padding-top:4px;font-size:8px}
}

/* Portada apaisada: el expediente y la configuracion comparten la zona central. */
@media(min-width:1100px){
 body:has(.welcome-with-avatar){overflow:hidden}
 .welcome-with-avatar{
  display:grid;
  grid-template-columns:minmax(500px,720px) minmax(520px,610px);
  grid-template-rows:auto auto minmax(0,1fr) auto auto;
  column-gap:clamp(40px,3.4vw,66px);
  justify-content:center;
  align-items:center;
  height:100svh;
  min-height:0;
  padding:clamp(14px,2.2vh,26px) 5% clamp(9px,1.4vh,16px);
  overflow:hidden;
 }
 .welcome-with-avatar .welcome-top{grid-column:1/-1;grid-row:1}
 .welcome-with-avatar .hero-heading{grid-column:1/-1;grid-row:2;margin-top:clamp(3px,1.2vh,14px)}
 .welcome-with-avatar .hero-heading .eyebrow{margin-bottom:clamp(8px,1.3vh,16px)}
 .welcome-with-avatar .hero-heading p{margin-top:clamp(8px,1.3vh,16px)}
 .welcome-with-avatar .teal-rule{margin-top:clamp(10px,1.4vh,17px)}
 .welcome-with-avatar .hero-object{
  grid-column:1;
  grid-row:3;
  justify-self:end;
  align-self:center;
  width:min(720px,100%);
  height:clamp(245px,45vh,480px);
  margin:0;
 }
 .welcome-with-avatar .entry-form{
  grid-column:2;
  grid-row:3;
  justify-self:start;
  align-self:center;
  width:min(610px,100%);
  max-width:none;
  transform:translateX(-28px);
 }
 .welcome-with-avatar .welcome-meta{grid-column:1/-1;grid-row:4;margin-top:clamp(5px,1.2vh,14px)}
 .welcome-with-avatar .welcome-bottom{grid-column:1/-1;grid-row:5;margin-top:0;padding-top:clamp(4px,.8vh,10px)}
}

@media(min-width:1100px) and (max-height:760px){
 .welcome-with-avatar{grid-template-columns:minmax(430px,620px) minmax(500px,580px);column-gap:34px}
 .welcome-with-avatar .hero-object{height:clamp(220px,42vh,320px)}
 .welcome-with-avatar .welcome-meta{margin-top:3px}
}

@media(min-width:1100px) and (min-height:901px){
 .welcome-with-avatar .hero-heading .eyebrow{font-size:15px;letter-spacing:.23em}
 .welcome-with-avatar .hero-heading h1{font-size:clamp(82px,6vw,112px)}
 .welcome-with-avatar .hero-heading p{font-size:clamp(24px,1.8vw,32px)}
 .welcome-with-avatar .teal-rule{width:82px;height:4px}
}

/* La generación del avatar se presenta como una acción destacada. */
.welcome-with-avatar .avatar-actions{margin-top:10px}
.welcome-with-avatar .avatar-actions .button.outline{
 color:#fff;
 background:linear-gradient(105deg,#00cfe3 0%,#176fff 52%,#a900e4 100%);
 border-color:#76f5ff;
 box-shadow:0 0 14px #00d8ff70,0 0 20px #9e00e744,inset 0 1px 1px #ffffff8c;
 font-weight:750;
 padding-right:20px;
}
.welcome-with-avatar .avatar-actions .button.outline:hover{
 background:linear-gradient(105deg,#16e9f6 0%,#296eff 50%,#d000f0 100%);
 border-color:#c3fbff;
 box-shadow:0 0 20px #00dfff9e,0 0 26px #be00f16b,inset 0 1px 1px #fff;
 transform:translateY(-1px);
}

/* La estrella queda integrada directamente en el configurador, sin tarjeta propia. */
.welcome-with-avatar .avatar-preview{
 background:transparent;
 border:0;
 box-shadow:none;
 padding:0;
}

/* Acción principal de acceso con el degradado cian y azul del resto de formularios. */
.welcome-with-avatar .entry-form>.button.primary{
 background:linear-gradient(105deg,#12bfd1 0%,#079be0 48%,#1678bd 100%);
 border-color:#6ff5ff;
 box-shadow:0 0 16px #00d8ff6e,0 0 24px #087dcd55,inset 0 1px 1px #ffffffa3;
}
.welcome-with-avatar .entry-form>.button.primary:hover{
 background:linear-gradient(105deg,#23d5e2 0%,#0aaaf0 48%,#218bd2 100%);
 border-color:#b9fbff;
 box-shadow:0 0 22px #00e5ff9c,0 0 30px #118be477,inset 0 1px 1px #fff;
}

/* Introduccion del caso: continuidad visual con el laboratorio de neon. */
body:has(.intro-screen){background:#030722;color:#f5fbff;color-scheme:dark;overflow:hidden}
body:has(.intro-screen) .laboratory{background:
 radial-gradient(circle at 18% 24%,#005dff8a 0,transparent 24%),
 radial-gradient(circle at 78% 28%,#e000ff70 0,transparent 24%),
 linear-gradient(115deg,#02051aec 0%,#071043c7 46%,#090326e9 100%),
 url('../assets/laboratory.png') center/cover no-repeat;filter:saturate(1.6) contrast(1.15)}
body:has(.intro-screen) .laboratory:before{content:'';position:absolute;inset:45% -20% -35%;background-image:linear-gradient(#00d9ff24 1px,transparent 1px),linear-gradient(90deg,#00d9ff24 1px,transparent 1px);background-size:62px 62px;transform:perspective(520px) rotateX(61deg) scale(1.35);transform-origin:center bottom;opacity:.76}
body:has(.intro-screen) .laboratory:after{background:radial-gradient(ellipse at 50% 53%,transparent 0 27%,#03051a9c 78%),linear-gradient(90deg,#001a5b4d,#ff00cd18 30%,#00d9ff12 65%,#24006459);box-shadow:inset 0 0 150px #020315}
.intro-screen{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100svh;min-height:0;max-width:1720px;padding:14px 3% 28px;overflow:hidden;color:#f5fbff;text-shadow:0 1px 12px #02051d80}
.intro-screen:before{content:'';position:absolute;z-index:-1;inset:12% 12% 7%;border:1px solid #00d9ff22;border-radius:38% 38% 12% 12%;background:radial-gradient(circle at 47% 46%,#075cf22b,transparent 55%),radial-gradient(circle at 72% 55%,#e900ff1b,transparent 42%);filter:drop-shadow(0 0 46px #006dff55);pointer-events:none}
.intro-screen .simple-top{min-height:50px}.intro-screen .wordmark{color:#fff;text-shadow:0 0 16px #299fff80}.intro-screen .wordmark span{color:#c7d6fa;border-color:#00d8ef}.intro-screen .simple-top>.text-button{color:#d9e8ff}.intro-screen .simple-top>.text-button:hover{color:#fff}.intro-screen .simple-top>.text-button .icon{color:#18e8f2;filter:drop-shadow(0 0 6px #00dcff)}
.intro-screen .team-pill{color:#f7fdff;background:linear-gradient(145deg,#07123ee8,#120932e8);border-color:#00dcff;box-shadow:0 0 0 1px #8a39ff66,0 0 18px #00cfff72,inset 0 0 16px #006dff2e}.intro-screen .team-avatar-pill{border-color:#40ecff;box-shadow:0 0 12px #00d9ff70}
.intro-screen .page-heading{margin:17px 0 20px}.intro-screen .page-heading h1{color:#fff;font-size:clamp(38px,4vw,61px);text-shadow:0 0 24px #315dff70}.intro-screen .page-heading p{margin-top:8px;color:#73efff;font-size:clamp(14px,1.35vw,20px);text-shadow:0 0 12px #00cfff8c}
.intro-screen .intro-grid{display:flex;width:100%;height:100%;min-height:0;max-width:1580px;align-items:center;justify-content:center}
.intro-screen .clinical-history-card{position:relative;display:flex;width:min(1500px,100%);height:100%;min-width:0;margin:0;padding:8px;align-items:center;justify-content:center;background:linear-gradient(145deg,#07113de8,#080725ed);border:1px solid #00dfff;border-radius:16px;box-shadow:0 0 0 1px #a02dff70,0 0 22px #00bfff80,0 20px 55px #00051d99;overflow:hidden}
.intro-screen .clinical-history-card:after{content:'';position:absolute;inset:5px;border:1px solid #196bcf80;border-radius:12px;pointer-events:none}
.intro-screen .clinical-history-card img{display:block;width:auto;max-width:100%;height:auto;max-height:100%;border-radius:10px;object-fit:contain}
.intro-screen .intro-wait-message{display:flex;align-items:center;justify-content:center;gap:9px;min-height:36px;margin:9px 0 0;color:#c9e5f5;text-align:center;font-size:13px;line-height:1.35}
.intro-screen .intro-wait-message .icon{width:17px;height:17px;color:#4cf5ff;filter:drop-shadow(0 0 7px #00dfff);flex:0 0 auto}
.intro-screen .paper-folder{height:100%;min-height:0;padding:14px;background:linear-gradient(145deg,#07113de8,#080725ed);border:1px solid #00dfff;border-radius:16px;box-shadow:0 0 0 1px #a02dff70,0 0 22px #00bfff80,0 20px 55px #00051d99;transform:rotate(1.65deg) scale(.975);transform-origin:center;overflow:visible}
.intro-screen .paper-folder:after{content:'';position:absolute;inset:8px;border:1px solid #196bcf80;border-radius:11px;pointer-events:none}
.intro-screen .folder-tab{top:-22px;left:18px;padding:7px 22px;color:#38f3ff;background:#07113ef2;border-color:#00dcff;border-bottom:0;box-shadow:0 -5px 14px #00cfff30;text-shadow:0 0 10px #00dfff}
.intro-screen .paper-sheet{height:100%;min-height:0;padding:25px 27px;color:#f5fbff;background:linear-gradient(135deg,#07133ee8,#050a26ed);border:1px solid #1f6ec5;box-shadow:inset 0 0 25px #004b9c2e;overflow:hidden}
.intro-screen .patient-top h2{color:#fff;text-shadow:0 0 14px #6e7fff70}.intro-screen .patient-top p{color:#b9d1ed}.intro-screen .eyebrow{color:#40eaff;text-shadow:0 0 10px #00cfff}.intro-screen .avatar{color:#53e9f3;background:#071842;border:1px solid #00d8ef;box-shadow:inset 0 0 16px #00659c,0 0 12px #00d9ff55}
.intro-screen .patient-data-table{margin-top:19px}.intro-screen .patient-data-table>div{border-color:#1c6fa9;padding:8px 0}.intro-screen .patient-data-table dt{color:#7eefff}.intro-screen .patient-data-table dd{color:#e8f3ff}
.intro-screen .paper-section{margin-top:18px;padding-top:14px;border-color:#17659a}.intro-screen .paper-section h3{color:#f4fbff}.intro-screen .paper-section h3 .icon{color:#23eff4;filter:drop-shadow(0 0 6px #00d9ff)}.intro-screen .skeleton{background:linear-gradient(90deg,#04dff0,#126dff);box-shadow:0 0 10px #00cbff70}.intro-screen .skeleton.short{background:linear-gradient(90deg,#00e7ed,#7b2cff)}.intro-screen .stamp{color:#ff5ee4;border-color:#ff47d7;opacity:1;text-shadow:0 0 9px #ff00ce;box-shadow:0 0 10px #ff00ca44}
.intro-screen .mission-instructions{height:auto;min-height:0;align-self:center;justify-content:flex-start;gap:12px}.intro-screen .instruction{flex:0 0 auto;min-height:clamp(104px,11.5vh,126px);padding:16px 20px;color:#f5fbff;background:linear-gradient(130deg,#07143fe8,#0c0a34de);border-color:#00cfff;box-shadow:0 0 0 1px #5641ff55,0 0 18px #00bfff45,inset 0 0 20px #0063ad20}.intro-screen .instruction:nth-child(2){border-color:#6a7cff}.intro-screen .instruction:nth-child(3){border-color:#00dff0}.intro-screen .instruction .round-icon{color:#45f5ff;background:#071943;border:1px solid #00dfff;box-shadow:inset 0 0 16px #005ea8,0 0 13px #00d9ff70}.intro-screen .instruction-number{color:#38eafa}.intro-screen .instruction h2{color:#fff;font-size:18px}.intro-screen .instruction p{color:#9fc7e8}.intro-screen .mission-badges span{color:#57f3ff;background:linear-gradient(135deg,#07143ed9,#0c0b36e8);border-color:#00d5ef;box-shadow:0 0 12px #00cfff4a}.intro-screen .mission-badges .icon{color:#28eff4}

@media(min-width:801px) and (max-height:850px){
 .intro-screen{padding:8px 2.5% 22px}.intro-screen .simple-top{min-height:34px}.intro-screen .intro-wait-message{min-height:26px;margin-top:4px;font-size:11px}
 .intro-screen .intro-grid{max-width:1320px}.intro-screen .paper-folder{padding:9px}.intro-screen .folder-tab{top:-16px;padding:4px 15px}.intro-screen .paper-sheet{padding:14px 17px}.intro-screen .patient-top{gap:10px}.intro-screen .patient-top h2{font-size:21px}.intro-screen .patient-top .avatar{width:45px;height:50px}.intro-screen .patient-top .avatar>.icon{width:35px;height:35px}.intro-screen .patient-data-table{margin-top:8px}.intro-screen .patient-data-table>div{padding:4px 0}.intro-screen .patient-data-table dt,.intro-screen .patient-data-table dd{font-size:10px;line-height:1.35}.intro-screen .paper-section{margin-top:8px;padding-top:7px}.intro-screen .paper-section h3{font-size:13px}.intro-screen .skeleton{height:6px;margin-top:7px}.intro-screen .skeleton.short{margin-top:5px}.intro-screen .stamp{margin-top:8px;padding:3px 8px;font-size:10px}
 .intro-screen .mission-instructions{height:auto;gap:7px}.intro-screen .instruction{flex:0 0 auto;min-height:82px;padding:9px 12px;gap:10px}.intro-screen .instruction .round-icon{width:39px;height:39px}.intro-screen .instruction .round-icon .icon{width:21px;height:21px}.intro-screen .instruction h2{font-size:14px}.intro-screen .instruction p{margin-top:2px;font-size:9px}.intro-screen .instruction-number{font-size:8px}.intro-screen .mission-badges{gap:7px}.intro-screen .mission-badges span{padding:7px;font-size:10px}
}

/* Pie simplificado tras retirar las etiquetas textuales de marca y sincronización. */
.intro-screen .team-only-top{justify-content:flex-end!important;margin-bottom:clamp(16px,1.8vh,22px)}
.game-footer{justify-content:center!important}
.game-footer>.footer-legal{align-items:center!important;text-align:center!important}

/* Fondos y marcas suministrados para el flujo del juego. */
.laboratory,
body:has(.boot) .laboratory,
body:has(.load-error) .laboratory,
body:has(.intro-screen) .laboratory,
body:has(.game-shell) .laboratory,
body:has(.score-reveal-screen) .laboratory,
body:has(.discussion-screen) .laboratory,
body:has(.ultrasound-result-screen) .laboratory{
 background:#030722 url('../assets/background-juego.png') center/cover no-repeat!important;
 filter:none!important;
}
body:has(.welcome) .laboratory{
 background:#030722 url('../assets/background-inicio.png') center/cover no-repeat!important;
 filter:none!important;
}
.laboratory:before{display:none!important}
.laboratory:after,
body:has(.boot) .laboratory:after,
body:has(.load-error) .laboratory:after,
body:has(.intro-screen) .laboratory:after,
body:has(.game-shell) .laboratory:after,
body:has(.score-reveal-screen) .laboratory:after,
body:has(.discussion-screen) .laboratory:after,
body:has(.ultrasound-result-screen) .laboratory:after{
 content:''!important;
 position:absolute!important;
 inset:0!important;
 background:linear-gradient(90deg,#02051a57 0%,#02051a18 48%,#02051a4d 100%)!important;
 box-shadow:inset 0 0 110px #02031573!important;
}
body:has(.welcome) .laboratory:after{
 background:linear-gradient(90deg,#02051a42 0%,#02051a0d 48%,#02051a3b 100%)!important;
}

.brand-logo{display:block;width:auto;object-fit:contain;filter:drop-shadow(0 0 9px #001642b8)}
.welcome-brand-header{position:relative;z-index:5;min-height:54px}
.welcome-brand-header .brand-logo-jj{width:clamp(145px,15vw,215px);max-height:56px;object-position:left center}
.welcome-brand-header .brand-logo-innovara{width:clamp(120px,12vw,178px);max-height:48px;object-position:right center}

.global-branding{position:fixed;inset:0;z-index:12;pointer-events:none}
.global-branding .brand-logo{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));max-height:42px}
.global-branding .brand-logo-jj{left:max(24px,env(safe-area-inset-left));width:clamp(118px,9vw,158px);object-position:left bottom}
.global-branding .brand-logo-innovara{right:max(24px,env(safe-area-inset-right));width:clamp(105px,8vw,140px);object-position:right bottom}
body:has(.welcome) .global-branding,
body:has(dialog[open]) .global-branding{display:none}

.modal-branding{position:fixed;inset:0;z-index:4;pointer-events:none}
.modal-branding .brand-logo{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));max-height:34px;opacity:.94}
.modal-branding .brand-logo-jj{left:max(20px,env(safe-area-inset-left));width:125px;object-position:left bottom}
.modal-branding .brand-logo-innovara{right:max(20px,env(safe-area-inset-right));width:112px;object-position:right bottom}
.game-footer{padding-left:clamp(132px,10vw,178px);padding-right:clamp(122px,9vw,164px)}

@media(max-width:800px){
 .welcome-brand-header{min-height:44px}
 .welcome-brand-header .brand-logo-jj{width:132px;max-height:42px}
 .welcome-brand-header .brand-logo-innovara{width:112px;max-height:38px}
 .global-branding .brand-logo{bottom:9px;max-height:28px}
 .global-branding .brand-logo-jj{left:12px;width:98px}
 .global-branding .brand-logo-innovara{right:12px;width:86px}
 .modal-branding .brand-logo{bottom:8px;max-height:24px}
 .modal-branding .brand-logo-jj{left:10px;width:88px}
 .modal-branding .brand-logo-innovara{right:10px;width:78px}
 .game-footer{padding-left:104px;padding-right:94px}
}
@media(max-width:560px){
 .global-branding .brand-logo,.modal-branding .brand-logo{opacity:.82}
 .game-footer{padding-left:2px;padding-right:2px;padding-bottom:45px}
}

/* Historia clínica: marco de laboratorio de neón; la imagen clínica se conserva sin filtros. */
body:has(.history-modal[open]){background:#030722;color-scheme:dark}
body:has(.history-modal[open]) .laboratory{background:
 radial-gradient(circle at 17% 24%,#0064ff91 0,transparent 25%),
 radial-gradient(circle at 79% 28%,#df00ff78 0,transparent 25%),
 linear-gradient(115deg,#02051ad4 0%,#071043a8 46%,#090326d1 100%),
 url('../assets/laboratory.png') center/cover no-repeat;filter:saturate(2) contrast(1.22) brightness(.88)}
body:has(.history-modal[open]) .laboratory:before{content:'';position:absolute;inset:46% -20% -34%;background-image:linear-gradient(#00d9ff2c 1px,transparent 1px),linear-gradient(90deg,#00d9ff2c 1px,transparent 1px);background-size:62px 62px;transform:perspective(520px) rotateX(61deg) scale(1.35);transform-origin:center bottom;opacity:.8}
body:has(.history-modal[open]) .laboratory:after{background:radial-gradient(ellipse at 50% 48%,transparent 0 29%,#02051a70 85%),linear-gradient(90deg,#001a5b38,#ff00cd18 31%,#00d9ff10 66%,#24006447);box-shadow:inset 0 0 150px #020315}
.history-modal{position:relative;isolation:isolate;width:min(1540px,calc(100vw - 36px));max-height:calc(100svh - 28px);padding:14px;color:#fff;background:linear-gradient(145deg,#06173cf5,#07072ff2 72%,#0b0839f2);border:2px solid #42efff;border-radius:0;clip-path:polygon(20px 0,calc(100% - 20px) 0,100% 20px,100% calc(100% - 20px),calc(100% - 20px) 100%,20px 100%,0 calc(100% - 20px),0 20px);box-shadow:0 0 0 2px #245cff78,0 0 26px #00dfffba,0 0 48px #a51dff63,0 28px 80px #00051dc2,inset 0 0 34px #006ab630;filter:drop-shadow(0 0 10px #00dfff8f);overflow:hidden}
.history-modal::backdrop{background:#0207204f;backdrop-filter:blur(6px) saturate(1.65) brightness(.9)}
.history-modal:before{content:'';position:absolute;z-index:0;inset:7px;border:1px solid #1a7bd39c;clip-path:polygon(0 0,16% 0,16% 2px,84% 2px,84% 0,100% 0,100% 100%,84% 100%,84% calc(100% - 2px),16% calc(100% - 2px),16% 100%,0 100%);pointer-events:none}
.history-modal:after{content:'';position:absolute;z-index:0;inset:9px;background:linear-gradient(#ffe84a,#ffe84a) left top/88px 3px no-repeat,linear-gradient(#ffe84a,#ffe84a) left top/3px 88px no-repeat,linear-gradient(#ff45e4,#ff45e4) right bottom/54px 3px no-repeat,linear-gradient(#ff45e4,#ff45e4) right bottom/3px 54px no-repeat;filter:drop-shadow(0 0 7px #ff00de);pointer-events:none}
.history-modal .modal-close{right:18px;top:18px;z-index:3;width:50px;height:50px;color:#fff;background:linear-gradient(145deg,#0a2758f5,#071337f2);border:2px solid #78fbff;box-shadow:0 0 0 3px #006dff70,0 0 17px #00eaffc4,0 0 25px #e72cff72,inset 0 0 15px #0078c752}
.history-modal .modal-close:hover{color:#fff;background:linear-gradient(145deg,#0d3978,#10164e);border-color:#fff;box-shadow:0 0 0 3px #00dfff75,0 0 24px #00eaffea,0 0 30px #ef36ff94,inset 0 0 18px #009ee36b}
.history-modal .modal-close .icon{width:25px;height:25px;filter:drop-shadow(0 0 6px #00eaff)}
.history-modal .modal-branding .brand-logo{bottom:max(30px,env(safe-area-inset-bottom))}
.history-modal .modal-branding .brand-logo-jj{left:max(clamp(26px,2vw,38px),env(safe-area-inset-left))}
.history-modal .modal-branding .brand-logo-innovara{right:max(clamp(26px,2vw,38px),env(safe-area-inset-right))}
.history-modal-figure{position:relative;z-index:1;display:flex;width:100%;height:100%;margin:0;align-items:center;justify-content:center;background:linear-gradient(145deg,#06173cf5,#07072ff2 72%,#0b0839f2);border:1px solid #20c9f0;box-shadow:0 0 13px #00dfff65,inset 0 0 28px #006ab640}
.history-modal-figure img{display:block;width:100%;height:auto;max-height:calc(100svh - 60px);object-fit:contain;border-radius:0;filter:none}
@media(max-width:600px){.history-modal{width:calc(100vw - 18px);max-height:calc(100svh - 18px);padding:8px;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px)}.history-modal .modal-close{right:12px;top:12px;width:42px;height:42px}.history-modal .modal-close .icon{width:21px;height:21px}.history-modal-figure img{max-height:calc(100svh - 36px)}}

/* Espera tras agotar el tiempo: laboratorio nocturno con interfaz de neon. */
body:has(.waiting-screen){background:#030722;color:#f5fbff;color-scheme:dark;overflow:hidden}
body:has(.waiting-screen) .laboratory{background:
 radial-gradient(circle at 17% 24%,#0064ff91 0,transparent 25%),
 radial-gradient(circle at 79% 28%,#df00ff78 0,transparent 25%),
 linear-gradient(115deg,#02051ae5 0%,#071043bb 46%,#090326e2 100%),
 url('../assets/laboratory.png') center/cover no-repeat;filter:saturate(1.78) contrast(1.2)}
body:has(.waiting-screen) .laboratory:before{content:'';position:absolute;inset:46% -20% -34%;background-image:linear-gradient(#00d9ff29 1px,transparent 1px),linear-gradient(90deg,#00d9ff29 1px,transparent 1px);background-size:62px 62px;transform:perspective(520px) rotateX(61deg) scale(1.35);transform-origin:center bottom;opacity:.8}
body:has(.waiting-screen) .laboratory:after{background:radial-gradient(ellipse at 50% 48%,transparent 0 25%,#02051a92 80%),linear-gradient(90deg,#001a5b48,#ff00cd16 31%,#00d9ff10 66%,#24006454);box-shadow:inset 0 0 160px #020315}
.game-shell:has(.waiting-screen){max-width:1500px;height:100svh;min-height:0;padding:20px 4% 0;overflow:hidden;color:#f5fbff;text-shadow:0 1px 12px #02051d80}
.game-shell:has(.waiting-screen) .game-header{position:relative;top:auto;min-height:68px;color:#fff;background:linear-gradient(120deg,#07143ee8,#0c0a35df);border:1px solid #00dcff;border-radius:12px;box-shadow:0 0 0 1px #a02dff6b,0 0 20px #00cfff6e,inset 0 0 24px #0063ad25;backdrop-filter:blur(15px)}
.game-shell:has(.waiting-screen) .team-name{color:#fff}.game-shell:has(.waiting-screen) .team-avatar-header{border-color:#31eaff;box-shadow:0 0 12px #00d9ff80}.game-shell:has(.waiting-screen) .game-score{color:#42f5ff;background:#06245cd9;border:1px solid #00cfff;box-shadow:0 0 9px #00d9ff45}.game-shell:has(.waiting-screen) .stage-status>span{color:#b6def3}.game-shell:has(.waiting-screen) .step-dot{color:#fff;background:#081a45;border-color:#26bde5}.game-shell:has(.waiting-screen) .step-dot:not(:last-child):after{background:#28aeda}.game-shell:has(.waiting-screen) .step-dot.active,.game-shell:has(.waiting-screen) .step-dot.done{background:#17e8ef;border-color:#9affff;box-shadow:0 0 0 2px #007ddb,0 0 12px #00e9ff}.game-shell:has(.waiting-screen) .timer{color:#ff4e72;text-shadow:0 0 12px #ff234f}.game-shell:has(.waiting-screen) .header-actions .button{color:#fff;background:#09143fdc;border-color:#32dff3;box-shadow:0 0 12px #00d9ff40}.game-shell:has(.waiting-screen) .header-actions .button:hover{background:#10245f;border-color:#7df7ff}
.waiting-screen{display:flex;min-height:0;max-width:1200px;flex-direction:column;align-items:center;padding:0 0 4px}
.waiting-screen>.timeout-banner{position:relative;flex:0 0 auto;width:100%;margin:12px auto 0;padding:12px 24px 12px 60px;color:#ffd477;background:linear-gradient(100deg,#4b2515e8,#281a18ed 70%,#3e251ae8);border:1px solid #ffb13d;border-radius:8px;box-shadow:0 0 0 2px #ff85004a,0 0 19px #ff990075,inset 0 0 22px #ff8a0033;text-shadow:0 0 9px #ff9b3d66;overflow:hidden}
.waiting-screen>.timeout-banner:before{content:'!';position:absolute;left:21px;top:50%;display:flex;width:25px;height:25px;align-items:center;justify-content:center;border:2px solid #ffd36b;border-radius:50%;font-size:17px;font-weight:800;line-height:1;transform:translateY(-50%);box-shadow:0 0 10px #ff9b37;color:#ffe19b}
.waiting-screen>.timeout-banner:after{content:'';position:absolute;right:14px;top:8px;width:120px;height:calc(100% - 16px);background-image:radial-gradient(#ffb53d75 1px,transparent 1px);background-size:5px 5px;mask-image:linear-gradient(90deg,transparent,#000);opacity:.75;pointer-events:none}
.waiting-screen>.page-heading{flex:0 0 auto;margin:34px 0 30px}.waiting-screen>.page-heading .heading-symbol{width:72px;height:72px;color:#fff;background:#071943;border:2px solid #56f6ff;box-shadow:inset 0 0 20px #005ea8,0 0 22px #00d9ff90}.waiting-screen>.page-heading .heading-symbol .icon{width:36px;height:36px}.waiting-screen>.page-heading h1{color:#fff;font-family:var(--sans);font-size:clamp(34px,3vw,48px);font-weight:750;text-shadow:0 0 22px #2386ff}.waiting-screen>.page-heading p{margin-top:5px;color:#d7edfb;font-size:16px;text-shadow:0 0 9px #00cfff60}
.waiting-screen>.result-content{position:relative;display:flex;flex:0 0 auto;width:100%;min-height:255px;margin:0;padding:34px 38px 28px;flex-direction:column;align-items:flex-start;justify-content:center;color:#fff;background:linear-gradient(145deg,#061338f2,#07072ced);border:2px solid #20dcff;border-radius:8px;box-shadow:0 0 0 2px #006dff55,0 0 0 3px #b92aff3d,0 0 25px #00cfff7d,0 22px 55px #00051da6,inset 0 0 30px #005dac24;overflow:hidden}
.waiting-screen>.result-content:before{content:'';position:absolute;inset:12px;border:1px solid #1769be86;clip-path:polygon(0 0,18% 0,18% 2px,82% 2px,82% 0,100% 0,100% 100%,82% 100%,82% calc(100% - 2px),18% calc(100% - 2px),18% 100%,0 100%);pointer-events:none}
.waiting-screen>.result-content:after{content:'';position:absolute;right:0;top:0;width:220px;height:100%;background-image:radial-gradient(#00dfff40 1px,transparent 1px),linear-gradient(135deg,transparent 45%,#1471d31f 45%,#1471d31f 46%,transparent 46%);background-size:6px 6px,100% 100%;mask-image:linear-gradient(90deg,transparent,#000);opacity:.75;pointer-events:none}
.waiting-screen>.result-content>*{position:relative;z-index:1}.waiting-screen>.result-content>.round-icon{width:68px;height:68px;margin:0 0 16px;color:#49f5ff;background:#071943;border:2px solid #00dfff;box-shadow:inset 0 0 18px #005ea8,0 0 19px #00d9ff80}.waiting-screen>.result-content>.round-icon .icon{width:34px;height:34px}.waiting-screen>.result-content h2{color:#fff;font-size:26px;text-shadow:0 0 15px #277eff80}.waiting-screen>.result-content>p{margin:11px 0 16px;color:#d3e8f8;font-size:15px;line-height:1.55}.waiting-screen>.result-content>.success-note{width:100%;margin:-4px 0 15px;padding:9px 14px;color:#ffd477;background:#3b251bd9;border:1px solid #d89531;border-radius:7px}.waiting-screen>.result-content>.button{min-height:52px;color:#fff;background:linear-gradient(105deg,#071e50eb,#0b1544ec);border-color:#31e8f4;box-shadow:0 0 14px #00dfff55,inset 0 0 17px #006ebd28}.waiting-screen>.result-content>.button:hover{background:linear-gradient(105deg,#0a2b67,#121d59);border-color:#7cf8ff}
.waiting-screen>.bottom-actions{flex:0 0 auto;margin-top:22px}.waiting-screen>.bottom-actions .button.primary{min-width:350px;min-height:58px;opacity:1;color:#fff;background:linear-gradient(100deg,#07245be8,#0c5d83e8 58%,#14245be8);border:1px solid #5af3ff;box-shadow:0 0 0 2px #006dff45,0 0 18px #00dfff75,inset 0 0 18px #15d8e541}.waiting-screen>.bottom-actions .button.primary .icon{color:#6cf6ff;filter:drop-shadow(0 0 6px #00e9ff)}
.game-shell:has(.waiting-screen) .game-footer{color:#8fc1db;padding-top:9px}.game-shell:has(.waiting-screen) .game-footer .icon,.game-shell:has(.waiting-screen) .game-footer .text-button{color:#57eff7}.game-shell:has(.waiting-screen) .score-sync-status{color:#61dfe9;padding-bottom:6px}
@media(min-width:801px) and (max-height:850px){.game-shell:has(.waiting-screen){padding-top:10px}.game-shell:has(.waiting-screen) .game-header{min-height:58px;padding:7px 14px}.game-shell:has(.waiting-screen) .team-avatar-header{width:36px;height:36px}.game-shell:has(.waiting-screen) .team-name{font-size:16px}.game-shell:has(.waiting-screen) .timer{font-size:19px}.waiting-screen>.timeout-banner{margin-top:8px;padding-top:8px;padding-bottom:8px;font-size:13px}.waiting-screen>.page-heading{margin:18px 0}.waiting-screen>.page-heading .heading-symbol{width:54px;height:54px}.waiting-screen>.page-heading .heading-symbol .icon{width:27px;height:27px}.waiting-screen>.page-heading h1{font-size:35px}.waiting-screen>.page-heading p{font-size:13px}.waiting-screen>.result-content{min-height:205px;padding:25px 31px 22px}.waiting-screen>.result-content>.round-icon{width:54px;height:54px;margin-bottom:10px}.waiting-screen>.result-content>.round-icon .icon{width:28px;height:28px}.waiting-screen>.result-content h2{font-size:22px}.waiting-screen>.result-content>p{margin:7px 0 11px;font-size:12px}.waiting-screen>.result-content>.success-note{margin-bottom:10px;padding:7px 12px;font-size:12px}.waiting-screen>.result-content>.button{min-height:44px;padding:8px 17px;font-size:14px}.waiting-screen>.bottom-actions{margin-top:13px}.waiting-screen>.bottom-actions .button.primary{min-height:48px}.game-shell:has(.waiting-screen) .game-footer{padding-top:4px;padding-bottom:3px}}
@media(max-width:800px){body:has(.waiting-screen){overflow:auto}.game-shell:has(.waiting-screen){height:auto;min-height:100svh;overflow:visible}.waiting-screen{padding-bottom:12px}.waiting-screen>.timeout-banner{font-size:13px}.waiting-screen>.page-heading{margin:24px 0}.waiting-screen>.result-content{min-height:290px;padding:30px 25px}.waiting-screen>.bottom-actions{width:100%}.waiting-screen>.bottom-actions .button.primary{width:100%;min-width:0}}

/* Quinta dinamica y cierre: cofre digital y resumen final en el laboratorio de neon. */
body:has(.stage-chest),body:has(.final-screen){background:#030722;color:#f5fbff;color-scheme:dark;overflow:hidden}
body:has(.stage-chest) .laboratory,body:has(.final-screen) .laboratory{background:
 radial-gradient(circle at 17% 24%,#0064ff91 0,transparent 25%),
 radial-gradient(circle at 79% 28%,#df00ff78 0,transparent 25%),
 linear-gradient(115deg,#02051ae5 0%,#071043bb 46%,#090326e2 100%),
 url('../assets/laboratory.png') center/cover no-repeat;filter:saturate(1.78) contrast(1.2)}
body:has(.stage-chest) .laboratory:before,body:has(.final-screen) .laboratory:before{content:'';position:absolute;inset:46% -20% -34%;background-image:linear-gradient(#00d9ff29 1px,transparent 1px),linear-gradient(90deg,#00d9ff29 1px,transparent 1px);background-size:62px 62px;transform:perspective(520px) rotateX(61deg) scale(1.35);transform-origin:center bottom;opacity:.8}
body:has(.stage-chest) .laboratory:after,body:has(.final-screen) .laboratory:after{background:radial-gradient(ellipse at 50% 48%,transparent 0 25%,#02051a92 80%),linear-gradient(90deg,#001a5b48,#ff00cd16 31%,#00d9ff10 66%,#24006454);box-shadow:inset 0 0 160px #020315}
.game-shell:has(.stage-chest),.game-shell:has(.final-screen){max-width:1500px;height:100svh;min-height:0;padding:20px 4% 0;overflow:hidden;color:#f5fbff;text-shadow:0 1px 12px #02051d80}
.game-shell:has(.stage-chest) .game-header,.game-shell:has(.final-screen) .game-header{position:relative;top:auto;min-height:68px;color:#fff;background:linear-gradient(120deg,#07143ee8,#0c0a35df);border:1px solid #00dcff;border-radius:12px;box-shadow:0 0 0 1px #a02dff6b,0 0 20px #00cfff6e,inset 0 0 24px #0063ad25;backdrop-filter:blur(15px)}
.game-shell:has(.stage-chest) .team-name,.game-shell:has(.final-screen) .team-name{color:#fff}.game-shell:has(.stage-chest) .team-avatar-header,.game-shell:has(.final-screen) .team-avatar-header{border-color:#31eaff;box-shadow:0 0 12px #00d9ff80}.game-shell:has(.stage-chest) .game-score,.game-shell:has(.final-screen) .game-score{color:#42f5ff;background:#06245cd9;border:1px solid #00cfff;box-shadow:0 0 9px #00d9ff45}.game-shell:has(.stage-chest) .stage-status>span,.game-shell:has(.final-screen) .stage-status>span{color:#b6def3}.game-shell:has(.stage-chest) .step-dot,.game-shell:has(.final-screen) .step-dot{color:#fff;background:#081a45;border-color:#26bde5}.game-shell:has(.stage-chest) .step-dot:not(:last-child):after,.game-shell:has(.final-screen) .step-dot:not(:last-child):after{background:#28aeda}.game-shell:has(.stage-chest) .step-dot.active,.game-shell:has(.stage-chest) .step-dot.done,.game-shell:has(.final-screen) .step-dot.active,.game-shell:has(.final-screen) .step-dot.done{background:#17e8ef;border-color:#9affff;box-shadow:0 0 0 2px #007ddb,0 0 12px #00e9ff}.game-shell:has(.stage-chest) .timer,.game-shell:has(.final-screen) .timer{color:#f4fbff}.game-shell:has(.stage-chest) .header-actions .button,.game-shell:has(.final-screen) .header-actions .button{color:#fff;background:#09143fdc;border-color:#32dff3;box-shadow:0 0 12px #00d9ff40}
.game-shell:has(.stage-chest) .game-footer,.game-shell:has(.final-screen) .game-footer{color:#8fc1db;padding-top:7px;padding-bottom:5px}.game-shell:has(.stage-chest) .game-footer .icon,.game-shell:has(.stage-chest) .game-footer .text-button,.game-shell:has(.final-screen) .game-footer .icon,.game-shell:has(.final-screen) .game-footer .text-button{color:#57eff7}.game-shell:has(.stage-chest) .score-sync-status,.game-shell:has(.final-screen) .score-sync-status{color:#61dfe9;padding-bottom:5px}

.stage-chest{display:flex;min-height:0;max-width:1280px;padding-bottom:0;flex-direction:column}.stage-chest>.page-heading{flex:0 0 auto;margin:20px 0 18px}.stage-chest>.page-heading .heading-symbol{width:72px;height:72px;color:#fff;background:#071943;border:2px solid #00dfff;box-shadow:inset 0 0 20px #005ea8,0 0 20px #00d9ff8c}.stage-chest>.page-heading h1{color:#fff;font-family:var(--sans);font-size:clamp(32px,3.1vw,45px);font-weight:750;text-shadow:0 0 22px #315dff74}.stage-chest>.page-heading p{margin-top:6px;color:#52efff;font-size:16px;font-weight:650;text-shadow:0 0 10px #00cfff8a}
.stage-chest .chest-layout{display:grid;flex:1;min-height:0;width:100%;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);align-items:center;gap:48px}.stage-chest .chest-area{display:flex;min-height:0;align-items:center;justify-content:center;flex-direction:column}.stage-chest .chest-object{width:100%;height:min(46vh,475px);filter:drop-shadow(0 22px 26px #00082bb5) drop-shadow(0 0 15px #00cfff55)}
.stage-chest .combination{gap:13px;margin:-12px auto 0;padding:10px 18px;background:linear-gradient(145deg,#07143ef3,#07072fee);border:1px solid #20dcff;border-radius:8px;box-shadow:0 0 0 2px #006dff55,0 0 0 3px #b92aff3d,0 0 22px #00cfff76,inset 0 0 24px #005dac24}.stage-chest .digit-control{width:62px}.stage-chest .digit{min-width:50px;margin:5px 0;color:#fff;background:linear-gradient(180deg,#092452,#071536);border-color:#25ddf0;box-shadow:inset 0 0 15px #0078c65c,0 0 10px #00dfff40;font-size:34px}.stage-chest .digit-arrow{width:50px;height:34px;color:#4af5ff;background:#071943;border-color:#28dff2;box-shadow:inset 0 0 12px #006ebd42,0 0 8px #00dfff36}.stage-chest .digit-arrow:hover{background:#12316c}
.stage-chest .chest-panel{position:relative;margin:0;padding:34px;color:#f5fbff;background:linear-gradient(145deg,#06143ef3,#07072fee);border:2px solid #20dcff;border-radius:8px;box-shadow:0 0 0 2px #006dff5f,0 0 0 4px #b92aff43,0 0 30px #00d9ff88,0 25px 65px #00051db0,inset 0 0 38px #005dac2c;overflow:hidden}.stage-chest .chest-panel:before{content:'';position:absolute;inset:13px;border:1px solid #1769be80;clip-path:polygon(0 0,18% 0,18% 3px,82% 3px,82% 0,100% 0,100% 100%,82% 100%,82% calc(100% - 3px),18% calc(100% - 3px),18% 100%,0 100%);pointer-events:none}.stage-chest .chest-panel:after{content:'';position:absolute;right:15px;bottom:15px;width:52px;height:52px;border-right:2px solid #ff4ee5;border-bottom:2px solid #ff4ee5;pointer-events:none}.stage-chest .chest-panel>*{position:relative;z-index:1}.stage-chest .chest-panel .eyebrow{color:#61eaff;font-size:12px;letter-spacing:.22em}.stage-chest .chest-panel h2{margin:14px 0 20px;color:#fff;font-size:28px;text-shadow:0 0 17px #315dff70}.stage-chest .chest-clue{margin-bottom:18px;padding:20px;color:#dcedff;background:linear-gradient(120deg,#071b4de8,#0a123ee8);border:1px solid #33dff2;border-radius:10px;box-shadow:inset 0 0 18px #006ebd2e,0 0 10px #00dfff38}.stage-chest .chest-clue .round-icon{display:none}.stage-chest .chest-clue p{color:#dceeff;font-size:18px;line-height:1.65}.stage-chest .chest-panel .help-copy{margin-bottom:16px;color:#bddcf0;font-size:12px}.stage-chest .chest-panel .button.primary{min-height:58px;color:#fff;background:linear-gradient(100deg,#00bfd4,#0878dd 55%,#0d4d8f);border-color:#6df8ff;box-shadow:0 0 18px #00d9ff90,inset 0 0 18px #28ecff42;font-size:18px}.stage-chest .chest-panel .button.outline{color:#d8f5ff;background:#09143fdd;border-color:#31dff1}

.final-screen{display:flex;min-height:0;max-width:1220px;padding:0 12px 4px;flex-direction:column}.final-screen>.page-heading{flex:0 0 auto;margin:12px 0 8px}.final-screen>.page-heading .heading-symbol{width:82px;height:82px;color:#fff;background:#071943;border:2px solid #00dfff;box-shadow:inset 0 0 20px #005ea8,0 0 20px #00d9ff8c}.final-screen>.page-heading h1{color:#fff;font-family:var(--sans);font-size:clamp(44px,4.4vw,68px);font-weight:800;line-height:1;text-shadow:0 0 22px #315dff74}.final-screen.completed>.page-heading p{margin-top:8px;color:#e5f5ff;font-size:clamp(18px,1.35vw,22px);line-height:1.3;letter-spacing:.08em;text-shadow:0 0 10px #00cfff70}.final-screen .precision-intro{margin:5px 0 9px;color:#fff;font-size:17px}
.final-screen .precision-profile{grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 10px}.final-screen .precision-profile article{position:relative;min-height:70px;padding:13px 18px;align-items:center;color:#fff;background:linear-gradient(120deg,#07143ef2,#0b0b36eb);border:1px solid #21dfff;border-radius:7px;box-shadow:0 0 0 2px #006dff48,0 0 16px #00dfff5c,inset 0 0 20px #0063ad22;overflow:hidden}.final-screen .precision-profile article:after{content:'';position:absolute;inset:7px;border:1px solid #1769be55;clip-path:polygon(0 0,18% 0,18% 2px,82% 2px,82% 0,100% 0,100% 100%,82% 100%,82% calc(100% - 2px),18% calc(100% - 2px),18% 100%,0 100%);pointer-events:none}.final-screen .precision-profile article>.icon{width:31px;height:31px;color:#49f4ff;filter:drop-shadow(0 0 7px #00dfff)}.final-screen .precision-profile h3{color:#fff;font-size:15px}.final-screen .precision-profile p{margin-top:3px;color:#c7e3f3;font-size:11px}
.final-screen .final-journey{position:relative;flex:0 0 auto;min-height:0;padding:14px;color:#fff;background:linear-gradient(145deg,#06143ef3,#07072fee);border:2px solid #20dcff;border-radius:8px;box-shadow:0 0 0 2px #006dff5f,0 0 0 4px #b92aff43,0 0 24px #00d9ff7d,inset 0 0 34px #005dac29}.final-screen .final-journey:before{content:'';position:absolute;inset:10px;border:1px solid #1769be70;pointer-events:none}.final-screen .final-overview{height:auto;padding:0}.final-screen .final-stage-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.final-screen .final-stage-card{position:relative;min-height:145px;padding:13px;color:#fff;background:linear-gradient(145deg,#071842ed,#080b31e8);border:1px solid #21dfff;border-radius:7px;box-shadow:inset 0 0 18px #0063ad20,0 0 10px #00dfff35}.final-screen .final-stage-card>header{margin-bottom:10px}.final-screen .final-stage-card>header>span{width:28px;height:28px;color:#fff;background:#0a3260;border:1px solid #51f4ff;box-shadow:0 0 8px #00dfff}.final-screen .final-stage-card>header>.icon{color:#52f5ff;filter:drop-shadow(0 0 6px #00dfff)}.final-screen .final-stage-title{min-height:42px}.final-screen .final-stage-title>.icon{color:#4cf4ff}.final-screen .final-stage-title strong{color:#fff;font-size:12px}.final-screen .final-stage-card small{color:#9ed4ea;font-size:9px}.final-screen .final-stage-card p{color:#c9e4f3;border-color:#24bde55c;font-size:10px}.final-screen .final-journey .final-stats{min-height:72px;margin-top:10px;padding:10px 16px;color:#fff;background:linear-gradient(120deg,#07143eea,#0c0a35e8);border:1px solid #20dcff;border-radius:6px;box-shadow:0 0 13px #00dfff50,inset 0 0 18px #0063ad20}.final-screen .final-team{color:#fff;font-size:17px}.final-screen .team-avatar-final{border:1px solid #45efff;box-shadow:0 0 11px #00dfff70}.final-screen .final-stats p{color:#a9d3e7}.final-screen .final-stats b{color:#fff;text-shadow:0 0 9px #1dafff}.final-screen>.bottom-actions{margin-top:8px}.final-screen>.bottom-actions .button{min-width:330px;min-height:52px;color:#fff;background:linear-gradient(100deg,#061d4be8,#0b3f75e8 55%,#0a2458e8);border:2px solid #60f4ff;border-radius:8px;box-shadow:0 0 0 2px #006dff4d,0 0 17px #00dfff70,inset 0 0 17px #0075c645}

@media(min-width:801px) and (max-height:850px){
 .game-shell:has(.stage-chest),.game-shell:has(.final-screen){padding-top:10px}.game-shell:has(.stage-chest) .game-header,.game-shell:has(.final-screen) .game-header{min-height:58px;padding:7px 14px}.game-shell:has(.stage-chest) .team-avatar-header,.game-shell:has(.final-screen) .team-avatar-header{width:36px;height:36px}.game-shell:has(.stage-chest) .team-name,.game-shell:has(.final-screen) .team-name{font-size:16px}.game-shell:has(.stage-chest) .timer,.game-shell:has(.final-screen) .timer{font-size:19px}
 .stage-chest>.page-heading{margin:8px 0 9px}.stage-chest>.page-heading .heading-symbol{width:49px;height:49px}.stage-chest>.page-heading .heading-symbol .icon{width:25px;height:25px}.stage-chest>.page-heading h1{font-size:31px}.stage-chest>.page-heading p{font-size:12px}.stage-chest .chest-layout{gap:28px}.stage-chest .chest-object{height:min(45vh,340px)}.stage-chest .combination{padding:7px 13px}.stage-chest .digit-control{width:49px}.stage-chest .digit{min-width:42px;font-size:27px}.stage-chest .digit-arrow{width:42px;height:27px}.stage-chest .chest-panel{padding:24px}.stage-chest .chest-panel h2{margin:9px 0 13px;font-size:23px}.stage-chest .chest-clue{margin-bottom:12px;padding:14px}.stage-chest .chest-clue p{font-size:14px;line-height:1.5}.stage-chest .chest-panel .help-copy{margin-bottom:10px;font-size:10px}.stage-chest .chest-panel .button.primary{min-height:47px;font-size:15px}
 .final-screen>.page-heading{margin:5px 0 3px}.final-screen>.page-heading .heading-symbol{width:58px;height:58px}.final-screen>.page-heading .heading-symbol .icon{width:30px;height:30px}.final-screen>.page-heading h1{font-size:42px}.final-screen.completed>.page-heading p{font-size:15px}.final-screen .precision-intro{margin:2px 0 5px;font-size:13px}.final-screen .precision-profile{gap:7px;margin-bottom:7px}.final-screen .precision-profile article{min-height:54px;padding:8px 13px}.final-screen .precision-profile article>.icon{width:24px;height:24px}.final-screen .precision-profile h3{font-size:12px}.final-screen .precision-profile p{font-size:9px}.final-screen .final-journey{padding:10px}.final-screen .final-stage-grid{gap:7px}.final-screen .final-stage-card{min-height:112px;padding:9px}.final-screen .final-stage-card>header{margin-bottom:6px}.final-screen .final-stage-title{min-height:31px}.final-screen .final-stage-title strong{font-size:10px}.final-screen .final-stage-card small{margin:5px 0;font-size:8px}.final-screen .final-stage-card p{padding-top:5px;font-size:8px}.final-screen .final-journey .final-stats{min-height:54px;margin-top:7px;padding:6px 12px}.final-screen .team-avatar-final{width:37px;height:37px}.final-screen .final-stats p{font-size:9px}.final-screen .final-journey .final-stats b{font-size:17px}.final-screen>.bottom-actions{margin-top:5px}.final-screen>.bottom-actions .button{min-height:42px;padding:7px 16px}.game-shell:has(.stage-chest) .game-footer,.game-shell:has(.final-screen) .game-footer{padding-top:3px;padding-bottom:3px}
}
@media(max-width:800px){body:has(.stage-chest),body:has(.final-screen){overflow:auto}.game-shell:has(.stage-chest),.game-shell:has(.final-screen){height:auto;min-height:100svh;overflow:visible}.stage-chest .chest-layout{grid-template-columns:1fr}.stage-chest .chest-object{height:320px}.final-screen .precision-profile{grid-template-columns:1fr}.final-screen .final-stage-grid{grid-template-columns:1fr}.final-screen .final-journey .final-stats{grid-template-columns:1fr 1fr}.final-screen .final-team{grid-column:1/-1}}

/* Ajustes de cierre, debates y puntuacion. */
.game-header.final-header .header-actions .button{position:relative;color:#fffbea;background:linear-gradient(105deg,#302202,#795504 58%,#b98205);border:2px solid #ffe16b;box-shadow:0 0 0 2px #a8750057,0 0 20px #ffc400a3,0 0 31px #ffd64e70,inset 0 0 18px #ffe36b42;font-weight:800;animation:final-record-pulse 1.65s ease-in-out infinite}
.game-header.final-header .header-actions .button:before{content:'';position:absolute;inset:-5px;border:1px solid #ffe575a8;border-radius:inherit;box-shadow:0 0 11px #ffc40070;pointer-events:none;animation:final-record-ring 1.65s ease-in-out infinite}
.game-header.final-header .header-actions .button:hover{color:#fff;background:linear-gradient(105deg,#4b3503,#9a6c05 58%,#d29b0a);border-color:#fff19a;filter:brightness(1.08)}
@keyframes final-record-pulse{0%,100%{box-shadow:0 0 0 2px #a8750057,0 0 18px #ffc4008f,0 0 28px #ffd64e62,inset 0 0 18px #ffe36b42;transform:scale(1)}50%{box-shadow:0 0 0 3px #ffc40073,0 0 28px #ffd400d4,0 0 46px #ffb90094,inset 0 0 24px #ffe76b66;transform:scale(1.025)}}
@keyframes final-record-ring{0%,100%{opacity:.58;transform:scale(1)}50%{opacity:1;transform:scale(1.045)}}
.final-screen .final-insights{flex:0 0 auto;margin:clamp(18px,3vh,34px) 0 clamp(32px,5vh,52px);padding:0}
.final-screen .final-insights .precision-profile{margin-bottom:0}
.final-screen .final-journey{margin-top:0}
.discussion-screen .clinical-report-wait{width:100%;margin:12px auto 0;padding:0;color:#c9e5f5}
.discussion-screen .clinical-report-wait .icon{filter:drop-shadow(0 0 7px #00dfff)}
.score-reveal-card .score-reveal-total{margin-top:20px}
.score-reveal-card>.challenge-access-message{margin:24px 0 0;font-size:clamp(18px,1.5vw,24px);line-height:1.4;color:#d6edff}
@media(min-width:801px) and (max-height:850px){.final-screen .final-insights{margin:7px 0 12px}.discussion-screen .clinical-report-wait{min-height:28px;margin-top:6px;font-size:11px}.score-reveal-card .score-reveal-total{margin-top:12px}}

/* Cuarta dinamica: acetato rojo y debate digestivo en el laboratorio de neon. */
body:has(.stage-filter){background:#030722;color:#f5fbff;color-scheme:dark;overflow:hidden}
body:has(.stage-filter) .laboratory{background:
 radial-gradient(circle at 17% 24%,#0064ff91 0,transparent 25%),
 radial-gradient(circle at 79% 28%,#df00ff78 0,transparent 25%),
 linear-gradient(115deg,#02051ae5 0%,#071043bb 46%,#090326e2 100%),
 url('../assets/laboratory.png') center/cover no-repeat;filter:saturate(1.78) contrast(1.2)}
body:has(.stage-filter) .laboratory:before{content:'';position:absolute;inset:46% -20% -34%;background-image:linear-gradient(#00d9ff29 1px,transparent 1px),linear-gradient(90deg,#00d9ff29 1px,transparent 1px);background-size:62px 62px;transform:perspective(520px) rotateX(61deg) scale(1.35);transform-origin:center bottom;opacity:.8}
body:has(.stage-filter) .laboratory:after{background:radial-gradient(ellipse at 50% 48%,transparent 0 25%,#02051a92 80%),linear-gradient(90deg,#001a5b48,#ff00cd16 31%,#00d9ff10 66%,#24006454);box-shadow:inset 0 0 160px #020315}
.game-shell:has(.stage-filter){max-width:1500px;height:100svh;min-height:0;padding:20px 4% 0;overflow:hidden;color:#f5fbff;text-shadow:0 1px 12px #02051d80}
.game-shell:has(.stage-filter) .game-header{position:relative;top:auto;min-height:68px;color:#fff;background:linear-gradient(120deg,#07143ee8,#0c0a35df);border:1px solid #00dcff;border-radius:12px;box-shadow:0 0 0 1px #a02dff6b,0 0 20px #00cfff6e,inset 0 0 24px #0063ad25;backdrop-filter:blur(15px)}
.game-shell:has(.stage-filter) .team-name{color:#fff}.game-shell:has(.stage-filter) .team-avatar-header{border-color:#31eaff;box-shadow:0 0 12px #00d9ff80}.game-shell:has(.stage-filter) .game-score{color:#42f5ff;background:#06245cd9;border:1px solid #00cfff;box-shadow:0 0 9px #00d9ff45}.game-shell:has(.stage-filter) .stage-status>span{color:#b6def3}.game-shell:has(.stage-filter) .step-dot{color:#fff;background:#081a45;border-color:#26bde5}.game-shell:has(.stage-filter) .step-dot:not(:last-child):after{background:#28aeda}.game-shell:has(.stage-filter) .step-dot.active,.game-shell:has(.stage-filter) .step-dot.done{background:#17e8ef;border-color:#9affff;box-shadow:0 0 0 2px #007ddb,0 0 12px #00e9ff}.game-shell:has(.stage-filter) .timer{color:#f4fbff}.game-shell:has(.stage-filter) .header-actions .button{color:#fff;background:#09143fdc;border-color:#32dff3;box-shadow:0 0 12px #00d9ff40}.game-shell:has(.stage-filter) .header-actions .button:hover{background:#10245f;border-color:#7df7ff}
.stage-filter{display:flex;min-height:0;max-width:1280px;padding-bottom:0;flex-direction:column}.stage-filter>.page-heading{flex:0 0 auto;margin:22px 0 21px}.stage-filter>.page-heading .heading-symbol{width:72px;height:72px;color:#fff;background:#071943;border:2px solid #00dfff;box-shadow:inset 0 0 20px #005ea8,0 0 20px #00d9ff8c}.stage-filter>.page-heading .heading-symbol .icon{width:37px;height:37px}.stage-filter>.page-heading h1{color:#fff;font-family:var(--sans);font-size:clamp(31px,3vw,43px);font-weight:750;text-shadow:0 0 22px #315dff74}.stage-filter>.page-heading p{margin-top:6px;color:#52efff;font-size:16px;font-weight:650;text-shadow:0 0 10px #00cfff8a}
.stage-filter .filter-task-layout{display:grid;flex:1;min-height:0;width:100%;max-width:1180px;margin:0 auto;padding-bottom:16px;grid-template-columns:minmax(0,1.55fr) minmax(360px,.95fr);align-items:stretch;gap:25px}
.stage-filter .physical-brief,.stage-filter .filter-answer{position:relative;color:#f5fbff;background:linear-gradient(145deg,#06143ef3,#07072fee);border:1px solid #00dcff;border-radius:7px;box-shadow:0 0 0 2px #006dff55,0 0 0 3px #b92aff3d,0 0 24px #00cfff76,0 22px 55px #00051da6,inset 0 0 30px #005dac24;overflow:hidden}
.stage-filter .physical-brief:before,.stage-filter .filter-answer:before{content:'';position:absolute;inset:10px;border:1px solid #1769be7d;clip-path:polygon(0 0,17% 0,17% 3px,83% 3px,83% 0,100% 0,100% 100%,83% 100%,83% calc(100% - 3px),17% calc(100% - 3px),17% 100%,0 100%);pointer-events:none}
.stage-filter .physical-brief:after,.stage-filter .filter-answer:after{content:'';position:absolute;right:13px;bottom:13px;width:48px;height:48px;border-right:2px solid #ff4ee5;border-bottom:2px solid #ff4ee5;pointer-events:none}
.stage-filter .physical-brief{height:100%;min-height:300px;margin:0;padding:30px 34px;align-items:center;gap:28px}.stage-filter .physical-brief>.icon{position:relative;z-index:1;width:38px;height:38px;color:#47f4ff;filter:drop-shadow(0 0 9px #00dfff)}.stage-filter .filter-brief-copy{position:relative;z-index:1;display:flex;min-height:0;align-self:stretch;flex:1;flex-direction:column;justify-content:center;gap:46px}.stage-filter .filter-brief-copy span{color:#dcefff;font-size:clamp(16px,1.08vw,18px);line-height:1.55}
.stage-filter .filter-answer{display:flex;height:100%;min-height:250px;padding:30px 28px;align-items:center}.stage-filter .filter-answer .answer-form{position:relative;z-index:1;width:100%}.stage-filter .filter-answer .answer-form>label{margin-bottom:16px;color:#f5fbff;font-size:17px;line-height:1.45;font-weight:750;text-shadow:0 0 13px #315dff76}.stage-filter .filter-answer .input-shell input{min-height:58px;color:#fff;background:linear-gradient(120deg,#071b4de8,#0a123ee8);border:1px solid #33dff2;box-shadow:inset 0 0 18px #006ebd2e,0 0 10px #00dfff38;font-size:17px}.stage-filter .filter-answer input::placeholder{color:#9bb9d4}.stage-filter .filter-answer .inline-message{margin-top:9px;color:#ffd4f6;background:#35123de8;border-color:#ff4ed1}.stage-filter .filter-answer .inline-message:not(.visible){display:none}.stage-filter .filter-answer .answer-actions{margin-top:16px}.stage-filter .filter-answer .answer-actions>.outline{display:none}.stage-filter .filter-answer .answer-actions>.primary{width:100%;min-width:0;min-height:58px;color:#fff;background:linear-gradient(100deg,#00bfd4 0%,#0878dd 54%,#0d4d8f 100%);border-color:#6df8ff;box-shadow:0 0 18px #00d9ff90,inset 0 0 18px #28ecff42;font-size:18px}.stage-filter .filter-answer .answer-actions>.primary:hover{background:linear-gradient(100deg,#00ddec,#1488ef 54%,#1662a7);box-shadow:0 0 25px #00e7ffac,inset 0 0 21px #39f3ff55}
.game-shell:has(.stage-filter) .game-footer{color:#8fc1db;padding-top:9px}.game-shell:has(.stage-filter) .game-footer .icon,.game-shell:has(.stage-filter) .game-footer .text-button{color:#57eff7}.game-shell:has(.stage-filter) .score-sync-status{color:#61dfe9;padding-bottom:6px}

.discussion-screen:has(.discussion-text){max-width:1280px;justify-content:flex-start}.discussion-screen:has(.discussion-text)>.page-heading{margin:24px 0 21px}.discussion-screen:has(.discussion-text)>.page-heading .heading-symbol{width:70px;height:70px}.discussion-screen:has(.discussion-text)>.page-heading h1{font-size:clamp(36px,3.6vw,54px)}.discussion-screen:has(.discussion-text)>.page-heading p{font-size:17px}
.discussion-screen .discussion-text{position:relative;width:min(1060px,100%);max-width:1060px;min-height:285px;margin:0 auto;padding:50px 58px 42px;color:#f5fbff;background:linear-gradient(145deg,#06143ef3,#07072fee);border:2px solid #20dcff;border-radius:8px;box-shadow:0 0 0 2px #006dff5f,0 0 0 4px #b92aff43,0 0 30px #00d9ff88,0 25px 65px #00051db0,inset 0 0 38px #005dac2c;overflow:hidden}
.discussion-screen .discussion-text:before{content:'';position:absolute;inset:14px;border:1px solid #1769be80;clip-path:polygon(0 0,18% 0,18% 3px,82% 3px,82% 0,100% 0,100% 100%,82% 100%,82% calc(100% - 3px),18% calc(100% - 3px),18% 100%,0 100%);pointer-events:none}.discussion-screen .discussion-text:after{content:'';position:absolute;right:16px;bottom:16px;width:55px;height:55px;border-right:2px solid #ff4ee5;border-bottom:2px solid #ff4ee5;pointer-events:none}.discussion-screen .discussion-text>*{position:relative;z-index:1}.discussion-screen .discussion-text .eyebrow{color:#8fdfff;font-size:12px;letter-spacing:.25em;text-shadow:0 0 10px #00dfff}.discussion-screen .discussion-text h2{max-width:820px;margin:17px 0 21px;color:#fff;font-family:var(--sans);font-size:clamp(32px,3vw,43px);font-weight:750;text-shadow:0 0 21px #315dff76}.discussion-screen .discussion-text p{max-width:900px;color:#dcefff;font-size:clamp(17px,1.55vw,22px);line-height:1.7;text-shadow:0 0 11px #126dff42}.discussion-text-icon{position:absolute!important;z-index:1!important;right:54px;top:40px;display:grid;width:90px;height:90px;place-items:center;color:#2c8bc4;border:1px solid #116fae;border-radius:5px;background:#051d47aa;box-shadow:inset 0 0 20px #006ebd28,0 0 16px #00d9ff28}.discussion-text-icon .icon{width:50px;height:50px;stroke-width:1.5}.discussion-screen .discussion-text:has(.discussion-text-icon) .eyebrow,.discussion-screen .discussion-text:has(.discussion-text-icon) h2{padding-right:115px}

@media(min-width:801px) and (max-height:850px){
 .game-shell:has(.stage-filter){padding-top:10px}.game-shell:has(.stage-filter) .game-header{min-height:58px;padding:7px 14px}.game-shell:has(.stage-filter) .team-avatar-header{width:36px;height:36px}.game-shell:has(.stage-filter) .team-name{font-size:16px}.game-shell:has(.stage-filter) .timer{font-size:19px}.stage-filter>.page-heading{margin:9px 0 12px}.stage-filter>.page-heading .heading-symbol{width:50px;height:50px}.stage-filter>.page-heading .heading-symbol .icon{width:26px;height:26px}.stage-filter>.page-heading h1{font-size:31px}.stage-filter>.page-heading p{margin-top:2px;font-size:12px}.stage-filter .filter-task-layout{gap:17px}.stage-filter .physical-brief{min-height:250px;padding:23px 27px}.stage-filter .filter-brief-copy span{font-size:15px;line-height:1.45}.stage-filter .filter-answer{min-height:220px;padding:24px 22px}.stage-filter .filter-answer .answer-form>label{margin-bottom:11px;font-size:14px}.stage-filter .filter-answer .input-shell input{min-height:48px;font-size:14px}.stage-filter .filter-answer .answer-actions{margin-top:11px}.stage-filter .filter-answer .answer-actions>.primary{min-height:48px;font-size:15px}.game-shell:has(.stage-filter) .game-footer{padding-top:4px;padding-bottom:3px}
 .discussion-screen:has(.discussion-text)>.page-heading{margin:9px 0 12px}.discussion-screen:has(.discussion-text)>.page-heading .heading-symbol{width:50px;height:50px}.discussion-screen:has(.discussion-text)>.page-heading h1{font-size:36px}.discussion-screen:has(.discussion-text)>.page-heading p{font-size:13px}.discussion-screen .discussion-text{min-height:235px;padding:36px 45px 31px}.discussion-screen .discussion-text h2{margin:11px 0 15px;font-size:32px}.discussion-screen .discussion-text p{font-size:16px}.discussion-text-icon{right:42px;top:30px;width:70px;height:70px}.discussion-text-icon .icon{width:38px;height:38px}.discussion-screen .discussion-text:has(.discussion-text-icon) .eyebrow,.discussion-screen .discussion-text:has(.discussion-text-icon) h2{padding-right:90px}
}
@media(max-width:800px){
 body:has(.stage-filter){overflow:auto}.game-shell:has(.stage-filter){height:auto;min-height:100svh;overflow:visible;padding:12px 12px 0}.stage-filter{overflow:visible}.stage-filter .filter-task-layout{display:grid;min-height:0;padding-bottom:0;grid-template-columns:1fr;gap:14px}.stage-filter .physical-brief{height:auto;min-height:0;padding:24px 22px}.stage-filter .filter-answer{height:auto;min-height:0;padding:24px 20px}.game-shell:has(.stage-filter) .game-footer{display:flex}
 .discussion-screen:has(.discussion-text){overflow:visible}.discussion-screen .discussion-text{min-height:360px;padding:38px 25px 30px}.discussion-text-icon{position:relative!important;right:auto;top:auto;width:62px;height:62px;margin:0 0 18px}.discussion-screen .discussion-text:has(.discussion-text-icon) .eyebrow,.discussion-screen .discussion-text:has(.discussion-text-icon) h2{padding-right:0}.discussion-screen .discussion-text h2{font-size:30px}.discussion-screen .discussion-text p{font-size:16px}
}

/* Debate dermatologico: alerta clinica e informe en el laboratorio de neon. */
body:has(.discussion-alert-screen),body:has(.discussion-report-screen){background:#030722;color:#f5fbff;color-scheme:dark;overflow:hidden}
body:has(.discussion-alert-screen) .laboratory,body:has(.discussion-report-screen) .laboratory{background:
 radial-gradient(circle at 17% 24%,#0064ff91 0,transparent 25%),
 radial-gradient(circle at 79% 28%,#df00ff78 0,transparent 25%),
 linear-gradient(115deg,#02051ae5 0%,#071043bb 46%,#090326e2 100%),
 url('../assets/laboratory.png') center/cover no-repeat;filter:saturate(1.78) contrast(1.2)}
body:has(.discussion-alert-screen) .laboratory:before,body:has(.discussion-report-screen) .laboratory:before{content:'';position:absolute;inset:46% -20% -34%;background-image:linear-gradient(#00d9ff29 1px,transparent 1px),linear-gradient(90deg,#00d9ff29 1px,transparent 1px);background-size:62px 62px;transform:perspective(520px) rotateX(61deg) scale(1.35);transform-origin:center bottom;opacity:.8}
body:has(.discussion-alert-screen) .laboratory:after,body:has(.discussion-report-screen) .laboratory:after{background:radial-gradient(ellipse at 50% 48%,transparent 0 25%,#02051a92 80%),linear-gradient(90deg,#001a5b48,#ff00cd16 31%,#00d9ff10 66%,#24006454);box-shadow:inset 0 0 160px #020315}
.game-shell:has(.discussion-alert-screen),.game-shell:has(.discussion-report-screen){max-width:1500px;height:100svh;min-height:100svh;padding:20px 4% 0;overflow:hidden;color:#f5fbff;text-shadow:0 1px 12px #02051d80}
.game-shell:has(.discussion-alert-screen) .game-header,.game-shell:has(.discussion-report-screen) .game-header{position:relative;top:auto;min-height:68px;color:#fff;background:linear-gradient(120deg,#07143ee8,#0c0a35df);border:1px solid #00dcff;border-radius:12px;box-shadow:0 0 0 1px #a02dff6b,0 0 20px #00cfff6e,inset 0 0 24px #0063ad25;backdrop-filter:blur(15px)}
.game-shell:has(.discussion-alert-screen) .team-name,.game-shell:has(.discussion-report-screen) .team-name{color:#fff}
.game-shell:has(.discussion-alert-screen) .team-avatar-header,.game-shell:has(.discussion-report-screen) .team-avatar-header{border-color:#31eaff;box-shadow:0 0 12px #00d9ff80}
.game-shell:has(.discussion-alert-screen) .game-score,.game-shell:has(.discussion-report-screen) .game-score{color:#42f5ff;background:#06245cd9;border:1px solid #00cfff;box-shadow:0 0 9px #00d9ff45}
.game-shell:has(.discussion-alert-screen) .stage-status>span,.game-shell:has(.discussion-report-screen) .stage-status>span{color:#d3e7f7}
.game-shell:has(.discussion-alert-screen) .step-dot,.game-shell:has(.discussion-report-screen) .step-dot{color:#fff;background:#081a45;border-color:#26bde5}
.game-shell:has(.discussion-alert-screen) .step-dot:not(:last-child):after,.game-shell:has(.discussion-report-screen) .step-dot:not(:last-child):after{background:#28aeda}
.game-shell:has(.discussion-alert-screen) .step-dot.active,.game-shell:has(.discussion-report-screen) .step-dot.active,.game-shell:has(.discussion-alert-screen) .step-dot.done,.game-shell:has(.discussion-report-screen) .step-dot.done{background:#17e8ef;border-color:#9affff;box-shadow:0 0 0 2px #007ddb,0 0 12px #00e9ff}
.game-shell:has(.discussion-alert-screen) .header-actions .button,.game-shell:has(.discussion-report-screen) .header-actions .button{color:#fff;background:#09143fdc;border-color:#32dff3;box-shadow:0 0 12px #00d9ff40}
.game-shell:has(.discussion-alert-screen) .game-footer,.game-shell:has(.discussion-report-screen) .game-footer{color:#8fc1db;padding-top:8px;padding-bottom:5px}
.game-shell:has(.discussion-alert-screen) .game-footer .icon,.game-shell:has(.discussion-report-screen) .game-footer .icon,.game-shell:has(.discussion-alert-screen) .game-footer .text-button,.game-shell:has(.discussion-report-screen) .game-footer .text-button{color:#57eff7}
.game-shell:has(.discussion-alert-screen) .score-sync-status,.game-shell:has(.discussion-report-screen) .score-sync-status{color:#61dfe9;padding-bottom:5px}

.discussion-alert-screen{display:grid;place-items:center;flex:1;min-height:0;width:100%;max-width:1120px;padding:24px 20px 10px;overflow:hidden}
.discussion-alert-card{position:relative;width:min(790px,100%);min-height:min(58vh,530px);padding:52px 70px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#fff;background:linear-gradient(145deg,#06143ef5,#07072ff0);border:2px solid #23dcff;border-radius:8px;box-shadow:0 0 0 2px #006dff61,0 0 0 4px #b92aff43,0 0 32px #00d9ff95,0 28px 72px #00051db8,inset 0 0 44px #005dac32;overflow:hidden;transition:transform .2s,box-shadow .2s}
.discussion-alert-card:before{content:'';position:absolute;inset:15px;height:auto;background:radial-gradient(circle at 50% 28%,#087eff42,transparent 36%),linear-gradient(135deg,#00d9ff0a 1px,transparent 1px);background-size:auto,38px 38px;border:1px solid #176bc080;clip-path:polygon(0 0,18% 0,18% 3px,82% 3px,82% 0,100% 0,100% 100%,82% 100%,82% calc(100% - 3px),18% calc(100% - 3px),18% 100%,0 100%);pointer-events:none}
.discussion-alert-card:after{content:'';position:absolute;width:300px;height:300px;top:25px;left:50%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,#0a96ff2e,transparent 68%);pointer-events:none}
.discussion-alert-card>*{position:relative;z-index:1}
.discussion-alert-card:hover{transform:translateY(-2px);box-shadow:0 0 0 2px #36f1ff80,0 0 0 4px #cf34ff59,0 0 42px #00e5ffb8,0 30px 76px #00051dc7,inset 0 0 48px #0069b63b}
.discussion-alert-icon{width:112px;height:112px;margin-bottom:22px;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 43% 36%,#25dff1,#0873c8 70%);border:3px solid #74fbff;border-radius:50%;box-shadow:0 0 0 12px #007be02b,0 0 30px #00e8ffc4,inset 0 0 22px #7af9ff8a}
.discussion-alert-icon .icon{width:55px;height:55px;stroke-width:2.4}
.discussion-alert-card .eyebrow{margin-bottom:15px;color:#43f4ff;font-size:14px;font-weight:800;letter-spacing:.29em;text-shadow:0 0 12px #00dfff}
.discussion-alert-card>strong{max-width:650px;color:#fff;font-size:clamp(38px,4.25vw,62px);font-weight:850;line-height:1.08;text-transform:uppercase;text-shadow:0 0 20px #2295ff,0 0 36px #6d28ff80}
.discussion-alert-prompt{width:min(470px,100%);min-height:60px;margin-top:34px;padding:13px 22px;display:flex;align-items:center;justify-content:center;gap:18px;color:#57f5ff;background:linear-gradient(105deg,#07396ce8,#052b5fe8);border:2px solid #42efff;border-radius:999px;box-shadow:0 0 17px #00e4ff90,inset 0 0 20px #008dcc42;font-size:17px;font-weight:750}
.discussion-alert-prompt .icon{width:22px;height:22px;flex:0 0 auto}

.discussion-report-screen{display:flex;flex:1;min-height:0;width:100%;max-width:1120px;padding:22px 18px 5px;flex-direction:column;justify-content:center;gap:14px;overflow:hidden}
.dermatology-report{position:relative;display:flex;flex:1;min-height:0;width:100%;padding:35px 52px 26px;flex-direction:column;color:#f5fbff;background:linear-gradient(145deg,#06143ef5,#07072ff0);border:2px solid #23dcff;border-radius:8px;box-shadow:0 0 0 2px #006dff61,0 0 0 4px #b92aff43,0 0 30px #00d9ff8c,0 24px 64px #00051db0,inset 0 0 42px #005dac2e;overflow:hidden}
.dermatology-report:before{content:'';position:absolute;inset:14px;border:1px solid #176bc080;clip-path:polygon(0 0,18% 0,18% 3px,82% 3px,82% 0,100% 0,100% 100%,82% 100%,82% calc(100% - 3px),18% calc(100% - 3px),18% 100%,0 100%);pointer-events:none}
.dermatology-report:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,#074d9d20,transparent 58%),linear-gradient(135deg,#00d9ff08 1px,transparent 1px);background-size:auto,42px 42px;pointer-events:none}
.dermatology-report>*{position:relative;z-index:1}
.dermatology-report>header{display:flex;align-items:center;gap:24px;padding:4px 10px 24px;border-bottom:2px solid #20dff1}
.dermatology-report>header .round-icon{width:76px;height:76px;flex:0 0 auto;color:#4ef5ff;background:#071943;border:2px solid #00dfff;box-shadow:inset 0 0 20px #005ea8,0 0 20px #00d9ff8c}
.dermatology-report>header .round-icon .icon{width:38px;height:38px}
.dermatology-report .eyebrow{margin-bottom:5px;color:#43f4ff;font-size:13px;font-weight:800;letter-spacing:.25em;text-shadow:0 0 10px #00dfff}
.dermatology-report h1{margin:0;color:#fff;font-family:var(--sans);font-size:clamp(40px,4.3vw,61px);font-weight:600;line-height:1;text-shadow:0 0 23px #315dff7d}
.dermatology-report-body{display:flex;flex:1;min-height:0;padding:28px 30px 25px;align-items:center;justify-content:center;flex-direction:column;text-align:center}
.dermatology-report-body .report-rule{width:56px;height:4px;margin-bottom:28px;background:#3ef5ff;border-radius:999px;box-shadow:0 0 12px #00e3ff}
.dermatology-report-body p{max-width:830px;margin:0;color:#e5f2ff;font-size:clamp(20px,2vw,29px);line-height:1.65;text-shadow:0 0 12px #126dff48}
.dermatology-report>footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 10px 4px;border-top:2px solid #20dff1;color:#d4e9f8;font-size:14px}
.dermatology-report>footer span{display:flex;align-items:center;gap:10px}
.dermatology-report>footer .icon{width:22px;height:22px;color:#47f3ff;filter:drop-shadow(0 0 6px #00dfff)}
.discussion-screen:has(.discussion-clinical-report){display:flex;min-height:0;max-width:1280px;flex-direction:column;justify-content:flex-start}
.discussion-screen:has(.discussion-clinical-report)>.page-heading{flex:0 0 auto;margin:24px 0 21px}
.discussion-screen:has(.discussion-clinical-report)>.page-heading .heading-symbol{width:70px;height:70px}
.discussion-screen:has(.discussion-clinical-report)>.page-heading h1{font-size:clamp(36px,3.6vw,54px)}
.discussion-screen:has(.discussion-clinical-report)>.page-heading p{font-size:17px}
.discussion-screen .discussion-clinical-report{flex:1;min-height:0;width:100%;margin:0 auto;padding:35px 52px 26px}
.dermatology-debate-moment{position:relative;width:100%;min-height:96px;margin:0;padding:15px 34px;display:flex;align-items:center;justify-content:flex-start;gap:20px;color:#fff;background:linear-gradient(120deg,#07143ef2,#0c0a35ef);border:2px solid #20dcff;border-radius:7px;box-shadow:0 0 0 2px #006dff55,0 0 0 3px #b92aff3d,0 0 22px #00cfff70,inset 0 0 24px #0063ad24;overflow:hidden}
.dermatology-debate-moment:after{content:'';position:absolute;inset:9px;border:1px solid #176ac080;clip-path:polygon(0 0,18% 0,18% 2px,82% 2px,82% 0,100% 0,100% 100%,82% 100%,82% calc(100% - 2px),18% calc(100% - 2px),18% 100%,0 100%);pointer-events:none}
.dermatology-debate-moment>*{position:relative;z-index:1}
.dermatology-debate-moment .round-icon{width:60px;height:60px;flex:0 0 auto;color:#4cf5ff;background:#071943;border:1px solid #00dfff;box-shadow:inset 0 0 16px #005ea8,0 0 16px #00d9ff7d}
.dermatology-debate-moment h2{margin:0;color:#fff;font-family:var(--sans);font-size:27px;line-height:1.05;text-shadow:0 0 14px #315dff70}
.dermatology-debate-moment p{margin-top:5px;color:#c1dff0;font-size:13px}

@media(min-width:801px) and (max-height:850px){
 .game-shell:has(.discussion-alert-screen),.game-shell:has(.discussion-report-screen){padding-top:10px}
 .game-shell:has(.discussion-alert-screen) .game-header,.game-shell:has(.discussion-report-screen) .game-header{min-height:58px;padding:7px 14px}
 .game-shell:has(.discussion-alert-screen) .team-avatar-header,.game-shell:has(.discussion-report-screen) .team-avatar-header{width:36px;height:36px}
 .game-shell:has(.discussion-alert-screen) .team-name,.game-shell:has(.discussion-report-screen) .team-name{font-size:16px}
 .discussion-alert-screen{padding:12px 18px 5px}.discussion-alert-card{width:min(690px,100%);min-height:min(57vh,450px);padding:35px 56px}.discussion-alert-icon{width:82px;height:82px;margin-bottom:14px}.discussion-alert-icon .icon{width:40px;height:40px}.discussion-alert-card .eyebrow{margin-bottom:10px;font-size:11px}.discussion-alert-card>strong{font-size:42px}.discussion-alert-prompt{min-height:48px;margin-top:24px;padding:9px 18px;font-size:14px}
 .discussion-report-screen{padding:12px 18px 3px;gap:9px}.dermatology-report{padding:22px 37px 17px}.dermatology-report>header{gap:17px;padding:2px 7px 14px}.dermatology-report>header .round-icon{width:54px;height:54px}.dermatology-report>header .round-icon .icon{width:27px;height:27px}.dermatology-report .eyebrow{font-size:10px}.dermatology-report h1{font-size:40px}.dermatology-report-body{padding:15px 24px 13px}.dermatology-report-body .report-rule{width:44px;height:3px;margin-bottom:15px}.dermatology-report-body p{font-size:18px;line-height:1.48}.dermatology-report>footer{padding:12px 7px 2px;font-size:11px}.dermatology-debate-moment{min-height:72px;padding:9px 25px;gap:14px}.dermatology-debate-moment .round-icon{width:46px;height:46px}.dermatology-debate-moment h2{font-size:21px}.dermatology-debate-moment p{margin-top:3px;font-size:10px}.game-shell:has(.discussion-alert-screen) .game-footer,.game-shell:has(.discussion-report-screen) .game-footer{padding-top:3px;padding-bottom:3px}
}
@media(max-width:800px){
 body:has(.discussion-alert-screen),body:has(.discussion-report-screen){overflow:auto}
 .game-shell:has(.discussion-alert-screen),.game-shell:has(.discussion-report-screen){height:auto;min-height:100svh;overflow:visible;padding:12px 12px 0}
 .discussion-alert-screen{min-height:650px;padding:24px 0}.discussion-alert-card{min-height:520px;padding:38px 22px}.discussion-alert-card>strong{font-size:clamp(32px,10vw,46px)}.discussion-alert-prompt{font-size:14px}
 .discussion-report-screen{padding:20px 0 8px;overflow:visible}.dermatology-report{min-height:660px;padding:25px 20px 19px}.dermatology-report>header{align-items:flex-start;gap:14px;padding-bottom:17px}.dermatology-report>header .round-icon{width:54px;height:54px}.dermatology-report h1{font-size:clamp(34px,9vw,47px)}.dermatology-report-body{padding:22px 8px}.dermatology-report-body p{font-size:18px;line-height:1.5}.dermatology-report>footer{align-items:flex-start;flex-direction:column;gap:11px}.dermatology-debate-moment{min-height:105px;padding:15px 18px}.dermatology-debate-moment h2{font-size:22px}
}

/* Tercera dinámica: radiografía interactiva en el laboratorio de neón. */
body:has(.stage-radiograph){background:#030722;color:#f5fbff;color-scheme:dark}
body:has(.stage-radiograph) .laboratory{background:
 radial-gradient(circle at 17% 24%,#0064ff91 0,transparent 25%),
 radial-gradient(circle at 79% 28%,#df00ff78 0,transparent 25%),
 linear-gradient(115deg,#02051ae5 0%,#071043bb 46%,#090326e2 100%),
 url('../assets/laboratory.png') center/cover no-repeat;filter:saturate(1.78) contrast(1.2)}
body:has(.stage-radiograph) .laboratory:before{content:'';position:absolute;inset:46% -20% -34%;background-image:linear-gradient(#00d9ff29 1px,transparent 1px),linear-gradient(90deg,#00d9ff29 1px,transparent 1px);background-size:62px 62px;transform:perspective(520px) rotateX(61deg) scale(1.35);transform-origin:center bottom;opacity:.8}
body:has(.stage-radiograph) .laboratory:after{background:radial-gradient(ellipse at 50% 48%,transparent 0 25%,#02051a92 80%),linear-gradient(90deg,#001a5b48,#ff00cd16 31%,#00d9ff10 66%,#24006454);box-shadow:inset 0 0 160px #020315}
.game-shell:has(.stage-radiograph){max-width:1500px;height:100svh;min-height:0;padding:20px 4% 0;overflow:hidden;color:#f5fbff;text-shadow:0 1px 12px #02051d80}
.game-shell:has(.stage-radiograph) .game-header{position:relative;top:auto;min-height:68px;color:#fff;background:linear-gradient(120deg,#07143ee8,#0c0a35df);border:1px solid #00dcff;border-radius:12px;box-shadow:0 0 0 1px #a02dff6b,0 0 20px #00cfff6e,inset 0 0 24px #0063ad25;backdrop-filter:blur(15px)}
.game-shell:has(.stage-radiograph) .team-name{color:#fff}.game-shell:has(.stage-radiograph) .team-avatar-header{border-color:#31eaff;box-shadow:0 0 12px #00d9ff80}.game-shell:has(.stage-radiograph) .game-score{color:#42f5ff;background:#06245cd9;border:1px solid #00cfff;box-shadow:0 0 9px #00d9ff45}.game-shell:has(.stage-radiograph) .stage-status>span{color:#b6def3}.game-shell:has(.stage-radiograph) .step-dot{color:#fff;background:#081a45;border-color:#26bde5}.game-shell:has(.stage-radiograph) .step-dot:not(:last-child):after{background:#28aeda}.game-shell:has(.stage-radiograph) .step-dot.active,.game-shell:has(.stage-radiograph) .step-dot.done{background:#17e8ef;border-color:#9affff;box-shadow:0 0 0 2px #007ddb,0 0 12px #00e9ff}.game-shell:has(.stage-radiograph) .timer{color:#f4fbff}.game-shell:has(.stage-radiograph) .header-actions .button{color:#fff;background:#09143fdc;border-color:#32dff3;box-shadow:0 0 12px #00d9ff40}.game-shell:has(.stage-radiograph) .header-actions .button:hover{background:#10245f;border-color:#7df7ff}
.stage-radiograph{display:flex;min-height:0;max-width:1120px;flex-direction:column;padding-bottom:0}.stage-radiograph>.page-heading{flex:0 0 auto;margin:16px 0 14px}.stage-radiograph>.page-heading .heading-symbol{width:58px;height:58px;color:#4ef5ff;background:#071943;border:1px solid #00dfff;box-shadow:inset 0 0 18px #005ea8,0 0 15px #00d9ff70}.stage-radiograph>.page-heading .heading-symbol .icon{width:30px;height:30px}.stage-radiograph>.page-heading h1{color:#fff;font-family:var(--sans);font-weight:750;font-size:clamp(29px,2.65vw,40px);text-shadow:0 0 22px #315dff74}.stage-radiograph>.page-heading p{margin-top:3px;color:#d6efff;font-size:14px;text-shadow:0 0 9px #00cfff70}
.stage-radiograph .radiograph-brief{flex:0 0 auto;width:min(1000px,100%);margin:0 auto 12px;padding:12px 17px;color:#d9efff;background:linear-gradient(110deg,#071b4de8,#090b36e8);border:1px solid #00cfff;border-radius:10px;box-shadow:0 0 0 1px #a02dff45,0 0 16px #00cfff50,inset 0 0 18px #0063ad22}.stage-radiograph .radiograph-brief>.icon{width:22px;height:22px;color:#4ef5ff;filter:drop-shadow(0 0 6px #00dfff)}.stage-radiograph .radiograph-brief p{color:#d2e8f8;font-size:clamp(16px,1.08vw,18px);line-height:1.55}
.stage-radiograph .radio-game{position:relative;display:flex;flex:1;min-height:0;width:min(1000px,100%);margin:0 auto;padding:17px 18px 14px;flex-direction:column;color:#fff;background:linear-gradient(145deg,#061338f3,#07072cee);border:1px solid #00dcff;border-radius:7px;box-shadow:0 0 0 2px #006dff55,0 0 0 3px #b92aff3d,0 0 24px #00cfff76,0 22px 55px #00051da6,inset 0 0 30px #005dac24;overflow:visible}
.stage-radiograph .radio-game:before,.stage-radiograph .radio-game:after{content:'';position:absolute;width:54px;height:54px;z-index:2;pointer-events:none}.stage-radiograph .radio-game:before{left:12px;top:12px;border-left:2px solid #ffe35a;border-top:2px solid #ffe35a;filter:drop-shadow(0 0 7px #ffd600);clip-path:polygon(0 0,100% 0,100% 10%,17% 10%,17% 100%,0 100%)}.stage-radiograph .radio-game:after{right:12px;bottom:12px;border-right:2px solid #ff4ee5;border-bottom:2px solid #ff4ee5;filter:drop-shadow(0 0 7px #ff00d8);clip-path:polygon(83% 0,100% 0,100% 100%,0 100%,0 90%,83% 90%)}
.stage-radiograph .radio-game>p{position:relative;z-index:1;margin:0 4px 8px;color:#c9e5f5;font-size:11px;line-height:1.45}.stage-radiograph .radio-tabs{position:relative;z-index:3;margin:0 0 9px}.stage-radiograph .radio-tabs .button,.stage-radiograph .radio-toolbar .button{min-height:38px;padding:7px 12px;color:#fff;background:linear-gradient(100deg,#07547f 0%,#086fbd 62%,#0d4d8f 100%);border-color:#5defff;box-shadow:0 0 12px #00d9ff65,inset 0 0 14px #28ecff2e}.stage-radiograph .radio-tabs .button.primary{background:linear-gradient(100deg,#00bfd4 0%,#0878dd 58%,#0d4d8f 100%);border-color:#72f7ff}.stage-radiograph .radio-toolbar{position:relative;z-index:3;flex:0 0 auto;margin:0 0 9px;gap:9px}.stage-radiograph .radio-toolbar span{margin-left:6px;color:#b9d9ec;font-size:10px}
.stage-radiograph .radio-viewport{position:relative;z-index:1;display:flex;flex:1;align-items:safe center;justify-content:safe center;min-height:260px;max-height:none;overflow:auto;border:1px solid #19cdec;border-radius:9px;background:linear-gradient(#00d9ff09 1px,transparent 1px),linear-gradient(90deg,#00d9ff09 1px,transparent 1px),radial-gradient(circle at 50% 46%,#092653,#040b24 74%);background-size:42px 42px,42px 42px,auto;box-shadow:0 0 14px #00dfff50,inset 0 0 55px #00172ca6}.stage-radiograph .radio-viewport:before,.stage-radiograph .radio-viewport:after{content:'';position:absolute;display:block;width:34px;height:26px;z-index:4;pointer-events:none}.stage-radiograph .radio-viewport:before{left:14px;top:12px;border-left:2px solid #2de8ff;border-top:2px solid #2de8ff}.stage-radiograph .radio-viewport:after{right:14px;bottom:12px;border-right:2px solid #2de8ff;border-bottom:2px solid #2de8ff}.stage-radiograph .radio-canvas{flex:0 0 auto;min-width:0;width:max-content;background:#030c1f}.stage-radiograph .radio-canvas>img{display:block;width:auto;height:100%;max-width:none;filter:contrast(1.07) brightness(1.03);box-shadow:inset 0 0 50px #00152a}.stage-radiograph .radio-mark{border-color:#50f7ff;background:#08d8e650;box-shadow:0 0 0 2px #061a3d,0 0 15px #00eaff}
.stage-radiograph .radio-game>.help-copy{position:relative;z-index:1;margin:6px 3px 0;color:#b7d9eb;font-size:10px;line-height:1.4}.stage-radiograph .radio-game>.inline-message{position:relative;z-index:3;margin-top:5px;padding:9px 14px;color:#ffd4f6;background:#35123de8;border-color:#ff4ed1;font-size:12px}.stage-radiograph .radio-game>.bottom-actions{position:relative;z-index:3;flex:0 0 auto;margin-top:6px}.stage-radiograph .radio-game>.bottom-actions .button{min-height:44px;padding:9px 18px;font-size:15px}.stage-radiograph .radio-game>.bottom-actions .button.outline{color:#fff;background:linear-gradient(100deg,#07547f 0%,#086fbd 62%,#0d4d8f 100%);border-color:#5defff;box-shadow:0 0 12px #00d9ff65}.stage-radiograph .radio-game>.bottom-actions .button.primary{min-width:330px;color:#fff;background:linear-gradient(100deg,#00bfd4 0%,#0878dd 58%,#0d4d8f 100%);border-color:#6df8ff;box-shadow:0 0 18px #00d9ff90,inset 0 0 18px #28ecff42}.stage-radiograph .radio-game>.bottom-actions .button:hover{transform:translateY(-1px)}
.game-shell:has(.stage-radiograph) .game-footer{color:#8fc1db;padding-top:7px;padding-bottom:4px}.game-shell:has(.stage-radiograph) .game-footer .icon,.game-shell:has(.stage-radiograph) .game-footer .text-button{color:#57eff7}.game-shell:has(.stage-radiograph) .score-sync-status{color:#61dfe9;padding-bottom:4px}
@media(min-width:801px) and (max-height:850px){.game-shell:has(.stage-radiograph){padding-top:10px}.game-shell:has(.stage-radiograph) .game-header{min-height:58px;padding:7px 14px}.game-shell:has(.stage-radiograph) .team-avatar-header{width:36px;height:36px}.game-shell:has(.stage-radiograph) .team-name{font-size:16px}.game-shell:has(.stage-radiograph) .timer{font-size:19px}.stage-radiograph>.page-heading{margin:7px 0 8px}.stage-radiograph>.page-heading .heading-symbol{width:46px;height:46px}.stage-radiograph>.page-heading .heading-symbol .icon{width:24px;height:24px}.stage-radiograph>.page-heading h1{font-size:30px}.stage-radiograph>.page-heading p{font-size:12px}.stage-radiograph .radiograph-brief{margin-bottom:7px;padding:8px 13px}.stage-radiograph .radiograph-brief p{font-size:15px;line-height:1.45}.stage-radiograph .radio-game{padding:12px 14px 9px}.stage-radiograph .radio-game>p{margin-bottom:5px;font-size:9px}.stage-radiograph .radio-toolbar{margin-bottom:6px}.stage-radiograph .radio-tabs .button,.stage-radiograph .radio-toolbar .button{min-height:32px;padding:5px 9px;font-size:10px}.stage-radiograph .radio-viewport{min-height:210px}.stage-radiograph .radio-game>.help-copy{margin-top:5px}.stage-radiograph .radio-game>.bottom-actions{margin-top:5px}.stage-radiograph .radio-game>.bottom-actions .button{min-height:38px;padding:7px 15px}.game-shell:has(.stage-radiograph) .game-footer{padding-top:3px;padding-bottom:2px}}
@media(max-width:800px){.game-shell:has(.stage-radiograph){height:auto;min-height:100svh;overflow:visible}.stage-radiograph .radio-game{min-height:620px}.stage-radiograph .radio-toolbar span{flex-basis:100%;margin-left:0}.stage-radiograph .radio-game>.bottom-actions .button.primary{min-width:0}}

/* Primera dinamica: panel de seleccion en el laboratorio de neon. */
body:has(.stage-ordering){background:#030722;color:#f5fbff;color-scheme:dark}
body:has(.stage-ordering) .laboratory{background:
 radial-gradient(circle at 18% 24%,#005dff8a 0,transparent 24%),
 radial-gradient(circle at 78% 28%,#e000ff70 0,transparent 24%),
 linear-gradient(115deg,#02051adf 0%,#071043b5 46%,#090326dc 100%),
 url('../assets/laboratory.png') center/cover no-repeat;filter:saturate(1.75) contrast(1.18)}
body:has(.stage-ordering) .laboratory:before{content:'';position:absolute;inset:47% -20% -34%;background-image:linear-gradient(#00d9ff2b 1px,transparent 1px),linear-gradient(90deg,#00d9ff2b 1px,transparent 1px);background-size:62px 62px;transform:perspective(520px) rotateX(61deg) scale(1.35);transform-origin:center bottom;opacity:.78}
body:has(.stage-ordering) .laboratory:after{background:radial-gradient(ellipse at 50% 48%,transparent 0 25%,#02051a91 80%),linear-gradient(90deg,#001a5b47,#ff00cd16 31%,#00d9ff10 66%,#24006452);box-shadow:inset 0 0 160px #020315}
.game-shell:has(.stage-ordering){max-width:1500px;height:100svh;min-height:0;padding:20px 4% 0;overflow:hidden;color:#f5fbff;text-shadow:0 1px 12px #02051d80}
.game-shell:has(.stage-ordering) .game-header{position:relative;top:auto;min-height:68px;color:#fff;background:linear-gradient(120deg,#07143ee8,#0c0a35df);border:1px solid #00dcff;border-radius:12px;box-shadow:0 0 0 1px #a02dff6b,0 0 20px #00cfff6e,inset 0 0 24px #0063ad25;backdrop-filter:blur(15px)}
.game-shell:has(.stage-ordering) .team-name{color:#fff}.game-shell:has(.stage-ordering) .team-avatar-header{border-color:#31eaff;box-shadow:0 0 12px #00d9ff80}.game-shell:has(.stage-ordering) .game-score{color:#42f5ff;background:#06245cd9;border:1px solid #00cfff;box-shadow:0 0 9px #00d9ff45}.game-shell:has(.stage-ordering) .stage-status>span{color:#9dd8f4}.game-shell:has(.stage-ordering) .step-dot{color:#fff;background:#081a45;border-color:#26bde5}.game-shell:has(.stage-ordering) .step-dot:not(:last-child):after{background:#28aeda}.game-shell:has(.stage-ordering) .step-dot.active{background:#17e8ef;border-color:#9affff;box-shadow:0 0 0 2px #007ddb,0 0 12px #00e9ff}.game-shell:has(.stage-ordering) .timer{color:#f4fbff}.game-shell:has(.stage-ordering) .header-actions .button{color:#fff;background:#09143fdc;border-color:#32dff3;box-shadow:0 0 12px #00d9ff40}.game-shell:has(.stage-ordering) .header-actions .button:hover{background:#10245f;border-color:#7df7ff}
.stage-ordering{display:flex;min-height:0;max-width:1280px;flex-direction:column;padding-bottom:0}.stage-ordering>.diagnostics-access{margin:8px 0 -4px}.stage-ordering>.diagnostics-access .button{color:#fff;background:#09143fe8;border-color:#36e9f5;box-shadow:0 0 13px #00d9ff4d}.stage-ordering>.page-heading{margin:18px 0 22px}.stage-ordering>.page-heading .heading-symbol{width:56px;height:56px;color:#4ef5ff;background:#071943;border:1px solid #00dfff;box-shadow:inset 0 0 18px #005ea8,0 0 15px #00d9ff70}.stage-ordering>.page-heading .heading-symbol .icon{width:29px;height:29px}.stage-ordering>.page-heading h1{color:#fff;font-family:var(--sans);font-weight:600;font-size:clamp(29px,2.65vw,40px);text-shadow:0 0 22px #315dff74}.stage-ordering>.page-heading p{margin-top:3px;color:#64eaff;font-size:14px;text-shadow:0 0 9px #00cfff70}
.stage-ordering .selection-panel{position:relative;width:100%;max-width:1120px;padding:26px 34px 34px;background:linear-gradient(135deg,#07133eea,#07072ce8);border:1px solid #00dfff;border-radius:14px;box-shadow:0 0 0 1px #a02dff68,0 0 24px #00bfff70,0 22px 55px #00051d9c,inset 0 0 30px #004b9c22;overflow:visible}
.stage-ordering .selection-panel:before,.stage-ordering .selection-panel:after{content:'';position:absolute;width:48px;height:48px;pointer-events:none}.stage-ordering .selection-panel:before{left:13px;top:13px;border-left:2px solid #ffe35a;border-top:2px solid #ffe35a;filter:drop-shadow(0 0 7px #ffd600);clip-path:polygon(0 0,100% 0,100% 12%,18% 12%,18% 100%,0 100%)}.stage-ordering .selection-panel:after{right:13px;bottom:13px;border-right:2px solid #ff4ee5;border-bottom:2px solid #ff4ee5;filter:drop-shadow(0 0 7px #ff00d8);clip-path:polygon(82% 0,100% 0,100% 100%,0 100%,0 88%,82% 88%)}
.stage-ordering .ordering-brief{position:relative;z-index:1;display:flex;align-items:flex-start;gap:12px;margin:0 12px 14px;padding:11px 15px;color:#d9efff;background:linear-gradient(100deg,#071f4be8,#0a1740e8);border:1px solid #176ed0;border-left:4px solid #35f6ff;border-radius:0 8px 8px 0;box-shadow:inset 0 0 16px #006ebd22}.stage-ordering .ordering-brief .icon{width:21px;height:21px;color:#4cf5ff;filter:drop-shadow(0 0 6px #00dfff);flex:0 0 auto}.stage-ordering .ordering-brief p{color:inherit;font-size:clamp(16px,1.08vw,18px);line-height:1.55}
.stage-ordering .section-label{padding-left:12px;color:#ecfbff}.stage-ordering .section-label .eyebrow{color:#51f4ff;text-shadow:0 0 9px #00dfff}.stage-ordering .section-label>span{color:#9ac4df}.stage-ordering .selection-counter{margin:0 0 13px;padding:8px 12px;color:#a8d3e9;background:linear-gradient(90deg,#082151d9,#07133cbd);border:1px solid #008fd7;box-shadow:inset 0 0 16px #006ebc24}.stage-ordering .selection-counter strong{color:#45f5ff;text-shadow:0 0 9px #00dcff}
.stage-ordering .selection-drag-layout{grid-template-columns:minmax(0,1.45fr) minmax(360px,1fr);gap:14px}.stage-ordering .selection-bank,.stage-ordering .selection-targets{padding:13px;background:linear-gradient(135deg,#061237dc,#09092fe3);border-color:#176fd2;border-radius:11px;box-shadow:inset 0 0 20px #003f8a22}.stage-ordering .selection-zone-title{margin-bottom:10px}.stage-ordering .selection-zone-title strong{color:#fff}.stage-ordering .selection-zone-title small{color:#8ec7e4}
.stage-ordering .selection-grid{gap:6px}.stage-ordering .selection-card{min-height:55px;padding:4px 8px;gap:10px;color:#fff;background:linear-gradient(130deg,#071b4ce8,#090c35e8);border-color:#00cfff;border-radius:9px;box-shadow:0 0 10px #00cfff36,inset 0 0 14px #006bb121}.stage-ordering .selection-card:hover{background:linear-gradient(130deg,#0a2a66,#14104d);border-color:#6df6ff;box-shadow:0 0 15px #00dfff60}.stage-ordering .selection-card .card-icon{width:31px}.stage-ordering .selection-card .card-icon>.icon{width:27px;height:27px}.stage-ordering .selection-card .drag-grip,.stage-ordering .selection-card .drag-grip .icon{width:15px;height:22px}.stage-ordering .selection-card strong{color:#f7fdff;font-size:13px;line-height:1.16}.stage-ordering .selection-card small{color:#a4cbe4;font-size:8px;line-height:1.2;margin-top:2px}.stage-ordering .selection-card .card-icon,.stage-ordering .selection-card .drag-grip{color:#4cefff;filter:drop-shadow(0 0 5px #00d9ff)}.stage-ordering .selection-card.selected{background:linear-gradient(120deg,#08265b,#0b1748);border-color:#5af6ff;box-shadow:0 0 0 2px #00dcff50,0 0 16px #00d9ff65}
.stage-ordering .selection-slots{gap:7px}.stage-ordering .selection-slot{min-height:72px;padding:4px 5px 4px 42px;color:#d6efff;background:#061034b8;border-color:#1fcfff;border-radius:9px}.stage-ordering .selection-slot-number{left:10px;width:24px;text-align:center;color:#69eeff;text-shadow:0 0 7px #00dfff}.stage-ordering .selection-placeholder{color:#9ecbe4}.stage-ordering .selection-placeholder .icon{color:#46edff}.stage-ordering .selection-slot.filled{padding:3px 3px 3px 42px;background:linear-gradient(110deg,#082454,#071942);border-color:#4df4ff;box-shadow:0 0 12px #00d9ff55,inset 0 0 18px #0069ad2e}.stage-ordering .selection-slot .selection-card,.stage-ordering .selection-slot .selection-card:hover{min-height:62px;background:transparent;border:0;box-shadow:none;outline:0;transform:none}.stage-ordering .selection-slot.drop-target,.stage-ordering .selection-bank.drop-target{border-color:#5fffff;background:#09295a;box-shadow:0 0 0 3px #00eaff30,0 0 17px #00dfff65}
.stage-ordering .inline-message{color:#ffd4f6;background:#35123de8;border-color:#ff4ed1}.stage-ordering>.bottom-actions{width:100%;max-width:1120px;margin:15px auto 0}.stage-ordering>.bottom-actions .button.outline{color:#fff;background:#09143fe6;border-color:#31dff1;box-shadow:0 0 12px #00d9ff40}.stage-ordering>.bottom-actions .button.primary{color:#fff;background:linear-gradient(100deg,#00bfd4 0%,#0878dd 58%,#0d4d8f 100%);border-color:#6df8ff;box-shadow:0 0 18px #00d9ff90,inset 0 0 18px #28ecff42}.stage-ordering>.bottom-actions .button:hover{transform:translateY(-1px)}
.game-shell:has(.stage-ordering) .game-footer{color:#8fc1db;padding-top:10px}.game-shell:has(.stage-ordering) .game-footer .icon,.game-shell:has(.stage-ordering) .game-footer .text-button{color:#57eff7}.game-shell:has(.stage-ordering) .score-sync-status{color:#61dfe9;padding-bottom:7px}
body:has(.stage-ordering) .selection-card.selection-drag-ghost{padding:4px 8px;gap:10px;opacity:.98;color:#fff;background:linear-gradient(135deg,#09275bef,#140b46f2);border:1px solid #56f5ff;border-radius:9px;box-shadow:0 0 0 2px #00dfff55,0 18px 38px #00132ba8,0 0 25px #00dcff9c,0 0 34px #dd00ff65,inset 0 0 18px #0875d638}body:has(.stage-ordering) .selection-card.selection-drag-ghost .card-icon{width:31px}body:has(.stage-ordering) .selection-card.selection-drag-ghost .card-icon>.icon{width:27px;height:27px}body:has(.stage-ordering) .selection-card.selection-drag-ghost .drag-grip,body:has(.stage-ordering) .selection-card.selection-drag-ghost .drag-grip .icon{width:15px;height:22px}body:has(.stage-ordering) .selection-card.selection-drag-ghost strong{color:#fff;font-size:13px;line-height:1.16}body:has(.stage-ordering) .selection-card.selection-drag-ghost small{color:#b9ddf0;font-size:8px;line-height:1.2;margin-top:2px}body:has(.stage-ordering) .selection-card.selection-drag-ghost .card-icon,body:has(.stage-ordering) .selection-card.selection-drag-ghost .drag-grip{color:#5df7ff;filter:drop-shadow(0 0 7px #00e9ff)}
@media(min-width:951px){.stage-ordering .selection-panel{display:flex;flex:1;min-height:0;flex-direction:column}.stage-ordering .selection-drag-layout{flex:1;min-height:0;margin-bottom:-14px}.stage-ordering .selection-bank,.stage-ordering .selection-targets{height:auto;min-height:0}}
@media(max-width:950px){.stage-ordering .selection-drag-layout{grid-template-columns:1fr}.stage-ordering .selection-slot,.stage-ordering .selection-slot.filled{padding:28px 5px 5px}.stage-ordering .selection-slot-number{left:50%;top:7px;width:auto;transform:translateX(-50%);font-size:14px}}
@media(max-width:600px){.stage-ordering .selection-slot,.stage-ordering .selection-slot.filled{padding:6px 6px 6px 42px}.stage-ordering .selection-slot-number{left:10px;top:50%;width:24px;transform:translateY(-50%)}}

@media(min-width:801px) and (max-height:850px){
 .game-shell:has(.stage-ordering){padding-top:10px}.game-shell:has(.stage-ordering) .game-header{min-height:58px;padding:7px 14px}.game-shell:has(.stage-ordering) .team-avatar-header{width:36px;height:36px}.game-shell:has(.stage-ordering) .team-name{font-size:16px}.game-shell:has(.stage-ordering) .timer{font-size:19px}
 .stage-ordering>.diagnostics-access{margin:4px 0 -2px}.stage-ordering>.page-heading{margin:10px 0 12px}.stage-ordering>.page-heading .heading-symbol{width:48px;height:48px}.stage-ordering>.page-heading .heading-symbol .icon{width:25px;height:25px}.stage-ordering>.page-heading h1{font-size:31px}.stage-ordering>.page-heading p{font-size:12px;margin-top:2px}
 .stage-ordering .selection-panel{padding:20px 28px 27px}.stage-ordering .ordering-brief{margin:0 10px 8px;padding:7px 11px;gap:9px}.stage-ordering .ordering-brief .icon{width:18px;height:18px}.stage-ordering .ordering-brief p{font-size:15px;line-height:1.45}.stage-ordering .section-label{margin-bottom:6px}.stage-ordering .selection-counter{margin-bottom:7px}.stage-ordering .selection-counter strong{font-size:15px}.stage-ordering .selection-bank,.stage-ordering .selection-targets{padding:8px}.stage-ordering .selection-zone-title{margin-bottom:5px}.stage-ordering .selection-card{min-height:51px;padding:4px 8px}.stage-ordering .selection-card strong{font-size:12px}.stage-ordering .selection-card small{font-size:8px}.stage-ordering .selection-slot{min-height:58px}.stage-ordering .selection-slot .selection-card{min-height:49px}.stage-ordering>.bottom-actions{margin-top:7px}.stage-ordering>.bottom-actions .button{min-height:42px;padding:8px 17px}.game-shell:has(.stage-ordering) .game-footer{padding-top:5px;padding-bottom:4px}.game-shell:has(.stage-ordering) .score-sync-status{padding-bottom:3px}
}

/* Segunda dinámica: sopa de dominios y validación en el laboratorio de neón. */
body:has(.stage-words){background:#030722;color:#f5fbff;color-scheme:dark}
body:has(.stage-words) .laboratory{background:radial-gradient(circle at 18% 24%,#005dff8a 0,transparent 24%),radial-gradient(circle at 78% 28%,#e000ff70 0,transparent 24%),linear-gradient(115deg,#02051adf 0%,#071043b5 46%,#090326dc 100%),url('../assets/laboratory.png') center/cover no-repeat;filter:saturate(1.75) contrast(1.18)}
body:has(.stage-words) .laboratory:before{content:'';position:absolute;inset:47% -20% -34%;background-image:linear-gradient(#00d9ff2b 1px,transparent 1px),linear-gradient(90deg,#00d9ff2b 1px,transparent 1px);background-size:62px 62px;transform:perspective(520px) rotateX(61deg) scale(1.35);transform-origin:center bottom;opacity:.78}
body:has(.stage-words) .laboratory:after{background:radial-gradient(ellipse at 50% 48%,transparent 0 25%,#02051a91 80%),linear-gradient(90deg,#001a5b47,#ff00cd16 31%,#00d9ff10 66%,#24006452);box-shadow:inset 0 0 160px #020315}
.game-shell:has(.stage-words){max-width:1500px;height:100svh;min-height:0;padding:20px 4% 0;overflow:hidden;color:#f5fbff;text-shadow:0 1px 12px #02051d80}
.game-shell:has(.stage-words) .game-header{position:relative;top:auto;min-height:68px;color:#fff;background:linear-gradient(120deg,#07143ee8,#0c0a35df);border:1px solid #00dcff;border-radius:12px;box-shadow:0 0 0 1px #a02dff6b,0 0 20px #00cfff6e,inset 0 0 24px #0063ad25;backdrop-filter:blur(15px)}
.game-shell:has(.stage-words) .team-name{color:#fff}.game-shell:has(.stage-words) .team-avatar-header{border-color:#31eaff;box-shadow:0 0 12px #00d9ff80}.game-shell:has(.stage-words) .game-score{color:#42f5ff;background:#06245cd9;border:1px solid #00cfff;box-shadow:0 0 9px #00d9ff45}.game-shell:has(.stage-words) .stage-status>span{color:#9dd8f4}.game-shell:has(.stage-words) .step-dot{color:#fff;background:#081a45;border-color:#26bde5}.game-shell:has(.stage-words) .step-dot:not(:last-child):after{background:#28aeda}.game-shell:has(.stage-words) .step-dot.active{background:#17e8ef;border-color:#9affff;box-shadow:0 0 0 2px #007ddb,0 0 12px #00e9ff}.game-shell:has(.stage-words) .step-dot.done{background:#11cad7;border-color:#65f7ff}.game-shell:has(.stage-words) .timer{color:#f4fbff}.game-shell:has(.stage-words) .header-actions .button{color:#fff;background:#09143fdc;border-color:#32dff3;box-shadow:0 0 12px #00d9ff40}.game-shell:has(.stage-words) .header-actions .button:hover{background:#10245f;border-color:#7df7ff}
.stage-words{display:flex;min-height:0;max-width:1280px;flex-direction:column;padding-bottom:0}.stage-words>.page-heading{margin:16px 0 14px}.stage-words>.page-heading .heading-symbol{width:58px;height:58px;color:#4ef5ff;background:#071943;border:1px solid #00dfff;box-shadow:inset 0 0 18px #005ea8,0 0 15px #00d9ff70}.stage-words>.page-heading .heading-symbol .icon{width:30px;height:30px}.stage-words>.page-heading h1{color:#fff;font-family:var(--sans);font-weight:750;font-size:clamp(29px,2.65vw,40px);text-shadow:0 0 22px #315dff74}.stage-words>.page-heading p{margin-top:3px;color:#d6efff;font-size:14px;text-shadow:0 0 9px #00cfff70}
.stage-words .word-brief{width:min(1180px,100%);margin:0 auto 12px;padding:15px 20px;color:#d9efff;background:linear-gradient(110deg,#071b4de8,#090b36e8);border:1px solid #00cfff;border-radius:10px;box-shadow:0 0 0 1px #a02dff45,0 0 16px #00cfff50,inset 0 0 18px #0063ad22}.stage-words .word-brief>.icon{width:25px;height:25px;color:#4ef5ff;filter:drop-shadow(0 0 6px #00dfff)}.stage-words .word-brief p{color:#d2e8f8;font-size:clamp(16px,1.08vw,18px);line-height:1.55}
.stage-words .words-layout{width:min(930px,100%);min-height:0;flex:1;grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);gap:12px;margin:0 auto}.stage-words .word-board,.stage-words .word-sidebar,.stage-words .word-validation-panel{position:relative;color:#fff;background:linear-gradient(145deg,#061338f0,#07072ceb);border:1px solid #00dcff;border-radius:7px;box-shadow:0 0 0 2px #006dff55,0 0 0 3px #b92aff3d,0 0 24px #00cfff76,0 22px 55px #00051da6,inset 0 0 30px #005dac24}.stage-words .word-board:before,.stage-words .word-sidebar:before,.stage-words .word-validation-panel:before{content:'';position:absolute;inset:9px;border:1px solid #1769be75;clip-path:polygon(0 0,15% 0,15% 2px,85% 2px,85% 0,100% 0,100% 100%,85% 100%,85% calc(100% - 2px),15% calc(100% - 2px),15% 100%,0 100%);pointer-events:none}.stage-words .word-board{display:flex;align-items:center;justify-content:center;min-height:0;padding:14px}.stage-words .word-grid{position:relative;z-index:1;width:min(calc(100% - 32px),calc(100svh - 350px));aspect-ratio:1;grid-template-rows:repeat(12,minmax(0,1fr));gap:2px}.stage-words .letter{height:100%;aspect-ratio:auto;color:#e9f8ff;background:linear-gradient(145deg,#071a46,#071233);border:1px solid #126dc3;border-radius:2px;font-size:clamp(12px,1.1vw,18px);font-weight:750;text-shadow:0 0 8px #238cff;box-shadow:inset 0 0 8px #0056a138}.stage-words .letter:hover{color:#fff;border-color:#57f5ff;box-shadow:0 0 8px #00dcff,inset 0 0 10px #0077c7}.stage-words .letter.selecting{color:#fff;background:#7b0f91;border-color:#ff4ee5;box-shadow:0 0 10px #ff00de,inset 0 0 12px #ff4ed155}.stage-words .letter.found{color:#fff;background:#073d6a;border-color:#40efff;box-shadow:0 0 8px #00dcff,inset 0 0 12px #00dfff47}.stage-words .letter.found-tone-2{background:#7c0b82;border-color:#ff58ea;box-shadow:0 0 9px #ff00dc,inset 0 0 12px #ff4ed15c}.stage-words .letter.found-tone-3{background:#6c5110;border-color:#ffd85a;box-shadow:0 0 9px #ffc400,inset 0 0 12px #ffcc424f}.stage-words .letter.found-tone-4{background:#00606b;border-color:#42fff3;box-shadow:0 0 9px #00f6e8,inset 0 0 12px #00d8c659}.stage-words .letter.found.selecting{filter:brightness(1.2)}
.stage-words .word-sidebar{min-height:0;padding:18px 17px}.stage-words .word-progress{position:relative;z-index:1}.stage-words .word-progress strong{color:#fff;font-size:16px}.stage-words .progress-bar{height:6px;margin-top:13px;background:#07376c}.stage-words .progress-bar>span{background:linear-gradient(90deg,#00e7ef,#45f7ff);box-shadow:0 0 9px #00e9ff}.stage-words .word-list{position:relative;z-index:1;gap:8px;margin:17px 0 14px}.stage-words .word-item{min-height:50px;padding:8px 9px;color:#a9cae1;border:1px solid transparent;border-radius:7px}.stage-words .word-item:not(.found){opacity:.72}.stage-words .word-item:not(.found) strong{color:#b5d0e3}.stage-words .word-item strong{color:#fff;font-size:13px}.stage-words .word-item small{color:#8fc6e8;font-size:8px}.stage-words .word-check{width:29px;height:29px;color:transparent;background:#07153d;border:1px solid #146ac0}.stage-words .word-item.found{background:linear-gradient(110deg,#0a1f55,#0b1847);border-color:#10cfe9;box-shadow:0 0 11px #00dfff50,inset 0 0 12px #006fba33}.stage-words .word-item.found .word-check{color:#fff;background:#05c8dd;border-color:#58f6ff;box-shadow:0 0 9px #00ddff}.stage-words .word-item:nth-child(2).found{border-color:#ff49e5;box-shadow:0 0 11px #ff00d34d}.stage-words .word-item:nth-child(2).found .word-check{background:#d927cf;border-color:#ff7ff2;box-shadow:0 0 9px #ff00d8}.stage-words .word-item:nth-child(3).found{border-color:#ffd247;box-shadow:0 0 11px #ffcb004d}.stage-words .word-item:nth-child(3).found .word-check{background:#c59514;border-color:#ffe16b;box-shadow:0 0 9px #ffc400}.stage-words .word-item:nth-child(4).found{border-color:#32f4e8;box-shadow:0 0 11px #00e4d44d}.stage-words .word-item:nth-child(4).found .word-check{background:#00bdb4;border-color:#6ffff5;box-shadow:0 0 9px #00eee2}.stage-words .help-copy{position:relative;z-index:1;margin:0 0 10px;color:#a9cae1;font-size:10px;line-height:1.5}.stage-words .word-sidebar .button{position:relative;z-index:1;min-height:40px;padding:8px 12px;color:#fff;background:#09143fe8;border-color:#31dff1;box-shadow:0 0 12px #00d9ff40}.stage-words .word-feedback{position:relative;z-index:1;min-height:18px;margin-top:8px;color:#43f3ff;font-size:10px}
.stage-words .word-validation-panel{width:min(820px,100%);margin:8px auto 0;padding:42px 48px}.stage-words .word-validation{position:relative;z-index:1}.stage-words .word-validation-summary{justify-content:flex-start}.stage-words .word-validation-summary>.icon{width:66px;height:66px;color:#fff;background:radial-gradient(circle at 45% 38%,#28ddea,#0872c3 70%);border:2px solid #65fbff;box-shadow:0 0 0 8px #007be024,0 0 22px #00e8ff9c,inset 0 0 16px #6ff8ff75}.stage-words .word-validation-summary .eyebrow{color:#54efff;text-shadow:0 0 9px #00dfff}.stage-words .word-validation-summary h2{color:#fff;font-size:clamp(27px,2.5vw,36px);line-height:1.08;text-shadow:0 0 18px #257eff80}.stage-words .word-found-tags{margin:26px 0}.stage-words .word-found-tags span{color:#fff;background:#071744;border-color:#26dff1;box-shadow:0 0 12px #00d9ff4f,inset 0 0 10px #006ebd22}.stage-words .word-found-tags span:nth-child(2){border-color:#ff4be4;box-shadow:0 0 12px #ff00d65c}.stage-words .word-found-tags span:nth-child(3){border-color:#ffd64e;box-shadow:0 0 12px #ffc4005c}.stage-words .word-found-tags span:nth-child(4){border-color:#38f7e9;box-shadow:0 0 12px #00e5d75c}.stage-words .word-found-tags .icon{color:inherit}.stage-words .word-validation-instruction{max-width:none;margin-bottom:24px;color:#d2e9f7;background:#071c4ddd;border:1px solid #176ed0;border-left:4px solid #35f6ff;border-radius:0 7px 7px 0;box-shadow:inset 0 0 16px #006ebd22}.stage-words .word-validation .answer-form>label{color:#fff;font-size:20px}.stage-words .word-validation .answer-form input{color:#fff;background:#06163de8;border-color:#47dff3;box-shadow:inset 0 0 15px #005da92d,0 0 10px #00dfff30}.stage-words .word-validation .answer-form input::placeholder{color:#b6cce0}.stage-words .word-validation .answer-actions .button.primary{color:#fff;background:linear-gradient(100deg,#00bfd4 0%,#0878dd 58%,#0d4d8f 100%);border-color:#6df8ff;box-shadow:0 0 18px #00d9ff90,inset 0 0 18px #28ecff42}.stage-words .inline-message{color:#ffd4f6;background:#35123de8;border-color:#ff4ed1}
@media(min-width:801px){.stage-words:has(.word-validation-panel) .word-validation-panel{display:flex;flex:1;min-height:0;flex-direction:column;justify-content:center;margin-bottom:6px}.stage-words:has(.word-validation-panel) .word-validation{width:100%}}
.stage-words .letter.selecting,.stage-words .letter.selecting-tone-1{color:#fff;background:#006678;border-color:#42f5ff;box-shadow:0 0 10px #00e7ff,inset 0 0 12px #00cde75c}.stage-words .letter.selecting-tone-2{background:#7b0f91;border-color:#ff4ee5;box-shadow:0 0 10px #ff00de,inset 0 0 12px #ff4ed155}.stage-words .letter.selecting-tone-3{background:#72540b;border-color:#ffd85a;box-shadow:0 0 10px #ffc400,inset 0 0 12px #ffcc4259}.stage-words .letter.selecting-tone-4{background:#006b60;border-color:#42ffe3;box-shadow:0 0 10px #00f0d4,inset 0 0 12px #00d8b95c}.stage-words .letter.found-tone-4{background:#006056;border-color:#42ffe3;box-shadow:0 0 9px #00efd5,inset 0 0 12px #00d8b959}
.stage-words .word-item.found.found-tone-2{border-color:#ff49e5;box-shadow:0 0 11px #ff00d34d}.stage-words .word-item.found.found-tone-2 .word-check{background:#d927cf;border-color:#ff7ff2;box-shadow:0 0 9px #ff00d8}.stage-words .word-item.found.found-tone-3{border-color:#ffd247;box-shadow:0 0 11px #ffcb004d}.stage-words .word-item.found.found-tone-3 .word-check{background:#c59514;border-color:#ffe16b;box-shadow:0 0 9px #ffc400}.stage-words .word-item.found.found-tone-4{border-color:#32f4d2;box-shadow:0 0 11px #00e4c44d}.stage-words .word-item.found.found-tone-4 .word-check{background:#00ad97;border-color:#6fffe9;box-shadow:0 0 9px #00eed0}
.stage-words .word-found-tags span.found-tone-2{border-color:#ff4be4;box-shadow:0 0 12px #ff00d65c}.stage-words .word-found-tags span.found-tone-3{border-color:#ffd64e;box-shadow:0 0 12px #ffc4005c}.stage-words .word-found-tags span.found-tone-4{border-color:#38f7dc;box-shadow:0 0 12px #00e5cc5c}
.game-shell:has(.stage-words) .game-footer{color:#8fc1db;padding-top:8px;padding-bottom:6px}.game-shell:has(.stage-words) .game-footer .icon,.game-shell:has(.stage-words) .game-footer .text-button{color:#57eff7}.game-shell:has(.stage-words) .score-sync-status{color:#61dfe9;padding-bottom:5px}
@media(min-width:801px) and (max-height:850px){.game-shell:has(.stage-words){padding-top:10px}.game-shell:has(.stage-words) .game-header{min-height:58px;padding:7px 14px}.game-shell:has(.stage-words) .team-avatar-header{width:36px;height:36px}.game-shell:has(.stage-words) .team-name{font-size:16px}.game-shell:has(.stage-words) .timer{font-size:19px}.stage-words>.page-heading{margin:8px 0 9px}.stage-words>.page-heading .heading-symbol{width:48px;height:48px}.stage-words>.page-heading .heading-symbol .icon{width:25px;height:25px}.stage-words>.page-heading h1{font-size:31px}.stage-words>.page-heading p{font-size:12px}.stage-words .word-brief{margin-bottom:8px;padding:10px 15px}.stage-words .word-brief p{font-size:15px;line-height:1.45}.stage-words .word-grid{width:min(calc(100% - 24px),calc(100svh - 300px))}.stage-words .word-board{padding:10px}.stage-words .word-sidebar{padding:13px}.stage-words .word-list{gap:5px;margin:10px 0 8px}.stage-words .word-item{min-height:41px;padding:5px 7px}.stage-words .word-validation-panel{margin-top:3px;padding:27px 38px}.stage-words .word-validation-summary>.icon{width:55px;height:55px}.stage-words .word-found-tags{margin:17px 0}.stage-words .word-validation-instruction{margin-bottom:15px;padding:12px 16px;font-size:13px}.stage-words .word-validation .answer-form>label{margin-bottom:9px;font-size:17px}.stage-words .word-validation .answer-form input{min-height:45px}.stage-words .word-validation .answer-actions{margin-top:10px}.stage-words .word-validation .answer-actions .button{min-height:45px;padding:9px 18px}.game-shell:has(.stage-words) .game-footer{padding-top:4px;padding-bottom:3px}}
@media(max-width:800px){.game-shell:has(.stage-words){height:auto;min-height:100svh;overflow:visible}.stage-words .word-brief p{font-size:15px;line-height:1.55}.stage-words .words-layout{grid-template-columns:1fr}.stage-words .word-board{padding:26px}.stage-words .word-grid{width:min(calc(100% - 32px),588px)}.stage-words .word-sidebar{min-height:330px}.stage-words .word-validation-panel{padding:28px 22px}}
@media(min-width:801px){.stage-words .word-board{container-type:size}.stage-words .word-grid{width:min(calc(100cqw - 56px),calc(100cqh - 56px))}}

/* Estado pausado: panel de laboratorio de neón. */
body:has(.pause-modal){background:#030722;color-scheme:dark}
body:has(.pause-modal) .laboratory{background:
 radial-gradient(circle at 17% 24%,#0064ff91 0,transparent 25%),
 radial-gradient(circle at 79% 28%,#df00ff78 0,transparent 25%),
 linear-gradient(115deg,#02051ac7 0%,#0710438f 46%,#090326c4 100%),
 url('../assets/laboratory.png') center/cover no-repeat;filter:saturate(1.9) contrast(1.2) brightness(.9)}
body:has(.pause-modal) .laboratory:before{content:'';position:absolute;inset:46% -20% -34%;background-image:linear-gradient(#00d9ff26 1px,transparent 1px),linear-gradient(90deg,#00d9ff26 1px,transparent 1px);background-size:62px 62px;transform:perspective(520px) rotateX(61deg) scale(1.35);transform-origin:center bottom;opacity:.75}
body:has(.pause-modal) .laboratory:after{background:radial-gradient(ellipse at 50% 48%,transparent 0 30%,#02051a70 84%),linear-gradient(90deg,#001a5b35,#ff00cd15 31%,#00d9ff0f 66%,#24006442);box-shadow:inset 0 0 150px #020315}
.pause-modal{position:relative;isolation:isolate;width:min(650px,calc(100vw - 36px));max-width:650px;max-height:calc(100svh - 34px);overflow:hidden;padding:48px 52px 38px;color:#f5fbff;background:
 radial-gradient(circle at 50% 14%,#0c5dab36 0,transparent 36%),
 linear-gradient(145deg,#06173cf5,#07072ff2 72%,#0b0839f2);border:2px solid #35eaff;border-radius:0;clip-path:polygon(26px 0,calc(100% - 26px) 0,100% 26px,100% calc(100% - 26px),calc(100% - 26px) 100%,26px 100%,0 calc(100% - 26px),0 26px);box-shadow:0 0 0 2px #245cff88,0 0 28px #00dfffbd,0 0 52px #9b1dff70,0 34px 90px #00051dcf,inset 0 0 42px #006ab636;filter:drop-shadow(0 0 12px #00dfff99)}
.pause-modal::backdrop{background:#0207207a;backdrop-filter:blur(7px) saturate(1.55) brightness(.78)}
.pause-modal:before{content:'';position:absolute;z-index:0;inset:14px;border:1px solid #1776cd9c;clip-path:polygon(0 0,16% 0,16% 2px,84% 2px,84% 0,100% 0,100% 100%,84% 100%,84% calc(100% - 2px),16% calc(100% - 2px),16% 100%,0 100%);pointer-events:none}
.pause-modal:after{content:'';position:absolute;z-index:0;inset:20px;background:
 radial-gradient(circle,#27dfff75 1px,transparent 1.7px) 0 0/10px 10px no-repeat,
 radial-gradient(circle,#27dfff65 1px,transparent 1.7px) 100% 100%/10px 10px no-repeat,
 linear-gradient(#ff47e3,#ff47e3) left bottom/46px 2px no-repeat,
 linear-gradient(#ff47e3,#ff47e3) left bottom/2px 46px no-repeat,
 linear-gradient(#ffe84a,#ffe84a) right top/46px 2px no-repeat,
 linear-gradient(#ffe84a,#ffe84a) right top/2px 46px no-repeat;opacity:.9;pointer-events:none}
.pause-modal .modal-close{display:none}
.pause-content{position:relative;z-index:1;text-align:center;padding:0}
.pause-content>.heading-symbol{width:86px;height:86px;color:#fff;background:radial-gradient(circle at 45% 38%,#2be5ed,#0876c8 72%);border:2px solid #6bfbff;box-shadow:0 0 0 9px #007de028,0 0 28px #00eaffc4,inset 0 0 20px #8cfbff7a}
.pause-content>.heading-symbol .icon{width:38px;height:38px;stroke-width:2.25}
.pause-content h2{margin:20px 0 7px;color:#fff;font-size:34px;font-weight:750;letter-spacing:-.025em;text-shadow:0 0 18px #2f93ff8f}
.pause-content>p{color:#d4c6ff;font-size:16px;text-shadow:0 0 12px #8f3cff7a}
.paused-time{position:relative;display:flex;align-items:center;flex-direction:column;margin:27px 0 25px;padding:25px 28px 21px;gap:7px;color:#edfaff;background:linear-gradient(145deg,#071d4be8,#07133ce8);border:1px solid #48f4ff;border-radius:0;clip-path:polygon(18px 0,calc(100% - 18px) 0,100% 18px,100% calc(100% - 18px),calc(100% - 18px) 100%,18px 100%,0 calc(100% - 18px),0 18px);box-shadow:0 0 16px #00dfff72,inset 0 0 26px #006fb53d}
.paused-time:before{content:'';position:absolute;inset:10px;border:1px solid #1776cd78;clip-path:polygon(0 0,22% 0,22% 2px,78% 2px,78% 0,100% 0,100% 100%,78% 100%,78% calc(100% - 2px),22% calc(100% - 2px),22% 100%,0 100%);pointer-events:none}
.paused-time>.icon{width:31px;height:31px;color:#42f5ff;filter:drop-shadow(0 0 8px #00dcff)}
.paused-time>span{color:#e5f5ff;font-size:16px}
.paused-time b{color:#fff;font-size:56px;line-height:1.12;letter-spacing:-.035em;font-variant-numeric:tabular-nums;text-shadow:0 0 18px #2bbfff8a}
.paused-time small{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;padding-top:20px;color:#b7dcf1;border-top:1px solid #2183c7;font-size:12px}
.paused-time small .icon{width:19px;height:19px;margin:0;color:#41f0ff;filter:drop-shadow(0 0 6px #00dcff)}
.pause-content>strong{display:flex;align-items:center;justify-content:center;gap:10px;margin:0;color:#fff;font-size:16px;text-shadow:0 0 12px #168cff9c}
.pause-content>strong .icon{width:25px;height:25px;margin:0;color:#43f5ff;filter:drop-shadow(0 0 7px #00dcff)}
@media(max-width:600px){.pause-modal{width:calc(100vw - 24px);padding:40px 24px 30px}.pause-content>.heading-symbol{width:72px;height:72px}.pause-content h2{font-size:29px}.pause-content>p{font-size:14px}.paused-time{padding:22px 18px 18px}.paused-time b{font-size:48px}}

/* Estado técnico de error: consola de laboratorio de neón. */
body:has(.load-error){min-height:100svh;background:#030722;color-scheme:dark}
body:has(.load-error) .laboratory{background:
 radial-gradient(circle at 17% 24%,#0064ff91 0,transparent 25%),
 radial-gradient(circle at 79% 28%,#df00ff78 0,transparent 25%),
 linear-gradient(115deg,#02051ae3 0%,#071043c2 46%,#090326df 100%),
 url('../assets/laboratory.png') center/cover no-repeat;filter:saturate(2) contrast(1.23) brightness(.86)}
body:has(.load-error) .laboratory:before{content:'';position:absolute;inset:47% -20% -34%;background-image:linear-gradient(#00d9ff28 1px,transparent 1px),linear-gradient(90deg,#00d9ff28 1px,transparent 1px);background-size:62px 62px;transform:perspective(520px) rotateX(61deg) scale(1.35);transform-origin:center bottom;opacity:.72}
body:has(.load-error) .laboratory:after{background:radial-gradient(ellipse at 50% 46%,transparent 0 26%,#02051a5c 84%),linear-gradient(90deg,#001a5b2b,#ff00cd12 31%,#00d9ff0e 66%,#24006437);box-shadow:inset 0 0 145px #020315}
#app:has(.load-error){display:grid;min-height:100svh;padding:24px;place-items:center}
.load-error{position:relative;isolation:isolate;width:min(760px,calc(100vw - 40px));max-width:760px;margin:0;padding:54px 72px 50px;color:#f5fbff;transform:translateY(-8vh);background:
 radial-gradient(circle at 86% 20%,#0d6ab83b 0,transparent 30%),
 linear-gradient(145deg,#06173cf5,#07072ff1 72%,#0b0839f3);border:2px solid #3deeff;border-radius:0;clip-path:polygon(20px 0,calc(100% - 20px) 0,100% 20px,100% calc(100% - 20px),calc(100% - 20px) 100%,20px 100%,0 calc(100% - 20px),0 20px);box-shadow:0 0 0 2px #245cff75,0 0 28px #00dfffbd,0 0 50px #9b1dff62,0 30px 80px #00051dba,inset 0 0 38px #006ab62e;filter:drop-shadow(0 0 11px #00dfff8f)}
.load-error:before{content:'';position:absolute;z-index:0;inset:12px;border:1px solid #1776cd91;clip-path:polygon(0 0,19% 0,19% 2px,81% 2px,81% 0,100% 0,100% 100%,81% 100%,81% calc(100% - 2px),19% calc(100% - 2px),19% 100%,0 100%);pointer-events:none}
.load-error:after{content:'';position:absolute;z-index:0;inset:19px;background:
 radial-gradient(circle,#27dfff6b 1px,transparent 1.7px) 100% 0/9px 9px no-repeat,
 radial-gradient(circle,#27dfff5d 1px,transparent 1.7px) 0 100%/9px 9px no-repeat,
 linear-gradient(#ffe84a,#ffe84a) right top/38px 2px no-repeat,
 linear-gradient(#ffe84a,#ffe84a) right top/2px 38px no-repeat,
 linear-gradient(#ff48e3,#ff48e3) left bottom/38px 2px no-repeat,
 linear-gradient(#ff48e3,#ff48e3) left bottom/2px 38px no-repeat;opacity:.92;pointer-events:none}
.load-error>*{position:relative;z-index:1}
.load-error h1{color:#fff;font-size:32px;font-weight:760;line-height:1.2;letter-spacing:-.025em;text-shadow:0 0 18px #258dff8a}
.load-error p{margin:18px 0 0;color:#d5eaff;font-size:18px;line-height:1.55;text-shadow:0 0 10px #157eff38}
.load-error .button.primary{min-width:210px;min-height:62px;margin-top:28px;color:#fff;background:linear-gradient(110deg,#0cb5c8,#087ac8);border:1px solid #7affff;border-radius:10px;box-shadow:0 0 0 2px #00dfff37,0 0 20px #00eaff9c,inset 0 0 18px #45efff37;text-shadow:0 0 10px #004a6e}
.load-error .button.primary:hover{background:linear-gradient(110deg,#19c9d8,#0a8ddb);border-color:#c1ffff;box-shadow:0 0 0 2px #00dfff4d,0 0 28px #00eaffc4,inset 0 0 20px #5cf3ff4a;transform:translateY(-1px)}
@media(max-width:600px){#app:has(.load-error){padding:12px}.load-error{width:calc(100vw - 24px);padding:42px 30px 38px;transform:none}.load-error h1{font-size:27px}.load-error p{font-size:16px}.load-error .button.primary{width:100%;min-width:0}}

/* Estado técnico de carga: laboratorio activo de neón. */
body:has(.boot){min-height:100svh;background:#030722;color-scheme:dark}
body:has(.boot) .laboratory{background:
 radial-gradient(circle at 17% 24%,#0064ff83 0,transparent 25%),
 radial-gradient(circle at 79% 28%,#df00ff72 0,transparent 25%),
 linear-gradient(115deg,#02051ac9 0%,#071043a8 46%,#090326cb 100%),
 url('../assets/laboratory.png') center/cover no-repeat;filter:saturate(2.05) contrast(1.24) brightness(.9)}
body:has(.boot) .laboratory:before{content:'';position:absolute;inset:47% -20% -34%;background-image:linear-gradient(#00d9ff30 1px,transparent 1px),linear-gradient(90deg,#00d9ff30 1px,transparent 1px);background-size:62px 62px;transform:perspective(520px) rotateX(61deg) scale(1.35);transform-origin:center bottom;opacity:.82}
body:has(.boot) .laboratory:after{background:radial-gradient(ellipse at 50% 48%,transparent 0 28%,#02051a65 86%),linear-gradient(90deg,#001a5b31,#ff00cd14 31%,#00d9ff10 66%,#2400643e);box-shadow:inset 0 0 140px #020315}
#app:has(.boot){min-height:100svh}
.boot{position:relative;min-height:100svh;gap:18px;color:#fff;text-align:center;text-shadow:0 0 13px #009dff}
.boot:before{content:'';position:absolute;width:460px;max-width:72vw;height:1px;left:50%;top:calc(50% + 66px);transform:translateX(-50%);background:linear-gradient(90deg,transparent,#00dfff5f 22%,#00dfff9c 50%,#00dfff5f 78%,transparent);box-shadow:0 0 9px #00dfff75}
.boot:after{content:'';position:absolute;width:8px;height:8px;left:calc(50% - 225px);top:calc(50% + 63px);border-left:2px solid #4cf5ff;border-top:2px solid #4cf5ff;filter:drop-shadow(0 0 6px #00dfff)}
.boot-mark{position:relative;display:flex;align-items:center;justify-content:center;width:74px;height:74px;color:transparent;background:linear-gradient(145deg,#063d66d9,#087f9cbf);border:2px solid #74fbff;border-radius:17px;font-size:0;line-height:0;box-shadow:0 0 0 3px #00dfff2e,0 0 24px #00eaffc7,inset 0 0 22px #38efff4c;animation:boot-pulse 1.55s ease-in-out infinite}
.boot-mark:before,.boot-mark:after{content:'';position:absolute;left:50%;top:50%;width:28px;height:3px;border-radius:3px;background:#fff;transform:translate(-50%,-50%);box-shadow:0 0 9px #fff}
.boot-mark:after{width:3px;height:28px}
.boot p{position:relative;margin:0;color:#e9f8ff;font-size:18px;font-weight:500;letter-spacing:-.01em;text-shadow:0 0 11px #00bfff,0 2px 12px #03133a}
@keyframes boot-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 3px #00dfff2e,0 0 20px #00eaff9c,inset 0 0 20px #38efff42}50%{transform:scale(1.045);box-shadow:0 0 0 5px #00dfff32,0 0 33px #00eaffdd,inset 0 0 26px #66f7ff5c}}
@media(prefers-reduced-motion:reduce){.boot-mark{animation:none}}
@media(max-width:600px){.boot-mark{width:66px;height:66px;font-size:40px}.boot p{font-size:16px}.boot:before{width:78vw}.boot:after{display:none}}

/* Aviso formativo común en todos los pies legales. */
.footer-legal{white-space:normal;line-height:1.35}
.footer-legal>span{display:block;white-space:nowrap}
.footer-legal .legal-training{color:#67dbe6;font-size:.95em;letter-spacing:.035em}
.game-footer>.footer-legal{display:flex;flex-direction:column;align-items:flex-end;gap:1px;text-align:right}
.welcome-bottom .footer-legal,.intro-footer.footer-legal{display:flex;flex-direction:column;align-items:center;gap:1px;text-align:center}
.technical-footer{position:fixed;z-index:2;left:50%;bottom:18px;display:flex;flex-direction:column;align-items:center;gap:2px;transform:translateX(-50%);color:#8fc1db;font-size:10px;letter-spacing:.04em;text-align:center;text-shadow:0 0 9px #008cff73}
@media(max-width:600px){.footer-legal>span{white-space:normal}.technical-footer{bottom:12px;width:calc(100vw - 28px);font-size:9px}}

/* Resultado puntuado y bloques de debate en el laboratorio de neon. */
body:has(.score-reveal-screen),body:has(.discussion-screen),body:has(.ultrasound-result-screen){background:#030722;color:#f5fbff;color-scheme:dark}
body:has(.score-reveal-screen) .laboratory,body:has(.discussion-screen) .laboratory,body:has(.ultrasound-result-screen) .laboratory{background:
 radial-gradient(circle at 17% 24%,#0064ff91 0,transparent 25%),
 radial-gradient(circle at 79% 28%,#df00ff78 0,transparent 25%),
 linear-gradient(115deg,#02051ae5 0%,#071043bb 46%,#090326e2 100%),
 url('../assets/laboratory.png') center/cover no-repeat;filter:saturate(1.78) contrast(1.2)}
body:has(.score-reveal-screen) .laboratory:before,body:has(.discussion-screen) .laboratory:before,body:has(.ultrasound-result-screen) .laboratory:before{content:'';position:absolute;inset:46% -20% -34%;background-image:linear-gradient(#00d9ff29 1px,transparent 1px),linear-gradient(90deg,#00d9ff29 1px,transparent 1px);background-size:62px 62px;transform:perspective(520px) rotateX(61deg) scale(1.35);transform-origin:center bottom;opacity:.8}
body:has(.score-reveal-screen) .laboratory:after,body:has(.discussion-screen) .laboratory:after,body:has(.ultrasound-result-screen) .laboratory:after{background:radial-gradient(ellipse at 50% 48%,transparent 0 25%,#02051a92 80%),linear-gradient(90deg,#001a5b48,#ff00cd16 31%,#00d9ff10 66%,#24006454);box-shadow:inset 0 0 160px #020315}
.game-shell:has(.score-reveal-screen),.game-shell:has(.discussion-screen),.game-shell:has(.ultrasound-result-screen){max-width:1500px;height:100svh;min-height:0;padding:20px 4% 0;overflow:hidden;color:#f5fbff;text-shadow:0 1px 12px #02051d80}
.game-shell:has(.score-reveal-screen) .game-header,.game-shell:has(.discussion-screen) .game-header,.game-shell:has(.ultrasound-result-screen) .game-header{position:relative;top:auto;min-height:68px;color:#fff;background:linear-gradient(120deg,#07143ee8,#0c0a35df);border:1px solid #00dcff;border-radius:12px;box-shadow:0 0 0 1px #a02dff6b,0 0 20px #00cfff6e,inset 0 0 24px #0063ad25;backdrop-filter:blur(15px)}
.game-shell:has(.score-reveal-screen) .team-name,.game-shell:has(.discussion-screen) .team-name,.game-shell:has(.ultrasound-result-screen) .team-name{color:#fff}.game-shell:has(.score-reveal-screen) .team-avatar-header,.game-shell:has(.discussion-screen) .team-avatar-header,.game-shell:has(.ultrasound-result-screen) .team-avatar-header{border-color:#31eaff;box-shadow:0 0 12px #00d9ff80}.game-shell:has(.score-reveal-screen) .game-score,.game-shell:has(.discussion-screen) .game-score,.game-shell:has(.ultrasound-result-screen) .game-score{color:#42f5ff;background:#06245cd9;border:1px solid #00cfff;box-shadow:0 0 9px #00d9ff45}.game-shell:has(.score-reveal-screen) .stage-status>span,.game-shell:has(.discussion-screen) .stage-status>span,.game-shell:has(.ultrasound-result-screen) .stage-status>span{color:#b6def3}.game-shell:has(.score-reveal-screen) .step-dot,.game-shell:has(.discussion-screen) .step-dot,.game-shell:has(.ultrasound-result-screen) .step-dot{color:#fff;background:#081a45;border-color:#26bde5}.game-shell:has(.score-reveal-screen) .step-dot:not(:last-child):after,.game-shell:has(.discussion-screen) .step-dot:not(:last-child):after,.game-shell:has(.ultrasound-result-screen) .step-dot:not(:last-child):after{background:#28aeda}.game-shell:has(.score-reveal-screen) .step-dot.active,.game-shell:has(.discussion-screen) .step-dot.active,.game-shell:has(.ultrasound-result-screen) .step-dot.active,.game-shell:has(.score-reveal-screen) .step-dot.done,.game-shell:has(.discussion-screen) .step-dot.done,.game-shell:has(.ultrasound-result-screen) .step-dot.done{background:#17e8ef;border-color:#9affff;box-shadow:0 0 0 2px #007ddb,0 0 12px #00e9ff}.game-shell:has(.score-reveal-screen) .header-actions .button,.game-shell:has(.discussion-screen) .header-actions .button,.game-shell:has(.ultrasound-result-screen) .header-actions .button{color:#fff;background:#09143fdc;border-color:#32dff3;box-shadow:0 0 12px #00d9ff40}.game-shell:has(.score-reveal-screen) .result-header-status,.game-shell:has(.discussion-screen) .result-header-status,.game-shell:has(.ultrasound-result-screen) .result-header-status{color:#49f4ff}.game-shell:has(.score-reveal-screen) .result-header-status .icon,.game-shell:has(.discussion-screen) .result-header-status .icon,.game-shell:has(.ultrasound-result-screen) .result-header-status .icon{color:#fff;background:#10dce7;box-shadow:0 0 12px #00eaff}
.game-shell:has(.score-reveal-screen) .game-footer,.game-shell:has(.discussion-screen) .game-footer,.game-shell:has(.ultrasound-result-screen) .game-footer{color:#8fc1db;padding-top:9px}.game-shell:has(.score-reveal-screen) .game-footer .icon,.game-shell:has(.discussion-screen) .game-footer .icon,.game-shell:has(.ultrasound-result-screen) .game-footer .icon,.game-shell:has(.score-reveal-screen) .game-footer .text-button,.game-shell:has(.discussion-screen) .game-footer .text-button,.game-shell:has(.ultrasound-result-screen) .game-footer .text-button{color:#57eff7}.game-shell:has(.score-reveal-screen) .score-sync-status,.game-shell:has(.discussion-screen) .score-sync-status,.game-shell:has(.ultrasound-result-screen) .score-sync-status{color:#61dfe9;padding-bottom:6px}

.score-reveal-screen{min-height:0;padding-top:0}.score-reveal-card{width:min(700px,100%);padding:clamp(38px,5vw,66px);color:#fff;background:linear-gradient(145deg,#07143ef2,#08072eea);border:1px solid #00dcff;border-radius:8px;box-shadow:0 0 0 2px #006dff55,0 0 0 3px #bd24ff4a,0 0 30px #00cfff85,0 26px 70px #00051db5,inset 0 0 34px #005dac2d}.score-reveal-card:before{inset:-34% 7% auto;height:360px;background:radial-gradient(circle,#087eff51,transparent 67%)}.score-reveal-card:after{content:'';position:absolute;inset:13px;border:1px solid #146dd081;clip-path:polygon(0 0,18% 0,18% 3px,82% 3px,82% 0,100% 0,100% 100%,82% 100%,82% calc(100% - 3px),18% calc(100% - 3px),18% 100%,0 100%);pointer-events:none}.score-reveal-icon{width:94px;height:94px;margin-bottom:18px;color:#fff;background:radial-gradient(circle at 45% 38%,#28ddea,#0872c3 70%);border:2px solid #65fbff;box-shadow:0 0 0 10px #007be02b,0 0 25px #00e8ffb0,inset 0 0 18px #6ff8ff85}.score-reveal-card .eyebrow{color:#44efff;letter-spacing:.24em;text-shadow:0 0 10px #00dfff}.score-reveal-card h1{color:#fff;text-shadow:0 0 20px #2295ff,0 0 34px #6d28ff80}.score-reveal-card>p{color:#d2bfff}.score-reveal-total{color:#d6edff;background:linear-gradient(100deg,#071c4ddd,#0b1542e8);border-color:#32e8f4;box-shadow:0 0 14px #00dfff55,inset 0 0 16px #006ebd24}.score-reveal-total strong{color:#fff;text-shadow:0 0 10px #29cfff}

.discussion-screen,.ultrasound-result-screen{display:flex;min-height:0;flex-direction:column;max-width:1280px;padding-bottom:0}.discussion-screen>.page-heading,.ultrasound-result-screen>.page-heading{margin:18px 0 16px}.discussion-screen>.page-heading .heading-symbol,.ultrasound-result-screen>.page-heading .heading-symbol{width:64px;height:64px;color:#4ef5ff;background:#071943;border:1px solid #00dfff;box-shadow:inset 0 0 18px #005ea8,0 0 15px #00d9ff70}.discussion-screen>.page-heading h1,.ultrasound-result-screen>.page-heading h1{color:#fff;font-family:var(--sans);font-weight:600;font-size:clamp(32px,3vw,46px);text-shadow:0 0 22px #315dff74}.discussion-screen>.page-heading p,.ultrasound-result-screen>.page-heading p{margin-top:3px;color:#64eaff;text-shadow:0 0 9px #00cfff70}
.discussion-screen .discussion-media,.ultrasound-result-screen .result-ultrasound{position:relative;width:100%;max-width:1060px;padding:16px;color:#fff;background:linear-gradient(145deg,#061338f0,#07072ceb);border:1px solid #00dcff;border-radius:7px;box-shadow:0 0 0 2px #006dff55,0 0 0 3px #b92aff3d,0 0 24px #00cfff76,0 22px 55px #00051da6,inset 0 0 30px #005dac24}.discussion-screen .discussion-media{display:flex;flex:1;min-height:0;max-width:1200px;flex-direction:column}.discussion-screen .discussion-media:before,.ultrasound-result-screen .result-ultrasound:before{content:'';position:absolute;inset:10px;border:1px solid #1769be7d;pointer-events:none}.discussion-screen .discussion-image-viewport,.ultrasound-result-screen .result-ultrasound-viewport{height:min(48vh,555px);min-height:300px;border:1px solid #0d7fc8;border-radius:3px;background:radial-gradient(circle at 50% 46%,#092653,#040b24 74%);box-shadow:inset 0 0 55px #00172ca6}.discussion-screen .discussion-image-viewport{flex:1;height:auto;min-height:0}.discussion-screen .discussion-image-viewport:has(.result-ultrasound-placeholder),.ultrasound-result-screen .result-ultrasound-viewport:has(.result-ultrasound-placeholder){background-image:linear-gradient(#00d9ff0c 1px,transparent 1px),linear-gradient(90deg,#00d9ff0c 1px,transparent 1px),radial-gradient(circle at 50% 46%,#092653,#040b24 74%);background-size:48px 48px,48px 48px,auto}.discussion-screen .result-ultrasound-placeholder,.ultrasound-result-screen .result-ultrasound-placeholder{color:#80b9d8;background:transparent}.discussion-screen .result-ultrasound-placeholder .icon,.ultrasound-result-screen .result-ultrasound-placeholder .icon{color:#7ba6c8;filter:drop-shadow(0 0 9px #008dff)}.discussion-screen .result-ultrasound-placeholder strong,.ultrasound-result-screen .result-ultrasound-placeholder strong{color:#fff;text-shadow:0 0 12px #187fff}.discussion-screen .result-ultrasound-placeholder span,.ultrasound-result-screen .result-ultrasound-placeholder span{color:#85c8e7}.discussion-screen .discussion-media>p{color:#bddcf0}.discussion-screen .discussion-wait-message{position:relative;z-index:1;display:flex;flex:0 0 auto;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:10px 12px 0;text-align:center;font-size:13px;line-height:1.35}.discussion-screen .discussion-wait-message .icon{width:17px;height:17px;color:#4cf5ff;flex:0 0 auto}
.discussion-screen .discussion-reference{position:relative;z-index:1;flex:0 0 auto;padding:9px 18px 0;text-align:center;font-size:11px;line-height:1.35;color:#8fc1db}.discussion-screen .discussion-reference+.discussion-wait-message{padding-top:6px}
.discussion-screen .debate-moment,.ultrasound-result-screen .debate-moment{width:min(900px,100%);max-width:900px;margin:14px auto 0;padding:14px 24px;justify-content:flex-start;color:#fff;background:linear-gradient(120deg,#07143eea,#0c0a35e8);border:1px solid #00dcff;box-shadow:0 0 0 1px #a02dff55,0 0 18px #00cfff5e,inset 0 0 20px #0063ad24}.discussion-screen .debate-moment .round-icon,.ultrasound-result-screen .debate-moment .round-icon{color:#4cf5ff;background:#071943;border:1px solid #00dfff;box-shadow:inset 0 0 14px #005ea8,0 0 12px #00d9ff6c}.discussion-screen .debate-moment h2,.ultrasound-result-screen .debate-moment h2{color:#fff;font-family:var(--sans);font-size:25px}.discussion-screen .debate-moment p,.ultrasound-result-screen .debate-moment p{color:#b7d9ee}.discussion-screen>.bottom-actions,.ultrasound-result-screen>.bottom-actions{margin-top:12px}.discussion-screen>.bottom-actions .button,.ultrasound-result-screen>.bottom-actions .button{color:#fff;background:linear-gradient(100deg,#07245be8,#141047e8);border-color:#48f1fb;box-shadow:0 0 15px #00dfff61,0 0 20px #d500ff42}.ultrasound-result-screen .result-ultrasound-toolbar{position:relative;z-index:1}.ultrasound-result-screen .result-ultrasound-toolbar .button{color:#fff;background:#09143fe8;border-color:#31dff1}.ultrasound-result-screen .result-ultrasound-toolbar>span{color:#77eefa}

@media(min-width:801px) and (max-height:850px){
 .game-shell:has(.score-reveal-screen),.game-shell:has(.discussion-screen),.game-shell:has(.ultrasound-result-screen){padding-top:10px}.game-shell:has(.score-reveal-screen) .game-header,.game-shell:has(.discussion-screen) .game-header,.game-shell:has(.ultrasound-result-screen) .game-header{min-height:58px;padding:7px 14px}.game-shell:has(.score-reveal-screen) .team-avatar-header,.game-shell:has(.discussion-screen) .team-avatar-header,.game-shell:has(.ultrasound-result-screen) .team-avatar-header{width:36px;height:36px}.game-shell:has(.score-reveal-screen) .team-name,.game-shell:has(.discussion-screen) .team-name,.game-shell:has(.ultrasound-result-screen) .team-name{font-size:16px}
 .score-reveal-card{width:min(600px,100%);padding:28px 42px}.score-reveal-icon{width:66px;height:66px;margin-bottom:9px}.score-reveal-icon .icon{width:34px;height:34px}.score-reveal-card h1{font-size:64px;margin:4px 0}.score-reveal-total{margin-top:13px;padding:10px 15px}
 .discussion-screen>.page-heading,.ultrasound-result-screen>.page-heading{margin:7px 0 8px}.discussion-screen>.page-heading .heading-symbol,.ultrasound-result-screen>.page-heading .heading-symbol{width:46px;height:46px}.discussion-screen>.page-heading .heading-symbol .icon,.ultrasound-result-screen>.page-heading .heading-symbol .icon{width:24px;height:24px}.discussion-screen>.page-heading h1,.ultrasound-result-screen>.page-heading h1{font-size:31px}.discussion-screen>.page-heading p,.ultrasound-result-screen>.page-heading p{font-size:12px}.discussion-screen .discussion-media,.ultrasound-result-screen .result-ultrasound{padding:10px}.discussion-screen .discussion-image-viewport{height:auto;min-height:0}.ultrasound-result-screen .result-ultrasound-viewport{height:37vh;min-height:230px}.discussion-screen .debate-moment,.ultrasound-result-screen .debate-moment{margin-top:8px;padding:8px 18px}.discussion-screen .debate-moment .round-icon,.ultrasound-result-screen .debate-moment .round-icon{width:44px;height:44px}.discussion-screen .debate-moment h2,.ultrasound-result-screen .debate-moment h2{font-size:20px}.discussion-screen .debate-moment p,.ultrasound-result-screen .debate-moment p{font-size:11px}.discussion-screen>.bottom-actions,.ultrasound-result-screen>.bottom-actions{margin-top:7px}.discussion-screen>.bottom-actions .button,.ultrasound-result-screen>.bottom-actions .button{min-height:41px;padding:8px 17px}.game-shell:has(.score-reveal-screen) .game-footer,.game-shell:has(.discussion-screen) .game-footer,.game-shell:has(.ultrasound-result-screen) .game-footer{padding-top:4px;padding-bottom:4px}
}

/* Portada sin expediente: el acceso crece en la zona derecha y deja libre la silueta del fondo. */
@media(min-width:1100px){
 .welcome-with-avatar{
  grid-template-columns:minmax(0,1fr) minmax(680px,820px);
  column-gap:clamp(42px,4.5vw,86px);
 }
 .welcome-with-avatar .entry-form{
  grid-column:2;
  width:min(820px,100%);
  justify-self:end;
  transform:none;
  padding:clamp(15px,1.15vw,22px);
 }
 .welcome-with-avatar .avatar-builder{grid-template-columns:140px 1fr;gap:18px;padding:16px}
 .welcome-with-avatar .team-avatar-preview{width:92px;height:92px}
}
@media(min-width:1100px) and (max-height:800px){
 .welcome-with-avatar{grid-template-columns:minmax(0,1fr) minmax(650px,760px);column-gap:36px}
 .welcome-with-avatar .entry-form{width:min(760px,100%);padding:12px 14px}
 .welcome-with-avatar .avatar-builder{grid-template-columns:122px 1fr;gap:12px;padding:10px}
 .welcome-with-avatar .team-avatar-preview{width:72px;height:72px}
}

@media(max-width:800px){
 .stage-ordering .ordering-brief p,
 .stage-radiograph .radiograph-brief p,
 .stage-filter .filter-brief-copy span{font-size:15px;line-height:1.55}
}

/* Portada: configurador de equipo más amplio y legible. */
@media(min-width:1100px){
 .welcome-with-avatar{grid-template-columns:minmax(0,1fr) minmax(820px,960px)}
 .welcome-with-avatar .entry-form{width:min(960px,100%);padding:25px 28px}
 .welcome-with-avatar .entry-form>label{margin-bottom:10px;font-size:16px}
 .welcome-with-avatar .entry-field{margin-bottom:18px}
 .welcome-with-avatar .entry-field>.icon{top:18px;left:19px;width:25px;height:25px}
 .welcome-with-avatar .entry-field input{min-height:62px;padding:15px 18px 15px 58px;font-size:20px}
 .welcome-with-avatar .avatar-builder{grid-template-columns:170px 1fr;gap:24px;padding:22px;margin-bottom:18px}
 .welcome-with-avatar .team-avatar-preview{width:116px;height:116px;border-radius:22px}
 .welcome-with-avatar .avatar-preview small{font-size:12px}
 .welcome-with-avatar .avatar-rule{margin-bottom:11px;font-size:15px;line-height:1.45}
 .welcome-with-avatar .avatar-choice-group{margin-bottom:13px}
 .welcome-with-avatar .avatar-choice-group legend{margin-bottom:8px;font-size:14px}
 .welcome-with-avatar .color-choices,.welcome-with-avatar .trait-choices{gap:10px}
 .welcome-with-avatar .color-choice{padding:9px 5px!important;gap:5px!important}
 .welcome-with-avatar .color-sample{width:36px;height:36px;border-radius:9px}
 .welcome-with-avatar .color-choice>span:last-child{font-size:10px}
 .welcome-with-avatar .trait-choice{min-height:54px;padding:9px 10px!important}
 .welcome-with-avatar .trait-choice span{font-size:13px!important;line-height:1.3}
 .welcome-with-avatar .avatar-actions{margin-top:14px}
 .welcome-with-avatar .avatar-actions .button{min-height:48px;padding:10px 18px;font-size:15px}
 .welcome-with-avatar .avatar-status{margin-top:7px;font-size:12px;line-height:1.45}
 .welcome-with-avatar .entry-form>.button.primary{min-height:66px;padding:15px 24px;font-size:20px}
 .welcome-with-avatar .entry-form>.button.primary .icon{width:27px;height:27px}
}

@media(min-width:1100px) and (max-height:900px){
 .welcome-with-avatar{grid-template-columns:minmax(0,1fr) minmax(740px,860px)}
 .welcome-with-avatar .entry-form{width:min(860px,100%);padding:16px 19px}
 .welcome-with-avatar .entry-form>label{margin-bottom:6px;font-size:14px}
 .welcome-with-avatar .entry-field{margin-bottom:11px}
 .welcome-with-avatar .entry-field>.icon{top:14px;left:17px;width:22px;height:22px}
 .welcome-with-avatar .entry-field input{min-height:52px;padding:11px 15px 11px 52px;font-size:17px}
 .welcome-with-avatar .avatar-builder{grid-template-columns:145px 1fr;gap:16px;padding:13px;margin-bottom:11px}
 .welcome-with-avatar .team-avatar-preview{width:90px;height:90px;border-radius:18px}
 .welcome-with-avatar .avatar-preview small{font-size:10px}
 .welcome-with-avatar .avatar-rule{margin-bottom:7px;font-size:13px}
 .welcome-with-avatar .avatar-choice-group{margin-bottom:8px}
 .welcome-with-avatar .avatar-choice-group legend{margin-bottom:5px;font-size:12px}
 .welcome-with-avatar .color-choices,.welcome-with-avatar .trait-choices{gap:7px}
 .welcome-with-avatar .color-choice{padding:6px 3px!important;gap:3px!important}
 .welcome-with-avatar .color-sample{width:30px;height:30px;border-radius:7px}
 .welcome-with-avatar .color-choice>span:last-child{font-size:9px}
 .welcome-with-avatar .trait-choice{min-height:44px;padding:6px 8px!important}
 .welcome-with-avatar .trait-choice span{font-size:11px!important}
 .welcome-with-avatar .avatar-actions{margin-top:7px}
 .welcome-with-avatar .avatar-actions .button{min-height:42px;padding:8px 14px;font-size:13px}
 .welcome-with-avatar .avatar-status{margin-top:5px;font-size:10px}
 .welcome-with-avatar .entry-form>.button.primary{min-height:56px;padding:11px 22px;font-size:18px}
 .welcome-with-avatar .entry-form>.button.primary .icon{width:24px;height:24px}
}

@media(min-width:801px) and (max-width:1099px){
 .welcome-with-avatar .entry-form{width:min(760px,94vw);padding:18px 20px}
 .welcome-with-avatar .entry-form>label{font-size:15px}
 .welcome-with-avatar .entry-field input{min-height:56px;font-size:18px}
 .welcome-with-avatar .avatar-builder{grid-template-columns:145px 1fr;gap:18px;padding:16px}
 .welcome-with-avatar .team-avatar-preview{width:94px;height:94px}
 .welcome-with-avatar .avatar-rule{font-size:14px}
 .welcome-with-avatar .avatar-choice-group legend{font-size:13px}
 .welcome-with-avatar .color-choice>span:last-child{font-size:9px}
 .welcome-with-avatar .trait-choice span{font-size:11px!important}
 .welcome-with-avatar .avatar-actions .button{min-height:44px;font-size:14px}
 .welcome-with-avatar .avatar-status{font-size:11px}
 .welcome-with-avatar .entry-form>.button.primary{min-height:60px;font-size:19px}
}

@media(max-width:800px){
 .final-screen>.page-heading{gap:14px}
 .final-screen>.page-heading .heading-symbol{width:64px;height:64px}
 .final-screen>.page-heading h1{font-size:clamp(34px,8vw,46px);line-height:1.05}
 .final-screen.completed>.page-heading p{font-size:15px;letter-spacing:.05em}
}

/* El título de portada mantiene una presencia amplia también en vistas apaisadas de poca altura. */
@media(min-width:801px) and (max-height:900px){
 .welcome-with-avatar .hero-heading .eyebrow{margin-bottom:7px;font-size:12px}
 .welcome-with-avatar .hero-heading h1{font-size:clamp(64px,5vw,80px)}
 .welcome-with-avatar .hero-heading p{margin-top:7px;font-size:20px}
 .welcome-with-avatar .teal-rule{width:68px;height:3px;margin-top:10px}
}

/* Contraste tipografico sobre el fondo: contorno y sombra, sin placas oscuras. */
:root{
 --neon-yellow:#ffe75a;
 --neon-magenta:#ff42df;
 --text-outline:#020722;
}

/* Portada. Milky se reserva para el titulo principal. */
.welcome .hero-heading .eyebrow{
 color:var(--neon-yellow);
 font-family:var(--sans);
 font-weight:700;
 transform:translateY(-10px);
 -webkit-text-stroke:0 var(--text-outline);
 text-shadow:0 1px 1px #02051a70,0 0 7px #ffc40073;
}
.welcome .hero-heading h1{
 color:#fff;
 -webkit-text-stroke:0;
 text-shadow:0 1px 1px #02051a38,0 0 7px #315dff45;
}
.welcome .hero-heading h1 em{
 color:#fff;
 font-style:normal;
 -webkit-text-stroke:0;
 text-shadow:0 1px 1px #02051a38,0 0 7px #315dff45;
}
.welcome .hero-heading p{
 color:#f5f9ff;
 font-family:var(--sans);
 font-weight:400;
 -webkit-text-stroke:0 var(--text-outline);
 text-shadow:0 1px 1px #02051a70,0 0 6px #0b4a936b;
}

/* Una misma jerarquia para pruebas, debates, esperas y cierre. */
.game-main>.page-heading h1,
.stage-ordering>.page-heading h1,
.stage-words>.page-heading h1,
.stage-radiograph>.page-heading h1,
.stage-filter>.page-heading h1,
.stage-chest>.page-heading h1,
.waiting-screen>.page-heading h1,
.discussion-screen>.page-heading h1,
.ultrasound-result-screen>.page-heading h1,
.final-screen>.page-heading h1{
 color:#fff;
 font-family:var(--sans);
 font-weight:700;
 -webkit-text-stroke:.08px var(--text-outline);
 text-shadow:0 1px 1px #02051a70,0 0 9px #315dff57;
}
.game-main>.page-heading p,
.stage-ordering>.page-heading p,
.stage-words>.page-heading p,
.stage-radiograph>.page-heading p,
.stage-filter>.page-heading p,
.stage-chest>.page-heading p,
.waiting-screen>.page-heading p,
.discussion-screen>.page-heading p,
.ultrasound-result-screen>.page-heading p,
.final-screen>.page-heading p{
 color:var(--neon-magenta);
 font-family:var(--sans);
 font-weight:600;
 font-size:clamp(18px,1.35vw,22px);
 font-style:normal;
 -webkit-text-stroke:0 var(--text-outline);
 text-shadow:0 1px 1px #02051a70,0 0 6px #ff00d857;
}

@media(max-width:800px){
 .game-main>.page-heading p,
 .stage-ordering>.page-heading p,
 .stage-words>.page-heading p,
 .stage-radiograph>.page-heading p,
 .stage-filter>.page-heading p,
 .stage-chest>.page-heading p,
 .waiting-screen>.page-heading p,
 .discussion-screen>.page-heading p,
 .ultrasound-result-screen>.page-heading p,
 .final-screen>.page-heading p{font-size:16px}
}

/* El cierre conserva el blanco de los titulos y el magenta saturado del subtitulo. */
.final-screen>.page-heading h1{
 color:#fff;
 text-shadow:0 1px 1px #02051a70,0 0 9px #315dff66;
}
.final-screen.completed>.page-heading p{color:var(--neon-magenta);font-weight:600;font-style:normal}
.final-screen .precision-intro{
 color:#fff;
 font-family:var(--sans);
 font-weight:700;
 -webkit-text-stroke:0 var(--text-outline);
 text-shadow:0 1px 1px #02051a70,0 0 6px #ffc4004d;
}

/* Textos pequeños situados directamente sobre la imagen de fondo. */
.welcome .welcome-meta,
.intro-screen .intro-wait-message,
.footer-legal,
.technical-footer{
 color:#f3f9ff;
 -webkit-text-stroke:0 var(--text-outline);
 text-shadow:0 1px 1px #02051a66,0 0 4px #007dcc52;
}
.footer-legal .legal-training{color:#8ff8ff;font-weight:400}
.stage-words .word-item:not(.found){opacity:1}
.stage-words .word-item:not(.found) strong{color:#dff2ff}
.stage-words .word-item:not(.found) small{color:#c9e1f0}


@media(min-width:801px) and (max-height:900px){
 .welcome-with-avatar .hero-heading .eyebrow{margin-bottom:4px}
 .welcome-with-avatar .hero-heading h1{line-height:.92}
 .welcome-with-avatar .hero-heading p{margin-top:1px;font-size:16px;line-height:1.1}
 .welcome-with-avatar .teal-rule{display:none}
}


/* Separación de los contenidos interiores respecto al pie y las esquinas. */
@media(min-width:801px){
 .intro-screen{padding-bottom:64px}
 .stage-ordering .selection-drag-layout{margin-bottom:10px}
 .stage-words .word-validation .answer-actions .button.primary{font-size:24px}
 .stage-radiograph .radio-viewport{margin-inline:16px}
 .stage-radiograph .radio-toolbar{margin:8px 16px 9px}
}
.stage-radiograph .radio-game>.radio-caption{flex:0 0 auto;margin:8px 20px 0;text-align:center}

/* Presentación amplia: escala con el espacio útil del navegador, incluso
   con escalado de Windows. Una unidad equivale a 1 px en 1920 x 1080. */
@media (min-width:1200px) and (min-height:650px){
 :root{--presentation-unit:min(1px,.052083333vw,.092592593svh)}
 /* Marco común: cabecera, zona útil y pie. */
 .game-shell,
 .game-shell:has(.stage-ordering),
 .game-shell:has(.stage-words),
 .game-shell:has(.stage-radiograph),
 .game-shell:has(.stage-filter),
 .game-shell:has(.stage-chest),
 .game-shell:has(.final-screen),
 .game-shell:has(.waiting-screen),
 .game-shell:has(.score-reveal-screen),
 .game-shell:has(.discussion-screen),
 .game-shell:has(.ultrasound-result-screen),
 .game-shell:has(.discussion-alert-screen),
 .game-shell:has(.discussion-report-screen){
  width:100%;
  max-width:calc(1840 * var(--presentation-unit));
  padding:calc(18 * var(--presentation-unit)) calc(32 * var(--presentation-unit)) 0;
 }
 .game-header,
 .game-shell:has(.stage-ordering) .game-header,
 .game-shell:has(.stage-words) .game-header,
 .game-shell:has(.stage-radiograph) .game-header,
 .game-shell:has(.stage-filter) .game-header,
 .game-shell:has(.stage-chest) .game-header,
 .game-shell:has(.final-screen) .game-header,
 .game-shell:has(.waiting-screen) .game-header,
 .game-shell:has(.score-reveal-screen) .game-header,
 .game-shell:has(.discussion-screen) .game-header,
 .game-shell:has(.ultrasound-result-screen) .game-header,
 .game-shell:has(.discussion-alert-screen) .game-header,
 .game-shell:has(.discussion-report-screen) .game-header{
  min-height:calc(88 * var(--presentation-unit));
  padding:calc(14 * var(--presentation-unit)) calc(27 * var(--presentation-unit));
 }
 .game-shell .game-header .team-avatar-header{width:calc(56 * var(--presentation-unit));height:calc(56 * var(--presentation-unit))}
 .game-shell .game-header .team-name{gap:calc(14 * var(--presentation-unit));font-size:calc(28 * var(--presentation-unit))}
 .game-score{font-size:calc(15 * var(--presentation-unit))}
 .stage-status>span{font-size:calc(14 * var(--presentation-unit))}
 .step-track{gap:calc(24 * var(--presentation-unit));margin-bottom:calc(5 * var(--presentation-unit))}
 .step-dot{width:calc(19 * var(--presentation-unit));height:calc(19 * var(--presentation-unit))}
 .step-dot:not(:last-child):after{left:calc(17 * var(--presentation-unit));top:calc(7 * var(--presentation-unit));width:calc(28 * var(--presentation-unit))}
 .game-shell .game-header .timer{min-width:calc(128 * var(--presentation-unit));font-size:calc(30 * var(--presentation-unit))}
 .game-shell .game-header .timer .icon{width:calc(29 * var(--presentation-unit));height:calc(29 * var(--presentation-unit))}
 .game-header .button.compact{min-height:calc(58 * var(--presentation-unit));padding:calc(12 * var(--presentation-unit)) calc(24 * var(--presentation-unit));font-size:calc(19 * var(--presentation-unit))}
 .game-main{max-width:calc(1840 * var(--presentation-unit));padding-right:calc(12 * var(--presentation-unit));padding-left:calc(12 * var(--presentation-unit))}
 .game-main>.page-heading{gap:calc(25 * var(--presentation-unit));margin:calc(20 * var(--presentation-unit)) 0 calc(18 * var(--presentation-unit))}
 .game-main>.page-heading .heading-symbol{width:calc(76 * var(--presentation-unit));height:calc(76 * var(--presentation-unit))}
 .game-main>.page-heading .heading-symbol .icon{width:calc(38 * var(--presentation-unit));height:calc(38 * var(--presentation-unit))}
 .game-main>.page-heading h1{font-size:calc(64 * var(--presentation-unit));line-height:1.04}
 .game-main>.page-heading p{margin-top:calc(6 * var(--presentation-unit));font-size:calc(28 * var(--presentation-unit));line-height:1.28}
 .game-footer{padding-top:calc(8 * var(--presentation-unit));padding-bottom:calc(7 * var(--presentation-unit));font-size:calc(12 * var(--presentation-unit))}
 .game-shell .game-footer{flex:0 0 calc(70 * var(--presentation-unit));min-height:calc(70 * var(--presentation-unit))}
 .footer-legal{font-size:calc(11 * var(--presentation-unit))}

 /* Presentación del caso e historia clínica. */
 .intro-screen{max-width:calc(1840 * var(--presentation-unit));padding:calc(12 * var(--presentation-unit)) calc(32 * var(--presentation-unit)) calc(60 * var(--presentation-unit))}
 .intro-screen .team-only-top{margin-bottom:calc(12 * var(--presentation-unit))}
 .intro-screen .team-pill{min-height:calc(70 * var(--presentation-unit));padding:calc(9 * var(--presentation-unit)) calc(18 * var(--presentation-unit));font-size:calc(20 * var(--presentation-unit))}
 .intro-screen .team-avatar-pill{width:calc(55 * var(--presentation-unit));height:calc(55 * var(--presentation-unit))}
 .intro-screen .intro-grid{max-width:calc(1710 * var(--presentation-unit))}
 .intro-screen .clinical-history-card{width:min(calc(1640 * var(--presentation-unit)),100%);padding:calc(10 * var(--presentation-unit))}
 .intro-screen .intro-wait-message{min-height:calc(39 * var(--presentation-unit));margin-top:calc(6 * var(--presentation-unit));font-size:calc(15 * var(--presentation-unit))}
 .history-modal{width:min(calc(1850 * var(--presentation-unit)),calc(100vw - calc(24 * var(--presentation-unit))));max-height:calc(100svh - calc(18 * var(--presentation-unit)));padding:calc(12 * var(--presentation-unit))}
 .history-modal-figure img{max-height:calc(100svh - calc(42 * var(--presentation-unit)))}
 .history-modal .modal-close{right:calc(22 * var(--presentation-unit));top:calc(22 * var(--presentation-unit));width:calc(58 * var(--presentation-unit));height:calc(58 * var(--presentation-unit))}
 .history-modal .modal-branding .brand-logo{bottom:max(calc(30 * var(--presentation-unit)),env(safe-area-inset-bottom));max-height:calc(34 * var(--presentation-unit))}
 .history-modal .modal-branding .brand-logo-jj{left:max(calc(28 * var(--presentation-unit)),env(safe-area-inset-left));width:calc(125 * var(--presentation-unit))}
 .history-modal .modal-branding .brand-logo-innovara{right:max(calc(28 * var(--presentation-unit)),env(safe-area-inset-right));width:calc(112 * var(--presentation-unit))}

 /* Prueba 1: selección de pruebas. */
 .stage-ordering{max-width:calc(1840 * var(--presentation-unit))}
 .stage-ordering>.page-heading{margin:calc(16 * var(--presentation-unit)) 0 calc(18 * var(--presentation-unit))}
 .stage-ordering>.page-heading .heading-symbol{width:calc(70 * var(--presentation-unit));height:calc(70 * var(--presentation-unit))}
 .stage-ordering>.page-heading h1{font-size:calc(64 * var(--presentation-unit))}
 .stage-ordering>.page-heading p{font-size:calc(28 * var(--presentation-unit))}
 .stage-ordering .selection-panel,
 .stage-ordering>.bottom-actions{max-width:calc(1800 * var(--presentation-unit))}
 .stage-ordering .selection-panel{padding:calc(25 * var(--presentation-unit)) calc(34 * var(--presentation-unit)) calc(30 * var(--presentation-unit))}
 .stage-ordering .ordering-brief{margin-bottom:calc(12 * var(--presentation-unit));padding:calc(12 * var(--presentation-unit)) calc(17 * var(--presentation-unit))}
 .stage-ordering .ordering-brief p{font-size:calc(24 * var(--presentation-unit));line-height:1.48}
 .stage-ordering .section-label{margin-bottom:calc(10 * var(--presentation-unit))}
 .stage-ordering .section-label strong{font-size:calc(18 * var(--presentation-unit))}
 .stage-ordering .selection-panel .section-label strong{font-size:calc(18 * var(--presentation-unit))}
 .stage-ordering .selection-panel .section-label>span{font-size:calc(16 * var(--presentation-unit))}
 .stage-ordering .section-label>span{font-size:calc(13 * var(--presentation-unit))}
 .stage-ordering .selection-counter{margin-bottom:calc(11 * var(--presentation-unit));padding:calc(10 * var(--presentation-unit)) calc(14 * var(--presentation-unit))}
 .stage-ordering .selection-counter strong{font-size:calc(20 * var(--presentation-unit))}
 .stage-ordering .selection-drag-layout{grid-template-columns:minmax(0,1.42fr) minmax(calc(480 * var(--presentation-unit)),1fr);gap:calc(22 * var(--presentation-unit));margin-bottom:calc(12 * var(--presentation-unit))}
 .stage-ordering .selection-bank,.stage-ordering .selection-targets{padding:calc(15 * var(--presentation-unit))}
 .stage-ordering .selection-zone-title strong{font-size:calc(21 * var(--presentation-unit))}
 .stage-ordering .selection-zone-title small{font-size:calc(12 * var(--presentation-unit))}
 .stage-ordering .selection-grid{gap:calc(8 * var(--presentation-unit))}
 .stage-ordering .selection-card{min-height:calc(70 * var(--presentation-unit));padding:calc(7 * var(--presentation-unit)) calc(11 * var(--presentation-unit))}
 .stage-ordering .selection-card strong{font-size:calc(20 * var(--presentation-unit));line-height:1.2}
 .stage-ordering .selection-card small{font-size:calc(11 * var(--presentation-unit))}
 .stage-ordering .selection-slot{min-height:calc(98 * var(--presentation-unit))}
 .stage-ordering .selection-slot .selection-card,
 .stage-ordering .selection-slot .selection-card:hover{min-height:calc(84 * var(--presentation-unit))}
 .stage-ordering .selection-placeholder{font-size:calc(18 * var(--presentation-unit))}
 .stage-ordering>.bottom-actions{margin-top:calc(12 * var(--presentation-unit))}
 .stage-ordering>.bottom-actions .button{min-height:calc(56 * var(--presentation-unit));font-size:calc(18 * var(--presentation-unit))}

 /* Prueba 2: sopa de dominios y su validación. */
 .stage-words{max-width:calc(1840 * var(--presentation-unit))}
 .stage-words>.page-heading{margin:calc(14 * var(--presentation-unit)) 0 calc(12 * var(--presentation-unit))}
 .stage-words>.page-heading .heading-symbol{width:calc(70 * var(--presentation-unit));height:calc(70 * var(--presentation-unit))}
 .stage-words>.page-heading h1{font-size:calc(64 * var(--presentation-unit))}
 .stage-words>.page-heading p{font-size:calc(28 * var(--presentation-unit))}
 .stage-words .word-brief{width:min(calc(1800 * var(--presentation-unit)),100%);margin-bottom:calc(12 * var(--presentation-unit));padding:calc(15 * var(--presentation-unit)) calc(22 * var(--presentation-unit))}
 .stage-words .word-brief p{font-size:calc(24 * var(--presentation-unit));line-height:1.45}
 .stage-words .words-layout{width:min(calc(1480 * var(--presentation-unit)),100%);grid-template-columns:minmax(0,1.55fr) minmax(calc(390 * var(--presentation-unit)),.9fr);gap:calc(18 * var(--presentation-unit))}
 .stage-words .word-board{padding:calc(17 * var(--presentation-unit))}
 .stage-words .word-grid{width:min(calc(100cqw - calc(42 * var(--presentation-unit))),calc(100cqh - calc(42 * var(--presentation-unit))));gap:calc(3 * var(--presentation-unit))}
 .stage-words .letter{font-size:calc(27 * var(--presentation-unit))}
 .stage-words .word-sidebar{padding:calc(23 * var(--presentation-unit)) calc(22 * var(--presentation-unit))}
 .stage-words .word-progress strong{font-size:calc(25 * var(--presentation-unit))}
 .stage-words .word-list{gap:calc(11 * var(--presentation-unit));margin:calc(20 * var(--presentation-unit)) 0 calc(17 * var(--presentation-unit))}
 .stage-words .word-item{min-height:calc(60 * var(--presentation-unit));padding:calc(10 * var(--presentation-unit)) calc(12 * var(--presentation-unit))}
 .stage-words .word-item strong{font-size:calc(21 * var(--presentation-unit))}
 .stage-words .word-item small{font-size:calc(10 * var(--presentation-unit))}
 .stage-words .word-check{width:calc(35 * var(--presentation-unit));height:calc(35 * var(--presentation-unit))}
 .stage-words .help-copy{font-size:calc(13 * var(--presentation-unit))}
 .stage-words .word-sidebar .button{min-height:calc(49 * var(--presentation-unit));font-size:calc(15 * var(--presentation-unit))}
 .stage-words .word-feedback{font-size:calc(13 * var(--presentation-unit))}
 .stage-words .word-validation-panel{width:min(calc(1420 * var(--presentation-unit)),100%);padding:calc(48 * var(--presentation-unit)) calc(58 * var(--presentation-unit))}
 .stage-words .word-validation-summary>.icon{width:calc(82 * var(--presentation-unit));height:calc(82 * var(--presentation-unit))}
 .stage-words .word-validation-summary h2{font-size:calc(50 * var(--presentation-unit))}
 .stage-words .word-validation-summary .eyebrow{font-size:calc(14 * var(--presentation-unit))}
 .stage-words .word-found-tags span{padding:calc(10 * var(--presentation-unit)) calc(17 * var(--presentation-unit));font-size:calc(14 * var(--presentation-unit))}
 .stage-words .word-validation-instruction{padding:calc(19 * var(--presentation-unit)) calc(24 * var(--presentation-unit));font-size:calc(24 * var(--presentation-unit));line-height:1.55}
 .stage-words .word-validation .answer-form>label{font-size:calc(24 * var(--presentation-unit))}
 .stage-words .word-validation .answer-form input{min-height:calc(64 * var(--presentation-unit));font-size:calc(22 * var(--presentation-unit))}
 .stage-words .word-validation .answer-actions .button.primary{min-height:calc(66 * var(--presentation-unit));font-size:calc(26 * var(--presentation-unit))}

 /* Prueba 3: radiografía interactiva. */
 .stage-radiograph{max-width:calc(1840 * var(--presentation-unit))}
 .stage-radiograph>.page-heading{margin:calc(13 * var(--presentation-unit)) 0 calc(11 * var(--presentation-unit))}
 .stage-radiograph>.page-heading .heading-symbol{width:calc(68 * var(--presentation-unit));height:calc(68 * var(--presentation-unit))}
 .stage-radiograph>.page-heading h1{font-size:calc(64 * var(--presentation-unit))}
 .stage-radiograph>.page-heading p{font-size:calc(28 * var(--presentation-unit))}
 .stage-radiograph .radiograph-brief{width:min(calc(1800 * var(--presentation-unit)),100%);margin-bottom:calc(10 * var(--presentation-unit));padding:calc(12 * var(--presentation-unit)) calc(19 * var(--presentation-unit))}
 .stage-radiograph .radiograph-brief p{font-size:calc(24 * var(--presentation-unit));line-height:1.45}
 .stage-radiograph .radio-game{width:min(calc(1800 * var(--presentation-unit)),100%);padding:calc(15 * var(--presentation-unit)) calc(18 * var(--presentation-unit)) calc(12 * var(--presentation-unit))}
 .stage-radiograph .radio-game>.radio-caption{margin:calc(9 * var(--presentation-unit)) calc(22 * var(--presentation-unit)) 0;font-size:calc(16 * var(--presentation-unit))}
 .stage-radiograph .radio-tabs .button,.stage-radiograph .radio-toolbar .button{min-height:calc(43 * var(--presentation-unit));padding:calc(8 * var(--presentation-unit)) calc(15 * var(--presentation-unit));font-size:calc(14 * var(--presentation-unit))}
 .stage-radiograph .radio-toolbar span{font-size:calc(13 * var(--presentation-unit))}
 .stage-radiograph .radio-toolbar{margin:calc(10 * var(--presentation-unit)) calc(22 * var(--presentation-unit)) calc(9 * var(--presentation-unit))}
 .stage-radiograph .radio-viewport{min-height:calc(420 * var(--presentation-unit));margin-inline:calc(22 * var(--presentation-unit))}
 .stage-radiograph .radio-game>.bottom-actions .button{min-height:calc(50 * var(--presentation-unit));font-size:calc(17 * var(--presentation-unit))}

 /* Prueba 4: interconsulta digestiva. */
 .stage-filter{max-width:calc(1840 * var(--presentation-unit))}
 .stage-filter>.page-heading{margin:calc(17 * var(--presentation-unit)) 0 calc(16 * var(--presentation-unit))}
 .stage-filter>.page-heading h1{font-size:calc(64 * var(--presentation-unit))}
 .stage-filter>.page-heading p{font-size:calc(28 * var(--presentation-unit))}
 .stage-filter .filter-task-layout{max-width:calc(1840 * var(--presentation-unit));grid-template-columns:minmax(0,1.5fr) minmax(calc(480 * var(--presentation-unit)),.9fr);gap:calc(30 * var(--presentation-unit));padding-bottom:calc(10 * var(--presentation-unit))}
 .stage-filter .physical-brief{min-height:calc(470 * var(--presentation-unit));padding:calc(38 * var(--presentation-unit)) calc(44 * var(--presentation-unit));gap:calc(34 * var(--presentation-unit))}
 .stage-filter .physical-brief>.icon{width:calc(46 * var(--presentation-unit));height:calc(46 * var(--presentation-unit))}
 .stage-filter .filter-brief-copy{gap:calc(54 * var(--presentation-unit))}
 .stage-filter .filter-brief-copy span{font-size:calc(25 * var(--presentation-unit));line-height:1.55}
 .stage-filter .filter-answer{min-height:calc(470 * var(--presentation-unit));padding:calc(38 * var(--presentation-unit)) calc(35 * var(--presentation-unit))}
 .stage-filter .filter-answer .answer-form>label{font-size:calc(25 * var(--presentation-unit));line-height:1.45}
 .stage-filter .filter-answer .input-shell input{min-height:calc(66 * var(--presentation-unit));font-size:calc(20 * var(--presentation-unit))}
 .stage-filter .filter-answer .answer-actions>.primary{min-height:calc(64 * var(--presentation-unit));font-size:calc(20 * var(--presentation-unit))}

 /* Prueba 5: cofre. */
 .stage-chest{max-width:calc(1840 * var(--presentation-unit))}
 .stage-chest>.page-heading{margin:calc(15 * var(--presentation-unit)) 0 calc(14 * var(--presentation-unit))}
 .stage-chest>.page-heading h1{font-size:calc(64 * var(--presentation-unit))}
 .stage-chest>.page-heading p{font-size:calc(28 * var(--presentation-unit))}
 .stage-chest .chest-layout{grid-template-columns:minmax(0,1.15fr) minmax(calc(520 * var(--presentation-unit)),.85fr);gap:calc(58 * var(--presentation-unit))}
 .stage-chest .chest-object{height:min(53vh,calc(570 * var(--presentation-unit)))}
 .stage-chest .combination{gap:calc(18 * var(--presentation-unit));padding:calc(13 * var(--presentation-unit)) calc(24 * var(--presentation-unit))}
 .stage-chest .digit-control{width:calc(72 * var(--presentation-unit))}
 .stage-chest .digit{min-width:calc(60 * var(--presentation-unit));font-size:calc(42 * var(--presentation-unit))}
 .stage-chest .digit-arrow{width:calc(59 * var(--presentation-unit));height:calc(40 * var(--presentation-unit))}
 .stage-chest .chest-panel{padding:calc(42 * var(--presentation-unit))}
 .stage-chest .chest-panel .eyebrow{font-size:calc(14 * var(--presentation-unit))}
 .stage-chest .chest-panel h2{font-size:calc(36 * var(--presentation-unit))}
 .stage-chest .chest-clue{padding:calc(25 * var(--presentation-unit))}
 .stage-chest .chest-clue p{font-size:calc(25 * var(--presentation-unit));line-height:1.5}
 .stage-chest .chest-panel .help-copy{font-size:calc(15 * var(--presentation-unit))}
 .stage-chest .chest-panel .button.primary{min-height:calc(66 * var(--presentation-unit));font-size:calc(20 * var(--presentation-unit))}

 /* Debates y documentos: imágenes más grandes y textos auxiliares legibles. */
 .discussion-screen,.ultrasound-result-screen{max-width:calc(1840 * var(--presentation-unit))}
 .discussion-screen>.page-heading,.ultrasound-result-screen>.page-heading{margin:calc(14 * var(--presentation-unit)) 0 calc(12 * var(--presentation-unit))}
 .discussion-screen>.page-heading .heading-symbol,.ultrasound-result-screen>.page-heading .heading-symbol{width:calc(74 * var(--presentation-unit));height:calc(74 * var(--presentation-unit))}
 .discussion-screen>.page-heading h1,.ultrasound-result-screen>.page-heading h1{font-size:calc(64 * var(--presentation-unit))}
 .discussion-screen>.page-heading p,.ultrasound-result-screen>.page-heading p{font-size:calc(28 * var(--presentation-unit))}
 .discussion-screen .discussion-media{max-width:calc(1800 * var(--presentation-unit));padding:calc(15 * var(--presentation-unit))}
 .ultrasound-result-screen .result-ultrasound{max-width:calc(1800 * var(--presentation-unit));padding:calc(15 * var(--presentation-unit))}
 .discussion-screen .discussion-reference{padding-top:calc(10 * var(--presentation-unit));font-size:calc(14 * var(--presentation-unit))}
 .discussion-screen .discussion-wait-message{min-height:calc(45 * var(--presentation-unit));font-size:calc(16 * var(--presentation-unit))}
 .discussion-screen .clinical-report-wait{font-size:calc(16 * var(--presentation-unit))}
 .discussion-screen:has(.discussion-text),
 .discussion-screen:has(.discussion-clinical-report){max-width:calc(1840 * var(--presentation-unit))}
 .discussion-screen:has(.discussion-text)>.page-heading,
 .discussion-screen:has(.discussion-clinical-report)>.page-heading{margin:calc(16 * var(--presentation-unit)) 0 calc(14 * var(--presentation-unit))}
 .discussion-screen .discussion-text{width:min(calc(1800 * var(--presentation-unit)),100%);max-width:calc(1800 * var(--presentation-unit));min-height:calc(470 * var(--presentation-unit));padding:calc(62 * var(--presentation-unit)) calc(72 * var(--presentation-unit)) calc(54 * var(--presentation-unit))}
 .discussion-screen .discussion-text h2{font-size:calc(50 * var(--presentation-unit))}
 .discussion-screen .discussion-text p{max-width:calc(1260 * var(--presentation-unit));font-size:calc(24 * var(--presentation-unit));line-height:1.65}
 .discussion-text-icon{right:calc(70 * var(--presentation-unit));top:calc(52 * var(--presentation-unit));width:calc(110 * var(--presentation-unit));height:calc(110 * var(--presentation-unit))}
 .discussion-screen .discussion-clinical-report{padding:calc(24 * var(--presentation-unit)) calc(32 * var(--presentation-unit)) calc(20 * var(--presentation-unit))}
 .discussion-report-screen{max-width:calc(1800 * var(--presentation-unit));padding:calc(18 * var(--presentation-unit)) calc(16 * var(--presentation-unit)) calc(5 * var(--presentation-unit))}
 .dermatology-report{padding:calc(38 * var(--presentation-unit)) calc(58 * var(--presentation-unit)) calc(28 * var(--presentation-unit))}
 .dermatology-report-body p{max-width:calc(1200 * var(--presentation-unit));font-size:calc(29 * var(--presentation-unit))}
 .dermatology-debate-moment{min-height:calc(105 * var(--presentation-unit))}
 .dermatology-debate-moment h2{font-size:calc(30 * var(--presentation-unit))}
 .dermatology-debate-moment p{font-size:calc(16 * var(--presentation-unit))}

 /* Aviso clínico, puntuación y estado de espera. */
 .discussion-alert-screen{max-width:calc(1800 * var(--presentation-unit));padding:calc(20 * var(--presentation-unit))}
 .discussion-alert-card{width:min(calc(1080 * var(--presentation-unit)),100%);min-height:min(66vh,calc(650 * var(--presentation-unit)));padding:calc(62 * var(--presentation-unit)) calc(90 * var(--presentation-unit))}
 .discussion-alert-icon{width:calc(132 * var(--presentation-unit));height:calc(132 * var(--presentation-unit))}
 .discussion-alert-card .eyebrow{font-size:calc(17 * var(--presentation-unit))}
 .discussion-alert-card>strong{max-width:calc(850 * var(--presentation-unit));font-size:calc(68 * var(--presentation-unit))}
 .discussion-alert-prompt{width:min(calc(620 * var(--presentation-unit)),100%);min-height:calc(68 * var(--presentation-unit));font-size:calc(20 * var(--presentation-unit))}
 .score-reveal-card{width:min(calc(920 * var(--presentation-unit)),100%);padding:calc(62 * var(--presentation-unit)) calc(82 * var(--presentation-unit))}
 .score-reveal-icon{width:calc(118 * var(--presentation-unit));height:calc(118 * var(--presentation-unit))}
 .score-reveal-card .eyebrow{font-size:calc(17 * var(--presentation-unit))}
 .score-reveal-card h1{font-size:calc(122 * var(--presentation-unit))}
 .score-reveal-card>p{font-size:calc(20 * var(--presentation-unit))}
 .score-reveal-total{padding:calc(22 * var(--presentation-unit)) calc(26 * var(--presentation-unit));font-size:calc(20 * var(--presentation-unit))}
 .score-reveal-total strong{font-size:calc(31 * var(--presentation-unit))}
 .waiting-screen{max-width:calc(1840 * var(--presentation-unit))}
 .waiting-screen>.page-heading{margin:calc(25 * var(--presentation-unit)) 0 calc(22 * var(--presentation-unit))}
 .waiting-screen>.page-heading h1{font-size:calc(64 * var(--presentation-unit))}
 .waiting-screen>.page-heading p{font-size:calc(28 * var(--presentation-unit))}
 .waiting-screen>.result-content{min-height:calc(410 * var(--presentation-unit));padding:calc(48 * var(--presentation-unit)) calc(55 * var(--presentation-unit))}
 .waiting-screen>.result-content>.round-icon{width:calc(86 * var(--presentation-unit));height:calc(86 * var(--presentation-unit))}
 .waiting-screen>.result-content h2{font-size:calc(36 * var(--presentation-unit))}
 .waiting-screen>.result-content>p{font-size:calc(20 * var(--presentation-unit))}
 .waiting-screen>.result-content>.success-note{font-size:calc(17 * var(--presentation-unit))}

 /* Cierre: tarjetas, hallazgos y métricas aprovechan todo el ancho. */
 .final-screen{max-width:calc(1840 * var(--presentation-unit));padding-right:calc(8 * var(--presentation-unit));padding-left:calc(8 * var(--presentation-unit))}
 .final-screen>.page-heading{margin:calc(8 * var(--presentation-unit)) 0 calc(7 * var(--presentation-unit))}
 .final-screen>.page-heading h1{font-size:calc(72 * var(--presentation-unit))}
 .final-screen.completed>.page-heading p{font-size:calc(30 * var(--presentation-unit))}
 .final-screen .precision-intro{margin:calc(8 * var(--presentation-unit)) 0 calc(12 * var(--presentation-unit));font-size:calc(21 * var(--presentation-unit))}
 .final-screen .precision-profile{gap:calc(14 * var(--presentation-unit));margin-bottom:calc(14 * var(--presentation-unit))}
 .final-screen .precision-profile article{min-height:calc(106 * var(--presentation-unit));padding:calc(16 * var(--presentation-unit)) calc(22 * var(--presentation-unit))}
 .final-screen .precision-profile article>.icon{width:calc(38 * var(--presentation-unit));height:calc(38 * var(--presentation-unit))}
 .final-screen .precision-profile h3{font-size:calc(24 * var(--presentation-unit))}
 .final-screen .precision-profile p{font-size:calc(19 * var(--presentation-unit))}
 .final-screen .final-journey{padding:calc(17 * var(--presentation-unit))}
 .final-screen .final-stage-grid{gap:calc(13 * var(--presentation-unit))}
 .final-screen .final-stage-card{min-height:calc(215 * var(--presentation-unit));padding:calc(16 * var(--presentation-unit))}
 .final-screen .final-stage-title{min-height:calc(52 * var(--presentation-unit))}
 .final-screen .final-stage-title strong{font-size:calc(19 * var(--presentation-unit))}
 .final-screen .final-stage-card small{font-size:calc(14 * var(--presentation-unit))}
 .final-screen .final-stage-card p{font-size:calc(17 * var(--presentation-unit))}
 .final-screen .final-journey .final-stats{min-height:calc(82 * var(--presentation-unit));margin-top:calc(13 * var(--presentation-unit));padding:calc(12 * var(--presentation-unit)) calc(20 * var(--presentation-unit))}
 .final-screen .final-team{font-size:calc(21 * var(--presentation-unit))}
 .final-screen .final-stats p{font-size:calc(13 * var(--presentation-unit))}
 .final-screen .final-journey .final-stats b{font-size:calc(32 * var(--presentation-unit))}

 /* Portada: título y configurador crecen con la misma escala. */
 .welcome-with-avatar{grid-template-columns:minmax(0,1fr) minmax(0,calc(1120 * var(--presentation-unit)))}
 .welcome-with-avatar .hero-heading{margin-top:calc(12 * var(--presentation-unit))}
 .welcome-with-avatar .hero-heading .eyebrow{margin-bottom:calc(24 * var(--presentation-unit));font-size:calc(18 * var(--presentation-unit));transform:none}
 .welcome-with-avatar .hero-heading h1{font-size:calc(100 * var(--presentation-unit));line-height:1.05}
 .welcome-with-avatar .hero-heading p{margin-top:calc(12 * var(--presentation-unit));font-size:calc(27 * var(--presentation-unit));line-height:1.3}
 .welcome-with-avatar .teal-rule{display:none}
 .welcome-with-avatar .entry-form{width:100%;max-width:100%;padding:calc(24 * var(--presentation-unit))}
 .welcome-with-avatar .entry-form>label{font-size:calc(22 * var(--presentation-unit))}
 .welcome-with-avatar .entry-field input{min-height:calc(70 * var(--presentation-unit));font-size:calc(26 * var(--presentation-unit))}
 .welcome-with-avatar .avatar-builder{grid-template-columns:calc(190 * var(--presentation-unit)) minmax(0,1fr);gap:calc(24 * var(--presentation-unit));padding:calc(22 * var(--presentation-unit))}
 .welcome-with-avatar .team-avatar-preview{width:calc(135 * var(--presentation-unit));height:calc(135 * var(--presentation-unit))}
 .welcome-with-avatar .avatar-rule{font-size:calc(20 * var(--presentation-unit))}
 .welcome-with-avatar .avatar-choice-group legend{font-size:calc(19 * var(--presentation-unit))}
 .welcome-with-avatar .color-choice>span:last-child{font-size:calc(14 * var(--presentation-unit))}
 .welcome-with-avatar .trait-choice{min-height:calc(64 * var(--presentation-unit))}
 .welcome-with-avatar .trait-choice span{font-size:calc(17 * var(--presentation-unit))!important}
 .welcome-with-avatar .avatar-preview small,.welcome-with-avatar .avatar-status{font-size:calc(15 * var(--presentation-unit))}
 .welcome-with-avatar .avatar-actions .button{font-size:calc(19 * var(--presentation-unit))}
 .welcome-with-avatar .entry-form>.button.primary{min-height:calc(74 * var(--presentation-unit));font-size:calc(26 * var(--presentation-unit))}
}

/* Stroke these rounded contours with outlines instead of painted borders.
   Keep the transparent border for layout; avoid corner seams in accelerated rendering. */
:is(.stage-words .word-brief,.stage-radiograph .radiograph-brief,
    .stage-words .word-check,.stage-words .word-found-tags>span,
    .stage-chest .digit,.stage-chest .digit-arrow,.stage-chest .chest-clue,
    .stage-ordering .selection-panel,.final-screen .final-journey .final-stats,
    .discussion-alert-icon){
 border-color:transparent!important;
 outline:var(--rounded-contour-width,1px) solid var(--rounded-contour,#00cfff);
 outline-offset:calc(-1 * var(--rounded-contour-width,1px));
}
.stage-words .word-check{--rounded-contour:#146ac0}
.stage-words .word-item.found .word-check{--rounded-contour:#58f6ff}
.stage-words .word-item.found.found-tone-2 .word-check{--rounded-contour:#ff7ff2}
.stage-words .word-item.found.found-tone-3 .word-check{--rounded-contour:#ffe16b}
.stage-words .word-item.found.found-tone-4 .word-check{--rounded-contour:#6fffe9}
.stage-words .word-found-tags>span{--rounded-contour:#26dff1}
.stage-words .word-found-tags>span.found-tone-2{--rounded-contour:#ff4be4}
.stage-words .word-found-tags>span.found-tone-3{--rounded-contour:#ffd64e}
.stage-words .word-found-tags>span.found-tone-4{--rounded-contour:#38f7dc}
.stage-chest .digit{--rounded-contour:#25ddf0}
.stage-chest .digit-arrow{--rounded-contour:#28dff2}
.stage-chest .chest-clue{--rounded-contour:#33dff2}
.stage-ordering .selection-panel{--rounded-contour:#00dfff}
.final-screen .final-journey .final-stats{--rounded-contour:#20dcff}
.discussion-alert-icon{--rounded-contour:#74fbff;--rounded-contour-width:3px}
.stage-words .word-validation .answer-form input{--rounded-contour:#47dff3}
.stage-filter .filter-answer .input-shell input{--rounded-contour:#33dff2}
.stage-chest .digit-arrow:focus-visible{outline:3px solid #57f3ff;outline-offset:4px}
/* SVG strokes avoid the corner seams that also affect CSS focus outlines. */
.game-main .input-shell{position:relative}
.game-main .input-shell input{border-color:transparent!important;outline:none!important}
.input-contour{position:absolute;left:1px;top:1px;width:calc(100% - 2px);height:calc(100% - 2px);overflow:visible;pointer-events:none;fill:none;stroke:#47dff3;stroke-width:1}
.stage-filter .input-contour{stroke:#33dff2}
.input-shell:focus-within .input-contour{left:-4px;top:-4px;width:calc(100% + 8px);height:calc(100% + 8px);stroke:#57f3ff;stroke-width:3}
.input-shell:focus-within .input-contour rect{rx:12px}
.final-screen .final-stage-card>header>span{position:relative;border-color:transparent!important;outline:none;box-shadow:none}
.step-contour{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);pointer-events:none;fill:none;stroke:#51f4ff;stroke-width:1;filter:drop-shadow(0 0 4px #00dfff)}

/* The record keeps a full-height document viewport and separate controls/logos. */
.history-modal[open]:has(.clinical-record){display:flex;flex-direction:column;width:min(1820px,calc(100vw - 36px));height:calc(100svh - 28px);max-height:calc(100svh - 28px);padding:24px}
.clinical-record{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;min-height:0;gap:12px}
.clinical-record-tabs{display:flex;flex-wrap:wrap;gap:10px;padding-right:70px}
.clinical-record-tabs button{min-height:48px;padding:10px 20px;border:1px solid #247eb3;border-radius:8px;background:#07183f;color:#c8e4f4;font:700 19px var(--sans)}
.clinical-record-tabs button[aria-selected="true"]{background:#104c75;color:#fff;border-color:#47efff;box-shadow:0 0 12px #00dfff40}
.clinical-record-tabs button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.clinical-record-toolbar{display:flex;align-items:center;gap:18px;color:#b8d9ec;font-size:17px}
.clinical-record-toolbar .button{font-size:18px;min-height:44px}
.history-modal .clinical-record-toolbar .button{color:#fff;background:linear-gradient(110deg,#087ba4,#0d3b73);border:1px solid #47efff;box-shadow:0 0 10px #00dfff35}
.history-modal .clinical-record-toolbar .button:hover{background:linear-gradient(110deg,#0b92bd,#15508a)}
.clinical-record-viewport{flex:1;min-height:0;overflow:auto;border-radius:6px;background:#04112d;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.clinical-record .history-modal-figure{border:0;box-shadow:none;background:none;min-height:100%;height:100%;width:100%;padding:0;margin:0}
.clinical-record .history-modal-figure img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;border-radius:0}
.clinical-record-viewport.document-expanded .history-modal-figure{height:auto;min-width:1500px}
.clinical-record-viewport.document-expanded .history-modal-figure img{height:auto}
.history-modal:has(.clinical-record) .modal-branding{position:relative;inset:auto;display:flex;flex:none;justify-content:space-between;align-items:center;height:52px;padding:12px 8px 0;z-index:1}
.history-modal:has(.clinical-record) .modal-branding .brand-logo{position:static;max-height:36px;width:auto}
.history-modal:has(.clinical-record) .modal-branding .brand-logo-jj{width:150px}
.history-modal:has(.clinical-record) .modal-branding .brand-logo-innovara{width:130px}
.stage-chest .chest-clue-copy{min-width:0}
.stage-chest .chest-clue .chest-reference{font-size:17px;line-height:1.4;font-style:normal;margin-top:16px;color:#c5def1}
.chest-confetti{position:fixed;inset:0;width:100vw;height:100vh;z-index:10000;pointer-events:none}

