.labsync-root{box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:0 auto;padding:clamp(.5rem,2vw,1.25rem);padding-bottom:clamp(1rem,3vw,2rem);font-family:Montserrat,sans-serif;color:#1a1a2e;font-weight:500;list-style:none}.labsync-root.labsync-root--fill-viewport{min-height:100vh;min-height:100dvh;padding-top:max(clamp(.5rem,2vw,1.25rem),env(safe-area-inset-top,0px));padding-bottom:max(clamp(1rem,3vw,2rem),env(safe-area-inset-bottom,0px))}body:has(#labsync-root.labsync-root--fill-viewport){margin:0}html:has(#labsync-root.labsync-root--fill-viewport){height:100%}.labsync-root *,.labsync-root *:before,.labsync-root *:after{box-sizing:border-box}.labsync-inner{width:100%;max-width:100%;min-width:0;background:#fffffff0;border-radius:clamp(10px,2vw,16px);padding:clamp(1rem,3vw,1.75rem) clamp(1rem,2.5vw,1.5rem) clamp(1.25rem,3vw,2rem);box-shadow:0 8px 32px #1a1a2e1f;border:1px solid rgba(238,118,58,.2)}.labsync-debug-panel{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;margin-bottom:.75rem;padding:.5rem .75rem;background:#0f172a;color:#e2e8f0;border-radius:8px;font-size:.8rem;position:relative;z-index:100}.labsync-debug-panel__label{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;color:inherit;font-weight:600}.labsync-debug-panel__select{min-width:min(280px,85vw);max-width:100%;padding:.35rem .5rem;border-radius:6px;border:1px solid #334155;background:#1e293b;color:#f8fafc;font:inherit}.labsync-debug-panel__hint{flex:1 1 100%;opacity:.95;font-size:.75rem;font-weight:500}.labsync-screen{display:none;margin-bottom:1.35rem;padding-bottom:1.35rem;border-bottom:1px solid rgba(26,26,46,.08);scroll-margin-top:1rem}.labsync-screen:last-of-type{margin-bottom:0;padding-bottom:0;border-bottom:none}.labsync-screen--visible{display:block;animation:labsync-fade .35s ease}.labsync-screen--future{display:none!important}.labsync-screen--past{opacity:1}.labsync-screen--past.labsync-screen--collapsed{padding-bottom:.4rem;margin-bottom:.95rem}.labsync-screen--past.labsync-screen--collapsed .labsync-screen__toggle{margin-bottom:0}.labsync-screen--past.labsync-screen--collapsed .labsync-screen__body{display:none!important}.labsync-screen--past:not(.labsync-screen--collapsed){margin-top:.35rem;margin-bottom:1.65rem;padding-bottom:0;border-bottom:none;border:1px solid #a8dcc0;border-radius:14px;background:#fff;box-shadow:0 6px 22px #14532d17;overflow:hidden}.labsync-screen--past:not(.labsync-screen--collapsed) .labsync-screen__toggle{margin:0;border:none;border-radius:0;border-bottom:1px solid #d1fae5;padding:.65rem 1rem .7rem;background:linear-gradient(180deg,#ecfdf5,#e8fcf1)}.labsync-screen--past:not(.labsync-screen--collapsed) .labsync-screen__body{opacity:1;padding:1.15rem 1.25rem 1.5rem;margin:0;background:linear-gradient(180deg,#f6fdf8,#fbfffc 35%,#fff);border:none}.labsync-screen--past:not(.labsync-screen--collapsed) .labsync-screen__body>*:first-child{margin-top:0}.labsync-screen--past:not(.labsync-screen--collapsed) .labsync-screen__body>*:last-child{margin-bottom:0}.labsync-screen--past[data-screen=start]:not(.labsync-screen--collapsed){border-color:#d8e4ef;box-shadow:0 5px 20px #1e3a5f14}.labsync-screen--past[data-screen=start]:not(.labsync-screen--collapsed) .labsync-screen__body{padding:1.05rem 1.2rem 1.35rem}.labsync-screen--past[data-screen=zadanie]:not(.labsync-screen--collapsed) .labsync-screen__body>.labsync-h2:first-of-type{display:none}.labsync-screen__toggle{display:none;width:100%;align-items:center;gap:.65rem;padding:.55rem .95rem;margin:0 0 .65rem;border:1px solid #bbf7d0;border-radius:10px;background:linear-gradient(180deg,#f0fdf4,#ecfdf5);cursor:pointer;font:inherit;text-align:left;color:#14532d;transition:background .2s,box-shadow .2s}.labsync-screen__toggle:hover{background:#dcfce7;box-shadow:0 2px 10px #22c55e26}.labsync-screen__toggle:focus-visible{outline:2px solid #22c55e;outline-offset:2px}.labsync-screen--past>.labsync-screen__toggle{display:flex}.labsync-screen--past[data-screen=start]>.labsync-screen__toggle{display:none!important}.labsync-screen--past[data-screen=start] .labsync-screen__body{display:block!important}.labsync-screen__check{flex:0 0 auto;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#22c55e;color:#fff;font-size:.95rem;font-weight:800;line-height:2;box-shadow:0 1px 3px #15803d59}.labsync-screen__toggle-label{flex:1;min-width:0;font-weight:600;font-size:.92rem}.labsync-screen__chevron{flex:0 0 auto;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;color:#15803d;transition:transform .2s ease}.labsync-screen__chevron:before{content:"";width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid currentColor}.labsync-screen--past.labsync-screen--collapsed .labsync-screen__chevron{transform:rotate(-90deg)}.labsync-screen--past:not(.labsync-screen--collapsed) .labsync-screen__chevron{transform:rotate(0)}.labsync-screen--past .labsync-screen__body [data-action],.labsync-screen--past .labsync-screen__body .labsync-draw-thumb,.labsync-screen--past .labsync-screen__body .labsync-tap,.labsync-screen--past .labsync-screen__body .labsync-eject-thumb,.labsync-screen--past .labsync-screen__body .labsync-key{display:none!important}.labsync-screen.is-current{margin-left:-.35rem;margin-right:-.35rem;padding:1rem 1rem 1.35rem;border-radius:12px;background:#fff7ed8c;outline:2px solid rgba(238,118,58,.3);outline-offset:2px}.labsync-screen.is-current>.labsync-screen__toggle{display:none!important}@keyframes labsync-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.labsync-title{text-align:center;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;color:#ee763a;margin-bottom:1rem}.labsync-h2{font-size:clamp(1rem,2.2vw,1.1rem);font-weight:600;margin-bottom:.75rem;line-height:2;color:#16213e}.labsync-intro{font-size:1rem!important;font-weight:500!important;line-height:1.65!important;color:#334155!important}.labsync-intro p{margin:0 0 .7rem}.labsync-intro p:last-child{margin-bottom:0}.labsync-intro .fw600{margin-top:1rem;font-weight:700;color:#16213e}.labsync-intro .fw600:first-child{margin-top:0}.labsync-intro,.labsync-text,.labsync-instruction,.labsync-long{line-height:2;font-size:.95rem;margin-bottom:1rem;color:#333}.labsync-biureta-info-img{display:block;width:100%;max-width:min(560px,100%);height:auto;margin:0 auto 1.15rem;border-radius:10px;object-fit:contain;user-select:none;pointer-events:none}.labsync-equation{font-size:1.15rem;text-align:center;margin:1.25rem 0;font-weight:600;letter-spacing:.02em}.labsync-echo-reaction{background:#fff;border-radius:12px;padding:1rem 1.25rem 1.25rem;margin-bottom:1.25rem;border:1px solid rgba(26,26,46,.08);box-shadow:0 2px 12px #1a1a2e0f}.labsync-echo-reaction .labsync-h2{text-align:left}.labsync-echo-reaction .labsync-equation{margin:.75rem 0 0}.labsync-eq-build{margin:1rem 0 .5rem}.labsync-eq-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;min-height:3.25rem;padding:.65rem .75rem;margin-bottom:.5rem;margin-top:.5rem;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:10px}.labsync-eq-placeholder{font-size:.9rem;color:#64748b;font-style:italic}.labsync-chip{font-family:inherit;font-size:1rem;font-weight:600;padding:.35rem .65rem;border-radius:8px;border:2px solid #94a3b8;background:#fff;color:#0f172a;cursor:pointer;line-height:2;transition:background .15s,border-color .15s,transform .1s}.labsync-chip:hover{border-color:#ee763a;background:#fff7ed}.labsync-chip:active{transform:scale(.97)}.labsync-eq-keyboard{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;margin-bottom:.65rem}.labsync-eq-keyboard-note{margin:0 0 1.5rem;font-size:.95rem;line-height:2;color:#475569}.labsync-eq-keyboard-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.25rem}.labsync-eq-keyboard-row--single{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:.2rem .15rem .45rem;margin:0 -.15rem;gap:.4rem;-webkit-overflow-scrolling:touch;scrollbar-color:#cbd5e1 transparent}.labsync-eq-keyboard-row--single .labsync-key{flex:0 0 auto}.labsync-key{font-family:inherit;font-size:1rem;font-weight:600;min-width:2.75rem;min-height:2.75rem;padding:.35rem .55rem;border-radius:10px;border:2px solid #e2e8f0;background:#fff;color:#1e293b;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.labsync-key:hover{border-color:#ee763a;box-shadow:0 2px 8px #ee763a33}.labsync-key-wide{min-width:3.25rem;font-size:1.25rem}.labsync-key-long{min-width:auto;padding:.35rem .65rem;font-size:.95rem}.labsync-eq-actions{display:flex;flex-wrap:wrap;gap:.5rem}.labsync-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.5rem;padding:.65rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:600;color:#fff;background:#ee763a;border:none;border-radius:10px;cursor:pointer;transition:background .2s,transform .15s}.labsync-btn:hover{background:#d8652e}.labsync-btn:active{transform:scale(.98)}.labsync-btn.labsync-btn-secondary{background:#fff;color:#334155;border:2px solid #cbd5e1}.labsync-btn.labsync-btn-secondary:hover{background:#f1f5f9;border-color:#94a3b8;color:#0f172a}.labsync-btn-arrow:after{content:"\2192";font-size:1.1em}.labsync-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.labsync-label{display:block;font-size:.95rem;font-weight:600;margin-bottom:0}.labsync-input,.labsync-textarea{width:100%;padding:.65rem .95rem;font-family:inherit;font-size:1rem;border:2px solid #e8e8ef;border-radius:10px;margin-bottom:.5rem}.labsync-field--invalid{border-color:#dc2626!important;background:#fee2e259;box-shadow:0 0 0 3px #dc262614}.labsync-field--invalid:focus{border-color:#dc2626!important}.labsync-input:focus,.labsync-textarea:focus{outline:none;border-color:#ee763a}.labsync-textarea{resize:vertical;min-height:4rem}.labsync-msg{font-size:.9rem;margin:.35rem 0 .5rem}.labsync-msg-error{color:#c0392b;font-weight:600}.labsync-msg-hint{color:#0369a1;font-style:italic}.is-hidden{display:none!important}.labsync-hint{font-size:.95rem;color:#555;margin:1rem 0 1.5rem}.labsync-formula{display:inline-block;font-family:Montserrat,sans-serif;font-weight:500;letter-spacing:.02em}.labsync-frac{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.1em;vertical-align:middle}.labsync-frac-num,.labsync-frac-den{display:block;padding:0 .15em}.labsync-frac-bar{display:block;width:100%;height:1px;background-color:currentColor}.labsync-lab-scene{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:clamp(1.5rem,6vw,3rem);min-height:280px;padding:2rem;background:#f1f5f9;border-radius:12px;margin:1rem 0}.labsync-gear-img{display:block;width:auto;height:auto;max-height:min(320px,56vh);max-width:min(320px,64vw);object-fit:contain;object-position:bottom center;user-select:none;pointer-events:none}.labsync-gear-img--pipette{max-height:min(400px,64vh);max-width:min(200px,44vw)}.labsync-screen[data-screen=przygotowanie] .labsync-lab-scene .labsync-gear-img{mix-blend-mode:multiply}.labsync-pipette-panel{margin:1rem 0;padding:1.25rem;background:#f8fafc;border-radius:12px}.labsync-dial-wrap{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.labsync-dial{width:88px;height:88px;border-radius:50%;background:conic-gradient(from 200deg,#e2e8f0,#fff,#cbd5e1);border:4px solid #64748b;position:relative;box-shadow:inset 0 2px 8px #00000014}.labsync-dial-mark{position:absolute;top:8px;left:50%;width:4px;height:18px;margin-left:-2px;background:#ee763a;border-radius:2px;transform-origin:50% 36px}#pipette-volume{flex:1;min-width:160px;accent-color:#ee763a}.labsync-volume-readout{margin-top:.75rem;font-size:.95rem}.labsync-snap-area{position:relative;height:clamp(220px,42vw,280px);background:#f1f5f9;border-radius:12px;margin:1rem 0;overflow:hidden;touch-action:none}.labsync-pipette-drag{position:absolute;left:12%;top:32px;width:auto;height:auto;padding:0;margin:0;background:transparent;border:none;border-radius:0;cursor:grab;z-index:2;line-height:0}.labsync-pipette-drag:active{cursor:grabbing}.labsync-pipette-drag-img{display:block;width:auto;height:auto;max-height:min(150px,38vh);max-width:min(100px,28vw);object-fit:contain;pointer-events:none;user-select:none}.labsync-koncowka-instruction-lead{margin:0 0 .35rem;font-size:.92rem;color:#444}.labsync-koncowka-todo{margin:0 0 1rem;padding-left:0;color:#333;font-size:.95rem;line-height:2;list-style:none;counter-reset:labsync-todo-step}.labsync-koncowka-todo-item{position:relative;padding-left:2.4rem;margin:.36rem 0;color:#475569;counter-increment:labsync-todo-step}.labsync-koncowka-todo-item:before{content:counter(labsync-todo-step) ".";position:absolute;left:0;top:.08em;width:1.7rem;height:1.7rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#e2e8f0;color:#475569;font-size:.95rem;font-weight:800;box-shadow:inset 0 0 0 2px #94a3b8}.labsync-koncowka-todo-item--done{color:#15803d;font-weight:600}.labsync-koncowka-todo-item--done:before{background:#22c55e;color:#fff;box-shadow:inset 0 0 0 2px #15803d}.labsync-koncowka-scene{position:relative;height:clamp(360px,62vh,560px);background:#f1f5f9;border-radius:12px;margin:1rem 0;overflow:hidden;touch-action:none}.labsync-koncowka-box-wrap{position:absolute;left:max(10px,2.5%);bottom:max(10px,2.5%);z-index:2;line-height:0}.labsync-koncowka-box-img{display:block;width:auto;height:auto;max-height:min(360px,50vh);max-width:min(390px,72vw);object-fit:contain;pointer-events:none;user-select:none}.labsync-koncowka-open-thumb{position:absolute;top:6%;left:50%;transform:translate(-50%);z-index:3}.labsync-koncowka-open-thumb.is-hidden{display:none!important}#tip-label-open{top:6%;left:calc(50% + clamp(36px,8vw,52px))}.labsync-eject-thumb.labsync-koncowka-close-thumb{top:6%;bottom:auto;left:50%;transform:translate(-50%);z-index:4}.labsync-koncowka-close-thumb.is-hidden{display:none!important}#tip-label-close{position:absolute;width:min(280px,48vw)}.labsync-koncowka-attach-thumb{position:absolute;top:4%;left:50%;transform:translate(-50%);z-index:3}.labsync-koncowka-attach-thumb.is-hidden{display:none!important}#tip-label-attach{top:4%;left:calc(50% + clamp(36px,8vw,52px))}.labsync-koncowka-pipette{position:absolute;left:42%;top:14%;width:auto;height:auto;padding:0;margin:0;background:transparent;border:none;border-radius:0;cursor:grab;z-index:3;line-height:0}.labsync-koncowka-close-thumb--overlay{position:absolute;z-index:20}.labsync-koncowka-pipette--locked{cursor:default;opacity:.95;pointer-events:none}.labsync-koncowka-pipette:active{cursor:grabbing}.labsync-koncowka-pipette-img{display:block;width:auto;height:auto;max-height:min(300px,52vh);max-width:min(180px,40vw);object-fit:contain;pointer-events:none;user-select:none}.labsync-draw-scene{padding:1rem .75rem 1.25rem;background:#f1f5f9;border-radius:12px;margin:1rem 0}.labsync-draw-bounds{position:relative;height:clamp(240px,48vw,300px);margin:0 auto;max-width:100%;border-radius:10px;background:#f1f5f9;overflow:hidden;touch-action:none}.labsync-draw-bounds--immersed{box-shadow:inset 0 0 0 2px #22c55e40}.labsync-draw-flask{position:absolute;left:5%;bottom:8%;z-index:1;display:block;width:auto;height:auto;max-height:min(200px,44vh);max-width:min(170px,46vw);object-fit:contain;object-position:bottom left;user-select:none;pointer-events:none}.labsync-draw-pipette-wrap{position:absolute;left:62%;top:14%;z-index:2;display:inline-block;line-height:0;cursor:grab;transform:translateY(0);transition:transform .28s ease-out}.labsync-draw-pipette-wrap--submerged{transform:translateY(clamp(44px,7.5vh,64px))}.labsync-draw-pipette-wrap--locks-drag{cursor:default;pointer-events:none}.labsync-draw-pipette-wrap--locks-drag .labsync-draw-thumb{pointer-events:auto}.labsync-draw-pipette-wrap:active{cursor:grabbing}.labsync-draw-pipette{display:block;width:auto;height:auto;max-height:min(210px,46vh);max-width:min(118px,32vw);object-fit:contain;object-position:bottom center;user-select:none;pointer-events:none}.labsync-draw-thumb{position:absolute;top:6%;left:50%;transform:translate(-50%);width:clamp(44px,11vw,54px);height:clamp(44px,11vw,54px);border-radius:50%;border:2px solid #15803d;background:linear-gradient(180deg,#4ade80,#22c55e);box-shadow:0 3px #166534,inset 0 1px #ffffff59;color:#fff;font-size:1.15rem;font-weight:800;line-height:2;cursor:pointer;z-index:3;padding:0;transition:transform .1s,box-shadow .1s}.labsync-draw-thumb:hover{filter:brightness(1.05)}.labsync-draw-thumb:active{transform:translate(-50%) translateY(2px);box-shadow:0 1px #166534,inset 0 1px #ffffff59}.labsync-draw-thumb:disabled{opacity:.45;cursor:not-allowed}.labsync-draw-thumb--yellow{border-color:#a16207;background:linear-gradient(180deg,#fde047,#eab308);box-shadow:0 3px #854d0e,inset 0 1px #fff6}.labsync-draw-thumb--yellow:hover{filter:brightness(1.04)}.labsync-draw-thumb--yellow:active{transform:translate(-50%) translateY(2px);box-shadow:0 1px #854d0e,inset 0 1px #ffffff59}.labsync-action-label{position:absolute;top:6%;left:calc(50% + clamp(32px,8vw,48px));z-index:3;width:min(260px,46vw);padding:.45rem .65rem;border-radius:999px;background:#fffffff2;border:1px solid rgba(21,128,61,.24);box-shadow:0 4px 14px #0f172a1f;color:#14532d;font-size:clamp(.76rem,2.6vw,.95rem);font-weight:700;line-height:2;pointer-events:none;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.4}.labsync-action-label--wide{width:min(360px,54vw);border-radius:14px}.labsync-action-label.is-hidden{display:none!important}.labsync-screen[data-screen=pobieranie] .labsync-draw-bounds{height:clamp(360px,62vh,560px)}.labsync-screen[data-screen=pobieranie] .labsync-draw-flask{max-height:min(192px,28.8vh);max-width:min(180px,34.8vw);mix-blend-mode:multiply}.labsync-screen[data-screen=pobieranie] #btn-draw-aspirate{font-size:1.35rem;line-height:2}.labsync-screen[data-screen=pobieranie] .labsync-draw-pipette{max-height:min(300px,52vh);max-width:min(180px,40vw)}.labsync-screen[data-screen=pobieranie] #btn-draw-down,.labsync-screen[data-screen=pobieranie] #draw-label-down{top:17%}.labsync-screen[data-screen=dolewanie-kolba] .labsync-draw-bounds{height:clamp(360px,62vh,560px)}.labsync-screen[data-screen=dolewanie-kolba] .labsync-draw-flask{max-height:min(220px,34vh);max-width:min(200px,38vw);mix-blend-mode:multiply}.labsync-screen[data-screen=dolewanie-kolba] .labsync-draw-pipette{max-height:min(300px,52vh);max-width:min(180px,40vw)}.labsync-screen[data-screen=dolewanie-kolba] #kolba-pour-pipette.labsync-draw-pipette-wrap{left:76%;top:10%}.labsync-screen[data-screen=dolewanie-kolba] #btn-kolba-pour-yellow{top:17%}.labsync-screen[data-screen=dolewanie-kolba] #btn-kolba-pour-green{font-size:1.35rem;line-height:2}.labsync-eject-scene{position:relative;height:clamp(400px,62vh,560px);min-height:320px;background:#f1f5f9;border-radius:12px;margin:1rem 0;touch-action:none}.labsync-bin-img{position:absolute;left:5%;bottom:14px;z-index:1;display:block;width:auto;height:auto;max-height:min(200px,44vh);max-width:min(280px,58vw);object-fit:contain;object-position:bottom left;pointer-events:none;user-select:none}.labsync-screen[data-screen=wyrzut] .labsync-bin-img{max-height:min(240px,46vh);max-width:min(300px,62vw)}.labsync-pipette-eject{position:absolute;left:62%;top:14%;z-index:2;display:inline-block;width:max-content;max-width:min(118px,32vw);height:auto;padding:0;margin:0;background:transparent;border:none;border-radius:0;cursor:grab;line-height:0}.labsync-screen[data-screen=wyrzut] .labsync-pipette-eject{max-width:min(180px,40vw)}.labsync-pipette-eject-img{display:block;width:auto;height:auto;max-height:min(210px,46vh);max-width:min(118px,32vw);object-fit:contain;object-position:bottom center;pointer-events:none;user-select:none}.labsync-screen[data-screen=wyrzut] .labsync-pipette-eject-img{max-height:min(300px,52vh);max-width:min(180px,40vw)}.labsync-pipette-eject:active{cursor:grabbing}.labsync-eject-thumb{position:absolute;top:6%;left:50%;transform:translate(-50%);width:clamp(44px,11vw,54px);height:clamp(44px,11vw,54px);border-radius:50%;border:2px solid #991b1b;background:linear-gradient(180deg,#f87171,#dc2626);box-shadow:0 3px #7f1d1d,inset 0 1px #ffffff59;color:#fff;font-size:1.15rem;font-weight:800;line-height:2;cursor:pointer;z-index:3;padding:0;transition:transform .1s,box-shadow .1s}.labsync-eject-thumb:hover{filter:brightness(1.06)}.labsync-eject-thumb:active{transform:translate(-50%) translateY(2px);box-shadow:0 1px #7f1d1d,inset 0 1px #ffffff59}.labsync-eject-thumb:disabled{opacity:.45;cursor:not-allowed}.labsync-screen[data-screen=wyrzut] #eject-label{top:6%;left:calc(50% + clamp(36px,8vw,52px))}.labsync-fenol-scene{position:relative;height:clamp(300px,58vw,400px);background:#f1f5f9;border-radius:12px;margin:1rem 0;touch-action:none;overflow:hidden}.labsync-flask-fenol{position:absolute;left:3%;bottom:6px;z-index:1;line-height:0;max-width:min(220px,52vw);transform:translateZ(0)}.labsync-flask-fenol-img{display:block;width:auto;height:auto;max-height:min(240px,50vh);max-width:100%;object-fit:contain;object-position:bottom left;pointer-events:none;user-select:none}.labsync-dropper{position:absolute;left:56%;top:clamp(28px,6.5vw,56px);z-index:4;display:inline-block;width:max-content;max-width:min(110px,30vw);padding:0;margin:0;line-height:0;background:transparent;border:none;border-radius:0;cursor:grab;transform:rotate(0);transform-origin:78% 88%;transition:transform .48s cubic-bezier(.33,1,.68,1)}.labsync-dropper:active{cursor:grabbing}.labsync-dropper--tilt{transform:rotate(-20deg)}.labsync-fenol-drops{position:absolute;z-index:5;width:22px;height:240px;pointer-events:none;opacity:0}.labsync-fenol-scene.has-drip .labsync-fenol-drops{opacity:1}.labsync-fenol-drop{position:absolute;left:50%;top:0;width:6px;height:9px;margin-left:-3px;border-radius:50%/42% 42% 58% 58%;background:linear-gradient(180deg,#fffffff2,#f8fafc8c 45%,#e2e8f066);border:1px solid rgba(255,255,255,.35);box-shadow:0 0 3px #ffffff80,inset 0 1px #ffffffa6;opacity:0}.labsync-fenol-scene.has-drip .labsync-fenol-drop:nth-child(1){animation:labsync-fenol-drop-fall .34s ease-in 0s forwards}.labsync-fenol-scene.has-drip .labsync-fenol-drop:nth-child(2){animation:labsync-fenol-drop-fall .34s ease-in .18s forwards}.labsync-fenol-scene.has-drip .labsync-fenol-drop:nth-child(3){animation:labsync-fenol-drop-fall .34s ease-in .36s forwards}.labsync-fenol-scene.has-drip .labsync-fenol-drop:nth-child(4){animation:labsync-fenol-drop-fall .34s ease-in .52s forwards}.labsync-fenol-scene.has-drip .labsync-fenol-drop:nth-child(5){animation:labsync-fenol-drop-fall .34s ease-in .68s forwards}.labsync-fenol-scene.has-drip .labsync-fenol-drop:nth-child(6){animation:labsync-fenol-drop-fall .34s ease-in .84s forwards}.labsync-fenol-scene.has-drip .labsync-fenol-drop:nth-child(7){animation:labsync-fenol-drop-fall .34s ease-in 1s forwards}.labsync-fenol-scene.has-drip .labsync-fenol-drop:nth-child(8){animation:labsync-fenol-drop-fall .34s ease-in 1.16s forwards}.labsync-fenol-scene.has-drip .labsync-fenol-drop:nth-child(9){animation:labsync-fenol-drop-fall .34s ease-in 1.32s forwards}.labsync-fenol-scene.has-drip .labsync-fenol-drop:nth-child(10){animation:labsync-fenol-drop-fall .34s ease-in 1.48s forwards}@keyframes labsync-fenol-drop-fall{0%{transform:translateY(0) scale(.55);opacity:0}12%{opacity:1}to{transform:translateY(170px) scale(1);opacity:.55}}@media(prefers-reduced-motion:reduce){.labsync-dropper{transition:none}.labsync-fenol-scene.has-drip .labsync-fenol-drop{animation:none;opacity:0}}.labsync-fenol-bottle-img{display:block;width:auto;height:auto;max-height:min(168px,42vh);max-width:100%;object-fit:contain;object-position:bottom center;pointer-events:none;user-select:none}.labsync-titration{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:#f1f5f9;border-radius:12px;margin:1rem 0;overflow:visible}.labsync-titration-scene{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:.25rem 0 0}.labsync-titration-place-hint{margin:0 auto .25rem;max-width:36rem;text-align:center;font-size:.9rem}.labsync-titration--await-flask .labsync-titration-visual-row>.labsync-burette-volume,.labsync-titration--await-flask .labsync-titration-burette-controls,.labsync-titration--await-flask .labsync-titration-shade-meter{display:none!important}.labsync-titration-visual-row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:.35rem 1rem;width:100%;max-width:min(520px,100%);margin:0 auto;overflow:visible}.labsync-titration-visual-row .labsync-titration-rig{margin:0}.labsync-titration-visual-row .labsync-burette-volume{flex:0 0 auto;align-self:flex-end;margin-bottom:2px}.labsync-titration-bounds{position:relative;width:100%;max-width:100%;margin:0;min-height:clamp(260px,50vh,380px);overflow:hidden;touch-action:none;--drip-x: 64.5%;--drip-y: 71%;--drip-fall: 54px;--flask-x: 64.5%;--flask-y: 91%;--flask-scale: .28;--flask-start-x: 19%;--flask-start-y: 92%}.labsync-titration-rig{position:relative;display:block;width:fit-content;max-width:min(360px,90vw);margin:0 auto;line-height:0;overflow:visible}.labsync-titration-burette-img{position:relative;z-index:1;display:block;width:auto;height:auto;max-height:min(480px,72vh);max-width:100%;object-fit:contain;object-position:bottom center;user-select:none;pointer-events:none}.labsync-titration-drip-wrap{position:absolute;left:var(--drip-x);top:var(--drip-y);width:12px;height:min(64px,12vh);transform:translate(-50%);opacity:0;transition:opacity .12s ease;pointer-events:none;z-index:4}.labsync-titration--dripping .labsync-titration-drip-wrap{opacity:1}.labsync-titration-drop{position:absolute;left:50%;top:0;width:5px;height:9px;margin-left:-2.5px;border-radius:50%/55% 55% 45% 45%;background:linear-gradient(180deg,#e0f2fefa,#0ea5e9f2);box-shadow:0 0 3px #0ea5e973;animation:labsync-titration-drop .52s ease-in infinite}.labsync-titration-drop--2{width:4px;height:7px;margin-left:-2px;animation-delay:.17s;opacity:.92}.labsync-titration-drop--3{width:3px;height:6px;margin-left:-1.5px;animation-delay:.34s;opacity:.95}@keyframes labsync-titration-drop{0%{transform:translateZ(0);opacity:.95}70%{opacity:.95}to{transform:translate3d(0,var(--drip-fall, 46px),0);opacity:0}}.labsync-titration-burette-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .75rem;width:100%;max-width:min(360px,100%)}.labsync-burette-label{display:flex;flex-direction:column;align-items:center;gap:.15rem;font-size:.8rem;font-weight:600;text-align:center}.labsync-titration-time{font-weight:700;font-variant-numeric:tabular-nums}.labsync-tap{padding:.5rem 1rem;font-weight:600;border-radius:8px;border:2px solid #0ea5e9;background:#e0f2fe;cursor:pointer}.labsync-tap[aria-pressed=true]{background:#bae6fd;box-shadow:inset 0 2px 4px #0000001a}.labsync-titration-flask-target{position:absolute;left:var(--flask-x);top:79%;width:34%;min-width:80px;min-height:72px;height:26%;transform:translate(-50%,-52%);z-index:2;pointer-events:none;box-sizing:border-box}.labsync-titration-flask-inner{display:block;line-height:0}.labsync-titration-flask-wrap{position:absolute;z-index:3;display:block;width:max-content;line-height:0;transform:scale(var(--flask-scale));transform-origin:bottom center;cursor:grab;touch-action:none}.labsync-titration-flask-wrap--unplaced:not(.labsync-titration-flask-wrap--snapped){left:var(--flask-start-x);top:var(--flask-start-y);transform:translate(-50%,-100%) scale(var(--flask-scale));transform-origin:bottom center}.labsync-titration-flask-wrap.is-dragging:not(.labsync-titration-flask-wrap--snapped){transform:scale(var(--flask-scale));transform-origin:top left}.labsync-titration-flask-wrap--snapped{left:var(--flask-x);top:var(--flask-y);transform:translate(-50%,-100%) scale(var(--flask-scale));transform-origin:bottom center;cursor:default;pointer-events:none}.labsync-titration-flask-img{position:relative;z-index:1;display:block;width:auto;height:auto;max-height:min(320px,62vh);max-width:min(240px,70vw);object-fit:contain;object-position:bottom center;user-select:none;pointer-events:none}.labsync-titration-shade-meter{width:100%;max-width:100%;padding:0 .15rem;box-sizing:border-box}.labsync-meter-zone{display:none}.labsync-burette-volume{display:flex;flex-direction:column;align-items:center;gap:.35rem;font-size:.95rem;color:#334155}.labsync-burette-volume-title{font-weight:600;white-space:nowrap}.labsync-burette-volume-track{position:relative;width:30px;height:160px;border:2px solid #64748b;border-radius:6px;background:linear-gradient(180deg,#f8fafc,#e2e8f0);box-shadow:inset 0 1px 2px #ffffffb3}.labsync-burette-volume-fill{position:absolute;left:4px;right:4px;bottom:0;height:100%;max-height:100%;background:linear-gradient(180deg,#7dd3fc73,#0ea5e98c);border-radius:0 0 3px 3px;pointer-events:none;transition:height .22s linear}.labsync-burette-volume-pointer{position:absolute;left:3px;right:3px;top:0%;height:2px;margin-top:-1px;background:linear-gradient(90deg,transparent 0%,#0284c7 12%,#0284c7 88%,transparent 100%);pointer-events:none;transition:top .22s linear}.labsync-burette-volume-triangle{position:absolute;right:-18px;top:50%;transform:translateY(-50%);width:0;height:0;border-style:solid;border-width:8px 11px 8px 0;border-color:transparent #0f172a transparent transparent;filter:drop-shadow(0 0 1px rgba(255,255,255,.95))}.labsync-burette-remaining{font-weight:700;font-variant-numeric:tabular-nums;color:#0f172a}.labsync-burette-volume-hint{font-size:.72rem;color:#64748b;max-width:10rem;text-align:center;line-height:2}.labsync-titration-shade-meter .labsync-color-meter{width:100%;max-width:none;min-width:0;font-size:.95rem}.labsync-color-meter{font-size:.95rem}.labsync-titration-shade-meter .labsync-meter-track{width:100%;box-sizing:border-box}.labsync-meter-track{position:relative;height:14px;margin-top:.35rem;background:linear-gradient(90deg,#e0f2fe,#fbcfe8);border-radius:7px;border:1px solid #cbd5e1}.labsync-meter-zone{position:absolute;left:66%;width:12%;height:100%;background:#22c55e73;border-radius:4px}.labsync-meter-needle{position:absolute;top:-4px;width:4px;height:22px;margin-left:-2px;background:#1e293b;border-radius:2px;left:0%;transition:left .22s linear}@media(max-width:480px){.labsync-inner{padding:1.25rem 1rem}.labsync-titration-visual-row{gap:.5rem .75rem}.labsync-titration-rig{max-width:min(320px,94vw);--drip-x: 64.5%;--drip-y: 71%;--drip-fall: 48px;--flask-scale: .25;--flask-start-x: 17%;--flask-start-y: 91%}.labsync-titration-burette-img{max-height:min(420px,64vh)}.labsync-titration-burette-controls .labsync-burette-label{gap:.1rem}}.labsync-screen[data-screen=start] .cover{width:100%;max-width:none;min-width:0}.cover>img{display:block;width:100%;height:auto;border-radius:12px}.cover{margin-bottom:30px}.container{max-width:1400px;margin-left:auto;margin-right:auto;margin-top:7rem}@media(max-width:1280px){.container{margin-top:1rem}}.labsync-hint>p{margin-bottom:.5rem}.fw600{font-weight:600}.labsync-user-form{margin:1rem 0 .25rem;padding:1rem 1rem .75rem;border-radius:12px;border:1px solid rgba(26,26,46,.12);background:#f8fafce6}.labsync-user-form__row{margin-bottom:.6rem}.labsync-details{border:1px solid rgba(26,26,46,.12);background:#fff;border-radius:12px;overflow:hidden}.labsync-details__summary{list-style:none;cursor:pointer;user-select:none;padding:.7rem .9rem;font-weight:700;color:#16213e;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-bottom:1px solid rgba(26,26,46,.08);transition:background .2s,box-shadow .2s}.labsync-details__summary::-webkit-details-marker{display:none}.labsync-details__summary:before{content:"\25b8";display:inline-block;margin-right:.55rem;color:#ee763a;transform:translateY(-1px);transition:transform .2s ease}.labsync-details[open]>.labsync-details__summary:before{transform:rotate(90deg) translateY(-1px)}.labsync-details__summary:hover{background:#eaf2ff;box-shadow:0 2px 10px #1a1a2e14}.labsync-details__summary:focus-visible{outline:2px solid rgba(238,118,58,.7);outline-offset:2px}.labsync-details__body{padding:.85rem .9rem .95rem;color:#334155;line-height:1.7;font-size:.92rem;max-height:220px;overflow:auto;background:linear-gradient(180deg,#fff,#f8fafcf2)}.labsync-details__body .labsync-text{margin:0 0 .75rem;font-size:inherit;line-height:inherit;color:inherit}.labsync-details__body .labsync-text:last-child{margin-bottom:0}.labsync-checkbox{display:flex;align-items:flex-start;gap:.65rem;margin-top:.75rem;padding:.8rem .9rem;border-radius:12px;border:1px solid rgba(26,26,46,.12);background:#fff7ed8c;color:#334155;cursor:pointer}.labsync-checkbox input[type=checkbox]{flex:0 0 auto;margin-top:.22rem;width:18px;height:18px;accent-color:#ee763a}.labsync-checkbox span{display:block;font-size:.92rem;line-height:1.6}.labsync-checkbox:has(input[type=checkbox]:focus-visible){outline:2px solid rgba(238,118,58,.7);outline-offset:2px}.labsync-user-form.is-hidden{display:none!important}.labsync-list{margin-bottom:1rem}
