.console{--c-bg: #121316;--c-panel: #18191d;--c-card: #1d1f23;--c-card-2: #24262b;--c-line: #2d3036;--c-text: #e8e9ec;--c-muted: #8d929c;--c-accent: #7fb13b;--c-accent-hover: #8fc24a;--c-accent-ink: #10180a;--c-accent-soft: rgba(127, 177, 59, .14);--c-ok: #74b54b;--c-ng: #e0544b;--c-ng-bg: #8f1f1a;--c-warn: #e8b73a;--c-info: #b8c2ff;--c-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--c-mono: var(--c-sans);min-height:100vh;background:var(--c-bg);color:var(--c-text);font-family:var(--c-sans);font-size:14px;font-variant-numeric:tabular-nums;display:flex;flex-direction:column}.console *{box-sizing:border-box}.console .mono{font-family:var(--c-sans)}.console .c-muted{color:var(--c-muted)}.console .c-accent{color:var(--c-accent)}.console h1,.console h2,.console h3{margin:0;font-weight:600;letter-spacing:-.01em}.console h1{font-size:22px}.console h2{font-size:18px}.console h3{font-size:14px;font-weight:700;letter-spacing:.08em}.c-btn{font:600 14px var(--c-sans);border-radius:2px;padding:11px 18px;border:1px solid var(--c-line);background:var(--c-card-2);color:var(--c-text);cursor:pointer;transition:background .15s,border-color .15s,transform .05s;white-space:nowrap}.c-btn:hover:not(:disabled){border-color:#444851;background:#2b2e34}.c-btn:active:not(:disabled){transform:translateY(1px)}.c-btn:disabled{opacity:.45;cursor:not-allowed}.c-btn--primary{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-accent-ink)}.c-btn--primary:hover:not(:disabled){background:var(--c-accent-hover);border-color:var(--c-accent-hover)}.c-btn--ghost{background:transparent}.c-icon{display:inline-block;flex:none;vertical-align:-.14em}.c-btn .c-icon,.c-admin-link .c-icon,.c-badge .c-icon,.c-mode-lock .c-icon{margin-right:4px}.c-btn .c-icon:last-child:not(:first-child){margin-right:0;margin-left:4px}.pstep-btns button{display:inline-flex;align-items:center;justify-content:center}.pstep-btns .c-icon{width:16px;height:16px}.c-trend .c-icon,.c-trend-badge .c-icon{width:.8em;height:.8em;vertical-align:0}.c-chip{display:inline-block;font-size:12px;padding:6px 10px;border-radius:2px;background:var(--c-card-2);color:var(--c-muted);border:1px solid var(--c-line);line-height:1.25}.c-top{display:flex;align-items:center;gap:18px;padding:14px 22px;background:var(--c-panel);border-bottom:1px solid var(--c-line);position:sticky;top:0;z-index:20}.c-brand{display:flex;flex-direction:column;gap:4px;min-width:228px}.c-brand-row{display:flex;align-items:center;gap:10px}.c-logo{font-size:28px;font-weight:700;color:var(--c-text);letter-spacing:-.02em;white-space:nowrap}.c-brand-sub{font-size:12px;color:var(--c-text)}.c-chip--mode{color:var(--c-text);font-weight:600}.c-top-exercise{flex:1;display:flex;align-items:center;gap:14px;min-width:0}.c-top-exercise-label{background:var(--c-card-2);border:1px solid var(--c-line);color:var(--c-text);padding:9px 16px;border-radius:2px;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.c-status{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--c-text);background:var(--c-card-2);border:1px solid var(--c-line);padding:9px 12px;border-radius:2px;white-space:nowrap}.c-led{width:8px;height:8px;border-radius:50%;background:var(--c-ok)}.c-status.is-busy{color:var(--c-warn)}.c-status.is-busy .c-led{background:var(--c-warn);animation:c-blink .8s infinite}@keyframes c-blink{50%{opacity:.25}}.c-top-trainer{display:flex;gap:8px}.c-body{flex:1;display:flex;min-height:0}.c-side{width:260px;flex-shrink:0;background:var(--c-panel);border-right:1px solid var(--c-line);padding:18px 14px;display:flex;flex-direction:column;gap:10px;position:sticky;top:73px;height:calc(100vh - 73px);overflow-y:auto}.c-side-title{font-size:12px;color:var(--c-muted);padding:6px 6px 2px}.c-defects{display:flex;flex-direction:column;gap:4px}.c-defect{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:2px;border:1px solid transparent;background:transparent;color:var(--c-text);font:500 14px var(--c-sans);text-align:left;cursor:pointer;transition:background .15s}.c-defect img{width:34px;height:34px;border-radius:2px;object-fit:cover;flex-shrink:0}.c-defect-name{flex:1;min-width:0}.c-defect:hover:not(:disabled){background:var(--c-card-2)}.c-defect.is-active{background:var(--c-accent-soft);border-color:transparent;box-shadow:inset 3px 0 0 var(--c-accent);font-weight:600}.c-defect.is-soon{opacity:.4;cursor:not-allowed}.c-defect.is-soon img{filter:grayscale(1)}.c-defect-soon{font-size:12px;color:var(--c-muted)}.c-links{display:flex;flex-direction:column}.c-links a{color:var(--c-muted);text-decoration:none;padding:7px 10px;border-radius:2px;font-size:14px}.c-links a:hover{background:var(--c-card-2);color:var(--c-text)}.c-side-foot{margin-top:auto;background:var(--c-card);border:1px solid var(--c-line);border-radius:2px;padding:12px;display:grid;gap:8px;font-size:12px}.c-side-foot div{display:flex;justify-content:space-between;align-items:baseline}.c-side-foot span{color:var(--c-muted)}.c-side-foot strong{font-size:14px}.c-main{flex:1;min-width:0;padding:18px;display:flex;flex-direction:column;gap:16px}.c-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}.c-col{display:flex;flex-direction:column;gap:16px;min-width:0}.c-col--right{position:sticky;top:91px}.c-pair{display:grid;grid-template-columns:1fr 1.3fr;gap:16px}.c-card{background:var(--c-card);border:1px solid var(--c-line);border-radius:2px;padding:18px;scroll-margin-top:90px}.c-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.c-card-sub{display:block;font-size:12px;color:var(--c-muted);margin-top:5px}.c-empty{align-items:center;justify-content:center}.c-empty-card{max-width:760px;text-align:center}.c-empty-card .schematic{margin-bottom:26px;opacity:.8}.c-empty-card h2{font-size:28px;margin-bottom:8px}.c-empty-card p{color:var(--c-muted);font-size:14px;line-height:1.55}.c-task{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.c-task-info{flex:1;min-width:320px;display:flex;flex-direction:column;gap:10px}.c-task-goal{margin:0;color:#c9ccd2;line-height:1.5;max-width:720px}.c-report{border:1px solid var(--c-line);border-radius:2px;background:var(--c-card-2);max-width:720px}.c-report-head{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:0;color:var(--c-info);padding:10px 14px;cursor:pointer;font-size:12px}.c-report-body{padding:0 14px 12px;color:#d4d6db;line-height:1.5}.c-report-body p{margin:0 0 6px}.c-report-body ul{margin:0;padding-left:20px;color:var(--c-muted)}.c-task-side{display:flex;flex-direction:column;gap:12px;align-items:flex-end}.c-readout{display:flex;gap:0;background:#0d0e10;border:1px solid var(--c-line);border-radius:2px}.c-readout div{display:flex;flex-direction:column;gap:4px;padding:10px 16px}.c-readout div+div{border-left:1px solid var(--c-line)}.c-readout span{font-size:12px;color:var(--c-muted)}.c-readout strong{font-size:18px}.c-readout div+div strong{font-size:12px;color:var(--c-text);margin-top:6px}.c-task-actions{display:flex;gap:10px}.c-task-actions .c-btn--primary{min-width:200px;font-size:14px;padding:14px 22px}.pstep{background:var(--c-card-2);border:1px solid var(--c-line);border-radius:2px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;min-width:0}.pstep-head{display:flex;justify-content:space-between;gap:8px}.pstep-label{font:500 12px var(--c-mono);color:var(--c-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pstep-sym{font:600 12px var(--c-sans);color:var(--c-muted)}.pstep-body{display:flex;align-items:center;gap:6px}.pstep-input{width:100%;min-width:0;flex:1;background:transparent;border:0;outline:0;color:var(--c-text);font:700 22px var(--c-mono);padding:0;-moz-appearance:textfield}.pstep-input::-webkit-outer-spin-button,.pstep-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pstep-input:focus{color:var(--c-text)}.pstep:focus-within{border-color:var(--c-accent)}.pstep-unit{font:12px var(--c-mono);color:var(--c-muted)}.pstep-btns{display:flex;gap:4px}.pstep-btns button{width:30px;height:30px;border-radius:2px;border:1px solid var(--c-line);background:#2d3036;color:var(--c-text);font:700 18px var(--c-mono);cursor:pointer}.pstep-btns button:hover:not(:disabled){background:#3a3e46;border-color:#5a5f69}.pstep-btns button:disabled{opacity:.35;cursor:not-allowed}.pstep.is-disabled .pstep-input{color:#b9bcc3}.pstep-input{font-variant-numeric:tabular-nums}.pstep--compact{padding:10px 12px;gap:8px}.pstep--compact .pstep-body{flex-wrap:wrap;row-gap:8px}.pstep--compact .pstep-input{flex:1 1 auto;width:0;font-size:22px;line-height:1.1}.pstep--compact .pstep-unit{font-size:14px}.pstep--compact .pstep-btns{flex:1 1 100%}.pstep--compact .pstep-btns button{flex:1;width:auto;height:30px;font-size:18px}.pstep-label{color:#b3b7bf}.c-schematic{background:#101113;border:1px solid var(--c-line);border-radius:2px;padding:14px;display:flex;flex-direction:column;gap:12px}.c-schematic{container-type:inline-size}.c-temps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}@container (max-width: 620px){.c-temps{grid-template-columns:repeat(3,minmax(0,1fr))}}.c-mold-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.c-row4{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.schematic{width:100%;max-width:820px;margin:0 auto;height:auto;display:block}.sch-dot{fill:#2a2d33}.sch-metal{fill:#3a3d44;stroke:#50545d;stroke-width:1}.sch-metal-dark{fill:#25272c;stroke:#50545d}.sch-tie{stroke:#555a63;stroke-width:4}.sch-mold{stroke:#0e0f11;stroke-width:2;opacity:.85}.sch-parting{stroke:#0e0f11;stroke-width:2;stroke-dasharray:4 3}.sch-barrel{fill:#2b2e34;stroke:#50545d}.sch-screw-body{fill:#585d67}.sch-flight{stroke:#a9aeb7;stroke-width:2;opacity:.8}.sch-band{stroke:#0e0f11;stroke-width:1.5;opacity:.9}.sch-hopper{fill:#34373e;stroke:#50545d}.sch-label{fill:var(--c-muted);font:600 14px var(--c-sans);letter-spacing:.03em}.sch-zone{cursor:pointer}.sch-zone:hover .sch-band{stroke:var(--c-text);stroke-width:2}.sch-clamp{transform:translate(-40px)}.schematic.is-cycling .sch-screw{animation:c-screw 5s ease-in-out}.schematic.is-cycling .sch-clamp{animation:c-clamp 5s ease-in-out}.schematic.is-cycling .sch-flights{animation:c-flights 5s linear}@keyframes c-flights{0%,50%{transform:translate(0)}72%,to{transform:translate(var(--flight-shift, -120px))}}@media (prefers-reduced-motion: reduce){.schematic.is-cycling .sch-flights{animation:none}}@keyframes c-screw{0%,12%{transform:translate(0)}30%{transform:translate(-26px)}50%{transform:translate(-30px);animation-timing-function:linear}72%{transform:translate(calc(-1 * var(--deko-shift, 0px)));animation-timing-function:ease-out}80%{transform:translate(0)}}@keyframes c-clamp{0%{transform:translate(-40px)}12%{transform:translate(0)}85%{transform:translate(0)}to{transform:translate(-40px)}}.c-vp-value{display:flex;flex-direction:column;align-items:center;background:#0d0e10;border:1px solid var(--c-line);border-radius:2px;padding:8px 16px;min-width:88px}.c-vp-value strong{font-size:28px;color:var(--c-text);line-height:1}.c-vp-value span{font-size:12px;color:var(--c-muted);margin-top:4px}.c-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:8px;border-radius:2px;margin:10px 0 6px;background:linear-gradient(to right,#8a909a var(--pct),#34373e var(--pct));outline:none;cursor:pointer}.c-range:disabled{cursor:not-allowed;opacity:.6}.c-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--c-text);border:4px solid #5a5f69}.c-range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--c-text);border:4px solid #5a5f69}.c-range-scale{display:flex;justify-content:space-between;font-size:12px;color:var(--c-muted)}.c-vp-foot{display:flex;justify-content:space-between;font-size:12px;color:#62666f;margin:8px 0 14px}.c-vp-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px}.c-stack{display:flex;flex-direction:column;gap:10px}.c-profile{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.c-profile-col{display:flex;flex-direction:column;align-items:center;gap:6px}.c-profile-bar{width:100%;height:90px;background:#131417;border:1px solid var(--c-line);border-radius:2px;display:flex;align-items:flex-end;overflow:hidden}.c-profile-bar{cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;height:130px}.c-profile-bar:hover:not(.is-disabled),.c-profile-bar:focus-visible{border-color:#6a707a;outline:none}.c-profile-bar.is-disabled{cursor:not-allowed}.c-profile-fill{position:relative;width:100%;background:#5b616b}.c-profile-col:last-child .c-profile-fill{background:#6f79b8}.c-profile-grip{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);width:60%;max-width:46px;height:8px;border-radius:2px;background:var(--c-text);box-shadow:0 0 0 2px #131417}.c-profile-bar.is-disabled .c-profile-grip{display:none}.c-profile-input{width:100%;text-align:center;background:var(--c-card-2);border:1px solid var(--c-line);border-radius:2px;color:var(--c-text);font-size:14px;font-weight:700;padding:5px 2px;-moz-appearance:textfield}.c-profile-input::-webkit-outer-spin-button,.c-profile-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.c-profile-input:focus{outline:1px solid #6a707a}.c-profile-label{font-size:12px;color:var(--c-muted)}.c-profile-unit{font-size:12px;color:#62666f;margin:8px 0 12px}.c-verdict{font-size:12px;font-weight:700;padding:7px 10px;border-radius:2px}.c-verdict--ng{background:var(--c-ng-bg);color:#ffd9d6}.c-verdict--ok{background:#2f4a1d;color:#d6f0c2}.c-verdict--warn{background:#5b4712;color:#ffe29a}.c-part{position:relative;border-radius:2px;overflow:hidden;border:1px solid var(--c-line);background:#0d0e10}.c-part img{display:block;width:100%;height:160px;object-fit:cover}.c-part-ok{height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.c-part-ok .c-icon{color:var(--c-ok)}.c-part-ok strong{font-size:18px}.c-part-caption{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 10px;font-size:12px;font-weight:600;background:linear-gradient(transparent,#000000d9);color:#ffd2cc}.c-part.is-ok .c-part-caption{color:var(--c-ok)}.c-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.c-metric{background:var(--c-card-2);border:1px solid var(--c-line);border-radius:2px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;min-width:0}.c-metric--wide{grid-column:1 / -1}.c-metric>span{font-size:12px;color:var(--c-muted)}.c-metric strong{font:700 18px var(--c-mono)}.c-metric strong small{font-size:12px;color:var(--c-muted);font-weight:400}.c-metric--key>strong{font-size:28px}.c-metric small{font-size:12px;color:var(--c-muted)}.c-metric .is-ok{color:var(--c-ok)}.c-metric .is-ng{color:var(--c-ng)}.c-meter{height:6px;border-radius:2px;background:#34373e;overflow:hidden}.c-meter div{height:100%;background:#8a909a}.c-streak{display:flex;align-items:center;gap:6px}.c-streak i{width:34px;height:10px;border-radius:2px;background:#34373e}.c-streak i.on{background:var(--c-ok)}.c-streak strong{margin-left:auto;font-size:18px}.c-note{margin-top:10px;border-radius:2px;padding:11px 13px;font-size:14px;line-height:1.5;border:1px solid}.c-note strong{display:block;font-size:12px;margin-bottom:4px}.c-note ul{margin:0;padding-left:18px}.c-note p{margin:0}.c-note--ng{border-color:#5a2320;background:#e0544b14;color:#f3c3be}.c-note--warn{border-color:#5b4712;background:#e8b73a14;color:#f3dc9d}.c-note--hint{border-color:#3c4270;background:#b8c2ff12;color:#d9ddff}.c-note--hint strong{color:var(--c-info);font-family:var(--c-sans);font-size:14px}.c-note--ok{border-color:#4a6120;background:var(--c-accent-soft);color:#e2f4be}.c-note--ok strong{color:var(--c-ok);font-family:var(--c-sans);font-size:14px}.c-note--trainer{border-color:#3d3f45;border-style:dashed;color:var(--c-muted);font-size:12px}.c-times dl{display:grid;grid-template-columns:auto 1fr;gap:7px 16px;margin:0;font-size:14px}.c-times dt{color:var(--c-muted);white-space:nowrap}.c-times dd{margin:0;text-align:right;font-weight:600}.c-times dd small{display:block;font-size:12px;font-weight:400;color:var(--c-muted)}.c-times .total{color:var(--c-text);font-weight:700;padding-top:6px;border-top:1px solid var(--c-line)}.c-log-wrap{overflow-x:auto}.c-log{width:100%;border-collapse:collapse;font-size:12px}.c-log th{text-align:left;color:var(--c-muted);font-weight:600;font-size:12px;padding:8px 10px;border-bottom:1px solid var(--c-line);white-space:nowrap}.c-log td{padding:9px 10px;border-bottom:1px solid #25272c;white-space:nowrap;vertical-align:top}.c-log tbody tr:first-child td{background:#ffffff08}.c-log-changes{white-space:normal!important;display:flex;flex-wrap:wrap;gap:4px 12px;color:#c9ccd2}.c-tag{display:inline-block;font-weight:700;font-size:12px;padding:3px 7px;border-radius:2px}.c-tag.ok{background:#2f4a1d;color:#d6f0c2}.c-tag.ng{background:var(--c-ng-bg);color:#ffd9d6}.c-tag.warn{background:#5b4712;color:#ffe29a}.c-trend{margin-left:6px}.c-trend.better{color:var(--c-ok)}.c-trend.worse{color:var(--c-ng)}.c-trend.same{color:var(--c-muted)}.c-modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#050608b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:16px}.c-modal{width:100%;max-width:560px;max-height:calc(100vh - 32px);overflow-y:auto;background:var(--c-card);border:1px solid var(--c-line);border-radius:2px;padding:24px;box-shadow:0 30px 80px #0009;display:flex;flex-direction:column;gap:14px}.c-modal>.c-btn{align-self:flex-end}.c-modal-head{display:flex;gap:14px;align-items:center}.c-modal-head img{width:64px;height:64px;border-radius:2px;object-fit:cover}.c-modal-head span{font-size:12px}.c-exercise-list{display:flex;flex-direction:column;gap:8px}.c-exercise{display:flex;flex-direction:column;gap:4px;text-align:left;background:var(--c-card-2);border:1px solid var(--c-line);border-radius:2px;padding:14px 16px;color:var(--c-text);cursor:pointer;font-family:var(--c-sans)}.c-exercise span.mono{font-size:12px;color:var(--c-muted)}.c-exercise strong{font-size:18px;font-weight:600}.c-exercise .c-muted{font-size:12px}.c-exercise:hover{border-color:var(--c-accent)}.c-exercise.is-active{border-color:var(--c-accent);background:var(--c-accent-soft)}.c-modal--report{max-width:640px}.c-modal--report>span{font-size:12px}.c-modal--report blockquote{margin:0;padding:14px 16px;border-left:3px solid var(--c-info);background:var(--c-card-2);border-radius:0 2px 2px 0;font-size:18px;line-height:1.55}.c-modal-block{background:var(--c-card-2);border-radius:2px;padding:12px 14px;font-size:14px;line-height:1.5}.c-modal-block strong{display:block;font-size:12px;color:var(--c-muted);margin-bottom:6px}.c-modal-block ul{margin:0;padding-left:20px}.c-modal-block p{margin:0}.c-modal-block--goal{border:1px solid #4a6120}.c-modal-block--goal strong{color:var(--c-text)}.c-modal-block--ok{background:var(--c-accent-soft);border:1px solid #4a6120}.c-modal-block--ok strong{color:var(--c-ok)}.c-solution-data{margin-top:8px!important;font-size:12px;color:var(--c-muted)}.c-modal--result{text-align:left;align-items:stretch}.c-modal--result .c-modal-block{text-align:left}.c-result-bar{margin:-24px -24px 0;padding:14px 24px;text-align:left;display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--c-line)}.c-result-bar h2{font-size:18px;letter-spacing:.04em}.c-result-bar span{font-size:12px;color:var(--c-muted)}.c-result-bar.is-ok{background:#22331a;border-left:4px solid var(--c-ok)}.c-result-bar.is-ok h2{color:var(--c-ok)}.c-result-bar.is-warn{background:#332a14;border-left:4px solid var(--c-warn)}.c-result-bar.is-warn h2{color:var(--c-warn)}.c-result-bar.is-ng{background:#3a1916;border-left:4px solid var(--c-ng)}.c-result-bar.is-ng h2{color:var(--c-ng)}.c-modal--result>p{margin:0}.c-trend-badge{align-self:flex-start;font-size:14px;padding:6px 12px;border-radius:2px;background:var(--c-card-2)}.c-trend-badge.better{color:var(--c-ok)}.c-trend-badge.worse{color:var(--c-ng)}@media (max-width: 1280px){.c-grid{grid-template-columns:1fr}.c-col--right{position:static}}@media (max-width: 900px){.c-top{flex-wrap:wrap;position:static}.c-body{flex-direction:column}.c-side{width:100%;height:auto;position:static}.c-defects{flex-direction:row;overflow-x:auto}.c-defect{width:auto;flex-shrink:0}.c-pair,.c-row4,.c-mold-row,.c-vp-steps{grid-template-columns:1fr 1fr}.c-task-side{align-items:stretch}}@media (max-width: 560px){.c-main{padding:12px}.c-pair,.c-row4,.c-mold-row,.c-vp-steps,.c-temps,.c-metrics{grid-template-columns:1fr}}.c-modal-block--note{border:1px solid #3c4270}.c-modal-block--note strong{color:var(--c-info)}.c-formula-main{font-size:18px!important;font-weight:700;color:var(--c-text);margin:4px 0 8px!important}.c-formula ul{margin:0 0 8px;padding-left:18px}.c-formula-calc{font-size:12px;color:var(--c-text);background:#00000040;padding:8px 10px;border-radius:2px}.c-admin-link{margin-top:auto;background:none;border:1px dashed var(--c-line);color:var(--c-muted);border-radius:2px;padding:8px 10px;font-size:12px;cursor:pointer;text-align:left}.c-admin-link:hover:not(:disabled){color:var(--c-text);border-color:#555a63}.c-admin-link+.c-side-foot{margin-top:0}.c-chip--admin{color:var(--c-warn);font-weight:700}.c-modal--code{max-width:380px}.c-code-input{background:var(--c-card-2);border:1px solid var(--c-line);border-radius:2px;color:var(--c-text);font-size:22px;padding:10px 12px;letter-spacing:.2em}.c-code-input:focus{outline:1px solid var(--c-accent)}.c-code-error{color:var(--c-ng);margin:0;font-size:14px}.c-modal-actions{display:flex;justify-content:flex-end;gap:8px}.a-wrap{overflow:auto;max-height:calc(100vh - 260px);border:1px solid var(--c-line);border-radius:2px}.a-matrix{border-collapse:separate;border-spacing:0;font-size:12px;width:max-content;min-width:100%}.a-matrix th,.a-matrix td{padding:5px 8px;border-bottom:1px solid #25272c;border-right:1px solid #25272c;white-space:nowrap;text-align:center}.a-matrix thead th{position:sticky;top:0;background:var(--c-panel);z-index:2;color:var(--c-muted);font-size:12px}.a-matrix thead tr:nth-child(2) th{top:27px;color:var(--c-text)}.a-group{color:var(--c-accent)!important;border-bottom:1px solid var(--c-line)!important}.a-sticky{position:sticky;left:0;background:var(--c-card);z-index:1;text-align:left!important;min-width:230px}.a-matrix thead .a-sticky{z-index:3}.a-matrix td input{width:74px;background:var(--c-card-2);border:1px solid var(--c-line);border-radius:2px;color:var(--c-text);font:600 12px var(--c-mono);padding:4px 6px;text-align:right;-moz-appearance:textfield}.a-matrix td input::-webkit-outer-spin-button,.a-matrix td input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.a-matrix td input:focus{outline:1px solid var(--c-accent)}.a-root input{border:2px solid var(--c-accent)!important}.a-changed input{background:#4a3c10!important;color:#ffe29a!important}.a-root-name{color:var(--c-accent);font-weight:700}.a-window input{width:56px;margin:0 2px}.a-ok{color:var(--c-ok)}.a-ng{color:var(--c-ng);font-weight:700}.a-matrix tfoot td{background:#17181b}.a-matrix tfoot .a-sticky{background:#17181b;color:var(--c-muted)}.a-reset{background:none;border:1px solid var(--c-line);color:var(--c-muted);border-radius:2px;font:12px var(--c-mono);padding:3px 8px;cursor:pointer}.a-reset:disabled{opacity:.35;cursor:default}.c-select{background:var(--c-card-2);color:var(--c-text);border:1px solid var(--c-line);border-radius:2px;padding:9px 10px;font-size:12px;max-width:420px}.i-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.i-list{display:flex;flex-direction:column;gap:14px}.i-row-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px}.i-pct{font-weight:700;font-size:14px}.i-pct em{font-style:normal;font-size:12px;margin-left:6px}.i-pct em.up{color:var(--c-ng)}.i-pct em.down{color:var(--c-ok)}.i-track{height:10px;border-radius:2px;background:#2d3036;overflow:hidden;margin-bottom:4px}.i-fill{height:100%;transition:width .25s}.i-fill.ok,.i-pct.ok{background-color:transparent;color:var(--c-ok)}.i-fill.ok{background:var(--c-ok)}.i-fill.warn{background:var(--c-warn)}.i-pct.warn{color:var(--c-warn)}.i-fill.bad{background:var(--c-ng)}.i-pct.bad{color:var(--c-ng)}.c-mode{position:relative}.c-mode-btn{display:flex;align-items:center;gap:10px;cursor:pointer;text-align:left;font-weight:700}.c-mode-btn:hover:not(:disabled){border-color:#555a63}.c-mode-btn:disabled{cursor:not-allowed;opacity:.6}.c-mode-caret{font-size:12px}.c-mode-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:300px;background:var(--c-card);border:1px solid var(--c-line);border-radius:2px;padding:6px;box-shadow:0 16px 40px #00000080;display:flex;flex-direction:column;gap:2px}.c-mode-item{display:flex;justify-content:space-between;align-items:center;gap:12px;background:none;border:0;color:var(--c-text);font:500 14px var(--c-sans);padding:10px 12px;border-radius:2px;cursor:pointer;text-align:left}.c-mode-item:hover{background:var(--c-card-2)}.c-mode-item.is-active{background:var(--c-accent-soft);color:var(--c-text);box-shadow:inset 3px 0 0 var(--c-accent)}.c-mode-lock{font-size:12px;color:var(--c-muted);white-space:nowrap}.c-account .c-mode-menu{left:auto;right:0}.c-account-sub{font-weight:500;font-size:11px;color:var(--c-muted);letter-spacing:0;text-transform:none}.c-account-name{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.c-mode-item:disabled{cursor:not-allowed;color:var(--c-muted);background:none}.c-account-info{display:flex;flex-direction:column;gap:3px;padding:10px 12px 12px;margin-bottom:4px;border-bottom:1px solid var(--c-line);font-size:13px;color:var(--c-muted)}.c-account-info strong{color:var(--c-text);font-size:14px;word-break:break-all}.c-account-info .is-ok{color:var(--c-ok)}.c-account-info .is-warn{color:var(--c-warn)}.c-account-action{color:var(--c-muted)}.c-account-sep{border-top:1px solid var(--c-line);margin:4px 0}.c-login{gap:14px;max-width:440px}.c-login-tabs{margin:0}.c-login-hint{margin:0;padding:10px 12px;border:1px solid #5b4712;border-radius:2px;color:var(--c-warn);font-size:14px}.c-login-form{display:flex;flex-direction:column;gap:12px}.c-login-form .c-btn--primary{align-self:flex-start}.i-groups{display:flex;flex-direction:column;gap:14px;margin-top:14px}.i-group h3{font-size:12px;color:var(--c-muted);margin:0 0 8px}.i-row--line{display:grid;grid-template-columns:minmax(200px,360px) 1fr 56px 56px;align-items:center;gap:14px}.i-row--line .i-track{margin:0}.i-label{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.i-row--line .i-pct{text-align:right}.i-delta{font-size:12px}.i-delta em{font-style:normal;font-weight:700}.i-delta em.up{color:var(--c-ng)}.i-delta em.down{color:var(--c-ok)}@media (max-width: 700px){.i-row--line{grid-template-columns:1fr 48px 48px}.i-row--line .i-track{grid-column:1 / -1;order:5}}.i-footnote{display:block;margin-top:14px}.c-note--first{margin:0 0 12px}.c-readings{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--c-line);font-size:14px}.c-readings dt{color:var(--c-muted);white-space:nowrap}.c-readings dd{margin:0;text-align:right;font-weight:600}.c-readings dd small{display:block;font-size:12px;font-weight:400;color:var(--c-muted)}.c-readings .is-ok{color:var(--c-ok)}.c-readings .is-ng{color:var(--c-ng)}.c-steps{list-style:none;counter-reset:step;margin:20px auto 0;padding:0;max-width:560px;display:flex;flex-direction:column;gap:10px;text-align:left}.c-steps li{counter-increment:step;display:grid;grid-template-columns:32px 1fr;column-gap:12px;background:var(--c-card);border:1px solid var(--c-line);border-radius:2px;padding:12px 14px}.c-steps li:before{content:counter(step);grid-row:span 2;font-size:22px;font-weight:600;color:var(--c-muted)}.c-steps strong{font-size:14px}.c-steps span{font-size:14px;color:var(--c-muted);line-height:1.5}.c-toast{position:fixed;left:16px;bottom:16px;z-index:90;max-width:460px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;background:var(--c-card);border:1px solid var(--c-line);border-radius:2px;box-shadow:0 16px 40px #00000080;font-size:14px}.c-toast span{flex:1 1 220px}.c-toast .c-btn{padding:8px 12px}.c-group{display:flex;flex-direction:column;gap:2px;text-align:left;cursor:pointer;background:var(--c-card);border:1px solid var(--c-line);border-radius:2px;padding:10px 12px;color:var(--c-text);font:14px var(--c-sans)}.c-group:hover:not(:disabled){border-color:#555a63}.c-group:disabled{opacity:.6;cursor:not-allowed}.c-group strong{font-size:14px}.c-group-label{font-size:12px;color:var(--c-muted)}.c-group small{font-size:12px;color:var(--c-warn)}.c-group.is-joined{box-shadow:inset 3px 0 0 var(--c-ok)}.c-group-license{font-size:12px;color:var(--c-warn)}.c-group-license.is-ok{color:var(--c-muted)}.c-badge{font-style:normal;margin-left:8px;padding:1px 6px;border:1px solid var(--c-line);border-radius:2px;font-size:12px;color:var(--c-text)}.c-badge--lock{color:var(--c-warn);border-color:#5b4712}.c-exercise.is-locked strong{color:var(--c-muted)}.c-exercise:disabled{cursor:progress}.c-field{display:flex;flex-direction:column;gap:6px;font-size:14px}.c-field>span{color:var(--c-muted);font-size:12px}.c-text-input{background:var(--c-card-2);border:1px solid var(--c-line);border-radius:2px;color:var(--c-text);font:16px var(--c-sans);padding:10px 12px;width:100%}.c-text-input:focus{outline:1px solid var(--c-accent)}.c-field-note{margin:0;font-size:12px;line-height:1.5}.c-modal--code h2{font-size:18px}.t-main{max-width:1600px;width:100%;margin:0 auto}.t-user{font-size:14px}.t-login{max-width:420px;margin:40px auto;display:flex;flex-direction:column;gap:14px}.t-login p{margin:0}.t-link{background:none;border:0;color:var(--c-info);font:14px var(--c-sans);cursor:pointer;padding:0;text-align:left}.t-danger{color:var(--c-ng);margin-top:8px}.t-msg-ok{color:var(--c-ok);margin:0;font-size:14px}.t-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}.t-groups{display:flex;flex-direction:column;gap:12px;position:sticky;top:91px}.t-groups nav{display:flex;flex-direction:column;gap:4px}.t-group{display:flex;flex-direction:column;gap:2px;text-align:left;background:none;border:1px solid transparent;border-radius:2px;padding:8px 10px;color:var(--c-text);font:14px var(--c-sans);cursor:pointer}.t-group span{font-size:12px;color:var(--c-muted)}.t-group:hover{background:var(--c-card-2)}.t-group.is-active{background:var(--c-accent-soft);box-shadow:inset 3px 0 0 var(--c-accent)}.t-group.is-archived strong{color:var(--c-muted)}.t-new-group{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--c-line);padding-top:12px}.t-error{grid-column:1 / -1;margin:0;padding:10px 12px;border:1px solid #5a2320;background:#e0544b14;border-radius:2px}.t-content{display:flex;flex-direction:column;gap:16px;min-width:0}.t-group-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}.t-group-head h1{font-size:22px;margin-bottom:4px}.t-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}.t-share{display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--c-card-2);border:1px solid var(--c-line);border-radius:2px;padding:14px}.t-share>div{display:flex;flex-direction:column;gap:6px}.t-code{font-size:28px;letter-spacing:.18em;font-weight:700}.t-share-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.t-qr{width:132px;height:132px;border-radius:2px;background:#fff}.t-projector{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#0b0c0e;color:var(--c-text);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:24px;text-align:center}.t-projector p{font-size:28px;margin:0}.t-projector img{width:min(52vh,80vw);height:auto;border-radius:2px;background:#fff}.t-code--big{font-size:min(12vw,96px)}.t-projector>span{color:var(--c-muted);font-size:18px}.t-tabs{display:flex;gap:4px;border-bottom:1px solid var(--c-line);margin-bottom:14px}.t-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--c-muted);font:600 14px var(--c-sans);padding:8px 14px;cursor:pointer;margin-bottom:-1px}.t-tabs button.is-active{color:var(--c-text);border-bottom-color:var(--c-accent)}.t-table-wrap{overflow-x:auto}.t-matrix,.t-stats{border-collapse:separate;border-spacing:0;font-size:14px;min-width:100%}.t-matrix th,.t-matrix td,.t-stats th,.t-stats td{padding:8px 10px;border-bottom:1px solid #25272c;white-space:nowrap;text-align:left}.t-matrix thead th,.t-stats thead th{color:var(--c-muted);font-size:12px;font-weight:600}.t-matrix tbody tr{cursor:pointer}.t-matrix tbody tr:hover td,.t-matrix tbody tr:hover th{background:#23252a}.t-sticky{position:sticky;left:0;background:var(--c-card);z-index:1;min-width:160px}.t-name{background:none;border:0;color:var(--c-text);font:600 14px var(--c-sans);cursor:pointer;padding:0}.t-ex{text-align:center!important;font-size:12px}.t-cell{text-align:center!important;font-size:12px;min-width:52px}.t-cell.is-ok{color:#d6f0c2;background:#22331a}.t-cell.is-wip{color:#f3dc9d;background:#2c2512}.t-legend{font-size:12px;margin:10px 0 0}.t-stats td{white-space:normal;vertical-align:top}.t-param{display:inline-block;margin:0 6px 4px 0;padding:2px 6px;border:1px solid var(--c-line);border-radius:2px;font-size:12px}.t-param.is-root{border-color:var(--c-ok);color:#d6f0c2}.t-detail{max-width:760px}.t-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.t-session{border-top:1px solid var(--c-line);padding-top:12px;display:flex;flex-direction:column;gap:4px}.t-session-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.t-session>.c-muted{font-size:12px}.t-cycles{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.t-cycles li{display:grid;grid-template-columns:44px 64px 1fr;gap:8px;align-items:baseline;font-size:14px}.t-cycles .c-tag{text-align:center}.t-cycle-no{color:var(--c-muted);font-size:12px}.t-changes small{display:block;color:var(--c-muted);font-size:12px;margin-top:2px}@media (max-width: 900px){.t-layout{grid-template-columns:1fr}.t-groups{position:static}.t-user{display:none}.t-main{padding-bottom:24px}}.c-mbar,.c-mcycle{display:none}.console{overflow-x:clip}@media (max-width: 900px){.console{font-size:15px}.console h1{font-size:22px}.console h2{font-size:18px}.c-top{gap:10px;padding:10px 12px}.c-brand{min-width:0;flex:1}.c-logo{font-size:22px}.c-brand-sub,.c-status{display:none}.c-top-exercise{flex:1 1 100%;order:3;gap:8px}.c-top-exercise-label{flex:1;min-width:0;font-size:14px;padding:9px 12px}.c-top-hint{display:none}.c-side>.c-side-title{display:none}.c-defects{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;overflow:visible}.c-top-exercise .c-btn{padding:9px 12px}.c-top-trainer{flex:1 1 100%;order:4}.c-side{padding:12px;gap:8px;border-right:0;border-bottom:1px solid var(--c-line)}.c-side-foot,.c-admin-link{display:none}.c-defect{width:100%;padding:8px;font-size:14px}.c-defect img{width:30px;height:30px}.c-defect-soon{display:none}.has-exercise .c-defects{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:4px;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}.has-exercise .c-defect{width:auto;flex-shrink:0;scroll-snap-align:start}.has-exercise .c-side>.c-side-title:first-child{display:none}.c-links{flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:2px}.c-links a{white-space:nowrap;border:1px solid var(--c-line);background:var(--c-card);padding:8px 12px;font-size:14px}.c-main{padding:12px 12px 96px;gap:12px}.c-empty{padding-bottom:24px}.c-empty-card h2{font-size:22px}.c-card{padding:14px}.c-task{gap:12px}.c-task-info{min-width:0}.c-task-side{width:100%}.c-readout div{flex:1;padding:8px 12px}.c-task-actions .c-btn--primary{display:none}.c-task-actions .c-btn{flex:1}.c-card-head{flex-wrap:wrap}.c-mold-row,.c-row4,.c-vp-steps{grid-template-columns:1fr 1fr;gap:6px}.c-schematic{padding:8px;gap:8px}.pstep{padding:8px 10px}.pstep-label{font-size:12px}.pstep--compact .pstep-input{font-size:20px}.pstep-btns button,.pstep--compact .pstep-btns button{height:40px;min-width:40px;font-size:20px}.c-profile-bar{height:110px}.c-range{height:10px;margin:14px 0 8px}.c-range::-webkit-slider-thumb{width:28px;height:28px}.c-metrics{grid-template-columns:1fr 1fr}.c-times dt{white-space:normal}.c-modal-bg{padding:8px;align-items:flex-end}.c-modal{padding:18px;max-height:calc(100vh - 16px)}.c-result-bar{margin:-18px -18px 0;padding:12px 18px}.c-modal-head img{width:48px;height:48px}.c-mdock{position:fixed;left:0;right:0;bottom:0;z-index:30}.c-mbar{display:flex;gap:8px;align-items:stretch;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--c-panel);border-top:1px solid var(--c-line)}.c-mbar .c-btn--primary{flex:1.3;font-size:16px;padding:14px 12px}.c-mbar-verdict{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:6px 10px;border:1px solid var(--c-line);border-radius:2px;background:var(--c-card);color:var(--c-text);text-decoration:none}.c-mbar-verdict span{font-size:12px;color:var(--c-muted)}.c-mbar-verdict strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.c-mbar-verdict.is-ng strong{color:var(--c-ng)}.c-mbar-verdict.is-ok strong{color:var(--c-ok)}.c-mbar-verdict.is-warn strong{color:var(--c-warn)}.c-card{scroll-margin-top:12px}.c-toast{left:8px;right:8px;max-width:none;bottom:calc(86px + env(safe-area-inset-bottom))}.c-mcycle{display:flex;flex-direction:column;gap:10px;padding:14px 12px 12px;background:var(--c-panel);border-top:1px solid var(--c-line);box-shadow:0 -18px 40px #0000008c;animation:c-mcycle-in .2s ease-out}.c-mcycle .schematic{background:#101113;border:1px solid var(--c-line)}.c-mcycle-head{display:flex;justify-content:space-between;align-items:baseline}.c-mcycle-head strong{font-size:18px}.c-mcycle-head span{font-size:14px;color:var(--c-muted)}.c-mcycle-track{display:flex;gap:3px;height:6px}.c-mcycle-track i{background:#34373e;border-radius:1px}.c-mcycle-track i.done{background:#8a909a}.c-mcycle-track i.on{background:var(--c-warn)}}@keyframes c-mcycle-in{0%{transform:translateY(24px);opacity:0}}@media (max-width: 700px){.c-empty-card .schematic{display:none}.c-temps{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.c-pair{grid-template-columns:1fr;gap:12px}.sch-label{font-size:26px}.sch-label--aux{display:none}.c-part img,.c-part-ok{height:140px}.c-defects{display:grid;grid-template-columns:1fr 1fr;gap:6px;overflow:visible}}.t-org,.t-owner{grid-column:1 / -1}.t-org.is-expired{border-color:#5b4712}.t-org-info{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center}.t-org-info>div{display:flex;flex-direction:column;gap:2px}.t-org-info span{font-size:12px}.t-org-info strong{font-size:16px}.t-org-info .c-btn{margin-left:auto}.t-org p{margin:10px 0 0;font-size:14px}.t-org-code{letter-spacing:.12em;font-weight:700}.t-org-join{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.t-org-join>div{flex:1 1 320px}.t-org-join h2{margin-bottom:4px}.t-org-join p{margin:0}.t-org-join .c-code-input{width:200px}.is-ok{color:var(--c-ok)}.is-ng{color:var(--c-ng)}.o-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px;background:var(--c-card-2);border:1px solid var(--c-line);border-radius:2px;padding:14px}.o-form .o-notes,.o-form .c-modal-actions,.o-form .c-code-error{grid-column:1 / -1}.o-note{display:block;font-size:12px;margin-top:2px}.o-actions{white-space:nowrap}.o-actions .t-link{margin-right:12px}.o-trainers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.o-trainers li{display:flex;gap:16px;align-items:baseline;font-size:14px}@media (max-width: 700px){.c-account .c-mode-menu{min-width:0;width:min(320px,calc(100vw - 24px))}.c-account-name{max-width:150px}}.t-code-edit{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:4px 0}.t-code-edit .c-code-input{width:220px;font-size:20px}.t-code-note{font-size:12px;margin:4px 0 0}@media (max-width: 360px){.c-logo{font-size:18px}}*{box-sizing:border-box}html,body{margin:0;background:#121316}
