.x2j{gap:var(--s5);grid-template-columns:1fr 1fr;align-items:start;display:grid}@media (width>=901px){.x2j{grid-template-rows:auto 1fr}.x2j-in{grid-area:1/1}.x2j-set{grid-area:2/1}.x2j-out{grid-area:1/2/span 2}}.x2j-in{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s5);transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);min-width:0}.x2j-in.x2j-over{border-color:var(--brass);background:var(--brass-wash)}.x2j-head{justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.x2j-lbl{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}.x2j-head-acts{align-items:center;gap:var(--s4);flex-wrap:wrap;display:flex}.x2j-file,.x2j-example,.x2j-clear{cursor:pointer;align-items:center;min-height:44px;display:inline-flex}.x2j-example,.x2j-clear{font-size:var(--step--1);color:var(--ink-1);border-bottom:1px solid var(--brass);padding-bottom:1px}.x2j-example:hover,.x2j-clear:hover{color:var(--ink-0)}.x2j-in textarea{width:100%;margin-top:var(--s3);padding:var(--s4);background:var(--surface-0);border:1px solid var(--line);border-radius:var(--r-md);resize:vertical;line-height:1.6;font-family:var(--font-mono);font-size:var(--step--1);tab-size:2;transition:border-color var(--dur) var(--ease);contain:paint}.x2j-in textarea:focus{border-color:var(--brass);outline:none}.x2j-in textarea::placeholder{color:var(--ink-2);opacity:.55}.x2j-fileerr{margin-top:var(--s3);font-size:var(--step--1);color:var(--error)}.x2j-filenote{margin-top:var(--s3);font-size:var(--step--1);color:var(--ink-1)}.x2j-status{margin-top:var(--s4);padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--surface-2);border-left:3px solid var(--line-firm);align-items:center;gap:var(--s3) var(--s5);flex-wrap:wrap;min-height:56px;display:flex}.x2j-status[data-state=read]{border-left-color:var(--ok)}.x2j-status[data-state=bad]{border-left-color:var(--error)}.x2j-status[data-state=working]{border-left-color:var(--brass)}.x2j-badge{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.02em;color:var(--ink-1)}.x2j-status[data-state=read] .x2j-badge{color:var(--ok)}.x2j-status[data-state=bad] .x2j-badge{color:var(--error)}.x2j-facts{gap:var(--s2) var(--s4);flex-wrap:wrap;margin:0;display:flex}.x2j-facts dt{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}.x2j-facts dd{font-size:var(--step--1);margin:1px 0 0}.x2j-facts dd[data-warn=true]{color:var(--warn-text);font-weight:600}.x2j-set{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s5);align-self:start;gap:var(--s3);min-width:0;display:grid}.x2j-row{justify-content:space-between;align-items:center;gap:var(--s4);flex-wrap:wrap;display:flex}.x2j-row>span:first-child,.x2j-row>label:first-child{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}.x2j-seg{background:var(--surface-2);border-radius:var(--r-md);flex-wrap:wrap;gap:2px;padding:3px;display:flex}.x2j-seg button{min-width:44px;min-height:44px;padding:0 var(--s3);font-size:var(--step--1);color:var(--ink-1);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);border-radius:7px}.x2j-seg button[aria-pressed=true]{background:var(--surface-0);color:var(--ink-0);box-shadow:var(--shadow-1)}.x2j-text{width:10ch;min-height:44px;padding:0 var(--s3);background:var(--surface-0);border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--step--1);color:var(--ink-0);transition:border-color var(--dur) var(--ease)}.x2j-text:focus{border-color:var(--brass);outline:none}.x2j-hint{font-size:var(--step--1);color:var(--ink-1);max-width:62ch;margin:0;line-height:1.55}.x2j-hint code{font-family:var(--font-mono);background:var(--surface-2);border-radius:var(--r-sm);padding:.1em .3em}.x2j-out{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s5);min-height:360px;box-shadow:var(--shadow-1);transition:box-shadow .26s var(--ease), border-color .26s var(--ease);min-width:0}.x2j-out.has{box-shadow:var(--shadow-2);border-color:var(--line-firm)}.x2j-stub{justify-content:space-between;align-items:baseline;gap:var(--s3);display:flex}.x2j-no{color:var(--brass-lo);font-size:var(--step--1);letter-spacing:.04em}.x2j-sum{color:var(--ink-2);font-size:var(--step--1);text-align:right}.x2j-perf{height:1px;margin:var(--s4) calc(-1 * var(--s5));background-image:linear-gradient(90deg, var(--line-firm) 55%, transparent 0);background-size:9px 1px;position:relative}.x2j-perf:before,.x2j-perf:after{content:"";border-radius:var(--r-full);background:var(--surface-0);border:1px solid var(--line);width:14px;height:14px;position:absolute;top:-7px}.x2j-perf:before{left:-7px}.x2j-perf:after{right:-7px}.x2j-empty{color:var(--ink-2);font-size:var(--step--1);max-width:46ch}.x2j-empty code,.x2j-empty em{font-family:var(--font-mono);background:var(--surface-2);border-radius:var(--r-sm);padding:.1em .3em;font-style:normal}.x2j-source{background:var(--surface-0);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s4);font-size:var(--step--1);white-space:pre;tab-size:2;max-width:100%;max-height:460px;line-height:1.6;overflow-x:auto}.x2j-more{margin-top:var(--s2);font-size:var(--step--2);color:var(--ink-2)}.x2j-losses{margin-bottom:var(--s4)}.x2j-losses h3{font-size:var(--step--1);color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em}.x2j-losses ul{margin-top:var(--s3);gap:var(--s3);padding:0;list-style:none;display:grid}.x2j-losses li{padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--surface-2);border-left:3px solid var(--warn-surface);animation:x2j-land .24s var(--ease) both}.x2j-losses li[data-kind=mixed-content]{border-left-color:var(--error)}.x2j-loss-head{justify-content:space-between;align-items:baseline;gap:var(--s3);flex-wrap:wrap;display:flex}.x2j-loss-head strong{color:var(--ink-0);font-size:var(--step--1)}.x2j-count{color:var(--ink-2);font-size:var(--step--2)}.x2j-loss-why{margin-top:var(--s1);font-size:var(--step--1);color:var(--ink-1);max-width:62ch;line-height:1.55}.x2j-clean{margin-bottom:var(--s4);padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--surface-2);border-left:3px solid var(--ok);font-size:var(--step--1);color:var(--ink-1);max-width:62ch;line-height:1.55}.x2j-error{padding:var(--s4);border-radius:var(--r-md);background:var(--surface-2);border-left:3px solid var(--error)}.x2j-pos{font-size:var(--step--1);color:var(--error)}.x2j-msg{margin-top:var(--s2);font-size:var(--step--1);max-width:62ch}.x2j-excerpt{margin:var(--s3) 0 0;padding:var(--s2) var(--s3);background:var(--surface-0);border:1px solid var(--line);border-radius:var(--r-sm);font-size:var(--step--1);white-space:pre;line-height:1.4;overflow-x:auto}.x2j-acts{margin-top:var(--s4);margin-bottom:var(--s4);gap:var(--s3);flex-wrap:wrap;display:flex}.x2j-primary,.x2j-ghost{min-height:44px;padding:0 var(--s4);border-radius:var(--r-md);font-size:var(--step--1);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease)}.x2j-primary{background:var(--brass);color:var(--on-brass)}.x2j-primary:hover{background:var(--brass-hi)}.x2j-ghost{border:1px solid var(--line-firm);color:var(--ink-1)}.x2j-ghost:hover{color:var(--ink-0);border-color:var(--brass)}@keyframes x2j-land{0%{opacity:0;transform:translateY(-4px)}}@media (width<=900px){.x2j{grid-template-columns:1fr}.x2j-out{min-height:0}.x2j-row{align-items:flex-start;gap:var(--s2);flex-direction:column}.x2j-text{width:100%}}@media (prefers-reduced-motion:reduce){.x2j-losses li{animation:none}.x2j-in,.x2j-out,.x2j-seg button{transition:none}}.x2j-file{cursor:pointer;display:inline-flex}.x2j-file span{min-height:44px;padding:0 var(--s4);border:1px solid var(--line-firm);border-radius:var(--r-md);background:var(--surface-0);font-size:var(--step--1);color:var(--ink-1);transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease);align-items:center;display:inline-flex}.x2j-file span:hover{border-color:var(--brass);color:var(--ink-0)}@media (width<=820px){.x2j-in textarea{height:calc(7 * 1.6em + 2 * var(--s4) + 2px)}}.x2j-summary{margin-bottom:var(--s3);font-size:var(--step--1);color:var(--warn-text)}
