[hidden]{display:none!important}:root{--ink:#163f4b;--muted:#58737a;--green:#0e6572;--paper:#f3f8f5;--panel:#fff;--line:#cbdedb;--mint:#b6f0d5;--gold:#f4cc82;font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,.portal,.import-button{min-height:44px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);padding:9px 13px;cursor:pointer;font-weight:700}button:hover,.import-button:hover{background:#e6f5ed;border-color:var(--green)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b47b1c;outline-offset:3px}a{color:var(--green)}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#114752;color:white}input,select,textarea{color:var(--ink);border:1px solid #9bb9b8;border-radius:10px;min-height:44px;padding:10px;width:100%;min-width:0;background:white}textarea{resize:vertical;min-height:94px}label{font-size:14px;font-weight:700;display:block}label input,label select,label textarea{margin-top:6px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(34px,4.2vw,60px);line-height:1.07;letter-spacing:-1.5px}h2{font-size:26px;line-height:1.2;margin-bottom:0}h3{font-size:19px}p{margin-bottom:16px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 4vw;gap:14px;border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:850;text-decoration:none;color:var(--ink)}.brand small{display:block;font-size:9px;letter-spacing:1px}.tools{display:flex;gap:7px;align-items:center}.portal{text-decoration:none}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:14px}.skip:focus{top:10px}main{max-width:1360px;margin:auto;padding:32px 4vw}.welcome{display:grid;grid-template-columns:1.05fr 1fr;gap:30px;align-items:center}.welcome h1 span{color:var(--green)}.intro-copy{font-size:18px;color:var(--muted);max-width:570px}.eyebrow{font-size:11px;font-weight:850;letter-spacing:1.3px;color:var(--green);margin-bottom:8px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.tags span{font-size:12px;padding:5px 12px;border-radius:30px;background:#e0efea}.cover{width:100%;max-height:600px}#team-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:560px}#team-form button{grid-column:1/-1}.small{font-size:12px;color:var(--muted)}#resume-copy{font-size:13px;color:var(--green);margin:10px 0}.welcome-bottom{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-top:1px solid var(--line);padding-top:22px}.welcome-bottom b{font-size:11px;letter-spacing:1px}.welcome-bottom p{font-size:14px;color:var(--muted);margin-top:8px}.lab-heading{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:15px}.lab-heading h1{font-size:28px;margin:0;letter-spacing:-.5px}.saved{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--green)}.saved button{font-size:12px}.role-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;background:#e1f0e9;border:1px solid var(--line);padding:10px 14px;border-radius:14px;margin-bottom:15px}#role-copy{font-size:12px;color:var(--muted)}#steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}#steps button{font-size:13px;padding:10px 4px}#steps .current{background:var(--ink);color:white;border-color:var(--ink)}.lab-grid{display:grid;grid-template-columns:minmax(250px,.82fr) minmax(0,1.18fr);gap:24px;align-items:start}.bench{background:#e4f1ef;border:1px solid var(--line);border-radius:22px;padding:18px;position:sticky;top:18px;overflow:hidden}.panel-label{display:flex;justify-content:space-between;gap:8px;font-size:10px;font-weight:850;letter-spacing:1px;margin-bottom:10px}.filter-scene{display:grid;grid-template-columns:minmax(0,1fr) 80px;align-items:center;gap:12px;max-width:350px;margin:auto}.column{padding:12px 15px;background:linear-gradient(90deg,#b1d1d655,#fff9,#b1d1d655);border:3px solid #6197a6;border-radius:30px 30px 75px 75px;position:relative}.water{background:#98c8d277;border:1px solid #5d9caf88;border-radius:10px;text-align:center;font-size:11px;padding:10px 5px;color:#184c5b}.water b{display:block;font-size:15px}.layer-visual{border-radius:5px;margin:4px 0;padding:7px 8px;font-size:12px;font-weight:750;color:#15333e;border:1px solid #1a3f4b35;background:var(--layer);background-image:radial-gradient(#152d3544 15%,transparent 19%);background-size:12px 12px;min-height:calc(var(--cm)*10px + 12px);display:flex;justify-content:space-between;align-items:center;gap:4px;text-shadow:0 1px 1px #fff8}.layer-visual.dark{color:white;text-shadow:none}.cloth{background:repeating-linear-gradient(90deg,#f6faf8 0 5px,#c4d1ce 5px 7px);border:1px solid #90aaa4;border-radius:6px;text-align:center;font-size:11px;padding:5px}.arrow-water{text-align:center;color:var(--green);font-size:23px;line-height:1.3}.cup{border:3px solid #6197a6;border-top:0;border-radius:0 0 14px 14px;max-width:200px;margin:8px auto;padding:8px;background:#f7ffff88}.cup .water{min-height:64px}.ruler{height:240px;border-left:2px solid #7c9da0;padding-left:8px;display:flex;flex-direction:column;justify-content:space-between;font-size:11px;color:var(--muted)}.ruler strong{font-size:22px;color:var(--ink)}.scene-caption{text-align:center;font-size:12px;margin:10px 0}.science-note{font-size:12px;padding:12px;background:#fff6db;border:1px solid #e1c176;border-radius:12px;margin:15px 0 10px}.meter-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.meter-grid div{background:#ffffffb3;border-radius:10px;padding:10px}.meter-grid span{display:block;font-size:10px;color:var(--muted)}.meter-grid b{font-size:19px}.pending{font-size:13px;text-align:center;color:var(--muted);margin-top:15px}.work-panel{background:white;border:1px solid var(--line);border-radius:22px;padding:24px;min-width:0}.task-header{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:12px}.task-header button{font-size:12px;white-space:nowrap}.task-header .eyebrow{font-size:10px;margin-bottom:4px}.task-copy{font-size:14px;color:var(--muted)}.layer-card{border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px;background:#fbfdfa}.layer-card header{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px}.layer-card .order{display:flex;gap:5px}.order button{width:44px;padding:0;font-size:19px}.layer-fields{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:10px;align-items:end}.layer-fields label{font-size:12px}.quantity{display:grid;grid-template-columns:44px 44px 44px;gap:3px;align-items:center}.quantity button{padding:0;font-size:23px}.quantity output{text-align:center;font-weight:850;font-size:18px}.material-hint{font-size:12px;color:var(--muted);margin:8px 0 0}.cost-strip{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px;background:#eaf3ed;border-radius:12px;padding:12px;margin:15px 0}.cost-strip.over{background:#fff0da;color:#805423}.fixed-layer{font-size:12px;color:var(--muted);margin:12px 0}.sample-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.sample-controls label{font-size:13px}.prediction{margin-top:18px}.prediction textarea{min-height:80px}.feedback{font-size:14px;padding:12px;border-left:4px solid #c79536;border-radius:10px;background:#fff4d6;margin:18px 0 0}.feedback.success{background:#e2f4e8;border-color:#368566;color:#1d5c43}.work-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.work-footer span{font-size:12px;color:var(--muted)}.lab-footer{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.import-button{display:inline-flex;align-items:center;font-size:14px}.site-footer{text-align:center;padding:25px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}.result-title{font-size:17px;margin:18px 0 8px}.data-strip{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px}.data-strip div{border:1px solid var(--line);border-radius:10px;padding:10px;font-size:12px}.data-strip b{display:block;font-size:18px}.calculation{background:#eff6f2;border-radius:14px;padding:16px;margin-top:15px}.calculation h3{font-size:18px;margin:6px 0 12px}.formula{font-size:13px;margin:10px 0;color:var(--green)}.entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.entry label{font-size:13px}.calculation .nav{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-top:12px;font-size:12px}.input-unit{display:flex;align-items:center;gap:6px}.input-unit span{font-size:13px;white-space:nowrap}.trial-buttons{display:flex;flex-wrap:wrap;gap:6px}.trial-buttons button[aria-pressed=true]{background:#daf2e8;border-color:var(--green)}.trials{display:grid;gap:12px}.trial-card{border:1px solid var(--line);border-radius:14px;padding:14px}.trial-card h3{margin-bottom:7px;font-size:17px}.trial-card .actions{display:flex;gap:6px;flex-wrap:wrap}.trial-card[aria-selected=true]{border:2px solid var(--green);background:#f3faf4}.comparison{padding:15px;border-radius:14px;background:#eaf3ed;margin-bottom:18px}.comparison p{font-size:13px;margin:10px 0}.table-wrap{overflow:auto;max-width:100%;margin:15px 0}table{border-collapse:collapse;font-size:12px;width:100%;text-align:left}th,td{padding:9px;border-bottom:1px solid var(--line);vertical-align:top}caption{text-align:left;margin-bottom:8px;font-size:13px;font-weight:750}.bars{display:grid;gap:6px;margin:12px 0}.bar{display:grid;grid-template-columns:65px 1fr 60px;gap:8px;align-items:center;font-size:12px}.bar i{display:block;height:14px;background:var(--green);border-radius:5px}.bar .track{background:#d5e4df;border-radius:5px}.bar:nth-child(2) i{background:#b27b26}.bar-label{font-size:13px;font-weight:750;margin:12px 0 3px}.reflection-form{display:grid;gap:18px}.reflection-form label{font-size:14px}.note{white-space:pre-wrap}.detail-toggle{margin-top:12px}details summary{cursor:pointer;min-height:44px;padding:10px;font-size:13px;font-weight:750}.running .arrow-water{animation:drip .55s linear infinite}.running .water{animation:ripple .8s ease-in-out infinite alternate}@keyframes drip{50%{transform:translateY(5px);opacity:.6}}@keyframes ripple{to{background-color:#69b4c488}}dialog{width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border:1px solid var(--line);border-radius:20px;padding:24px;color:var(--ink);background:white;overflow:auto}dialog::backdrop{background:#092c3caa;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:18px}.dialog-head h2{font-size:24px}.dialog-head button{font-size:24px;min-width:44px;padding:2px}.guide-copy p{font-size:14px}.report-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}#example-copy p{font-size:15px}.example-eq{padding:16px;background:#e4f3ec;border-radius:12px}.report-section{margin-top:22px}.fullscreen-exit{position:sticky;top:6px;float:right;z-index:30;background:#fffef6;box-shadow:0 4px 15px #1236}#lab:fullscreen{overflow:auto;background:var(--paper);padding:20px max(18px,env(safe-area-inset-right)) 35px max(18px,env(safe-area-inset-left));height:100%;width:100%}.expanded main{max-width:none;padding:16px max(14px,env(safe-area-inset-right)) 30px max(14px,env(safe-area-inset-left))}.expanded .site-footer{display:none}.expanded .topbar{padding:8px 14px}.expanded .topbar .portal,.expanded .brand small{display:none}.expanded #fullscreen span{display:none}@media(max-width:900px){.saved{flex-wrap:wrap;justify-content:flex-end}.lab-grid{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:14px}.work-panel{padding:18px}.bench{padding:14px}.layer-fields{grid-template-columns:1fr}.quantity{grid-template-columns:44px 1fr 44px}.layer-fields select{width:100%}}@media(max-width:730px){main{padding:22px 14px}.topbar{padding:12px 14px}.brand{font-size:20px}.brand small{font-size:8px}.tools{gap:5px}.tools #fullscreen span,.tools .portal{display:none}.tools button{padding:8px 11px}.welcome{grid-template-columns:1fr;gap:22px}.welcome .cover{grid-row:2;max-height:350px}.welcome-bottom{grid-template-columns:1fr;gap:8px}.welcome-bottom p{margin-bottom:8px}h1{font-size:36px}.lab-heading{align-items:start}.lab-heading h1{font-size:24px}.saved{max-width:140px;font-size:10px}.saved button{font-size:11px;padding:8px}.lab-heading .eyebrow{font-size:9px}.role-bar{padding:10px;font-size:12px}.role-bar #role-copy{display:block}#steps{gap:5px}#steps button{font-size:12px}#steps button span{display:block}.lab-grid{display:flex;flex-direction:column;gap:16px}.bench{position:static;width:100%;padding:14px}.work-panel{width:100%;padding:18px}.filter-scene{grid-template-columns:1fr 65px;max-width:280px}.column{padding:9px 12px}.layer-visual{min-height:calc(var(--cm)*7px + 12px);padding:5px 7px}.water{padding:6px}.cup .water{min-height:46px}.ruler{height:180px}.science-note{margin:10px 0 7px}.bench .small{margin-bottom:0}.meter-grid{grid-template-columns:repeat(2,1fr)}.task-header h2{font-size:23px}.task-header{gap:8px}.task-header button{padding:8px;font-size:11px}.layer-fields{grid-template-columns:minmax(0,1fr) auto;gap:8px}.quantity{grid-template-columns:44px 34px 44px}.sample-controls{grid-template-columns:1fr}.work-footer{align-items:start}.work-footer span{max-width:90px}.entry{grid-template-columns:1fr}.entry button{width:100%}.saved #saved-state{flex-basis:100%;text-align:right}.table-wrap{font-size:11px}dialog{padding:18px}.site-footer{padding:20px 15px}#team-form{grid-template-columns:1fr}#lab:fullscreen{padding:14px 14px 30px}.welcome h1{font-size:35px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}@media print{body>*{display:none!important}body #report-dialog{display:block!important;position:static;width:100%;max-height:none;border:0;padding:0;overflow:visible}#report-dialog .dialog-head button,.report-actions{display:none}table{break-inside:auto}tr{break-inside:avoid}.note{white-space:pre-wrap}#report-dialog h2{font-size:24px}}

/* Mantener legibles los campos de entrada en pantallas táctiles. */
input,select,textarea{font-size:16px}
.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}

.grade-summary{display:flex;gap:6px 16px;flex-wrap:wrap;padding:12px 15px;border:1px solid var(--line,#cbdedb);border-radius:14px;background:#e8f2ea;margin:-6px 0 18px;font-size:13px;color:var(--ink,#163f4b)}.grade-summary span{font-size:12px}.grade-preview{font-size:13px;color:var(--green,#0e6572);margin:12px 0}.grade-task{border:1px solid #8fb7a6;background:#eef7ee;border-radius:16px;padding:18px;margin:0 0 22px}.grade-task h3{font-size:21px;line-height:1.25;margin:5px 0 13px}.grade-task p{font-size:14px}.grade-given{background:white;border-radius:10px;padding:12px;white-space:pre-line}.grade-entry{display:flex;align-items:center;gap:8px;margin:7px 0 10px}.grade-entry input{font-size:16px!important;min-width:0;flex:1}.grade-entry span{font-size:13px;white-space:nowrap}.grade-entry button{min-width:44px;padding:8px}.grade-task>button{width:100%;min-height:44px}.grade-help{margin:10px 0}.grade-help summary{min-height:44px;cursor:pointer;padding:10px;font-size:13px;font-weight:750}.grade-help ol{padding-left:24px;font-size:13px}.grade-help li{margin:7px 0}.grade-nav{display:flex;justify-content:space-between;gap:8px;align-items:center}.grade-nav button{min-height:44px}.grade-task #grade-status{font-size:13px;margin:12px 0 0}.grade-report{margin-top:26px}.grade-report p{white-space:pre-line}#grade-example-dialog{max-height:calc(100dvh - 24px);overflow:auto}@media(max-width:730px){.grade-task{padding:14px}.grade-summary{display:block}.grade-summary span{display:block;margin-top:4px}.grade-entry{flex-wrap:wrap}.grade-entry input{width:50%}.grade-nav button{font-size:12px;padding:9px}.grade-task h3{font-size:20px}}@media print{.grade-task,.grade-summary,.grade-preview{display:none}.grade-report{display:block}}

input,select,textarea{font-size:16px}
