*{box-sizing:border-box}:root{color:#f0f1f3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent:#50dbed;--muted:#92969e;--line:#303239;background:#111215;font-family:Inter,Arial,Helvetica,sans-serif}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;background:var(--accent);color:#08282d;border:1px solid #0000;border-radius:7px;padding:10px 16px;font-size:12px;font-weight:650;transition:background .15s}button:hover{filter:brightness(1.12)}button:disabled{opacity:.4;cursor:default}.quiet{color:#e4e6ea;border-color:var(--line);background:#23252b}button:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}header{background:#141519;border-bottom:1px solid #292b30;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex}.brand{letter-spacing:2px;color:inherit;align-items:center;gap:10px;font-size:16px;font-weight:750;text-decoration:none;display:flex}.brand>span{color:var(--accent);font-size:28px}.brand small{letter-spacing:1.6px;color:var(--muted);margin-left:16px;font-size:9px;font-weight:400}.header-actions{gap:8px;display:flex}main{height:calc(100dvh - 56px);padding:0}.workspace{height:100%}.range-section{isolation:isolate;background:#7b7b7b;flex-direction:column;height:100%;display:flex;position:relative}.surface{isolation:isolate;flex:1;min-height:0;position:relative;overflow:hidden;container-type:size}canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block;outline:none!important}.locked canvas{cursor:none}.hud{z-index:4;pointer-events:none;background:#191b20e8;border:1px solid #ffffff14;border-radius:10px;justify-content:center;gap:40px;padding:13px 28px;display:flex;position:absolute;top:18px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #00000012}.hud label{color:#a6a9b0;letter-spacing:1.1px;white-space:nowrap;margin-bottom:5px;font-size:8px;display:block}.hud strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:20px;font-weight:550}.hud>div:first-child strong{font-size:15px}.progress-track{z-index:5;background:#202228;height:2px;position:absolute;top:0;left:0;right:0}.progress-track>div{background:var(--accent);width:100%;height:100%}.range-caption{color:#ffffff80;letter-spacing:1.2px;pointer-events:none;justify-content:space-between;font-size:8px;display:flex;position:absolute;bottom:90px;left:22px;right:22px}.overlay{text-align:center;z-index:3;background:#14151930;flex-direction:column;justify-content:center;align-items:center;padding:25px;display:flex;position:absolute;inset:0}.overlay:before{content:"";z-index:-1;background:#17191eee;border:1px solid #ffffff15;border-radius:14px;width:min(440px,90%);height:290px;position:absolute;box-shadow:0 20px 80px #0003}.eyebrow{letter-spacing:2px;color:var(--accent);font-size:9px;font-weight:650}.overlay h2{letter-spacing:-.6px;margin:10px 0;font-size:28px;font-weight:550}.overlay p:not(.eyebrow){color:#a7aab2;max-width:345px;margin:8px 0;font-size:12px;line-height:1.6}.overlay button{min-width:160px;margin-top:14px}.overlay #loadingTrack{background:#33363c;width:200px;height:3px;margin:15px}#loadingProgress{background:var(--accent);width:0;height:100%}#resultStats{color:#a7aab2;justify-content:center;gap:24px;margin:8px;font-size:8px;display:flex}#resultStats strong{color:#eee;margin-bottom:4px;font-size:22px;font-weight:500;display:block}#feedback{color:#fff;pointer-events:none;white-space:nowrap;background:#1b1d22b0;border-radius:5px;padding:6px 10px;font-size:10px;position:absolute;top:110px;left:50%;transform:translate(-50%)}#feedback:empty{display:none}.reticle{pointer-events:none;filter:drop-shadow(0 0 1px #000);width:18px;height:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.reticle:before,.reticle:after{content:"";background:#fff;position:absolute}.reticle:before{width:18px;height:2px;top:8px;left:0}.reticle:after{width:2px;height:18px;top:0;left:8px}.reticle>span{background:#fff;border-radius:50%;position:absolute;inset:7px;box-shadow:0 0 0 1px #111}.reticle.dot:before,.reticle.dot:after,.reticle.ring:before,.reticle.ring:after{display:none}.reticle.ring{border:1.5px solid #fff;border-radius:50%;width:16px;height:16px}.reticle.ring>span{display:none}#hitmarker{color:#fff;pointer-events:none;font-size:28px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#scopeMask,#scopeMask *{pointer-events:none!important}#scopeMask{place-items:center;display:grid;position:absolute;inset:0}.scope-lens{border:5px solid #15161a;border-radius:50%;width:min(84cqh,88cqw);height:min(84cqh,88cqw);position:relative;box-shadow:0 0 0 3px #54565b,0 0 0 8px #16171b,0 0 0 200vmax #08090bed,inset 0 0 22px #0004}.scope-horizontal,.scope-vertical{background:#17181a;position:absolute;box-shadow:0 0 1px #fff}.scope-horizontal{width:100%;height:1px;top:50%;left:0}.scope-vertical{width:1px;height:100%;top:0;left:50%}.scope-center{background:#ec4e4e;border-radius:50%;width:3px;height:3px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#scopePower{color:#232429;font:10px monospace;position:absolute;bottom:15%;left:50%;transform:translate(-50%)}.controls{pointer-events:none;z-index:2;justify-content:space-between;align-items:end;display:flex;position:absolute;bottom:18px;left:20px;right:20px}.control-help{color:#fff9;text-shadow:0 1px 3px #000;font-size:10px;line-height:1.8}.control-help b{display:none}#inputHint{color:#ffffff80;font-size:9px;display:block}.touch-hint{display:none}.play-buttons{pointer-events:auto;gap:8px;display:flex}#shoot,#scopeButton{touch-action:none;-webkit-user-select:none;user-select:none;min-width:78px;min-height:44px}#mouseLook{background:#191b20b3;font-size:10px}.performance-strip{letter-spacing:.6px;pointer-events:none;color:#868b95;z-index:5;gap:18px;font-size:8px;display:flex;position:absolute;bottom:17px;left:20px}.performance-strip b{color:#dadce2;margin-left:4px;font-size:10px}.performance-strip i{display:none}.session-actions{z-index:4;background:#141519;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;height:46px;padding:6px 20px;display:flex}.session-actions>button{min-width:65px;padding:7px 13px;font-size:10px}body[data-state=running] #start{display:none}aside,.history-panel{border-left:1px solid var(--line);z-index:12;overscroll-behavior:contain;background:#191b20;width:360px;padding:26px;position:fixed;top:56px;bottom:0;right:0;overflow-y:auto;box-shadow:-30px 0 100px #0005}.drawer-close{float:right;padding:6px 10px}.history-panel{width:min(760px,100%)}aside h2,.history-heading h2{letter-spacing:-.6px;margin:12px 0 28px;font-size:22px;font-weight:500}.field{margin-bottom:18px}.field>label{color:#bfc2ca;margin-bottom:9px;font-size:11px;display:block}output{float:right;color:var(--accent);font-size:10px}select{color:#eaecf0;background:#25272e;border:1px solid #363941;border-radius:6px;width:100%;padding:10px;font-size:11px}input[type=range]{width:100%;accent-color:var(--accent)}input[type=checkbox]{accent-color:var(--accent)}fieldset{border:0;margin:0;padding:0}.help{color:#9398a3;font-size:10px;line-height:1.7}.check{color:#bcc0c9;align-items:center;gap:7px;margin-bottom:14px;font-size:11px;display:flex}details{border-top:1px solid var(--line);margin-top:10px;padding-top:20px}summary{cursor:pointer;color:#f0f1f4;margin-bottom:20px;font-size:12px}.history-heading{clear:both;justify-content:space-between;align-items:center;gap:12px;display:flex}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%;font-size:11px}th,td{border-bottom:1px solid #303239;padding:14px 10px}th{letter-spacing:1px;color:#9298a5;text-transform:uppercase;font-size:8px}td{color:#d3d7df}footer{display:none}.sr-only{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.range-section:fullscreen{height:100dvh}.left-handed .play-buttons{flex-direction:row-reverse}@media (pointer:coarse),(width<=600px),(height<=500px) and (orientation:landscape){.desktop-hint,.desktop-only{display:none}.touch-hint{display:inline}.play-buttons{align-items:end;gap:16px}#shoot{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff25;border:2px solid #ffffffc0;border-radius:50%;width:78px;height:78px}#shoot:active{background:#50dbed80}#scopeButton{background:#191b2080;border:1px solid #ffffff80;border-radius:50%;width:56px;min-width:0;height:56px;padding:0;font-size:9px}.controls{bottom:24px;left:20px;right:20px}.control-help{max-width:130px;font-size:9px}#inputHint{display:none}.left-handed .controls{flex-direction:row-reverse}.range-caption{bottom:116px}}@media (width<=700px){header{height:48px;padding:0 12px}.brand{letter-spacing:1px;font-size:13px}.brand small{display:none}.header-actions{gap:5px}.header-actions button{padding:8px;font-size:10px}.brand>span{font-size:22px}main{height:calc(100dvh - 48px)}.hud{gap:20px;max-width:calc(100% - 24px);padding:11px 15px;top:12px}.hud label{letter-spacing:.4px;font-size:7px}.hud strong{font-size:17px}.hud>div:first-child strong{font-size:12px}.hud>div:last-child{display:none}aside,.history-panel{width:min(360px,100%);top:48px}.performance-strip{color:#fff9;justify-content:space-between;gap:8px;font-size:7px;bottom:52px;left:14px;right:14px}.performance-strip b{color:#fff}.session-actions{justify-content:center;height:42px;padding:5px 12px}.range-caption{display:none}#feedback{top:90px}.overlay h2{font-size:25px}.overlay p:not(.eyebrow){max-width:280px}.overlay:before{height:270px}.control-help{display:none}}@media (height<=500px) and (orientation:landscape){header{height:38px;padding:0 14px}.brand small{display:none}.header-actions button{padding:6px 10px}main{height:calc(100dvh - 38px)}aside,.history-panel{top:38px}.hud{gap:30px;padding:8px 20px;top:9px}.hud label{margin-bottom:3px;font-size:6px}.hud strong{font-size:15px}.session-actions{height:36px;padding:4px 14px}.performance-strip{font-size:7px;bottom:13px}.control-help,.range-caption{display:none}.controls{bottom:14px}.overlay:before{height:210px}.overlay h2{margin:4px;font-size:22px}.overlay p:not(.eyebrow){font-size:11px}.overlay button{margin-top:8px}.overlay .eyebrow{margin:5px}#feedback{top:69px}#shoot{width:62px;min-width:62px;height:62px}#scopeButton{width:48px;min-width:48px;height:48px}#resultStats strong{font-size:18px}}@media (pointer:coarse),(width<=600px),(height<=500px) and (orientation:landscape){.play-buttons{margin-left:auto}.left-handed .play-buttons{margin-left:0;margin-right:auto}}body[data-state=paused] #start{display:none}@media (width<=700px){.performance-strip{background:#17191eb3;border-radius:5px;padding:5px 9px;bottom:50px;left:10px;right:10px}}.play-buttons{margin-left:auto}.left-handed .play-buttons{margin-left:0;margin-right:auto}@media (pointer:coarse),(width<=600px),(height<=500px) and (orientation:landscape){.controls{pointer-events:none;display:block;inset:0}.controls .control-help{display:none}.play-buttons,.left-handed .play-buttons{pointer-events:none;width:auto;margin:0;display:block;position:absolute;inset:0}#shoot,#scopeButton{pointer-events:auto;position:absolute;transform:translate(-50%,-50%)}#shoot{top:64%;left:16%}#scopeButton{top:max(90px,20%);left:75%}.left-handed #shoot{left:84%}.left-handed #scopeButton{left:25%}}#scopeMask{--lens:min(84cqh,88cqw);background:radial-gradient(circle at center,transparent calc(var(--lens) * .5),#08090bee calc(var(--lens) * .5 + 1px))}.scope-lens{box-shadow:0 0 0 3px #54565b,0 0 0 8px #16171b}#shoot{-webkit-backdrop-filter:none;backdrop-filter:none}.progress-track>div{transform-origin:0;width:100%}#frameStats b{color:#50dbed;font-variant-numeric:tabular-nums}@media (width<=700px){.performance-strip{gap:5px;font-size:6px}.performance-strip b{font-size:9px}}
