.g2m{gap:var(--s5);display:grid}.g2m-unsupported{padding:var(--s4) var(--s5);background:var(--surface-2);border-left:3px solid var(--warn);border-radius:var(--r-md);font-size:var(--step--1);color:var(--ink-1);max-width:68ch;line-height:1.55}.g2m-unsupported b{color:var(--ink-0)}.g2m-reading{min-height:300px;padding:var(--s7) var(--s5);text-align:center;max-width:46ch;color:var(--ink-1);font-size:var(--step--1);background:var(--surface-1);border:1.5px dashed var(--line-firm);border-radius:var(--r-lg);align-content:center;place-items:center;margin-inline:auto;display:grid}.g2m-bench{gap:var(--s5);grid-template-columns:1fr 1fr;align-items:start;display:grid}.g2m-stage{padding:var(--s3);background:var(--surface-2);border-radius:var(--r-lg);gap:var(--s3);min-width:0;top:var(--s5);justify-items:center;margin:0;display:grid;position:sticky}.g2m-shot{border-radius:var(--r-md);width:100%;box-shadow:var(--shadow-2);background:var(--surface-1);position:relative;overflow:hidden}.g2m-shot img,.g2m-shot video{object-fit:contain;width:100%;height:100%;display:block}.g2m-caption{font-size:var(--step--1);color:var(--ink-2);text-align:center}.g2m-panel{background:var(--surface-1);border:1px solid var(--line-firm);border-radius:var(--r-lg);padding:var(--s5);box-shadow:var(--shadow-2);min-width:0}.g2m-stubrow{justify-content:space-between;align-items:center;gap:var(--s3);margin-bottom:var(--s4);display:flex}.g2m-no{color:var(--brass-lo);font-size:var(--step--1);letter-spacing:.04em}.g2m-reset{font-size:var(--step--1);color:var(--ink-1);border-bottom:1px solid var(--brass)}.g2m-reset:hover{color:var(--ink-0)}.g2m-lbl{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);padding:0;display:block}.g2m-help{margin:var(--s2) 0 0;font-size:var(--step--1);color:var(--ink-2);max-width:48ch;line-height:1.5}.g2m-origin{gap:var(--s3) var(--s5);margin:0 0 var(--s4);padding-bottom:var(--s4);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.g2m-origin dt,.g2m-facts dt{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}.g2m-origin dd,.g2m-facts dd{font-size:var(--step--1);margin:2px 0 0}.g2m-bignum{font-size:var(--step-1);color:var(--ink-0)}.g2m-sub,.g2m-estimate{color:var(--brass-lo)}.g2m-opts{margin:var(--s5) 0 0;gap:var(--s3);border:0;padding:0;display:grid}.g2m-quality{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.g2m-quality button{padding:var(--s3);text-align:left;background:var(--surface-2);border-radius:var(--r-md);min-height:56px;color:var(--ink-1);transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);border:1px solid #0000;gap:2px;display:grid}.g2m-quality button b{font-size:var(--step-0);color:var(--ink-0);font-weight:500}.g2m-quality button small{color:var(--ink-2);font-size:11px;line-height:1.35}.g2m-quality button[aria-pressed=true]{border-color:var(--brass);background:var(--brass-wash)}.g2m-quality button:hover{border-color:var(--brass-lo)}.g2m-rate{color:var(--ink-2);margin:0;font-size:11px}.g2m-bgs{flex-wrap:wrap;gap:4px;display:flex}.g2m-bgs button{align-items:center;gap:var(--s2);min-height:44px;padding:0 var(--s3);background:var(--surface-2);border-radius:var(--r-md);font-size:var(--step--1);color:var(--ink-1);transition:border-color var(--dur) var(--ease);border:1px solid #0000;display:flex}.g2m-bgs button[aria-pressed=true]{border-color:var(--brass);color:var(--ink-0)}.g2m-swatch{border:1px solid var(--line-firm);border-radius:4px;flex:none;width:16px;height:16px}.g2m-custom{align-items:center;gap:var(--s2);min-height:44px;padding:0 var(--s3);background:var(--surface-2);border-radius:var(--r-md);font-size:var(--step--1);color:var(--ink-1);cursor:pointer;display:flex}.g2m-custom input{border:1px solid var(--line-firm);background:0 0;border-radius:4px;width:32px;height:26px;padding:0}.g2m-opt{gap:var(--s3);padding:var(--s3);background:var(--surface-2);border-radius:var(--r-md);cursor:pointer;grid-template-columns:auto 1fr;align-items:start;display:grid}.g2m-opt input{width:20px;height:20px;accent-color:var(--brass);flex:none;margin:2px 0}.g2m-opt b{font-size:var(--step-0);color:var(--ink-0);font-weight:500;display:block}.g2m-opt small{font-size:var(--step--1);color:var(--ink-2);margin-top:2px;line-height:1.45;display:block}.g2m-work{margin-top:var(--s5)}.g2m-strip{border:1px solid var(--line-firm);border-radius:var(--r-sm);background:var(--surface-2);height:46px;position:relative;overflow:hidden}.g2m-strip:before,.g2m-strip:after{content:"";background-image:repeating-linear-gradient(90deg, var(--surface-0) 0 6px, transparent 6px 14px);z-index:1;height:7px;position:absolute;inset-inline:0}.g2m-strip:before{top:3px}.g2m-strip:after{bottom:3px}.g2m-strip-fill{width:var(--p);background:var(--brass-wash);transition:width .18s var(--ease);position:absolute;inset:0 auto 0 0}.g2m-gate{inset-block:0;left:var(--p);background:var(--brass);width:2px;transition:left .18s var(--ease);z-index:2;margin-left:-1px;position:absolute}.g2m-gate:after{content:"";background:var(--brass);opacity:.28;animation:.9s steps(2,end) infinite g2m-flicker;position:absolute;inset:0 -3px}@keyframes g2m-flicker{50%{opacity:.06}}.g2m-hint{font-size:var(--step--1);color:var(--ink-2);margin-top:var(--s2)}.g2m-facts{gap:var(--s3) var(--s5);margin:var(--s5) 0 0;padding-top:var(--s4);border-top:1px dashed var(--line-firm);flex-wrap:wrap;display:flex}.g2m-strong{font-size:var(--step-1);color:var(--brass-lo);font-weight:500}.g2m-promise{margin-top:var(--s4);padding:var(--s3) var(--s4);background:var(--surface-2);border-left:3px solid var(--ok);border-radius:var(--r-md);font-size:var(--step--1);color:var(--ink-1);line-height:1.5}.g2m-promise strong{color:var(--ink-0)}.g2m-note{margin-top:var(--s3);padding:var(--s3) var(--s4);background:var(--surface-2);border-left:3px solid var(--warn);border-radius:var(--r-md);font-size:var(--step--1);color:var(--ink-1);line-height:1.5}.g2m-inline-swatch{border:1px solid var(--line-firm);vertical-align:-1px;border-radius:3px;width:12px;height:12px;display:inline-block}.g2m-loop{margin-top:var(--s4);padding:var(--s4);background:var(--surface-2);border-radius:var(--r-md)}.g2m-loop p{font-size:var(--step--1);color:var(--ink-1);margin:0;line-height:1.5}.g2m-loop strong{color:var(--ink-0)}.g2m-loop pre{margin:var(--s3) 0 0;padding:var(--s3);background:var(--surface-0);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-0);font-size:12px;overflow-x:auto}.g2m-copy{margin-top:var(--s3);min-height:38px;padding:0 var(--s4);background:var(--surface-0);border:1px solid var(--line-firm);border-radius:var(--r-md);font-size:var(--step--1);color:var(--ink-1);transition:border-color var(--dur) var(--ease)}.g2m-copy:hover{border-color:var(--brass)}.g2m-err{margin-top:var(--s4);font-size:var(--step--1);color:var(--error);line-height:1.5}.g2m-acts{gap:var(--s2);margin-top:var(--s5);display:flex}.g2m-acts .g2m-primary{flex:1;margin-top:0}.g2m-primary{text-align:center;width:100%;margin-top:var(--s5);padding:11px var(--s5);background:var(--brass);min-height:44px;color:var(--on-brass);border-radius:var(--r-md);cursor:pointer;transition:background var(--dur) var(--ease), transform var(--dur) var(--ease);font-weight:500;text-decoration:none;display:inline-block}.g2m-primary:hover{background:var(--brass-hi)}.g2m-primary:active{transform:translateY(1px)}.g2m-primary:disabled{opacity:.6;cursor:default}.g2m-secondary{padding:11px var(--s4);background:var(--surface-0);border:1px solid var(--line-firm);border-radius:var(--r-md);min-height:44px;color:var(--ink-1);transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease);font-weight:500}.g2m-secondary:hover{border-color:var(--brass);color:var(--ink-0)}.g2m-adjust{margin-top:var(--s3);font-size:var(--step--1);color:var(--ink-2);max-width:46ch}@media (width<=860px){.g2m-bench{grid-template-columns:1fr}.g2m-stage{position:static}.g2m-shot{max-width:100%!important}.g2m-panel{padding:var(--s4)}.g2m-quality{grid-template-columns:1fr}.g2m-primary{bottom:var(--s4);position:sticky}.g2m-acts{flex-wrap:wrap}.g2m-acts .g2m-primary,.g2m-secondary{flex:100%}}@media (prefers-reduced-motion:reduce){.g2m-gate:after{opacity:.28;animation:none}.g2m-strip-fill,.g2m-gate,.g2m-primary,.g2m-secondary,.g2m-copy,.g2m-quality button,.g2m-bgs button{transition:none}.g2m-primary:active{transform:none}}
