.cp-tool{--cp-metal:conic-gradient(from 200deg, #9aa0a8, #3b4047 22%, #d5d9de 46%, #454a51 70%, #8f959d 88%, #9aa0a8);--cp-plate:#0c0e11;--cp-module:#171a1f;--cp-module-edge:#262a31;--cp-lcd-ink:#8affbd;--cp-lcd-glow:#4cd08a8c;--cp-pane-h:clamp(560px, calc(100svh - 200px), 860px);min-width:0;scroll-margin-top:calc(var(--header-h,60px) + 12px);border:1px solid var(--line-200);border-radius:var(--r-xl);background:var(--bg-900);isolation:isolate;flex-direction:column;display:flex;position:relative;box-shadow:inset 0 1px #ffffff0d,0 1px 2px #0006,0 50px 100px -50px #000000d9}.cp-tool:before{content:"";border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(60% 100% at 50% 0,#ffffff0b,#0000 70%);height:160px;position:absolute;inset:0 0 auto}.cp-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.cp-muted{color:var(--ink-500)}.cp-btn{border:1px solid var(--line-300);background:var(--bg-800);min-height:36px;color:var(--ink-900);font:600 14px/1 var(--font-sans);white-space:nowrap;cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease), transform .1s var(--ease);border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 13px;display:inline-flex}.cp-btn:hover:not(:disabled){border-color:var(--line-input);background:var(--bg-700);color:var(--ink-950)}.cp-btn:active:not(:disabled){transform:translateY(1px)}.cp-btn:disabled{opacity:.45;cursor:not-allowed}.cp-btn:focus-visible,.cp-icon-btn:focus-visible,.cp-seg button:focus-visible,.cp-tabs button:focus-visible,.cp-group-head button:focus-visible{outline:2px solid var(--focus-colour);outline-offset:2px}.cp-btn-quiet{border-color:var(--line-300);background:0 0}.cp-btn[aria-pressed=true]{background:var(--signal-tint-2);border-color:var(--signal-line);color:var(--ink-950)}.cp-btn-primary{background:var(--action-600);color:var(--action-ink);border-color:#0000}.cp-btn-primary:hover:not(:disabled){background:var(--action-700);color:var(--action-ink);border-color:#0000}.cp-btn-icon{width:36px;padding:0}.cp-icon-btn{width:30px;height:30px;color:var(--ink-600);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:inline-grid}.cp-icon-btn:hover{background:var(--signal-tint-2);color:var(--ink-950)}.cp-text-btn{color:var(--ink-600);font:500 13px var(--font-sans);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;display:inline-flex}.cp-text-btn:hover{color:var(--ink-950)}.cp-btn-run{color:#04130a;background:linear-gradient(#3dcb7c,#22a35c);border-color:#0000;min-width:96px;min-height:38px;font-weight:700;box-shadow:inset 0 1px #ffffff4d,0 6px 18px -8px #2bb46acc}.cp-btn-run:hover:not(:disabled){color:#04130a;background:linear-gradient(#4ad889,#27ad63);border-color:#0000}.cp-btn-run[data-running]{background:var(--bg-700);color:var(--ink-950);border-color:var(--line-input);box-shadow:none}.cp-btn-run[data-running]:hover:not(:disabled){background:var(--bg-650);color:var(--ink-950)}.cp-seg{border:1px solid var(--line-200);background:var(--bg-950);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.cp-seg button{min-height:30px;color:var(--ink-600);font:600 13px/1 var(--font-sans);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:0 11px}.cp-seg button:hover{color:var(--ink-950)}.cp-seg button[aria-pressed=true]{background:var(--bg-700);color:var(--ink-950);box-shadow:inset 0 1px #ffffff0f,0 1px 2px #0006}.cp-seg-sm button{min-height:26px;padding:0 9px;font-size:12px}.cp-titlebar{z-index:3;border-bottom:1px solid var(--line-200);border-radius:var(--r-xl) var(--r-xl) 0 0;background:linear-gradient(#1c1f25,#171a1f);align-items:center;gap:14px;min-height:62px;padding:10px 14px 10px 16px;display:flex;position:relative}.cp-titlebar-end{align-items:center;gap:8px;margin-left:auto;display:flex;position:relative}.cp-run{gap:6px;display:flex}.cp-speed select,.cp-profile select,.cp-maker select,.cp-pen-add select{border:1px solid var(--line-300);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23a9aeb6' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 10px center, var(--bg-800);min-height:36px;color:var(--ink-900);font:600 14px var(--font-sans);appearance:none;cursor:pointer;border-radius:9px;padding:0 28px 0 10px}.cp-speed select{font-family:var(--font-mono);font-size:13px}.cp-cpu{background:linear-gradient(#0d0f12,#121418);border:1px solid #000;border-radius:8px;gap:4px;padding:6px 8px;display:flex;box-shadow:inset 0 1px 2px #000000b3,0 1px #ffffff0d}.cp-cpu-led{--c:#2bb46a;color:var(--ink-500);font:700 10.5px/1 var(--font-mono);letter-spacing:.08em;align-items:center;gap:5px;padding:0 4px;display:flex}.cp-cpu-led:before{content:"";background:color-mix(in srgb, var(--c) 22%, #0a0b0d);border-radius:1.5px;width:9px;height:6px;transition:background .12s ease-out,box-shadow .12s ease-out;box-shadow:inset 0 1px 1px #0009}.cp-cpu-led[data-colour=amber]{--c:#f2b134}.cp-cpu-led[data-colour=red]{--c:#ff5a4e}.cp-cpu-led[data-on]{color:var(--ink-900)}.cp-cpu-led[data-on]:before{background:var(--c);box-shadow:0 0 6px var(--c), 0 0 14px color-mix(in srgb, var(--c) 50%, transparent)}.cp-title{flex:0 240px;min-width:120px}.cp-program-actions{gap:6px;display:flex}.cp-title input{width:100%;min-height:34px;color:var(--ink-950);font:650 16px var(--font-sans);letter-spacing:-.01em;text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:8px;padding:0 8px}.cp-title input:hover:not(:read-only){border-color:var(--line-200)}.cp-title input:focus{border-color:var(--line-input);background:var(--bg-950);outline:none}.cp-scan{border:1px solid var(--line-200);background:var(--bg-950);border-radius:9px;gap:0;margin:0;padding:0;display:flex}.cp-scan div{gap:2px;min-width:64px;padding:5px 11px;display:grid}.cp-scan div+div{border-left:1px solid var(--line-200)}.cp-scan dt{white-space:nowrap;color:var(--ink-500);font:600 10.5px var(--font-sans);letter-spacing:.06em;text-transform:uppercase}.cp-scan dd{color:var(--ink-900);font:600 13px var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.cp-body{min-height:0;height:var(--cp-pane-h);grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);display:grid}.cp-code,.cp-side{flex-direction:column;min-width:0;min-height:0;display:flex}.cp-code{border-right:1px solid var(--line-200);background:var(--night-900)}.cp-pane-head{border-bottom:1px solid var(--line-200);background:var(--bg-900);justify-content:space-between;align-items:center;gap:10px;min-height:54px;padding:9px 12px;display:flex}.cp-profile{align-items:center;gap:8px;min-width:0;display:flex}.cp-profile select{flex-shrink:0;min-width:124px}.cp-pane-title{color:var(--ink-900);font:650 14px var(--font-sans);letter-spacing:.01em;align-items:center;gap:8px;margin:0;display:flex}.cp-pane-title svg{color:var(--ink-500)}.cp-tabs{border-bottom:1px solid var(--line-200);background:var(--night-800);align-items:stretch;gap:2px;padding:0 10px;display:flex}.cp-tabs button{min-height:40px;color:var(--ink-500);font:600 13.5px var(--font-sans);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0 12px;display:inline-flex;position:relative}.cp-tabs button:hover{color:var(--ink-900)}.cp-tabs button[aria-selected=true]{color:var(--ink-950)}.cp-tabs button[aria-selected=true]:after{content:"";background:var(--lamp-500);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.cp-count{background:var(--signal-tint-2);min-width:20px;height:18px;color:var(--ink-700);font:600 11.5px var(--font-mono);border-radius:999px;place-items:center;padding:0 6px;display:inline-grid}.cp-tabs-status{color:var(--ink-500);font:500 12.5px var(--font-sans);align-items:center;gap:6px;margin-left:auto;display:flex}.cp-tabs-status:before{content:"";background:var(--lamp-500);border-radius:50%;width:7px;height:7px}.cp-tabs-status[data-error]{color:var(--fault-700)}.cp-tabs-status[data-error]:before{background:#ff5a4e;box-shadow:0 0 8px #ff5a4e}.cp-editor{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:auto}.cp-editor>*{flex:1;min-height:0}.cp-editor-loading{color:var(--ink-500);font:500 14px var(--font-sans);place-items:center;display:grid}.cp-side{background:#121418}.cp-panel-head{background:var(--bg-900)}.cp-side-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#353a43 transparent;background:radial-gradient(90% 60% at 50% 0,#ffffff09,#0000 70%),repeating-linear-gradient(90deg,#ffffff03 0 1px,#0000 1px 3px),linear-gradient(#15181c,#101215);flex:1;min-height:0;padding:14px;overflow:auto}.cp-panel{gap:12px;display:grid}.cp-panel-tools{gap:8px;display:flex}.cp-search{max-width:340px;color:var(--ink-500);flex:1;align-items:center;display:flex;position:relative}.cp-search svg{position:absolute;left:11px}.cp-search input{border:1px solid var(--line-300);width:100%;min-height:36px;color:var(--ink-950);font:500 14px var(--font-sans);background:#00000040;border-radius:9px;padding:0 34px}.cp-search input:focus{border-color:var(--line-input);outline:none;box-shadow:0 0 0 3px #6f9bff38}.cp-search kbd,.cp-keys kbd,.cp-hotkey{border:1px solid var(--line-300);background:var(--bg-800);min-width:20px;height:20px;color:var(--ink-600);font:600 11.5px var(--font-mono);border-bottom-width:2px;border-radius:5px;place-items:center;padding:0 5px;display:inline-grid}.cp-search kbd{position:absolute;right:9px}.cp-none{color:var(--ink-500);padding:18px 4px;font-size:14px}.cp-group{--screw:radial-gradient(circle at 40% 35%, #c3c8ce 0 1.2px, #6c727a 1.6px 2.6px, #23272d 3px 3.6px, transparent 4px);border:1px solid var(--cp-module-edge);background:var(--screw) 7px 7px / 10px 10px no-repeat, var(--screw) calc(100% - 7px) 7px / 10px 10px no-repeat, var(--screw) 7px calc(100% - 7px) / 10px 10px no-repeat, var(--screw) calc(100% - 7px) calc(100% - 7px) / 10px 10px no-repeat, linear-gradient(180deg, #1b1e24, var(--cp-module));border-radius:12px;padding:10px 16px 16px;position:relative;box-shadow:inset 0 1px #ffffff0d,0 1px #00000080,0 10px 24px -16px #000c}.cp-group-head{margin:0 0 2px;padding:0 10px}.cp-group-head button{min-height:32px;color:var(--ink-700);font:700 12px var(--font-sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 6px 0 2px;display:inline-flex}.cp-group-head button:hover{color:var(--ink-950)}.cp-chevron{transition:transform .2s var(--ease)}.cp-group-head button[aria-expanded=false] .cp-chevron{transform:rotate(-90deg)}.cp-grid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:10px 8px;margin:0;padding:0;list-style:none;display:grid}.cp-cell{min-width:0;transition:background .2s var(--ease), box-shadow .2s var(--ease), transform .2s var(--ease);border-radius:10px;flex-direction:column;align-items:center;gap:8px;padding:10px 6px 6px;display:flex;position:relative}.cp-cell[data-kind=slider],.cp-cell[data-kind=timer],.cp-cell[data-kind=counter],.cp-cell[data-array]{grid-column:span 2}.cp-cell-device{place-items:center;width:100%;min-height:74px;display:grid}.cp-cell[data-kind=gauge] .cp-cell-device{min-height:128px}.cp-plate{justify-items:center;gap:4px;max-width:100%;display:grid}.cp-plate-label{color:#f1f3f5;max-width:100%;font:700 12px/1.25 var(--font-sans);letter-spacing:.07em;text-transform:uppercase;text-align:center;-webkit-line-clamp:2;overflow-wrap:anywhere;background:linear-gradient(#0a0c0e,#121418);border:1px solid #30353d;border-radius:3px;-webkit-box-orient:vertical;padding:4px 9px 3px;display:-webkit-box;overflow:hidden;box-shadow:inset 0 1px 1px #000c,0 1px #ffffff0d}.cp-tagname{max-width:100%;color:var(--ink-500);font:500 12px var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cp-device{place-items:center;display:grid;position:relative}.cp-hotkey{opacity:.85;min-width:18px;height:18px;font-size:11px;position:absolute;bottom:-2px;left:-20px}.cp-read{background:#2a3a30;border-radius:50%;width:7px;height:7px;transition:background 80ms ease-out;position:absolute;top:-4px;right:-14px;box-shadow:inset 0 1px 1px #000000b3}.cp-read[data-on]{background:#4cd08a;box-shadow:0 0 6px #4cd08a}[data-colour=green]{--c:#2bb46a;--hi:#c4f7d8;--lo:#0c4d2b}[data-colour=red]{--c:#e8483c;--hi:#ffd0cb;--lo:#6e130d}[data-colour=amber]{--c:#f3ae2b;--hi:#fff1c9;--lo:#7e5205}[data-colour=blue]{--c:#2f92e6;--hi:#cfe8ff;--lo:#0c3a66}[data-colour=white]{--c:#dfe4ea;--hi:#fff;--lo:#737a83}.cp-pb,.cp-sel{background:var(--cp-metal);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:0;border-radius:50%;place-items:center;width:68px;height:68px;padding:0;display:grid;position:relative;box-shadow:0 8px 16px -6px #000000d9,0 2px 3px #0009}.cp-pb:before,.cp-sel:before{content:"";background:radial-gradient(circle at 50% 35%,#23262b,#08090b 70%);border-radius:50%;position:absolute;inset:5px;box-shadow:inset 0 2px 4px #000000e6}.cp-pb:focus-visible,.cp-sel:focus-visible{outline:2px solid var(--focus-colour);outline-offset:4px}.cp-pb:disabled,.cp-sel:disabled{cursor:default}.cp-pb-guard{border-radius:50%;position:absolute;inset:9px;box-shadow:0 0 0 1px #ffffff0f}.cp-pb-cap{background:radial-gradient(circle at 36% 28%, #ffffff8c 0 9%, transparent 22%), radial-gradient(circle at 50% 42%, var(--hi) -30%, var(--c) 46%, var(--lo) 100%);width:46px;height:46px;box-shadow:inset 0 -4px 7px #0006, inset 0 2px 2px #ffffff4d, 0 4px 0 color-mix(in srgb, var(--lo) 80%, #000), 0 6px 9px #0000008c;border-radius:50%;transition:transform 70ms ease-out,box-shadow 70ms ease-out,filter 70ms ease-out;position:relative;transform:translateY(-2px)}.cp-pb[data-down] .cp-pb-cap{filter:brightness(1.15)saturate(1.1);box-shadow:inset 0 -2px 5px #00000059, inset 0 3px 6px #0000004d, 0 1px 0 color-mix(in srgb, var(--lo) 80%, #000), 0 0 14px 1px color-mix(in srgb, var(--c) 55%, transparent), 0 0 30px 6px color-mix(in srgb, var(--c) 22%, transparent);transform:translateY(1px)scale(.955)}.cp-pb:hover:not(:disabled) .cp-pb-cap{filter:brightness(1.06)}.cp-sel-knob{background:radial-gradient(circle at 40% 30%,#3a3f47,#15171a 70%);border-radius:50%;place-items:center;width:48px;height:48px;display:grid;position:relative;box-shadow:inset 0 1px 1px #ffffff26,0 3px 6px #000000b3}.cp-sel-lever{background:linear-gradient(90deg,#121418,#3c424a 45%,#23272d 60%,#0e1013);border-radius:7px;width:14px;height:50px;transition:transform .24s cubic-bezier(.34,1.56,.64,1);position:relative;transform:rotate(-45deg);box-shadow:0 3px 6px #000000bf,inset 0 1px #ffffff2e}.cp-sel-lever:after{content:"";background:#f1f3f5;border-radius:2px;width:3px;height:11px;margin-left:-1.5px;position:absolute;top:4px;left:50%}.cp-sel[data-on] .cp-sel-lever{transform:rotate(45deg)}.cp-sel-mark{color:var(--ink-500);font:800 12px/1 var(--font-sans);transition:color .15s;position:absolute;top:-13px}.cp-sel-mark-0{left:2px}.cp-sel-mark-1{right:4px}.cp-sel:not([data-on]) .cp-sel-mark-0,.cp-sel[data-on] .cp-sel-mark-1{color:#f1f3f5}.cp-device-switch .cp-read{top:auto;bottom:2px;right:-16px}.cp-lamp{background:var(--cp-metal);border-radius:50%;place-items:center;width:62px;height:62px;display:grid;position:relative;box-shadow:0 6px 14px -6px #000000d9,0 2px 3px #0000008c}.cp-lamp:before{content:"";background:#08090b;border-radius:50%;position:absolute;inset:4px}.cp-lamp-lens{background:radial-gradient(circle at 34% 28%, #ffffff38 0 7%, transparent 16%), repeating-radial-gradient(circle at 50% 50%, #ffffff0a 0 1px, transparent 1px 4px), radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--c) 30%, #0a0b0d), color-mix(in srgb, var(--c) 10%, #050607) 75%);border-radius:50%;width:44px;height:44px;position:relative;box-shadow:inset 0 2px 6px #000000d9}.cp-lamp-lens:after{content:"";background:radial-gradient(circle at 34% 28%, #fffc 0 6%, transparent 14%), repeating-radial-gradient(circle at 50% 50%, #ffffff1a 0 1px, transparent 1px 4px), radial-gradient(circle at 50% 50%, var(--hi) 0%, var(--c) 48%, var(--lo) 100%);box-shadow:0 0 12px 2px color-mix(in srgb, var(--c) 75%, transparent), 0 0 40px 10px color-mix(in srgb, var(--c) 30%, transparent), inset 0 -3px 6px #0000004d;opacity:0;border-radius:50%;transition:opacity .28s cubic-bezier(.4,0,1,1);position:absolute;inset:0}.cp-lamp[data-on] .cp-lamp-lens:after{opacity:1;transition:opacity 70ms ease-out}.cp-cell[data-kind=lamp]:has(.cp-lamp[data-on]) .cp-plate-label{border-color:color-mix(in srgb, var(--c,#fff) 30%, #30353d)}.cp-lamp-sm{width:22px;height:22px;box-shadow:0 2px 4px #000000b3}.cp-lamp-sm:before{inset:2px}.cp-lamp-sm .cp-lamp-lens{width:15px;height:15px}.cp-lamp-sm .cp-lamp-lens:after{box-shadow:0 0 6px 1px color-mix(in srgb, var(--c) 75%, transparent), 0 0 14px 3px color-mix(in srgb, var(--c) 30%, transparent)}.cp-lcd{color:var(--cp-lcd-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:linear-gradient(#ffffff08,#0000 40%),#07100b;border:1px solid #000;border-radius:7px;align-items:baseline;gap:6px;padding:7px 11px 6px;display:inline-flex;box-shadow:inset 0 2px 6px #000000d9,0 1px #ffffff0f}.cp-lcd-digits{justify-items:end;display:inline-grid;position:relative}.cp-lcd-digits>*{grid-area:1/1}.cp-lcd-ghost{color:#8affbd0f}.cp-lcd-text{text-shadow:0 0 8px var(--cp-lcd-glow)}.cp-lcd-lg{letter-spacing:.02em;font-size:26px;font-weight:600}.cp-lcd-sm{padding:4px 8px 3px;font-size:15px;font-weight:600}.cp-unit{color:#8affbd99;font:600 12px var(--font-mono)}.cp-fader{gap:8px;width:100%;padding:0 8px;display:grid}.cp-fader-head{justify-content:center;display:flex}.cp-lcd-input{cursor:text;padding:5px 9px 4px}.cp-lcd-input input{width:6ch;min-width:0;min-height:0;box-shadow:none;color:var(--cp-lcd-ink);font:600 22px var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;text-shadow:0 0 8px var(--cp-lcd-glow);background:0 0;border:0;padding:0}.cp-lcd-input input:focus{outline:none}.cp-lcd-input:focus-within{border-color:var(--focus-colour)}.cp-range{--track:8px;width:100%;height:34px;box-shadow:none;appearance:none;cursor:pointer;touch-action:pan-y;background:0 0;border:0;margin:0;padding:0}.cp-range:focus-visible{outline:2px solid var(--focus-colour);outline-offset:2px;border-radius:6px}.cp-range::-webkit-slider-runnable-track{height:var(--track);background:linear-gradient(90deg, #2bb46a, #4cd08a) 0 0 / calc(var(--at) * 100%) 100% no-repeat, linear-gradient(180deg, #07080a, #15181c);border:1px solid #000;border-radius:6px;box-shadow:inset 0 1px 2px #000c,0 1px #ffffff12}.cp-range::-moz-range-track{height:var(--track);background:linear-gradient(#07080a,#15181c);border:1px solid #000;border-radius:6px}.cp-range::-moz-range-progress{height:var(--track);background:linear-gradient(90deg,#2bb46a,#4cd08a);border-radius:6px}.cp-range::-webkit-slider-thumb{width:22px;height:30px;margin-top:calc((var(--track) - 30px) / 2 - 1px);appearance:none;background:repeating-linear-gradient(#0000 0 4px,#00000038 4px 5px) 50%/12px 16px no-repeat,linear-gradient(#eef1f4,#a4abb3 55%,#868d96);border:1px solid #0b0c0e;border-radius:5px;transition:transform .1s ease-out;box-shadow:0 3px 6px #000000a6,inset 0 1px #fffc}.cp-range::-moz-range-thumb{background:repeating-linear-gradient(#0000 0 4px,#00000038 4px 5px) 50%/12px 16px no-repeat,linear-gradient(#eef1f4,#a4abb3 55%,#868d96);border:1px solid #0b0c0e;border-radius:5px;width:22px;height:30px;box-shadow:0 3px 6px #000000a6}.cp-range:active::-webkit-slider-thumb{transform:scale(1.06)}.cp-fader-scale{color:var(--ink-500);font:500 12px var(--font-mono);justify-content:space-between;margin-top:-4px;padding:0 2px;display:flex}.cp-gauge{justify-items:center;width:118px;display:grid;position:relative}.cp-gauge svg{background:radial-gradient(circle at 50% 38%,#22262c,#0d0f12 72%);border-radius:50%;width:118px;height:118px;overflow:visible;box-shadow:0 0 0 3px #08090b,0 0 0 5px #4a4f57,0 0 0 6px #08090b,0 10px 20px -8px #000000d9,inset 0 2px 8px #000c}.cp-gauge-track{fill:none;stroke:#262a31;stroke-width:5px;stroke-linecap:round}.cp-gauge-fill{fill:none;stroke:#4cd08a;stroke-width:5px;stroke-linecap:round;filter:drop-shadow(0 0 3px #4cd08ab3);transition:stroke-dasharray .12s linear}.cp-gauge[data-over] .cp-gauge-fill{stroke:#ff8f86}.cp-tick{stroke:#5c626b;stroke-width:.8px}.cp-tick-major{stroke:#d9dce1;stroke-width:1.4px}.cp-gauge-num{fill:#a9aeb6;font:600 7.2px var(--font-mono)}.cp-gauge-unit{fill:#8e939c;font:600 7.5px var(--font-sans);letter-spacing:.06em}.cp-needle{transform-box:view-box;transform-origin:60px 60px;transition:transform .12s linear}.cp-needle path{fill:#ff5a4e;filter:drop-shadow(0 1px 1.5px #000c)}.cp-needle-hub{fill:#2a2e35;stroke:#0b0c0e;stroke-width:1px}.cp-needle-pin{fill:#c9cdd2}.cp-gauge-value{color:var(--cp-lcd-ink);font:600 13px var(--font-mono);font-variant-numeric:tabular-nums;text-shadow:0 0 6px var(--cp-lcd-glow);background:#07100b;border-radius:4px;padding:2px 7px;position:absolute;bottom:12px;box-shadow:inset 0 1px 3px #000c}.cp-timer,.cp-counter{background:linear-gradient(#121519,#0e1013);border:1px solid #2b3037;border-radius:10px;gap:10px;width:100%;padding:12px 13px;display:grid;box-shadow:inset 0 1px #ffffff0a}.cp-timer-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.cp-type{border:1px solid var(--line-300);color:var(--ink-600);font:700 11px var(--font-mono);letter-spacing:.04em;border-radius:5px;padding:3px 7px}.cp-timer-time{color:var(--ink-500);font:500 12.5px var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.cp-timer-time strong{color:var(--cp-lcd-ink);text-shadow:0 0 6px var(--cp-lcd-glow);font-size:16px;font-weight:600}.cp-bar{background:linear-gradient(#07080a,#14171b);border:1px solid #000;border-radius:6px;height:9px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #000c}.cp-bar-fill{width:calc(var(--at) * 100%);background:linear-gradient(90deg,#4f8ad8,#79aef0);border-radius:5px;transition:width .1s linear;position:absolute;inset:0 auto 0 0}.cp-timer[data-timing] .cp-bar-fill{background:linear-gradient(90deg,#d99520,#f3c46b)}.cp-timer[data-timing] .cp-bar-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff59,#0000);animation:1.1s linear infinite cp-sheen;position:absolute;inset:0}.cp-timer[data-done] .cp-bar-fill,.cp-counter .cp-bar-fill{background:linear-gradient(90deg,#2bb46a,#4cd08a)}@keyframes cp-sheen{0%{transform:translate(-100%)}to{transform:translate(100%)}}.cp-leds{flex-wrap:wrap;gap:12px;display:flex}.cp-led{--c:#4cd08a;color:var(--ink-500);font:700 12px var(--font-mono);align-items:center;gap:6px;display:inline-flex}.cp-led[data-colour=amber]{--c:#f3c46b}.cp-led-dot{background:color-mix(in srgb, var(--c) 18%, #08090b);border-radius:50%;width:9px;height:9px;transition:background 80ms ease-out;box-shadow:inset 0 1px 1px #000000b3}.cp-led[data-on]{color:var(--ink-900)}.cp-led[data-on] .cp-led-dot{background:var(--c);box-shadow:0 0 7px var(--c)}.cp-grid-memory{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px}.cp-grid-memory .cp-cell{background:#0000002e;border:1px solid #23272e;flex-direction:row;justify-content:flex-start;gap:10px;padding:7px 8px}.cp-grid-memory .cp-cell-device{width:auto;min-height:0}.cp-grid-memory .cp-plate{justify-items:start;min-width:0}.cp-grid-memory .cp-plate-label{box-shadow:none;color:var(--ink-800);letter-spacing:.03em;text-transform:none;background:0 0;border:0;padding:0;font-size:12px}.cp-grid-memory .cp-cell[data-array]{flex-direction:column;grid-column:1/-1;align-items:flex-start}.cp-array{flex-wrap:wrap;gap:4px;display:flex}.cp-array-bit{background:#1a2a20;border-radius:50%;width:10px;height:10px}.cp-array-bit[data-on]{background:#4cd08a;box-shadow:0 0 6px #4cd08a}.cp-array-num{min-width:34px;color:var(--cp-lcd-ink);font:600 12px var(--font-mono);text-align:right;background:#07100b;border-radius:4px;padding:2px 5px}.cp-notice{border:1px solid var(--line-300);background:var(--bg-850);color:var(--ink-800);border-radius:11px;align-items:center;gap:12px;padding:11px 12px 11px 14px;font-size:14px;line-height:1.45;display:flex}.cp-notice>svg{flex-shrink:0}.cp-notice>div{flex:1;gap:2px;min-width:0;display:grid}.cp-notice>span{flex:1}.cp-notice-error{border-color:var(--fault-border);background:var(--fault-100);color:var(--ink-900)}.cp-notice-error>svg{color:var(--fault-700)}.cp-notice-error span{color:var(--ink-700);font-family:var(--font-mono);overflow-wrap:anywhere;font-size:13px}.cp-notice-tip{border-color:var(--ok-border);background:var(--ok-100)}.cp-notice-tip>svg{color:var(--lamp-600)}.cp-empty{text-align:center;justify-items:center;gap:12px;padding:36px 18px 30px;display:grid}.cp-empty-art{align-items:center;gap:0;margin-bottom:8px;display:flex}.cp-empty-wire{background:repeating-linear-gradient(90deg, var(--ink-400) 0 6px, transparent 6px 11px);width:72px;height:2px}.cp-empty h3{font-family:var(--font-serif);color:var(--ink-950);margin:0;font-size:30px;font-weight:400}.cp-empty p{max-width:46ch;color:var(--ink-600);margin:0;font-size:15px;line-height:1.55}.cp-empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px;display:flex}.cp-panel[data-editing] .cp-cell{background:#ffffff06;box-shadow:inset 0 0 0 1px #ffffff17}.cp-panel[data-editing] .cp-cell:hover{box-shadow:inset 0 0 0 1px #fff3}.cp-cell[data-lifted]{z-index:4;transform:scale(1.04);background:var(--bg-700)!important;box-shadow:inset 0 0 0 1px var(--signal-line), 0 20px 40px -12px #000000e6!important}.cp-panel[data-dragging]{cursor:grabbing;-webkit-user-select:none;user-select:none}.cp-edit{pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:4px;left:4px;right:4px}.cp-grip,.cp-gear{border:1px solid var(--line-300);background:var(--bg-800);width:28px;height:28px;color:var(--ink-600);cursor:pointer;pointer-events:auto;border-radius:7px;place-items:center;display:grid}.cp-grip{cursor:grab;touch-action:none}.cp-grip:hover,.cp-gear:hover,.cp-gear[aria-expanded=true]{color:var(--ink-950);border-color:var(--line-input)}.cp-panel[data-editing] .cp-hotkey{display:none}.cp-settings{z-index:6;border:1px solid var(--line-300);background:var(--bg-750);width:280px;box-shadow:var(--shadow-2);text-align:left;border-radius:12px;gap:12px;padding:14px;display:grid;position:absolute;top:36px;right:4px}.cp-settings-head{align-items:center;gap:8px;display:flex}.cp-settings-head strong{color:var(--ink-950);font-size:14px}.cp-settings-head code{color:var(--ink-500);font:500 12px var(--font-mono)}.cp-settings-head button{margin-left:auto}.cp-field{gap:6px;display:grid}.cp-field>span{color:var(--ink-600);font:600 12px var(--font-sans)}.cp-field input,.cp-field select{border:1px solid var(--line-300);background:var(--bg-950);min-height:34px;color:var(--ink-950);font:500 14px var(--font-sans);border-radius:8px;padding:0 10px}.cp-field input:focus,.cp-field select:focus{border-color:var(--line-input);outline:none;box-shadow:0 0 0 3px #6f9bff38}.cp-range-fields>div{color:var(--ink-500);align-items:center;gap:6px;font-size:13px;display:flex}.cp-range-fields input{width:72px;font-family:var(--font-mono)}.cp-range-fields .cp-unit-field{width:64px}.cp-swatches{gap:8px;display:flex}.cp-swatches button{background:radial-gradient(circle at 40% 35%, var(--hi), var(--c) 55%, var(--lo));cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;box-shadow:0 0 0 1px #0009}.cp-swatches button[aria-checked=true]{border-color:var(--ink-950)}.cp-settings-foot{border-top:1px solid var(--line-200);justify-content:space-between;align-items:center;gap:8px;padding-top:4px;display:flex}.cp-hidden-list{color:var(--ink-500);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.cp-chip{border:1px solid var(--line-300);background:var(--bg-800);min-height:30px;color:var(--ink-800);font:600 13px var(--font-sans);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.cp-trend{border:1px solid var(--cp-module-edge);background:linear-gradient(#14171b,#0f1114);border-radius:12px;margin-top:12px;padding:12px 14px 10px;box-shadow:inset 0 1px #ffffff0a}.cp-trend-head{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:8px;display:flex}.cp-trend-head h3{color:var(--ink-700);font:700 12px var(--font-sans);letter-spacing:.12em;text-transform:uppercase;margin:0}.cp-pens{flex-wrap:wrap;flex:1;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cp-pen{border:1px solid color-mix(in srgb, var(--pen) 35%, var(--line-300));background:color-mix(in srgb, var(--pen) 9%, transparent);min-height:28px;color:var(--ink-800);font:600 12.5px var(--font-sans);border-radius:999px;align-items:center;gap:6px;padding:0 4px 0 9px;display:inline-flex}.cp-pen i{background:var(--pen);width:8px;height:8px;box-shadow:0 0 6px var(--pen);border-radius:50%}.cp-pen-value{min-width:3ch;color:var(--pen);font:600 12.5px var(--font-mono);font-variant-numeric:tabular-nums}.cp-pen button{width:22px;height:22px;color:var(--ink-500);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.cp-pen button:hover{color:var(--ink-950);background:#ffffff1a}.cp-pen-add{color:var(--ink-500);align-items:center;display:inline-flex;position:relative}.cp-pen-add svg{pointer-events:none;position:absolute;left:9px}.cp-pen-add select{min-height:28px;color:var(--ink-600);background-color:#0000;border-style:dashed;border-radius:999px;max-width:180px;padding-left:26px;font-size:12.5px}.cp-trend-plot{--chart-grid:#23272e;--chart-axis:#8e939c;height:184px;position:relative}.cp-trend-plot canvas{display:block}.cp-trend-tip{border:1px solid var(--line-300);box-shadow:var(--shadow-2);color:var(--ink-800);font:500 12px var(--font-mono);white-space:pre;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#111317f0;border-radius:9px;gap:3px;padding:8px 10px;display:grid;position:absolute;top:6px}.cp-trend-tip[hidden]{display:none}.cp-trend-tip strong{color:var(--ink-500);font-weight:600}.cp-trend-tip span{align-items:center;gap:6px;display:flex}.cp-trend-tip i{border-radius:50%;width:7px;height:7px}.cp-trend-empty{color:var(--ink-500);text-align:center;margin:0;padding:24px 6px;font-size:14px}.cp-tags{align-content:start;gap:12px;padding:14px;display:grid;overflow:auto}.cp-tags-intro{color:var(--ink-600);margin:0;font-size:14px;line-height:1.5}.cp-tags-wrap{border:1px solid var(--line-200);border-radius:10px;overflow-x:auto}.cp-tags table{border-collapse:collapse;width:100%;font-size:14px}.cp-tags th{border-bottom:1px solid var(--line-200);background:var(--bg-850);color:var(--ink-500);font:600 12px var(--font-sans);letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:8px 10px}.cp-tags td{border-bottom:1px solid var(--line-100);padding:5px 6px}.cp-tags tr:last-child td{border-bottom:0}.cp-tags td input:not([type=checkbox]),.cp-tags td select{width:100%;min-width:90px;min-height:32px;color:var(--ink-950);font:500 13.5px var(--font-mono);background:0 0;border:1px solid #0000;border-radius:7px;padding:0 8px}.cp-tags td select{font-family:var(--font-sans);border-color:var(--line-200);background:var(--bg-850)}.cp-tags td input:hover{border-color:var(--line-200)}.cp-tags td input:focus,.cp-tags td select:focus{border-color:var(--line-input);background:var(--bg-950);outline:none}.cp-tags td input[aria-invalid]{border-color:var(--fault-border);background:var(--fault-100)}.cp-tags td input[type=checkbox]{width:18px;height:18px;accent-color:var(--lamp-500)}.cp-tags-add{flex-wrap:wrap;gap:8px;display:flex}.cp-menu-anchor{position:relative}.cp-popover{z-index:20;border:1px solid var(--line-300);background:var(--bg-750);width:360px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-2);animation:cp-pop .16s var(--ease-out);border-radius:14px;padding:10px;position:absolute;top:calc(100% + 8px);right:0}@keyframes cp-pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.cp-menu-title{color:var(--ink-500);font:700 11.5px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;margin:2px 8px 8px}.cp-popover ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.cp-popover li button{width:100%;color:var(--ink-700);font:400 13.5px/1.4 var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;gap:2px;padding:10px;display:grid}.cp-popover li button:hover,.cp-popover li button:focus-visible{background:var(--signal-tint-2);outline:none}.cp-popover li strong{color:var(--ink-950);font-size:15px;font-weight:600}.cp-menu-maker{color:var(--lamp-700);font:600 11.5px var(--font-mono);letter-spacing:.04em}.cp-keys{color:var(--ink-700);grid-template-columns:auto 1fr;gap:9px 14px;margin:0;padding:2px 8px 6px;font-size:14px;display:grid}.cp-keys dt{color:var(--ink-500);align-items:center;gap:4px;display:flex}.cp-keys dd{align-self:center;margin:0}.cp-toast{z-index:30;border:1px solid var(--line-300);max-width:min(560px,100% - 24px);box-shadow:var(--shadow-2);color:var(--ink-900);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:cp-toast .24s var(--ease-out);background:#1c2026f0;border-radius:12px;align-items:center;gap:12px;padding:9px 9px 9px 16px;font-size:14px;line-height:1.4;display:flex;position:absolute;bottom:54px;left:50%;transform:translate(-50%)}@keyframes cp-toast{0%{opacity:0;transform:translate(-50%,8px)}}.cp-dropzone{z-index:25;border:2px dashed var(--lamp-600);color:var(--ink-950);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;background:#0f1115d1;border-radius:14px;place-content:center;justify-items:center;gap:10px;font-size:16px;display:grid;position:absolute;inset:8px}.cp-dropzone svg{color:var(--lamp-600)}.cp-foot{border-top:1px solid var(--line-200);border-radius:0 0 var(--r-xl) var(--r-xl);color:var(--ink-500);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:11px 16px;font-size:13.5px;display:flex}.cp-foot .text-button{font-size:14px}.cp-dialog{border:1px solid var(--line-300);background:var(--bg-850);width:min(640px,100vw - 24px);max-height:calc(100svh - 32px);color:var(--ink-900);box-shadow:var(--shadow-2);border-radius:16px;padding:0}.cp-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050608a8}.cp-dialog[open]{animation:cp-pop .2s var(--ease-out)}.cp-dialog-body{gap:14px;padding:20px;display:grid}.cp-dialog-head{justify-content:space-between;align-items:center;display:flex}.cp-dialog-head h2{font-family:var(--font-serif);margin:0;font-size:30px;font-weight:400}.cp-dialog-lead{color:var(--ink-600);margin:-6px 0 0;font-size:15px;line-height:1.5}.cp-intake{gap:12px;display:grid}.cp-drop{border:1.5px dashed var(--line-input);background:var(--bg-900);color:var(--ink-500);text-align:center;cursor:pointer;border-radius:12px;justify-items:center;gap:6px;padding:22px 16px;font-size:13.5px;display:grid;position:relative}.cp-drop:hover,.cp-drop[data-dragging]{border-color:var(--lamp-600);background:var(--lamp-tint)}.cp-drop strong{color:var(--ink-950);font-size:15px}.cp-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.cp-or{color:var(--ink-500);align-items:center;gap:12px;font-size:13px;display:flex}.cp-or:before,.cp-or:after{content:"";background:var(--line-200);flex:1;height:1px}.cp-paste{border:1px solid var(--line-300);background:var(--night-950);min-height:150px;color:var(--night-text);font:500 13.5px/1.5 var(--font-mono);resize:vertical;border-radius:10px;padding:12px}.cp-paste:focus{border-color:var(--line-input);outline:none}.cp-dialog-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.cp-maker{color:var(--ink-600);align-items:center;gap:8px;font-size:13.5px;display:flex}.cp-units{gap:14px;display:grid}.cp-problems{border:1px solid var(--fault-border);background:var(--fault-100);border-radius:10px;gap:10px;padding:12px 14px;font-size:14px;line-height:1.5;display:flex}.cp-problems>svg{color:var(--fault-700);flex-shrink:0;margin-top:2px}.cp-problems ul{margin:4px 0 0;padding-left:18px}.cp-problems p{margin:6px 0 0}.cp-tool[data-demo] .cp-body{height:auto;min-height:var(--cp-pane-h);grid-template-columns:minmax(0,1fr)}.cp-tool[data-demo] .cp-side-scroll{overflow:visible}.cp-tool:fullscreen{border:0;border-radius:0;overflow:auto}.cp-tool:fullscreen .cp-titlebar,.cp-tool:fullscreen .cp-foot{border-radius:0}.cp-tool:fullscreen .cp-body{min-height:calc(100vh - 120px)}.cp-tool[data-demo] .cp-side-scroll{padding:clamp(14px,2.4vw,32px)}.cp-tool[data-demo] .cp-panel{width:min(1180px,100%);margin:0 auto}.cp-tool[data-demo] .cp-trend{width:min(1180px,100%);margin:12px auto 0}.cp-tool[data-demo] .cp-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.cp-tool[data-demo] .cp-grid-memory{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.cp-tool[data-demo] .cp-title input{font-family:var(--font-serif);font-size:24px;font-weight:400}.cp-tool[data-demo] .cp-tagname{display:none}.cp-phone-tabs{border-bottom:1px solid var(--line-200);background:var(--bg-900);grid-template-columns:1fr 1fr;gap:4px;padding:6px;display:grid}.cp-phone-tabs button{min-height:42px;color:var(--ink-500);font:650 15px var(--font-sans);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;display:inline-flex;position:relative}.cp-phone-tabs button[aria-selected=true]{background:var(--bg-700);color:var(--ink-950);box-shadow:inset 0 1px #ffffff0f}.cp-dot{background:#ff5a4e;border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #ff5a4e}.cp-tool[data-compact] .cp-body{grid-template-columns:minmax(0,1fr);height:auto}.cp-tool[data-compact] .cp-code{border-right:0;height:min(72svh,640px)}.cp-tool[data-compact] .cp-side-scroll{overflow:visible}@media (max-width:1420px){.cp-demo-btn span,.cp-program-actions .cp-menu-anchor~.cp-btn span{display:none}.cp-demo-btn,.cp-program-actions .cp-menu-anchor~.cp-btn{width:36px;padding:0}}@media (max-width:1240px){.cp-scan div:nth-child(2){display:none}}@media (max-width:1100px){.cp-scan{display:none}}@media (max-width:979px){.cp-titlebar{flex-wrap:wrap;gap:10px}.cp-title{flex:140px}.cp-titlebar-end{width:100%;margin-left:0}.cp-titlebar-end .cp-demo-btn{margin-left:auto}.cp-scan{margin-left:auto;display:flex}.cp-scan div:nth-child(2){display:none}}@media (max-width:720px){.cp-tool{border-radius:var(--r-lg)}.cp-titlebar{border-radius:var(--r-lg) var(--r-lg) 0 0;flex-wrap:nowrap;gap:6px;min-height:0;padding:8px 8px 8px 10px}.cp-titlebar-end{gap:6px;width:auto}.cp-cpu{flex-direction:column;gap:3px;padding:5px 6px}.cp-cpu-led{padding:0 2px;font-size:9px}.cp-cpu-led:before{width:7px;height:5px}.cp-title{flex:1 1 0;min-width:0}.cp-title input{padding:0 4px;font-size:15px}.cp-program-actions{gap:6px}.cp-program-actions .cp-btn span,.cp-program-actions .cp-btn svg+svg{display:none}.cp-program-actions .cp-btn,.cp-demo-btn{width:40px;min-height:40px;padding:0}.cp-demo-btn span{display:none}.cp-phonebar{z-index:2;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line-200);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#15181df0;gap:6px;display:flex;position:sticky;bottom:0}.cp-phonebar .cp-run{flex:1}.cp-phonebar .cp-btn-run{flex:1;min-height:46px;font-size:16px}.cp-phonebar .cp-btn-icon{width:46px;min-height:46px}.cp-phonebar .cp-speed select{min-height:46px}.cp-side-scroll{padding:10px}.cp-group{padding:8px 10px 12px}.cp-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px 2px}.cp-cell{padding-inline:2px}.cp-plate-label{letter-spacing:.05em;padding-inline:6px;font-size:11.5px}.cp-pane-head{flex-wrap:wrap}.cp-profile{width:100%}.cp-profile .cp-seg{flex:1;overflow-x:auto}.cp-pane-actions{width:100%}.cp-pane-actions>*{flex:1}.cp-pane-actions .cp-menu-anchor>.cp-btn{width:100%}.cp-panel-head{flex-wrap:nowrap}.cp-search{max-width:none}.cp-range{height:40px}.cp-range::-webkit-slider-thumb{width:26px;height:36px;margin-top:calc((var(--track) - 36px) / 2 - 1px)}.cp-trend-plot{height:160px}.cp-settings{width:auto;position:fixed;inset:auto 10px 10px}.cp-popover{overscroll-behavior:contain;width:auto;max-width:none;max-height:min(78svh,620px);position:fixed;inset:auto 10px 10px;overflow-y:auto}.cp-trend-head{grid-template-columns:auto auto;justify-content:space-between;display:grid}.cp-trend-head .cp-pens{order:3;grid-column:1/-1}.cp-pane-head .cp-btn-icon{display:none}.cp-profile select{min-width:112px}.cp-profile .cp-seg button{padding:0 9px}.cp-foot{font-size:13px}.cp-toast{position:fixed;bottom:16px}}@media (hover:none) and (pointer:coarse){.cp-hotkey,.cp-search kbd{display:none}}@media (prefers-reduced-motion:reduce){.cp-tool *,.cp-tool :before,.cp-tool :after{transition:none!important;animation:none!important}}.shell .page-content:has(>.landing>.sim-hero){padding-top:clamp(18px,2vw,30px)}.sim-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:end;gap:18px clamp(24px,4vw,72px);margin-bottom:clamp(16px,1.8vw,24px);display:grid}.sim-hero-copy{justify-items:start;gap:12px;display:grid}.sim-hero .landing-title{font-size:clamp(40px,3.5vw,62px)}.sim-hero .home-lead{max-width:60ch;font-size:clamp(16px,1.2vw,19px)}.sim-hero-aside{gap:10px;padding-bottom:6px;display:grid}.sim-hero-aside .home-lead{margin:0}.sim-hero-makers{color:var(--ink-500);font-size:var(--fs-15);margin:0}.sim-tool{z-index:6;scroll-margin-top:calc(var(--header-h,60px) + 12px);margin-bottom:clamp(48px,6vw,88px);position:relative}.sim-machine h2{font-family:var(--font-serif);letter-spacing:-.015em;color:var(--ink-950);margin:0;font-size:clamp(34px,3.2vw,52px);font-weight:400;line-height:1.02}.cp-skeleton .cp-body{background:linear-gradient(90deg, var(--night-900) 46%, #121418 46%)}.cp-skeleton .cp-foot{justify-content:center}@media (max-width:979px){.sim-hero{grid-template-columns:minmax(0,1fr);align-items:start}}@media (max-width:720px){.sim-hero{gap:12px;margin-bottom:16px}.sim-hero-makers{display:none}.sim-hero .home-lead{line-height:1.5}.cp-skeleton .cp-body{background:#121418;height:70svh}}
.converter-page{--cvt-ink:#0c0e11;--cvt-edge:#ffffff14}.cvt-hero{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:end;gap:clamp(24px,4vw,72px);display:grid}.cvt-hero-copy{flex-direction:column;align-items:flex-start;gap:16px;min-width:0;display:flex}.cvt-hero .landing-title{font-size:clamp(40px,4.1vw,68px)}.cvt-hero .home-lead{max-width:60ch}.cvt-hero-points{border:1px solid var(--line-200);border-radius:var(--r-lg);background:linear-gradient(180deg, var(--bg-900), var(--bg-950));box-shadow:var(--shadow-1);gap:4px;margin:0;padding:6px;list-style:none;display:grid}.cvt-hero-points li{border-radius:var(--r-md);grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;padding:10px 12px;display:grid}.cvt-hero-points li+li{border-top:1px solid var(--hairline)}.cvt-hero-points svg{color:var(--lamp-600);filter:drop-shadow(0 0 10px var(--lamp-halo));justify-self:center}.cvt-hero-points span{color:var(--ink-600);font-size:var(--fs-15);line-height:1.45}.cvt-hero-points small{font-size:inherit}.cvt-short{display:none}.cvt-hero-points strong{color:var(--ink-950);font-size:var(--fs-16);font-weight:620;display:block}.cvt{border:1px solid var(--line-300);border-radius:var(--r-xl);background:var(--bg-900);margin-top:clamp(24px,3vw,40px);scroll-margin-top:84px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a,0 40px 90px -40px #000c,0 0 0 1px #0000004d}.cvt-loading{min-height:640px}.cvt-loading .cvt-bar{min-height:62px}.cvt-loading .cvt-pane{background:linear-gradient(90deg, var(--cvt-ink) 0%, #12151a 50%, var(--cvt-ink) 100%);background-size:200% 100%;animation:1.6s linear infinite cvt-shimmer}.cvt-bar{border-bottom:1px solid var(--line-200);background:radial-gradient(120% 140% at 0% 0%, #ffffff0a, transparent 60%), var(--bg-850);flex-wrap:wrap;align-items:center;gap:12px 18px;padding:12px 16px;display:flex}.cvt-from-to{align-items:center;gap:10px;display:inline-flex}.cvt-bar-label{color:var(--ink-500);letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:600}.cvt-source{border:1px dashed var(--line-input);border-radius:var(--r-sm);min-height:34px;color:var(--ink-600);font-size:var(--fs-15);white-space:nowrap;align-items:center;padding:0 12px;font-weight:600;display:inline-flex}.cvt-source.is-known{border-style:solid;border-color:var(--line-300);background:var(--bg-700);color:var(--ink-950)}.cvt-swap{border:1px solid var(--line-300);background:var(--bg-800);width:34px;height:34px;color:var(--ink-800);transition:transform .26s var(--ease-out), background .14s var(--ease), color .14s var(--ease);border-radius:50%;place-items:center;display:inline-grid}.cvt-swap:hover:not(:disabled){background:var(--bg-650);color:var(--ink-950);transform:rotate(180deg)}.cvt-swap:disabled{color:var(--ink-400);cursor:default}.cvt-targets{flex-wrap:wrap;align-items:center;gap:6px 14px;min-width:0;display:inline-flex}.cvt-target-group{border:1px solid var(--line-200);background:var(--bg-950);border-radius:10px;align-items:center;gap:4px;padding:3px 3px 3px 10px;display:inline-flex}.cvt-target-maker{color:var(--ink-500);margin-right:4px;font-size:13px;font-weight:600}.cvt-target{min-height:30px;color:var(--ink-700);font-size:var(--fs-15);transition:background .14s var(--ease), color .14s var(--ease), box-shadow .2s var(--ease);background:0 0;border:0;border-radius:7px;padding:0 11px;font-weight:600}.cvt-target:hover:not(:disabled):not(.is-on){background:var(--bg-700);color:var(--ink-950)}.cvt-target.is-on{background:var(--signal-500);color:var(--signal-ink);box-shadow:0 0 0 1px #ffffff4d,0 6px 18px -6px #ffffff59}.cvt-target:disabled{color:var(--ink-400);text-decoration:line-through;-webkit-text-decoration-color:var(--ink-400);text-decoration-color:var(--ink-400);cursor:default}.cvt-status{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:inline-flex}.cvt-converted,.cvt-eq{border-radius:var(--r-pill);white-space:nowrap;align-items:center;gap:7px;min-height:30px;padding:0 11px;font-size:14px;font-weight:600;display:inline-flex}.cvt-converted{color:var(--ink-700);background:var(--bg-700)}.cvt-converted svg{color:var(--lamp-600)}.cvt-converted.has-gaps svg{color:var(--warn-700)}.cvt-eq.is-running{color:var(--ink-700);background:var(--bg-700)}.cvt-eq.is-match{color:var(--lamp-700);background:var(--lamp-tint);box-shadow:0 0 0 1px var(--ok-border), 0 0 24px -6px var(--lamp-halo);animation:cvt-proved .9s var(--ease-out)}.cvt-eq.is-differ{color:var(--warn-700);background:var(--warn-100);box-shadow:0 0 0 1px var(--warn-border)}.cvt-eq.is-skipped{color:var(--ink-500);background:var(--bg-700)}.cvt-eq-spin{border:2px solid var(--line-300);border-top-color:var(--lamp-600);border-radius:50%;width:13px;height:13px;animation:.7s linear infinite cvt-spin}.cvt-proofline{border-bottom:1px solid var(--line-200);background:var(--bg-900);min-height:48px;color:var(--ink-700);font-size:var(--fs-15);align-items:center;gap:12px;padding:8px 16px;display:flex;position:relative;overflow:hidden}.cvt-proof-text{flex:1;min-width:0;line-height:1.45}.cvt-proof-text strong{color:var(--ink-950);font-weight:650}.cvt-meter{background:var(--bg-650);border-radius:3px;flex:0 0 min(260px,28%);height:6px;position:relative;overflow:hidden}.cvt-meter span{border-radius:inherit;background:linear-gradient(90deg, var(--lamp-600), var(--lamp-700));box-shadow:0 0 12px var(--lamp-halo);transition:width .22s var(--ease);position:absolute;inset:0 auto 0 0}.cvt-proof-count{min-width:15ch;color:var(--ink-600);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;flex:none;font-size:13px}.cvt-proof-badge{border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid}.cvt-proofline.is-match{background:linear-gradient(90deg, #4cd08a29, #4cd08a0a 60%, transparent), var(--bg-900);color:var(--ink-800)}.cvt-proofline.is-match:before{content:"";animation:cvt-wash 1.1s var(--ease-out) 1 forwards;pointer-events:none;background:linear-gradient(90deg,#0000,#4cd08a4d,#0000);position:absolute;inset:0;transform:translate(-100%)}.cvt-proofline.is-match .cvt-proof-badge{background:var(--lamp-500);color:#06140c;box-shadow:0 0 0 4px var(--lamp-halo), 0 0 24px #4cd08a73;animation:cvt-pop .6s var(--ease-out) both}.cvt-proofline.is-match strong{color:var(--lamp-700)}.cvt-proofline.is-differ{background:linear-gradient(90deg, var(--warn-100), transparent 70%), var(--bg-900)}.cvt-proofline.is-differ .cvt-proof-badge{background:var(--warn-100);color:var(--warn-700)}.cvt-proofline.is-differ strong{color:var(--warn-700)}.cvt-proofline.is-skipped{color:var(--ink-600)}.cvt-proof-link{border:1px solid var(--line-300);border-radius:var(--r-pill);background:var(--bg-850);min-height:32px;color:var(--ink-900);flex:none;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.cvt-proof-link:hover{border-color:var(--line-input);color:var(--ink-950)}.cvt-tabs{display:none}.cvt-panes{background:var(--line-200);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;height:clamp(460px,64vh,660px);display:grid}.cvt-pane{background:var(--cvt-ink);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.cvt-pane.is-dragging:after{content:"Drop to open";border:2px dashed var(--lamp-600);border-radius:var(--r-lg);color:var(--lamp-700);font-size:var(--fs-19);z-index:3;background:#0c0e11e0;place-items:center;font-weight:600;display:grid;position:absolute;inset:10px}.cvt-pane-head{border-bottom:1px solid var(--cvt-edge);background:#101317;align-items:center;gap:10px;min-height:48px;padding:0 10px 0 16px;display:flex}.cvt-pane-title{min-width:0;color:var(--ink-900);font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;font-size:14px;display:inline-flex;overflow:hidden}.cvt-pane-title svg{color:var(--ink-500);flex:none}.cvt-out .cvt-pane-title{font-family:var(--font-sans);font-weight:600}.cvt-maker{background:var(--ink-500);border-radius:3px;flex:none;width:9px;height:9px}.cvt-maker-siemens{background:#2bb3b0}.cvt-maker-rockwell{background:#e05252}.cvt-maker-beckhoff{background:#e2a23b}.cvt-detected{border-radius:var(--r-pill);background:var(--lamp-tint);min-height:26px;color:var(--lamp-700);white-space:nowrap;flex:none;align-items:center;gap:7px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.cvt-dot{background:var(--lamp-500);width:6px;height:6px;box-shadow:0 0 0 3px var(--lamp-halo);border-radius:50%}.cvt-pane-actions{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.cvt-icon-btn{min-height:32px;color:var(--ink-700);white-space:nowrap;transition:background .14s var(--ease), color .14s var(--ease), border-color .14s var(--ease);background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:6px;padding:0 10px;font-size:14px;font-weight:600;display:inline-flex}.cvt-icon-btn:hover{border-color:var(--line-300);background:var(--bg-800);color:var(--ink-950)}.cvt-seg{background:var(--bg-850);border-radius:9px;flex:none;padding:3px;display:inline-flex}.cvt-seg button{min-height:28px;color:var(--ink-600);background:0 0;border:0;border-radius:6px;padding:0 11px;font-size:14px;font-weight:600}.cvt-seg button[aria-selected=true]{background:var(--bg-650);color:var(--ink-950)}.cvt-editor{flex:1;min-height:0}.cv{height:100%}.cv-loading,.cvt-reading{height:100%;color:var(--ink-500);font-size:var(--fs-15);place-items:center;display:grid}.cv-mapped-line{background:#4cd08a21}.cv-mapped-gutter{background:var(--lamp-500);box-shadow:0 0 8px var(--lamp-halo);border-radius:2px;margin-left:3px;width:3px!important}.cvt-pane-foot{border-top:1px solid var(--cvt-edge);min-height:42px;color:var(--ink-600);background:#101317;align-items:center;padding:0 14px;font-size:14px;display:flex}.cvt-pane-foot label{align-items:center;gap:10px;display:inline-flex}.cvt-select{align-items:center;display:inline-flex;position:relative}.cvt-select select{appearance:none;border:1px solid var(--line-300);background:var(--bg-850);min-height:30px;color:var(--ink-900);font:inherit;border-radius:7px;padding:0 30px 0 10px;font-weight:600}.cvt-select svg{color:var(--ink-500);pointer-events:none;position:absolute;right:9px}.cvt-empty{flex:1;min-height:0;padding:22px;overflow:auto}.cvt-drop{border:1.5px dashed var(--line-300);border-radius:var(--r-lg);text-align:center;background:radial-gradient(80% 120% at 50% 0,#4cd08a0f,#0000 70%),#0f1215;justify-items:center;gap:10px;padding:24px 20px 20px;display:grid}.cvt-drop-icon{background:var(--bg-800);width:54px;height:54px;color:var(--lamp-600);border-radius:16px;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff0f}.cvt-drop-title{color:var(--ink-950);font-size:var(--fs-19);font-weight:620}.cvt-drop-formats{color:var(--ink-600);font-size:14px;line-height:1.6}.cvt-drop-formats code{background:var(--bg-700);color:var(--ink-900);font-family:var(--font-mono);border-radius:5px;padding:1px 6px;font-size:13px}.cvt-paste{border:1px solid var(--line-300);border-radius:var(--r-md);background:var(--cvt-ink);width:min(100%,440px);min-height:48px;color:var(--ink-900);font-family:var(--font-mono);resize:none;text-align:center;transition:border-color .14s var(--ease), box-shadow .16s var(--ease);margin-top:4px;padding:13px 14px;font-size:14px}.cvt-paste::placeholder{color:var(--ink-500)}.cvt-paste:focus{border-color:var(--lamp-600);box-shadow:0 0 0 4px var(--lamp-tint);outline:none}.cvt-examples-title{color:var(--ink-700);align-items:center;gap:8px;margin:22px 0 10px;font-size:14px;font-weight:600;display:flex}.cvt-examples-title svg{color:var(--lamp-600)}.cvt-examples{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.cvt-examples button{border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--bg-900);width:100%;height:100%;color:var(--ink-950);text-align:left;transition:transform .2s var(--ease-out), border-color .14s var(--ease), background .14s var(--ease), box-shadow .2s var(--ease);gap:4px;padding:13px 14px;display:grid}.cvt-examples button:hover{border-color:var(--line-input);background:var(--bg-850);transform:translateY(-2px);box-shadow:0 14px 30px -18px #000c}.cvt-examples strong{font-size:var(--fs-16);font-weight:620}.cvt-examples span{color:var(--ink-600);font-size:14px}.cvt-examples em{color:var(--ink-700);font-family:var(--font-mono);align-items:center;gap:6px;margin-top:4px;font-size:12.5px;font-style:normal;display:inline-flex}.cvt-examples em svg{color:var(--lamp-600)}.cvt-idle{height:100%;color:var(--ink-600);font-size:var(--fs-15);text-align:center;place-content:center;justify-items:center;gap:18px;padding:24px;display:grid}.cvt-idle p{max-width:30ch}.cvt-idle-art{width:min(360px,90%);overflow:visible}.cvt-idle-code rect{fill:var(--bg-650);animation:cvt-type 2.8s var(--ease) infinite}.cvt-idle-code rect:nth-child(2){animation-delay:.15s}.cvt-idle-code rect:nth-child(3){animation-delay:.3s}.cvt-idle-code rect:nth-child(4){animation-delay:.45s}.cvt-idle-arrow{fill:none;stroke:var(--lamp-500);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;animation:cvt-nudge 2.8s var(--ease) infinite}.cvt-idle-rung path{fill:none;stroke:var(--ink-500);stroke-width:2px;stroke-linecap:round;stroke-dasharray:420;animation:cvt-draw 2.8s var(--ease) infinite}.cvt-problems{border:1px solid var(--warn-border);border-radius:var(--r-md);background:var(--warn-100);color:var(--ink-900);font-size:var(--fs-15);gap:12px;margin:18px;padding:16px;display:flex}.cvt-problems>svg{color:var(--warn-700);flex:none}.cvt-problems ul{color:var(--ink-700);gap:6px;margin:8px 0 0;padding-left:18px;display:grid}.cvt-out-body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.cvt-out-body>.lv,.cvt-out-body>.cvt-tags{flex:1;min-height:0;overflow:auto}.cvt-sweep{pointer-events:none;height:140px;animation:cvt-sweep .9s var(--ease-out) 1 forwards;background:linear-gradient(#0000,#4cd08a1a 70%,#4cd08a73 98%,#0000);position:absolute;inset:0 0 auto;transform:translateY(-140px)}.has-result .cvt-editor{animation:cvt-arrive .52s var(--ease-out)}.cvt-tags{padding:4px 0 16px}.cvt-tags table{border-collapse:collapse;width:100%;font-size:14px}.cvt-tags th{color:var(--ink-500);text-align:left;z-index:1;background:#101317;padding:10px 14px;font-size:13px;font-weight:600;position:sticky;top:0}.cvt-tags td{border-top:1px solid var(--cvt-edge);color:var(--ink-700);vertical-align:top;padding:8px 14px}.cvt-tags code{color:var(--ink-950);font-family:var(--font-mono);font-size:13px}.cvt-tags td:nth-child(2) code{color:var(--syntax-type)}.lv{padding:12px 12px 28px}.lv-rung{border-radius:var(--r-md);transition:background .16s var(--ease), border-color .16s var(--ease);animation:cvt-rise .46s var(--ease-out) both;border:1px solid #0000;margin:0 0 6px;padding:6px 4px 2px}.lv-rung:hover,.lv-rung.is-lit{border-color:var(--ok-border);background:#4cd08a12}.lv-rung-head{align-items:baseline;gap:10px;min-height:18px;padding:0 8px;display:flex}.lv-rung-no{min-width:18px;color:var(--ink-500);font-family:var(--font-mono);flex:none;font-size:12.5px;font-weight:600}.lv-comment{color:var(--syntax-comment);font-size:13.5px;font-style:italic;line-height:1.4}.lv-scroll{overscroll-behavior-x:contain;overflow-x:auto}.lv-svg{font-family:var(--font-mono);display:block}.lv-rail{fill:none;stroke:#6b717b;stroke-width:3px;stroke-linecap:round}.lv-wire{fill:none;stroke:#6b717b;stroke-width:1.6px;transition:stroke .2s var(--ease)}.lv-rung:hover .lv-wire,.lv-rung.is-lit .lv-wire{stroke:var(--editor-power)}.lv-contact,.lv-coil{fill:none;stroke:#e6e8eb;stroke-width:2.2px;stroke-linecap:round}.lv-tag{fill:#e6e8eb;font-size:12.5px}.lv-tag-out{fill:var(--syntax-variable)}.lv-sub{fill:var(--ink-500);font-size:11.5px}.lv-mark{fill:#e6e8eb;font-size:12px;font-weight:700}.lv-box{fill:#15181d;stroke:#4a5059;stroke-width:1.3px}.lv-box-out{stroke:#7aa2ff8c}.lv-box-title{fill:var(--syntax-keyword);font-size:12px;font-weight:700}.lv-box-row,.lv-box-value{fill:#e6e8eb;font-size:11.5px}.lv-box-label{fill:var(--ink-500);font-size:11.5px}.cvt-report-wrap{border-top:1px solid var(--line-200);background:radial-gradient(90% 120% at 100% 0%, #4cd08a0a, transparent 60%), var(--bg-900)}.cvt-report{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,1.35fr);gap:14px;padding:16px;display:grid}.cvt-card{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-850);min-width:0;animation:cvt-rise .5s var(--ease-out) both;padding:16px 18px}.cvt-card:nth-child(2){animation-delay:60ms}.cvt-card:nth-child(3){animation-delay:.12s}.cvt-card h3{color:var(--ink-950);font-size:var(--fs-16);align-items:center;gap:8px;margin-bottom:10px;font-weight:640;display:flex}.cvt-card h3 svg,.cvt-card-flags h3 svg{color:var(--lamp-600)}.cvt-muted{color:var(--ink-600);font-size:14px;line-height:1.55}.cvt-card p{color:var(--ink-700);font-size:14.5px;line-height:1.6}.cvt-card p strong{color:var(--ink-950)}.cvt-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.cvt-stats>div{border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--bg-900);padding:10px 12px}.cvt-stats dt{color:var(--ink-500);font-size:12.5px;font-weight:600}.cvt-stats dd{color:var(--ink-950);font-family:var(--font-serif);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:30px;line-height:1.1}.cvt-flags{gap:8px;margin:0;padding:0;list-style:none;display:grid}.cvt-flag{border:1px solid var(--fault-border);border-radius:var(--r-md);background:var(--fault-100);color:var(--ink-900);gap:4px;padding:10px 12px;font-size:14px;line-height:1.5;display:grid}.cvt-flag.is-warning{border-color:var(--warn-border);background:var(--warn-100)}.cvt-flag em{color:var(--ink-700);font-style:normal}.cvt-at{color:var(--ink-950);font-family:var(--font-mono);cursor:help;background:#0000004d;border:0;border-radius:5px;justify-self:start;padding:1px 7px;font-size:12.5px;font-weight:600}.cvt-group+.cvt-group{margin-top:12px}.cvt-group h4{color:var(--ink-500);letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px;font-size:12.5px;font-weight:650}.cvt-group ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.cvt-group li{flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:13.5px;display:flex}.cvt-group li>svg{color:var(--ink-500);flex:none}.cvt-from,.cvt-to{font-family:var(--font-mono);overflow-wrap:anywhere;border-radius:5px;padding:1px 7px;font-size:12.5px}.cvt-from{background:var(--bg-700);color:var(--ink-700)}.cvt-to{background:var(--lamp-tint);color:var(--lamp-700)}.cvt-group small{color:var(--ink-600);flex-basis:100%;font-size:13px;line-height:1.45}.cvt-card-proof{border-color:var(--ok-border);background:radial-gradient(120% 90% at 100% 0%, #4cd08a14, transparent 60%), var(--bg-850)}.cvt-differ{color:var(--warn-700)!important}.cvt-proof-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.cvt-howto{margin-top:10px;color:var(--ink-600)!important;font-size:13px!important}.cvt-badge{background:var(--fault-700);color:#1a0f0e;border-radius:9px;place-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;font-size:12px;font-weight:700;display:inline-grid}.an{border:1px solid var(--cvt-edge);border-radius:var(--r-md);background:var(--cvt-ink);margin:14px 0 0;padding:12px}.an-body{grid-template-columns:minmax(70px,118px) minmax(0,1fr);gap:10px;display:grid}.an-names{align-content:start;display:grid}.an-name{color:var(--ink-700);font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;align-items:center;font-size:12px;display:flex;overflow:hidden}.an-name.an-input{color:var(--ink-500)}.an-plot{min-width:0}.an-svg{width:100%;display:block}.an-grid{stroke:#ffffff0d;stroke-width:1px}.an-lane{stroke:#ffffff0f;stroke-width:1px}.an-in{fill:none;stroke:#8a9099;stroke-width:1.4px}.an-orig{fill:none;stroke:var(--lamp-500);stroke-width:5px;stroke-opacity:.45;stroke-linejoin:round}.an-conv{fill:none;stroke:#e9fff2;stroke-width:1.4px;stroke-linejoin:round}.an-miss{fill:var(--fault-700);opacity:.55}.an-ticks{color:var(--ink-500);font-family:var(--font-mono);justify-content:space-between;margin-top:4px;font-size:11.5px;display:flex}.an-key{color:var(--ink-600);flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:12.5px;display:flex}.an-key span{align-items:center;gap:7px;display:inline-flex}.an-key span:before{content:"";border-top:2px solid #8a9099;width:18px;height:0}.an-key .an-key-orig:before{border-top:5px solid #2bb46a80}.an-key .an-key-conv:before{border-top-color:#e9fff2}.cvt-section{margin-top:clamp(56px,7vw,96px)}.cvt-section h2{max-width:24ch;color:var(--ink-950);font-family:var(--font-serif);letter-spacing:-.015em;text-wrap:balance;font-size:clamp(32px,3vw,46px);font-weight:400;line-height:1.05}.cvt-section-lead{max-width:62ch;color:var(--ink-600);font-size:var(--fs-17);margin-top:12px;line-height:1.6}.cvt-table-wrap{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);margin-top:24px;overflow:auto}.cvt-table{border-collapse:collapse;width:100%;min-width:760px;font-size:var(--fs-15)}.cvt-table th,.cvt-table td{border-top:1px solid var(--line-100);text-align:left;vertical-align:top;padding:13px 16px;line-height:1.5}.cvt-table thead th{background:var(--bg-850);color:var(--ink-950);border-top:0;font-size:14px;font-weight:650}.cvt-table tbody th{color:var(--ink-950);font-weight:600}.cvt-table td{color:var(--ink-700);font-family:var(--font-mono);font-size:13.5px}.cvt-table tbody tr:hover{background:var(--bg-850)}.cvt-limits-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.cvt-limits-grid>div{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-900);padding:22px}.cvt-limits-grid h3{color:var(--ink-950);font-size:var(--fs-19);margin-bottom:12px;font-weight:620}.cvt-limits-grid ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.cvt-limits-grid li{color:var(--ink-700);font-size:var(--fs-15);grid-template-columns:18px minmax(0,1fr);gap:10px;line-height:1.5;display:grid}.cvt-limits-grid li svg{color:var(--lamp-600);margin-top:3px}.cvt-limits-grid>div+div li svg{color:var(--ink-500)}.cvt-how-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.cvt-how-grid>div{border:1px solid var(--line-200);border-radius:var(--r-lg);background:linear-gradient(180deg, var(--bg-900), var(--bg-950));padding:22px}.cvt-how-grid strong{color:var(--ink-950);font-size:var(--fs-17)}.cvt-how-grid p{color:var(--ink-600);font-size:var(--fs-15);margin-top:8px;line-height:1.6}.cvt-how-note{max-width:72ch;color:var(--ink-600);font-size:var(--fs-15);margin-top:18px;line-height:1.6}.cvt-how-note a,.cvt-faq a{color:var(--ink-950);text-decoration:underline;-webkit-text-decoration-color:var(--line-input);text-decoration-color:var(--line-input);text-underline-offset:3px}.cvt-faq-list{gap:10px;max-width:880px;margin-top:24px;display:grid}.cvt-faq details{border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--bg-900)}.cvt-faq summary{color:var(--ink-950);font-size:var(--fs-17);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;font-weight:600;list-style:none;display:flex}.cvt-faq summary::-webkit-details-marker{display:none}.cvt-faq summary svg{color:var(--ink-500);transition:transform .2s var(--ease);flex:none}.cvt-faq details[open] summary svg{transform:rotate(90deg)}.cvt-faq details p{color:var(--ink-700);font-size:var(--fs-16);padding:0 18px 18px;line-height:1.65}.cvt-crosslink{margin-top:18px}@keyframes cvt-sweep{0%{opacity:1;transform:translateY(-140px)}85%{opacity:1}to{transform:translateY(calc(var(--cvt-pane-h,640px)));opacity:0}}@keyframes cvt-arrive{0%{opacity:.35;filter:blur(2px)}to{opacity:1;filter:none}}@keyframes cvt-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes cvt-proved{0%{box-shadow:0 0 0 1px var(--ok-border), 0 0 0 0 #4cd08a8c;transform:scale(.92)}60%{box-shadow:0 0 0 1px var(--ok-border), 0 0 0 10px #4cd08a00;transform:scale(1.03)}to{transform:none}}@keyframes cvt-wash{to{transform:translate(100%)}}@keyframes cvt-pop{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.15)}to{transform:scale(1)}}@keyframes cvt-spin{to{transform:rotate(360deg)}}@keyframes cvt-shimmer{to{background-position:-200% 0}}@keyframes cvt-type{0%,to{opacity:.35}40%{opacity:1}}@keyframes cvt-nudge{0%,to{opacity:.5;transform:translate(0)}50%{opacity:1;transform:translate(6px)}}@keyframes cvt-draw{0%{stroke-dashoffset:420px}55%,to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.cvt-sweep,.cvt-proofline.is-match:before,.cvt-proofline.is-match .cvt-proof-badge,.cvt-idle-code rect,.cvt-idle-arrow,.cvt-idle-rung path,.lv-rung,.cvt-card,.has-result .cvt-editor,.cvt-eq.is-match{animation:none}.cvt-idle-rung path{stroke-dashoffset:0}}@media (max-width:1180px){.cvt-report{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cvt-card-proof{grid-column:1/-1}.cvt-status{justify-content:flex-start;margin-left:0}}@media (max-width:760px){.cvt-hero{grid-template-columns:minmax(0,1fr);gap:20px}.cvt-hero .landing-title{font-size:clamp(36px,10vw,46px)}.cvt{border-radius:var(--r-lg);margin-inline:-4px}.cvt-bar{gap:10px;padding:10px 12px}.cvt-from-to{width:100%}.cvt-targets{scrollbar-width:none;flex-wrap:nowrap;width:calc(100% + 24px);margin:0 -12px;padding:0 12px 2px;overflow-x:auto}.cvt-targets::-webkit-scrollbar{display:none}.cvt-target-group{flex:none}.cvt-status{width:100%}.cvt-proofline{flex-wrap:wrap;gap:8px 10px;padding:10px 12px;font-size:14px}.cvt-proofline .cvt-proof-text{flex-basis:calc(100% - 42px)}.cvt-meter{flex:auto}.cvt-proof-link{margin-left:40px}.cvt-tabs{border-bottom:1px solid var(--line-200);background:var(--bg-850);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:6px;display:grid}.cvt-tabs button{min-height:38px;color:var(--ink-600);font-size:var(--fs-15);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.cvt-tabs button[aria-selected=true]{background:var(--bg-650);color:var(--ink-950)}.cvt-panes{grid-template-columns:minmax(0,1fr);height:auto}.cvt-pane{height:max(420px,64svh)}.cvt-panes.is-input .cvt-out,.cvt-panes.is-output .cvt-in,.cvt-panes.is-report .cvt-pane{display:none}.cvt-report-wrap{border-top:0;display:none}.cvt-report-wrap.is-shown{display:block}.cvt-report{grid-template-columns:minmax(0,1fr);padding:12px}.cvt-pane-head{padding-left:12px}.cvt-icon-btn span{display:none}.cvt-icon-btn{padding:0 8px}.cvt-empty{padding:14px}.cvt-examples,.cvt-limits-grid,.cvt-how-grid{grid-template-columns:minmax(0,1fr)}.an-body{grid-template-columns:76px minmax(0,1fr)}.cvt-hero-points{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:4px}.cvt-hero-points li{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;gap:6px;padding:10px 6px}.cvt-hero-points li+li{border-top:0;border-left:1px solid var(--hairline)}.cvt-hero-points strong{font-size:13.5px;line-height:1.3}.cvt-hero-points small,.cvt-long{display:none}.cvt-short{display:inline}.lv-svg{zoom:.72}.cvt-out .cvt-pane-title{font-size:14px}}
.level-badge{width:var(--badge);height:calc(var(--badge) * 1.125);flex:none;place-items:center;display:inline-grid;position:relative}.level-badge svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.level-badge-plate{fill:#1c2d24;stroke:var(--lamp-on-dark);stroke-width:1.6px;filter:drop-shadow(0 0 4px #6fe0a059)}.level-badge-rim{fill:none;stroke:#6fe0a04d;stroke-width:.8px}.level-badge-num{font-family:var(--font-mono);font-size:calc(var(--badge) * .42);color:var(--lamp-on-dark);font-variant-numeric:tabular-nums;font-weight:650;line-height:1;position:relative}.landing-xp{gap:9px;padding:0 14px 0 8px;position:relative;overflow:hidden}.landing-xp-meter{background:#ffffff1a;border-radius:1px;height:2px;position:absolute;bottom:4px;left:40px;right:12px}.landing-xp-meter>span{border-radius:inherit;background:var(--lamp-on-dark);height:100%;display:block}.xp-chip{gap:6px}.m-card.locked .m-thumb img{filter:grayscale(.85)brightness(.55)}.m-card.locked:hover .m-thumb img{filter:grayscale(.6)brightness(.7)}.m-thumb-lock{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:54px;height:54px;color:var(--on-dark);background:#0f1115b8;border:1px solid #ffffff38;border-radius:50%;place-items:center;margin:-27px 0 0 -27px;display:grid;position:absolute;top:50%;left:50%}.m-thumb-chips .m-lock-chip,.m-card-top .m-lock-chip{color:var(--warn-700);align-items:center;gap:5px;display:inline-flex}.m-lock-line{border-top:1px solid var(--line-200);font-family:var(--font-mono);font-size:var(--fs-15);color:var(--warn-700);margin-top:10px;padding-top:10px;display:block}.level-card{margin-bottom:var(--s-6);border:1px solid var(--line-200);background:radial-gradient(70% 140% at 0% 0%, #6fe0a014, transparent 60%), var(--bg-900);border-radius:24px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px clamp(20px,3vw,40px);padding:clamp(22px,3vw,36px);display:grid}.level-card-main h2{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--ink-950);margin:6px 0 14px;font-size:clamp(34px,3.4vw,52px);font-weight:400;line-height:1}.level-card .eyebrow{color:var(--lamp-700)}.level-card-meter{height:8px}.level-card-main p{color:var(--ink-600);margin:10px 0 0}.level-card-main p strong{color:var(--ink-950)}.rank-ladder{grid-column:1/-1;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin:6px 0 0;padding:0;list-style:none;display:grid}.rank-ladder li{border-top:3px solid var(--line-300);font-size:var(--fs-15);color:var(--ink-500);gap:4px;padding:10px 10px 12px;line-height:1.25;display:grid}.rank-ladder li span{font-family:var(--font-mono);font-size:13px}.rank-ladder li.is-done{border-top-color:var(--lamp-500);color:var(--ink-700)}.rank-ladder li.is-current{border-top-color:var(--lamp-on-dark);color:var(--ink-950);background:#6fe0a012;font-weight:600}.level-card-next{grid-column:1/-1}.level-card-next ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:10px 0 0;padding:0;list-style:none;display:grid}.level-card-next li{border:1px solid var(--line-200);border-radius:var(--r-lg);background:var(--bg-850);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 12px;padding:12px 14px;display:grid}.level-card-next li .level-badge{grid-row:span 2}.level-card-next li a{color:var(--ink-950);font-weight:600;text-decoration:none}.level-card-next li a:hover{text-decoration:underline}.level-card-next li span:last-child{font-family:var(--font-mono);font-size:var(--fs-15);color:var(--warn-700)}.level-up{z-index:130;background:radial-gradient(80% 160% at 0% 50%, #6fe0a024, transparent 65%), var(--showroom-800);width:max-content;max-width:calc(100vw - 32px);color:var(--on-dark-2);animation:level-up-in .52s var(--ease-out) both;border:1px solid #6fe0a066;border-radius:18px;align-items:center;gap:18px;padding:16px 16px 16px 20px;display:flex;position:fixed;bottom:96px;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #0006,0 30px 70px -30px #000000e6,0 0 40px -10px #6fe0a059}.level-up .level-badge{animation:level-up-badge .9s var(--ease-out) .12s both}.level-up-text{gap:2px;display:grid}.level-up-kicker{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--lamp-on-dark);font-size:13px}.level-up strong{font-size:var(--fs-19);color:var(--on-dark)}.level-up .icon-btn{border-color:var(--showroom-line);color:var(--on-dark-2);background:0 0}@keyframes level-up-in{0%{opacity:0;transform:translate(-50%,24px)scale(.96)}}@keyframes level-up-badge{0%{opacity:0;transform:scale(.4)rotate(-30deg)}60%{opacity:1;transform:scale(1.15)rotate(4deg)}}.quiz-unlocked{color:var(--lamp-700);align-items:center;gap:8px;font-weight:600;display:inline-flex}.hp-pill.hp-level{color:var(--on-dark);gap:9px;padding-left:8px}.hp-pill.hp-level>span:last-child{color:var(--on-dark-3)}@media (max-width:1100px){.rank-ladder{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:720px){.level-card,.level-card-next ul{grid-template-columns:minmax(0,1fr)}.rank-ladder{grid-template-columns:repeat(2,minmax(0,1fr))}.level-up{flex-wrap:wrap;bottom:16px}}@media (prefers-reduced-motion:reduce){.level-up,.level-up .level-badge{animation:none}}
:is(.landing-shell .page-content:has(>.auth),.landing-shell .page-content:has(>.welcome)){max-width:none;padding:0}.auth,.welcome{isolation:isolate;background:radial-gradient(44% 64% at 72% 42%, #ffffff17, transparent 72%), linear-gradient(180deg, var(--showroom-800), var(--showroom-950) 84%);min-height:calc(100svh - 64px);color:var(--on-dark-2);position:relative;overflow:hidden}.auth:before,.welcome:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#ffffff0a 1px,#0000 1px) 0 0/40px 40px,linear-gradient(90deg,#ffffff0a 1px,#0000 1px) 0 0/40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 90% at 70% 40%,#000,#0000 80%);mask-image:radial-gradient(80% 90% at 70% 40%,#000,#0000 80%)}.auth-grid{min-height:inherit;grid-template-columns:minmax(0,1fr) minmax(360px,460px);align-items:center;gap:clamp(40px,6vw,128px);padding-block:clamp(32px,4vw,72px);display:grid}.auth-copy{max-width:580px}.auth .auth-title{font-family:var(--font-serif);letter-spacing:-.025em;color:var(--on-dark);text-wrap:balance;margin:14px 0 0;font-size:clamp(46px,5vw,82px);font-weight:400;line-height:.98}.auth-lead{max-width:34em;color:var(--on-dark-2);text-wrap:pretty;margin:20px 0 0;font-size:clamp(17px,1.3vw,20px);line-height:1.6}.auth-points{gap:16px;margin:34px 0 0;padding:0;list-style:none;display:grid}.auth-points li{color:var(--on-dark-3);grid-template-columns:38px minmax(0,1fr);align-items:start;gap:14px;line-height:1.5;display:grid}.auth-point-icon{width:38px;height:38px;color:var(--lamp-on-dark);background:#6fe0a014;border:1px solid #6fe0a04d;border-radius:11px;place-items:center;display:grid}.auth-points strong{font-size:var(--fs-16);color:var(--on-dark);display:block}.auth-carry{width:fit-content;max-width:100%;color:var(--on-dark);background:#6fe0a00f;border:1px solid #6fe0a047;border-radius:14px;align-items:center;gap:12px;margin:30px 0 0;padding:12px 18px 12px 12px;line-height:1.45;display:flex}.auth-form{align-content:center;justify-items:center;min-height:520px;display:grid}.auth-off{border:1px solid var(--showroom-line);max-width:360px;color:var(--on-dark-2);border-radius:18px;padding:24px;line-height:1.6}.welcome{padding:clamp(32px, 5vw, 80px) var(--landing-gutter,20px);place-items:center;display:grid}.welcome-card{background:linear-gradient(#1c2026,#15181d);border:1px solid #ffffff1f;border-radius:24px;gap:18px;width:min(100%,540px);padding:clamp(26px,3vw,40px);display:grid;box-shadow:0 40px 80px -40px #000000e6}.welcome-card h1{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--on-dark);margin:0;font-size:clamp(40px,3.8vw,56px);font-weight:400;line-height:1}.welcome-card p{color:var(--on-dark-2);margin:0;line-height:1.6}.welcome-card .btn{justify-self:start}.welcome-actions{flex-wrap:wrap;gap:12px;display:flex}.welcome-field{gap:8px;display:grid}.welcome-field>span:first-child{font-size:var(--fs-15);color:var(--on-dark);font-weight:600}.welcome-input{display:block;position:relative}.welcome-input input{width:100%;height:52px;font-family:var(--font-mono);color:var(--on-dark);transition:border-color .16s var(--ease), box-shadow .16s var(--ease);background:#101318;border:1px solid #ffffff29;border-radius:12px;padding:0 46px 0 16px;font-size:17px}.welcome-input input:focus{border-color:#6fe0a099;outline:none;box-shadow:0 0 0 3px #6fe0a02e}.welcome-input input[aria-invalid=true]{border-color:#ff8a7a99}.welcome-ok,.welcome-bad{position:absolute;top:50%;right:15px;translate:0 -50%}.welcome-ok{color:var(--lamp-on-dark)}.welcome-bad{color:#ff8a7a}.welcome-hint{min-height:1.5em;font-size:var(--fs-15);color:var(--on-dark-3)}.welcome-field:has(input[aria-invalid=true]) .welcome-hint{color:#ff8a7a}.welcome-preview{background:#ffffff08;border:1px solid #ffffff1a;border-radius:14px;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 16px;display:grid}.welcome-preview-rank{font-family:var(--font-mono);color:var(--lamp-on-dark);font-size:14px}.welcome-preview-name{min-width:0;display:grid}.welcome-preview-name strong{font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;color:var(--on-dark);font-weight:600;overflow:hidden}.welcome-preview-name small{color:var(--on-dark-3);font-size:13px}.welcome-preview-xp{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--on-dark-2);font-size:14px}.account-signin{border-radius:var(--r-pill);min-height:36px;font-size:var(--fs-15);color:var(--showroom-950);white-space:nowrap;transition:background .15s var(--ease);background:#fff;flex:none;align-items:center;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.account-signin:hover{background:#e8e7e3}.account-slot{flex:none;width:80px;height:36px}.account-menu{flex:none;position:relative}.account-chip{border:1px solid var(--showroom-line);border-radius:var(--r-pill);min-height:36px;font:inherit;font-size:var(--fs-15);color:var(--on-dark);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:0 10px 0 4px;font-weight:600;display:inline-flex}.account-chip:hover,.account-chip[aria-expanded=true]{border-color:#ffffff4d}.account-chip svg{color:var(--on-dark-3)}.account-avatar{color:#0f1115;background:linear-gradient(135deg,#6fe0a0,#36a46e);border-radius:50%;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:12ch;overflow:hidden}.account-pop{z-index:40;min-width:250px;animation:account-pop-in .16s var(--ease-out);background:#181b21;border:1px solid #ffffff1f;border-radius:14px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 24px 50px -20px #000000d9}@keyframes account-pop-in{0%{opacity:0;transform:translateY(-4px)}}.account-pop-head{border-bottom:1px solid #ffffff14;gap:2px;margin-bottom:4px;padding:10px 12px 12px;display:grid}.account-pop-head strong{color:var(--on-dark)}.account-pop-head span{text-overflow:ellipsis;color:var(--on-dark-3);font-size:13px;overflow:hidden}.account-pop button{width:100%;font:inherit;font-size:var(--fs-15);color:var(--on-dark-2);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.account-pop button:hover{color:var(--on-dark);background:#ffffff0f}.account-pop .account-pop-cta{color:var(--lamp-on-dark)}.account-plan{border-radius:var(--r-pill);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;padding:2px 8px;font-size:11.5px;font-weight:600}.account-plan.pro{background:var(--lamp-on-dark);color:#0f1115}.account-plan.trial{color:var(--lamp-on-dark);border:1px solid #6fe0a073}.account-plan.trial.ending{color:#f3c46b;border-color:#f3c46b8c}.account-pop-head .account-pop-plan{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--lamp-on-dark);margin-top:6px;font-size:12px}.pro-offer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:640px;color:var(--on-dark-2);background:radial-gradient(90% 140% at 0 0,#6fe0a01c,#0000 60%),#16191ecc;border:1px solid #6fe0a052;border-radius:20px;gap:18px;padding:clamp(20px,2vw,26px);display:grid;box-shadow:0 30px 60px -36px #000000d9}.mp-start~.pro-offer,.mp-copy>.pro-offer{margin-top:clamp(24px,2.4vw,36px)}.pro-offer-head{align-items:center;gap:16px;display:flex}.pro-offer-head>div{gap:4px;display:grid}.pro-offer-head strong{font-size:var(--fs-19);color:var(--on-dark)}.pro-offer-head span{line-height:1.5}.pro-mark{width:52px;height:52px;color:var(--lamp-on-dark);background:#6fe0a01a;border:1px solid #6fe0a073;border-radius:14px;flex:none;place-items:center;display:grid;box-shadow:0 0 24px -6px #6fe0a099}.pro-offer .btn-primary{color:var(--showroom-950);background:#fff}.pro-offer .btn-primary:hover:not(:disabled){background:#e8e7e3}.pro-offer .btn-secondary{color:var(--on-dark);background:#ffffff0d;border-color:#ffffff38}.pro-gate{margin:clamp(24px,3vw,48px) auto 0}.mp-rig-chip.pro{color:var(--lamp-on-dark);border-color:#6fe0a066}.m-thumb-chips .m-pro-chip,.m-card-top .m-pro-chip{color:var(--lamp-on-dark);background:#6fe0a024;align-items:center;gap:5px;display:inline-flex}.lesson-pro,.course-pro{margin:28px 0 0}.lesson-locked{counter-reset:locked 1;gap:0;max-width:640px;margin:22px 0 0;padding:0;list-style:none;display:grid}.lesson-locked li{border-bottom:1px solid var(--line-200);color:var(--ink-500);counter-increment:locked;align-items:center;gap:12px;padding:12px 4px;display:flex}.lesson-locked li:before{content:counter(locked) ".";min-width:1.6em;font-family:var(--font-mono);color:var(--ink-500);font-size:13px}.lesson-locked li:after{content:"Pro";border-radius:var(--r-pill);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--lamp-on-dark);background:#6fe0a01f;margin-left:auto;padding:1px 8px;font-size:11.5px}.course-module-pro{border-radius:var(--r-pill);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;vertical-align:2px;color:var(--lamp-on-dark);background:#6fe0a024;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:600}.welcome-card.welcome-plans{width:min(100%,760px)}.plan-choice{grid-template-columns:1.15fr 1fr;gap:14px;margin-top:6px;display:grid}.plan-option{font:inherit;color:var(--on-dark-2);text-align:left;cursor:pointer;transition:border-color .16s var(--ease), transform .2s var(--ease-out), background .16s var(--ease);background:#ffffff08;border:1px solid #ffffff1f;border-radius:16px;align-content:start;gap:8px;padding:20px;display:grid}.plan-option:hover:not(:disabled){border-color:#ffffff42;transform:translateY(-2px)}.plan-option:disabled{cursor:progress;opacity:.7}.plan-option strong{font-size:var(--fs-19);color:var(--on-dark)}.plan-option span{line-height:1.5}.plan-option small{font-family:var(--font-mono);color:var(--on-dark-3);margin-top:4px;font-size:12.5px}.plan-option.featured{background:radial-gradient(120% 120% at 0 0,#6fe0a024,#0000 60%),#ffffff08;border-color:#6fe0a080;box-shadow:0 0 40px -18px #6fe0a099}.plan-option.featured:hover:not(:disabled){border-color:#6fe0a0bf}.plan-option .plan-option-tag{border-radius:var(--r-pill);background:var(--lamp-on-dark);width:fit-content;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:#0f1115;align-items:center;gap:6px;padding:3px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.plan-card-actions{gap:8px;margin-top:auto;display:grid}.plan-card .plan-card-actions .btn{margin-top:0}.plan-granted{color:var(--lamp-on-dark);text-align:center;background:#6fe0a014;border:1px solid #6fe0a059;border-radius:12px;margin:0;padding:12px 14px;font-weight:600}.btn-ghost-light{color:#fff;background:0 0;border:1px solid #ffffff42}.btn-ghost-light:hover:not(:disabled){background:#ffffff0f;border-color:#ffffff80}.rail-nav .rail-action{border-radius:var(--r-sm);width:100%;min-height:40px;font:inherit;font-size:var(--fs-15);color:var(--rail-text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:0 12px;font-weight:520;display:flex}.rail-nav .rail-action:hover{background:var(--rail-hover);color:var(--ink-950)}.account-nudge{border-left-color:var(--lamp-on-dark)}.account-nudge>svg{color:var(--lamp-on-dark)}.team{gap:var(--s-5);margin-bottom:var(--s-12);display:grid}.team-head{justify-content:space-between;align-items:flex-end;gap:var(--s-3) var(--s-6);flex-wrap:wrap;display:flex}.team-head h2{font-family:var(--font-display);letter-spacing:-.028em;color:var(--ink-950);margin:6px 0 0;font-size:clamp(24px,2.1vw,30px);font-weight:640;line-height:1.1}.team-seats{color:var(--ink-600);font-size:var(--fs-15);align-items:center;gap:8px;margin:0;display:inline-flex}.team-seats strong{color:var(--ink-950)}.team-seats svg{color:var(--lamp-on-dark);flex:none}.team-table{min-width:900px}.team-table th,.team-table td{text-align:left}.plan-table.team-table tbody th{width:auto}.plan-table.team-table th:nth-child(3),.plan-table.team-table td:nth-child(3){background:0 0}.team-table thead th{font-size:var(--fs-15);color:var(--ink-800);white-space:nowrap;font-weight:600}.team-table td:last-child{text-align:right}.team-muted{color:var(--ink-500);font-weight:400}.team-empty h3{font-size:var(--fs-17);color:var(--ink-950);margin:0 0 6px}.team-empty p{max-width:62ch;margin:0}.team-confirm{gap:var(--s-3);border:1px solid var(--fault-border);border-radius:var(--r-md);background:var(--bg-900);padding:16px 18px;display:grid}.team-confirm p{color:var(--ink-900);margin:0}.team-confirm .button-row{gap:var(--s-3);flex-wrap:wrap;display:flex}.team-confirm .team-remove-yes{border-color:var(--fault-border);color:var(--fault-700)}.team-actions{justify-content:space-between;align-items:flex-start;gap:var(--s-4) var(--s-6);flex-wrap:wrap;display:flex}.team-add{gap:8px;width:min(100%,520px);display:grid}.team-add label{font-size:var(--fs-15);color:var(--ink-800);font-weight:600}.team-add-row{gap:var(--s-3);display:flex}.team-add-row input{flex:1;min-width:0;min-height:40px}.team-hint{font-size:var(--fs-15);color:var(--ink-500);margin:0}.team-status:empty{display:none}.team-status{color:var(--ok-700);font-size:var(--fs-15);margin:0}.team-problem{color:var(--fault-700);font-size:var(--fs-15);margin:0}.team-note>svg,.team-none>svg{color:var(--lamp-on-dark)}@media (max-width:640px){.plan-choice{grid-template-columns:minmax(0,1fr)}.team-add-row{flex-direction:column}.team-add-row .btn{align-self:flex-start}.pro-offer-head{align-items:flex-start}}@media (max-width:1000px){.auth-grid{grid-template-columns:minmax(0,1fr);min-height:0}.auth-form{min-height:0}}@media (prefers-reduced-motion:reduce){.account-pop{animation:none}}.plan-testing{font-size:var(--fs-14,14px);color:var(--ink-600);margin:0;line-height:1.5}.plan-testing strong{color:var(--ink-900)}
.blog-photo{margin:0}.blog-photo-frame{aspect-ratio:16/9;border:1px solid var(--showroom-line);border-radius:var(--r-lg);background:var(--showroom-900);position:relative;overflow:hidden}.blog-photo-inline .blog-photo-frame{aspect-ratio:3/2}.blog-photo-frame>picture{display:contents}.blog-photo-frame img{object-fit:cover;width:100%;height:100%;display:block}.blog-photo-panel{background:radial-gradient(120% 90% at 88% 8%, #4cd08a29, transparent 55%), repeating-linear-gradient(90deg, #ffffff0a 0 1px, transparent 1px 48px), repeating-linear-gradient(0deg, #ffffff0a 0 1px, transparent 1px 48px), linear-gradient(160deg, var(--showroom-800), var(--showroom-950) 70%);position:absolute;inset:0}.blog-photo-tag{font-family:var(--font-mono);letter-spacing:.02em;color:var(--on-dark-3);align-items:center;gap:10px;font-size:13px;display:inline-flex;position:absolute;top:18px;left:20px}.blog-photo-icon{color:#ffffff38;width:clamp(72px,26%,200px);height:auto;position:absolute;bottom:50%;right:8%;transform:translateY(50%)}.blog-photo-mark{opacity:.9;position:absolute;bottom:18px;left:20px}.blog-photo figcaption{font-size:var(--fs-15);color:var(--ink-500);margin-top:10px;line-height:1.5}.blog-meta{font-family:var(--font-mono);color:var(--ink-500);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;font-size:14px;display:flex}.blog-index,.blog-post{max-width:1200px;margin:0 auto}.blog-index-head p{max-width:62ch}.blog-card{min-width:0}.blog-card-link{border:1px solid var(--line-200);border-radius:var(--r-xl);background:var(--bg-900);height:100%;color:inherit;transition:border-color .16s var(--ease), transform .16s var(--ease), box-shadow .16s var(--ease);grid-template-rows:auto 1fr;text-decoration:none;display:grid;overflow:hidden}.blog-card-link:hover{border-color:var(--line-300);box-shadow:var(--shadow-2);transform:translateY(-2px)}.blog-card-link:focus-visible{box-shadow:var(--focus)}.blog-card .blog-photo-frame{border:0;border-bottom:1px solid var(--showroom-line);border-radius:0}.blog-card-copy{align-content:start;gap:10px;padding:20px 22px 24px;display:grid}.blog-card-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink-950);text-wrap:balance;margin:0;font-size:21px;font-weight:640;line-height:1.25}.blog-card-text{font-size:var(--fs-16);color:var(--ink-600);margin:0;line-height:1.6}.blog-card-more{font-size:var(--fs-15);color:var(--ink-950);align-items:center;gap:6px;margin-top:4px;font-weight:600;display:inline-flex}.blog-card-link:hover .blog-card-more{color:var(--lamp-700)}.blog-card-featured .blog-card-link{grid-template-rows:auto;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.blog-card-featured .blog-photo{min-height:320px;position:relative}.blog-card-featured .blog-photo-frame{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--showroom-line);position:absolute;inset:0}.blog-card-featured .blog-card-copy{align-content:center;gap:14px;padding:clamp(24px,3vw,44px)}.blog-card-featured .blog-card-title{font-family:var(--font-serif);letter-spacing:-.015em;font-size:clamp(32px,3vw,46px);font-weight:400;line-height:1.05}.blog-card-featured .blog-card-text{font-size:var(--fs-17)}.blog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px;display:grid}@media (min-width:1101px){.blog-card-lone-3{grid-column:1/-1}.blog-card-lone-3 .blog-card-link{grid-template-rows:auto;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.blog-card-lone-3 .blog-photo{min-height:320px;position:relative}.blog-card-lone-3 .blog-photo-frame{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--showroom-line);position:absolute;inset:0}.blog-card-lone-3 .blog-card-copy{align-content:center;padding:clamp(24px,3vw,44px)}}@media (min-width:861px) and (max-width:1100px){.blog-card-lone-2{grid-column:1/-1}.blog-card-lone-2 .blog-card-link{grid-template-rows:auto;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.blog-card-lone-2 .blog-photo{min-height:320px;position:relative}.blog-card-lone-2 .blog-photo-frame{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--showroom-line);position:absolute;inset:0}.blog-card-lone-2 .blog-card-copy{align-content:center;padding:clamp(24px,3vw,44px)}}.blog-post-head{gap:18px;display:grid}.blog-post-head>:not(.blog-photo){max-width:860px}.blog-post .back-link{font-size:var(--fs-15);color:var(--ink-700);justify-self:start;align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.blog-post .back-link:hover{color:var(--ink-950)}.blog-post-head h1{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--ink-950);text-wrap:balance;margin:0;font-size:clamp(40px,4.8vw,70px);font-weight:400;line-height:1.02}.blog-standfirst{color:var(--ink-700);margin:0;font-size:clamp(18px,1.4vw,20px);line-height:1.6}.blog-byline{align-items:center;gap:14px;display:flex}.blog-byline p{gap:2px;margin:0;display:grid}.blog-avatar{border:1px solid var(--ok-border);background:var(--lamp-tint);width:44px;height:44px;font-family:var(--font-mono);color:var(--lamp-700);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:600;display:grid}.blog-author{font-size:var(--fs-16);color:var(--ink-950);justify-self:start;font-weight:600;text-decoration:none}.blog-author:hover,.blog-index-author:hover{color:var(--lamp-700)}.blog-index-author{color:var(--ink-700);text-decoration:underline;-webkit-text-decoration-color:var(--line-300);text-decoration-color:var(--line-300);text-underline-offset:3px}.blog-post-head>.blog-photo{margin-top:10px}.blog-post-head>.blog-photo .blog-photo-frame{aspect-ratio:3}.blog-layout{grid-template-columns:220px minmax(0,740px);justify-content:center;align-items:start;gap:clamp(32px,4vw,64px);margin-top:clamp(32px,4vw,56px);display:grid}.blog-side{max-height:calc(100vh - 120px);position:sticky;top:96px;overflow-y:auto}.blog-side-title,.blog-toc-phone summary{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-800);margin:0 0 10px;font-size:13px;font-weight:650}.blog-toc-list{counter-reset:toc;gap:2px;margin:0;padding:0;list-style:none;display:grid}.blog-toc-list li{counter-increment:toc}.blog-toc-list a{border-radius:var(--r-sm);font-size:var(--fs-15);color:var(--ink-600);grid-template-columns:22px minmax(0,1fr);gap:6px;padding:7px 8px;line-height:1.35;text-decoration:none;display:grid}.blog-toc-list a:before{content:counter(toc, decimal-leading-zero);font-family:var(--font-mono);color:var(--ink-500);font-size:12px;line-height:1.7}.blog-toc-list a:hover{background:var(--rail-hover);color:var(--ink-950)}.blog-toc-phone{border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--surface);margin-bottom:28px;padding:12px 16px;display:none}.blog-toc-phone summary{cursor:pointer;margin:0}.blog-toc-phone[open] summary{margin-bottom:10px}.blog-body{color:var(--ink-800);font-size:18px;line-height:1.75}.blog-body>*+*{margin-top:18px}.blog-body p{margin-bottom:0}.blog-body h2{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink-950);margin:52px 0 0;scroll-margin-top:96px;font-size:clamp(25px,2.2vw,30px);font-weight:640;line-height:1.2}.blog-body h3{letter-spacing:-.015em;color:var(--ink-950);margin:34px 0 0;scroll-margin-top:96px;font-size:21px;font-weight:640;line-height:1.3}.blog-body h2+*,.blog-body h3+*{margin-top:12px}.blog-body strong{color:var(--ink-950);font-weight:650}.blog-body a{color:var(--ink-950);text-decoration:underline;-webkit-text-decoration-color:var(--lamp-600);text-decoration-color:var(--lamp-600);text-underline-offset:3px;text-decoration-thickness:1px}.blog-body a:hover{color:var(--lamp-700)}.blog-body ul,.blog-body ol{gap:8px;padding-left:1.3em;display:grid}.blog-body li::marker{color:var(--ink-500)}.blog-body code{background:var(--bg-700);font-family:var(--font-mono);color:var(--ink-950);border-radius:6px;padding:1px 6px;font-size:.86em}.blog-code{border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--night-900);font-family:var(--font-mono);color:var(--night-text);padding:18px 20px;font-size:15px;line-height:1.65;position:relative;overflow-x:auto}.blog-code code{font-size:inherit;background:0 0;padding:0}.blog-code[data-language]:before{content:attr(data-language);letter-spacing:.06em;text-transform:uppercase;color:var(--night-muted);font-size:12px;position:absolute;top:8px;right:12px}.blog-note{border:1px solid var(--line-200);border-left:3px solid var(--lamp-500);border-radius:var(--r-md);background:var(--bg-900);padding:18px 22px}.blog-note p{font-size:var(--fs-17);line-height:1.65}.blog-note p+p{margin-top:10px}.blog-table-wrap{border:1px solid var(--line-200);border-radius:var(--r-md);overflow-x:auto}.blog-table{border-collapse:collapse;width:100%;font-size:var(--fs-16);line-height:1.5}.blog-table th,.blog-table td{border-bottom:1px solid var(--line-200);text-align:left;vertical-align:top;padding:11px 14px}.blog-table th{background:var(--bg-800);color:var(--ink-950);font-weight:650}.blog-table tr:last-child td{border-bottom:0}.blog-body .blog-photo{margin:34px 0}.blog-avatar-lg{width:56px;height:56px;font-size:18px}.blog-avatar-xl{width:96px;height:96px;box-shadow:0 0 0 8px var(--lamp-tint);font-size:30px}.blog-author-box{border:1px solid var(--line-200);border-radius:var(--r-xl);background:var(--bg-900);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:18px;margin-top:48px;padding:24px 26px;display:grid}.blog-author-box-kicker{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-500);margin:0 0 2px;font-size:13px}.blog-author-box h2{font-size:var(--fs-19);letter-spacing:-.015em;color:var(--ink-950);margin:0 0 8px;font-weight:640}.blog-author-box p{font-size:var(--fs-16);color:var(--ink-700);margin:0;line-height:1.65}.blog-author-box-more{font-size:var(--fs-15);color:var(--ink-950);align-items:center;gap:6px;margin-top:12px;font-weight:600;text-decoration:none;display:inline-flex}.blog-author-box-more:hover{color:var(--lamp-700)}.blog-author-page{max-width:1200px;margin:0 auto}.blog-author-page>.back-link{font-size:var(--fs-15);color:var(--ink-700);align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.blog-author-head{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(20px,3vw,36px);max-width:900px;margin-top:24px;display:grid}.blog-author-head>div{gap:10px;display:grid}.blog-author-head h1{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--ink-950);margin:0;font-size:clamp(48px,5.4vw,80px);font-weight:400;line-height:1}.blog-author-body{max-width:740px;margin-top:clamp(32px,4vw,48px)}.blog-practise{border:1px solid var(--line-200);border-radius:var(--r-xl);background:var(--bg-900);margin-top:56px;padding:24px 26px}.blog-practise h2,.blog-related h2{letter-spacing:-.02em;color:var(--ink-950);margin:0 0 16px;font-size:clamp(22px,2vw,26px);font-weight:640}.blog-practise-lists{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;display:grid}.blog-practise-head{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-500);align-items:center;gap:8px;margin:0 0 6px;font-size:13px;display:flex}.blog-practise ul{margin:0;padding:0;list-style:none;display:grid}.blog-practise li a{min-height:40px;font-size:var(--fs-16);color:var(--ink-900);text-decoration:underline;-webkit-text-decoration-color:var(--line-300);text-decoration-color:var(--line-300);text-underline-offset:4px;align-items:center;font-weight:560;display:flex}.blog-practise li a:hover{color:var(--ink-950);-webkit-text-decoration-color:var(--lamp-600);text-decoration-color:var(--lamp-600)}.blog-cta{isolation:isolate;border-radius:var(--r-xl);justify-items:start;gap:16px;margin-top:28px;padding:clamp(26px,4vw,44px);display:grid;position:relative}.blog-cta:before,.blog-cta:after{content:"";border-radius:inherit;pointer-events:none;position:absolute}.blog-cta:before{z-index:-2;background:var(--showroom-line);inset:0}.blog-cta:after{z-index:-1;border-radius:calc(var(--r-xl) - 1.5px);background:radial-gradient(90% 120% at 100% 0%, #4cd08a24, transparent 60%), linear-gradient(160deg, var(--showroom-800), var(--showroom-950));inset:1.5px}.blog-cta h2{font-family:var(--font-serif);letter-spacing:-.015em;color:var(--on-dark);margin:0;font-size:clamp(32px,3.2vw,44px);font-weight:400;line-height:1.05}.blog-cta p{max-width:56ch;font-size:var(--fs-17);color:var(--on-dark-2);margin:0;line-height:1.65}.blog-cta-actions{flex-wrap:wrap;gap:12px;margin-top:6px;display:flex}.blog-related{border-top:1px solid var(--line-200);margin-top:clamp(56px,6vw,88px);padding-top:32px}.blog-related .blog-grid{margin-top:0}.blog-progress{z-index:60;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0}.blog-progress-fill{height:100%;transform:scaleX(var(--read,0));transform-origin:0;background:linear-gradient(90deg, #4cd08a40, var(--lamp-600));box-shadow:0 0 10px #4cd08a8c}.blog-progress-head{background:var(--lamp-on-dark);width:6px;height:6px;transform:translateX(calc(var(--read,0) * 100vw - 3px));opacity:var(--head,0);border-radius:50%;position:absolute;top:-2px;left:0;box-shadow:0 0 10px 2px #6fe0a0b3}.blog-side .blog-toc-list{padding-left:16px;position:relative}.blog-side .blog-toc-list:before,.blog-side .blog-toc-list:after{content:"";border-radius:2px;width:2px;position:absolute;top:6px;left:4px}.blog-side .blog-toc-list:before{background:var(--line-200);bottom:6px}.blog-side .blog-toc-list:after{height:var(--toc-fill,0px);background:linear-gradient(var(--lamp-600), var(--lamp-500));box-shadow:0 0 8px var(--lamp-halo);transition:height .32s var(--ease)}.blog-toc-list li{position:relative}.blog-side .blog-toc-list li[data-active]:before{content:"";background:var(--lamp-500);width:10px;height:10px;box-shadow:0 0 0 4px var(--lamp-halo);border-radius:50%;margin-top:-5px;position:absolute;top:50%;left:-16px}.blog-toc-list li[data-active]>a{background:var(--rail-active);color:var(--ink-950);font-weight:600}.blog-toc-list li[data-active]>a:before{color:var(--lamp-700)}.blog-card .blog-photo-frame img{transition:transform .7s var(--ease-out)}.blog-card-link:hover .blog-photo-frame img,.blog-card-link:focus-visible .blog-photo-frame img{transform:scale(1.04)}.blog-card .blog-photo-frame:after{content:"";background:linear-gradient(90deg, transparent, var(--lamp-on-dark), transparent);opacity:0;width:40%;height:2px;position:absolute;bottom:0;left:0;transform:translate(-100%)}.blog-card-link:hover .blog-photo-frame:after,.blog-card-link:focus-visible .blog-photo-frame:after{opacity:1;animation:blog-signal 1.6s var(--ease) infinite}@keyframes blog-signal{to{transform:translate(250%)}}.blog-index-head:before{content:"";background:linear-gradient(90deg, transparent, var(--lamp-on-dark), transparent);opacity:0;width:160px;height:1px;animation:blog-wire 7s var(--ease) infinite;position:absolute;bottom:-1px;left:0;box-shadow:0 0 8px #6fe0a099}@keyframes blog-wire{0%{opacity:0;left:0}8%{opacity:1}55%{opacity:1;left:calc(100% - 160px)}60%,to{opacity:0;left:calc(100% - 160px)}}@property --blog-orbit{syntax:"<angle>";inherits:false;initial-value:0deg}.blog-cta:before{background:conic-gradient(from var(--blog-orbit), #ffffff1a 0 64%, #6fe0a0f2 84%, #ffffff1a 98%);filter:drop-shadow(0 0 6px #6fe0a073);animation:7s linear infinite blog-orbit}@keyframes blog-orbit{to{--blog-orbit:360deg}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.blog-card{animation:linear both blog-rise;animation-timeline:view();animation-range:entry entry 70%}}}@keyframes blog-rise{0%{opacity:0;transform:translateY(24px)}}@media print{.blog-card{animation:none}}@media (max-width:1100px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1000px){.blog-layout{grid-template-columns:minmax(0,1fr)}.blog-side{display:none}.blog-toc-phone{display:block}}@media (max-width:860px){.blog-card-featured .blog-card-link{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.blog-card-featured .blog-photo{min-height:0;position:static}.blog-card-featured .blog-photo-frame{aspect-ratio:16/9;border-right:0;border-bottom:1px solid var(--showroom-line);position:relative;inset:auto}}@media (max-width:640px){.blog-author-head,.blog-author-box{grid-template-columns:minmax(0,1fr);gap:14px}.blog-avatar-xl{width:72px;height:72px;box-shadow:0 0 0 6px var(--lamp-tint);font-size:24px}.blog-author-box{padding:20px}.blog-post-head>.blog-photo .blog-photo-frame{aspect-ratio:16/9}.blog-grid{grid-template-columns:minmax(0,1fr);gap:18px;margin-top:18px}.blog-post-head h1{font-size:38px}.blog-body{font-size:17px;line-height:1.7}.blog-body h2{margin-top:44px}.blog-code{margin-inline:-4px;padding:16px;font-size:14px}.blog-practise{padding:20px}.blog-practise-lists{grid-template-columns:minmax(0,1fr)}.blog-cta-actions{width:100%;display:grid}.blog-cta-actions .btn{justify-content:center}.blog-photo-tag{top:12px;left:14px}.blog-photo-mark{bottom:12px;left:14px}}@media (prefers-reduced-motion:reduce){.blog-progress-head,.blog-index-head:before,.blog-card .blog-photo-frame:after{display:none}.blog-cta:before{background:var(--showroom-line);filter:none;animation:none}.blog-card .blog-photo-frame img,.blog-side .blog-toc-list:after{transition:none}.blog-card-link:hover .blog-photo-frame img,.blog-card-link:focus-visible .blog-photo-frame img{transform:none}}
.cookie-banner{z-index:300;border:1px solid var(--line-300);border-radius:var(--r-md);background:var(--bg-850);width:min(420px,100vw - 40px);color:var(--ink-800);box-shadow:var(--shadow-2), 0 22px 48px -20px #000000a6;padding:16px 18px;position:fixed;bottom:20px;left:20px}.cookie-banner p{margin:0 0 14px;font-size:14px;line-height:1.5}.cookie-banner strong{color:var(--ink-950);margin-bottom:4px;font-size:15px;display:block}.cookie-banner-actions{gap:8px;display:flex}.cookie-banner-actions .btn{flex:1}.page-footer .page-footer-cookies{appearance:none;color:var(--ink-500);font:inherit;cursor:pointer;transition:color .14s var(--ease);background:0 0;border:0;padding:0}.page-footer .page-footer-cookies:hover{color:var(--ink-950)}@media (max-width:600px){.cookie-banner{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto}}.cookie-banner a{color:inherit;text-underline-offset:3px;text-decoration:underline}
.phone-app{margin-top:var(--s-6)}.phone-app h2{align-items:center;gap:10px;display:flex}.phone-app h3{margin:var(--s-5) 0 var(--s-2)}.phone-app p{max-width:62ch}.phone-app .button-row{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.inline-icon{vertical-align:-2px;display:inline-block}.install-banner{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:290;background:var(--night-800);color:var(--night-text);border:1px solid var(--night-600);border-radius:16px;align-items:center;gap:12px;padding:12px 12px 12px 14px;display:flex;position:fixed;box-shadow:0 18px 40px #00000073}.install-banner img{border-radius:10px;flex:none}.install-banner-text{flex:1;gap:2px;min-width:0;font-size:13.5px;line-height:1.35;display:grid}.install-banner-text strong{font-size:15px}.install-banner .button{flex:none;min-height:40px}.install-banner-close{width:40px;height:40px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;place-items:center;display:grid}.install-banner-close:focus-visible{outline:2px solid var(--lamp-on-dark)}.update-notice{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:300;border:1px solid var(--night-600);background:var(--night-800);width:max-content;max-width:calc(100vw - 24px);color:var(--night-text);border-radius:14px;align-items:center;gap:12px;padding:8px 8px 8px 16px;font-size:14.5px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 18px 40px #00000073}.update-notice .button{align-items:center;gap:6px;min-height:38px;display:inline-flex}.update-notice-close{width:38px;height:38px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid}.update-notice-close:focus-visible{outline:2px solid var(--lamp-on-dark)}
