@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-900:oklch(39.3% .095 152.535);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-cyan-600:oklch(60.9% .126 221.723);--color-blue-500:oklch(62.3% .214 259.815);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-4xl:56rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{color-scheme:dark}html,body{background-color:var(--color-gray-900);color:var(--color-gray-100);margin:0;padding:0;overflow-x:hidden}#root{min-height:100vh}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.right-3{right:calc(var(--spacing)*3)}.bottom-3{bottom:calc(var(--spacing)*3)}.bottom-\[280px\]{bottom:280px}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing)*3)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-1\.5{margin-right:calc(var(--spacing)*1.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-10{height:calc(var(--spacing)*10)}.h-16{height:calc(var(--spacing)*16)}.h-96{height:calc(var(--spacing)*96)}.h-full{height:100%}.h-px{height:1px}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-\[90vh\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-16{width:calc(var(--spacing)*16)}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[280px\]{max-width:280px}.min-w-\[220px\]{min-width:220px}.flex-1{flex:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-not-allowed{cursor:not-allowed}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-cyan-500{border-color:var(--color-cyan-500)}.border-gray-600{border-color:var(--color-gray-600)}.border-gray-700{border-color:var(--color-gray-700)}.border-green-500{border-color:var(--color-green-500)}.border-orange-500{border-color:var(--color-orange-500)}.border-yellow-500{border-color:var(--color-yellow-500)}.bg-black{background-color:var(--color-black)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-cyan-400{background-color:var(--color-cyan-400)}.bg-cyan-600{background-color:var(--color-cyan-600)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-900{background-color:var(--color-green-900)}.bg-orange-400{background-color:var(--color-orange-400)}.bg-red-500{background-color:var(--color-red-500)}.bg-yellow-900{background-color:var(--color-yellow-900)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.pt-6{padding-top:calc(var(--spacing)*6)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-cyan-400{color:var(--color-cyan-400)}.text-gray-100{color:var(--color-gray-100)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-green-400{color:var(--color-green-400)}.text-orange-400{color:var(--color-orange-400)}.text-white{color:var(--color-white)}.text-yellow-300{color:var(--color-yellow-300)}.text-yellow-400{color:var(--color-yellow-400)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}@media(hover:hover){.hover\:bg-cyan-500:hover{background-color:var(--color-cyan-500)}.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.hover\:text-white:hover{color:var(--color-white)}}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:48rem){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}:root{--bg-primary:#1a1a1a;--bg-secondary:#242424;--bg-tertiary:#2a2a2a;--bg-hover:#333;--bg-elevated:#1f1f1f;--accent-primary:#00d084;--accent-primary-dark:#00a066;--accent-primary-light:#00ff9f;--accent-primary-rgb:0,208,132;--accent-green:var(--accent-primary);--accent-green-dark:var(--accent-primary-dark);--accent-green-light:var(--accent-primary-light);--brand-gradient:linear-gradient(180deg,#2ecc71,#b8cc22,#17a9b0);--text-primary:#fff;--text-secondary:#b0b0b0;--text-tertiary:gray;--text-muted:#666;--border-color:#3a3a3a;--border-active:#00d084;--border-hover:#4a4a4a;--status-success:#00d084;--status-success-bg:#00d0841a;--status-success-border:#00d0844d;--status-error:#f44;--status-error-bg:#ff444426;--status-error-border:#ff44444d;--status-warning:orange;--status-warning-bg:#ffa50026;--status-warning-border:#ffa5004d;--status-info:#3498db;--status-info-bg:#3498db26;--status-info-border:#3498db4d;--status-pass:#00e59a;--status-pass-bg:#00e59a14;--status-pass-border:#00e59a4d;--status-fail:#ff4d6a;--status-fail-bg:#ff4d6a14;--status-fail-border:#ff4d6a4d;--status-warn-strong:#f5a623;--status-warn-strong-bg:#f5a6231a;--status-warn-strong-border:#f5a62359;--action-blue:#4f9cf9;--action-blue-dim:#4f9cf929;--action-blue-border:#4f9cf966;--overlay-bg:#000000b3;--overlay-bg-light:#00000080;--glass-bg:#141414d9;--glass-border:#ffffff1a;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--navbar-height:72px;--header-height:72px;--sidebar-width:420px;--sidebar-collapsed-width:60px;--nav-sidebar-width:190px;--app-statusbar-height:28px;--font-family-base:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","Roboto","Helvetica Neue",sans-serif;--font-family-mono:"SF Mono",Monaco,"Cascadia Code","Roboto Mono",Consolas,"Courier New",monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--letter-spacing-tight:-.5px;--letter-spacing-normal:0;--letter-spacing-wide:.5px;--letter-spacing-wider:.8px;--letter-spacing-widest:1.2px;--shadow-sm:0 2px 4px #0000004d;--shadow-md:0 4px 8px #0006;--shadow-lg:0 8px 16px #00000080;--shadow-xl:0 12px 24px #0009;--shadow-2xl:0 16px 32px #000000b3;--shadow-glow:0 0 20px #00d0844d;--shadow-glow-lg:0 0 30px #00d08466;--shadow-glow-sm:0 0 10px #00d08433;--shadow-inner:inset 0 2px 4px #0000004d;--shadow-inner-lg:inset 0 0 60px #00d08405;--radius-none:0;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--radius-2xl:12px;--radius-3xl:18px;--radius-full:9999px;--border-width-0:0;--border-width-1:1px;--border-width-2:2px;--border-width-3:3px;--border-width-4:4px;--duration-fast:.15s;--duration-normal:.2s;--duration-slow:.3s;--duration-slower:.4s;--ease-in-out:cubic-bezier(.4,0,.2,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in:cubic-bezier(.4,0,1,1);--ease-bounce:cubic-bezier(.68,-.55,.265,1.55);--ease-snappy:cubic-bezier(.22,1,.36,1)}@keyframes pulse{50%{opacity:.5}}@keyframes pulse-scale{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.btn-base{padding:var(--space-3)var(--space-5);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--duration-normal)var(--ease-in-out);justify-content:center;align-items:center;gap:var(--space-2);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);font-family:var(--font-family-base);border:none;outline:none;display:inline-flex}.btn-base:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent-primary),var(--accent-primary-dark));color:var(--bg-primary);box-shadow:var(--shadow-md);padding:var(--space-3)var(--space-5);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--duration-normal)var(--ease-in-out);justify-content:center;align-items:center;gap:var(--space-2);border:none;outline:none;display:inline-flex}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-lg),var(--shadow-glow);background:linear-gradient(135deg,var(--accent-primary-light),var(--accent-primary));transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:linear-gradient(135deg,var(--bg-hover),var(--bg-tertiary));color:var(--text-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-md);padding:var(--space-3)var(--space-5);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--duration-normal)var(--ease-in-out);justify-content:center;align-items:center;gap:var(--space-2);outline:none;display:inline-flex}.btn-secondary:hover:not(:disabled){background:linear-gradient(135deg,#4a4a4a,var(--bg-hover));border-color:var(--accent-primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-icon{padding:var(--space-2);border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);transition:all var(--duration-normal)var(--ease-in-out);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.btn-icon:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-hover)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.input-field{padding:var(--space-2)var(--space-3);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);transition:all var(--duration-normal)var(--ease-in-out);font-family:var(--font-family-base);outline:none}.input-field:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb),.1)}.input-field::-moz-placeholder{color:var(--text-tertiary)}.input-field::placeholder{color:var(--text-tertiary)}.input-field:disabled{opacity:.6;cursor:not-allowed}.input-field[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input-field[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-field[type=number]{-moz-appearance:textfield}.select-field{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--space-2)center;padding-right:var(--space-8);cursor:pointer;background-size:16px}.navbar{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:var(--space-5)var(--space-6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;height:var(--navbar-height);align-items:center;display:flex}.navbar-container{justify-content:space-between;align-items:center;gap:var(--space-5);width:100%;max-width:100%;display:flex}.navbar-logo{align-items:center;gap:var(--space-3);display:flex}.navbar-title{font-size:var(--text-2xl);font-weight:var(--font-weight-bold);color:var(--accent-primary);margin:0}.navbar-subtitle{font-size:var(--text-xs);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:var(--text-tertiary)}.navbar-actions{align-items:center;gap:var(--space-4);display:flex}.tabs-container{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);min-height:48px;display:flex}.tabs{scroll-behavior:smooth;flex:1;gap:0;display:flex;overflow-x:auto}.tab-button{padding:var(--space-3)var(--space-4);color:var(--text-tertiary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-weight-medium);transition:all var(--duration-normal)var(--ease-in-out);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);border:none;border-right:1px solid var(--border-color);white-space:nowrap;font-family:var(--font-family-base);background:0 0;flex:1;position:relative}.tab-button:last-child{border-right:none}.tab-button:hover{color:var(--text-secondary);background:var(--bg-hover)}.tab-button.active,.tab-button-active{color:var(--accent-primary);background:var(--bg-secondary)}.tab-button.active:after,.tab-button-active:after{content:"";background:linear-gradient(90deg,transparent,var(--accent-primary),transparent);height:2px;animation:.3s slideIn;position:absolute;bottom:0;left:0;right:0}.panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.panel-elevated{background:var(--bg-elevated);box-shadow:var(--shadow-md)}.modal-overlay{background:var(--overlay-bg);z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);max-width:90vw;max-height:90vh;overflow:auto}.modal-header{padding:var(--space-6);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--text-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.modal-close{color:var(--text-secondary);font-size:var(--text-2xl);cursor:pointer;padding:var(--space-2);transition:color var(--duration-fast)var(--ease-in-out);background:0 0;border:none;line-height:1}.modal-close:hover{color:var(--status-error)}.modal-body{padding:var(--space-6)}.modal-footer{padding:var(--space-6);border-top:1px solid var(--border-color);justify-content:flex-end;align-items:center;gap:var(--space-4);display:flex}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}.vl-card{background:var(--glass-bg);border:var(--border-width-1)solid rgba(var(--accent-primary-rgb),.14);border-radius:var(--radius-lg);transition:border-color var(--duration-normal)var(--ease-snappy),box-shadow var(--duration-normal)var(--ease-snappy);-webkit-backdrop-filter:blur(12px);flex-direction:column;display:flex;overflow:hidden}.vl-card-open{border-color:var(--border-active);box-shadow:var(--shadow-glow-sm)}.vl-card-header{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3);cursor:pointer;font-family:var(--font-family-base);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:var(--text-secondary);transition:color var(--duration-fast)var(--ease-snappy);text-align:left;background:0 0;border:none;display:flex}.vl-card-header:hover,.vl-card-open .vl-card-header{color:var(--accent-primary)}.vl-card-header:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px;border-radius:var(--radius-sm)}.vl-card-icon{color:inherit;flex-shrink:0;align-items:center;display:inline-flex}.vl-card-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.vl-card-chevron{color:var(--text-tertiary);transition:transform var(--duration-fast)var(--ease-snappy);flex-shrink:0;font-size:11px}.vl-card-chevron-open{color:var(--accent-primary);transform:rotate(90deg)}@media(prefers-reduced-motion:reduce){.vl-card,.vl-card-header,.vl-card-chevron{transition:none}}.vl-card-body{gap:var(--space-2);padding:0 var(--space-3)var(--space-3);flex-direction:column;display:flex}.vl-card :focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.vl-card-body::-webkit-scrollbar{width:6px;height:6px}.vl-card-body::-webkit-scrollbar-track{background:0 0}.vl-card-body::-webkit-scrollbar-thumb{background:rgba(var(--accent-primary-rgb),.18);border-radius:3px}.vl-card-body::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-primary-rgb),.35)}.cad-canvas-theme{--cad-bg:#0a0f14;--cad-side:#0d1218;--cad-line:#1a2a2e;--cad-accent:#2ecc71;--cad-hi:#5de8a0;--cad-dim:#3a6b5a;--cad-text:#8abfa5;--cad-bright:#c4f0d8;--cad-danger:#ff4d6a;--cad-teal:#17a9b0;--cad-gold:#b8cc22;--cad-gradient:linear-gradient(180deg,#2ecc71,#b8cc22,#17a9b0);background:var(--cad-bg);color:var(--cad-text);font-family:IBM Plex Mono,monospace}.loading-spinner{border:4px solid #00d08433;border-top-color:#00d084;border-radius:50%;width:40px;height:40px;margin:0 auto;animation:.8s linear infinite spin;display:inline-block}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}.gf-app-shell{display:flex;height:100vh;width:100vw;overflow:hidden;background:var(--bg-primary);color:var(--text-primary)}.gf-sidebar{width:var(--nav-sidebar-width);flex-shrink:0;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--glass-bg);border-right:var(--border-width-1) solid var(--border-color);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.gf-sidebar-logobar{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-2);border-bottom:var(--border-width-1) solid var(--border-color)}.gf-sidebar-logo{font-size:var(--text-sm);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wider);background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;white-space:nowrap}.gf-sidebar-logobar .language-selector{gap:.3rem}.gf-sidebar-logobar .flag-image{width:18px}.gf-sidebar-logobar .language-flag{padding:.2rem}.gf-sidebar-section{margin-top:var(--space-1);padding:0 var(--space-2)}.gf-sidebar-section-label{font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:var(--text-tertiary);padding:var(--space-3) var(--space-2) var(--space-1)}.gf-sidebar-btn{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-2);font-family:inherit;font-size:var(--text-xs);letter-spacing:var(--letter-spacing-normal);color:var(--text-secondary);background:none;border:var(--border-width-1) solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:color var(--duration-fast) var(--ease-snappy),background var(--duration-fast) var(--ease-snappy),border-color var(--duration-fast) var(--ease-snappy);text-align:left}.gf-sidebar-btn:hover{color:var(--accent-primary);border-color:var(--border-hover)}.gf-sidebar-btn:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.5}.gf-sidebar-status{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary);padding:var(--space-1) var(--space-2)}.gf-sidebar-status-dot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--accent-primary);flex-shrink:0}.gf-sidebar-status-count{color:var(--accent-primary);font-weight:var(--font-weight-semibold)}.gf-sidebar-shortcuts{margin-top:auto;padding:var(--space-3) var(--space-3);font-size:10px;line-height:var(--line-height-relaxed);color:var(--text-muted);border-top:var(--border-width-1) solid var(--border-color)}.gf-kbd{display:inline-block;padding:0 4px;margin-right:4px;border:var(--border-width-1) solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-family-mono);color:var(--text-secondary)}.gf-main-column{flex:1 1 0;min-width:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.gf-workspace{flex:1 1 0;min-height:0;position:relative;overflow:hidden}.gf-statusbar{height:var(--app-statusbar-height);flex-shrink:0;display:flex;align-items:center;gap:var(--space-5);padding:0 var(--space-4);font-size:11px;letter-spacing:var(--letter-spacing-wide);color:var(--text-tertiary);background:var(--bg-elevated);border-top:var(--border-width-1) solid var(--border-color)}.gf-statusbar-value{color:var(--text-primary);font-weight:var(--font-weight-medium)}.gf-run-panel{position:fixed;bottom:calc(var(--app-statusbar-height) + var(--space-4));right:var(--space-4);z-index:9000;width:280px;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);max-height:min(70vh,520px);overflow-y:auto}.gf-run-panel-algo{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);color:var(--text-tertiary)}.gf-run-btn{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:#fff;background:var(--accent-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast) var(--ease-snappy)}.gf-run-btn:hover:not(:disabled){background:var(--accent-primary-dark)}.gf-run-btn:disabled{background:var(--bg-hover);color:var(--text-muted);cursor:not-allowed}.gf-cancel-btn{width:100%;padding:var(--space-2) var(--space-4);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--status-fail);background:var(--status-fail-bg);border:var(--border-width-1) solid var(--status-fail-border);border-radius:var(--radius-md);cursor:pointer}.gf-cancel-btn:hover:not(:disabled){background:#ff4d6a2e}.gf-run-status-line{font-size:var(--text-xs);color:var(--text-secondary)}.gf-run-status-error{color:var(--status-fail)}.gf-run-status-warn{color:var(--status-warn-strong)}.gf-run-panel-actions{display:flex;gap:var(--space-2)}.gf-run-panel-actions button{flex:1}.gf-run-log{border-top:var(--border-width-1) solid var(--border-color);padding-top:var(--space-2)}.gf-run-log-toggle{display:flex;align-items:center;gap:var(--space-1);width:100%;background:none;border:none;color:var(--text-tertiary);font-size:var(--text-xs);cursor:pointer;padding:0;text-align:left;transition:color var(--duration-fast) var(--ease-snappy)}.gf-run-log-toggle:hover{color:var(--accent-primary)}.gf-run-log-chevron{display:inline-block;font-size:9px;transition:transform var(--duration-fast) var(--ease-snappy)}.gf-run-log-chevron-open{transform:rotate(90deg)}.gf-run-log-body{margin:var(--space-2) 0 0;padding:var(--space-2);max-height:140px;overflow-y:auto;background:#05100a;border:var(--border-width-1) solid rgba(var(--accent-primary-rgb),.2);border-radius:var(--radius-sm);color:var(--accent-primary-light);font-family:var(--font-family-mono);font-size:10px;line-height:var(--line-height-relaxed);white-space:pre-wrap;word-break:break-word}@media(prefers-reduced-motion:reduce){.gf-run-log-toggle,.gf-run-log-chevron{transition:none}}.gf-overlay{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;background:var(--bg-primary)}.gf-overlay-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:var(--border-width-1) solid var(--border-color);background:var(--bg-secondary);flex-shrink:0}.gf-overlay-title{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.gf-overlay-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:var(--bg-tertiary);border:var(--border-width-1) solid var(--border-color);color:var(--text-secondary);cursor:pointer;font-size:var(--text-lg);line-height:1;transition:color var(--duration-fast) var(--ease-snappy),border-color var(--duration-fast) var(--ease-snappy)}.gf-overlay-close:hover{color:var(--accent-primary);border-color:var(--border-active)}.gf-overlay-body{flex:1 1 0;min-height:0;overflow-y:auto;padding:var(--space-4)}.language-selector{display:flex;align-items:center;gap:.75rem}.language-flag{background:transparent;border:2px solid transparent;border-radius:8px;padding:.4rem .5rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;position:relative}.flag-image{width:28px;height:auto;display:block;border-radius:4px;transition:transform .3s ease}.language-flag:hover .flag-image{transform:scale(1.15)}.language-flag.active{border-color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.1);box-shadow:0 0 12px rgba(var(--accent-primary-rgb),.3)}.language-flag:not(.active):hover{border-color:rgba(var(--accent-primary-rgb),.5);background:rgba(var(--accent-primary-rgb),.05)}.language-flag:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb),.2)}@media(max-width:768px){.language-selector{gap:.5rem}.flag-image{width:24px}.language-flag{padding:.3rem .4rem}}@media(max-width:480px){.language-selector{gap:.4rem}.flag-image{width:22px}}.status-banner{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border-left:var(--border-width-4) solid transparent;background:var(--bg-elevated);font-size:var(--text-sm);color:var(--text-primary)}.status-banner-advisory{border-left-color:var(--status-warn-strong);background:var(--status-warn-strong-bg)}.status-banner-blocking,.status-banner-error{border-left-color:var(--status-fail);background:var(--status-fail-bg)}.status-banner-info{border-left-color:var(--action-blue);background:var(--action-blue-dim)}.status-banner-title{font-weight:var(--font-weight-semibold)}.status-banner-message{color:var(--text-secondary)}.status-banner-details{margin-top:var(--space-1)}.status-banner-details summary{cursor:pointer;color:var(--text-tertiary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.status-banner-details summary:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.status-banner-details pre{margin-top:var(--space-2);padding:var(--space-2);background:var(--bg-primary);border-radius:var(--radius-sm);font-family:var(--font-family-mono);font-size:var(--text-xs);white-space:pre-wrap;word-break:break-word;max-height:240px;overflow:auto}.job-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-family:var(--font-family-mono);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);border:var(--border-width-1) solid transparent;white-space:nowrap}.job-chip-pass{color:var(--status-pass);background:var(--status-pass-bg);border-color:var(--status-pass-border)}.job-chip-fail{color:var(--status-fail);background:var(--status-fail-bg);border-color:var(--status-fail-border)}.job-chip-warn{color:var(--status-warn-strong);background:var(--status-warn-strong-bg);border-color:var(--status-warn-strong-border)}.job-chip-running{color:var(--accent-primary);background:var(--status-success-bg);border-color:var(--status-success-border);animation:pulse 1.5s var(--ease-in-out) infinite}.job-chip-info{color:var(--text-secondary);background:var(--bg-tertiary);border-color:var(--border-color)}@media(prefers-reduced-motion:reduce){.job-chip-running{animation:none}}.gf-infotip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-left:var(--space-2);color:var(--text-tertiary);cursor:help;vertical-align:middle;border-radius:var(--radius-full)}.gf-infotip:hover,.gf-infotip:focus,.gf-infotip:focus-visible{color:var(--accent-primary);outline:none}.gf-infotip:focus-visible{box-shadow:0 0 0 2px var(--accent-primary)}.gf-infotip-icon{display:inline-flex;width:15px;height:15px}.gf-infotip-icon svg{width:100%;height:100%}.gf-infotip-bubble{position:absolute;bottom:calc(100% + 8px);left:0;z-index:60;width:-moz-max-content;width:max-content;max-width:240px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--bg-secondary);border:var(--border-width-1) solid var(--border-color);box-shadow:var(--shadow-lg);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-weight-normal);line-height:1.5;text-align:left;white-space:normal;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity var(--duration-fast) var(--ease-snappy),transform var(--duration-fast) var(--ease-snappy),visibility var(--duration-fast);pointer-events:none}.gf-infotip-left .gf-infotip-bubble{left:auto;right:0}.gf-infotip-below .gf-infotip-bubble{bottom:auto;top:calc(100% + 8px);transform:translateY(-4px)}.gf-infotip:hover .gf-infotip-bubble,.gf-infotip:focus .gf-infotip-bubble,.gf-infotip:focus-within .gf-infotip-bubble{opacity:1;visibility:visible;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.gf-infotip-bubble,.gf-infotip-below .gf-infotip-bubble{transition:none;transform:none}.gf-infotip:hover .gf-infotip-bubble,.gf-infotip:focus .gf-infotip-bubble,.gf-infotip:focus-within .gf-infotip-bubble{transform:none}}.gf-viewer-toolbar{scrollbar-width:thin;scrollbar-color:var(--cad-dim) transparent}.gf-viewer-toolbar::-webkit-scrollbar{width:7px}.gf-viewer-toolbar::-webkit-scrollbar-track{background:transparent}.gf-viewer-toolbar::-webkit-scrollbar-thumb{background-color:var(--cad-dim);border-radius:var(--radius-full, 9999px)}.gf-viewer-toolbar::-webkit-scrollbar-thumb:hover{background-color:var(--cad-text)}.gf-viewer-toolbar-has-more{mask-image:linear-gradient(to bottom,black calc(100% - 20px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black calc(100% - 20px),transparent 100%)}.gf-viewer-toolbar-more{position:sticky;bottom:-8px;flex-shrink:0;width:100%;height:18px;display:flex;align-items:center;justify-content:center;color:var(--cad-accent);background:linear-gradient(to bottom,transparent,var(--cad-side) 60%);pointer-events:none}.gf-viewer-toolbar-more svg{width:14px;height:14px;animation:gf-toolbar-more-bounce 1.4s ease-in-out infinite}@keyframes gf-toolbar-more-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}@media(prefers-reduced-motion:reduce){.gf-viewer-toolbar-more svg{animation:none}}.ro-shell{display:flex;flex-direction:column;height:100%;min-height:0}.ro-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--bg-secondary);border-bottom:var(--border-width-1) solid var(--border-color);flex-shrink:0}.ro-topbar-left{display:flex;align-items:center;gap:var(--space-3);min-width:0}.ro-title{font-size:var(--text-sm);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:var(--text-primary);background:linear-gradient(90deg,var(--accent-primary) 0%,transparent 100%);background-repeat:no-repeat;background-size:100% 2px;background-position:0 100%;padding-bottom:3px;white-space:nowrap}.ro-topbar-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.ro-close-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-md);background:var(--bg-tertiary);border:var(--border-width-1) solid var(--border-color);color:var(--text-secondary);cursor:pointer;font-size:var(--text-lg);line-height:1;transition:color var(--duration-fast) var(--ease-snappy),border-color var(--duration-fast) var(--ease-snappy)}.ro-close-btn:hover{color:var(--accent-primary);border-color:var(--border-active)}.ro-tabbar{display:flex;align-items:stretch;gap:2px;padding:0 var(--space-4);background:var(--bg-secondary);border-bottom:var(--border-width-1) solid var(--border-color);flex-shrink:0}.ro-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5) 10px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-tertiary);font-size:var(--text-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-widest);text-transform:uppercase;cursor:pointer;position:relative;top:1px;transition:color var(--duration-fast) var(--ease-snappy),border-color var(--duration-fast) var(--ease-snappy)}.ro-tab:hover{color:var(--text-primary)}.ro-tab:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.ro-tab-active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);font-weight:var(--font-weight-semibold);text-shadow:var(--shadow-glow-sm)}.ro-panel{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ro-panel-hidden{display:none}.ro-panel-plots{overflow-y:auto;padding:var(--space-3)}.ro-panel-report{padding:0}@media(prefers-reduced-motion:reduce){.ro-tab,.ro-close-btn{transition:none}}.rt-layout{display:flex;gap:var(--space-3);align-items:flex-start;min-height:100%}.rt-rail{width:340px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-2)}.rt-main{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:var(--space-2)}.rt-label{display:block;font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--space-1)}.rt-help{font-size:var(--text-xs);color:var(--text-tertiary)}.rt-input{width:100%;padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);color:var(--text-primary);border-radius:var(--radius-md);border:var(--border-width-1) solid var(--border-color);font-size:var(--text-sm)}.rt-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px rgba(var(--accent-primary-rgb),.3)}.rt-input-accent-warn{color:var(--status-warn-strong);font-family:var(--font-family-mono)}.rt-input-accent-primary{color:var(--accent-primary);font-family:var(--font-family-mono)}.rt-input-accent-action{color:var(--action-blue);font-family:var(--font-family-mono)}.rt-field-row{display:flex;gap:var(--space-3)}.rt-field{flex:1;min-width:0}.rt-checkbox{width:16px;height:16px;accent-color:var(--accent-primary);flex-shrink:0}.rt-checkbox-action{accent-color:var(--action-blue)}.rt-checkbox-warn{accent-color:var(--status-warn-strong)}.rt-checkbox-row{display:flex;align-items:center;gap:var(--space-2)}.rt-pill-group{display:flex;gap:var(--space-1)}.rt-pill{padding:6px var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);background:var(--bg-tertiary);color:var(--text-secondary);border:none;cursor:pointer;transition:background var(--duration-fast) var(--ease-snappy),color var(--duration-fast) var(--ease-snappy);white-space:nowrap}.rt-pill:hover{background:var(--bg-hover)}.rt-pill-active{background:var(--accent-primary);color:var(--bg-primary)}.rt-pill-active:hover{background:var(--accent-primary)}.rt-pill-warn-active{background:var(--status-warn-strong);color:var(--bg-primary)}.rt-btn-block{width:100%;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:var(--text-sm);cursor:pointer;border:none;transition:background var(--duration-fast) var(--ease-snappy)}.rt-btn-block:disabled{opacity:.5;cursor:not-allowed}.rt-card-section+.rt-card-section{margin-top:var(--space-3)}.rt-empty{max-width:720px;margin:var(--space-8) auto 0}.rt-empty-card{background:var(--bg-secondary);border:var(--border-width-1) solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-8)}.rt-empty-header{text-align:center;margin-bottom:var(--space-8)}.rt-empty-header h2{font-size:var(--text-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.rt-empty-header p{color:var(--text-tertiary)}.rt-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-8)}.rt-stat{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:var(--space-4)}.rt-stat-label{color:var(--text-tertiary);font-size:var(--text-sm);margin-bottom:var(--space-1)}.rt-stat-value{font-size:var(--text-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.rt-stat-value-accent{color:var(--accent-primary)}.rt-progress-box{margin-top:var(--space-4);background:var(--action-blue-dim);border:var(--border-width-1) solid var(--action-blue-border);border-radius:var(--radius-md);padding:var(--space-4)}.rt-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.rt-progress-track{width:100%;background:var(--bg-tertiary);border-radius:var(--radius-full);height:10px}.rt-progress-fill{height:10px;border-radius:var(--radius-full);background:var(--accent-primary);transition:width var(--duration-slower) var(--ease-snappy)}.rt-info-bar{display:flex;align-items:center;justify-content:space-between;background:#0003;border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--text-tertiary)}.rt-info-bar-stats{display:flex;gap:var(--space-4)}.rt-plot-panel{background:var(--bg-secondary);border:var(--border-width-1) solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.rt-modal-backdrop{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;background:var(--overlay-bg);padding:var(--space-4)}.rt-modal{background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);max-width:42rem;width:100%;max-height:90vh;display:flex;flex-direction:column;border:var(--border-width-1) solid var(--border-color)}.rt-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:var(--border-width-1) solid var(--border-color);flex-shrink:0}.rt-modal-title{font-size:var(--text-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.rt-modal-close{padding:var(--space-2);color:var(--text-tertiary);background:none;border:none;border-radius:var(--radius-md);cursor:pointer}.rt-modal-close:hover{color:var(--text-primary);background:var(--bg-tertiary)}.rt-modal-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);overflow-y:auto;flex-grow:1}.rt-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4);border-top:var(--border-width-1) solid var(--border-color);flex-shrink:0}.rt-modal-section{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.rt-modal-section-accent{background:linear-gradient(135deg,var(--action-blue-dim),rgba(var(--accent-primary-rgb),.05));border:var(--border-width-1) solid var(--action-blue-border)}.rt-focus-analysis{background:#0000004d;border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--text-xs);color:var(--text-secondary);display:flex;flex-direction:column;gap:2px}.rt-info-box{background:var(--status-success-bg);border:var(--border-width-1) solid var(--border-active);border-radius:var(--radius-md);padding:var(--space-3)}.rt-info-box h4{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--accent-primary);margin-bottom:var(--space-2)}.rt-info-box ul{font-size:var(--text-xs);color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--space-1)}.rt-btn-primary{background:var(--accent-primary);color:var(--bg-primary)}.rt-btn-primary:hover:not(:disabled){background:var(--accent-primary-dark)}.rt-btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.rt-btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.rt-btn-action{background:var(--action-blue);color:#fff}.rt-btn-action:hover:not(:disabled){background:var(--action-blue);box-shadow:var(--shadow-glow-sm)}.rt-btn-fail{color:var(--status-fail)}.rt-text-warn{color:var(--status-warn-strong)}.rt-text-fail{color:var(--status-fail)}.rt-text-action{color:var(--action-blue)}.rt-text-accent{color:var(--accent-primary)}.rt-spin{animation:spin .8s linear infinite}@media(prefers-reduced-motion:reduce){.rt-spin{animation-duration:2.5s}}.hr-shell{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.hr-toolbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:var(--border-width-1) solid var(--border-color);background:var(--bg-secondary);flex-shrink:0}.hr-toolbar-label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.hr-iframe-wrap{flex:1 1 0;min-height:0;background:#000}.hr-iframe{width:100%;height:100%;border:none;display:block}.hr-info{padding:var(--space-3) var(--space-4);border-top:var(--border-width-1) solid var(--border-color);background:var(--action-blue-dim);flex-shrink:0}.hr-info p{font-size:var(--text-sm);color:var(--text-secondary)}.hr-info strong{color:var(--action-blue)}.hr-empty{display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:0;color:var(--text-tertiary);text-align:center}.cs-modal{max-width:640px}.cs-option-group{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.cs-option-card{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:var(--border-width-2) solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;background:var(--bg-tertiary);transition:border-color var(--duration-normal) var(--ease-snappy),box-shadow var(--duration-normal) var(--ease-snappy)}.cs-option-card:hover{border-color:var(--border-hover)}.cs-option-card-active{border-color:var(--border-active);box-shadow:var(--shadow-glow-sm);background:var(--status-success-bg)}.cs-option-card:focus-within{outline:2px solid var(--accent-primary);outline-offset:2px}.cs-option-input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.cs-option-title{font-weight:var(--font-weight-semibold);color:var(--text-primary);font-size:var(--text-sm)}.cs-option-card-active .cs-option-title{color:var(--accent-primary)}.cs-option-desc{font-size:var(--text-xs);color:var(--text-secondary);line-height:var(--line-height-normal)}.cs-radio-row{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border:var(--border-width-1) solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-snappy)}.cs-radio-row+.cs-radio-row,.cs-radio-row+.cs-subpanel,.cs-subpanel+.cs-radio-row{margin-top:var(--space-2)}.cs-radio-row:hover{border-color:var(--border-hover)}.cs-radio-row-active{border-color:var(--border-active)}.cs-radio-content{display:flex;flex-direction:column;gap:2px}.cs-radio-content strong{font-size:var(--text-sm);color:var(--text-primary)}.cs-subpanel{margin-top:var(--space-2);margin-left:var(--space-6);padding:var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-md);border-left:var(--border-width-3) solid var(--accent-primary);display:flex;flex-direction:column;gap:var(--space-2)}.cs-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.cs-error-text{display:block;font-size:var(--text-xs);color:var(--status-fail);margin-top:2px}@media(max-width:640px){.cs-option-group,.cs-field-grid{grid-template-columns:1fr}}.gf-dialog-backdrop{position:fixed;inset:0;z-index:10100;display:flex;align-items:center;justify-content:center;background:var(--overlay-bg);padding:var(--space-4)}.gf-dialog{background:var(--bg-secondary);border:var(--border-width-1) solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);width:100%;max-width:26rem;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.gf-dialog-title{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.gf-dialog-message{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.gf-dialog-label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.gf-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.gf-dialog-btn-danger{padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:#fff;background:var(--status-fail);border:none;cursor:pointer;transition:background var(--duration-fast) var(--ease-snappy)}.gf-dialog-btn-danger:hover{background:#e0334f}@media(prefers-reduced-motion:reduce){.gf-dialog-btn-danger{transition:none}}.gf-help-panel{max-width:40rem;max-height:85vh;gap:var(--space-4);overflow:hidden}.gf-help-header{display:flex;align-items:center;justify-content:space-between}.gf-help-close{background:none;border:none;color:var(--text-tertiary);font-size:var(--text-2xl);line-height:1;cursor:pointer;padding:0 var(--space-2);transition:color var(--duration-fast) var(--ease-snappy)}.gf-help-close:hover,.gf-help-close:focus-visible{color:var(--text-primary);outline:none}.gf-help-body{overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-5);padding-right:var(--space-1)}.gf-help-section-title{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--accent-primary)}.gf-help-steps{margin:0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.gf-help-tools{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.gf-help-tool{display:flex;align-items:flex-start;gap:var(--space-2)}.gf-help-tool-icon{flex:none;width:18px;height:18px;margin-top:1px;color:var(--accent-primary)}.gf-help-tool-icon svg{width:100%;height:100%}.gf-help-tool-text{display:flex;flex-direction:column;gap:1px;min-width:0}.gf-help-tool-name{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.gf-help-tool-desc{font-size:var(--text-xs);color:var(--text-tertiary);line-height:1.4}.gf-help-shortcuts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-4)}.gf-help-shortcut{display:flex;align-items:center;gap:var(--space-3)}.gf-help-keys{flex:none;min-width:72px}.gf-help-shortcut-label{font-size:var(--text-sm);color:var(--text-secondary)}@media(max-width:640px){.gf-help-tools,.gf-help-shortcuts{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.gf-help-close{transition:none}}.pp-backdrop{position:fixed;inset:0;background:var(--overlay-bg);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:40}.pp-modal-wrap{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;width:100%;max-width:28rem}.pp-modal{background:var(--bg-elevated);border:var(--border-width-1) solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);overflow:hidden}.pp-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:var(--border-width-1) solid var(--border-color);background:var(--bg-secondary)}.pp-title{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.pp-subtitle{font-size:var(--text-sm);color:var(--text-tertiary);margin:2px 0 0}.pp-close-btn{padding:var(--space-2);border-radius:var(--radius-md);background:none;border:none;color:var(--text-tertiary);cursor:pointer;transition:color var(--duration-fast) var(--ease-snappy),background var(--duration-fast) var(--ease-snappy)}.pp-close-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.pp-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.pp-label{display:block;font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:6px}.pp-label-hint{margin-left:var(--space-2);font-size:var(--text-xs);font-weight:var(--font-weight-normal);color:var(--status-warn-strong)}.pp-option-grid{display:grid;gap:var(--space-2)}.pp-option-grid-2{grid-template-columns:repeat(2,1fr)}.pp-option-grid-3{grid-template-columns:repeat(3,1fr)}.pp-option-span-3{grid-column:span 3 / span 3}.pp-option-btn{padding:10px var(--space-3);border-radius:var(--radius-lg);border:var(--border-width-1) solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-snappy)}.pp-option-btn:hover{border-color:var(--border-hover)}.pp-option-btn-active{border-color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.2);color:var(--accent-primary)}.pp-option-btn-stacked{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}.pp-option-btn-main{display:inline-flex;align-items:center}.pp-option-subtitle{font-size:var(--text-xs);font-weight:var(--font-weight-normal);color:var(--text-tertiary);line-height:1.3}.pp-option-btn-warn-active{border-color:var(--status-warn-strong);background:var(--status-warn-strong-bg);color:var(--status-warn-strong)}.pp-phase-dot{display:inline-block;width:8px;height:8px;border-radius:var(--radius-full);margin-right:6px}.pp-phase-dot-a{background:var(--status-fail)}.pp-phase-dot-b{background:var(--status-warn-strong)}.pp-phase-dot-c{background:var(--action-blue)}.pp-phase-dot-mixed{background:linear-gradient(90deg,var(--status-fail),var(--status-warn-strong),var(--action-blue))}.pp-hint{margin-top:6px;font-size:var(--text-xs);color:var(--text-muted)}.pp-empty{text-align:center;padding:var(--space-8) 0;color:var(--text-tertiary)}.pp-empty-icon{margin:0 auto var(--space-3);height:48px;width:48px;color:var(--text-muted)}.pp-footer{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:var(--border-width-1) solid var(--border-color);background:var(--bg-secondary)}.pp-footer button{flex:1}@media(prefers-reduced-motion:reduce){.pp-option-btn,.pp-close-btn{transition:none}}.jobs-filter-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--bg-tertiary);color:var(--text-secondary);transition:background var(--duration-fast) var(--ease-in-out);border:none;cursor:pointer}.jobs-filter-btn:hover{background:var(--bg-hover)}.jobs-filter-btn-active{background:var(--accent-primary);color:var(--bg-primary)}.jobs-filter-btn-active:hover{background:var(--accent-primary)}.jobs-empty-state{text-align:center;color:var(--text-tertiary);padding:var(--space-12) 0}.jobs-entry-details{flex:1;font-size:var(--text-xs);color:var(--text-tertiary);display:flex;flex-direction:column;gap:var(--space-1)}.jobs-entry-error,.jobs-delete-btn{color:var(--status-fail)}.jobs-progress-labels{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:var(--space-1)}.jobs-progress-track{width:100%;height:8px;border-radius:var(--radius-full);background:var(--bg-tertiary)}.jobs-progress-fill{height:8px;border-radius:var(--radius-full);background:var(--accent-primary);transition:width var(--duration-slower) var(--ease-in-out)}.purchase-landing{min-height:100vh;display:flex;flex-direction:column;background:#0f0f0f;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow-x:hidden;overflow-y:auto}.landing-header{padding:1.25rem 2rem;background:#1a1a1a;border-bottom:1px solid #2a2a2a;position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;z-index:100}.logo-container{display:flex;align-items:center;gap:1rem}.header-logo-img{height:36px;width:auto;-o-object-fit:contain;object-fit:contain}.logo-text-container{display:flex;align-items:baseline;gap:.5rem}.logo{font-size:1.5rem;font-weight:700;color:var(--accent-primary);letter-spacing:-.02em}.logo-subtitle{font-size:.875rem;color:gray;font-weight:400}.landing-content{flex:1;padding:2rem 2rem 4rem;max-width:1400px;margin:0 auto;width:100%}.hero{text-align:center;margin-bottom:3rem;padding:3rem 1rem 4rem}.hero-subtitle{font-size:1.5rem;color:#d0d0d0;margin:0 0 1.5rem;font-weight:400;line-height:1.4}.hero-description{max-width:700px;margin:0 auto 2.5rem}.hero-description p{font-size:1.125rem;color:#a0a0a0;line-height:1.6;margin:0}.access-button-container{margin-top:3rem}.access-button{display:inline-flex;align-items:center;justify-content:center;padding:1rem 3rem;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;font-size:1.125rem;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px rgba(var(--accent-primary-rgb),.25)}.access-button:hover{background:var(--accent-primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--accent-primary-rgb),.3)}.access-button:active{transform:translateY(0);box-shadow:0 2px 6px rgba(var(--accent-primary-rgb),.25)}.access-button-text{font-size:1.125rem}.access-hint{margin-top:1rem;color:#9090a0;font-size:.95rem}.landing-footer{padding:1.5rem 2rem;background:#1a1a1a;border-top:1px solid #2a2a2a;margin-top:auto}.footer-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-content p{color:gray;font-size:.875rem;margin:0}.footer-links{display:flex;align-items:center;gap:1rem}.footer-links a{color:var(--accent-primary);text-decoration:none;font-size:.875rem;transition:color .2s ease}.footer-links a:hover{color:var(--accent-primary-dark)}.footer-links .separator{color:#404040}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:modalFadeIn .3s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-container{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;max-width:480px;width:100%;box-shadow:0 20px 40px #00000080;overflow:hidden;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #2a2a2a}.modal-title{font-size:1.5rem;font-weight:600;margin:0;color:#fff}.modal-close{background:none;border:none;color:gray;font-size:1.75rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.modal-close:hover{background:#2a2a2a;color:#fff}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-label{display:block;margin-bottom:.5rem;color:#d0d0d0;font-weight:500;font-size:.9rem}.form-input{width:100%;padding:.75rem 1rem;background:#0f0f0f;border:1px solid #2a2a2a;border-radius:6px;color:#fff;font-size:.95rem;transition:all .2s ease;box-sizing:border-box}.form-input::-moz-placeholder{color:#606060}.form-input::placeholder{color:#606060}.form-input:focus{outline:none;border-color:var(--accent-primary);background:#0a0a0a}.form-input:disabled{opacity:.5;cursor:not-allowed}.form-hint{margin-top:.5rem;color:gray;font-size:.85rem}.error-message{display:flex;gap:.75rem;padding:.875rem;background:#dc26261a;border:1px solid rgba(220,38,38,.25);border-radius:6px;margin-bottom:1.25rem}.error-icon{font-size:1.25rem;flex-shrink:0}.error-text{flex:1}.error-main{color:#ff6b6b;font-weight:500;margin:0 0 .5rem;font-size:.9rem}.error-support{color:#a0a0a0;font-size:.85rem;margin:0;line-height:1.5}.error-support a{color:var(--accent-primary);text-decoration:none;font-weight:500}.error-support a:hover{text-decoration:underline}.success-message{display:flex;align-items:center;gap:.75rem;padding:.875rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.25);border-radius:6px;margin-bottom:1.25rem;color:#4ade80;font-weight:500;font-size:.9rem}.success-message p{margin:0}.success-icon{font-size:1.25rem;flex-shrink:0}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.btn-primary,.btn-secondary{flex:1;padding:.75rem 1.25rem;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-primary-dark)}.btn-primary:active:not(:disabled){background:var(--accent-primary-dark)}.btn-secondary{background:transparent;color:#a0a0a0;border:1px solid #2a2a2a}.btn-secondary:hover:not(:disabled){background:#1a1a1a;color:#d0d0d0;border-color:#3a3a3a}.loading-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(26,26,26,.3);border-top-color:#1a1a1a;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.landing-header{padding:1rem 1.5rem}.header-logo-img{height:32px}.logo{font-size:1.25rem}.logo-subtitle{font-size:.8rem}.landing-content{padding:2rem 1rem}.hero{padding:2rem 1rem 3rem;margin-bottom:2rem}.hero-subtitle{font-size:1.25rem}.hero-description p{font-size:1rem}.access-button{padding:.875rem 2rem;font-size:1rem}.access-button-text{font-size:1rem}.footer-content{flex-direction:column;text-align:center;gap:.75rem}.modal-container{margin:1rem}.modal-header{padding:1.25rem 1.25rem 1rem}.modal-title{font-size:1.25rem}.modal-body{padding:1.25rem}.form-actions{flex-direction:column}}@media(max-width:480px){.landing-header{padding:1rem}.logo,.hero-subtitle{font-size:1.125rem}.hero-description p{font-size:.95rem}.access-button{padding:.875rem 1.5rem;font-size:.95rem;width:100%}.access-button-text{font-size:.95rem}.access-hint{font-size:.875rem}}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
