:root{color:#223a44;font-synthesis:none;background:#eef2f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button,a,select,summary{touch-action:manipulation}button{cursor:pointer;color:#24424e;background:#fff;border:1px solid #c6d1d5;border-radius:6px;min-height:42px;padding:10px 15px;font-size:.875rem;font-weight:600}button:hover:enabled{background:#e9f0f1}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #c58b36}.primary{color:#fff;background:#205a65;border-color:#205a65}.primary:hover:enabled{background:#164550}a{color:inherit;text-underline-offset:4px}.topbar{background:#fff;border-bottom:1px solid #d4dee2;justify-content:space-between;align-items:center;height:86px;padding:0 3.1vw;display:flex}.brand{align-items:center;gap:13px;display:flex}.brand strong{letter-spacing:-.04em;font-size:1.3rem}.brand-mark{color:#205a65;border:1px solid #62818b;border-radius:6px;padding:4px 10px;font-size:1.7rem;font-weight:400;display:block}.brand-mark span{margin-left:2px;font-size:1rem}.edition{letter-spacing:.14em;color:#58727e;margin-top:3px;font-size:.65rem;display:block}.topbar nav{align-items:center;gap:25px;font-size:.85rem;display:flex}.experimental{color:#826535;background:#f2eee5;border:1px solid #e6dcc9;border-radius:4px;padding:5px 9px}main{max-width:1800px;margin:auto;padding:30px 3.1vw 24px}.session-heading{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.eyebrow{letter-spacing:.13em;color:#657d87;margin:0 0 6px;font-size:.72rem;font-weight:700}h1{letter-spacing:-.045em;margin:0 0 8px;font-size:2.15rem;font-weight:600;line-height:1.15}.intro{color:#647a84;margin:0;font-size:.95rem}.progress{text-align:right;flex-direction:column;gap:3px;display:flex}.progress strong{font-size:1.9rem;font-weight:500}.progress strong span{color:#8ca0aa;font-size:1.15rem}.progress>span{color:#627b87;font-size:.8rem}.workbench{grid-template-columns:minmax(0,3.35fr) minmax(285px,1fr);align-items:stretch;gap:18px;display:grid}.sim-panel{background:#111c24;border:1px solid #213744;border-radius:8px;flex-direction:column;min-height:650px;display:flex;overflow:hidden}.panel-bar{letter-spacing:.1em;justify-content:space-between;align-items:center;gap:8px;min-height:45px;padding:12px 17px;font-size:.7rem;font-weight:600;display:flex}.sim-panel .panel-bar{color:#a0b5c0;border-bottom:1px solid #293b46}.sim-panel .panel-bar span:last-child{color:#ccdadf;border:1px solid #3a5462;border-radius:3px;padding:5px 8px;font-size:.65rem}#trainer{flex:1;min-height:520px;position:relative}#trainer canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.sim-caption{color:#a7bcc6;border-top:1px solid #293b46;justify-content:space-between;align-items:center;gap:10px;padding:15px 18px;font-size:.7rem;display:flex}.swatch{vertical-align:middle;background:#aec5ce;width:16px;height:3px;margin:0 5px;display:inline-block}.swatch.right{background:#d3c9b4}.sidebar{background:#fff;border:1px solid #d0dade;border-radius:8px;overflow:hidden}.sidebar .panel-bar{color:#5c7480;border-bottom:1px solid #dde5e8}.camera-frame{aspect-ratio:4/3;background:#e3e9ec;border-radius:5px;margin:16px 16px 10px;position:relative;overflow:hidden}video,#overlay{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}video{transform:scaleX(-1)}#overlay{pointer-events:none}#camera-placeholder{text-align:center;color:#69818c;flex-direction:column;justify-content:center;align-items:center;padding:10px;display:flex;position:absolute;inset:0}#camera-placeholder p{font-size:.82rem;line-height:1.6}.camera-icon{font-size:1.8rem;font-weight:300}.hand-status{color:#677e88;justify-content:space-between;gap:6px;padding:0 16px 14px;font-size:.7rem;display:flex}.hand-status .tracked{color:#24745e}.steps{counter-reset:step;color:#7c9098;border-top:1px solid #e4eaed;border-bottom:1px solid #e4eaed;justify-content:space-between;gap:8px;margin:0;padding:14px 16px;font-size:.74rem;list-style:none;display:flex}.steps li:before{counter-increment:step;content:counter(step);border:1px solid #ccd7db;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;margin-right:4px;font-size:.65rem;display:inline-flex}.steps li.active{color:#205a65;font-weight:700}.steps li.active:before{color:#fff;background:#205a65;border-color:#205a65}.guidance{padding:19px 18px 7px}h2{letter-spacing:-.015em;margin:0 0 10px;font-size:1.14rem;font-weight:600;line-height:1.35}.guidance>p:not(.eyebrow){color:#617983;margin:7px 0;font-size:.83rem;line-height:1.65}#countdown{color:#205a65;font-size:2.9rem;font-weight:500;line-height:1.25}.controls{gap:9px;padding:14px 17px 16px;display:grid}.controls label{color:#637984;font-size:.75rem}.controls select{color:#3f5964;background:#fff;border:1px solid #ccd7da;border-radius:4px;width:100%;min-width:0;padding:8px;font-size:.8rem}.primary span{float:right}.button-pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}.text-button{color:#6d7f86;background:0 0;border-color:#0000;min-height:30px;padding:4px}.controls>button:not(.primary){font-size:.8rem}#error{color:#7d482a;background:#fff2e9;border:1px solid #e4bea5;border-radius:5px;margin:10px 17px;padding:12px;font-size:.85rem;line-height:1.5}footer{color:#647b85;padding:18px 0;font-size:.78rem;line-height:1.6}.privacy{margin:0 0 8px}details{max-width:1000px}summary{cursor:pointer}details p{font-size:.82rem}#results{background:#fff;border:1px solid #c8d8d4;border-top:3px solid #438970;border-radius:7px;grid-template-columns:1fr auto;gap:20px;margin-top:20px;padding:26px;display:grid}#results[hidden]{display:none}#results>div p:last-child{color:#607984;font-size:.85rem}#metrics{grid-column:1/-1;grid-template-columns:repeat(6,1fr);gap:20px;margin:0;display:grid}#metrics div{border-left:1px solid #e0e7e8;padding-left:15px}dt{color:#69808a;font-size:.75rem}dd{margin:5px 0 0;font-size:1.35rem}#result-retry{grid-area:1/2;align-self:start}.small-layout{display:none}@media (max-width:1100px){main{padding:22px 18px}.workbench{grid-template-columns:minmax(0,2.5fr) 290px}.sim-caption span:nth-child(2){display:none}#metrics{grid-template-columns:repeat(3,1fr)}}@media (max-width:899px){.small-layout{color:#765422;background:#fff4df;border:1px solid #e5d1a6;margin-bottom:16px;padding:14px;line-height:1.5;display:block}.workbench{grid-template-columns:1fr}.sim-panel{min-height:360px}#trainer{min-height:320px}.sidebar{justify-self:center;width:100%;max-width:600px}.session-heading{gap:14px}.intro{font-size:.8rem}.topbar{padding:0 18px}.edition{font-size:.6rem}.topbar nav{gap:10px;font-size:.75rem}h1{font-size:1.8rem}.progress strong{font-size:1.5rem}#metrics{grid-template-columns:repeat(2,1fr)}#results{grid-template-columns:1fr}#result-retry{grid-area:auto/1}.experimental{display:none}}.entry{background:#fff;border:1px solid #d0dade;border-left:3px solid #205a65;border-radius:7px;justify-content:space-between;align-items:center;gap:30px;margin-bottom:22px;padding:20px 24px;display:flex}.entry[hidden]{display:none}.entry h2{margin:0 0 6px}.entry p{color:#627c87;margin:0;font-size:1rem}.entry .primary{min-width:210px;min-height:52px;font-size:1rem}.research{border-bottom:1px solid #d1dce1;justify-content:space-between;align-items:center;gap:35px;margin-top:24px;padding:24px 0;display:flex}.research h2{font-size:1rem}.research p{color:#647a85;max-width:780px;margin:6px 0;font-size:.875rem;line-height:1.6}.secondary-link{white-space:nowrap;border:1px solid #c5d3d8;border-radius:5px;padding:11px 15px;font-size:.875rem;text-decoration:none;display:inline-block}.secondary-link[aria-disabled]{color:#7c8d96;cursor:not-allowed}#research-unavailable{font-size:.8rem}.guidance>p:not(.eyebrow),.controls select,.controls label,.controls>button:not(.primary),.hand-status,.steps{font-size:.875rem}.guidance>p:not(.eyebrow){font-size:1rem}.panel-bar,.sim-caption{font-size:.75rem}footer,details p{font-size:.875rem}.edition,.eyebrow{font-size:.75rem}.steps,.hand-status{flex-wrap:wrap}@media (max-width:899px){.entry,.research{flex-direction:column;align-items:stretch;gap:18px}.topbar nav{flex-wrap:wrap;justify-content:flex-end;max-width:160px}.entry .primary{width:100%}}#practice-time{font-variant-numeric:tabular-nums;color:#205a65;margin-top:5px;font-size:.85rem}#metrics div:first-child dd{color:#205a65;font-size:2rem;font-weight:600}
