.solver-page{color:var(--color-text-primary);min-height:100dvh;padding-block-end:var(--space-12);padding-block-start:calc(var(--header-height) + var(--space-8));position:relative}.solver-page__inner{position:relative;z-index:var(--z-sticky)}.solver-header{align-items:center;display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6);text-align:center}.solver-title{color:var(--color-text-primary);font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--fw-bold);line-height:var(--leading-tight);margin:0}.solver-subtitle{color:var(--color-text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed);margin:0;max-width:720px}@media (min-width:768px){.solver-title{font-size:var(--text-4xl)}}.solver-tabs{background:var(--color-glass-fill);border:1px solid var(--color-border);border-radius:var(--radius-pill);display:flex;gap:var(--space-1);margin:0 auto var(--space-5);padding:var(--space-1);width:fit-content}.solver-tab{background:#0000;border:none;border-radius:var(--radius-pill);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-5);transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.solver-tab:hover{color:var(--color-text-primary)}.solver-tab.active{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-border-active);color:var(--color-accent)}.solver-card{margin-bottom:var(--space-5)}.solver-card-bridge{margin-top:var(--space-8);text-align:center}@media (min-width:1024px){.solver-card-bridge{margin-top:var(--space-10)}}.solver-hint{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:var(--space-3) 0;text-align:center}.solver-hint-quiet{color:var(--color-text-muted);font-size:var(--text-xs)}.solver-empty-hint{color:var(--color-text-muted);font-size:var(--text-sm)}.solver-error{background:var(--color-error-soft);border:1px solid var(--color-error-border);border-radius:var(--radius-input);color:var(--color-error);font-size:var(--text-sm);margin-top:var(--space-3);padding:var(--space-3) var(--space-4);text-align:center}.solver-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-top:var(--space-4)}.solver-warning{align-items:flex-start;background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:var(--radius-input);color:var(--color-text-primary);display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-5) 0 var(--space-1);padding:var(--space-3) var(--space-4);text-align:left}.solver-warning-icon{align-items:center;background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:50%;color:var(--color-warning);display:inline-flex;flex-shrink:0;font-size:var(--text-xl);font-weight:var(--fw-bold);height:38px;justify-content:center;width:38px}.solver-warning-body{flex:1 1;min-width:0}.solver-warning-title{color:var(--color-warning);font-size:var(--text-base);font-weight:var(--fw-bold);margin-bottom:var(--space-1)}.solver-warning-text{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.solver-warning-img{align-self:center;background:var(--color-bg-deep);border-radius:var(--radius-sm);flex-shrink:0;max-height:56px;padding:var(--space-1) var(--space-2);width:auto}.solver-spinner{margin:var(--space-5) auto;text-align:center}.solver-spinner-circle{animation:solver-spin .8s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-accent);height:38px;margin:0 auto var(--space-3);width:38px}.solver-spinner-text{color:var(--color-text-secondary);font-size:var(--text-sm)}@keyframes solver-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.solver-spinner-circle{animation:none}}.solver-upload{align-items:stretch;display:flex;flex-direction:column}.solver-dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-card);color:var(--color-text-secondary);cursor:pointer;padding:var(--space-6) var(--space-4);text-align:center;transition:border-color var(--dur-base) var(--ease-standard),background-color var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard)}.solver-dropzone.dragover,.solver-dropzone:hover{background:var(--color-accent-dim);border-color:var(--color-accent);color:var(--color-text-primary)}.solver-dropzone svg{color:var(--color-text-muted);margin-bottom:var(--space-3)}.solver-dropzone-main{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--fw-medium);margin:0 0 var(--space-2)}.solver-dropzone-sub{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.solver-preview{border-radius:var(--radius-input);box-shadow:var(--shadow-card);display:block;margin:var(--space-5) auto 0;max-height:320px;max-width:100%}.solver-palette{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin:var(--space-3) 0 var(--space-5)}.solver-pal-btn{align-items:center;border:2px solid #0000;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;height:38px;justify-content:center;padding:0;transition:transform var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard);width:38px}.solver-pal-icon{color:var(--color-text-primary);height:74%;pointer-events:none;width:74%}.solver-pal-btn:hover{transform:scale(1.1)}.solver-pal-btn.active{border-color:var(--color-accent);box-shadow:0 0 12px var(--color-glow-cyan);transform:scale(1.1)}.solver-pal-btn.eraser{background:var(--color-glass-fill)!important;border:2px dashed var(--color-border-active);color:var(--color-text-secondary)}.solver-editor-bar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin:var(--space-2) 0 var(--space-4)}.solver-editor-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.solver-capacity{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:var(--text-sm);gap:var(--space-2)}.solver-capacity input[type=range]{accent-color:var(--color-accent);cursor:pointer;width:96px}.solver-capacity-value{color:var(--color-text-primary);font-weight:var(--fw-bold);min-width:14px;text-align:center}.solver-flasks-grid{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;padding:var(--space-3) 0 var(--space-1)}.solver-flask-sizing{gap:var(--space-2);margin-top:var(--space-2)}.solver-flask-sizing,.solver-size-btn{align-items:center;display:inline-flex}.solver-size-btn{background:var(--color-glass-fill);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-xs);height:22px;justify-content:center;line-height:1;padding:0;transition:border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard);width:22px}.solver-size-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.solver-size-btn:disabled{cursor:not-allowed;opacity:.35}.solver-size-value{color:var(--color-text-primary);font-size:var(--text-xs);font-weight:var(--fw-semibold);min-width:14px;text-align:center}.solver-flask-col{align-items:center;display:flex;flex-direction:column}.solver-flask-tube{background:var(--color-bg-deep);border:2px solid var(--color-border);border-radius:0 0 var(--radius-input) var(--radius-input);border-top:none;display:flex;flex-direction:column-reverse;padding:2px;position:relative;transition:border-color var(--dur-base) var(--ease-standard);width:44px}.solver-flask-tube:before{border:2px solid var(--color-border);border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;content:"";height:6px;left:-2px;position:absolute;right:-2px;top:-2px}.solver-flask-tube.editable{cursor:pointer}.solver-flask-tube.editable:hover,.solver-flask-tube.editable:hover:before{border-color:var(--color-accent)}.solver-flask-label{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:var(--space-2)}.solver-element{align-items:center;border:1px solid #0000;border-radius:var(--radius-sm);display:flex;height:28px;justify-content:center;margin-bottom:1px;overflow:hidden;transition:all var(--dur-slow) var(--ease-standard);width:100%}.solver-element-icon{color:var(--color-text-primary);height:74%;pointer-events:none;width:74%}.solver-element.empty{background:var(--color-bg-surface);border:1px dashed var(--color-border)}.solver-element.erasable{cursor:pointer}.solver-element.erasable:hover{box-shadow:inset 0 0 0 2px var(--color-error);filter:brightness(.85)}.solver-element.moving{animation:solver-pop .4s ease}@keyframes solver-pop{0%{transform:scale(1)}50%{transform:scale(1.18)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.solver-element.moving{animation:none}}.solver-result-head{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-3)}.solver-result-title{color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--fw-semibold);margin:0}.solver-stats{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:var(--space-4) 0 var(--space-5)}.solver-stat{background:var(--color-bg-mid);border:1px solid var(--color-border);border-radius:var(--radius-input);padding:var(--space-3);text-align:center}.solver-stat-value{color:var(--color-accent);font-size:var(--text-2xl);font-weight:var(--fw-bold);text-shadow:var(--text-glow)}.solver-stat-label{color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-normal);margin-top:var(--space-1);text-transform:uppercase}.solver-animation{margin:var(--space-3) 0 var(--space-2)}.solver-flasks-row{gap:var(--space-3);padding:var(--space-3) 0 var(--space-5)}.solver-flasks-row,.solver-player-controls{display:flex;flex-wrap:wrap;justify-content:center}.solver-player-controls{align-items:center;gap:var(--space-2)}.solver-player-btn{align-items:center;background:var(--color-glass-fill);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:var(--text-sm);height:40px;justify-content:center;transition:border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard);width:40px}.solver-player-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.solver-player-btn:disabled{cursor:not-allowed;opacity:.4}.solver-player-play{background:var(--gradient-cta);border:none;box-shadow:0 4px 14px #0000004f;color:var(--color-on-accent);font-size:var(--text-base);height:52px;width:52px}.solver-player-play:hover:not(:disabled){box-shadow:0 4px 16px #0000004d,var(--shadow-glow);color:var(--color-on-accent);transform:scale(1.05)}.solver-step-counter{font-size:var(--text-sm);min-width:auto;order:5;text-align:center}.solver-speed-ctrl,.solver-step-counter{color:var(--color-text-secondary);flex-basis:100%}.solver-speed-ctrl{align-items:center;display:inline-flex;font-size:var(--text-xs);gap:var(--space-2);justify-content:center;margin-left:0}.solver-speed-ctrl input[type=range]{accent-color:var(--color-accent);cursor:pointer;width:80px}.solver-steps{margin-top:var(--space-5)}.solver-steps-header{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-normal);margin-bottom:var(--space-3);text-transform:uppercase}.solver-steps-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:320px;overflow-y:auto;padding-right:var(--space-1)}.solver-steps-list::-webkit-scrollbar{width:4px}.solver-steps-list::-webkit-scrollbar-thumb{background:var(--color-border-active);border-radius:var(--radius-sm)}.solver-step{align-items:center;background:var(--color-bg-mid);border:1px solid var(--color-border);border-radius:var(--radius-input);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:var(--font-sans);gap:var(--space-3);padding:var(--space-3) var(--space-4);text-align:left;transition:border-color var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard);width:100%}.solver-step:hover{border-color:var(--color-border-active);transform:translateX(2px)}.solver-step.active{background:var(--color-accent-dim);border-color:var(--color-accent)}.solver-step-num{align-items:center;background:var(--color-accent-dim);border:1px solid var(--color-border-active);border-radius:50%;color:var(--color-accent);display:inline-flex;flex-shrink:0;font-size:var(--text-xs);font-weight:var(--fw-bold);height:28px;justify-content:center;text-shadow:var(--text-glow);width:28px}.solver-step-info{display:flex;flex-direction:column;gap:2px;min-width:0}.solver-step-title{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--fw-medium)}.solver-step-detail{color:var(--color-text-muted);font-size:var(--text-xs)}.solver-history-head{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-3)}.solver-history-title{color:var(--color-text-primary);font-size:var(--text-lg);font-weight:var(--fw-semibold);margin:0}.solver-history-row{display:flex;gap:var(--space-3);overflow-x:auto;padding:var(--space-1) 0}.solver-history-row::-webkit-scrollbar{height:4px}.solver-history-row::-webkit-scrollbar-thumb{background:var(--color-border-active);border-radius:var(--radius-sm)}.solver-history-card{background:var(--color-bg-mid);border:1px solid var(--color-border);border-radius:var(--radius-input);color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;font-family:var(--font-sans);min-width:140px;padding:var(--space-3);text-align:left;transition:border-color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.solver-history-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.solver-history-time{color:var(--color-text-muted);font-size:var(--text-xs)}.solver-history-stats{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--fw-bold);margin-top:var(--space-1)}.solver-history-detail{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}@media (min-width:640px){.solver-dropzone{padding:var(--space-8) var(--space-5)}.solver-flask-tube{width:44px}.solver-element{height:28px}.solver-editor-bar{justify-content:space-between}.solver-warning{align-items:center;flex-direction:row;gap:var(--space-4);padding:var(--space-4) var(--space-5)}.solver-warning-img{align-self:auto;max-height:64px}.solver-step-counter{flex-basis:auto;min-width:100px;order:0}.solver-speed-ctrl{flex-basis:auto;justify-content:flex-start;margin-left:var(--space-2)}}.solver-faq,.solver-history,.solver-howto,.solver-result{margin-top:var(--space-8)}@media (min-width:1024px){.solver-faq,.solver-history,.solver-howto,.solver-result{margin-top:var(--space-10)}}.solver-block-title{color:var(--color-text-primary);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--fw-bold);line-height:var(--leading-tight);margin:0;text-align:center}@media (min-width:768px){.solver-block-title{font-size:var(--text-3xl)}}.solver-howto-list{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:1fr;list-style:none;margin:var(--space-6) auto 0;padding:0}.solver-howto-step{align-items:flex-start;display:flex;flex-direction:column;gap:var(--space-3);height:100%;text-align:left}.solver-howto-step-featured{justify-content:center}@media (min-width:1024px){.solver-howto-list{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}.solver-howto-list>li:first-child{grid-column:1;grid-row:1/span 2}.solver-howto-list>li:nth-child(2){grid-column:2;grid-row:1}.solver-howto-list>li:nth-child(3){grid-column:3;grid-row:1}.solver-howto-list>li:nth-child(4){grid-column:2;grid-row:2}.solver-howto-list>li:nth-child(5){grid-column:3;grid-row:2}}.solver-howto-num{align-items:center;background:var(--color-accent-dim);border:1px solid var(--color-border-active);border-radius:var(--radius-pill);color:var(--color-accent);display:inline-flex;flex-shrink:0;font-size:var(--text-lg);font-weight:var(--fw-bold);height:44px;justify-content:center;text-shadow:var(--text-glow);width:44px}.solver-howto-text{color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0}.solver-faq-list{margin:var(--space-6) auto 0;max-width:960px;text-align:left}.solver-faq-item{padding-block:var(--space-4)}.solver-faq-item:first-child{padding-top:0}.solver-faq-item .u-divider{margin:0 0 var(--space-4)}.solver-faq-q{color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--fw-bold);margin:0 0 var(--space-2)}.solver-faq-a{color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0}.solver-bridge{text-align:center}.solver-bridge-title{color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--fw-bold);margin:0 0 var(--space-2)}.solver-bridge-text{color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0 auto var(--space-5);max-width:640px}
/*# sourceMappingURL=707.d7323d82.chunk.css.map*/